Tensorflow 中的递归神经网络 (RNN) 类型
循环神经网络 (RNN)更像人工神经网络 (ANN),主要用于语音识别和自然语言处理 (NLP)。深度学习和模拟人脑神经元活动的模型构建使用 RNN。
来自传感器、股票市场和政府机构的文本、基因组、笔迹、口语和数字时间序列数据是循环网络用于识别模式的数据示例。循环神经网络类似于常规神经网络,并添加了神经元的记忆状态。计算中将包含一个简单的内存。
递归神经网络是一种使用顺序方法的深度学习方法。我们总是假设神经网络中的每个输入和输出都依赖于所有其他级别。递归神经网络之所以如此命名,是因为它们以连续的顺序执行数学计算。
RNN 的类型:
1.一对一的RNN:
上图表示香草神经网络的结构。它用于解决只有一个输入和输出的一般机器学习问题。
示例:图像分类。
2. 一对多 RNN:
一个输入和几个输出描述了一个一对一的循环神经网络。上图就是一个例子。
示例:图像被发送到 Image Captioning,生成一个单词句子。
3.多对一RNN:
此 RNN 从给定的一系列输入创建单个输出。
示例:情感分析是此类网络的示例之一,其中将文本识别为表达积极或消极的感受。
4.多对多RNN:
该 RNN 接收一组输入并产生一组输出。
示例:机器翻译,其中 RNN 扫描任何英文文本,然后将其转换为法语。
RNN 的优点:
- RNN 可以以这样一种方式表示一组数据,即假设每个样本都依赖于前一个样本。
- 为了扩展活动像素邻域,循环神经网络与卷积层相结合。
RNN 的缺点:
- RNN 训练是一个艰难的过程。
- 如果它使用 tanh 或 ReLu 之类的激活函数,它将无法处理非常长的序列。
- RNN 中的梯度消失或爆炸问题