最近花了几天时间对目前常用神经网络模型(backbone),生成对抗GAN,模型压缩,NPL,距离计算,优化器进行了分类整理,用简短的几句话对相关特性进行了总结描述,如有误请指正,方便强化记忆,供学习、选型、面试。详细组件功能介绍请参考其它博文。

没有什么是一张图解决不了的,如果有就再画一张

目录

1 神经网络模型(backbone)

2 生成对抗

3 模型压缩

4 NPL

5 距离计算

6 常用名词

7 优化器

8 强化学习


1 神经网络模型(backbone)

1.1 Deeper(更深层次的网络)
    LeNet-5 卷积始祖,结构:卷积+池化+卷积+池化+卷积+全连接+全连接
    AlexNet
        创新点:采用ReLU激活函数代替Sigmoid,Dropout
        局部相应归一化、扩增数据、分卡训练
    ZFNet
        卷积可视化始祖
        滤波器尺寸更小
    VGGNet
        结构简洁:5层卷积层,3层全连接层、softmax输出层构成
        创新点:小卷积核和多卷积核,VGG使用多个较小卷积核(3x3)
        两个3x3相当于一个5x5
        LRN层无性能增益
    ResNet
        创新点:shortcut,分为Basic block和bottle block
        一是导数总比原导数加1,解决梯度消失
        二是y=f(x)+x式子中引入了恒等映射,解决了深度增加时神经网络退化
        第一个卷积层采用7x7的大卷积核,更大的感受野,获取图片更多的初始特征
    DenseNet
        创新点:密集连接方式,DenseNet提升了梯度的反向传播,使得网络更容易训练
        DenseNet网络包包括Dense Block和Transition layer两个基础模块
        参数更小且计算更高效(concatenate来实现特征复用,计算量很小)
        由于特征复用,分类器使用到了低级特征,需要较大的显存才能运行

1.2 Module(模块化网络)
    GoogleNet V1
        创新点:Inception 模块化,采用不同大小的卷积核不同尺度的特征融合
        加深的基础上进行加宽,稀疏网络结构
        采用1x1卷积,一是减少维度来减少参数和计算量,二是修正线性激活,
        增加非线性拟合能力(每个1x1后都有ReLU激活函数)
        采用辅助分类器:一是为了避免梯度消失,用于向前传导梯度,
        二是将中间某一层输出用作分类,起到模型融合作用
        用Global Ave Pool取代了FC,防止过拟合作用
    GoogleNet V2
        借鉴VGG,用两个3x3卷积代替一个5x5卷积
        将滤波器大小nxn的卷积分解为1xn和nx1卷积的组合
    GoogleNet V3
        采用RMSProp优化器
    GoogleNet V4
        利用残差网络(ResNet)来改进V3

1.3 Faster(更快的网络)
    Squeeze Net
        创新点:基础单元是Fire Module,多个Fire Module堆叠,
        Fire Module又包括两个部分:squeeze layer和Expand layer 
        多使用1x1的卷积,少使用3x3的卷积(Idea from GoogleNet),减少channel的数量
        将降采样后置,即推迟使用Pooling从而增加感受野    
    MobileNet
        MobileNet V1
            深度卷积:将卷积拆分为单通道的形式
            逐点卷积:即1x1卷积,对深度卷积得到的特征图进行升维
            引入宽度α和分辨率缩放因子
        MobileNet V2
            Linear bottleneck:去掉卷积单元中最后一个ReLU函数
            Inverted residual:先升维,卷积,降维
    shuffle Net
        shuffleNet V1
            group convolution(分组卷积):将输入特征图按通道数分组,
            用不同的卷积核分别进行卷积
            channel shuffle(通道混洗):对分组卷积之后的特征图的排列顺序
            进行打乱排列reshape--transpose--flatten
        shuffleNet V2
            卷积层的输入和输出特征通道数相等时MAC最小,此时模型速度最快
            过多group操作会增大MAC,从而使模型速度变慢
            模型中的分支数量越少,模型速度越快
            尽可能减少element-wise操作
    LightCNN 提出了MFM的一种新的特征图融合方法,在特征提取效果和特征提取速率方面取得了很大的进步
