• 动手学深度学习 | 卷积层里的多输入多输出通道 | 19


    多输入输出通道

    通道数 channel,这个确实是大家通常回去仔细设的超参数。

    我感觉沐神想说的就是下面的说法,一个多通道的卷积核大小可以是((k_h,k_w,input_{channel},output_{channel}))

    怎么理解呢?((k_h,k_w))就很好理解了,input_channel就和卷积核的通道数是一样的,沐神说的三维卷积核就是这个,就是输入的通道有几维,那么这个三维卷积核的通道就有几维。

    还有就是最后一个output_channel,这个和三维卷积核的个数有关,就是说要x个输出通道,那么就有x个三维卷积核。(输出通道的数量是人工设定的)


    图片描述

    多输出通道(多个三维卷积核):可以认为每个通道都在识别特定模式。

    多输入通道:将多通道输出进行加权相加,得到一个组合的模式识别。比如说A通道识别的猫头,B通道识别的胡须.... 最后希望在高层将这些识别的特征进行组合, 最终能够正常识别出一只猫

    (1*1)卷积融合不同通道的数据,可以把(1*1)卷积就认为是一个全连接(加权组合),比如上面的channel从3变成了2,chanell数减少了,但是信息进行了融合。

    因为使用了最小窗口,1×11×1 卷积失去了卷积层的特有能力——在高度和宽度维度上,识别相邻元素间相互作用的能力。 其实 1×11×1 卷积的唯一计算发生在通道上。

    当然沐神的说法是可以说为了得到(mh,mw),需要多少的计算量。

    卷积要存的参数,现对于MLP是少很多的,但是卷积的计算量也并不小,但是卷积的模型存储是不大的。

    上面大概估算了一下计算开销,ImageNet的样本就是100w,单扫一次是14min,那么反向运算再来14min,也就是一个epoch就要28min。那么就算训练100个epoch吧 ,大概也是需要30个小时。

    代码实现

    QA

    1. 全卷积能解决输入大小变化的情况,有什么方法能解决channel动态变化的情况吗?只能下采样?

    这个问题没太看懂。

    输入和输出不变的情况下,通常是不会去动这个通道数的。

    如果把输入和输出的高宽都减半的情况下,输出通道数要翻倍。意思就是把空间信息压缩了,然后把这些压缩的信息,更多在通道中存储下来。下采样后通道拓宽一倍。

    1. 关于多输出通道数量是如何控制呢?

    输出通道的数量是人为控制的,然后输出通道的数目和三维卷积核的数量是一样的,因为一个三维卷积核的卷积结果就是一条输出通道。

    也就是说,你设计几条输出通道,你就要设计多少个三维卷积核。

    1. 网络越深,padding 0 越多,这里是否会影响性能?

    计算性能会稍微有点影响,但是模型性能是不会影响的。

    1. 每个通道的卷积核都不一样吗?同一层不同通道的卷积核大小必须一样吗?

    每个通道的卷积核是不一样的,不同通道的卷积核大小是一致的。

    你可选择不同大小的卷积核,GoogLeNet就是这么用的,如果大小不一致的话,要写成两个卷积操作。不同通道保持核的大下一致,这是出于方便计算的角度考虑。

    1. 计算卷积时,bias的有无,对结果影响大吗?bias的作用怎么解释?

    其实bias的作用就是当数据偏离均值的时候,bias就是那个偏离均值的负数。

    但是实际上我们会做大量的均匀化的操作,所以bias实际来说没有那么大的影响,但是其实bias对计算性能其实并没什么影响,所以加上还是可以的。

    1. 核的参数怎么选?

    注意,卷积核的参数是学出来的,不是选出来的。

    1. 老师,如果是一个rgb图像,加上深度图,相当于输入是四个通道,做卷积是和rgb三通道同样做法吗?

    不是的,这个深度信息是另外一个维度,这里要用到conv3-d,我们讲的对图片图例都是conv-2d。

    1. 卷积能获取位置信息吗?感觉卷积就是把网络信息提取出来便于函数拟合。

    卷积是可以有位置信息的,卷积是对位置非常敏感的,(i,j)那个位置,就对应了原图(i,j)周围的那一块。

    我们后面会讲如何通过池化层,让卷积对位置信息不要那么敏感

    1. 关于编译器的选择?

    沐神说他是没有用PyCharm,使用的是jupyter和vs code

  • 相关阅读:
    《锋利的jQuery》补充笔记
    sass学习笔记
    《HTML5与CSS3基础教程》学习笔记 ——补充
    ajax常见问题(部分)
    html新特性(部分)
    less 笔记
    《JavaScript高级程序设计》补充笔记2
    《JavaScript高级程序设计》补充笔记1
    《CSS3秘笈》备忘录
    显示实现接口的好处c#比java好的地方
  • 原文地址:https://www.cnblogs.com/Rowry/p/15324534.html
Copyright © 2020-2023  润新知