softmax:建立hard-attention到soft-attention的桥梁
查询向量 $\boldsymbol{q}$ 与每个 $\boldsymbol{x}_{i}$ 计算相关性 $\alpha_{i}$ 后,为什么要使用softmax进行归一化?其他归一化方法不行?hard-attention和soft-attention在数学上有什么联系?这里提供一种数学解释。
查询向量 $\boldsymbol{q}$ 与每个 $\boldsymbol{x}_{i}$ 计算相关性 $\alpha_{i}$ 后,为什么要使用softmax进行归一化?其他归一化方法不行?hard-attention和soft-attention在数学上有什么联系?这里提供一种数学解释。
本系列的第一篇函数光滑近似(1):max 函数,我们讨论了 max 函数的光滑近似,softmax 在字面上容易误解为其光滑近似,其实后者是 argmax 的光滑近似。本篇文章讨论这个问题。
函数的可微性在深度学习中很重要,因为在优化阶段,涉及到梯度的计算。但是深度学习中很多操作,如 max、argmax 等,无法求解梯度。为此,寻找这类操作的光滑近或次梯度似能够很好地解决梯度求解问题。当然这里并不是谈及深度学习中梯度计算的问题,而是探索常用函数如max、argmax、abs的光滑近似。预计会写一个系列,这里首先来谈谈max函数的光滑近似。
本文讲述变长序列中的padding和masking,并展开讨论收到padding影响的操作如何处理。最后谈及Tensorflow在处理padding和masking上的实践总结。
在CNN中,常常使用AveragePooling方法和基于AdditiveAttention的加权Pooling方法。事实上,在深度学习中常常使用加权平均来聚合向量序列,如把词向量序列聚合成句向量;还有如时间序列的平滑处理,例如股票投资中的均线,量化投资中的趋势因子代理指标。
本文不是纯粹NLP中词向量相关文章,只是从数学角度介绍,有哪些加权平均方案。