lstm结构图_多情自古空余恨之LSTM实例篇---作诗机器人

61c61649d2ffaad9ef73088acd79ca4e.png

本期课程到这里,博主就默认大家已经对BP、CNN、RNN等基本的神经网络属性以及训练过程都有相应的认知了,如果还未了解最基本的知识,可以翻看博主制作的深度学习的学习路线,按顺序阅读即可。

深度学习的学习路线:往期课程

Hello,又是一个分享的日子,博主将在本期推文给大家介绍如何用LSTM做一个写诗机器人,原理篇已经在很久前更新了,还不熟悉原理的小伙伴可以去翻阅一下十分钟掌握RNN与LSTM原理及其结构应用。好了,闲言少叙,我们这就开始实验。

本文内容概要:

  1. 作诗机器人的原理
  2. 作诗机器人的实验
  3. LSTM缺点
  4. Self-Attention出世
  5. NLPer入门

1.作诗机器人

1.1原理

作诗机器人的原理就是LSTM多输入多输出的网络结构图,如下图。

0a40065218a2c8fd6ed27f217ba4479a.png
多输入多输出网络结构

训练过程:取定长的文本作为输入,预测这段文本的下一个字,不断缩小真实值与预测值的差值loss即可。

2.实验

2.1实验环境

  • Anaconda Python 3.7
  • Jupyter Notebook
  • Keras
    开发环境安装在之前的推文中已经介绍,还没安装的小伙伴可以翻一下。
  • Python开发环境---Windows与服务器篇
  • Python深度学习开发环境---Keras
古诗数据集链接 提取码:ob6w
https://pan.baidu.com/s/1SCW1g7M01VCD4DQBwBJ4og​pan.baidu.com

2.2实验流程

1.加载古诗数据

2.创建字典

3.构造训练数据(五个字作为训练输入,第六个字作为训练标签)

4.LSTM建模

5.构造训练过程中的古诗打印函数,以便查看训练过程的效果

2.3作诗机器人的建模代码

model 

2.4代码

Git链接

代码 https:// github.com/ChileWang022 8/DeepLearningTutorial/tree/master/LSTM

2.5训练结果

5ce0c8186c3dc4e95216f56dbe99f938.png
训练过程生成的古诗

小伙伴们可以试着调下面这几个参数,让结果更加的好看~

1.batch size

2.adam优化器的learning rate

3.迭代次数nb_epoch

4.增加LSTM的网络的神经元或者层数

2.6视频版

视频版包含了代码讲解部分,不过博主的代码都做了相应的注释,相信大家都能看懂,喜欢视频版的小伙伴可以去观看~~~

bilibili值得拥有~(っ•̀ω•́)っ✎⁾⁾ 我爱学习 https:// space.bilibili.com/2995 85150

3.总结

好了,到这里,我们就已经弄出了一个写诗机器人了。大家在掌握了整个流程之后,就可以在博主的代码上修修补补,训练自己的写诗机器人模型了。

从本次实验来看,博主只是用一个很简单的LSTM网络完成了5000多个epoch的训练迭代,但是总体效果并不是特别好,因此博主在上面给大家写了调参的方式,但是上诉参数如果调大的话,训练过程会非常的慢,这就是LSTM被人所诟病的地方。

LSTM能够处理文本序列的位置信息,因此它能比CNN更好地处理文本,但是由于它无法和CNN那般并行化计算,导致其训练速度会比CNN慢很多。所以,为了能够在处理文本过程中获取文本的序列信息,且能在训练过程中并行化计算,google提出了self-attention layer,它几乎取代了RNN与LSTM。因此,想了解其原理的小伙伴可以去翻阅下面这篇论文。现在市面上非常火的NLP模型BERT、Transformer、Ernie和Roberta都是基于self-attention而做的。

Attention is all you need! https:// arxiv.org/abs/1706.0376 2

最后,博主在本期推文介绍的写诗机器人只是LSTM的一个小应用,后面有很多人基于LSTM提出了许多有趣的实验比如翻译机器人,但博主并不打算给大家多做几个实验了,因为self-attention的出现,几乎取代了RNN与LSTM,所以大家知道怎么用LSTM即可。我们需要将重心放在最新最强的网络结构上,加之博主本人就是搞NLP的,因此在写这篇推文之前,也写了一篇NLPer的入门推文,大家可以照着这个顺序学下去,也可以关注博主,博主将一步步带领大家探索NLP的世界。NLP原理-推荐阅读顺序

如果本期推文有用,那就点个赞吧,你们的点赞是博主持续更新的动力,感谢每一位小伙伴的关注~

09bdcdface430dc5c744c80b9cf98dc4.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值