1.4 Functional(功能性网络)
    检测
        x-RCNN
            RCNN 1.SS提取RP;2.CNN提取特征;3.SVM分类;4.BB盒回归
            Fast RCNN 1.SS提取RP;2.CNN提取特征,加入ROI Pooling层;3.softmax分类;4.多任务损失函数边框回归
            Faster RCNN
                1.RPN提取RP;2.CNN提取特征,加入ROI Pooling层;3.softmax分类;4.多任务损失函数边框回归
                RPN(Region Proposal Network) 
                    1.anchor生成(一个概率值和四个坐标值);
                    2.框回归,根据IOU初次筛选;
                    3.NMS(非极大值抑制)再次筛选得到Proposal框
                RIO pooling
                    根据输入image,将region proposal映射到feature map对应位置
                    将映射后的区域划分为相同大小的sections(sections数量与输出维度相同,根据输出取整)
                    对每个sections进行max pooling操作
        YOLO
            YOLO V1
                检测变为回归问题
                整张图划为7x7,每个格子预测两个目标,输出置信度和坐标位置,
                没有使用Region proposal,小目标效果不好
            YOLO V2
                引入自定义darknet分类网络
                引入anchor思想,产生多个boundingboxes先验框
                使用k-Means聚类方法来训练boundingboxes
            YOLO V3
                从v2的darknet-19 到v3 darknet-53
                AnchorBoxes数目从v2中的5个提升到v3中的9个
                用Logistic分类器替换softmax分类器
                增加特征融合
        SSD
            基于Faster RCNN中的Anchor提出了相似的Prior box,一般是4~6个,在不同尺度的feature map 
            加入基于特征金字塔,继承将检测转变为回归问题
            整张图8x8网格+anchor+FCN,多尺度特征融合,
            不同层的feature map 3x3滑动窗感受野不同,作为不同尺度检测
        FPN(Feature Pyramid Network)
            目标分离:浅层目标简单位置准确,深层目标复杂位置粗略,
            浅层特征关注纹理特征,深层网络关注网路本质特征;
            将处理过的低层特征Layer2和处理过的高层特征Layer4进行累加,结合bottom-up与top-down,
            横向连接(lateral-connection)方法获得较强语义连接
        RetinaNet
            组成:ResNet-50+PFN
            引入focal loss
    分割:判断图像每个像素点的类别
        Mask RCNN
            ResNet+FPN+RPN+RoI
                head+FCN+Mask
                Coordinates-reg
                Category-cls
            FCN
                全卷积:以卷积代替全连接匹配任意尺寸输入图片
                skip Architecture:FCN-32s/16s/8s
                Upsampling:反卷积
        UNet
            前半部分特征提取生成224x224,112x112,56x56,28x28,14x14;后半部分往回上采样+concat 
            U-net通过通道数的拼接,FCN是通过特征图对应像素值相加融合特征
        ENet
            包括7个阶段,每个阶段又类似ResNet的bottleneck模块组成,
            1-3属于编码阶段,5-7属于解码阶段,4阶段为中间过度
            使用了更大的编码结构和更小的解码结构;使用PReLU替代ReLU激活函数,使用空间dropout

2 生成对抗

2.1 DCGAN(Deep Convolutional GAN)
    引入卷积增加生成图片的质量
2.2 WGAN(Wasserstein GAN)
    利用Wasserstein-1距离,从目标函数的角度出发来提高模型的表现,在理论上解决了梯度消失问题
2.3 WGAN-GP(gradient penalty)
    用正则化的形式表达了对判别器的约束,具有强大的稳定性,几乎不需要调参,训练成功率极高
2.4 LSGAN(least square GAN)
    用散度x^2取代了朴素GAN的jensen-Shannon散度,提高了生成数据的质量和多样性
2.5 EBGAN(Energy-base GAN)
    对D的架构采用自动编码器的模式
2.6 BEGAN(Boundary Equilibrium GAN)
    基于EBGAN通过超参∈[0,1]来放宽均衡点
2.7 CGAN(conditional GAN)
    生成指定标签的数据
2.8 InfoGAN
    从噪声z中拆分出结构化的隐含编码c的方法,使得生成的过程具有一定的可控性
2.9 Pix2Pix
    用于图像翻译领域,训练需要相互配对的图片x与y
2.10 CycleGAN
    不需要配对的两个场景的相互映射,实现了图像间的相互转换
2.12 StarGAN
    将两两映射变多个领域之间的映射

3 模型压缩

3.1 模型剪枝
    减少head的数量和去除作用较少的层,共享参数
3.2 量化
    比如讲float32 降到 int8
3.3 知识蒸馏
    目标蒸馏
        Hard-Target/Soft-Target
        蒸馏温度的高低决定对负标签的关注程度
        Matching logits
    特征蒸馏
        第一阶段隐藏层学习
        第二阶段目标学习
