14
Mar 2023

Deep Learning(2) - RNN循环神经网络

RNN用于处理序列类型的数据,比如语音,文字。这类数据的最大特点,是后面的信息,与之前的信息有关。比如一句话,每一个字如果是之前信息的函数,那不可能只是前一个字的函数,而是之前很多个字的函数。

RNN神经元结构

之前将神经元简化为输入的函数,这样的神经元无法包含前序的信息,因此在RNN中,神经元的结构大致为:

每一个单元的输入,除了原来的数据输入之外,还有上一个单元的输出,也要同时作为输入

RNN的例子

如果用RNN处理What time is it ?这句话,那处理过程是这样的:

当输入为what时,输出为01,当再输入一个is时,结合上一个what的输出,会得到输出02,这样反复执行下去,最后一个?就包含了之前所有的信息,这时候可以得到结果05

LSTM

RNN对之前所有的数据都不加区分地统一作为输入,这样无法反应之前数据不同的重要性。LSTM在一定程度上解决了这个问题。

LSTM的每一个单元,除了类似RNN的一个输入之外,另外还有一个输入。这两个输入其中一个受较近的前序数据影响(变化较快),另一个受较远的前序数据影响(变化较慢)。

系列文章 (deep-learning)

comments powered by Disqus