• 李宏毅机器学习笔记12(Transfer Learning)


    Transfer Learning

    1、什么是迁移学习

    2、如何实现迁移学习

      1)source有label,target有label

        一、model fine-tuning(模型微调)

          方法一、conservative training(保守训练)

          方法二、layer transfer(层迁移)

        二、Multitask Learning(所任务学习)     

      2)source有label,target无label

        一、Domain-Adversial training (领域对抗训练)

        二、zero-shot-learning(零样本学习)

    1、什么是迁移学习  

      迁移学习适用于:训练数据中,

    •  target data:相关的数据,很少
    •  source data:不直接相关的,很多 

      迁移学习两大任务:

    •  source data是相似的领域,要做不同的任务
    •     source data是不同的领域,要做相同的任务

      比如说,现在要做猫狗分类:

    •  source data是一些大象和老虎(动物领域),用训练大象老虎分类的模型去识别猫狗
    •     source data是一些卡通的猫和狗(不同领域),用卡通猫狗的训练模型去识别target data的猫狗

                   

    2、如何实现迁移学习  

      

        

      1)source有label,target有label
        一、model fine-tuning(模型微调)

          思想:用source data去训练好模型,再用target data微调模型

             

            

          方法一、conservative training(保守训练)
              

              如果你直接拿这些去train的话就坏掉了。你可以在training的时候加一些限制(正则化),让新的model跟旧的model不要差太多

             

          方法二、layer transfer(层迁移)


          把source data训练好的模型的其中几层直接copy,用target data 训练剩下没copy的层即可

         

         复制哪些层是有讲究的:

         语音识别中:一般迁移后几层,因为后几层可能做的是根据人的发音方式做识别;

         图像识别中:一般迁移前几层,因为前几层做的事情可能就是一些直线、曲线等通用图形。

       

         

        二、Multitask Learning(所任务学习)   

     
           多任务学习跟fine tuning不同是:在fine tuning里面我们care target domain做的好不好,那在多任务学习里面我们同时care target domain跟source domain做的好不好 

                        

      2)source有label,target无label

        一、Domain-Adversial training (领域对抗训练)

        
          比如现在要做不同领域相同任务的事情 :

         思想:既然是不同领域,那么就减少不同领域的特征差异

          把一个neural network当做feature extract,neural network前面几层我们可以看做是抽feature,后面几层可以看做classification

                           

        

        Domain-Adversial training网络结构:

        蓝色label predictor:做的事情是把class分类做的正确率越高越好,

        红色domain classifier:做的事情是想正确predict image是属于哪个domain。

        绿色feature extractor:想要做的事情是:要同时improve label predictor,同时想要minimize domain classifier accuracy

        

        二、zero-shot-learning(零样本学习)

          比如现在要做的事情是:用相同领域数据,做不同的任务

          思想:找到相同领域数据中更小的attribute(属性)

                       

          具体如何训练

        

  • 相关阅读:
    十大排序算法详解,基本思想+动画演示+C语言实现,太肝了!
    宛如一个未来穿越者,终年33岁的印度数学天才,大数学家哈代说“他发现并创造了数学”
    编程的相关概念
    android中ScrollView嵌套ListView或GridView显示位置问题
    炫酷MD风之dialog各种对话框
    (转载)new Thread的弊端及Java四种线程池的使用
    (转载)Android开发——Android中常见的4种线程池(保证你能看懂并理解)
    (转)android import library switch语句报错case expressions must be constant expressions
    eclipse中将一个项目作为library导入另一个项目中
    (转)Android四大组件——Activity跳转动画、淡出淡入、滑出滑入、自定义退出进入
  • 原文地址:https://www.cnblogs.com/xxlad/p/11412337.html
Copyright © 2020-2023  润新知