深度学习论文系列--模型细节(持续更新)

AlexNet

  • 图像增强
  • reLu函数
  • Dropout防止过拟合

论文主要思想

  • 更深的卷积神经网络
  • end-to end,端到端的意思就是我只需要把原始的数据(图片、文本等)放进去,不需要做任何的特征提取

ResNet

  • 神经网络深度很深的时候,就会出现梯度爆炸或者梯度消失,解决办法:合理的进行初始化权重、层与层之间加入正则化
  • 残差块可以保持一个较大的梯度,因为在做反向传播的时候,累乘一系列很小的梯度,到深层网络会越变越的小,残差块是利用加法,加上上一个残差块输入的梯度,维持一个较大的梯度到更深层网络
  • SGD必须要维持一个较大的梯度,因为他有噪音,只要梯度够大,可以一直训练下去
  • 在这里插入图片描述

图神经网络GNN(Graph Neural Network)

一个点的计算结果由上层节点的邻居计算而来,因此,如果gnn足够深,一个节点就可以处理一个较大范围内的信息

  • 图空间属于非欧空间

Transformr

  • 开创了继mlp、cnn、rnn之后的第四大类模型
  • 序列转录模型:给一句语言,转换成另外一句语言
  • 仅仅依赖于注意力机制,没有使用rnn和卷积,使用多头自注意力机制
  • 时序序列模型无法在时间上并行计算(因为要计算当前时刻隐藏状态,需要知道前面所有的ht),而且容易丢掉历史信息
  • 卷积神经网络替换掉循环神经网络
  • 编码器将一个长为n的句子转换为一系列向量,解码器会生成长为m的序列
    在这里插入图片描述
  • Masked Multi-Head Attention:为了让解码器不看到t时刻之后在这里插入图片描述
  • Attention可以理解为权重,根据上下文的关系动态调整
  • encoder-decoder(编码解码,编码和解码成同一个长度的向量c,因此会损失精度),无法并行计算,所以引申出self-attention机制在这里插入图片描述
  • self-attention机制,对每一个单词都可以获取全局的上下文关系,然后根据关系的远近打分(得出一个权重),因此可以很好的做到并行计算,摒弃了时序信息
  • 在这里插入图片描述- encoder阶段:计算当前单词与所有单词之间的关联,并给出权重,每一个encoder都包含了self-attention和前馈网络(根据权重改变形状)
  • decode阶段:不仅要看之前产生的输出,还要看到encoder得到的输出,decoder除了self-attention和前馈网络,还在之间加入了encoder-decoder-Attention(解编码-Attention),作用就是不仅考虑decoder,还要兼顾encoder;在翻译领域,就是不仅要看已经翻译的内容,还要考虑encoder中上下文的信息
  • Attention机制优点:参数更少,速度更快,效果更好;通过加权求和解决context的理解,本质就是在不同的上下文下,专注于不同的信息
  • 每个self-attention分为多个multi-head-Attention(这个可以模拟cnn多输出通道的效果),通常有八组不同的QKV权重矩阵,最后得出八个输出,有八个的目的是为了消除QKV初始值的影响

Bert(Bidirectional Encoder Representation from Transformer)

  • 双向,不同于rnn的单向,不同于双向rnn模型,只是简单的concat在一起,bert在双向信息的应用上做的更好
  • masked language model
  • 目标函数是预测完形填空的准确率
  • 基于fine-tuning,这样的话,如果有一个预训练效果好的模型,就可以需用针对特定任务修改模型架构了
  • 预训练是没有标号的大量的数据,微调的时候是使用有标号的小的数据集,然后继续训练,然后参数初始化成预训练生成的参数
  • bert是一个多层的双向的transformer的编码器
  • bert基于elmo和transformer

MAE(Masked Autoencoders)

在这里插入图片描述

  • MAE基于VIT,VIT基于transformer;MAE需要的是不需要标号的数据
  • 可以看做是在cv领域的bert,毕竟都是做完形填空,有masked的部分

CLIP

  • zero-shot,迁移学习能力非常强
    在这里插入图片描述
  • 多模态工作,输入是图片和相应文字的配对;
  • Zero-shot learning 指的是我们之前没有这个类别的训练样本。但是我们可以学习到一个映射X->Y。如果这个映射足够好的话,我们就可以处理没有看到的类了。 比如,我们在训练时没有看见过狮子的图像,但是我们可以用这个映射得到狮子的特征。一个好的狮子特征,可能就和猫,老虎等等比较接近,和汽车,飞机比较远离。
  • 生成句子时,会用到prompt template
  • clip已经强大到自己去做OCR

MoCo

  • 无监督学习也可以做的很好,moco运用的是对比学习(顾名思义,就是对比着不同的样本去学习,让模型区分人和狗,不需要知道什么是人,什么是狗,只要让模型知道人和人类似,狗和狗类似就可以)
  • 通过代理任务区分图片类别,这里的关键是要制定一个规则,判断哪些是正样本,哪些是负样本
  • 目标函数、代理任务
  • InfoNCE loss来自于NCE loss(noise)
  • 需要的字典要大,并且要保持一致性,使用队列(fifo)来代表字典,解决内存不足的问题

DETR(detection with transformr)

  • end-to-end,端到端的能力,不需要nms(非极大值抑制),因为有些硬件不支持nms

VIT

  • 先在一个大规模的数据集上去做预训练,然后再在一个特定领域的小数据集上去做微调
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45277161/article/details/129927597
今日推荐