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

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

相关推荐
Jack_pirate23 分钟前
深度学习中的特征到底是什么?
人工智能·深度学习
微凉的衣柜37 分钟前
微软在AI时代的战略布局和挑战
人工智能·深度学习·microsoft
哦哦~9212 小时前
深度学习驱动的油气开发技术与应用
大数据·人工智能·深度学习·学习
程序员一诺6 小时前
【深度学习】嘿马深度学习笔记第10篇:卷积神经网络,学习目标【附代码文档】
人工智能·python·深度学习·算法
MUTA️6 小时前
RT-DETR学习笔记(2)
人工智能·笔记·深度学习·学习·机器学习·计算机视觉
学术头条9 小时前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客9 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
Ven%9 小时前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip
IT猿手10 小时前
最新高性能多目标优化算法:多目标麋鹿优化算法(MOEHO)求解TP1-TP10及工程应用---盘式制动器设计,提供完整MATLAB代码
开发语言·深度学习·算法·机器学习·matlab·多目标算法
强哥之神10 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai