RNN主要解决的什么样的问题
主要解决序列对序列的问题,比如中文翻译成英文,将一句话翻译成语音等类似的问题
为什么传统的神经网络不能用于处理序列对序列的问题:①假如用传统神经网络翻译句子的时候,你输入一个词的时候,就会对应有一个输出,所以导致输入和输出是一样长的,这与实际的翻译情况不符②翻译的时候,只与你输入的这个词相关,与你前后的词没有任何关系,这样会失去很多的信息,比如说小明是一个财务总监,财务总监四个字就可以说小明是一个人,再比如说小明是一个苹果,那么苹果两个字就意味着小明是一种水果,但是在传统的神经网络中就没有不同位置的词信息共享③如果把整个序列都输入到神经网络中,那么第一个隐藏层的参数很多
RNN模型(其中一种模型many to many,输出个数等于输入个数)
激活函数g1一般是tanh和relu
激活函数g2一般是sigmoid
优化目标
RNN的几种模型(除了上面已经讲过的那种模型)
①many to one 比如判断一句话是消极的还是积极的,给一句话打一个标签的话,就是多对一
②one to one 标准的神经网络模型
③one to many
④many to many 这种和最上面将的那种多对多模型不一样,这个多对多的输出个数并不等于输入个数