大家好:关于CNN的工作原理,我有一个非常基本的问题。
我完全理解训练过程中的一堆图像,从随机滤波器开始,旋转,激活,计算损失,反向传播和学习权重。完全理解。
但是一旦训练完成,最后的卷积层就有了最复杂和最完整的特征,比如脸、耳朵、轮子和这样的过滤器,它们可以被全部特征激活。
如果是这样的话,在测试期间,我们是否需要再次通过所有的层传递我们的图像?为什么我们不把我们的图像转移到最后一个卷积层,看看这些复杂的特征过滤器有多少被激活了呢?然后把它传递到完全连接的层上进行分类?
我知道可能有不一致的层次和输入,但除了其他更重要的?
发布于 2018-01-17 10:17:43
为什么我们不把我们的图像转移到最后一个卷积层,看看这些复杂的特征过滤器有多少被激活了呢?
答案是,所有的层都完全依赖于前一层的确切特性。最后一层根本无法将原始图像作为输入并输出有意义的值。很可能它甚至无法适应输出的形状,它需要几十个通道,其中一个彩色图像只有3个。如果你以某种方式强迫它适应,那么彩色图像数据对它来说是毫无意义的。它可能仍然是为了输出某种东西,但它本质上是胡言乱语,与预期的结果无关。
每一层都是前一层的函数。忽略卷积的细节,神经网络本质上是多个函数的组合(例如,我们称它们为$f、g、h、i、j$ ),以便:
$$y =j(i(h(g(f(X)$$
您实际上是在这里询问,您是否可以只执行$y = j(x)$,而不是按顺序运行所有这些函数。答案是否定的。
https://datascience.stackexchange.com/questions/26735
复制相似问题