文章目录

  • 1. 如何学会深度学习模型设计与优化
  • 1.1 深度学习之模型设计
  • 1.1.1 模型深度——性能提升的关键
  • 1.1.2 通道维度变换——基础设计单元
  • 1.1.3 模型宽度——模型表达能力与压缩关键
  • 1.1.4 残差网络——深层模型训练关键技术
  • 1.1.5 分组网络——模型压缩核心技术
  • 1.1.6 多尺度与非正常卷积——复杂任务模型性能提升的核心技术
  • 1.1.7 动态推理与注意力机制网络——模型优化核心技术
  • 1.1.8 生成对抗网络——新一代深度学习基础技术
  • 2. 深度学习之模型优化
  • 2.1 工业级网络的要求
  • 2.2 模型精简与优化的技术要点
  • 2.2.1 卷积核的使用
  • 2.2.2 卷积拓扑结构设计
  • 2.2.3 迁移学习
  • 2.2.4 自动化搜索
  • 3. 如何设计性能更强的CNN结构
  • 3.1 网络深度的设计
  • 3.1.1 为什么加深可以提升性能
  • 3.1.2 从什么样的深度开始
  • 3.1.3 网络加深容易出现的问题
  • 3.2 网络宽度的设计
  • 3.2.1 为什么需要足够的宽度——更多的宽度可以学习到更加丰富的特征
  • 3.2.2 网络宽度的特点
  • 3.2.3 宽度设计原则
  • 3.3 Dropout和BN层设计
  • 3.3.1 Dropout的好处
  • 3.3.2 使用Dropout的问题
  • 3.3.3 BN为什么好
  • 3.3.4 BN使用注意事项
  • 3.4 卷积核大小、步长、池化的设计
  • 3.4.1 步长和池化如何影响性能
  • 3.4.2 如何选择池化方案
  • 3.4.3 如何设计步长
  • 3.4.4 卷积核大小如何影响模型性能
  • 3.4.5 如何设计卷积核大小
  • 3.5 残差结构的理解和设计
  • 3.5.1 残差结构为什么有效
  • 3.5.2 如何设计残差网络
  • 3.6 多尺度与信息融合
  • 3.6.1 如何设计多尺度网络
  • 3.7 其他
  • 3.7.1 Attention
  • 3.7.2 感受野控制
  • 3.7.3 AutoML
  • 3.8 GAN网络
  • 4.如何获得更加高效的CNN模型结构
  • 4.1 什么是更加高效的CNN网络
  • 4.2 通道补偿与通道重用
  • 4.3 分组卷积
  • 4.4 剪枝
  • 4.5 量化
  • 4.6 知识蒸馏
  • 4.7 动态推理



注:


记录

视频课程中的一些知识。

1. 如何学会深度学习模型设计与优化

1.1 深度学习之模型设计

1.1.1 模型深度——性能提升的关键

形状模型 深度学习_神经网络

1.1.2 通道维度变换——基础设计单元

形状模型 深度学习_神经网络_02

1.1.3 模型宽度——模型表达能力与压缩关键

增加模型宽度:

(1)增加通道数

(2)增加分支,如:由一路变成多路

形状模型 深度学习_神经网络_03

1.1.4 残差网络——深层模型训练关键技术

形状模型 深度学习_人工智能_04

1.1.5 分组网络——模型压缩核心技术

形状模型 深度学习_深度学习_05

1.1.6 多尺度与非正常卷积——复杂任务模型性能提升的核心技术

形状模型 深度学习_形状模型 深度学习_06

1.1.7 动态推理与注意力机制网络——模型优化核心技术

形状模型 深度学习_卷积_07

1.1.8 生成对抗网络——新一代深度学习基础技术

形状模型 深度学习_神经网络_08

2. 深度学习之模型优化

2.1 工业级网络的要求

形状模型 深度学习_人工智能_09

2.2 模型精简与优化的技术要点

形状模型 深度学习_卷积_10

2.2.1 卷积核的使用

(1)全连接与全局池化

(2)小卷积替换大卷积

(3)维度变换

形状模型 深度学习_神经网络_11

2.2.2 卷积拓扑结构设计

形状模型 深度学习_神经网络_12

2.2.3 迁移学习

形状模型 深度学习_人工智能_13

2.2.4 自动化搜索

形状模型 深度学习_人工智能_14

3. 如何设计性能更强的CNN结构

3.1 网络深度的设计

3.1.1 为什么加深可以提升性能

