• keras 中的一点问题


    TimeDistributed层在Keras中的作用是什么?

    我试图了解TimeDistributed包装器在Keras中的作用。

    我得到TimeDistributed“将一个图层应用于输入的每个时间片。”

    但我做了一些实验并得到了我无法理解的结果。

    简而言之,与LSTM层相关,TimeDistributed和Dense层具有相同的结果。

    model = Sequential()
    model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
    model.add(TimeDistributed(Dense(1)))
    print(model.output_shape)

    model = Sequential()
    model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
    model.add((Dense(1)))
    print(model.output_shape)
    对于这两种型号,我的输出形状为(无,10,1)。

    任何人都可以解释RNN层之后TimeDistributed和Dense层之间的区别吗?

    目前ssem没有区别,这里讨论它。我认为最初的意图是区分Dense平坦化输入然后重新整形的层,因此连接不同的时间步长并具有更多参数,并TimeDistributed保持时间步长分离(因此具有较少的参数)。在你的情况下Dense应该有500个参数,TimeDistributed只有50 - gionni 11月15日'17在13:00
    @gionni不,它有相同数量的参数(均为6)。那么atm几乎没有什么区别? - Buomsoo Kim 于17年11月16日凌晨2 点09分
    是的,如果存在差异,这些是他们将拥有的参数数量。目前没有 - gionni 于17年11月16日12:17

    在keras建立顺序模型时 - 通常是第二维(一个在样本维度之后) - 与time维度相关。这意味着,如果例如,你的数据是5-dim与(sample, time, width, length, channel)您可以应用使用卷积层TimeDistributed(其适用于4-dim与(sample, width, length, channel)以获得沿时间维度)(应用相同的层到每个时间片)5-d输出。

    这样的情况Dense是,keras从版本2.0开始Dense默认仅应用于最后一个维度(例如,如果您应用于Dense(10)具有形状的输入,(n, m, o, p)您将获得具有形状的输出(n, m, o, 10)),因此在您的情况下Dense并且TimeDistributed(Dense)是等效的。

  • 相关阅读:
    新框架的选择
    ‘’火星文‘’的解析
    http.request请求及在node中post请求参数解析
    http.request的请求
    ReactNative环境配置的坑
    return false与return true的区别
    什么是DOM,DOM level 123 的区别是什么
    页面重绘和回流以及优化
    时代人物之任正非
    Adriod与HTML+JS的交互
  • 原文地址:https://www.cnblogs.com/wdmx/p/9281960.html
Copyright © 2020-2023  润新知