#创作灵感#
用到深度学习算法之后,需要了解一下常用的神经网络,这里做一个记录,方便以后复习。
#正文#
1. 人工神经网络(ANN)
人工神经网络(Artificial Neural Network, ANN)是受生物神经网络启发的计算模型,由输入层、一个或多个隐藏层和输出层组成。每层包含若干节点(神经元),节点之间通过带权重的连接(边)相连。ANN通过调整这些权重来学习和预测。
常用实例
- 手写数字识别:使用ANN可以识别手写数字。MNIST数据集(包含0-9的手写数字图片)常用于这类任务。通过训练ANN,模型可以输入手写数字图片并输出对应的数字标签。
- 房价预测:使用ANN可以根据房屋特征(如面积、卧室数量、位置等)预测房价。
网络层
- **输入层:**接受输入数据,每个节点对应一个特征。
- **隐藏层:**由若干神经元组成,每个神经元通过加权求和及激活函数处理输入。常用的激活函数包括Sigmoid、ReLU、Tanh等。
- **输出层:**输出最终结果,神经元数量取决于具体任务(如分类任务中的类别数)。
2. 卷积神经网络(CNN)
卷积神经网络(Convolutional Neural Network, CNN)是一种专门用于处理网格数据(如图像)的神经网络。CNN通过卷积层、池化层和全连接层组成,能够有效地捕捉图像的局部特征和空间关系。
常用实例
- 图像分类:使用CNN可以对图像进行分类。著名的ImageNet数据集包含大量标记好的图像,常用于训练和评估图像分类模型。ResNet和VGG是常见的CNN架构。
- 物体检测:使用CNN可以检测图像中的特定物体。YOLO(You Only Look Once)和Faster R-CNN是常见的物体检测模型。
网络层
- **输入层:**接受输入图像,通常为三维数据(宽度、高度、通道)。
- 卷积层: 通过卷积核(滤波器)对输入图像进行局部扫描,提取特征。
- 卷积核:一个小矩阵,滑动窗口,生成特征图。
- 激活函数:通常使用ReLU。
- **池化层:**通过下采样(如最大池化、平均池化)减少特征图尺寸,降低计算复杂度。
- **全连接层:**将卷积层和池化层提取的特征展平,并通过全连接层进行分类或回归。
- **输出层:**输出最终分类结果或回归值。
3. 循环神经网络(RNN)
循环神经网络(Recurrent Neural Network, RNN)是一种适用于处理序列数据(如时间序列、文本数据)的神经网络。RNN通过循环连接使得当前时刻的输出依赖于前一时刻的状态,能够捕捉序列中的时间依赖关系。
常用实例
- 语言模型:使用RNN可以根据前面的单词预测下一个单词。LSTM(长短期记忆网络)和GRU(门控循环单元)是常见的RNN变种,用于解决标准RNN的梯度消失问题。
- 语音识别:使用RNN可以将语音信号转换为文字序列。DeepSpeech是一个基于RNN的语音识别系统。
网络层
- **输入层:**接受序列数据,每个时间步都有一个输入。
- 隐藏层: 每个时间步都有一个隐藏状态,当前隐藏状态由当前输入和前一时间步的隐藏状态共同决定。
- 激活函数**:常用Tanh或ReLU。
- 长短期记忆网络(LSTM):通过引入遗忘门、输入门和输出门解决标准RNN的梯度消失问题。
- 门控循环单元(GRU):类似于LSTM,但结构更简化。
- **输出层:**每个时间步都可以输出,也可以仅在序列结束时输出。
4. 生成对抗网络(GAN)
生成对抗网络(Generative Adversarial Network, GAN)由生成器和判别器两个神经网络组成。生成器尝试生成逼真的数据样本,而判别器尝试区分真实样本和生成样本。两个网络通过对抗训练不断改进,最终生成器能够生成非常逼真的数据。
常用实例
- 图像生成:使用GAN可以生成逼真的图像。DCGAN(Deep Convolutional GAN)是一个常见的图像生成模型。
- 图像超分辨率:使用GAN可以将低分辨率图像提升到高分辨率。SRGAN(Super-Resolution GAN)是一个用于图像超分辨率的模型。
网络层
- 生成器:
- 输入层:通常是随机噪声向量。
- 隐藏层:一系列全连接层、卷积层或反卷积层,逐步将噪声向量转化为逼真的数据。
- 输出层:生成假数据(如图像)。
- 判别器:
- 输入层:接受真实数据和生成器生成的数据。
- 隐藏层:一系列卷积层和池化层,提取数据特征。
- 输出层:输出二分类结果(真假)。
5. Transformer
Transformer是一种基于注意力机制的神经网络,最初用于自然语言处理(NLP)任务。与RNN不同,Transformer不依赖于序列顺序,通过全局的自注意力机制捕捉序列中的长距离依赖关系。Transformer由编码器和解码器组成,编码器将输入序列转换为内部表示,解码器将内部表示转换为输出序列。
常用实例
- 机器翻译:使用Transformer可以进行高质量的机器翻译。原始的Transformer模型在WMT 2014英法翻译任务中取得了优秀的表现。
- 文本生成:使用Transformer可以生成连贯的文本。GPT(Generative Pre-trained Transformer)和BERT(Bidirectional Encoder Representations from Transformers)是两个著名的Transformer模型。
网络层
- 编码器:
- 输入层:接受输入序列,通常是词嵌入表示。
- 自注意力层:计算输入序列中每个元素与其他元素的注意力得分。
- 注意力机制:包括查询(Q)、键(K)、值(V)三个矩阵,通过点积计算注意力得分。
- 前馈神经网络:对自注意力层的输出进行非线性变换。
- 层归一化:对每一层进行标准化处理。
- 解码器:
- 输入层:接受目标序列的前一部分(训练时)或生成的前一部分(推理时)。
- 自注意力层:与编码器相似,但只关注目标序列的前一部分。
- 编码器-解码器注意力层:通过注意力机制将编码器的输出与解码器的当前状态结合。
- 前馈神经网络:对注意力层的输出进行非线性变换。
- 层归一化:对每一层进行标准化处理。
- **输出层:**生成最终的输出序列(如翻译结果或生成文本)。
以上就是常用的神经网络,对于刚接触深度学习的时候,大致了解一下很有帮助。