形状模型 深度学习_人工智能_15

3.1.2 从什么样的深度开始

(1)超过30层的网络很少见

(2)通常选择深度可以从5~8层开始

形状模型 深度学习_深度学习_16

3.1.3 网络加深容易出现的问题

形状模型 深度学习_深度学习_17

3.2 网络宽度的设计

3.2.1 为什么需要足够的宽度——更多的宽度可以学习到更加丰富的特征

形状模型 深度学习_深度学习_18


图中左边部分表示AlexNet第一个卷积层96个通道的可视化,可见:

有的通道的是提取的图片的形状特征,有的则是颜色信息。

所以如果没有足够的通道,则提取不了那么多特征。

3.2.2 网络宽度的特点

形状模型 深度学习_神经网络_19


(1)模型宽度的增加,其计算量也会指数增加。

(2)提高网络宽度可以提高模型性能,但在达到一定临界点后会饱和。

3.2.3 宽度设计原则

形状模型 深度学习_神经网络_20

3.3 Dropout和BN层设计

3.3.1 Dropout的好处

(1)增加泛化能力

(2)缓解ReLU的dead issue

(3)减少了神经元之间的complex co-adaption

形状模型 深度学习_神经网络_21


图中a表示有dropout,其神经元表现更加丰富,图b表示没有dropout,其神经元表示则非常少。

3.3.2 使用Dropout的问题

dropout相当于增加了噪声,造成了梯度损失,所以需要使用更大的学习率和动量项,训练更久才能收敛。

3.3.3 BN为什么好

形状模型 深度学习_卷积_22

3.3.4 BN使用注意事项

形状模型 深度学习_深度学习_23

3.4 卷积核大小、步长、池化的设计

3.4.1 步长和池化如何影响性能

(1)一般第一个卷积层不超过2

形状模型 深度学习_神经网络_24

3.4.2 如何选择池化方案

形状模型 深度学习_深度学习_25

3.4.3 如何设计步长

形状模型 深度学习_卷积_26

3.4.4 卷积核大小如何影响模型性能

形状模型 深度学习_人工智能_27

形状模型 深度学习_人工智能_28

3.4.5 如何设计卷积核大小

形状模型 深度学习_神经网络_29

3.5 残差结构的理解和设计

3.5.1 残差结构为什么有效

形状模型 深度学习_神经网络_30


形状模型 深度学习_卷积_31


形状模型 深度学习_神经网络_32

3.5.2 如何设计残差网络

形状模型 深度学习_人工智能_33


形状模型 深度学习_人工智能_34


形状模型 深度学习_形状模型 深度学习_35

3.6 多尺度与信息融合

3.6.1 如何设计多尺度网络

形状模型 深度学习_人工智能_36

3.7 其他

3.7.1 Attention

形状模型 深度学习_人工智能_37


形状模型 深度学习_人工智能_38


形状模型 深度学习_形状模型 深度学习_39

3.7.2 感受野控制

形状模型 深度学习_形状模型 深度学习_40


形状模型 深度学习_形状模型 深度学习_41


形状模型 深度学习_神经网络_42

3.7.3 AutoML

形状模型 深度学习_形状模型 深度学习_43

3.8 GAN网络

4.如何获得更加高效的CNN模型结构

4.1 什么是更加高效的CNN网络

形状模型 深度学习_卷积_44

4.2 通道补偿与通道重用

形状模型 深度学习_形状模型 深度学习_45


形状模型 深度学习_卷积_46

4.3 分组卷积

分组卷积可以大幅降低计算量。

形状模型 深度学习_深度学习_47


分组卷积的类型有:

(1)

形状模型 深度学习_深度学习_48


(2)

形状模型 深度学习_人工智能_49


(3)

形状模型 深度学习_人工智能_50


(4)

形状模型 深度学习_卷积_51


(5)

形状模型 深度学习_卷积_52

4.4 剪枝

形状模型 深度学习_卷积_53


形状模型 深度学习_人工智能_54


形状模型 深度学习_人工智能_55

4.5 量化

形状模型 深度学习_深度学习_56


形状模型 深度学习_深度学习_57


形状模型 深度学习_人工智能_58


形状模型 深度学习_卷积_59


形状模型 深度学习_卷积_60

4.6 知识蒸馏

形状模型 深度学习_人工智能_61


形状模型 深度学习_神经网络_62


形状模型 深度学习_卷积_63

4.7 动态推理