我已经学习了4个月的机器学习,我理解MLP背后的概念。当我开始阅读卷积神经网络时,问题出现了。让我告诉你我所知道的,然后问我遇到了什么问题。
CNN的核心部分是:
- 卷积层:你有" n"用于生成" n"的过滤器数量特色地图。
- RELU Layer:您可以使用它来规范化卷积层的输出。
- 子采样层用于"生成"一个新的特征映射,代表更抽象的概念。
重复前3个图层,最后一个部分是常见的分类器,例如MLP。
我怀疑如下:
- 如何创建卷积层中使用的过滤器?我是否必须创建一个过滤器,训练它,然后将其放入Conv层,或者我是否使用反向传播算法进行训练?
- 想象一下,我有一个包含3个滤镜的转换层,然后它将输出3个特征映射。应用RELU和子采样层后,我仍然会有3个功能图(较小的)。再次通过Conv Layer时,如何计算输出?我是否必须单独在每个要素图中应用滤镜,或者对3个要素图执行某种操作然后进行求和?我不知道如何计算第二个Conv图层的输出,以及它将输出多少个要素图。
- 如何将数据从Conv层传递到MLP(在NN的最后部分进行分类)?
醇>
如果有人在不使用框架的情况下知道CNN的简单实现,我将不胜感激。我认为学习东西的最佳方法是自己动手。在另一个时候,当你已经知道东西是如何工作的时候,你可以使用框架,因为它们可以节省你很多时间。