机器学习之由wavenet涉及到的基础知识(补充下学习ing)

来源:互联网 发布:淘宝平均停留时长 编辑:程序博客网 时间:2024/06/07 09:13

1、全卷积神经网络 FCN
FCN 可以说是深度学习在图像语义分割任务上的开创性工作,出自 UC Berkeley 的 Trevor Darrell 组,发表于计算机视觉领域顶级会议 CVPR 2015,并荣获best paper honorable mention。

FCN 的思想很直观,即直接进行像素级别端到端(end-to-end)的语义分割,它可以基于主流的深度卷积神经网络模型(CNN)来实现。正所谓「全卷积神经网络」,在FCN中,传统的全连接层 fc6 和 fc7 均是由卷积层实现,而最后的 fc8 层则被替代为一个 21 通道(channel)的 1x1 卷积层,作为网络的最终输出。之所以有 21 个通道是因为 PASCAL VOC 的数据中包含 21 个类别(20个object类别和一个「background」类别)。

下图为 FCN 的网络结构,若原图为 H×W×3,在经过若干堆叠的卷积和池化层操作后可以得到原图对应的响应张量(activation tensor) ,其中, 为第i层的通道数。可以发现,由于池化层的下采样作用,使得响应张量的长和宽远小于原图的长和宽,这便给像素级别的直接训练带来问题。
这里写图片描述
2、Dilated Convolutions
FCN 的一个不足之处在于,由于池化层的存在,响应张量的大小(长和宽)越来越小,但是FCN的设计初衷则需要和输入大小一致的输出,因此 FCN 做了上采样。但是上采样并不能将丢失的信息全部无损地找回来。

对此,dilated convolution 是一种很好的解决方案——既然池化的下采样操作会带来信息损失,那么就把池化层去掉。但是池化层去掉随之带来的是网络各层的感受野(receptive field)变小,这样会降低整个模型的预测精度。Dilated convolution 的主要贡献就是,如何在去掉池化下采样操作的同时,而不降低网络的感受野

以 3×3 的卷积核为例,传统卷积核在做卷积操作时,是将卷积核与输入张量中「连续」的 3×3 的 patch 逐点相乘再求和(如下图a,红色圆点为卷积核对应的输入「像素」,绿色为其在原输入中的感知野)。而 dilated convolution 中的卷积核则是将输入张量的 3×3 patch 隔一定的像素进行卷积运算。

如下图 b 所示,在去掉一层池化层后,需要在去掉的池化层后将传统卷积层换做一个「dilation=2」的 dilated convolution 层,此时卷积核将输入张量每隔一个「像素」的位置作为输入 patch 进行卷积计算,可以发现这时对应到原输入的感知野已经扩大(dilate)为 ;同理,如果再去掉一个池化层,就要将其之后的卷积层换成「dilation=4」的 dilated convolution 层,如图 c 所示。这样一来,即使去掉池化层也能保证网络的感受野,从而确保图像语义分割的精度。
这里写图片描述
【待续!!!!】

0 0
原创粉丝点击