zoukankan      html  css  js  c++  java
  • RNN 循环神经网络


    RNN

    RNN:Recurrent Neural Network,循环神经网络,或 递归神经网络


    来源

    全连接神经网络和卷积神经网络 都只能单独的取处理一个个的输入,前一个输入和后一个输入是完全没有关系的。
    但是,某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。
    比如,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够的,我们需要处理这些词连接起来的整个序列;当我们处理视频的时候,我们也不能只单独的去分析每一帧,而要分析这些帧连接起来的整个序列。
    这时,就需要用到RNN。

    最早用于 自然语言处理领域。


    基本 RNN

    由输入层、一个隐藏层和一个输出层组成:

    • 把上面有W的那个带箭头的圈去掉,它就变成了最普通的全连接神经网络。
    • x是一个向量,它表示输入层的值(这里面没有画出来表示神经元节点的圆圈);
    • s是一个向量,它表示隐藏层的值(这里隐藏层面画了一个节点,你也可以想象这一层其实是多个节点,节点数与向量s的维度相同);
    • U是输入层到隐藏层的权重矩阵
    • o,向量,它表示输出层的值
    • V是隐藏层到输出层的权重矩阵

    将上图展开,RNN 也可以画成下面的样子:

    RNN 计算方法:
    输出层的计算公式:(o_t = g(C_{S_t}))
    输出层是一个全连接层,也就是它的每个节点都和隐藏层的每个节点相连。
    V是输出层的权重矩阵,g是激活函数。


    隐藏层的计算公式:(s_t = f(U_{X_t} + W_{S_{t-1}}))

    隐藏层是循环层。

    • U:输入x的权重矩阵
    • W:上一次的值作为这一次的输入的权重矩阵;
    • f:激活函数。

    由此可见,循环层和全连接层的区别就是循环层多了一个权重矩阵 W。



    参考资料


    下一篇:LSTM


  • 相关阅读:
    1648 最大和
    poj2243
    Codevs 2307[SDOI2009]HH的项链
    2597 团伙
    一个JavaWeb项目中使用的部分技术
    Oracle 11g 学习3——表空间操作
    iOS实现抽屉效果
    用shell脚本实现linux系统上wifi模式(STA和soft AP)的转换
    Codeforces Round #243 (Div. 1)——Sereja and Two Sequences
    站点选择配色诀窍
  • 原文地址:https://www.cnblogs.com/fldev/p/14360221.html
Copyright © 2011-2022 走看看