常用神经网络-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. **输出层:**生成最终的输出序列(如翻译结果或生成文本)。

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

相关推荐
美狐美颜sdk19 分钟前
直播美颜工具架构设计与性能优化实战:美颜SDK集成与实时处理
深度学习·美颜sdk·第三方美颜sdk·视频美颜sdk·美颜api
Fansv5872 小时前
深度学习-6.用于计算机视觉的深度学习
人工智能·深度学习·计算机视觉
deephub2 小时前
LLM高效推理:KV缓存与分页注意力机制深度解析
人工智能·深度学习·语言模型
奋斗的袍子0073 小时前
Spring AI + Ollama 实现调用DeepSeek-R1模型API
人工智能·spring boot·深度学习·spring·springai·deepseek
青衫弦语3 小时前
【论文精读】VLM-AD:通过视觉-语言模型监督实现端到端自动驾驶
人工智能·深度学习·语言模型·自然语言处理·自动驾驶
美狐美颜sdk3 小时前
直播美颜SDK的底层技术解析:图像处理与深度学习的结合
图像处理·人工智能·深度学习·直播美颜sdk·视频美颜sdk·美颜api·滤镜sdk
WHATEVER_LEO3 小时前
【每日论文】Text-guided Sparse Voxel Pruning for Efficient 3D Visual Grounding
人工智能·深度学习·神经网络·算法·机器学习·自然语言处理
Binary Oracle3 小时前
RNN中远距离时间步梯度消失问题及解决办法
人工智能·rnn·深度学习
阿_旭3 小时前
基于YOLO11深度学习的糖尿病视网膜病变检测与诊断系统【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·视网膜病变检测
小宇爱4 小时前
38、深度学习-自学之路-自己搭建深度学习框架-3、自动梯度计算改进
人工智能·深度学习·自然语言处理