zoukankan      html  css  js  c++  java
  • GradNorm

    背景

    在MultiTask任务中,不同task的loss尺度是不一样的,可能相差很大,这样会导致共享的权重被大尺度的task主导,导致小尺度loss的task学不好

    为了解决这个问题,常用的一个方法是对权重加权:

    这样做的缺点就是,不同task的loss大小在训练中是会发生变化的,而上面的w是固定的,不能很好的适应训练过程中loss的变化

    因此GradNorm提出了一种新的方法,即把loss的权重w也当作一个参数来学习:

    GradNorm

    我们的目标是通过实时的调整每个loss的权重w(t),使不同task对共享层参数的更新尺度基本相同

    因此论文在正常的loss之外

    在正常的loss之外定义了一个gradient loss

    Gradient Loss被定义为所有task在当前时间t“真实gradient和target gradient norm的L1正则”相加之和:

    下面我们来具体解释一下上面的loss:

    W 是共享层权重(论文中选了共享层最后一层权重),我们的目标就是通过调节w(t),使不同task对W的更新尺度相同

    是不同加权的task loss对W的梯度的L2范数,其实就是不同task对W的更新尺度

    是所有task对W的平均更新尺度

    是每个task的loss的变化率,该值越小表示该task学习的越快

    是task的相对loss变化率。该值越小表示该task学的相对越快

     上面的loss的意思就是每个task对W的更新大小要和 所有task对W的平均更新大小乘以该task的loss的相对变化率 相同

    其中乘以r(t)的目的就是希望,loss变化快的task对W的更新尺度小一些

    参考资料

    https://zhuanlan.zhihu.com/p/100555359

    https://blog.csdn.net/Leon_winter/article/details/105014677

  • 相关阅读:
    jQuery之选择器
    JAVA之网页截屏
    AJAX之JSON
    JSP之AJAX
    JSP之邮箱检验
    【16】LRUChache
    hashmap与currentHashMap
    Day1 工厂模式
    D0 设计模式
    【15】【有点特殊的dp】 剪绳子
  • 原文地址:https://www.cnblogs.com/xumaomao/p/15210713.html
Copyright © 2011-2022 走看看