常用神经网络-ANN/CNN/RNN/GAN/Transformer

#创作灵感#

用到深度学习算法之后,需要了解一下常用的神经网络,这里做一个记录,方便以后复习。

#正文#

1. 人工神经网络(ANN)

人工神经网络(Artificial Neural Network, ANN)是受生物神经网络启发的计算模型,由输入层、一个或多个隐藏层和输出层组成。每层包含若干节点(神经元),节点之间通过带权重的连接(边)相连。ANN通过调整这些权重来学习和预测。

常用实例
  • 手写数字识别:使用ANN可以识别手写数字。MNIST数据集(包含0-9的手写数字图片)常用于这类任务。通过训练ANN,模型可以输入手写数字图片并输出对应的数字标签。
  • 房价预测:使用ANN可以根据房屋特征(如面积、卧室数量、位置等)预测房价。
网络层
  1. **输入层:**接受输入数据,每个节点对应一个特征。
  2. **隐藏层:**由若干神经元组成,每个神经元通过加权求和及激活函数处理输入。常用的激活函数包括Sigmoid、ReLU、Tanh等。
  3. **输出层:**输出最终结果,神经元数量取决于具体任务(如分类任务中的类别数)。

2. 卷积神经网络(CNN)

卷积神经网络(Convolutional Neural Network, CNN)是一种专门用于处理网格数据(如图像)的神经网络。CNN通过卷积层、池化层和全连接层组成,能够有效地捕捉图像的局部特征和空间关系。

常用实例
  • 图像分类:使用CNN可以对图像进行分类。著名的ImageNet数据集包含大量标记好的图像,常用于训练和评估图像分类模型。ResNet和VGG是常见的CNN架构。
  • 物体检测:使用CNN可以检测图像中的特定物体。YOLO(You Only Look Once)和Faster R-CNN是常见的物体检测模型。
网络层
  1. **输入层:**接受输入图像,通常为三维数据(宽度、高度、通道)。
  2. 卷积层: 通过卷积核(滤波器)对输入图像进行局部扫描,提取特征。
    1. 卷积核:一个小矩阵,滑动窗口,生成特征图。
    2. 激活函数:通常使用ReLU。
  3. **池化层:**通过下采样(如最大池化、平均池化)减少特征图尺寸,降低计算复杂度。
  4. **全连接层:**将卷积层和池化层提取的特征展平,并通过全连接层进行分类或回归。
  5. **输出层:**输出最终分类结果或回归值。

3. 循环神经网络(RNN)

循环神经网络(Recurrent Neural Network, RNN)是一种适用于处理序列数据(如时间序列、文本数据)的神经网络。RNN通过循环连接使得当前时刻的输出依赖于前一时刻的状态,能够捕捉序列中的时间依赖关系。

常用实例
  • 语言模型:使用RNN可以根据前面的单词预测下一个单词。LSTM(长短期记忆网络)和GRU(门控循环单元)是常见的RNN变种,用于解决标准RNN的梯度消失问题。
  • 语音识别:使用RNN可以将语音信号转换为文字序列。DeepSpeech是一个基于RNN的语音识别系统。
网络层
  1. **输入层:**接受序列数据,每个时间步都有一个输入。
  2. 隐藏层: 每个时间步都有一个隐藏状态,当前隐藏状态由当前输入和前一时间步的隐藏状态共同决定。
    1. 激活函数**:常用Tanh或ReLU。
    2. 长短期记忆网络(LSTM):通过引入遗忘门、输入门和输出门解决标准RNN的梯度消失问题。
    3. 门控循环单元(GRU):类似于LSTM,但结构更简化。
  3. **输出层:**每个时间步都可以输出,也可以仅在序列结束时输出。

4. 生成对抗网络(GAN)

生成对抗网络(Generative Adversarial Network, GAN)由生成器和判别器两个神经网络组成。生成器尝试生成逼真的数据样本,而判别器尝试区分真实样本和生成样本。两个网络通过对抗训练不断改进,最终生成器能够生成非常逼真的数据。

