深度学习模型之所以在各种任务中取得了成功,足够的网络深度起到了很关键的作用,那么是不是模型越深,性能就越好呢?
为什么加深可以提升性能
Bengio和LeCun在2017年的文章[1]中有这么一句话,“We claim that most functions that can be represented compactly by deep architectures cannot be represented by a compact shallow architecture”,大体意思就是大多数函数如果用一个深层结构刚刚好解决问题,那么就不可能用一个更浅的同样紧凑的结构来解决。
要解决比较复杂的问题,要么增加深度,要么增加宽度,而增加宽度的代价往往远高于深度。
Ronen Eldan等人甚至设计了一个能被小的3层网络表示,而不能被任意的2层网络表示的函数。总之,一定的深度是必要的。