当前位置: 首页 > wzjs >正文

石家庄网站开发工程师招聘网未来网络营销的发展趋势

石家庄网站开发工程师招聘网,未来网络营销的发展趋势,没有网站如何做adsense,东莞朝阳企讯通科技声明: 本文基于哔站博主【Shusenwang】的视频课程【RNN模型及NLP应用】,结合自身的理解所作,旨在帮助大家了解学习NLP自然语言处理基础知识。配合着视频课程学习效果更佳。 材料来源:【Shusenwang】的视频课程【RNN模型及NLP应用…

声明:

       本文基于哔站博主【Shusenwang】的视频课程【RNN模型及NLP应用】,结合自身的理解所作,旨在帮助大家了解学习NLP自然语言处理基础知识。配合着视频课程学习效果更佳。

材料来源:【Shusenwang】的视频课程【RNN模型及NLP应用】

视频链接:RNN模型与NLP应用(7/9):机器翻译与Seq2Seq模型_哔哩哔哩_bilibili


一、学习目标

1.了解什么是Seq2Seq模型

2.掌握Sequence to Sequence模型实现的底层逻辑

3.学会提升Sequence to Sequence模型的几种方法


二、Sequence to Sequence模型

这是一个多对多的模型


【样例介绍】我们要搭建一个将英语文本翻译为德语的模型


(1)处理数据

大家可以在这个网站上找数据来训练

预处理:

将文本中的标点符号删掉,将大写转换为小写等操作

tokenazation:

要用两个不同的tokenizer,因为不同的语言有着不同的字母表,两种语言的字母表通常是不同的,此外不同的语言分词方法不同,所以我们应该构建两种不同的字母表。

char-level可以将文本分割成以一个一个的字符

word-level可以将文本分割成一个一个单词

实际上我们通常会用word-level【这里我们选用char-level】因为实际的数据集通常比较大,但我们这里数据集没有那么大,因此使用char-level

左边的字典是英语字典,右边是德语字典

用字母表示出英语文本序列和德语文本序列

英语:

德语:


(2)搭建模型

接下来,我们搭建一个Sequence to Sequence模型。

Sequence to Sequence模型由编码器和解码器两个部分构成

编码器:

       Encoder是一个LSTM或者其他RNN模型,用来从输入的英语语句中提取特征,Encoder最后一个状态就是从输入的句子中提取的特征,包含这句话的信息。其余的状态信息没有用都被丢掉了。Encoder的输出就是最后一个状态向量h 和传输带c

解码器:

       Decoder的初始状态是Ecoder的最后一个状态,通过Encoder最后一个状态,Decoder得知输入信息是“go away”。

现在Decoder开始输出德语句子,Decoder的第一个输入必须是起始符(如“\t”)

【详细过程】 第一个字母是m,则Decoder会将m做noe hot encoding然后作为标签y,Decoder会输出一个概率分布记作p,用标签y和p的交叉熵作为损失函数,所以损失函数越小越好。有了损失函数,就可以反向传播计算梯度,梯度传到Decoder,再由Decoder传到Encoder,然后用梯度下降来调整Encoder和Decoder的参数,从而使得损失函数减小。

然后输入变为两个字符“\tm”,根据上述过程以此类推,在推出下一个字母

然后输入变为三个字符“...”

.......

不断重复这个过程,直到这句德语的最后一个字符,当输出维停止字符"\n"的话,则停止。 

以下为具体步骤:

(3)推导

       Encoder将英文信息通过RNN模型,最终输出为状态向量h0和传输带c0,h0和c0中存储着听英文文本的特征,被作为Decoder的初始状态向量,这样以来Decoder就知道了输入文本是“go away”。

       当第一个输入“\t”输入到Decoder中时,Decoder就会更新状态和传输带,得到新的状态向量h1和新的传输带C1,并预测下一个字母“m”。并将其记录下来。

不断重复这个过程,就可以完整的输出翻译结果。

三、总结

        在本例中,一段英文文本会输入进Encoder,每输入一个字母,RNN就会记录当前字符的信息,直到输完最后一个字符,Encoder就会记录下整个文本的信息存储在状态向量hm中。

最后一个hm会作为Decoder的初始化状态进入Decoder,这样Decoder就会记住输入的英文句子了

接下来的步骤如下图:

四、思考:我们该如何改进Sequence to Sequence模型

(1)将Encoder由单向LSTM改进为双向LSTM

       由于Encoder从头开始读取英语句子,那么Encoder有可能会遗忘并遗漏一开始输入的信息,

那么我们可以将Encoder改进为双向RNN,这样就可以使Encoder更好的记住整个英语文本。

【注意】Decoder必须是单向LSTM,因为decoder相当于一个文本生成器,只能从头按顺序输出

(2)可以用word-level替代char-level  

         因为word-level处理后的序列更短,可以是LSTM更容易记住英语句子。但是由于单词维度为10000很高,所以需要embedding层将其映射为低维词向量才可以。并且要求拥有足够大的数据集才可以。

(3)采取多任务训练

       我们可以同时采取英语翻译英语本身,英语翻译汉语,英语翻译其他语言这样的多任务训练方法,来提升英语翻译德语的效果。一是因为数据集变大了,导致训练效果变的更好了;而是因为即使训练的是其他语言,但仍会对英语翻译德语的效果有所提升。

(4)注意力机制——这种方法效果最好(我们下节课再学习)

http://www.dtcms.com/wzjs/110856.html

相关文章:

  • 做印刷厂网站软文推广策划方案
  • 安全员考试报名入口官网北京seo薪资
  • 博彩网站做代理怎么建立企业网站免费的
  • 爱唐山做贡献月评十佳投票网站深圳整合营销
  • 织梦网站需要优化网站百度关键词seo排名优化
  • 免费网站能到百度首页吗查排名的软件有哪些
  • 网站如何做快捷支付接口seo合作
  • 返利网网站怎么做襄阳seo
  • 网络建站技术网络营销整合营销
  • wordpress 弹性布局设计案例王通seo赚钱培训
  • 形象设计百度seo排名在线点击器
  • 网站设计要先做图么成都网站seo性价比高
  • 台州企业网站设计电脑培训学校哪家好
  • 望牛墩仿做网站怎么做网站广告
  • 在建设银行网站上买卖贵金属腾讯广告联盟
  • 滁州新手跨境电商建站哪家好河北网站推广
  • 公司做网站价格seo标题优化导师咨询
  • 网站上传到万网主机惠州seo
  • wordpress响应式主题设计宁波seo推广服务
  • 北京网站建设 一流国外外链平台
  • 苹果软件 做ppt模板下载网站有哪些网站建设技术解决方案
  • 网站建设有什么专业术语成都网站seo服务
  • java做电影广告网站磁力搜索引擎2023
  • 西安网站建设公司十强海外推广营销系统
  • wpf做网站脚上起小水泡还很痒是怎么回事
  • wordpress二级菜单关键词优化按天计费
  • 网站根目录文件网站建设网络营销
  • 网站开发先学哪些知识重庆网页搜索排名提升
  • 网站访问速度跟服务器cpu和内存和带宽哪个重要企业软文营销发布平台
  • 做购实惠网站的意义热门国际新闻