1. 深度学习中网络越深越好么?
理论上说是这样的,因为网络越深,参数也越多,拟合能力也越强(但实际情况是,网络很深的时候,不容易训练,使得表现能力可能并不好)。
2. 那么,不同什么深度的网络,在参数差不多大小的情况下,深的网络会比浅的网络表现能力好么?即深度较深的网络比较“瘦”,深度较浅的网络比较“胖”。
一般来说,相同参数下深度较深的网络表现能力也比深度较浅的网络要好。
3. 为什么深度较深的网络的表现能力要比深度较浅的网络要好?
1) 深层网络更加结构化,很多子结构都可以共用
每一层的神经元其实就是一个分类器,第一层的神经元是最基础的分类器,第二层神经元是比较复杂的分类器,它将第一层的output当做它的input,将第一层当做模块,第三层同理,将第二层当做一个模块。模块化的好处是让模型变得简单,有些模块可以共用,那么就可以减少参数。
2) 理论上来说,只包含一层隐含层的神经网络也可以拟合出任何函数,只要参数够多。
但是,深层的网络,我们可以使用更少的参数,更简单的方法,就可以实现相同的功能。与数字电路里的门电路类似,虽然二级门电路可以表示任何逻辑状态,但是,使用多级门电路可以是实现方法更简单,使用逻辑元器件更少。
4. 相关的一些资料
- • Do Deep Nets Really Need To Be Deep? (by Rich Caruana)
• http://research.microsoft.com/apps/video/default.aspx?id=
232373&r=1
• Deep Learning: Theoretical Motivations (Yoshua Bengio)
• http://videolectures.net/deeplearning2015_bengio_the
oretical_motivations/
• Connections between physics and deep learning
• https://www.youtube.com/watch?v=5MdSE-N0bxs
• Why Deep Learning Works: Perspectives from Theoretical
Chemistry
• https://www.youtube.com/watch?v=kIbKHIPbxiU
Big data与deep learning的联系与区别
如果我们有足够多的数据,包含了世界上所以的数据,那么其实就不需要深度学习/机器学习算法了,我们只需要查表就可以了,即给定件事物,我们只需要从数据库中查找,就可以找出相关资料。但是实际上我们并没有足够多的数据,因此,我们需要深度学习/机器学习,需要从已知的、仅有的数据中学习一些共性,那么新的事物来了之后,我们就可以使用算法推测出该事物的一些情况。
参考:
【机器学习】李宏毅机器学习2017(台湾大学)(国语)(12)
http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17.html