当前位置: 首页 > 知识库问答 >
问题:

卷积神经网络中滤波器的差分

籍利
2023-03-14

创建卷积神经网络(CNN)时(如中所述https://cs231n.github.io/convolutional-networks/)输入层与一个或多个过滤器连接,每个过滤器表示一个要素地图。这里,过滤层中的每个神经元只与输入层的几个神经元相连。在最简单的情况下,我的n个过滤器中的每一个都具有相同的维度并使用相同的步幅。

我的问题是:

  1. 如何确保过滤器学习不同的特征,尽管它们使用相同的补丁进行训练

共有1个答案

孙承弼
2023-03-14

我不是专家,但我可以回答你的问题。老实说,听起来你已经有了正确的想法:尤其是过滤器中权重/偏差的初始随机化,培养了他们学习不同特征的倾向(尽管我相信从网络更高层反向传播的错误的随机性也可以发挥作用)。

正如@user2717954所指出的,不能保证过滤器将学习独特的功能。然而,每次将训练样本或批次的误差反向传播到给定的卷积层时,都会稍微修改每个滤波器的权重和偏差,以提高网络的整体精度。由于每个过滤器中的初始权重和偏差都不同,因此大多数过滤器可能(并且可能给出合适的模型)最终稳定到表示一组鲁棒独特特征的值。

除了适当的权重随机化外,这也说明了为什么使用卷积层和足够数量的过滤器是至关重要的。如果没有足够的过滤器,网络从根本上是有限的,以至于在给定的抽象层上有一些重要、有用的模式,而这些模式根本无法用网络来表示。

 类似资料:
  • 我读过这篇文章“UFLDF”,它发展了autoencoder中隐藏层的可视化,但我很困惑如何可视化卷积神经网络的滤波器。在我看来,对于第一个卷积层,要使滤波器可视化,它需要这个等式: 对于第二个卷积层,它应该将滤波器投射到原始输入空间,但我不知道如何做。

  • 此问题似乎与在帮助中心定义的范围内编程无关。 我不明白为什么在使用卷积神经网络时需要翻转滤波器。 根据千层面文件, flip_filters:bool(默认值:True) 是在将过滤器滑动到输入上之前翻转过滤器,执行卷积(这是默认设置),还是不翻转过滤器并执行相关。请注意,对于千层面中的其他一些卷积层,翻转会产生开销,默认情况下是禁用的–使用从其他层学习的权重时,请查看文档。 这是什么意思?我从未

  • 注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组大小为32x32的RGB图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Kriz

  • 卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络

  • 我从几篇文章中了解到,要计算滤波器的梯度,只需以输入体积为输入,以误差矩阵为核进行卷积。之后,只需将过滤器权重减去梯度(乘以学习率)。我实现了这个过程,但它不起作用。 我甚至试着自己用笔和纸做反向传播过程,但我计算的梯度并没有使过滤器的性能更好。那么,我对整个过程的理解是否有误? 编辑:我将提供一个例子,说明我对CNN中反向传播及其问题的理解。 考虑卷积层的随机输入矩阵: 1,0,1 0、0、1

  • 我问了一个关于我上周建立的一个网络的问题,我重复了一些建议,这些建议导致我发现了一些问题。我回到这个项目,解决了所有问题,并在这个过程中了解了更多关于CNN的信息。现在我陷入了一个问题:我所有的权重都变成了巨大的负值,再加上输出图像中的RELU端总是完全是黑色的(这使得分类器无法完成它的工作)。 在两个标记的图像上: 这些数据被传递到一个两层网络、一个分类器(它自己获得100%)和一个单过滤器3×