常用实例
  • 图像生成:使用GAN可以生成逼真的图像。DCGAN(Deep Convolutional GAN)是一个常见的图像生成模型。
  • 图像超分辨率:使用GAN可以将低分辨率图像提升到高分辨率。SRGAN(Super-Resolution GAN)是一个用于图像超分辨率的模型。
网络层
  1. 生成器:
    1. 输入层:通常是随机噪声向量。
    2. 隐藏层:一系列全连接层、卷积层或反卷积层,逐步将噪声向量转化为逼真的数据。
    3. 输出层:生成假数据(如图像)。
  2. 判别器:
    1. 输入层:接受真实数据和生成器生成的数据。
    2. 隐藏层:一系列卷积层和池化层,提取数据特征。
    3. 输出层:输出二分类结果(真假)。

5. Transformer

Transformer是一种基于注意力机制的神经网络,最初用于自然语言处理(NLP)任务。与RNN不同,Transformer不依赖于序列顺序,通过全局的自注意力机制捕捉序列中的长距离依赖关系。Transformer由编码器和解码器组成,编码器将输入序列转换为内部表示,解码器将内部表示转换为输出序列。

常用实例
  • 机器翻译:使用Transformer可以进行高质量的机器翻译。原始的Transformer模型在WMT 2014英法翻译任务中取得了优秀的表现。
  • 文本生成:使用Transformer可以生成连贯的文本。GPT(Generative Pre-trained Transformer)和BERT(Bidirectional Encoder Representations from Transformers)是两个著名的Transformer模型。
网络层
  1. 编码器:
    1. 输入层:接受输入序列,通常是词嵌入表示。
    2. 自注意力层:计算输入序列中每个元素与其他元素的注意力得分。
    3. 注意力机制:包括查询(Q)、键(K)、值(V)三个矩阵,通过点积计算注意力得分。
    4. 前馈神经网络:对自注意力层的输出进行非线性变换。
    5. 层归一化:对每一层进行标准化处理。
  2. 解码器:
    1. 输入层:接受目标序列的前一部分(训练时)或生成的前一部分(推理时)。
    2. 自注意力层:与编码器相似,但只关注目标序列的前一部分。
    3. 编码器-解码器注意力层:通过注意力机制将编码器的输出与解码器的当前状态结合。
    4. 前馈神经网络:对注意力层的输出进行非线性变换。
    5. 层归一化:对每一层进行标准化处理。
  3. **输出层:**生成最终的输出序列(如翻译结果或生成文本)。

以上就是常用的神经网络,对于刚接触深度学习的时候,大致了解一下很有帮助。

相关推荐
龙的爹23334 分钟前
论文 | Model-tuning Via Prompts Makes NLP Models Adversarially Robust
人工智能·gpt·深度学习·语言模型·自然语言处理·prompt
工业机器视觉设计和实现17 分钟前
cnn突破四(生成卷积核与固定核对比)
人工智能·深度学习·cnn
醒了就刷牙18 分钟前
58 深层循环神经网络_by《李沐:动手学深度学习v2》pytorch版
pytorch·rnn·深度学习
985小水博一枚呀21 分钟前
【对于Python爬虫的理解】数据挖掘、信息聚合、价格监控、新闻爬取等,附代码。
爬虫·python·深度学习·数据挖掘
想要打 Acm 的小周同学呀1 小时前
实现mnist手写数字识别
深度学习·tensorflow·实现mnist手写数字识别
萱仔学习自我记录1 小时前
微调大语言模型——超详细步骤
人工智能·深度学习·机器学习
Eric.Lee20212 小时前
音频文件重采样 - python 实现
人工智能·python·深度学习·算法·audio·音频重采样
大神薯条老师2 小时前
Python从入门到高手5.1节-Python简单数据类型
爬虫·python·深度学习·机器学习·数据分析
爱喝白开水a2 小时前
关于大模型在企业生产环境中的独立部署问题
人工智能·深度学习·llm·大语言模型·ai大模型·计算机技术·本地部署大模型
代码骑士2 小时前
【一起学NLP】Chapter3-使用神经网络解决问题
python·神经网络·自然语言处理