Keras中的特征提取

4
我正在使用预训练的resnet50和inception v3网络从图像中提取特征,然后将其与我的ML算法一起使用。
哪些层适合特征提取呢?
我目前正在使用:Inception v3中的"mixed10"和resent50中的"avg_pool"。这些特征在XGBoost中表现良好。
谢谢。
1个回答

2

关于如何选择特征提取层,没有普适的规则,但你可以使用一个简单的经验法则。网络深度越深,就会有越少基于ImageNet的语义特征。但与此同时,你也会得到更少的语义特征。

我会在两种拓扑结构中都使用pool层——如果这样的表现不能满意,则会增加层数,将深度设置为元参数。


你是指带有 include_top=True(默认值)的 "avg_pool",还是不带 include_top 的 "global_average_pooling2d_1"? - Henry Thornton
在哪种拓扑结构中? - Marcin Możejko
resnet50在include_top=True和False时都有'avg_pool'。inceptionv3在include_top=False时有'global_average_pooling2d_1',在include_top=True时有'avg_pool'。我认为正确的提取特征的方法是从包含'avg_pool'层的include_top=True(默认)开始,无论是对于resnet50还是inceptionv3。这样做正确吗? - Henry Thornton
对我来说也没问题。 - Marcin Możejko
1
一个相关的问题:在使用机器学习算法或相似度度量之前,您是否发现有必要对提取的特征向量进行归一化处理? - Henry Thornton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接