极客时间
21天打卡行动 28/21
<<人工智能基础课30>> 见微知著:循环神经网络
回答老师问题:循环神经网络的记忆机制与人类的记忆机制颇为相似。那么人类记忆还有哪些特点可以借鉴到神经网络的设计当中呢?
其实RNN挺像人类的思考方式的,如延时神经网络,长短期记忆网络,像那些天才总能通过平凡的组合方法找到最优解!
今日所学:
1,RNN:循环神经网络,递归神经网络
2,循环神经网络和我们前面介绍的所有神经网络都不一样,它的独特之处在于引入了“时间”的维度,因而适用于处理时间序列类型的数据,如果把参数共享调整到时间的维度上,让神经网络使用相同的权重系数来处理具有先后顺序的数据,得到的就是循环神经网络。
3,从功能上看,时间维度上的参数共享可以充分利用数据之间的时域关联性;
4,循环神经网络引入了反馈机制,因而具有记忆的功能。正是记忆功能使循环神经网络能够提取来自序列自身的信息,这是传统的前馈神经网络所无法做到的。
5,其实前馈网络在某种程度上同样具有记忆,只要神经网络的参数经过最优化,优化的参数中就会包含着过往数据的踪迹。
6,两种网络代表了两种不同的知识类型:前馈网络适用于表示客观性的知识,循环网络则适用于表示主观性的知识。
7,循环神经网络训练方法也是基于梯度的反向传播算法,但和其他前馈网络不同的是,这里的反向传播是通过时间进行的;
8,由于循环神经网络的每个状态都与之前的所有状态相关,因而在基于时间的反向传播中,对当前时刻的参数求偏导一定会涉及前一时刻的参数。这其实和原始的反向传播算法毫无区别,只不过在链式法则中添加了一组关于时间的中间变量。
9,循环神经网络利用来自未来的信息,就要让当前的状态和以后时刻的状态同样建立起联系,得到的就是双向循环神经网络(bidirectional recurrent neural network)。
10,循环神经网络的特点是在时间维度上共享参数,从而展开处理序列。如果换一种展开方式,将序列数据展开成树状结构,用到的就是递归神经网络;
11,在自然语言处理中,递归神经网络可以解决时间序列无法解决的问题;
12,将数据用树状结构表示后,递归神经网络的作用是将它们进一步表示成向量,映射到表示语义的向量空间之中。在语义空间上既可以度量单个向量的尺度,比如判定句子的感情色彩到底是褒义还是贬义;也可以度量不同向量之间的关系,比如确定两个句子意义上的相似程度
重点:
1,循环神经网络是具有记忆的神经网络,适用于处理序列化数据;
2,循环神经网络引入反馈结构,能够在时间上共享参数,从而具有记忆;
3,循环神经网络的扩展包括双向循环网络和深度循环网络;
4,递归神经网络能够处理具有层次化结构的数据,可以看成循环神经网络的推广
展开