为什么FFN有两层,先升维再降维?
Self-Attention模型的作用是提取语义级别的信息(不存在长距离依赖),FFN实际上就是简单的MLP。唯一需要注意的是这个MLP的修饰词——Point-wise,它的意思是它是对每个position(词)都分开、独立地处理.
Transformer是通过attention来全局地聚合序列的信息,然后通过MLP进行语义空间的转换
FFN是在各个时序上对特征进行非线性变换,提高网络表达能力。FFN有两层,是将attention层输出先扩维4倍再降维。为什么这么做?神经网络中线性连接可其中三者维度分别是m×1、m×n、n×1。
m>n:升维,将特征进行各种类型的特征组合,提高模型分辨能力
m<n:降维,去除区分度低的组合特征
所以TransFormer中的神经网络都是先做宽再做窄。