0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

算法工程师炼丹Trick手册

深度学习自然语言处理 来源:炼丹笔记 作者:炼丹笔记 2021-03-05 16:09 次阅读

Focal Loss

865d8416-7c22-11eb-8b86-12bb97331649.jpg

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

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

Dropout

867d255a-7c22-11eb-8b86-12bb97331649.jpg

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

Normalization

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

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

relu

86c0f4a6-7c22-11eb-8b86-12bb97331649.png

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

x=max(x,0)

Cyclic LR

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

scheduler=lambdax:((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])returnx*gamma+beta

Label Smoothing

877b5576-7c22-11eb-8b86-12bb97331649.png

87b9fe16-7c22-11eb-8b86-12bb97331649.jpg

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

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

87f50218-7c22-11eb-8b86-12bb97331649.jpg

Wasserstein GAN

8b288f68-7c22-11eb-8b86-12bb97331649.jpg

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

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

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

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

Skip Connection

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

F(x)=F(x)+x

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    2797

    浏览量

    47976
  • 神经元
    +关注

    关注

    1

    文章

    287

    浏览量

    18371
  • 深度学习
    +关注

    关注

    73

    文章

    5260

    浏览量

    120117

原文标题:大道至简:算法工程师炼丹Trick手册

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式软件工程师和硬件工程师的区别?

    、调试和测试嵌入式软件,以确保其功能正常,性能优良。 * 文档编写:包括编写用户手册、维护文档等。 * 维护和更新:对现有的嵌入式软件进行维护和更新,以解决出现的问题和满足新的需求。 嵌入式软件工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试题

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    企业老工程师和高校老师有啥区别

    电子工程师硬件
    电子发烧友网官方
    发布于 :2024年02月28日 17:50:00

    如何搞崩一个硬件工程师心态?试试对ta说这几句

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    #人工智能 #FPGA 怎么成为一个合格的FPGA工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年12月18日 21:19:01

    电子工程师第一天上班就暴揍师傅。。。#科普 #示波器 #电子工程师 #打工日记

    电子工程师示波器
    安泰小课堂
    发布于 :2023年12月18日 17:36:12

    FPGA工程师需要具备哪些技能?

    FPGA(Field-Programmable Gate Array)芯片因其具有灵活性、高定制化、高性能等特点,被广泛应用于数字系统设计、嵌入式系统、通信系统、计算机视觉等领域。作为FPGA工程师
    发表于 11-09 11:03

    #FPGA 本科生也能成为FPGA研发工程师

    fpga工程师
    明德扬助教小易老师
    发布于 :2023年09月23日 08:05:36