吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

大纲:

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

1、几个经典网络

lenet-5:

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

alexnet:

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

vgg-16:

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

2、残差网络

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

残差网络作用:

没有残差网络的一般神经网络:随着深度的加深, 目标函数会先下降后增加。
有残差网络的神经网络:随着深度的加深,目标函数一直下降,有助于解决梯度消失和梯度爆炸的问题。

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

残差网络,如果对w[l+2]和b[l+2]进行权重衰减,那么a[l+2]将等于a[l],这样的话增加了残差块,使得残差块的左边等于右边,
虽然增加了残差块,但整个的效率也不会逊色于更简单的神经网络,因为学习起来很简单。而残差块有什么作用呢,在训练的过
程中,残差块可能这些隐藏单元可能会学到一些有用的信息。

如果a[l]是128维向量,而a[l+2]是256维向量,那么在a[l]前面加一个权重Ws[256*128],不用对Ws进行其他操作,它是网络通过
学习得到的矩阵或参数,它是一个固定的矩阵padding值为0。

3、网络中的网络以及1*1卷积

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

这1*1*32滤波器中的32个数字可以这样理解:
一个神经元的输入是32个数字,也就是输入图片的切片32个数字,乘以32个权重,然后应用relu非线性函数。 
如果滤波器有多个,那么就对应多个神经元,意思就是一个滤波器代表一个神经元,输出值在不同的信道上。

压缩或者扩大图片的信道怎么处理呢:
用1*1*滤波器数量的fitter去处理图片。

4、谷歌inception网络

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

5、迁移学习

迁移学习就是下载别人训练好的权重,用这个作为预训练,然后转移到自己感兴趣的任务上。

计算机社区:ImageNet,MS CoCo,pascal

简单来说,就是把这些权重当作一个很好的初始化。

举例:
做一个猫识别器。

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

我们可以从网上下载别人的神经网络代码以及训练好的权重。

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

我们要做的是去掉该代码的softmax部分,然后添加自己的softmax,去做猫的识别。

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

也就是说,我们把前面人家训练好的权重和网络冻结了,我们需要训练的是后面我们修改的softmax部分的相关权重。

用这种迁移学习,即使自己的数据集比较小,也能有比较好的效果,不同的框架会有不同的冻结方式,具体问题具体分析。

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

以以上例子为例,这样做的效果也就是相当与输入的是softmax前面的部分,把前面部分作为训练集。并且这样做不用在训练的过程中每次都计算**值。总的来说,就是把softmax前面的一大块当作训练集来处理了,因为我们不用更新前面别人训练好的权重。

小训练集用以上方法比较实用。

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

针对大数据集,我们可以把冻结的层数减少,如上图所示,我们冻结前面四层,后面的不冻结。也就是说,后面的两个层和softmax层我们需要自己训练。又或者,我们也可以冻结前面四个神经网络层,后面两个神经网络层自己去铺。

有一个规律,如果数据集越大,需要冻结的层数约少。

如果我们有很大是数据集:

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

我们需要做的是把别人训练好的权重作为预训练好的权重,然后继续训练整个网络,直到效果达到满意标准。需要注意的是,我们还是要改变softmax层以满足自己的任务。

我们可能会经常用到迁移学习,因为我们是数据集往往不是很庞大的。

6、数据扩充

在计算机视觉上需要数据量比较大,所以需要数据扩充。

法一,垂直镜像对称:

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

法二,随机裁剪:

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

法三,色彩转换:在RGB三个信道上改变灰度,使得色彩变化(因为卷积输入的就是灰度值)

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究

总过程:

吴恩达深度学习之卷积神经网络(二)深度卷积网络:示例探究