• 【Recurrent Neural Network(RNN)】循环神经网络——李宏毅机器学习阅读笔记


    Recurrent Neural Network(RNN)

    Example Application

    Slot Filling
    智慧订票系统:
    在这里插入图片描述
    在这里插入图片描述
    How to represent each word as a vector?
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    但是光这样,feedforward Network是无法solve这一问题的,因为他无法区别是leave Taipei还是arrive Taipei。
    那我们就希望这个neuron network是有记忆的,即看到过arrive/leave这个词。
    在这里插入图片描述
    这种有记忆的network就叫做 recurrent neural network(rnn)
    在这里插入图片描述

    举例:

    我们假设所有的w=1,没有bias;所有的激活函数都是线性的;
    要给memory(每一个时间点都会被洗掉)一个初始值,我们假设给0
    在这里插入图片描述
    在这里插入图片描述
    接下来2被存到memory中
    在这里插入图片描述
    在这里插入图片描述
    rnn会考虑input sequence的order
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    of course it can be deep…

    在这里插入图片描述

    Elman Network & Jordan Network

    在这里插入图片描述

    Bidirectional RNN

    同时train 一个正向的rnn和逆向的rnn
    在这里插入图片描述
    在这里插入图片描述

    Long Short-term Memory(LSTM)

    Input/Output/Forget Gate何时打开/关闭 是需要网络自己学的
    LSTM有三个操控信号,一个输入信号
    在这里插入图片描述
    “-”为什么放在short-term之间,而不是long short之间?
    因为他只是比较长的short term。是否遗忘取决于forget gate,关闭时代表遗忘
    在这里插入图片描述
    假设在四个z输入之前,cell中存了一个“c”
    在这里插入图片描述
    在这里插入图片描述
    如果选择不遗忘c(由f(zf)决定),则需要再加起来即c‘
    在这里插入图片描述
    在这里插入图片描述

    LSTM-Example

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    original network
    在这里插入图片描述
    LSTM 直接将neurons替换成LSTM的cell即可
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    GRU是LSTM的simple版本,他只有两个gate,参数较少,所以比较不容易overfitting。simpleRNN指最原始的RNN,下图是目前标准的RNN。
    在这里插入图片描述

    Learning Target

    在这里插入图片描述
    RNN 用 Gradient Descent是可以train的
    Backpropagation through time(BPTT) 基于时间的反向传播算法。
    在这里插入图片描述
    在这里插入图片描述
    Why?
    在这里插入图片描述
    在这里插入图片描述
    如何解决?
    Clipping.
    裁剪,当梯度过大时候进行裁剪。
    在这里插入图片描述
    为什么rnn会有这种奇特的特性呢?
    sigmoid function? no
    在这里插入图片描述
    在这里插入图片描述
    有什么样的技巧可以帮助我们解决这个问题呢?
    在这里插入图片描述
    可以让你的error surface不要那么崎岖, 在做LSTM时,你可以放心的把learning rate设置的特别小。

    为什么我们要把RNN换成LSTM? LSTM可以handle gradient vanishing的问题。

    为什么可以handle gradient vanishing的问题?
    一旦你的weight,可以对memory的值发生影响时,这个影响会一直存在,除非forget gate关闭。不像rnn,其在每一个时间的会被forget掉。
    在这里插入图片描述
    在这里插入图片描述

    Application

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    如何解决?
    CTC
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    句法解析
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    Attention-based Model

    可以想成RNN的进阶版本
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    Deep&Structured

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    Abnova丨BSG 单克隆抗体中英文说明
    CSS基础:position定位的5个类型详解!
    vb户籍管理系统设计与实现
    【鸿蒙软件开发】ArkTS基础组件之TextTimer(文本显示计时)、TimePicker(时间选择)
    Alibaba官方上线,SpringBoot+SpringCloud全彩指南(第五版)
    node.js --- npm模块 以及 项目配置文件
    【算法| 差分 No.1】AcWing 797. 差分 & AcWing 798. 差分矩阵
    nextjs上手
    计算机毕业设计之java+ssm理发店会员管理系统
    K_A02_003 基于单片机驱动8位数码管模块(MAX7219) 0-7静态显示+滚动显示
  • 原文地址:https://blog.csdn.net/overload_/article/details/128125179