3.4 参数共享
    如ALBERT 共享了Transforner层
3.5 参数矩阵近似
    矩阵的低秩分解

4 NPL

4.1 常见网络
    RNN
        有多个时刻输入时,网络层次比较深,根据链式法则则更容易出现梯度爆炸
    LSTM
        输入门、遗忘门、记忆门、输出门
    GRU
        重置门决定了如何将新的输入信息与前面的记忆相结合,
        更新门定义了前面记忆保存到当前时间的量,相比LSTM参数更少
    Transform
        由于RNN要求输出≤输入;
        encode-decode引入中间量C解决,但多个转换为一个存在表达不丰富丢失原信息
        多头自注意力机制和规范化层以及一个残差连接
        编码:词编码、句子编码、位置编码
    Bert
4.2 词汇表征
    Word2Vec
        CBOW适用于小型数据库,由上下文推出单个词--完型填空
            权重矩阵(look up table)
        Skim-gram适用于小型语料库,由单个词推出上下文--造句
    Doc2Vec    
4.3 搜索评价
    beam search
        是对贪心策略一个改进,就是稍微放宽一些考察的范围K
    BLEU
        N-gram的匹配度、召回率、惩罚因子

5 距离计算

5.1 信息量、熵
    信息量的期望就是熵
    熵为什么是对数形式
        概率越低信息量越大;概率越高信息量越低
        多个事件同时发生的概率相乘是多个信息量相加的和
        对数函数是上凸的,期望函数也是上凸的
5.2 lipschitz约束
    f(x1)-f(x2)≤C|x1-x2|
5.3 交叉熵
    KL散度-目标分布熵=交叉熵 (目标熵为常数)
5.4 KL散度(相对熵,信息增益)
    两个概率分布P和Q差异的度量
    非对称,不满足三角不等式
5.5 JS散度
    两个概率分布的相似度
    对称的,其取值是0到1
    解决没有重叠的两个分布梯度消失问题
5.6 Wasserstein 距离
    两个概率分布之间的距离,样本对距离的期望E(x,y)下界
    当两个概率重叠非常少,仍然能反映两个分布的远近,
    而JS散度在此情况下是常量,KL散度可能无意义

6 常用名词

6.1 非对称卷积
    每一个nxn的卷积都可以分解为nx1何1xn的两层卷积核
6.2 空洞卷积(Dilated Convolution)
    在标准卷积里插入空值以增加感受野,空洞为扩张率-1,应用HDC设计结构

7 优化器

7.1 SGD
    缺点:
        对所有的参数更新使用同样的learning rate,选择合适的learning rate比较困难
        SGD容易收敛到局部最优
7.2 Momentum
    优点:下降初期,抑制振荡,从而加快收敛
    缺点:下降中后期时,在局部最小值来回震荡的时候
7.3 Adagrad
    优点:
        前期gt较小的时候,regularizer较大,能够放大梯度
        后期gt较大的时候,regularizer较小,能够约束梯度
        适合处理稀疏梯度
    缺点:
        仍依赖于人工设置一个全局学习率
        中后期,分母上梯度平方的累加将会越来越大,使梯度趋向于0,使得训练提前结束
7.4 Adadelta
    特点:
        训练初中期,加速效果不错,很快
        训练后期,反复在局部最小值附近抖动
7.5 RMSprop
    特点:
        其实RMSprop依然依赖于全局学习率
        RMSprop算是Adagrad的一种发展,和Adadelta的变体,效果趋于二者之间
        适合处理非平稳目标 - 对于RNN效果很好
7.6 Adam
    特点:
        结合了Adagrad善于处理稀疏梯度和RMSprop善于处理非平稳目标的优点
        对内存需求较小
        为不同的参数计算不同的自适应学习率
        也适用于大多非凸优化 - 适用于大数据集和高维空间

8 强化学习

8.1 学习方式
    在线学习
        Sarsa
    离线学习
        Q learning
8.2 优化方向
    基于概率
        Policy Gradients
    基于价值
        Q learning和Sarsa
    基于概率和价值
        Actor-Critic
8.3 融合网络
    DQN

【参考】

https://www.cnblogs.com/silence-cho/p/11620863.html

https://zhuanlan.zhihu.com/p/22252270

https://mofanpy.com/
        
    码字不易,转载请说明~~

