什么是RNN(循环神经网络)

什么是RNN(循环神经网络)

循环神经网络(Recurrent Neural Network),在识别图像时,输入的每张图片都是孤立的,认出这张图片是苹果,并不会对认出下一张图片是梨造成影响。

但对语言来说,顺序是十分重要的,"我吃苹果"和"苹果吃我",词语顺序的改变表达了完全不同的意义。顺序也提供了一定的信息,比如"吃"后面大概率是代表食物的名词。

为了捕捉数据的这种关联,人们找到了RNN,一个高度重视序列信息的网络。

序列就是数据的前后关系,RNN的基础结构仍然是神经网络,只不过它多了一个小盒子 ,用来记录数据输入时网络的状态,在下一次输入数据时,网络必须要考虑小盒子中保存的信息,随着数据的一次次输入,存储信息也在不断更新,盒子中的信息被称为隐状态

和开始举出的例子一样,RNN最常见的应用领域就是自然语言处理。

  • 机器翻译是寻找相同的意义序列,在不同语言中的表达。

  • 诗歌生成是基于一个主题,按照一定的规则输出有逻辑的词语序列。改变两端的信息类型,输入图片输出句子,就是看图说话。

  • 语音同样可以看作声音信号按时间顺序组成的序列,语音识别和语音生成同样在RNN的能力范围内。

  • 股票价格也可以被看作一个受时间影响的序列,很多量化交易模型的建立,就是基于这样的认知。

不过,RNN仍有不可忽视的缺陷,数据输入的越早,在隐状态中占据的影响就越小,也就是说如果一个句子很长,RNN就会忘记开始时说了什么。

于是就有了RNN的改良版,LSTM-长短时记忆模型。

相关推荐
吃个糖糖10 分钟前
36 Opencv SURF 关键点检测
人工智能·opencv·计算机视觉
AI慧聚堂22 分钟前
自动化 + 人工智能:投标行业的未来是什么样的?
运维·人工智能·自动化
盛世隐者23 分钟前
【pytorch】循环神经网络
人工智能·pytorch
FL162386312933 分钟前
钢材缺陷识别分割数据集labelme格式693张4类别
深度学习
cdut_suye36 分钟前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
开发者每周简报1 小时前
微软的AI转型故事
人工智能·microsoft
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
普密斯科技1 小时前
手机外观边框缺陷视觉检测智慧方案
人工智能·计算机视觉·智能手机·自动化·视觉检测·集成测试
四口鲸鱼爱吃盐2 小时前
Pytorch | 利用AI-FGTM针对CIFAR10上的ResNet分类器进行对抗攻击
人工智能·pytorch·python
lishanlu1362 小时前
Pytorch分布式训练
人工智能·ddp·pytorch并行训练