AI底层理论和相关思考(中)

AI底层理论和相关思考(中)

继上部分咱们有了贝叶斯定理(Bayes' theorem)和激活函数的基础之后,我们就可以涉及到深度神经网络。

2 深度神经网络(Deep Neural Networks)

图3: 深度神经网络(DNN)

现在人们谈论的神经网络是什么?其实不是医学上的概念而是一个纯数学模型,这个数学模型是为了模仿人脑神经结构。这个数学公式包含权重w和变量x,根据输入的变量x可以计算出结果y,最简单的多元一次方程而已。但是假如我们将权重w设置为一个神奇的刚刚好的值,不管我们输入什么变量x都可以给我们想要的结果y,比如输入是否会爬树和寿命就能算出是猫还是狗,那这个公式就是一个分类器。仔细体会一下这句话的含义,你会问那个神奇的权重w怎么确定的呢?就像前面所说的,这个w其实就是刚才提到的贝叶斯公式引入高斯分布后不可计算的部分。贝叶斯公式到神经网络分类器函数Softmax的推导过程其实是神经网络的理论基础,是一切的源头。其中Softmax就是模拟了前面提到的人脑神经元的激活输出。因为不可计算,w其实是不断试错调教出来的。用大量的数据通过不断纠错来调整权重w,这就是所谓神经网络的训练,专业名词叫做反向传播算法(Backpropagation)。和人脑类比,人脑通过视神经听神经得到了输入的视听信号,经过层层传递和现实反馈对我们不断的纠错,最终识别出了猫和狗。

AI底层理论和相关思考(中)

因为是AI最基础的部分,不得不提到一些公式和算法,最后再通俗的说一下,神经网络训练就像一个小孩学习看图识字,通过不断的试错然后不断的被老师纠正,调整自己的权重最终学会了分类。分类是人类认识客观世界的关键,而分类可以通过自动调整权重得到一个自动分类的公式。自动调整权重的过程就是神经网络的训练。对数学公式的推导过程感兴趣的可以参考作者的Github空间: https://github.com/livvddcc/deeplearning

至于人脑是否存在反向传播算法,据神经网络之父Hinton的说法认为人脑确实存在某种反向传播,所以简单的神经突触激活机制就完成了自动学习过程。但也有说法认为人脑神经只是单向传导,所以不存在反向传播。但或许更长距离更多更复杂的神经突触传导是否存在循环仍是值得研究的课题。其实不管是否神经网络模拟了大脑,只要在计算机上可实现并且可以完成自动推理,那就表现为一种智能,这就是图灵提到的模仿游戏。如果能100%完全模仿人类智能,那和所谓的真实智能又有什么区别?

至此你已经基本了解神经网路最重要的秘密了,没用公式自然不够准确,但这就是一个直观的通俗的介绍,背后是统计学,贝叶斯学派,概率论,高斯分布,偏导数,线性代数,矩阵运算等等领域的知识。这里插一句,相信任何高深的理论应该都可以用直观的方式一步步去解释,否则就是老师不合格。

AI底层理论和相关思考(中)

其实神经网络这个概念很早就提出了,但是一直不温不火甚至一度被边缘化,原因首先就是硬件还无法支持这个模型。大家都在想办法去压缩数据,同时还要保留原有信息。为什么要压缩数据?这其实就是知识的本质,知识即压缩,类似是数学上的归纳法,人们通过大量数据总结出来的东西就是我们所说的知识。处理大量的数据必然需要硬件支持,之前人们用CPU,后来发现CPU有点大材小用,因为AI其实就是大量简单的矩阵运算,而用CPU类似教授每天做大量的小学数学题,速度慢成本高。这时可以同时处理大量简单运算的GPU就火爆了起来。随着GPU的普及AI开始大范围开发。

当年神经网络另一个不被看好的原因是分类效果差,而这个问题是2006年才被解决的, Hinton于2006年在Science上发表的论文Deep Learning第一次提出了深度学习这个概念,同时解决了梯度消失问题,通过增加神经节点的数量和层次增加了神经网络的拟合能力。通俗的类比就是人脑的神经节数量远远高于其他动物,所以才聪明。这也是后来的扩展原则Scaling Law的直观理解之一。至于梯度消失其实就是在网络深度增加后导致的残差传递消失,具体数学原理感兴趣的可以看吴恩达的AI教程。

在这个基础上,人们开始开发在不同领域的神经网络,比如处理图像的CNN,处理连续信号的RNN等等。这些神经网络其实就是为了不同的目的人为设计的神经网络,人们需要什么就让神经网络自动调节自动学习什么,这才有了不同的结构。注意这里说的只是人工设计网络结构,其他包括CNN的卷积核在内都不是人为设定的,因为无法计算也无法人为设定,只能通过训练得出。利用这些不同的神经网络人们开发出各种不同的AI就是所谓的专用人工智能。

未完待续,下篇就可以谈谈现在最火的大语言模型了。