四种主流的神经网络 FNN、CNN、RNN、Transformer
四种主流的神经网络 FNN、CNN、RNN、Transformer
人工神经网络的分类
最常用的人工神经网络(Artificial Neural Network,ANN)主要包括以下四种:前馈神经网络(Feedforward Neural Network,FNN)、卷积神经网络(Convolutional Neural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN),还有当前最流行的大模型常用的Transformer神经网络。不同模型的网络具有不同的结构和特点,适用于解决不同类型的任务。
前馈神经网络(FNN)
前馈神经网络FNN是一种最基础的神经网络模型,其特点是每个神经元的输出只传给下一层的神经元。信息处理是从输入层到输出层单向的,适合于解决分类和回归等问题。
FNN相关的概念:
- 感知机——(Perceptron)。
- 多层感知机——MLP(Multilayer Perceptron),包含一个输入层、一个或多个隐藏层和一个输出层。
- 全连接神经网络详解——FCNN(Fully-connected neural network),当前层的每个神经元都会接入前一层每个神经元的输入信号。
- 深度神经网络——DNN(Deep Neural Networks)。
一个典型的MLP网络:
卷积神经网络(CNN)
卷积神经网络CNN是一种专门用于处理图像数据的神经网络模型,其特点是在网络中引入了卷积层(Convolutional Layer)和池化层(Pooling Layer)等结构,提取出图像的特征信息。最后会接一个全连接层(Fully Connected Layer)分类得到output。
CNN主要用于解决图像分类和目标检测等问题,可细分为LeNet、AlexNet、VGGNet、GoogLeNet、ResNet等。其中ResNet通过引入残差结构,有效解决了深度神经网络训练过程中存在的梯度消失和梯度爆炸等问题,取得了在图像分类任务上的优秀表现。
一个典型的CNN网络:
残差网络(ResNet):
循环神经网络(RNN)
循环神经网络RNN是一种能够处理序列数据的神经网络模型,在网络中引入了循环结构,使得每个神经元不仅能够接收来自上一层的输入,还能够接收来自同一层的输入。
RNN主要用于解决序列预测和语言建模等问题,可以细分为RNN、LSTM(Long Short-Term Memory)、GRU(Gated Recurrent Unit)等。其中LSTM是最常用的循环神经网络之一,它通过引入门控机制和记忆单元,有效解决了传统RNN存在的梯度消失(vanishing gradient)和梯度爆炸(exploding gradient)等问题。
一个典型的RNN网络:
Transformer神经网络
Transformer模型是一种采用注意力机制的深度学习模型,这一机制可以按输入数据各部分重要性的不同而分配不同的权重。该模型主要用于自然语言处理(NLP)与计算机视觉(CV)领域。
原始的Transformer模型使用编码器-解码器(encoder–decoder)架构。每个编码层和解码层都使用了多头注意力机制。
Google BERT(Bidirectional Encoder Representations from Transformers)采用的是Transformer的编码器结构。
OpenAI GPT(Generative Pre-trained Transformer)采用的是Transformer的解码器结构。
一个典型的Transformer网络:
人工神经网络的训练
前馈神经网络可以通过反向传播来训练模型,通过反向传播可以计算每个神经元相关的误差,从而对模型参数(权重weight)进行适当的调整和拟合。
拟合与欠拟合
过拟合: 根本原因是特征维度过多,模型假设过于复杂,参数过多,训练数据过少,噪声过多,导致拟合的函数完美的预测训练集,但对新数据的测试集预测结果差。过度的拟合了训练数据,而没有考虑到泛化能力。见下图,为了解决这一问题使用dropout的方式解决。
使用dropout的方式在网络正向传播过程中随机失活一部分神经元,dropout随机冻结神经元,类似于一个随机森林,在训练过程中每次冻结一些,在梯度回传的过程中,提高泛化性。
参考文献(References)
搬砖的石头 《神经网络三大模型:FNN、RNN与CNN详解》
https://cloud.baidu.com/article/1895979mob64ca13fc5fb6 《mlp神经网络回归分析 mlp神经网络算法》
https://blog.51cto.com/u_16213600/7985286《【深度学习】卷积神经网络-CNN简单理论介绍_专栏_易百纳技术社区》
https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.ebaina.com%2Farticles%2F140000017212&psig=AOvVaw0ese9PNRqiayPs7xRfz4al&ust=1734960548009000&source=images&cd=vfe&opi=89978449&ved=0CBcQjhxqFwoTCLjt2_q9u4oDFQAAAAAdAAAAABAE视觉嵌入式 《经典神经网络模型分类简介(一)》
https://blog.csdn.net/qq_59572329/article/details/121596475Samuel Zhou 《循环神经网络(RNN)、长短时记忆网络(LSTM)及(GRU)模型》
https://juejin.cn/post/6996899273174417444《Transformer模型》
https://zh.wikipedia.org/wiki/Transformer%E6%A8%A1%E5%9E%8BGoogle 《Attention Is All You Need》
https://arxiv.org/abs/1706.03762全栈程序员站长《深度学习—2.常见的神经网络结构》
https://cloud.tencent.com/developer/article/1885536