Monthly Archive: 2 月 2018

Deep Learning Note: 5-13 语音识别

1. 语音识别   在语音识别问题中,输入是一段语音的音频,输出是语音的文本。就像人类的耳朵不能直接处理声波,而是通过检测声音中不同频率的强度来拾取语音,语音识别的一个常见的预处理步骤是生成原始音频数据的频谱,如图 1 所示,将频谱数据交给算法进行处理。图 1 中下图所示的频谱中,横轴是时间,纵轴是频谱,颜色表示声音在该频率上的能量。   语音识别系统层一度使用音素(Phoneme)这一人工设计的…
Read more

Deep Learning Note: 5-12 Attention 模型

  前面介绍的机器翻译算法都使用了编码器-译码器的结构,通过编码器得到输入文本的一个编码,再通过译码器生成对应的翻译文本。这种结构对于较短的句子可以取得很高的 Bleu 分数,而在比较长的句子(如长度有三四十个单词的句子)上的性能则会下降,如图 1 所示,因为网络很难记忆这种很长的句子。   Neural Machine Translation by Jointly Learning to Ali…
Read more

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