gpt4 book ai didi

python - 选择 Conv2D 过滤器值作为开始

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:37 25 4
gpt4 key购买 nike

我意识到以下问题可能会得到“这是关于实验和使用经验”的回答,但无论如何我都会问,因为我认为了解我应该寻找什么是有用的开始于。

在 Keras 中,Conv2D卷积层,有一个参数叫filters ,我将其理解为“在尺寸由 kernel_size 参数定义的图像上卷积的过滤器窗口的数量”。 IE。 Conv2D(filters=32, kernel_size=(3,3)..)将意味着 32 个大小为 3x3 的窗口将扫描整个图像。

我的问题是:如果您正在创建一个全新的神经网络来解决图像分类/识别问题,而不利用预先训练的神经网络(因此从头开始),那么 filters 会怎样?您通常从第一个卷积层开始的值是什么?有经验法则吗?这真的只是一个实验答案吗?

假设我想要一个全新的模型能够识别图像中是否有狗,而无需利用 ResNet50InceptionV3 imagenet 模型,我将使用尺寸为 4160x3120 的彩色图像,我已将其缩小到 input_shape (224,168,3),我的第一个应该是什么Conv2D图层是什么样的?

例如此示例代码是解决我的问题的良好起点吗:

model = Sequential()
model.add(Conv2D(32, kernel_size=(3,3), activation="relu", input_shape=(224,168,3), data_format="channels_last"))
model.add(Conv2D(64, kernel_size=(3,3), activation="relu"))
#additional model design code

32 是一个好的起点吗?我应该变小吗?过滤器尺寸从 Conv2D 加倍图层至 Conv2D分层解决新问题的适当方法?

完全理解这是一个本质上复杂的主题,并且没有“快速致富”的方法,但我只是想更好地理解这个主题。

最佳答案

16 或 32 就可以。

前几层中的过滤器通常不太抽象,通常模拟边缘检测器、 Blob 检测器等。您通常不希望将太多过滤器应用于输入层,因为从原始输入中只能提取这么多信息层。如果添加太多,大多数过滤器都会变得多余。您可以通过修剪来检查这一点(减少过滤器数量,直到性能指标下降)

内核大小决定了您想要影响卷积输出的图像量(内核的“感受野”)。人们发现较小的内核通常比较大的内核更好(即使用 3x3 而不是 5x5、7x7)。

Inception 架构将这些决策从建模者手中夺走,因为它将不同内核大小的过滤器集中在一起,让模型学习最适合使用的过滤器。

作为引用,我建议在 YouTube 上浏览斯坦福大学的 CS231n 类(class),以全面了解:https://www.youtube.com/playlist?list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk

关于python - 选择 Conv2D 过滤器值作为开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52447345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com