这个公式使用LaTeX语法表示为: ( i t f t o t c t ) = ( σ σ σ tanh ) T D + m + n , n ( E y t − 1 h t − 1 x t ) \begin{pmatrix}i_t \\f_t \\o_t \\c_t\end{pmatrix} =\begin{pmatrix}\sigma \\\sigma \\\sigma \\\tanh\end{pmatrix}T_{D+m+n,n}\begin{pmatrix}Ey_{t-1} \\h_{t-1} \\{x}_t\end{pmatrix} itftotct = σσσtanh TD+m+n,n Eyt−1ht−1xt
( i t f t o t c t ) = ( σ σ σ tanh ) T D + m + n , n ( E y t − 1 h t − 1 z ^ t ) \begin{pmatrix}i_t \\f_t \\o_t \\c_t\end{pmatrix} =\begin{pmatrix}\sigma \\\sigma \\\sigma \\\tanh\end{pmatrix}T_{D+m+n,n}\begin{pmatrix}Ey_{t-1} \\h_{t-1} \\\hat{z}_t\end{pmatrix} itftotct = σσσtanh TD+m+n,n Eyt−1ht−1z^t
这几个公式使用LaTeX语法表示为:
对于公式(4):
e t i = f a t t ( x i , h t − 1 ) ( 4 ) e_{ti} = f_{att}(x_i, h_{t-1}) \quad (4) eti=fatt(xi,ht−1)(4)
对于公式(5):
α t i = e x p ( e t i ) ∑ k = 1 L e x p ( e t k ) ( 5 ) \alpha_{ti} = \frac{exp(e_{ti})}{\sum_{k=1}^{L} exp(e_{tk})} \quad (5) αti=∑k=1Lexp(etk)exp(eti)(5)
对于公式(6):
z ^ t = ϕ ( { a i } , { α i } ) ( 6 ) \hat{z}_t = \phi(\{a_i\}, \{\alpha_i\}) \quad (6) z^t=ϕ({ai},{αi})(6)
其中, e t i e_{ti} eti 是注意力得分, α t i \alpha_{ti} αti 是加权因子, z ^ t \hat{z}_t z^t 是上下文向量。
这个公式使用LaTeX语法表示为: [ i t f t o t g t ] = ( σ σ σ tanh ) T D + m + n , n ( E y t − 1 h t − 1 z ^ t ) \begin{bmatrix} i_t \\ f_t \\ o_t \\ g_t \end{bmatrix} = \begin{pmatrix} \sigma \\ \sigma \\ \sigma \\ \tanh \end{pmatrix} T_{D+m+n,n} \begin{pmatrix} Ey_{t-1} \\ h_{t-1} \\ \hat{z}_t \end{pmatrix} itftotgt = σσσtanh TD+m+n,n Eyt−1ht−1z^t
以此类推来选择合适的区域特征参与生成下一个词的过程
公式 p ( s t , i = 1 ∣ s j < t , a ) = α t , i p(st,i = 1 | sj<t, a) = \alpha_{t,i} p(st,i=1∣sj<t,a)=αt,i 描述了在生成第t个词时,模型在已知之前生成的词序列sj<t和图像特征a的情况下,选定第i个位置作为当前关注位置的概率。其中st,i是一个离散随机变量,表示在时间步t时模型是否关注图像的第i个位置,取值为1表示关注,0表示不关注。
这里的αt,i是多项式分布的参数,它决定了位置i被选中的概率。换句话说,αt,i代表了在生成当前词时,图像第i个位置对于生成该词的重要性程度。
举例说明:
假设我们有一个图片描述生成系统,图片被分成四个区域(位置i=1,2,3,4),每个区域都有一个特征向量ai。在生成第三个词的时候,模型需要关注图片的某个区域来获取相关信息。此时,模型根据已生成的前两个词以及图片特征计算出了每个区域的注意力权重:αt,1=0.1, αt,2=0.3, αt,3=0.4, αt,4=0.2。这意味着在生成第三个词时,模型有40%的概率关注第三个区域(位置i=3),以此类推来选择合适的区域特征参与生成下一个词的过程。
变分下界
“变分下界”:在变分推断中,我们试图找到一个近似概率分布q(x)来逼近真实的概率分布p(x)。变分下界是一种用于评估近似概率分布质量的指标,通常用来求解最优的近似分布。它的计算涉及到对概率分布的积分或期望的估计
变分下界(Variational Lower Bound)是在统计推断尤其是变分推断(Variational Inference)框架下的一个重要概念。当处理复杂的概率模型时,直接计算模型的边际似然(marginal likelihood)或证据(evidence)通常是难以处理甚至不可行的,尤其是在潜在变量模型(latent variable model)中。这时,变分推断采用了一种间接的方法,即寻找一个较简单且易于处理的概率分布 q ( z ) q(z) q(z),使其尽可能接近真实的后验分布 p ( z ∣ x ) p(z|x) p(z∣x),其中 z z z是隐变量, x x x是可观测数据。
变分下界的目标函数通常指的是证据下界(Evidence Lower BOund, ELBO),它是模型证据的下界,记作 L ( q ) L(q) L(q)或 L ( q ) \mathcal{L}(q) L(q)。其表达形式如下:
L ( q ) = E q ( z ) [ log p ( x , z ) ] − K L [ q ( z ) ∣ ∣ p ( z ) ] \mathcal{L}(q) = \mathbb{E}_{q(z)}[\log p(x,z)] - \mathbb{KL}[q(z)||p(z)] L(q)=Eq(z)[logp(x,z)]−KL[q(z)∣∣p(z)]
在这个表达式中:
- E q ( z ) [ log p ( x , z ) ] \mathbb{E}_{q(z)}[\log p(x,z)] Eq(z)[logp(x,z)]是在 q ( z ) q(z) q(z)下联合分布 p ( x , z ) p(x,z) p(x,z)的期望,它反映了模型解释数据的能力。
- K L [ q ( z ) ∣ ∣ p ( z ) ] \mathbb{KL}[q(z)||p(z)] KL[q(z)∣∣p(z)]是 q ( z ) q(z) q(z)和真实先验 p ( z ) p(z) p(z)之间的Kullback-Leibler散度(KL散度),衡量的是 q ( z ) q(z) q(z)对 p ( z ) p(z) p(z)的偏离程度。
由于KL散度总是非负的,我们可以得出 L ( q ) ≤ log p ( x ) \mathcal{L}(q) \leq \log p(x) L(q)≤logp(x),其中 p ( x ) p(x) p(x)是我们想要最大化但难以直接计算的边际似然。
通过优化变分下界 L ( q ) \mathcal{L}(q) L(q)来最大化它,我们可以得到最优的近似分布 q ( z ) q(z) q(z),这个过程实际上是对原始问题的一种逼近解决方案。例如,在变分自动编码器(VAE)中,我们通过优化网络参数使得重构损失和KL散度之和最小化,这个和即为ELBO,最终达到学习数据分布并生成新样本的目的。
参数含义
这里的 y y y 是指句子中的一系列词语,也就是输出序列。在这个上下文中,我们希望我们的模型能够预测给定输入图像特征 a a a 下面最有可能出现的词语序列。
k是词表大小,C是生成语句的长度
y1是k维的矢量vector,对应每个词出现的概率
Z t Z_t Zt t时刻,每个时刻产生一个单词,所有attention根据不同关注的权重,综合出一个image feature的vector
以前说过哪些话,生成过哪些词,取决于 h t h_t ht和 C t C_t Ct
LSTM 主要是更新 h t h_t ht,隐藏态,利用
上一时刻的输出 y t − 1 y_{t-1} yt−1,
经过attention产生的?feature vector, Z t Z_t Zt
h t − 1 h_{t-1} ht−1
a multilayer perceptron做attention处理,
14*14location,每个location 512维的feature vector,
flatten成一维的,再和 h t − 1 h_{t-1} ht−1 concat在一起作为输入,经过a multilayer perceptron,不同attention的location_i, 不同location有不同的权重αi,不同的权重αi对不同location的feature vector做加权求和
根据位置做加权求和,最终得到 1*512的 context vector—— Z t Z_t Zt
a multilayer perceptron更新 Z t Z_t Zt
1、作为LSTM输入,更新ht状态
2、提供给翻译网络,产生t时刻要输出的单词
attetion multilayer perceptron权重不断调整,产生更好的权重αi,输出更准确的句子输出
最后的翻译网络也是multilayer perceptron
Z t Z_t Zt, h t h_t ht, y t − 1 y_t-1 yt−1,feature vector a,输出最大可能的矢量 y t y_t yt
tanh变换,normalize到1到-1之间
放射变换T 里的系数 被调整好了,某一时刻那个位置的信息比较重要,让他溜进来,哪些状态需要遗忘
input产生不同位置的权重,点乘tan变幻出来的vector
不同的门控信号使用不同的激活函数
t这个时刻i这个位置 重要程度,权重大小
softmax归一化
E是词嵌入矩阵,它的每一列代表一个单词的嵌入向量。这里的“
∝”表示“正比于”,即真实的概率分布是这个表达式的归一化版本。
加权
求和,总体期望值
采一个attention的location位点,
得到关注区域的分布
14×14×512特征图,512是什么,是特征向量的维度
是的,14×14×512特征图中的512指的是特征向量的维度。在深度学习领域,特别是在卷积神经网络(CNN)中,特征图通常是由卷积层输出的,其中**每个位置(14×14)都有一个512维的特征向量(image feature vector)**与之对应。这些特征向量包含了经过卷积和非线性变换后提取出的抽象特征信息,可用于进一步的处理,例如分类、检测、定位等任务。在视觉任务中,特征图的每一个点可以视为对图像局部区域的一种高层次的表示。
要精确地计算一系列卷积层和最大池化层之后图像的尺寸变化,我们需要知道每次卷积层是否使用了填充(padding)以及步长(stride),同时要知道最大池化层的窗口大小和步长。假设没有提供具体的填充、步长以及池化窗口大小,我将以常见的配置为例来进行估算:
卷积层:对于一个3x3卷积核且没有明确说明填充和步长的情况下,如果我们假定使用的是“valid”卷积(即没有填充),并且步长(stride)为1,则每次卷积后图像尺寸会减小2(因为不包括边界像素时,每边都会损失1个像素)。如果有填充(比如“same”填充使得输出尺寸与输入尺寸相同),则不会改变高度和宽度。
最大池化层:通常,最大池化层的窗口大小是2x2,并且步长也为2。这样的话,每次池化操作后,图像的高和宽都会减半。
假设每次卷积层都没有填充(padding),步长均为1,而最大池化层的窗口大小为2×2,步长也为2。在这种情况下,我们可以进行如下计算:
卷积层不会改变图像尺寸(如果步长为1且无填充)。
最大池化层会使图像尺寸减半
”卷积层均无填充且步长为1,则不会改变图像尺寸“和“假定使用的是“valid”卷积(即没有填充),并且步长(stride)为1,则每次卷积后图像尺寸会减小2(因为不包括边界像素时,每边都会损失1个像素)。如果有填充(比如“same”填充使得输出尺寸与输入尺寸相同),则不会改变高度和宽度。”两种说法哪个是对的
很抱歉造成了混淆,两种说法都是正确的,但它们描述的是不同的情景:
“卷积层均无填充且步长为1,则不会改变图像尺寸。”这句话是针对连续卷积层之间的情况,意思是当你连续应用多个步长为1且没有填充的卷积层时,只要输入图像的尺寸足够大,确保卷积核可以在不超出图像边界的情况下完成卷积操作,那么卷积层之间的传递不会导致图像尺寸的缩小。这是因为每个卷积层虽然会在边界处丢失一些像素,但如果下一个卷积层的输入恰好可以覆盖这些边界,则总体尺寸可以保持不变。
“假定使用的是“valid”卷积(即没有填充),并且步长为1,则每次卷积后图像尺寸会减小2(因为不包括边界像素时,每边都会损失1个像素)。如果有填充(比如“same”填充使得输出尺寸与输入尺寸相同),则不会改变高度和宽度。”这句话描述的是单个卷积层执行后图像尺寸的变化。在没有填充的情况下,一个3x3卷积核作用于一个尺寸较大的图像时,确实会让图像尺寸每边减小1个像素,总共减小2个像素。
综合来看,关键在于理解不同的上下文:
当讨论单个卷积层对输入图像尺寸的影响时,无填充(valid)的卷积会缩小图像尺寸。
当讨论连续卷积层时,如果确保所有卷积层都不超出边界(例如通过适当调整输入尺寸或在网络结构设计时考虑好各层之间的配合),即使步长为1且无填充,也能保持图像尺寸不变。如果输入尺寸较小,连续无填充卷积仍会造成尺寸缩小。而在实践中,为了维持尺寸,通常会采取“same”填充策略。
embedding matrix(嵌入矩阵)词向量矩阵
人话:嵌入矩阵(Embedding Matrix)在自然语言处理和其他机器学习任务中起到将离散的符号(如词语)转化为连续向量的作用。
额:embedding matrix(嵌入矩阵)是指在自然语言处理或其他机器学习任务中用来将离散的高维输入(如词汇表中的词语索引)映射到低维连续向量空间的矩阵
知乎有很多详细讲解