这篇文章是我的笔记分享,内容主要来自吴恩达老师的深度学习课程。^[AI中国官网-全球领先的线上AI教育、实践平台 (deeplearningai.net)]
word embedding有一个有趣的特性,就是它能够帮助实现类比推理。
举个栗子
在这里我们依旧使用上一节用到的这个例子表格:
$$
\begin{array}{c|cccccc}
& \begin{array}{c}
\text { Man } \
(5391)
\end{array} & \begin{array}{c}
\text { Woman } \
(9853)
\end{array} & \begin{array}{c}
\text { King } \
(4914)
\end{array} & \begin{array}{c}
\text { Queen } \
(7157)
\end{array} & \begin{array}{c}
\text { Apple } \
(456)
\end{array} & \begin{array}{c}
\text { Orange } \
(6257)
\end{array} \
\hline \text { Gender } & -1 & 1 & -0.95 & 0.97 & 0.00 & 0.01 \
\text { Royal } & 0.01 & 0.02 & 0.93 & 0.95 & -0.01 & 0.00 \
\text { Age } & 0.03 & 0.02 & 0.7 & 0.69 & 0.03 & -0.02 \
\text { Food } & 0.04 & 0.01 & 0.02 & 0.01 & 0.95 & 0.97\
\text { ... } & ... & ... & ... & ... & ... & ...
\end{array}
$$
-
现在我们提出一个问题:
man对应于woman。那么king应该对应于什么?
-
讲道理我们应该知道答案:
Queen
使用word embedding就可以实现自动的推理。
上一节我们说的是提取了300个特征,在这里我们依旧只用前4个特征。
- Man:
$$
e_{5391} = \left[\begin{array}{c}-1\0.01\0.03\0.09
\end{array}\right]
$$ - Woman:
$$
e_{9853} = \left[\begin{array}{c}1\0.02\0.02\0.01
\end{array}\right]
$$ - King:
$$
e_{4914}= \left[\begin{array}{c}-0.95\0.93\0.70\0.02
\end{array}\right]
$$ - Queen:
$$
e_{7157}= \left[\begin{array}{c}0.97\0.95\0.69\0.01
\end{array}\right]
$$
现在对其做减法我们可以发现一个有趣的事情:
$$
e{man}-e{woman} = e{5391}-e{9853} = \left[\begin{array}{c}-1\0.01\0.03\0.09
\end{array}\right] - \left[\begin{array}{c}1\0.02\0.02\0.01
\end{array}\right] \approx \left[\begin{array}{c} -2 \0\0\0
\end{array}\right]
$$
同样:
$$
e{king}-e{queen} = e{4914}-e{7157} = \left[\begin{array}{c}-0.95\0.93\0.70\0.02
\end{array}\right] -\left[\begin{array}{c}0.97\0.95\0.69\0.01
\end{array}\right] \approx \left[\begin{array}{c} -2 \0\0\0
\end{array}\right]
$$
此外:
$$
e{apple}-e{orange} = e{456}-e{6257} = \left[\begin{array}{c}0.00\-0.01\0.03\0.95
\end{array}\right] -\left[\begin{array}{c}0.01\0.00\-0.02\0.97
\end{array}\right] \approx \left[\begin{array}{c} 0 \0\0\0
\end{array}\right]
$$
从上面这个三个式子中我们可以得出man
和woman的主要区别在性(gender)这一项上。King和queen的区别也主要是在性别这一项上。在这4个特征上都没有什么区别。因为他们无所谓性别、权利、年龄,并且他们都是食物。
算法
“man对应于woman。那么king应该对应于什么?”
对于上面这个问题,我们如何将其应用到算法之中呢。
$$
e{man}-e{woman} \approx e{king}-e{?}
$$
回到我们下边这个图里。
还记得我们之前说的是抽取了300个特征。然后将这300个特征通过非线性映射映射到二维平面图上。
上一小部分做了两个计算,有man减woman,用king减queen。他们的计算结果都是第一维度上是2,其他维度都是0。可视化之后就是上图这个样子。证明了这个向量箭头表示的主要就是性别的差异。
我们要做的计算就是:
$$
e{man}-e{woman} + e{king}\approx e{?}
$$
即
$$
argmax \quad sim(e{man}-e{woman} + e{king}, e{?})
$$
补充!
我们是使用t-SNE算法加300维的向量映射到二维平面上。该步骤进行的是一个非线性映射。所以我们要知道。因为属性差异而造成的区别在图片上显示向量方向是一样的,比如man和woman 、king 和queen。但是如果在图片上。向量箭头的方向是一样的,并不能代表它们两个的差异属性是一样的。比如one和three,他们不是一男一女。