人工智能背景下线性代数模块教学的数字化转型探究
2024-03-11吴伟
吴伟
(常州信息职业技术学院,江苏常州 213164)
在高职院校的数学课程体系中,线性代数是重要的知识模块,对于学生后续专业课程的学习和数学思想、方法等素质的培养具有重要的作用,它与计算机图形学、密码学等很多学科都存在紧密联系。近年来,随着云计算[1-2]、大数据[3-4]、物联网[5-6]、人工智能[7-8]等新技术不断涌现,学科交叉趋势日益明显,这些技术和数学、物理等学科有着紧密联系。线性代数作为这些知识基础中的重要一环,具有独特作用。线性代数模块在新技术中的重要作用日益显现,但是目前线性代数的教学仍然采用传统的教学方法,侧重于理论教学,采用概念、定理讲解辅以习题训练的教学模式,未突出线性代数知识和实际问题、新技术的联系。大数据、人工智能等技术常常会涉及线性代数知识,比如主成分分析PCA、特征值和特征向量、矩阵的低秩分解等,这些技术案例都可以在线性代数课程中引入,使学生理解和掌握线性代数知识和新技术之间的密切联系,进一步提升学生应用线性代数知识解决实际问题的意识和能力。
1 传统的线性代数教学方法
在高职数学教学中,传统的线性代数教学方法存在着照搬本科、重理论轻应用等问题。在传统教学过程中,线性代数教学按照行列式、矩阵及其计算、向量及其运算、n维向量、线性方程组、矩阵相似对角化等内容逐步展开,教学着眼于理论完备性,把教学重点放在证明和计算上。教学方法主要遵循教材章节顺序,讲授概念,讲清定理及相关计算方法等,主要围绕理论的展开和说明、计算方法的讲解来进行,比如计算矩阵的加减法、矩阵的乘法、矩阵的行列式、矩阵的逆、矩阵的特征值和特征向量等。学生在学习时常常无法了解线性代数中相关概念的实际背景,也不清楚这些理论及计算的具体用途,容易感到教学内容抽象和枯燥,导致学习兴趣不高、学习效果不佳等情况,进而使其学完线性代数内容后不知道如何应用理论知识来分析和解决实际问题。
2 线性代数教学改革现状
目前,大多数高职院校数学教师已经意识到了其线性代数教学和本科院校的线性代数教学之间的差异性,并对教学内容进行了相应的调整。比如,对一些较难的证明不再作出要求,对教学内容体系进行了调整,教学中引入了一些案例,尝试将线性代数知识和专业课知识结合。
近年来,一些学者针对线性代数的教学改革进行了研究、分析和实践。例如,张腾敏等[9]探讨了线性代数的教学设计,如基于OBE(成果导向教育)理念的闭环学习以及如何以产出为导向设计教学,如何运用翻转课堂调动学生的学习热情,讨论了课前、课中、课后的课程实施情况,并在学生、教师、科研三个维度分析了注重成果实现的评价方式;王永超[10]讨论了线性代数进行“五化”教学改革,并给出了实践路径,分析了做法和成效;冯杰等[11]以“斑点猫头鹰动力学”案例为背景进行线性代数中特征值和特征向量的教学设计;李燕娟等[12]对如何在城市之间通航问题、课程成绩排序问题等建模案例中融入线性代数教学进行了探讨;李艳艳[13]分析了教材中的问题,强调增加知识点来龙去脉的介绍和突出几何联系,并指出用建模思想促进教学。当前,社会已经进入了数字时代,人工智能等新技术在各个领域显现出强大优势,高职数学教师迫切需要以新技术为支撑对高职数学线性代数模块教学进行数字化转型。
3 与新技术结合的线性代数教学内容的数字化转型
传统线性代数的教学按其理论体系展开,强调线性代数理论的完整性、系统性,按照概念、定理、计算这样的演进路线展开,导致教学内容比较抽象,不易激发学生的学习积极性,同时由于这种教学方式偏于理论而忽视应用,把线性代数的应用实践环节弱化。在教学过程中,对于线性代数知识如何与专业相联系,如何与近年来涌现的新技术相联系,教师并没有教授,学生很难把线性代数理论和具体的实际问题、专业问题或者技术问题联系起来,影响学生应用线性代数的能力的提高。
解决上述问题的一个较好的方法是还原“实际→数学→实际”这一认知过程,让数学从实际中来,再应用到实际中,将学习过程和应用过程融合,使两者相互促进。将线性代数的内容和新技术相结合,同时将数学建模的思想贯穿其中,激发学生的学习兴趣,从而增强学生解决实际问题的能力、创新意识、创新能力,并在教学过程中向学生强调以发现问题、分析问题、解决问题为主线探索未知领域,体现了能力本位的原则。线性代数教学的重点在于应用,在应用线性代数的过程中理解其思想、方法,而非单纯的理论证明或者计算技巧的训练;要以人工智能等技术热点问题和专业问题为载体,建立线性代数与人工智能等实际问题的联系,使学生具备将实际问题凝练为线性代数问题并加以解决的能力,使学生在解决问题的过程中更深入地理解所学的线性代数的数学思想、数学方法。以常州信息职业技术学院为例,任课教师在线性代数教学过程中融入人工智能等新技术的相关知识,将新技术提炼为教学知识的背景或者实际问题,由此出发,展开线性代数知识的讲解,然后再回到新技术案例提出的实际问题,给出问题的解决方案,使学生不仅能更深刻地理解线性代数知识,而且能更好地提升运用线性代数知识解决实际问题的能力。这样可以使学生真正体会线性代数知识的由来和扎根于现实的基础,增强学生运用线性代数知识解决现实问题的能力,并增强线性代数知识与技术热点等实际问题之间的联系,为学生的专业学习和新技术探索奠定良好的基础。此外,目前国内外许多研究人员将人工智能技术和生物医学、机器人技术、软件工程、集成电路设计、智能交通等研究范畴进行深度融合,进一步推动这些研究方向的发展。考虑到人工智能技术在诸多研究领域的强大推动作用,教师有必要让学生了解线性代数与人工智能技术之间的密切联系,帮助学生初步了解二者的关系,为后续利用线性代数知识深入理解人工智能技术原理和算法等打下基础,下面举例来进行说明。
3.1 以矩阵加减乘运算的教学为例
矩阵可以看作一个数表,即矩阵从表现形式可看作是一个二维的对象,也可以看成一个离散空间。矩阵概念可以从许多实际问题中提炼出来,比如存储或者处理一个图像时,可以把这个图像看成一个矩阵,以此为基础,可以进行图像增强、图像恢复、图像变换等操作来改善视觉效果,还可以进行特征提取等操作,作为模式识别、计算机视觉的预处理。在处理数据时,人们经常会考查这些数据对象的相似度等特性,从而得到相似度矩阵。从这些实际问题中提炼出来的矩阵概念,可以方便后续的处理。
近年来,人工智能技术在众多领域得到了应用并取得了突破性的进展,作为人工智能技术工具箱中的重要一员——深度学习也被越来越多的人所了解。深度学习需要结合学习对象的特点,以一定的理论为依据,构建能进行高效学习的神经网络,神经网络中蕴含的基本运算就包括了矩阵的加法、乘法等运算。首先,在教学环节设计方面,教师可以通过运行程序来呈现深度学习的结果,比如著名的神经网络架构LeNet5,先通过构建卷积神经网络对0~9 这10 个数字的手写体进行精确识别[14],让学生直观感受深度学习的作用,激发学生求知、探索的兴趣;其次,教师可以呈现LeNet5 的神经网络架构,简单分析其原理,引导学生思考神经网络的基本构成要素,引出矩阵的运算;最后,教师结合案例与学生共同分析矩阵运算定义的由来以及这些运算与实际问题之间的联系。这样就完成了从实际应用到数学,完成数学知识的学习,然后又反馈到实际应用的过程,使学生的学习做到“在用中学,在学中用”,理论与实际应用紧密结合,这样的教学过程能极大激发学生的学习热情,同时能降低理论知识的学习难度。在教学过程中,教师还可以将矩阵的运算与一些实际处理需求相对应。比如两幅图像对应矩阵的相加,从视觉上看,就表现为两幅图像以一定的权重系数叠加到了一起,往往会是一个背景图和一个前景图融合到一起成为一个新的图像。此外,矩阵的求逆运算还可以用来进行简单的图像加密和还原。
3.2 以矩阵转置和求逆运算、求解线性方程组的教学为例
SLAM 技术是同步定位与建图的英文简称,该技术主要应用于机器人导航、无人驾驶等领域。在SLAM 技术中用到了比较多的线性代数理论知识,比如,SLAM 技术中用到的旋转矩阵受到较强约束,必须是正交矩阵,而旋转矩阵求逆后得到的矩阵就表示和原来相反的一个旋转。又如,把矩阵代表的数据乘以对角矩阵,就是对对应的坐标轴进行相应的缩放,这赋予对角矩阵现实的意义,而不再是一些抽象的理论规定。SLAM 中的一些优化问题可以转化为最小二乘法,即求解min||Ax-b||,这可以转化为求解线性方程组ATAx=ATb,此处用到了矩阵的转置运算。如果上述方程为超定方程且A列满秩,则解为x=(ATA)-1ATb[15]。
3.3 以特征值和特征向量的教学为例
按传统的教学方式,学生可以掌握特征值、特征向量的定义以及如何进行计算,但是学生会对自己的计算结果有什么用途存在疑惑。其实,矩阵的特征值和特征向量在新技术中的应用很广泛。以计算机视觉中的人脸识别为例,通过探讨简单的人脸识别算法了解特征值、特征向量如何与人脸识别技术联系,主要介绍以下两类人脸识别算法。
基于几何特征的人脸识别算法[16]:
(1)建模,用面部关键特征的相对位置、大小、形状、面积等参数来描述人脸;
(2)人脸图像f→特征向量v=(x1,x2,…,xn);
(3)对所有已知人脸提取同样描述的几何特征D={v1,v2,…,vp};
(4)待识别的人脸f提取的几何特征为vf;
(5)计算vf与D中所有vi的相似度s(vf,vi),进行排序;
(6)根据相似度最大的已知人脸的身份即可判断待识别人脸的身份信息。
从上述算法中可以看出特征值、特征向量是如何在人脸识别技术中应用的。
通过提出技术问题和构建实际背景,让学生带着问题学习相关知识,然后利用所学知识解决问题,这样既能使学生主动学习,又能很好地锻炼学生的应用能力,让学生体验解决问题的过程和乐趣,实现教学内容的数字化转型。
4 教学方式的数字化转型
对于数据量较大的计算,手动计算比较困难。所以,无论是理论教学还是应用的开展,都必须紧密结合编程,转变传统的教学方式。编程知识可以分为两个方面:一个是线性代数中一些运算相关的编程实现;另一个是与人工智能等新技术相关的线性代数应用编程。
与应用相关的人工智能等技术的编程,由教师以案例形式引入线性代数基础知识,然后给出人工智能算法的原理和步骤,再讲解具体的代码,这些可以通过录屏成教学视频上传到超星学习通等平台让学生自学完成,也可以作为数学选修课的内容,以便有足够的学时展开重点教学内容。此外,教师还可以提供丰富的网络视频、代码讲解资源,以便学生进一步深入学习,促进其应用能力的提升。
通过上述教学内容、教学思路的改变,可以使学生的主动学习意愿得到加强。在教学过程中,教师可以通过分组完成任务的方法,进一步提升学生的参与热情,同时充分发挥小组内每位学生的优势,使组内学生可以取长补短、相互学习,更好地完成小组任务,达到学习目标。代码实现能力强的学生可以负责编程序,理论功底好的学生可以负责理论分析、推导,文字功底好的学生可以负责撰写任务报告,这样在合作解决问题的过程中,组内学生相互学习、相互促进,能更好地达到教学目标和学习目标。