目录
- 概述
- 1D卷积
- 2D卷积
- 3D卷积
概述
1D/2D/3D卷积计算方式都是一样的,其中2D卷积应用范围最广。与全连接层相比,卷积层的主要优点是参数共享和稀疏连接,这使得卷积操作所需要学习的参数数量大大减少。卷积计算方式如下:
1D卷积
计算方式
1、图中的输入的数据维度为8,过滤器的维度为5。与二维卷积类似,卷积后输出的数据维度为8−5+1=4。
2、如果过滤器数量仍为1,输入数据的channel数量变为16,即输入数据维度为8×16。这里channel的概念相当于自然语言处理中的embedding,而该输入数据代表8个单词,其中每个单词的词向量维度大小为16。在这种情况下,过滤器的维度由5变为5×16,最终输出的数据维度仍为4。
3、如果过滤器数量为n,那么输出的数据维度就变为4×n。
应用领域
一维卷积常用于序列模型,自然语言处理领域
2D卷积
计算方式
1、图中的输入的数据维度为14×14,过滤器大小为5×5,二者做卷积,输出的数据维度为10×10(14−5+1=10)。
2、上述内容没有引入channel的概念,也可以说channel的数量为1。如果将二维卷积中输入的channel的数量变为3,即输入的数据维度变为(14×14×3)。由于卷积操作中过滤器的channel数量必须与输入数据的channel数量相同,过滤器大小也变为5×5×3。在卷积的过程中,过滤器与数据在channel方向分别卷积,之后将卷积后的数值相加,即执行10×10次3个数值相加的操作,最终输出的数据维度为10×10。
3、以上都是在过滤器数量为1的情况下所进行的讨论。如果将过滤器的数量增加至16,即16个大小为10×10×3的过滤器,最终输出的数据维度就变为10×10×16。可以理解为分别执行每个过滤器的卷积操作,最后将每个卷积的输出在第三个维度(channel 维度)上进行拼接。
应用领域
二维卷积常用于计算机视觉、图像处理领域
3D卷积
计算方式
1、假设输入数据的大小为a1×a2×a3,channel数为c,过滤器大小为f×f×f×c(一般不写channel的维度),过滤器数量为n。
2、基于上述情况,三维卷积最终的输出为(a1−f+1)×(a2−f+1)×(a3−f+1)×n。
应用领域
三维卷积常用于医学领域(CT影响),视频处理领域(检测动作及人物行为)