机器学习-RNN机器翻译
一、简介
RNN的经典的用例之一就是将文本从一种语言翻译成另一种语言。 过去,这是使用手工制作的功能以及许多复杂的条件来完成的,这些条件花费很长时间才能创建并且理解起来很复杂。 因此,让我们看看RNN如何使生活更轻松,做得更好。
二、RNN机器翻译
简单模型(编码器-解码器模型)
最简单的想法是使用基本的RNN,如下图所示。 在此图中,展开了RNN,以便更轻松地了解正在发生的事情。这种类型的RNN是对RNN(seq2seq)进行排序的序列。
编码器
我们首先计算输入热词向量的词嵌入。 然后我们发送嵌入的单词进行翻译。 我们的(嵌入词向量)乘以一些权重矩阵W(hx)。 我们先前计算的隐藏状态(这是RNN节点的先前输出)乘以不同的权重矩阵W(hh)。 然后将这两个乘法的结果相加,并应用非线性(如Relu / tanh)。 现在这是我们的下一个隐藏状态h。然后在输入句子的整个过程中重复此过程。 显然,在第一个输入字x0上没有先前的隐藏状态,因此我们仅将此h0设置为全零。
如何知道我们的输入句子多长时间?
另请注意,我们的句子的长度可能不同,因此我们还必须有一个停止标记(例如句号),该标记表示我们已经到达了句子的结尾。 我们希望我们的模型将学习何时预测输出的停止令牌。 停止令牌基本上只是我们训练数据中的一个额外“单词”。
解码器
一旦到达停止令牌,便进入解码器RNN节点以开始产生输出矢量。为了在每个时间步长从解码器RNN获得输出y,我们有另一个权重矩阵W(S),我们将其隐藏状态h相乘以获得矢量输出。 然后将softmax应用于此,这将为我们提供最终输出。 此最终输出告诉您在该时间步预测了什么单词向量。
该模型非常简单,实际上只能用于非常排序的句子(2-3个单词)。 这是因为这些基本的RNN难以记住过去的多个步骤(消失的梯度问题)。
该模型的改进
那么,对于这个简单的模型,我们可以做些什么改变以使事情变得更好呢?
1、训练不同的RNN权重以进行编码和解码。 在上面的模型中,我们使用相同的RNN节点进行编码和解码,这显然不是学习的最佳选择。
2、在解码阶段,而不是像前面那样,仅将先前的隐藏阶段作为输入,现在,我们还包括编码器的最后一个隐藏阶段(在下图中将其称为C)。 除此之外,我们还包括最后的预测输出字向量。 这应该有助于模型知道它只是输出某个单词,而不是再次输出该单词。
因此,解码器节点现在将具有3个权重矩阵(其中一个是先前的隐藏状态h,一个是最后预测的单词向量y,一个是最后一个编码器隐藏状态c),我们将相应的输入乘以然后求和以获得 我们的解码输出。下图显示了另一种查看整个过程的方法。 从左下角开始,一直向上穿过直到到达红色圆圈。 然后向左和向上移动,直到预测到停止标记(完全停止)为止。重要的是要记住,在编码器每一步中用于乘以输入的权重矩阵是完全相同的,不是 不同的时间步长会有所不同。在解码阶段,它是与编码阶段不同的权重矩阵,但是在解码阶段仍使用此权重矩阵。
使用GRU
这可能与仅使用简单的RNN单元可以得到的效果一样好,因此,如果我们想做得更好,我们需要使用另一种类型的RNN单元,称为门控循环单元(简称GRU)。GRU的基本思想是保持内存保持长距离依赖性。 您的模型将学习如何做到这一点。 这也将允许错误消息根据输入以不同的强度传播。
三、总结
本次我们主要分享了与递归神经网络(RNN)相关的部分内容,大家感兴趣的话可以留言探讨。
机器学习-RNN机器翻译相关推荐
- 【李宏毅】机器学习-RNN
RNN(Recurrent Neural Network) 为什么需要RNN呢? 举例来说,有一个任务需要识别每个单词代表的含义.在下面的句子中,taipei分别表示目的地和出发地,我们希望神经网络能 ...
- 循环神经网络LSTM RNN回归:sin曲线预测
摘要:本篇文章将分享循环神经网络LSTM RNN如何实现回归预测. 本文分享自华为云社区<[Python人工智能] 十四.循环神经网络LSTM RNN回归案例之sin曲线预测 丨[百变AI秀]& ...
- 机器翻译和人工智能翻译,语言学与机器翻译
利用深度学习技术翻译和机器翻译相比,会有哪些不同 谷歌人工智能写作项目:神经网络伪原创 深度学习能应用在哪些领域? 深度学习的快速发展,不仅使机器学习得到许多实际的应用,还拓展了整个AI(人工智能的) ...
- 浅谈机器学习之深度学习
浅谈机器学习之深度学习 从人工智能到机器学习再到深度学习 人工智能是个很大的知识集合体,但目前有个和它关系最大的学科---机器学习 机器学习是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算 ...
- 统计学、深度学习、机器学习、数据挖掘
统计学.深度学习.机器学习.数据挖掘 1. 2. 3.数据挖掘: (1)数据挖掘是在大型数据库中,自动地发现有用信息的过程.用来探查大型数据库,发现先前未知的有用模式,预测未来观测接结果. (2)它是 ...
- 机器学习 数据挖掘 统计学 深度学习
1.机器学习 (1)机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能. (2)机器学习是对能通过经验自动改进的计算机算法的研究. (3)机器学习是 ...
- 机器学习从零到一的基础知识总集篇
机器学习是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性 ...
- 人工智能、机器学习、数据挖掘等基础概念-考研复试面试
(写一点关于前沿知识的简单问题,可能复试中会问到的) 文章目录 1.人工智能(Artificial Intelligence, AI) 1.1.人工智能是什么? 1.2.人工智能应用在什么地方? 1. ...
- 浅析机器学习、深度学习、神经网络三者的关系及内在联系
一.机器学习 机器学习是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不 ...
最新文章
- im和音视频开发哪个更好_找时间成为更好的开发人员
- php相关扩展安装及报错总结
- cve-2019-1821 思科 Cisco Prime 企业局域网管理器 远程代码执行 漏洞分析
- sql server 用户'sa'登录失败(错误18456)
- 1019.Line Painting(线段树 离散化)
- Jenkins进阶-Gitlab使用Webhook实现Push代码自动部署(3)
- centos7 安装 php7
- demo 网络运维_【运维面试】面试官:你们公司的docker主要用来做啥?
- 计算机网络常用术语WWW,计算机网络常用术语
- python倒三角代码_vb代码输出倒三角形 python倒三角代码
- android expandablelistview横向,ExpandableListView的使用多级列表
- PHP工程师的最佳学习路线
- dcat-admin oss图片上传
- Laragon 在Windows中快速搭建Laravel本地开发环境
- 只有两个键的键盘,只会复制粘贴
- 消费心理学(04):价格锚点
- 七彩虹计算机主板维修,七彩虹C .H61U v28主板维修一例
- dell灵越笔记本后盖怎么拆_戴尔灵越5584笔记本按键拆卸、安装教程
- 我的3D游戏开发书架 1
- Linux学习问题篇