10大算法工程师炼丹Tricks

点击上方“CVer”,选择加"星标"置顶

重磅干货,第一时间送达

本文转载自:炼丹笔记  |  作者:时晴

Focal Loss

    针对类别不平衡问题,用预测概率对不同类别的loss进行加权。Focal loss对CE loss增加了一个调制系数来降低容易样本的权重值,使得训练过程更加关注困难样本。

loss = -np.log(p) 
loss = (1-p)^G * loss

Dropout

    随机丢弃,抑制过拟合,提高模型鲁棒性。

Normalization

    Batch Normalization 于2015年由 Google 提出,开 Normalization 之先河。其规范化针对单个神经元进行,利用网络训练时一个 mini-batch 的数据来计算该神经元  的均值和方差,因而称为 Batch Normalization。

x = (x - x.mean()) / x.std()

relu

用极简的方式实现非线性激活,缓解梯度消失。

x = max(x, 0)

Cyclic LR

    每隔一段时间重启学习率,这样在单位时间内能收敛到多个局部最小值,可以得到很多个模型做集成。

scheduler = lambda x: ((LR_INIT-LR_MIN)/2)*(np.cos(PI*(np.mod(x-1,CYCLE)/(CYCLE)))+1)+LR_MIN

With Flooding

    当training loss大于一个阈值时,进行正常的梯度下降;当training loss低于阈值时,会反过来进行梯度上升,让training loss保持在一个阈值附近,让模型持续进行“random walk”,并期望模型能被优化到一个平坦的损失区域,这样发现test loss进行了double decent。

flood = (loss - b).abs() + b

Group Normalization

    Face book AI research(FAIR)吴育昕-恺明联合推出重磅新作Group Normalization(GN),提出使用Group Normalization 替代深度学习里程碑式的工作Batch normalization。一句话概括,Group Normbalization(GN)是一种新的深度学习归一化方式,可以替代BN。

def GroupNorm(x, gamma, beta, G, eps=1e-5):
    # x: input features with shape [N,C,H,W]
    # gamma, beta: scale and offset, with shape [1,C,1,1]
    # G: number of groups for GN
    N, C, H, W = x.shape
    x = tf.reshape(x, [N, G, C // G, H, W])
    mean, var = tf.nn.moments(x, [2, 3, 4], keep dims=True)
    x = (x - mean) / tf.sqrt(var + eps)
    x = tf.reshape(x, [N, C, H, W])
    return x * gamma + beta

Label Smoothing

    label smoothing将hard label转变成soft label,使网络优化更加平滑。标签平滑是用于深度神经网络(DNN)的有效正则化工具,该工具通过在均匀分布和hard标签之间应用加权平均值来生成soft标签。它通常用于减少训练DNN的过拟合问题并进一步提高分类性能。

targets = (1 - label_smooth) * targets + label_smooth / num_classes

Wasserstein GAN

  • 彻底解决GAN训练不稳定的问题,不再需要小心平衡生成器和判别器的训练程度

  • 基本解决了Collapse mode的问题,确保了生成样本的多样性

  • 训练过程中终于有一个像交叉熵、准确率这样的数值来指示训练的进程,数值越小代表GAN训练得越好,代表生成器产生的图像质量越高

  • 不需要精心设计的网络架构,最简单的多层全连接网络就可以做到以上3点。

Skip Connection

        一种网络结构,提供恒等映射的能力,保证模型不会因网络变深而退化。

F(x) = F(x) + x

参考文献

  • https://www.zhihu.com/question/427088601

  • https://arxiv.org/pdf/1701.07875.pdf

  • https://zhuanlan.zhihu.com/p/25071913

  • https://www.zhihu.com/people/yuconan/posts

点击下方卡片并关注,了解CV最新动态

CV资源下载

后台回复:CVPR2020,即可下载代码开源的论文合集

后台回复:ECCV2020,即可下载代码开源的论文合集

后台回复:YOLO,即可下载YOLOv4论文和代码

后台回复:Transformer综述,即可下载两个最新的视觉Transformer综述PDF,肝起来!

重磅!CVer-细分垂直交流群成立

扫码添加CVer助手,可申请加入CVer-细分垂直方向 微信交流群,可申请加入CVer大群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、Transformer、PyTorch和TensorFlow等群。

一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,才能通过且邀请进群

▲长按加微信群

▲点击上方卡片,关注CVer公众号

整理不易,请给CVer点赞和在看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值