仅作个人学习记录
一、深度神经网络(DNN)
DNN,即深度神经网络,是一种层级结构的神经网络,由多个神经元组成,每个神经元与前一层的所有神经元相连。DNN的每一层都是全连接的,信息从输入层传递到输出层,没有循环连接。DNN可以看作是一个通用的函数逼近器,能够学习复杂的非线性映射关系。然而,由于DNN的全连接特性,其参数数量通常很大,这可能导致训练过程中的计算量和内存占用较高。
二、卷积神经网络(CNN)
CNN是一种专门用于处理具有网格状结构数据(如图像和视频)的神经网络。CNN通过卷积操作和池化操作来提取输入数据中的局部特征,并通过全连接层对特征进行分类或回归。CNN的主要组成部分包括卷积层、池化层和全连接层。
- 卷积层:使用卷积核在输入数据上滑动,进行局部计算,以提取特征。卷积操作具有权值共享和局部连接的特点,这有助于减少模型的参数数量并提高计算效率。
- 池化层:用于减小特征图的尺寸,减少计算负担,并提高网络的平移不变性。常见的池化操作包括最大池化和平均池化。
- 全连接层:将特征映射到一个高维特征空间中,并通过softmax函数进行分类或回归。
CNN在图像分类、目标检测、行为识别、语音识别和自然语言处理等领域都有广泛的应用。
三、循环神经网络(RNN)
RNN是一种专门用于处理序列数据的神经网络结构。RNN能够在序列的演进方向上进行递归,并通过所有节点(循环单元)的链式连接来捕捉序列中的时序信息和语义信息。RNN的核心在于其循环结构,这一结构允许信息在不同时间步之间传递。
在RNN中,每个时间步都接收当前的输入数据(如一个词的嵌入表示)和前一个时间步的隐藏状态,然后生成一个新的隐藏状态。这个新的隐藏状态不仅包含了当前时间步的信息,还融合了之前所有时间步的信息,因此RNN能够捕捉到序列数据中的上下文信息。
RNN在自然语言处理(NLP)、语音识别、时间序列预测等领域得到了广泛应用。然而,RNN在处理长序列时容易出现梯度消失或梯度爆炸的问题,导致模型难以训练。为了克服这个问题,研究人员提出了多种改进模型,如长短期记忆网络(LSTM)和门控循环单元(GRU)。
总结
- DNN:通用函数逼近器,全连接结构,参数数量大,计算量和内存占用高。
- CNN:专门用于处理网格状结构数据(如图像和视频),通过卷积和池化操作提取特征,广泛应用于图像分类、目标检测等领域。
- RNN:专门用于处理序列数据,通过循环结构捕捉时序信息和语义信息,广泛应用于自然语言处理、语音识别等领域。但RNN在处理长序列时容易出现梯度消失或梯度爆炸的问题,需要改进模型如LSTM或GRU来解决。