【问题标题】:Caffe Embed Layer InputsCaffe 嵌入层输入
【发布时间】:2017-08-01 00:20:53
【问题描述】:

Caffe 中的 Embed 层采用什么类型的输入? 它是否需要已经以一种热门形式编码的单词?

假设,N = 输入句子中的单词数; M = 词汇量

那么单个句子的一个热向量将是 N x M 阶

这是否意味着输入的 dim 参数将为 N?

最后应该以什么格式保存句子,以便 Caffe embed 层能够正确读取?

【问题讨论】:

    标签: machine-learning neural-network deep-learning caffe word-embedding


    【解决方案1】:

    请看"Embed"层的文档:

    用于学习单热向量输入“嵌入”的层。等效于以单热向量作为输入的 InnerProductLayer,但为了提高效率,输入是每列本身的“热”索引。

    因此,您的输入不是表示单词(或字符,或“项目”)的“热向量”,而是单词的紧凑表示:字典中单词的整数索引。

    所以,如果您的字典中有 M=1000 单词并且您想学习嵌入到 100 维空间中:

    layer {
      name: "embed1000_to_100"
      type: "Embed"
      bottom: "compact_one_hot_dim1000"
      top: "embed1000_to_100"
      embed_param {
        num_output: 100 # output dimension
        input_dim: 1000
      }
    }
    

    注意"compact_one_hot_dim1000"的数据应该是(0..999)范围内的整数。

    更多信息请参见caffe.help

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-23
      • 2018-01-09
      • 2019-06-24
      • 2019-11-13
      • 1970-01-01
      • 2020-01-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多