对于图像问题可以使用CNN较好的解决,但对于文本类数据,较好的解决方式是采用RNN
例如:1、我很想去北京,2、我不想去北京;
说明:将1中的句子进行词语分开,最后的输入是北京,2也相同;对于普通网络最后的输入为北京,得到的结果是这两句话的结果相同,而实际不同;对于此类问题,我们要设计的方法是需要对之前词语的输入进行记忆,将记忆的结果送给下层,这样尽管最后的输入相同,而实际上输出的结果已经记忆了其中的不同输入,这就是我们所说的RNN
一个网络,多次循环,而不是多个网络;但存在问题(长时依赖问题)
比如:1、我住在北京,我会讲中文;其中中文是输出
2、我出生在英国,但是喜欢到处完,。。。中国。。。,但是我是一个英国人;其中英国人是输出,省略号代表中间有一些不相关的词,整个句子很长
这个时候就会出现一个问题,句子1中文与北京可以相互对应,句子很短,没有问题;而句子2中最后的英国人与前面的英国相距较远,不易学习
LSTM
- 忘记阶段
- 选择记忆阶段
- 输出阶段