1.假设多个任务loss在同一个metric下,那几乎不用统一,除了一些先验干预。各个任务可以得到平等对待。如果同一个metric下不同任务loss差别巨大,那就是任务训练难度本身的问题。同步到一个数量级也不能解决一个任务训练不好的问题。
2. 多个任务在不同metric下,这本身就是一个很trick的活,在不加任何假设前提下,统一一个数量级就是最大熵。
3. 个人认为loss是因,梯度是果。梯度是你不好控制的,你对loss进行的缩放直接就作用在了loss。目标作为优化参数,那梯度就成了因,所以从好入手的loss是可以大部分决定参数的好坏的。
4. 从动力角度,梯度衡量了loss对参数的敏感程度,决定了loss的作用能力。理论上只要梯度存在,一般算法对参数的更新会随着更新频次变小,还是可以收敛到一个比较好的值。那核心为题就是如何保持一个较为稳定持久的梯度。
5. 一般其实你看梯度,看参数都很难得到一个理想的答案。大概思路就是看收敛速度,梯度消失情况,适当对不同结构选择不同的优化器,学习率。
6. 有时候会加一些业务场景,比如结构中存在embedding这种会出现长尾分布的参数+dense这种不断再更新,或者rnn,cnn等。embedding就更适合adagrad这种适合不同频率的参数算法。