diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 9954e5d..45968d9 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,7 +2,7 @@ - + @@ -39,8 +39,8 @@ - - + + @@ -63,8 +63,8 @@ - - + + @@ -119,8 +119,8 @@ @@ -1206,8 +1206,8 @@ - - + + @@ -1228,8 +1228,8 @@ - - + + diff --git a/README.md b/README.md index b762229..fe628ed 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,7 @@ - [Attention模型怎么避免词袋模型的顺序问题的困境的](深度学习/Attention.md#L164) - [Attention机制,里面的q,k,v分别代表什么](深度学习/Attention.md#L164) - [为什么self-attention可以替代seq2seq](深度学习/Attention.md#L164) + - [维度与点积大小的关系是怎么样的,为什么使用维度的根号来放缩](深度学习/Attention.md#L164) # 自然语言处理 - GloVe - [GolVe的损失函数](自然语言处理/GloVe.md#L164) @@ -341,7 +342,6 @@ # 推荐 - DIN - DeepFM - - - YoutubeNet - Wide&Deep - MLR diff --git "a/\346\267\261\345\272\246\345\255\246\344\271\240/Attention.md" "b/\346\267\261\345\272\246\345\255\246\344\271\240/Attention.md" index 5d8c97d..2221d09 100644 --- "a/\346\267\261\345\272\246\345\255\246\344\271\240/Attention.md" +++ "b/\346\267\261\345\272\246\345\255\246\344\271\240/Attention.md" @@ -27,4 +27,11 @@ q和k对齐了解码端和编码端的信息相似度,相似度的值进行归 # 为什么self-attention可以替代seq2seq? - seq2seq最大的问题在于将Encoder端的所有信息压缩到一个固定长度的向量中,并将其作为Decoder端首个隐藏状态的输入,来预测Decoder端第一个单词(token)的隐藏状态。在输入序列比较长的时候,这样做显然会损失Encoder端的很多信息,而且这样一股脑的把该固定向量送入Decoder端,Decoder端不能够关注到其想要关注的信息 -- self-attention让源序列和目标序列首先“自关联”起来,这样的话,源序列和目标序列自身的embedding表示所蕴含的信息更加丰富,而且后续的FFN层也增强了模型的表达能力,并且Transformer并行计算的能力是远远超过seq2seq系列的模型 \ No newline at end of file +- self-attention让源序列和目标序列首先“自关联”起来,这样的话,源序列和目标序列自身的embedding表示所蕴含的信息更加丰富,而且后续的FFN层也增强了模型的表达能力,并且Transformer并行计算的能力是远远超过seq2seq系列的模型 + +# 维度与点积大小的关系是怎么样的,为什么使用维度的根号来放缩? +- 假设向量 q 和 k 的各个分量是互相独立的随机变量,均值是0,方差是1,那么点积 qk 的均值是0,方差是 dk +- 针对Q和K中的每一维i都有qi和ki相互独立且均值0方差1,不妨记![](https://tva1.sinaimg.cn/large/006y8mN6gy1g9envjoy8oj301h00gdfl.jpg),![](https://tva1.sinaimg.cn/large/006y8mN6gy1g9envuw3p0j301g00ga9t.jpg) + - E(XY) = E(X)E(Y)=0 + - ![](https://tva1.sinaimg.cn/large/006y8mN6gy1g9enzh4vzvj30gh017t8t.jpg) + - 所以k维度上的qk方差会为dk,均值为0,用维度的根号来放缩,使得标准化 \ No newline at end of file