美文网首页
2019-12-02 吴恩达深度学习笔记:迁移学习、多任务学习、

2019-12-02 吴恩达深度学习笔记:迁移学习、多任务学习、

作者: Yuyao_b2c0 | 来源:发表于2019-12-02 09:20 被阅读0次

    一、迁移学习

    1.Finetune 

    在一个数据集上训练完神经网络后(pre_training预训练),在另一个数据集上再训练

    再训练方法:

    1)前面的层不动(冻结),重新初始化最后一层的权重,并把y值改为新数a据的y,然后训练最后一层

    2)前面的层不动(冻结),删除最后一层,在后面加入新的几层,并把y值改为新数据的y,然后训练新加入的几层

    如果数据量较充足的情况下,以上方法前面的层也可以重新训练,可以使用之前训练的结果做参数初始化

    2.Finetune什么时候可以用:

    1)源域数据量比目标域数据量充足

    2)源域前面层学到的基础特征对目标域学习有帮助(eg.识别不同领域的图像)

    3)两个域的输入特征是一样的(这个是finetune所以有这个要求,其实迁移学习也包含输入特征不同的情况下的研究)

    二、多任务学习:

    idea:各任务的学习有互相帮助的作用

    1.方法:

    最后一层从1维输出改为多维输出,每个node代表一个任务(1,1,0,1)

    注意:与softmax不一样的地方,softmax是只有一个node可以是1,多任务学习可以同时多个为1

    **如果多任务学习的标签打标的时候有些标签的有些任务有缺失值,仍然可以使用这些数据,算loss的时候这一条数据不算缺失标签的任务的loss就可以了

    2.什么时候可以用多任务学习;

    1) 这些任务之间存在共性可以被基础层学到

    2)(经验)每个任务的数据量差不多,并且如果想在多个任务中的一个任务上比单一训练有所提升,那么其他所有任务加在一起的数据量应该远超过单个任务的数据量

    3)使用多任务学习方法后可以建一个更大且足够大的神经网络

    3.多任务学习用的比迁移学习少很多

    三、端到端学习

    什么是端到端学习:

    有些机器学习目标传统上需要分多个步骤学习,端到端就是不用人工设计中间步骤,直接从一开始的输入学最后的目标输出;

    有点:

    省事儿,不用人工设计了,并且人工设计不合理的话不如直接让数据说话

    缺点:

    1.需要端到端数据量大

    1)人工设计的每一步数据量都够,但是端到端的不够

    2)本身训练端到端就需要较大的数据才能学到

    2.人工部分的帮助就没了

    总而言之,看看数据量够不够学端到端复杂度的东西

    相关文章

      网友评论

          本文标题:2019-12-02 吴恩达深度学习笔记:迁移学习、多任务学习、

          本文链接:https://www.haomeiwen.com/subject/cnlxgctx.html