美文网首页
如何理解lstm的输入输出

如何理解lstm的输入输出

作者: 帅气的我要加油 | 来源:发表于2018-07-09 16:23 被阅读117次

例如这样一个数据集合,总共100条句子,每个句子20个词,每个词都由一个80维的向量表示。在lstm中,单个样本即单条句子输入下(shape是 [1 , 20, 80]),假如设定每一个time step的输入是一个词(当然这不一定,你也可以调成两个词或者更多个数的词),则在t0时刻是第一个时间步,输入x0则为代表一条句子(一个样本)中第1个词的80维向量,t1是第二个时间步,x1表示该句子中第2个词的80维向量,依次类推t19输入是最后一个词即第20个词的向量表示。

常见的tf或者keras中lstm的参数(samples, timestep, input_dim),samples是指批量训练样本的数量, timestep是时间步(这个时间步可自己设置)比如上面说的20,input-dim是每个time step的输入shape

假设输入的样本是一条条的句子:

样本1:“”富强,民主,文明,和谐,自由,平等,公正,法治,爱国,敬业,诚信,友善“”

样本2:“”实现伟大中国梦“”

样本3:“”跑得比谁都快“”

对于这样的不同长度的样本,因为长短不一,需要先编码,embedding成相同维度的数据。比如每个句子embedding成shape为[24, 80],这样的话,若批训练的BatchSize是1的话, A假如你的时间步设置为12,那么需要将单个样本X, reshape成【1,12,160】,输入到LSTM,此时LSTM中每个时间步输入X_t的shape是[1,160];

B假如你的时间步设置为24,那么需要将单个样本X, reshape成【1, 24, 80】, 输入到LSTM, 此时LSTM每个时间步输入X_t的shape就是【1,80】.

盗用下知友的图如下, X_t就是下图中的X0,X1,.....Xn:

image

其实,从另一个角度也可以区分,time_step是神经网络的参数,网络建好了便不会改变;batch是训练参数,在训练时可根据效果随时调整。

相关文章

  • 如何理解lstm的输入输出

    例如这样一个数据集合,总共100条句子,每个句子20个词,每个词都由一个80维的向量表示。在lstm中,单个样本即...

  • LSTM的输入与输出

    2020/02/07 -今天重新开启代码的测试过程,发现对于LSTM的输入输出还是不够理解,所以这部分今天需要再把...

  • lstm理解

    本文是自己对于lstm的理解的总结,但是最好的文章帮助理解lstm一定是这篇Understanding LSTM ...

  • tensorflow 双向LSTM搭建

    和单向LSTM搭建的步骤是一样的: 设定超参数(隐藏向量的维度,学习率,输入输出维度等) 定义输入输出placeh...

  • rnn seq2seq attention transforme

    rnn lstm gru sru全面理解RNN及其不同架构深入理解lstm及其变种gruWhy LSTMs Sto...

  • Tensorflow神经网络之LSTM

    LSTM 简介 公式 LSTM LSTM作为门控循环神经网络因此我们从门控单元切入理解。主要包括: 输入门:It ...

  • LSTM理解

    https://www.zhihu.com/question/41949741?sort=created

  • 理解LSTM

    1. 传统神经网络与RNN 人类并非在每个时刻重新进行思考。当你在阅读一篇文章时,你是基于对前面的一些词的理解去理...

  • 理解LSTM

    本文主要参考这篇文章 Recurrent Neural Networks 递归神经网络(Recurrent Neu...

  • LSTM的理解

    对LSTM的理解 人类会基于对之前所见词的理解来推断当前词的含义,我们当然不会将所学过的东西全部丢掉,用空白的大...

网友评论

      本文标题:如何理解lstm的输入输出

      本文链接:https://www.haomeiwen.com/subject/qddtpftx.html