【问题标题】:How can I implement maxout with caffe?如何使用 caffe 实现 maxout?
【发布时间】:2016-05-18 13:13:18
【问题描述】:

我对 Caffe 很陌生,但想在我的项目中添加一个 maxout 层。网站上有一些关于maxout的代码,比如

implement maxout with caffe
我的代码在这里:

layers {
  name: "conv1"
  type: CONVOLUTION
  bottom: "data"
  top: "conv1"
  blobs_lr: 1
  blobs_lr: 2
  weight_decay: 1
  weight_decay: 0
  convolution_param {
    num_output: 16
    kernel_size: 9
    stride: 1
  }
}
layers {
  name: "slice1"
  type: "Slice"
  bottom: "Conv1"
  top: "slice1A"
  top: "slice1B"
  top: "slice1C"
  top: "slice1D"
  slice_param{
    axis: 1
    slice_point: 4
    slice_point: 8
    slice_point: 12
  }
}
layers {
  name: "maxout1"
  type: ELTWISE
  bottom: "slice1A"
  bottom: "slice1B"
  bottom: "slice1C"
  bottom: "slice1D"
  top: "maxout1"
  eltwise_param {
    operation:MAX
  }
}

这里,我使用SLICE层将conv1层一分为四,做ELTWISE操作。会有四个输出,但我不知道 slice1Aslice1Bslice1Cslice1D 如何做MAX操作。 下图是我的看法。
ELTWISE diagram of this code snippet
非常感谢!

【问题讨论】:

  • 你到底有什么不明白的?
  • 首先,谢谢。我是stackoverflow的新手,我的英语不是很好。这是我在stackoverflow中提出的第一个问题。我很高兴看到你的评论。谢谢
  • caffe 中的 ELTWISE 层可以帮助我实现 maxout(作者:Ian J. Goodfellow)层。但我不知道如何使用 ELTWISE 层。如上代码所示,如​​何理解bottom:"conv1A"和bottom:"conv1B"在maxout1层做maxout操作。顺便问一下,你能有一些关于 ELTWISE 的教程吗?非常感谢!
  • 看起来你得到的答案几乎涵盖了ELTWISE层
  • 你是说maxpool吗?

标签: machine-learning deep-learning caffe


【解决方案1】:

首先,简单来说,maxout 要做的就是将两个或多个具有完全相同维度的张量作为输入,例如,它以 2 个 10 维向量作为输入,然后在相同的位置2个向量选择最大值作为maxout的输出向量的元素,最终将产生一个10维向量。您可以将此过程视为融合过程。

然后到你代码中的ELTWISE层,这个层正是要完成上面的过程。具体来说,ELTWISE层会分别从底部的每个conv1A,conv1B中取一个元素,然后从这两个元素中选择最大值作为输出ma​​xout1的元素,并依次重复此操作,直到底部的最后一个位置。最大化操作由 "eltwise_param { 操作:MAX }” 在你的代码中。

【讨论】:

  • 哦,很高兴看到你的评论。我了解如何使用 ELTWISE 层进行 maxout 操作。我会尝试使用你的方法来做到这一点。我希望您在发生错误时也能帮助我。同时,也有一些解决方案,增加了SLICE层做其他灵活的操作。 maxout and SLICE非常感谢。
  • 我看到了你的资料,很高兴知道你在中国。我是西安电子科技大学的硕士生。最近在用caffe学习一些深度学习的知识,对caffe不是很熟悉。所以如果我有一些问题,我可以用电子邮件问你吗? @Dale Song 我的邮箱是[kzhaoxib@hotmail.com] 非常感谢。
  • 可以在eltwise_layer中读取函数Forward_cpu()。 cpp 了解如何使用ELTWISE层。@J.Zhao
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
  • 2017-11-13
  • 1970-01-01
  • 2016-12-21
  • 2017-03-18
相关资源
最近更新 更多