罗素在自传中这样写道:“我 11 岁时,我开始学习欧几里得几何学,哥哥做我的老师,这是我生活中的一件大事,就像初恋一样令人陶醉。我从来没有想象到世界上还有如此美妙的东西。”高斯把数学置于科学之巅,希尔伯特则把数学看作“一幢出奇的美丽又和谐的大厦”。在人们的印象中,数学与艺术很少有共同之处。数学以其卓越的智力成就被人们尊称为“科学的皇后”,随着人类社会的发展,技术的进步,在AI时代,数学会成为最基本的学科,会成为所有算法模型的基础,而线性代数则是描述抽象状态和变化的规则。张志华教授说过:“搞好机器学习,关键是数学,但你又不能把机器学习变成搞数学,那样就漫无边际了。”数学浩瀚如海,神灵通天,对于绝大多数 AI 工程师来说,学习机器学习,对于其中涉及的数学知识形成理解,打牢基础,是必不可少的。而线性代数正是这基础中的基础了,线性代数可使矩阵操作快速而简单,特别是通过GPU进行计算。而事实上,GPU的设计便是受启发自向量和线性代数。一、什么是线性代数瑞典数学家Lars Garding在其名著Encounter with Mathematics中说:“如果不熟悉线性代数的概念,要去学习自然科学,现在看来就和文盲差不多。”可见线性代数的重要性。线性代数是代数学的一个分支,主要处理线性关系问题。线性关系意即数学对象之间的关系是以一次形式来表达的。例如,在解析几何里,平面上直线的方程是二元一次方程;空间平面的方程是三元一次方程,而空间直线视为两个平面相交,由两个三元一次方程所组成的方程组来表示。含有 n个未知量的一次方程称为线性方程,关于变量是一次的函数称为线性函数。线性关系问题简称线性问题,解线性方程组的问题是最简单的线性问题。线性代数可以将各种复杂问题转化为简单、直观、高效的计算问题。神经网络(Neural networks)将权值(weights)存放于矩阵(matrices)中,线性代数使得矩阵操作快速而简单,特别是通过 GPU 进行运算。类似于用像素的多维数组(arrays of pixels)来表示图形图像,视频游戏通过大规模且持续的矩阵计算,带来了极具吸引力的游戏体验。GPU 是并行操作整个矩阵中的各个像素,而不是一个接一个地去处理单个像素。