深度学习知识图谱笔记相关推荐

  1. 深度学习+知识图谱,一个不小心就顶流的话题

    知识图谱是个很热的话题,是学术界研究的热点,也是工业界主推的重点.我自己接触到的就不下十个项目,都自称使用了知识图谱技术.不过,到底什么是知识图谱,却发现各家的理解差异很大--有人大唱赞歌,说知识图谱 ...

  2. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(2)前言(介绍各种机器学习问题)以及数据操作预备知识Ⅰ

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  3. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(3)前言(介绍各种机器学习问题)以及数据操作预备知识Ⅲ(概率)

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

  4. 阿里云天池大赛赛题解析(深度学习篇)--阅读笔记1--赛题一

    阿里云天池大赛赛题解析(深度学习篇)–阅读笔记1 [x]表示遇到不懂的知识,将在[知识补充]给出具体讲解. 文章目录 阿里云天池大赛赛题解析(深度学习篇)--阅读笔记1 前言 赛题一 瑞金医院MMC人 ...

  5. 从零学习知识图谱——01(知识图谱技术介绍)

    今年研一,导师给的大范围是知识图谱.从零开始学习知识图谱相关知识,内容大多为笔记和心得,仅供参考.欢迎各位大牛来指导. 知识图谱 (Knowledge Graph,KG) 以结构化的形式描述客观世界中 ...

  6. 吴恩达《神经网络与深度学习》精炼笔记(5)-- 深层神经网络

    上节课我们主要介绍了浅层神经网络.首先介绍神经网络的基本结构,包括输入层,隐藏层和输出层.然后以简单的2 layer NN为例,详细推导了其正向传播过程和反向传播过程,使用梯度下降的方法优化神经网络参 ...

  7. Coursera吴恩达《神经网络与深度学习》课程笔记(3)-- 神经网络基础之Python与向量化

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了逻辑回归,以输出概率的形式来处理二分类问题.我们介绍了逻辑回归的Cost function表达式,并使用梯度下降算法来计算最小 ...

  8. 完结撒花!吴恩达DeepLearning.ai《深度学习》课程笔记目录总集

    作者: 大树先生 博客: http://blog.csdn.net/koala_tree 知乎:https://www.zhihu.com/people/dashuxiansheng GitHub:h ...

  9. (d2l-ai/d2l-zh)《动手学深度学习》pytorch 笔记(4)线性神经网络(暂停)

    开源项目地址:d2l-ai/d2l-zh 教材官网:https://zh.d2l.ai/ 书介绍:https://zh-v2.d2l.ai/ 笔记基于2021年7月26日发布的版本,书及代码下载地址在 ...

最新文章

  1. 2022-2028年中国环卫行业产业链深度调研及投资前景预测报告
  2. 汇编语言 执行push和执行pop区别 栈顶的变化范围
  3. 铺铜过孔不要十字_铺植草砖施工工艺
  4. Cacti Weathermap 高级用法 (二)
  5. 使用BH60测量小功率步进电机角度实验数据
  6. 2021 年百度之星·程序设计大赛 - 初赛二 1001 签到(找规律,快速幂)
  7. Javascript 5 种原始数据类型
  8. 【BZOJ 3339 / BZOJ 3585 / luogu 4137】Rmq Problem / mex
  9. jquery实现app开发闹钟功能_商城app开发价格及功能列表
  10. Keil开发软件的使用详解
  11. 实例:python 实现有向图找环(反洗钱、资金流)
  12. 交换机VLAN 模式trunk和access 区别
  13. blender中常用快捷键的总结
  14. OpenCV55:高动态范围成像|High Dynamic Range (HDR)
  15. 这篇文章来告诉你几个实用的视频转文字的方法
  16. opencv报错file too short
  17. venv文件夹里没有bin
  18. Python 爬虫 中国行政区划信息爬取 (初学者)
  19. 编程当中 %lg 是什么? (编程语言常见数据类型与占位符的关系以及所占空间的大小)
  20. 关于碧螺春的江湖之三 【苏州 碧螺春 营养成分 健康价值】

热门文章

  1. win8阉割版中文输入法
  2. 虚拟机共享文件夹的作用
  3. 虚拟机共享文件夹设置(如何将本地代码在虚拟机上运行)
  4. 排位赛一 B MooBuzz
  5. 厦门大学计算机专硕好考吗,厦门大学研究生好考吗
  6. 数据结构 - 一元多项式相加减(C语言)
  7. Could not extract response: no suitable HttpMessageConverter
  8. 不要再到处使用 === 了
  9. 计算机中表格怎么用英语说,电脑excel表格如何在表格中随机生成一个大写英文字母...
  10. LAN、WAN和WLAN介绍