Deep Learning Note: 5-11 Bleu 分数

  机器翻译与之前介绍的图像识别等任务的一个不同之处是,正确答案不是唯一的。例如对于如下的法语句子: Le chat est sur le tapis. 人类可以给出多种不同的参考英文翻译,这些翻译的质量都很好,如: 参考 1:The cat is on the mat. 参考 2:There is a cat on the mat. 答案不唯一为衡量算法的准确度带来了挑战。对于此种情况,通常使用…
Read more

Deep Learning Note: 5-10 Beam 搜索

1. Beam 搜索   前面提到,对于机器翻译问题,我们希望得到具有最高概率的句子,Beam 搜索就是用于获取这样的句子的算法。   仍以前面的从法语翻译为英语的任务为例,使用如下的法语句子作为输入: Jane visite l’Afrique en septembre.   Beam 搜索的第一步是使用如图 1 所示的网络来计算 $P(y^{\lt 1 \gt}|x)$。在贪婪算法中,我们只是…
Read more

Deep Learning Note: 5-9 Sequence to Sequence 模型

1. 基本模型   Sequence to Sequence 是一种将一个序列映射到另一个序列的算法,常用于机器翻译和语音识别。   举例来说,假设想要将一句法语翻译成英语,如图 1 所示。   Sequence to Sequence 算法使用两个 RNN 来完成翻译任务。第一个 RNN 称为编码器(Encoder),其输入为源语言的文本,这里是法语的句子,其输出为一个向量,是对输入文本的一个编…
Read more

Deep Learning Note: 5-8 Word Embedding 的应用

1. 情感分类   情感分类(Sentiment Classification)指的是根据一段文本,预测作者是否喜爱文中所讨论的事物。对于情感分类任务,我们可能无法获得大量的训练数据,比如总共只有 1 万到 10 万个单词,但通过 Word Embedding,我们使用不多的数据就可以构建一个很好的情感分类器。   例如使用顾客对一家餐厅的评价来预测顾客对该餐厅的喜爱程度,输入的 $x$ 是顾客的…
Read more

Deep Learning Note: 5-7 学习 Word Embedding

1. 学习 Word Embedding   学习 Word Embedding 的一个方法是训练一个语言模型。例如训练一个网络来预测句子中的下一个单词,如图 1 所示。   图 1 中单词下的数字为单词在词汇表中的索引,假设词汇表中有 10000 个单词。对于第一个词 $I$,其独热编码为 $O_{4343}$,使用一个 Embedding 矩阵 $E$ 与其相乘,得到 $I$ 的一个新的编码 …
Read more

Deep Learning Note: 5-6 Word Embedding 介绍

1. 单词的表示方法   前面在介绍 RNN 时,使用词汇表对单词进行独热编码(One-Hot Encoding)来表示单词。例如使用一个有 10000 个词的词汇表 $V = [a, aaron, …, zulu, \lt UNK \gt]$ 对单词进行编码,则每个单词都会被编码为一个长度为 10000 的向量,其中位置与单词在词汇表中位置相同的项值为 1,其余位置的值为 0,图 1…
Read more

Deep Learning Note: 5-4 GRU 和 LSTM

1. RNN 中的梯度消失问题   前面介绍的 RNN 和普通的深度网络一样,都会存在梯度消失(Gradient Vanishing)的问题,网络末端的错误将难以传递到前端,从而使得前端不能根据后端的错误进行修正。   例如对于如图 1 所示的网络,假设网络在 $t = T_y$ 时刻输出的 $y^{<T_y>}$ 与实际标签不符,网络的预测出现错误,由于梯度消失的问题,这个错误将很难…
Read more

Deep Learning Note: 5-3 语言模型

1. 语言建模 1.1. 语言模型   考虑通过语音识别以下两个句子:   这两个句子的读音完全一样,如果一个人听到这样的句子,可以很自然地认为听到了第二句,而对于算法来说,需要通过语言模型来判断当前输入的语音到底对应了那一句话。语言模型是语音识别和机器翻译系统的核心组件,其作用是,给定一个句子,给出该句子是特定一句话的概率,即给出: \begin{equation} P(y^{}, y^{},&…
Read more

Deep Learning Note: 5-2 循环神经网络

1. 循环神经网络   图 1 展示了一个简单的循环神经网络的结构。   网络依次处理输入数据 $x$ 中的每个单词:首先处理第一个词 $x^{}$,将它输入到一层神经网络中,得到对 $x^{}$ 这个词的激活值 $a^{}$ 和预测值 $\hat{y}^{}$;然后处理第二个词 $x^{}$,将它和前一层的激活值 $a^{}$ 一起输入到一层神经网络中,得到对 $x^{}$ 这个词的激活值 $a…
Read more