目录
摘要
上周以宝可梦分类器为例,发现了“理想”和“现实”之间的差距,从而提出了一个困境:“loss很低”、“现实接近理想”二者是否能同时满足。本周接着困境的出现,提出了解决方案——深度学习,并且也验证了深度比宽度的优势。接着上周学习了CNN的基本流程和专业术语,我们发现CNN对于缩放、旋转、平移都没有不变的特性,所以提出了“spatial transformer”来增强平移不变性。
Abstract
Last week's example of a Pokémon classifier revealed the gap between "ideal" and "reality", thus posing a dilemma: "the loss is low", The dilemma is whether "low loss" and "reality is close to ideal" can be satisfied at the same time. This week, the solution to this dilemma was deep learning, and the advantage of depth over width was verified. After learning the basic process and terminology of CNN last week, we found that CNN is not invariant to scaling, rotating, and translating, so we proposed "spatial transformer" to enhance the invariance of translation.
一、鱼与熊掌兼得
1、困境的提出
上图出现了一个无法平衡的窘境,其中代表现实的损失,代表理想的损失。左图的模型参数较多,模型选择余地大,可以找到loss小的参数,但是理想与现实的差距太大;右图的模型理想与现实差距较小,但是模型参数少可选余地小,可能会错过loss较少的参数。
假设一种可以兼顾二者优点的方式,如下:
要解决这种困境,必须要做到:不仅可以使得loss很小,而且候选参数较少、模型简单导致理想与现实接近。简单来说,就是模型参数少且精(仅有的参数就能使得loss最小)。
拓展话题:理想和现实差距的取决因素?
1、模型太大,差距就会过大
2、训练集越大,差距就会越小
2、为什么需要深度学习?
deep network和fat network比较谁更优?
当network越深时,参数量越多,模型越复杂,理想和现实的差距就会越大;但是如果训练集够大,理想与现实的差距也会越小。
总的来说,deep要比fat效果更好,并且deep没有那么容易overfitting。
根据实践经验所得,当模型数据量一般大的时候,深度较深的模型远比广度较广的模型效果更好,错误率更低。
从上边-的图中可以总结规律:当有K层神经网络时,那么图中的线段个数就为。
如果要出现上图锯齿状的function,deep network仅需要2*K个neural,而fat network就需要个neural。所以deep network的参数量明显较少,模型比较简单,所以模型不容易overfitting。
总结:深度学习可以解决“鱼与熊掌兼得”的问题。当参数量较少的情况下,deep可以使得loss很小;并且在训练集较小的情况下,理想和现实可以很接近。
二、CNN空间变换
当对图片进行缩小、放大或旋转,如下:
CNN的学习能力比较弱,认为“缩放”和“旋转”后的图片是不同的;pooling可能会认为“平移”后的图片一致,但还是有一定误差。spatial transformer的作用就是增加平移不变性。translation invariance。
spatial transformer是一种在卷积神经网络中引入空间变换的机制,它允许网络自动学习如何对输入图像进行几何变换。
1、如何对特征图做变换?
可以通过改变的值来对特征图做变化。
expansion扩大
compression压缩+translation平移
rotation旋转
2、总结特征变换的计算
case1 整数
case2 小数
小数点的情况出现时,不能直接将小数四舍五入,这样的话最终的output差距较大;也不能使用梯度下降法来解决。所以提出了下述插值法
interpolation
不仅仅考虑最近的一个点的影响,而是考虑临近四个点的同时影响。
总结
本周对训练数据的神经网络提出一个无法平衡的问题,详细对困境的“进退”做出描述,最终找到一个可以平衡二者的方法就是深度学习(多叠几层神经元),这样既可以达到最小loss,又可以减少参数量,使得模型变简单,不会轻易出现过拟合现象。还有一般的transformer后的图像CNN都不能识别出来,所以采用spatial transformer来保持平移不变性。接下来,我将继续围绕CNN的几个架构来进行学习,比如自注意力机制等。