首页 > 其他分享 >李宏毅《机器学习》总结 - RNN & LSTM

李宏毅《机器学习》总结 - RNN & LSTM

时间:2024-01-29 21:13:30浏览次数:24  
标签:gate RNN 李宏毅 memory input LSTM 输入

在 slot-filling 问题(如给一个句子,自己分析出时间、地点等)
image
如果只连着不同的 FC,那么会导致无法读出是 arrive 还是 leave 的情况,导致错误
因此,需要 NN 来考虑到整个句子的信息,也就是需要有 memory,这就是 RNN

RNN 原理

image
有了 memory,就可以初步解决同一个信息由于句子不同导致的意义不同的问题了
更进一步的,有这样的结构:
image
黄色代表输入,即每一个单词。绿色代表隐藏层,注意事实上只有一个网络,不同单词对应的网络的参数是相同的,橙色代表输出,是一个概率向量
image
在不同的单词的网络之间传递的 memory 除了可以从隐藏层得到之外,还可以从输出层得到,这对应了另外一种架构:
image

Bidirectional RNN

普通的 RNN 处理每个单词的时候只能获取其前面的信息,但是通过双向 RNN,可以得到其后面的信息。
简单来说就是训练两个 RNN,一个正向一个反向,再将两个 RNN 的同一个对应的隐藏层扔给输出层,就得到了输出。
image

LSTM

是 RNN 的改良。每一个位置有 4 个输入,除了数据的输入(input)之外,还有是否将 input gate 打开(输入进网络中)、是否要遗忘 memory 里的数据,是否要打开 output gate(输出到输出层中)
image
在 RNN 中,memory 只能记着上一层的隐藏层,但是 LSTM 中,能记着更久远的事情了,因此叫“long short-term ..”
具体的,在实作中,关于 input/output gate 是否打开,可以利用 sigmoid function 来实现,如果输入是一个负值,那么就可以认为相应的 gate 是关闭的(因为 \(f(z_i) \rightarrow 0\))
另外,当 \(z_f>0\) 时在 memory 中的数据是要保存的,反之则是遗忘,因此应该叫做“keep gate” 而非 "forget gate" 更为恰当
image
关于如何进行输入的问题,也就是 \(z_i, z_o, z_f\) 是怎么得到的问题,可以这么看:
对于每一个 LSTM 的 cell(即上图) 而言,都是有好几个原始输入变量的,原始输入变量线性组合得到 \(z_{xx}\),而得到 \(z_{xx}\) 时的线性组合函数不同,因此得到了不同的输入。
以输入的几个原始变量 \((x_1,x_2,x_3)=(2,0,0)\) 为例:
image
绿色框代表 bias,也就是默认情况下 input gate 和 output gate 是关的,而 forget gate 是开的,不同的 \(z\) 对原始变量做 weighted sum(实际上这就是需要训练的网络),就得到了 \(z\) 的值
可以发现,当 \((2,0,0)\) 时,input/output gate 是关的,forget gate 是开的。
当 \((1,0,1)\) 时,经过计算可以得到 input 是关的,output gate 和 forget gate 是开的。

标签:gate,RNN,李宏毅,memory,input,LSTM,输入
From: https://www.cnblogs.com/SkyRainWind/p/17995305

相关文章

  • 李宏毅《机器学习》总结 - Self-attention
    解决的问题:输入\(n\)个向量,输出相同个数的向量。(如,输入一个句子,输出句子中每个词的词性。每个单词转化成向量可以用one-hotvector、wordembedding方法等)一个比较初级的想法:将每个向量都连上去一个FC(fullyconnectednetwork),但是这样有个问题是,如果遇到一个句子中有两个相......
  • 李宏毅《机器学习》总结 - CNN
    使用场景:对图片进行分类首先,将图片变成向量。例如,对于一个彩色的\(N\timesN\)(这个N指的是像素个数)图片,其对应着一个\(N\timesN\times3\)的矩阵(其中3是图片的channel,在彩色图片中,每个像素由RGB构成,因此channel为3)一个初始的想法将这个矩阵拉长,变成一个向量,然后......
  • 基于信号功率谱特征和GRNN广义回归神经网络的信号调制类型识别算法matlab仿真
    1.算法运行效果图预览 2.算法运行软件版本MATLAB2022a 3.算法理论概述       本课题,我们主要对MPSK和MFSK调制类型进行识别。在进行信号调制方式区分之前,首先需要对PSK和FSK进行区分,提出了一种基于信号功率谱的PSK和FSK调制方式的识别方法。信号的功率谱计算过程......
  • 李宏毅《机器学习》总结 - 类神经网络
    核心问题:CriticalPoint在GradientDescent的时候,如果遇到梯度为0的情况,导致无法继续optimization,这样的点叫做CritcalPoint如果最后优化的结果不好,则出现这样的点的原因有2个:一个是到localminima了,另一个是在驻点了(也叫鞍点,SaddlePoint)。现在主要关注的是如何判......
  • ICDM'23 BICE论文解读:基于双向LSTM和集成学习的模型框架
    本文分享自华为云社区《ICDM'23BICE论文解读》,作者:云数据库创新Lab。导读本文《EfficientCardinalityandCostEstimationwithBidirectionalCompressor-basedEnsembleLearning》是由华为云数据库创新Lab联合电子科技大学数据与智能实验室发表在顶会ICDM’23的长文。ICDM......
  • Broodstock breeding behaviour recognition based on Resnet50-LSTM with CBAM atten
    一区top,2022年ComputersandElectronicsinAgriculture分类题目:“基于CBAM注意机制Resnet50-LSTM的亲鱼繁殖行为识别”(Du等,2022,pp.-)(pdf)“BroodstockbreedingbehaviourrecognitionbasedonResnet50-LSTMwithCBAMattentionmechanism”(Du等,2022......
  • An improved LSTM-based model for identifying high working intensity load segment
    一区topComputersandElectronicsinAgriculture题目:“基于改进lstm的拖拉机载荷谱高工作强度载荷段识别模型”(pdf)“AnimprovedLSTM-basedmodelforidentifyinghighworkingintensityloadsegmentsofthetractorloadspectrum”(pdf)分类问题针对的问题:......
  • RNN的应用范围:从基础研究到实用技术
    1.背景介绍随着数据规模的不断增加,传统的机器学习模型已经无法满足需求。随着深度学习技术的发展,卷积神经网络(CNN)和循环神经网络(RNN)等模型逐渐成为主流。在图像处理、自然语言处理等领域取得了显著的成果。本文将从基础研究到实用技术的角度,探讨RNN的应用范围和挑战。1.1深度学习......
  • 基于代码一步一步教你深度学习中循环神经网络(RNN)的原理
    当谈到基于RNN(循环神经网络)的机器学习例子时,一个常见的任务是文本生成。RNN是一种能够处理序列数据的神经网络,它具有记忆能力。以下是一个基于RNN的文本生成例子,并给每一行添加了详细注释:1.importtorch2.importtorch.nnasnn3.importtorch.optimasoptim4.5.#定义......
  • 从RNN到Transformmer
    下面是整理的一个思维导图2010年Mikolov提出了RNN网络,RNN网络存在长距离依赖(梯度消失),计算效率(RNN难以并行)两个问题2017年Transformmer网络结构问世,Transformer网络架构架构由AshishVaswani等人在AttentionIsAllYouNeed一文中提出,并用于机器翻译任务,和以往网络架构......