一、介绍AI现在非常火爆但是AI的底层是如何实现的它们如何进行工作的这个可能对很多人来说没有什么意义。会用就好了。但对于想进行AI方面开发应用的还是要明白其中的一些基本的动作原理和相关概念以及技术发展。网上和专业的书籍上都有各种丰富的说明和分析甚至还有动画和数学推导。但对于很多只是想了快速了解的开发者来说可能那只是后话。所以本文先迅速的通过直白的描述让大多人可以迅速的了解现在AI底层的框架——神经网络。二、神经网络其实AI的从一开始就是想学习人类的思考方式来解决问题。从它的名字也可以看得出其目的。但想法往往是美好的但现实又是骨感的。虽然人脑的解决问题的思路可以为AI所借鉴但真正的学而不是简单的象还需要很长的一段路。如果接受过义务教育那么肯定知道人的大脑一个个的神经元组成的。每个神经元可以通过生物电来进行信号的传输和处理。而AI中的神经网络也是类似。只不过它没有真正的生物体那样的神经元而有一个个的处理节点这些节点可以分别用来处理数据的边缘、大小、颜色以及变化等等。它们根据处理的功能不同又可以把相关的节点划分不为不同的神经网络层即多个层组成的神经网络。如果把这些节点象生物的神经元一样连接起来就形成了一个节点网络这就是神经网络。人的大脑有几百上千亿个神经元而早期的AI由于硬件技术的限制只有能很少的节点所以其解决问题的能力可想而知。但随着技术的进步和发展AI不但可以有更多的节点还可以有更多的神经网络层。不过现在应该知道了随着大模型的发展和爆发现在的神经网络已经是今非昔比普通的大模型也有以万计数的节点和几十层的神经网络层。而大家熟知的大模型的大的原因——“参数”简单来说就是层数*节点维度的平方。三、种类神经网络一般分为以下几种前馈神经网络Feedforward Neural Network, FNN。基础的经典神经网络就是单向的数据流动无反馈连接。比如用来处理手写数字的识别卷积神经网络Convolutional Neural Network, CNN。其通过卷积核来提取局部特征再利用共享权重来减少参数数量比如用来处理视频、图片等循环神经网络Recurrent Neural Network, RNN。通过隐藏层来处理当下的输入时会接收反馈作为输入有了记忆力。这才处理长上下文数据如语音、翻译等时有重要作用注意力机制网络Transformer这个前面专门分析过此处不再说明生成对抗网络之所以叫对抗就应该明白它其实有两个网络一个生成器用来随机生成数据一个是判别器用来判断生成的数据是否为真最终形成一个“逼真”的结果数据。它用于生成如图像、视频等一些场景自编码器这个用压缩的概念好理解就是类似于无损压缩。网络把原始数据压缩成一个低维的向量编码器然后再从这个向量重构还原原始数据解码器。那么此时就可以认为低维的向量就是核心的数据特征。它一般用于降噪和降维等数据处理图神经网络对于复杂的多维数据卷积神经网络并不擅长而此时就需要图神经网络了。它可以处理节点间连接关系相当复杂的情况。它特别适合于社交网络分析、生物研究等场景脉冲神经网络就是模拟生物神经中的生物电通信机制来驱动神经网络工作。它适合于一些低功耗的场景下如边缘计算、机器人等。在上面的这些神经网络中还有不少的变体大家可以自行查看一下天下文章一大抄看你会抄不会抄。明白的都明白不明白的讲也不明白。当然老规矩为了目标的实现也可以把上面的这些网络混合使用就看用得是否恰到好处了。四、基本原理在明白了神经网络后再简单的分析一下神经网络的基本原理和流程。一般来说神经网络包括层节点集合有输入层隐藏层和输出层等,节点神经元连接以及参数包括权重和偏置等还有激活函数负责引入非线性。神经网络的流程一边是这样的数据的前向传播这其实就是把数据输入按照神经网络一层层的向前计算处理并最终得到结果的过程。它是数据处理的主流程。然后通过损失函数来处理计算结果与标签数据的差异反向传播计算梯度用来快速消减差异更新参数用反向传播计算的结果来优化参数继续计算验证。通过验证集数据进行确认防止出现过拟合上面的流程在经过不同的网络时可能会有细节的不同但整体的流程都是一样的。下面用一个识别数字的例子来说明准备数据集各种类型的数字集以及有标签的各种数据集将数字图像输入神经网络的输入层卷积神经网络的隐藏层对其进行处理通过垂直边缘和水平边缘检测等卷积核找到垂直和水平等特征并合并再通过池化层进行降维再通过下一卷积层处理输出数字的特征图的一维向量通过全连接层利用分类器softmax来计算输出数字的概率为了让数字识别更准确把输出结果和标签数据进行比较反向传播并调整参数比如权重优化识别可以通过不同的数据集反复迭代最终经过验证集比如何意的多组数字图像通过后交付使用牌照识别再举一个更简单的例子比如有一个水源输入和一个水量输出如果只有一个出口那么水的输出是不好调节的。但如果在这个出口前增加一层输出只是变成十个百个千个…小的输出口呢。通过不断的调试各个小输出口的水流量参数权重等就可以得到各种丰富的水的输出量的精细化的结果。如果这里再有一个容器标签数据来对输出结果校正损失函数梯度下降反过来再调整小的千百个小出水口反向传播最终形成更精确的出水量。这就是大模型的参数的调整。五、和大模型的关系所谓大模型简单的来说就是摊大饼。这个概念好理解吧城市做大就是把外围不断的扩大。其实现代的大模型跟这个没有本质的区别。就是从神经网络的层数、参数和数据量三个维度上进行摊大饼。和海量数据一个道理量变产生质变现代的大模型有很多情况连设计者也讲不清楚为什么会那个结果。特别是为了更好的利用刚刚提到的三个维度又在其上进行了抽象引入了自注意力机制的Transformer架构实现了高度的并行化处理和关系建模从速度和内容上进行了更强层次上的摊大饼。所以当下主流的大模型可以认为是使用Transformer架构来驾驭大规模的处理海量参数海量数据海量算力。六、总结对于专业人员来说本文可能讲的太浅白请直接忽略。这篇文章是给小白入门特别是一些仅仅是应用到AI但对底层想有一些了解的开发者。所以本文更倾向于通俗明白的把问题说清楚不纠结于细节的技术问题。