【发布时间】:2017-03-18 23:11:40
【问题描述】:
我已经学习机器学习 4 个月了,我了解 MLP 背后的概念。当我开始阅读卷积神经网络时,问题就来了。让我告诉你我知道的,然后问我有什么问题。
CNN 的核心部分是:
- 卷积层:您有“n”个过滤器,可用于生成“n”个特征图。
- RELU 层:你用它来标准化卷积层的输出。
- 子采样层:用于“生成”代表更抽象概念的新特征图。
将前 3 层重复几次,最后一部分是一个常见的分类器,例如 MLP。
我的疑惑如下:
- 如何创建卷积层中使用的过滤器?我必须创建一个过滤器,对其进行训练,然后将其放入 Conv 层,还是使用反向传播算法对其进行训练?
- 假设我有一个带有 3 个过滤器的卷积层,那么它将输出 3 个特征图。应用 RELU 和 Sub-sampling 层后,我仍然会有 3 个特征图(较小的)。再次通过 Conv 层时,如何计算输出?我是否必须分别在每个特征图中应用过滤器,或者对 3 个特征图进行某种操作然后求和?我不知道如何计算第二个 Conv 层的输出,以及它将输出多少个特征图。
- 如何将数据从 Conv 层传递到 MLP(用于在 NN 的最后部分进行分类)?
如果有人知道不使用框架的 CNN 的简单实现,我将不胜感激。我认为学习事物如何运作的最好方法是自己动手。在其他时候,当您已经知道事物的工作原理时,您可以使用框架,因为它们可以为您节省大量时间。
【问题讨论】:
标签: machine-learning neural-network convolution conv-neural-network