循环神经网络原理
循环神经网络(RNN)简介 ,循环神经网络是一种专门处理序列(sequences)的神经网络。它们通常用于自然语言处理(NLP)任务,因为它们在处理文本方面非常有效。在本文中,我们将探索什么是RNNs,了解它们是如何工作的,并在Python中从头构建一个真正的RNNs(仅使用numpy)。 这篇文章假设有神经网络的基本知识。我对神经网络的介绍涵盖了你需要知道的一切,所以我建议你先读一下。 本文更完整的内容请参考 极客教程 的深度学习专栏: http://geek-docs.com/deep-learning/rnn/rnn-introduction.html 让我们开始吧! The Why 普通神经网络(以及CNNs)的一个问题是,它们只对预先确定的大小起作用:它们接受固定大小的输入并产生固定大小的输出。RNNs是有用的,因为它让我们有可变长度的序列作为输入和输出。下面是一些关于RNNs的例子: *输入为红色,RNN本身为绿色,输出为蓝色。 这种处理序列的能力使 RNNs 非常有用。例如: 机器翻译(例如谷歌翻译)是通过“多对多”的RNNs来完成的。原始文本序列被输入一个RNN,然后RNN生成翻译文本作为输出。 情绪分析(例如,这是一个积极的还是消极的评论?)通常是用“多对一”的RNNs来完成的。要分析的文本被输入一个RNN,然后RNN生成一个输出分类(例如,这是一个积极的评论)。