keras学习笔记(五):TimeDistributed详解+实战

本文是对[2]的翻译和整理,对简单的部分进行了删减,难懂的部分进行了又一次的讲解。
RNN、LSTM、GRU模型是我们常用并且效果非常好的模型,在众多的NLP任务中都可以看到他的身影。但有一层TimeDistributed,使用起来有些难度,尤其对初学者而言。接下来,说明TimeDistributed包装器的原理以及如何使用。

内容概览:

  1. TimeDistributed层
  2. 序列学习Problem
  3. One-to-One的LSTM 用于序列预测
  4. Many-to-One LSTM 用于序列预测 (without TimeDistributed)
  5. Many-to-Many LSTM 用于序列预测 (with TimeDistributed)

1.TimeDistributed层:

  • 这一层是什么:
    这个封装器将一个层应用于输入的每个时间片。
  • 何时以及如何使用:
    对3维以上的tensor,在时间维度上应用全连接。

假设我们有一些文本数据,假设每条样本32个字,一共64条样本,那么这些数据维度是(64,32)。我们对每个字做Embedding后,每个字变成100维的向量,那么这些数据维度变成(64,32,100)。此时我们是没法直接对其应用全连接网络(Dense Net)的,我们可以在时间维度上,对每个时间切片应用全连接。比如说我们抽取每条样本的第一个字,将会得到维度为(64,100)的数据,这样我们就可以对其应用全连接了。接下来将通过实例来讲解。

2. 序列学习问题:

参考资料:

[1] Keras官网文档介绍
[2] How to Use the TimeDistributed Layer for Long Short-Term Memory Networks in Python

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linxid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值