kaggle蛋白质比赛分析

本文详细分析了kaggle蛋白质识别比赛中使用的数据增强、Focal Loss损失函数和不同深度学习模型(ResNet34、Inception-v3、SE-ResNext50)的配置与性能。数据增强通过旋转、翻转等方法提高模型泛化能力,Focal Loss解决了类别不平衡问题,模型训练中采用Adam优化器,评价指标为macro F1 Score。实验结果显示ResNet34的Public LB得分为0.574,Private LB为0.500,Inception-v3的Public LB得分为0.583,Private LB为0.549,而SE-ResNext50的Public LB得分为0.601,Private LB为0.531。

kaggle 蛋白质比赛分析

一、数据准备

蛋白质比赛采用了kaggle官网提供的数据集,以及额外的人类蛋白质图谱网站的数据集。

二、数据增强

1. 数据增强目的:

  • 增加训练的数据量,提高模型的泛化能力。即使拥有大量数据,也需要采用数据增强的方法来提高模型泛化能力。
  • 增加噪声数据,提升模型的鲁棒性。

2. 数据增强方法

  • 对图片进行比例缩放
  • 对图片进行随机位置的截取
  • 对图片进行随机水平和竖直翻转
  • 对图片进行随机角度的旋转
  • 对图片进行亮度、对比度和颜色随机变化

3.自动数据增强方法
自动数据增强方法:Data AutoAugment。
来自谷歌研究人员在arXiv 上发表的论文,提出一种自动搜索合适数据增强策略的方法 :《AutoAugment: Learning Augmentation Policies from Data》。

该论文主要的观点是创建一个数据增强策略的搜索空间,直接在感兴趣的数据集上评估特定策略的质量。在AutoAugment的实现过程中,设计了一个搜索空间,该搜索空间中的一个策略包含了许多子策略,我们为每个小批量(mini-batch)中的每张图像随机选择一个子策略。每个子策略由两个操作组成,每个操作都是类似于平移、旋转或剪切的图像处理函数,以及应用这些函数的概率和幅度(magnitude)。

三、损失函数

  • 比赛损失函数采用gamma值为2的Focal Loss。

1.损失函数来源

该损失函数来自于论文:《Focal Loss for Dense Object Detection》。

该论文的目的是为了探讨为什么one-stage detector相比two-stage detector精度要差。其中one-stage detector和two-stage detector属于目前目标检测的框架。

two-stage detector:基于候选区域的two-stage的检测框架(如:fast r-cnn系列)。
one-stage detector:基于回归的one-stage的检测框架(如:yolo,ssd)。

但two-stage的效果好,one-stage的快但是效果差一些。本论文作者希望弄明白为什么one-stage的检测器准确率不高的问题,作者给出的解释是由于前正负样本不均衡导致

在目标检测算法中,对于输入的一张图像,可能会生成成千上万的预选框(region proposal),但是其中只有很少一部分是包含真实目标的,这就带来了类别不均衡问题。因此针对类别不均衡问题,作者提出一种新的损失函数:Focal Loss

2.Focal Loss原理

(1)算法原理

首先回顾二分类交叉熵损失:

其中 y 是真实样本的标签(1正0负), y’ 是经过 sigmoid 激活函数的预测输出(数值在0-1之间)。可见普通的交叉熵对于正样本而言(y=1),输出概率(y’)越大损失越小。对于负样本(y=0)而言,输出概率(y’)越小则损失越小。此时的损失函数在大量简单样本的迭代过程中比较缓慢且可能无法优化至最优。

作者由此提出Focal Loss函数:

  • 首先在原有的基础上加了一个因子,其中Gamma>0使得减少易分类样本的损失(y’r越小,损失越小),使得模型更关注于困难的、错分的样本。

  • 在以上基础上,再引入一个平衡因子 Alpha,用来平衡正负样本本身的数量比例不均(即类别不均衡):

这里的两个参数α和γ协调来控制,当Gamma为0时即为交叉熵损失函数,本文作者采用Alpha=0.25,gamma=2效果最好

(2)算法有效性

这个损失函数是在标准交叉熵损失基础上修改得到的。 这个函数可以通过减少易分类样本的权重,使得模型在训练时更专注于难分类的样本。 为了证明focal loss的有效性,作者设计了一个模型:RetinaNet,并且在训练时采用focal loss训练。实验证明RetinaNet不仅可以达到one-stage detector的速度,也能有two-stage detector的准确率。

四、模型参数

1.优化器

2.学习率

  • 学习率为0.0005,没有学习率调整(learning rate scheduling)。

3.batch-size

  • 对于1024x1024图像的大型图像,采用每32个图片来更新一次权重参数,即batch-size为32。

五、评价指标

  • 比赛评价指标采用macro F1 score。

(1)F1 Score

  • F1分数(F1 Score),是统计学中用来衡量二分类模型精确度的一种指标。它同时兼顾了分类模型的精确率和召回率。F1分数可以看作是模型精确率和召回率的一种加权平均,它的最大值是1,最小值是0。

  • 在说明F1 Score之前,引入精确率召回率的概念:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值