基于LSTM算法的深度学习框架的研究与实现毕业论文
2021-03-25 22:29:45
摘 要
人类大脑的思维方式并不是时时刻刻都从一片空白的大脑开始的。在阅读时,我们都是基于已经存在的对先前所见的词的理解来推论当前词的意义。因而人类的思维是持续的。
但是对于传统的神经网络而言,其并不能够做到这一点,这也是其主要的短板。RNN(Recurrent Neural Network, 循环神经网络)的出现解决了这个问题,RNN一种是包含循环的网络,其允许信息的持续化。但是当所需要的信息与当前节点相隔较远时,RNN就不能学习到有用的信息,所以基本上RNN并不能够学习很长的句子。LSTM(Long Short Term Memory,长短期记忆)是一种特殊的RNN,可以解决长句依赖问题,LSTM的cell state保证了前面的信息往后传而不会改变,也就是说LSTM可以记住长周期的有用信息。
本文主要研究了LSTM算法的原理,并且将其应用到了NLP(Natural Language Processing, 自然语言处理)中,实现了基于LSTM算法的莎士比亚文字的生成器,该生成器首先对已给的莎士比亚文字数据集进行分析,产生相应的模型,然后生成以单词为单位的类莎士比亚文字,其相似度由给定数据的量来决定,数据量越大,相似性越高。最后还用python给该生成器赋予了可视化界面,方便操作。
关键词:LSTM算法;RNN;NLP;文字生成器
Abstract
The way human think is not always beginning from a blank brain. When we are reading an article, the meaning of the current word is inferred based on the existing understanding of the previously seen word. Thus human thought is continuous.
The traditional neural network can not do this, which is also its main short board. The RNN (Recurrent Neural Network) solves this problem, and the RNN is a network that contains loops that allow information to be sustained. However, when the required information is far from the current node, RNN can not learn useful information, so RNN basically can not learn a long sentence. LSTM (Long Short Term Memory) is a special RNN that can solve the problem of long sentence dependency. LSTM's cell state ensures that the preceding information is passed back and does not change, remember that the long period useful information is it The basic functions.
In this thesis, we mainly study the principle of LSTM algorithm and apply it to NLP (Natural Language Processing). We realize the Shakespeare generator based on LSTM algorithm, which first analyzes the given Shakespeare literal data set , produces the corresponding model, and then generates Shakespeare text which is based on world-level, the similarity of the given data depends on the amount of data, larger data leads to high similarity. Finally,we use python to create a visual interface for the generator, so that it will be easy to operate.
Key Words:LSTM;RNN;NLP;Word generator
目录
目录 1
第1章 绪论 1
1.1 研究背景及意义 1
1.1.1 人工神经网络 2
1.1.2 深度学习 2
1.2 国内外研究现状 3
1.2.1 深度学习在自然语言处理领域研究现状 4
1.2.2 LSTM的研究现状 4
1.3 本文主要工作 5
第2章 LSTM模型 6
2.1 引言 6
2.2 LSTM模型原理 6
2.2.1 LSTM与RNN的关系 6
2.3 LSTM流程 10
2.4 数据源 10
2.5 LSTM变种 10
2.6 本章小结 11
第3章 基于LSTM的文本生成器 12
3.1 引言 12
3.2 TensorFlow框架 12
3.3 文本生成器的实现过程 12
3.4 本章小结 18
第4章 总结和展望 19
参考文献 20
致谢 22
绪论
研究背景及意义
在深度学习领域中,传统的前馈神经网络(Feed-Forward Neural Network,FNN)表现的十分杰出,获得了不少的成功。它曾经在包括手写数字识别和目标分类等许多不同的任务上都创造了记录。直至今日,FNN一直都在在解决分类任务上比其他方法要略胜一筹。
尽管FNN具有如此多的优势,但FNN被承认能够实现的功能依然是非常有限的。归根结底,是因为人类大脑的计算能力是相当令人称奇的,然而“分类”任务只是其中很小的一个组成部分。人的大脑不仅仅可以识别个体,更能够分析输入信息之间的整体逻辑序列。在这些信息序列中,大量的内容包含其中,各种信息彼此间有着复杂的时间关联性,并且这些信息的长度都参差不齐。例如,走路、开车、吃饭和上课等简单的事情都具有高纬度的多种输入信息,都需要我们能够同时去处理,它们时时刻刻都在变化,然而FNN在建模时就极为匮乏这些功能。
循环神经网络(Recurrent Neural Network, RNN)是建立在与FNN相同的计算单元上的,但与RNN不同的是,FNN是建立在层面之上的。其中,信息从输入单元向输出单元进行单向流动,在这些连通模式中并不存在不定向的循环,尽管在大脑的神经元中确实在层面之间的连接上含有不定向循环,但还是加入了这些限制条件,试图以牺牲计算的功能性为代价来简化这一训练过程,然而为了计算系统更为强大,RNN不需要在层面之间构建,同时也会出现定向循环。也就是说在RNN中,在下一个时间戳,神经元的输出可以直接作用至其自身。