为什么在相同的迭代中,非常深的非 resnet 架构与较浅的架构相比表现更差?他们不应该训练得慢一点吗?
人工智能
深度学习
训练
反向传播
建筑学
2021-11-12 02:22:15
2个回答
从理论上讲,较深的架构可以编码比较浅的架构更多的信息,因为它们可以对输入执行更多的转换,从而在输出端产生更好的结果。训练速度较慢,因为反向传播非常昂贵,随着深度的增加,需要计算的参数和梯度的数量也会增加。
您需要考虑的另一个问题是激活函数的效果。像 sigmoid 和双曲正切这样的饱和函数会导致它们边缘的梯度非常小,其他激活函数只是平坦的,例如。ReLU 在负数上是平坦的,因此不会传播错误,因为梯度要么非常小(如在饱和函数中)要么为零。Batch Norm 极大地帮助了此操作,因为它在梯度不接近于零的更好范围内折叠值。
这些图表并不能反驳您的“梯度消失”理论。较深的网络最终可能会比较浅的网络做得更好,但可能需要更长的时间才能做到。
顺便说一句,ReLU 激活函数旨在缓解梯度消失问题。
其它你可能感兴趣的问题