课题实验过程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MrWilliamVs/article/details/89156667

4.9号

  1. 初步跑起来,
    sigmoid_cross_entropy_logits.
    只有联合优化。
    在这里插入图片描述
    发现的问题,
    1)batch划分不均匀,训练过程,不稳定,忽高忽低;
    2)代码整理下,最好6个loss一起优化;(有可能只能优化一个联合loss)
    3)可以图显示。
    4)不用准确率来衡量。

  2. 改为softmax 交叉熵。
    在这里插入图片描述

4.17: 跟老师讨论之后。

多任务(Multi-Task Learning):

http://www.cnblogs.com/shuzirank/p/7141017.html (深度学习多任务概览)
1)单一任务和模型的精心调参,改进模型直到性能不再提升。忽略了相关任务的监督数据,相关任务间共享表示信息,在原始任务上泛化性能会更好
2)多任务学习有很多形式和别名: 联合学习(Joint Learning)、自主学习、借助辅助任务学习(经常使用的),
3)一旦发现,正在优化多于一个的目标函数(loss function),就可以通过多任务学习来有效求解。 通过使用包含在相关任务的监督信号中的领域知识,改善泛化性能。 帮忙改善主任务的学习性能。
4)机器学习角度来看,多任务学习视为一种规约迁移(inductive transfer)。规约迁移通过引入规约偏置(inductive bias)来改进模型,使得模型更倾向于某些假设常见的一种规约偏置是L1正则化, 使得模型更倾向于那些稀疏的解。 多任务学习中,规约偏置是由辅助任务来提供的,导致模型更倾向于那些可以同时解释多个任务的解。使得模型的泛化性能更好。

多任务学习常用的两种方法:

1)隐层参数的硬共享: 多任务学习中最常见的一种方式。所有任务的所有隐层共享, 保留任务相关的输出层。 这种硬共享机制降低了过拟合的风险。 越多任务同时学习,模型就能捕捉到越多任务的同一表示,导致我们在原始任务上的过拟合风险越小。

2)隐层参数的软共享:每个模型都有自己的模型,自己的参数,对模型参数的距离,进行正则化来保障参数的相似。

深度学习中,一些最新工作,都或显式或隐式的使用了多任务作为其模型的一部分,但是仍然属于前面提到的两种共享方式。

辅助任务(Auxiliary Tasks):找到一个辅助任务,来使得多任务学习受益。(选取辅助任务的目标:应该是与主任务密切相关,能够对主任务的学习过程有益,)

https://www.jiqizhixin.com/articles/2019-02-16 (多任务中,如何设计损失,优化各个任务之间的关系)

多任务学习中的优化,权重动态调整,如果各任务之间能够做到互不竞争,每个任务都将得到充分优化。

https://www.jianshu.com/p/5bd287f14f35 (多任务实现,联合训练)

评估: 多个任务之间的平均测试误差。与单任务之间的测试误差比例。

扩大类间距离,缩小类内距离。

猜你喜欢

转载自blog.csdn.net/MrWilliamVs/article/details/89156667