本文主要是介绍吴恩达《深度学习》第五课第三周,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
序列模型与注意力机制
3.1基础模型
1.seq2seq模型
在法译英句子中,输入的法语有5个元素,输出有6个元素。
首先我们需要构建一个编码网络,这是一个典型的RNN的结构(可以是GRU或LSTM)
每次只向网络输入一个法语单词,在接收完序列后,RNN会输出一个向量来代表输入序列X<1>到X<5>。
然后构建解码网络,以编码网络的输出作为输入,每次输出一个翻译后的单词同时作为下一个节点的输入,一直到输出句子结尾标志符为止。
2.图像描述模型
输入为一张猫咪坐在椅子上的图片,模型要自动的给图片加上标题:a cat sitting on a chair.
该模型的训练过程为:首先构造编码网络,将图片输入到CNN中,让其学习图片的编码或者一系列特征,如下图所示将猫咪图片输入到AlexNet网络中,我们去掉softmax层,剩下的最后一层的4096维向量就表示猫咪图片。
然后将4096维向量输入到RNN中生成图像的描述,每次生成一个单词且作为下一个节点的输入,这种模型特别流行(特别是在描述不是很长的情况下)
3.两种模型的基本流程是一样的,但是运作方式有些不同,这主要体现在使用语言模型合成新的文本并生成序列的方式上
3.2选择最可能的句子
1.机器翻译=条件语言模型
机器翻译可以等同于建立一个条件语言模型,下图为一个语言模型
这个模型可以估计出一个句子的可能性P(y<1>, … , y<T_y>).
对比机器翻译模型我们可以发现,机器翻译模型的解码网络与语言模型是一样的
不同之处是语言模型总是从零向量开始,而机器学习的解码网络是从编码网络的输出开始,因此我们可以称机器翻译模型为条件语言模型,其中的条件就是编码网络部分,机器翻译估计一个句子的可能性是条件概率P(y<1>, … , y<T_y> | x<1>, … , x<T_x>).
2.找出最可能的翻译
在翻译
时,其对应的可能性为P(y<1>, … , y<T_y> | x),x表示法语句子,而P(y<1>, … , y<T_y> | x)则表示某句翻译英文y<1>, … , y<T_y>的概率,当然模型可能给出几个翻译结果,比如:
这篇关于吴恩达《深度学习》第五课第三周的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!