Efficient Classification of Very Large Images with Tiny Objects(CVPR2022)

文章目录

  • 基本参数设置
  • Colon Cancer
    • 10折交叉验证(不带对比学习N=10)
    • 10折交叉验证(带对比学习N=10)
    • N=5
    • N=50
    • λ=1.0
    • λ=0
    • 采用Tanh而非Relu

基本参数设置

dataset:colon cancer
TenCrossValidation:True
optimizer:adam
models_set:LeNet
mode:10CrossValidation
lr:0.0001
weight_decay:1e-5
lr_decay_steps:30
lr_decay_ratio:0.9
clipnorm梯度裁剪(阈值设为5.0)避免梯度爆炸问题
tile_size:250×250
patch_size:即从高分辨率中提取的子块大小为27×27
n_patches:10
regularizer_strength:0.01
batch_size:5
epoch:100
scale:0.2(下采样缩放因子)
contrastive_learning:True
若采用对比学习,从第10个epoch开始
二分类
动态采样系数不进行正则化
每个epoch都进行一次验证
重叠区域大小设置为1减少边缘信息丢失
使用gpu

(代码中给出的AttentionOnAttention和Attention模块完全一样,只是Attention多了个单通道输入选项)
直接给出采样子块大小h2×w2,以及frame_size帧大小(划分步长),对于每个样本先计算locs_array(也就是图像中需要采样的位置数组),计算AoAs特征,基于1-AoAs值来选择目标区域,然后对每个目标区域进行注意力特征计算,再次采样得到子图像子块, 将子块输入到特征提取器中获取子特征,并基于权重参数计算期望值。累积所有子特征并结合目标样本数量和 AOAs 值计算最终累积特征

10折交叉验证(10-Fold Cross-Validation):其基本思想是将原始数据集划分为10个大小相等(或尽可能接近相等)的部分,然后进行如下操作:

  1. 划分数据:将整个数据集分成10个子集(fold),每个子集包含原始数据的约1/10。

  2. 训练与验证循环:对于每一个子集,将其作为验证集,其余9个子集合并作为训练集。

  3. 模型训练:在当前的训练集上训练模型。

  4. 模型评估:使用保留的验证集评估模型性能,通常记录下如准确率、精度、召回率、F1值或者任何其他相关的评估指标。

  5. 重复步骤:对所有10个子集都执行以上步骤,确保每个子集都有机会作为验证集被测试一次。

  6. 综合结果:最后,将每次验证的结果汇总平均,得到模型在整体数据上的估计性能。

通过10折交叉验证,可以更可靠地评估模型在未见过的数据上的泛化能力,因为它让模型有机会接触到数据集的所有部分,并且减少了随机性带来的影响。

Colon Cancer

10折交叉验证(不带对比学习N=10)

Efficient Classification of Very Large Images with Tiny Objects(CVPR2022)_第1张图片

10折交叉验证(带对比学习N=10)

N=5

N=50

λ=1.0

λ=0

采用Tanh而非Relu

你可能感兴趣的:(python,人工智能,深度学习)