我最近一直在学习自我关注变压器和"注意力就是你所需要的"这句话。纸。在描述论文中使用的神经网络架构时,论文的一个细分包括对剩余连接的解释:
"剩余层连接(当然)在编码器和解码器块中都使用"(来源:https://www.kaggle.com/code/residentmario/transformer-architecture-self-attention/notebook)
不幸的是,这对我来说并不明显。剩余连接的目的是什么?为什么这应该成为标准实践?
没有什么"明显的"关于跳跃式连接,这是作为一个社区,我们从艰难的过程中学到的。基本前提是在前馈层的神经网络参数化中,识别函数的学习异常困难。跳过连接使得这个特殊的函数(f(x)=x
)非常容易学习,这提高了网络学习的稳定性,以及在广泛应用程序中的整体性能,几乎没有额外的计算成本。你本质上给了一个网络一个简单的方法,在不需要的时候不使用复杂的计算部分,从而允许我们使用复杂的大架构,而不需要深入了解问题的动态(这超出了我们目前对数学的理解!)。
你可以看看像高速公路网络这样的老式论文,看看它是如何训练非常深度的模型的,否则这些模型会因为条件不佳而无法训练。