10 - Convolutional Networks
这节课包括三部分:
- 卷积网络的引入。从全连接层在处理图像任务上的缺陷引入卷积,然后介绍卷积的优势,以及卷积的计算细节。
- 卷积在实践中常规操作:
- Padding。为了使得输入输出图像大小一致
- Strided Convolutions / Pooling。解决难以捕捉不同尺度下的视觉信息的问题
- Dilations。增大感受野
- 群组卷积。降低卷积操作的计算复杂度
- 卷积的微分
Convolutional operators in deep networksThe problem with fully connected networksHow convolutions “simplify” deep networksAdvantages of convolutionsConvolutions in deep networksElements of practical convolutions1. Padding2. Strided Convolutions / PoolingGrouped ConvolutionsDilationsDifferentiating convolutionsWhat is needed to differentiate convolution?Refresher on differentiating matrix multiplicationConvolutions as matrix multiplication: Version 1The adjoint of a convolutionConvolutions as matrix multiplication: Version 2
Convolutional operators in deep networks
The problem with fully connected networks

全连接层的问题:
- 参数太多
- 没有平移不变性
How convolutions “simplify” deep networks

卷积网络的特性:
- 参数共享
- 局部连接
Advantages of convolutions

卷积网络的优势:
- 减少参数量
- 能捕捉到一些平移不变的特征
Convolutions in deep networks

书上更详细一些,建议看书
Elements of practical convolutions
1. Padding
只有奇数大小的kernel 才能 通过 padding,使得输入输出图片大小相同。padding数值为kernel大小减1,kernel_size - 1 就是偶数,然后左右或者上下各padding 一半

2. Strided Convolutions / Pooling

Grouped Convolutions

Dilations

Differentiating convolutions
What is needed to differentiate convolution?

Refresher on differentiating matrix multiplication

Convolutions as matrix multiplication: Version 1

The adjoint of a convolution

Convolutions as matrix multiplication: Version 2

卷积计算的两种方式:
为了使得计算图中的内存占用少,所以推荐第二种