一: 针对的问题
解决在循环卷积网络RNN模型中存在的信息瓶颈问题。
信息瓶颈:
举的是机器翻译的例子。在RNN中,Decoder的第一个输出取决于Encoder中的上一个输出,然后Decoder的其余输出都取决于上一个Decoder输出(也就是说每一个输出只受上一个隐向量的影响)。那么就要求上一个输出能够需要包含输入句子的所有信息,但是实际上每一个隐向量都包含有丰富的信息,只靠一个输出隐向量不能充分的表示所有信息。
二:注意力机制
在Decoder端把Encoder所有隐向量提供给Decoder,让Decoder自己去选择需要关注哪一个隐向量。
不用S1直接生成输出,而是用来求注意力分数e
经过softmax后,形成一个注意力分布,求和为1。
然后用注意力分布乘对应的隐向量,记为o1。包含了Decoder端所需要的Encoder的所有隐向量的信息。
将o1和s1拼接得到输出。
三:抽象化定义
把s看作query向量,h看作value向量,求的o1实际上是对各个value向量的加权平均。
四:注意力机制的特点
1.解决了信息瓶颈问题。
2.通过在Decoder和Encoder中提供了一种直接联系的方式,缓解了RNN中梯度消失的问题。
3.提供了一定的可解释性。
参考课程:【【全748集】清华大佬终于把AI大模型(LLM)讲清楚了!通俗易懂,2024最新内部版!拿走不谢,学不会我退出IT圈!】https://www.bilibili.com/video/BV1rS411F735?p=22&vd_source=30a18e1c6984e8eeef0cf4461d1f03e9