词的表达
- 给定语料库D={D1,D2,⋯ ,DN}\mathbb{D}=\left\{\mathcal{D}_{1}, \mathcal{D}_{2}, \cdots, \mathcal{D}_{N}\right\}D={D1,D2,⋯,DN},其中包含N篇文档。
每篇文档Di\mathcal{D_i}Di包含单词序列(wordI1i,wordI2i,⋯ ,wordInii)\left(\operatorname{word}_{I_{1}^{i}}, \operatorname{word}_{I_{2}^{i}}, \cdots, \operatorname{word}_{I_{n_{i}}^{i}}\right)(wordI1i,wordI2i,⋯,wordInii),其中Iji∈{1,2,⋯ ,V}I_{j}^{i} \in\{1,2, \cdots, V\}Iji∈{1,2,⋯,V}表示单词的编号:
i表示第i篇文档
j表示文档中的第j个单词
nin_ini表示第i篇文档中包含nin_ini个单词
v=Ijiv=I^i_jv=Iji表示第i篇文档的第j个单词为wordv\operatorname{word}_vwordv
所有单词来自于词汇表V={word1, word 2,⋯ , word V}\mathbb{V}=\left\{\mathrm{word}_{1}, \text { word }_{2}, \cdots, \text { word }_{V}\right\}V={word1, word 2,⋯, word V},其中V表示词汇表的大小。
词的表达任务要解决的问题是:如何表达每个单词的wordv\operatorname{word}_vwordv - 最简单的表示方式是one-hot编码,对于词汇表的第v个单词wordv\operatorname{word}_vwordv将其表示为:wordv→(0,0,⋯ ,0,1,0,⋯ ,0)T\operatorname{word}_{v} \rightarrow(0,0, \cdots, 0,1,0, \cdots, 0)^{T}wordv→(0,0,⋯,0,1,0,⋯,0)T
即第v位取值为1,剩余位取值为0.
这种表示方法有两个主要缺点:
无法表达单词之间的关系,对于任意一对单词( word i, word j)\left(\text { word }_{i}, \text { word }_{j}\right)( word i, word j),其向量的距离为2\sqrt 22。
单词维度过高。对于中文词汇表,其大小可能达到数十万,因此one-hot向量的维度也在数十万维,这对于存储、计算都消耗过大。 Bow:Bag of Words
:词在文档中不考虑顺序,这称作词袋模型。
Word2Vec
CBOW模型
CBOW
模型(Continuous bag-of-word
):根据上下文来预测一个单词。
一个单词上下文
网络结构
- 在一个单词上下文的
CBOW
模型中,输入的是前一个单词,输出是后一个单词;输入为输出的上下文,由于只有一个单词作为输入,因此称作一个单词的上下文。 - 一个单词上下文的
CBOW
模型如下:
其中:
- N为隐层的大小,即隐向量h→∈RN\overrightarrow{\mathbf{h}} \in \mathbb{R}^{N}h∈RN。
- 网络输入x→=(x1,x2,⋯ ,xV)T∈RV\overrightarrow{\mathbf{x}}=\left(x_{1}, x_{2}, \cdots, x_{V}\right)^{T} \in \mathbb{R}^{V}x=(x1,x2,⋯,xV)T∈RV,它是输入单词(即上下文单词)的
one-hot
编码,其中只有一位为1,其他位都为0。 - 网络输出y→=(y1,y2,⋯ ,yV)T∈RV\overrightarrow{\mathbf{y}}=\left(y_{1}, y_{2}, \cdots, y_{V}\right)^{T} \in \mathbb{R}^{V}y=(y1,y2,⋯,yV)T∈RV,它是输出单词为词汇表个单词的概率。
- 相邻层之间为全连接:
- 输入层和隐层之间的权重矩阵为W,其尺寸V×NV \times NV×N。
- 隐层和输出层之间的权重矩阵为W′\mathbf{W}^{\prime}W′,其尺寸为N×VN \times VN×V。
- 假设没有激活函数,没有偏置项。给定输入x→∈RV\overrightarrow{\mathbf{x}} \in \mathbb{R}^{V}x∈RV,则其对应的隐向量h→∈RN\overrightarrow{\mathbf{h}} \in \mathbb{R}^{N}h∈RN为:h→=wTx→\overrightarrow{\mathbf{h}}=\mathbf{w}^{T} \overrightarrow{\mathbf{x}}h=wTx。令W=[w→1Tw→2T⋮w→VT]\mathbf{W}=\left[ \begin{array}{c}{\overrightarrow{\mathbf{w}}_{1}^{T}} \\ {\overrightarrow{\mathbf{w}}_{2}^{T}} \\ {\vdots} \\ {\overrightarrow{\mathbf{w}}_{V}^{T}}\end{array}\right]W=⎣⎢⎢⎢⎡w1Tw2T⋮wVT⎦⎥⎥⎥⎤
由于x→\overrightarrow{\mathbf{x}}x是个one-hot
编码,假设它为此表V\mathbb{V}V中第k个单词wordk\operatorname{word}_kwordk,即:
x1=0,x2=0,⋯ ,xk−1=0,xk=1,xk+1=0,⋯ ,xV=0x_{1}=0, x_{2}=0, \cdots, x_{k-1}=0, x_{k}=1, x_{k+1}=0, \cdots, x_{V}=0x1=0,x2=0,⋯,xk−1=0,xk=1,xk+1=0,⋯,xV=0
则有:h→=w→k\overrightarrow{\mathbf{h}}=\overrightarrow{\mathbf{w}}_{k}h=wk。
即:W的第k行wk→\overrightarrow{\mathbf{w}_k}wk就是词表V\mathbb{V}V中的第k个单词wordk\operatorname{word}_kwordk的表达,称作单词wordk\operatorname{word}_kwordk的输入向量。 - 给定隐向量h→\overrightarrow{\mathbf{h}}h,其对应的输出向量u→∈Rv\overrightarrow{\mathbf{u}} \in \mathbb{R}^{v}u∈Rv为:u→=W′Th→\overrightarrow{\mathbf{u}}=\mathbf{W^{\prime}}^{T} \overrightarrow{\mathbf{h}}u=W′Th
令:W′=[w→1′,w→2′,⋯ ,w→V′]\mathbf{W}^{\prime}=\left[\overrightarrow{\mathbf{w}}_{1}^{\prime}, \overrightarrow{\mathbf{w}}_{2}^{\prime}, \cdots, \overrightarrow{\mathbf{w}}_{V}^{\prime}\right]W′=[w1′,w2′,⋯,wV′]
则有:uj=w→j′⋅h→u_{j}=\overrightarrow{\mathbf{w}}_{ j}^{\prime} \cdot \overrightarrow{\mathbf{h}}uj=wj′⋅h,表示词表V\mathbb{V}V中,第j个单词wordj\operatorname{word}_jwordj的得分。
wj→′\overrightarrow{\mathbf{w}_j}^{\prime}wj′为矩阵W′\mathbf{W}^{\prime}W′的第j列,称作单词wordj\operatorname{word}_jwordj的输出向量。 - u→\overrightarrow{\mathbf{u}}u之后接入一层
softmax
层,则有:
yj=p( word j∣x→)=exp(uj)∑j′=1Vexp(uj′),j=1,2,⋯ ,Vy_{j}=p\left(\text { word }_{j} | \overrightarrow{\mathbf{x}}\right)=\frac{\exp \left(u_{j}\right)}{\sum_{j^{\prime}=1}^{V} \exp \left(u_{j^{\prime}}\right)}, \quad j=1,2, \cdots, Vyj=p( word j∣x)=∑j′=1Vexp(uj′)exp(uj),j=1,2,⋯,V
即yjy_jyj表示词汇表V\mathbb{V}V中第j个单词wordj\operatorname{word}_jwordj为真实输出单词的概率。 - 假设给定一个单词wordI\operatorname{word}_{I}wordI(它称作上下文),观测到它的下一个单词为wordO\operatorname{word}_{O}wordO。
假设wordO\operatorname{word}_{O}wordO对应的输出编号是j∗j^{*}j∗,则网络的优化目标是:
maxW,W′p(wordO∣ word I)=maxW,W′yj∗=maxW,W′logexp(w→j∗′⋅w→I)∑i=1Vexp(w→i′⋅w→I)=maxW,W′[w→j∗′⋅w→I−log∑i=1Vexp(w→i′⋅w→I)] \begin{array}{c}{\max _{\mathbf{W}, \mathbf{W}^{\prime}} p\left(\operatorname{word}_{O} | \text { word }_{I}\right)=\max _{\mathbf{W}, \mathbf{W}^{\prime}} y_{j^{*}}=\max _{\mathbf{W}, \mathbf{W}^{\prime}} \log \frac{\exp \left(\overrightarrow{\mathbf{w}}_{j^{*}}^{\prime} \cdot \overrightarrow{\mathbf{w}}_{I}\right)}{\sum_{i=1}^{V} \exp \left(\overrightarrow{\mathbf{w}}_{i}^{\prime} \cdot \overrightarrow{\mathbf{w}}_{I}\right)}} \\ {=\max _{\mathbf{W}, \mathbf{W}^{\prime}}\left[\overrightarrow{\mathbf{w}}_{j^{*}}^{\prime} \cdot \overrightarrow{\mathbf{w}}_{I}-\log \sum_{i=1}^{V} \exp \left(\overrightarrow{\mathbf{w}}_{i}^{\prime} \cdot \overrightarrow{\mathbf{w}}_{I}\right)\right]}\end{array} maxW,W′p(wordO∣ word I)=maxW,W′yj∗=maxW,W′log∑i=1Vexp(wi′⋅wI)exp(wj∗′⋅wI)=maxW,W′[wj∗′⋅wI−log∑i=1Vexp(wi′⋅wI)]
其中w→I\overrightarrow{\mathbf{w}}_IwI为输入单词wordI\operatorname{word}_IwordI的输入向量。 - 考虑到uj=w→j′⋅w→Iu_{j}=\overrightarrow{\mathbf{w}}_{j}^{\prime} \cdot \overrightarrow{\mathbf{w}}_{I}uj=wj′⋅wI,定义:
E=−logp(wordO∣wordI)=−[w→j∗′⋅w→I−log∑i=1Vexp(w→i′⋅w→I)]=−[uj∗−log∑i=1Vexp(ui)] \begin{array}{c}{E=-\log p\left(\operatorname{word}_{O} | \operatorname{word}_{I}\right)=-\left[\overrightarrow{\mathbf{w}}_{j^{*}}^{\prime} \cdot \overrightarrow{\mathbf{w}}_{I}-\log \sum_{i=1}^{V} \exp \left(\overrightarrow{\mathbf{w}}_{i}^{\prime} \cdot \overrightarrow{\mathbf{w}}_{I}\right)\right]} \\ {=-\left[u_{j^{*}}-\log \sum_{i=1}^{V} \exp \left(u_{i}\right)\right]}\end{array}E=−logp(wordO∣wordI)=−[wj∗′⋅wI−log∑i=1Vexp(wi′⋅wI)]=−[uj∗−log∑i=1Vexp(ui)]
则优化目标:minE\operatorname{min} EminE
参数更新
- 定义tj=I(j=j∗)t_j = \mathbb{I}(j=j^{*})tj=I(j=j∗),即第j个输出单元对应于真实的输出单词wordO\operatorname{word}_OwordO时,它为1,否则为0.
定义:ej=∂E∂uj=yj−tje_{j}=\frac{\partial E}{\partial u_{j}}=y_{j}-t_{j}ej=∂uj∂E=yj−tj
它刻画了每个输出单元的预测误差:
- 当j=j∗j=j^*j=j∗时:ej=yj−1e_j=y_j-1ej=yj−1,它刻画了输出概率(yjy_jyj)与真实概率1之间的差距
- 当j≠j∗j \neq j^{*}j̸=j∗时:ej=yje_j=y_jej=yj,它刻画了输出概率与真实概率之间的差距
- 根据:
uj=w→j′⋅h→→∂uj∂w→j′=h→ u_{j}=\overrightarrow{\mathbf{w}}_{j}^{\prime} \cdot \overrightarrow{\mathbf{h}} \quad \rightarrow \quad \frac{\partial u_{j}}{\partial \overrightarrow{\mathbf{w}}_{j}^{\prime}}=\overrightarrow{\mathbf{h}}uj=wj′⋅h→∂wj′∂uj=h
则有:
∂E∂w→j′=∂E∂uj×∂uj∂w→j′=ejh→\frac{\partial E}{\partial \overrightarrow{\mathbf{w}}_{j}^{\prime}}=\frac{\partial E}{\partial u_{j}} \times \frac{\partial u_{j}}{\partial \overrightarrow{\mathbf{w}}_{j}^{\prime}}=e_{j} \overrightarrow{\mathbf{h}} ∂wj′∂E=∂uj∂E×∂wj′∂uj=ejh
则wj→′\overrightarrow{\mathbf{w}_j}^{\prime}wj′更新规则为:
w→j′(new)=w→j′(old)−ηejh→\overrightarrow{\mathbf{w}}_{j}^{\prime(n e w)}=\overrightarrow{\mathbf{w}}_{j}^{\prime(o l d)}-\eta e_{j} \overrightarrow{\mathbf{h}}wj′(new)=wj′(old)−ηejh
其物理意义为:
- 当估计过量(ej>0→yj>tje_{j}>0 \rightarrow y_{j}>t_{j}ej>0→yj>tj)时,wj→′\overrightarrow{\mathbf{w}_j}^{\prime}wj′会减去一定比例的h→\overrightarrow{\mathbf{h}}h。
这发生在第j个输出单元不对应于真实的输出单元时。 - 当估计不足(ej<0→yj<tje_{j}<0 \rightarrow y_{j}<t_{j}ej<0→yj<tj)时,wj→′\overrightarrow{\mathbf{w}_j}^{\prime}wj′会加上一定比例的h→\overrightarrow{\mathbf{h}}h。
这发生在第j个输出单元刚好对应于真实的输出单词时。 - 当yj≃tjy_{j} \simeq t_{j}yj≃tj时,更新的幅度将非常微小。
- 定义:EH→=∂E∂h→=(∂u→∂h→)T∂E∂u→\overrightarrow{\mathbf{E H}}=\frac{\partial E}{\partial \overrightarrow{\mathbf{h}}}=\left(\frac{\partial \overrightarrow{\mathbf{u}}}{\partial \overrightarrow{\mathbf{h}}}\right)^{T} \frac{\partial E}{\partial \overrightarrow{\mathbf{u}}}EH=∂h∂E=(∂h∂u)T∂u∂E
根据:u→=W′Th→→(∂u→∂h→)T=W′\overrightarrow{\mathbf{u}}=\mathbf{W}^{\prime T} \overrightarrow{\mathbf{h}} \quad \rightarrow \quad\left(\frac{\partial \overrightarrow{\mathbf{u}}}{\partial \overrightarrow{\mathbf{h}}}\right)^{T}=\mathbf{W}^{\prime}u=W′Th→(∂h∂u)T=W′
则有:EH→=W′e→=∑j=1Vejw→j′\overrightarrow{\mathbf{E H}}=\mathbf{W}^{\prime} \overrightarrow{\mathbf{e}}=\sum_{j=1}^{V} e_{j} \overrightarrow{\mathbf{w}}_{j}^{\prime}EH=W′e=j=1∑Vejwj′
EH→\overrightarrow{\mathbf{EH}}EH的物理意义为:词汇表V\mathbb{V}V中所有单词的输出向量的加权和,其权重为eje_jej。 - 考虑到h→=WTx→\overrightarrow{\mathbf{h}}=\mathbf{W}^{T} \overrightarrow{\mathbf{x}}h=WTx,则有:∂E∂wk,i=∂E∂hi×∂hi∂wk,i=EHi×xk\frac{\partial E}{\partial w_{k, i}}=\frac{\partial E}{\partial h_{i}} \times \frac{\partial h_{i}}{\partial w_{k, i}}=E H_{i} \times x_{k}∂wk,i∂E=∂hi∂E×∂wk,i∂hi=EHi×xk
由于x→\overrightarrow{\mathbf{x}}x是one-hot
编码,所以它只有一个分量非零,因此∂E∂W\frac{\partial E}{\partial \mathbf{W}}∂W∂E只有一行非零,且该非零行就等于EH→\overrightarrow{\mathbf{EH}}EH。因此更新方程:
w→I(new)=w→I(old)−ηEH→\overrightarrow{\mathbf{w}}_{I}^{(n e w)}=\overrightarrow{\mathbf{w}}_{I}^{(o l d)}-\eta \overrightarrow{\mathbf{E} \mathbf{H}}wI(new)=wI(old)−ηEH
其中w→I\overrightarrow{\mathbf{w}}_{I}wI为非零分量对应的W中的行,而W的其他行在本次更新中都保持不变。 - 考虑更新行的第k列,则:
wI,k(new)=wI,k(old)−η∑j=1Vejwj,k′w_{I, k}^{(n e w)}=w_{I, k}^{(o l d)}-\eta \sum_{j=1}^{V} e_{j} w_{j, k}^{\prime}wI,k(new)=wI,k(old)−ηj=1∑Vejwj,k′
当yj≃tjy_{j} \simeq t_{j}yj≃tj时,更新的幅度非常微小。
当yjy_jyj与tjt_jtj差距越大,则更新的幅度越大。 - 当给定许多训练样本,每个样本由两个单词组成,上述更新不断进行,更新的效果不断积累。
- 根据单词的共现效果,输出向量与输入向量相互作用并达到平滑。
- 输出向量w→′\overrightarrow{\mathbf{w}}^{\prime}w′的更新依赖于输入向量w→I:w→j′(new)=w→j′(old)−ηejh→\overrightarrow{\mathbf{w}}_{I} : \quad \overrightarrow{\mathbf{w}}_{j}^{\prime(n e w)}=\overrightarrow{\mathbf{w}}_{j}^{\prime(o l d)}-\eta e_{j} \overrightarrow{\mathbf{h}}wI:wj′(new)=wj′(old)−ηejh。
这里隐向量h→\overrightarrow{\mathbf{h}}h等于输入向量w→I\overrightarrow{\mathbf{w}}_IwI。 - 输入向量w→I\overrightarrow{\mathbf{w}}_IwI的更新依赖于输出向量w→′:w→I(new)=w→I(old)−ηEH→\overrightarrow{\mathbf{w}}^{\prime} : \quad \overrightarrow{\mathbf{w}}_{I}^{(n e w)}=\overrightarrow{\mathbf{w}}_{I}^{(o l d)}-\eta \overrightarrow{\mathbf{E} \mathbf{H}}w′:wI(new)=wI(old)−ηEH。
这里EH→=∑j=1Vejw→j′\overrightarrow{\mathbf{E H}}=\sum_{j=1}^{V} e_{j} \overrightarrow{\mathbf{w}}_{j}^{\prime}EH=∑j=1Vejwj′为词汇表V\mathbb{V}V中所有单词的输出向量的加权和,其权重为eje_jej。
- 输出向量w→′\overrightarrow{\mathbf{w}}^{\prime}w′的更新依赖于输入向量w→I:w→j′(new)=w→j′(old)−ηejh→\overrightarrow{\mathbf{w}}_{I} : \quad \overrightarrow{\mathbf{w}}_{j}^{\prime(n e w)}=\overrightarrow{\mathbf{w}}_{j}^{\prime(o l d)}-\eta e_{j} \overrightarrow{\mathbf{h}}wI:wj′(new)=wj′(old)−ηejh。
- 平衡的速度与效果取决于单词的共现分布,以及学习率。
Skip-Gram
CBOW
模型是根据前几个单词(即上下文)来预测下一个单词,而Skip-Gram
模型是根据一个单词来预测前几个单词(即上下文)。- 在
CBOW
模型中:
- 同一个单词的表达(即输入向量w→I\overrightarrow{\mathbf{w}}_IwI)是相同的,因为参数W\mathbf{W}W是共享的。
- 同一个单词的输出向量w→O′\overrightarrow{\mathbf{w}}_{O}^{\prime}wO′是不同的,因为输入向量随着上下文不同而不同。
- 在
Skip-Gram
模型中:
- 同一个单词的表达(即输入向量w→O′\overrightarrow{\mathbf{w}}_{O}^{\prime}wO′)是相同的,因为参数W′\mathbf{W}^{\prime}W′是共享的
- 同一个单词的输入向量w→I\overrightarrow{\mathbf{w}}_{I}wI是不同的,因为输入向量随着上下文不同而不同。
网络结构
Skip-Gram
网络模型如下。其中:
- 网络输入x→=(x1,x2,⋯ ,xV)T∈RV\overrightarrow{\mathbf{x}}=\left(x_{1}, x_{2}, \cdots, x_{V}\right)^{T} \in \mathbb{R}^{V}x=(x1,x2,⋯,xV)T∈RV,它是输入单词的one-hot编码,其中只有一位为1,其他都为0。
- 网络输出y→1,y→2,⋯ ,y→C\overrightarrow{\mathbf{y}}_{1}, \overrightarrow{\mathbf{y}}_{2}, \cdots, \overrightarrow{\mathbf{y}}_{C}y1,y2,⋯,yC,其中y→c=(y1c,y2c,⋯ ,yVc)T∈RV\overrightarrow{\mathbf{y}}_{c}=\left(y_{1}^{c}, y_{2}^{c}, \cdots, y_{V}^{c}\right)^{T} \in \mathbb{R}^{V}yc=(y1c,y2c,⋯,yVc)T∈RV是第c个输出单词为词汇表各单词的概率。
- 对于网络中的每个输出yc→\overrightarrow{y_c}yc,其权重矩阵都相同,为W′W^{\prime}W′,这称作权重共享。
这里的权重共享隐含着:每个单词的输出向量是固定的、唯一的,与其他单词的输出无关。
Skip-Gram
网络模型中,设网络第c个输出的第j个分量为ujc=w→j′⋅h→u_{j}^{c}=\overrightarrow{\mathbf{w}}_{j}^{\prime} \cdot \overrightarrow{\mathbf{h}}ujc=wj′⋅h,则有:
yjc=p(wordjc∣x→)=exp(ujc)∑k=1Vexp(ukc);c=1,2,⋯ ,C;j=1,2,⋯ ,V y_{j}^{c}=p\left(\operatorname{word}_{j}^{c} | \overrightarrow{\mathbf{x}}\right)=\frac{\exp \left(u_{j}^{c}\right)}{\sum_{k=1}^{V} \exp \left(u_{k}^{c}\right)} ; \quad c=1,2, \cdots, C ; \quad j=1,2, \cdots, V yjc=p(wordjc∣x)=∑k=1Vexp(ukc)exp(ujc);c=1,2,⋯,C;j=1,2,⋯,V
yjcy_{j}^{c}yjc表示第c个输出中,词汇表V\mathbb{V}V中第j个单词wordj\operatorname{word}_jwordj为真实输出单词的概率。- 因为W′W^{\prime}W′在多个单元之间共享,所以对于网络每个输出,其得分分布u→c=(u1c,u2c,⋯ ,uVc)T\overrightarrow{\mathbf{u}}_{c}=\left(u_{1}^{c}, u_{2}^{c}, \cdots, u_{V}^{c}\right)^{T}uc=(u1c,u2c,⋯,uVc)T是相同的,但是这并不意味着网络的每个输出都是同一个单词。
- 并不是网络每个输出中,得分最高的为预测单词。因为每个输出中,概率分布都相同,即y→1=y→2=⋯=y→C\overrightarrow{\mathbf{y}}_{1}=\overrightarrow{\mathbf{y}}_{2}=\cdots=\overrightarrow{\mathbf{y}}_{C}y1=y2=⋯=yC。
Skip-Grame
网络的目标是:网络的多个输出之间的联合概率最大。
- 假设输入为单词wordI\operatorname{word}_IwordI,输出单词序列为wordO1,wordO2,⋯ ,\operatorname{word}_{O_{1}}, \operatorname{word}_{O_{2}}, \cdots,wordO1,wordO2,⋯, word oCo_{C}oC。定义损失函数为:E=−logp(wordO1,wordO3,⋯ ,wordOC∣ word I)=−log∏c=1Cexp(ujc∗e)∑k=1Vexp(ukc)
E=-\log p\left(\operatorname{word}_{O_{1}}, \operatorname{word}_{O_{3}}, \cdots, \operatorname{word}_{O_{C}} | \text { word }_{I}\right)=-\log \prod_{c=1}^{C} \frac{\exp \left(u_{j_{c}^{*}}^{e}\right)}{\sum_{k=1}^{V} \exp \left(u_{k}^{c}\right)}
E=−logp(wordO1,wordO3,⋯,wordOC∣ word I)=−logc=1∏C∑k=1Vexp(ukc)exp(ujc∗e)
其中j1∗,j2∗,⋯ ,jC∗j_{1}^{*}, j_{2}^{*}, \cdots, j_{C}^{*}j1∗,j2∗,⋯,jC∗为输出单词序列对应于词典V\mathbb{V}V中的下标序列。
由于网络每个输出得分分布都相同,令uk=ukc=w→k′⋅h→u_{k}=u_{k}^{c}=\overrightarrow{\mathbf{w}}_{k}^{\prime} \cdot \overrightarrow{\mathbf{h}}uk=ukc=wk′⋅h,则上式化简为
E=−∑c=1Cujcc+Clog∑k=1Vexp(uk) E=-\sum_{c=1}^{C} u_{j_{c}}^{c}+C \log \sum_{k=1}^{V} \exp \left(u_{k}\right) E=−c=1∑Cujcc+Clogk=1∑Vexp(uk)