Why Deep

Why hidden Layer?

神经网络所需要的工作笼统的说就是拟合一条曲线,简单的情况如下。
image.png
通过采样几个点然后连起来可以得到一个初步拟合的结果,当采样的点足够多,所连的点足够细,那么拟合相像的程度就越高。
image.png
上图可以通过一系列的初步的阶梯函数和常数项的组合来合成:
image.png
常数项将所有函数向上偏移到需要拟合的函数的最低点
image.png
加上第1个阶梯函数得到左边的绿色线段
image.png
接着加上第2,3……个函数得到中间,右边的绿色线段。
image.png

以上例子说明任何piecewise linear函数可以通过常数项加上一系列阶梯函数(neuron)组成,而piecewise linear函数可以逼近任何函数。

那怎么来表示这些阶梯函数呢?可以使用Sigmoid Function来近似取代。
image.png
选取的Sigmoid Function通过设置不同的权重可以近似取代任何阶梯函数,最后加上常数项,就可以完成拟合的任务。
image.png

另一个可以平替Sigmoid Function的函数是ReLu
image.png

Why Deep?

LHY老师在之前的课程中提到过,可以使用一个Hidden Layer层来拟合任何函数。那么一个Fat Network就足够为什么还要Deep Network?
image.png
这时需要进行对比FatDeep的表现,一个直观的对比是参数量(parameter)对比,因为参数量对应于使用的neuron的多少。不同模式下使用相同数量的neuron,效果更好的说明有更大的优势。
image.png
以上图(某篇论文的结果)为例,使用1层3772个neuron和5层每层2k个的参数量一致。但效果并不如Deep的结果。

最后得出结论结论,只使用一层hidden layer可以表示任何函数,但是使用deep的结构效果会更好。

Why Deep Better?

Deep advantages

image.png
考虑上图,一个输入x经过两个neuron权重表达分别是x-0.5-x+0.5,然后经过ReLu(x)=max(0, x),每个neuron贡献为1,得到输出\(a_1\)。画出\(x\),\(a_1\)的函数图像即为上图。此时是一个neuron的情况。
image.png
当使用Deep的结构,是将多个单层结构叠在一起。此时考虑多个的情况,对一层neuron的情况迁移到第二层,即对第一层输出\(a_1\)做和第一层输入\(x\)的运算。第二层输入\(a_1\)和输出\(a_2\)的函数关系和第一层一致。
但我们关心的不是单层neuron的输入输出情况,而是多层。此时\(x\)从0到0.5,就已经走了\(a_1\)从0到1的过程。\(x\)从0到1,\(a_1\)已经经过两个周期。
image.png
继续叠加层数,叠到K层可以得到\(2^K\)个pieces。
image.png
但使用Fat-Shallow结构获得同样的pieces,需要\(2^K\)neuron

Conclusion

  • Deep networks 在复杂切有规律的任务(Image, Speech, etc.)会优于Shallow networks。
  • Deep相较于Shallow是指数级的优化。
posted @ 2025-04-19 20:38  XuandYu000  阅读(58)  评论(0)    收藏  举报