前言
无论是有监督学习还是无监督学习、半监督学习。无论算法是什么,一直感觉机器学习、深度学习模型都是一种数据驱动的。换句话说,足够且有质量的数据,才能让模型学到一定的知识,达到比较理想的效果。
但在实际应用中,很多领域、特定问题是没有足量数据,或者说训练任务和目标任务数据分布不一致。因此,需要有一些模型的学习方式,不是指特定的模型,而是解决上述问题的思路。
这里,参考《神经网络与深度学习》这本书,将第10章的部分内容做了简单的笔记。
主要关注点:多任务学习、迁移学习、小样本学习、元学习
一、迁移学习
1. 迁移学习是什么?
- 将相关任务的训练数据中的可泛化知识迁移到目标任务上。
- 也就是不同领域的知识迁移的过程,源领域——目标领域。
- 领域指的是一个样本空间 ( x , y ) (x,y) (x,y)及其数据分布 p ( x , y ) p(x,y) p(x,y)。只要三者中有不同,就是不同领域。
- 说人话就是,输入-输出-数据分布相同,才是两个相同的标准机器学习任务。换句话说就是一个数据集你用不同模型跑跑。
2. 为什么需要迁移学习?
目标领域(任务)缺乏足量的数据,要么是没有标注、要么是量太少;如果有相关任务(数据量大),能从中学到相关知识,就可以将这些可泛化知识迁移到目标任务上。
3. 如何迁移?
- 归纳迁移学习:在源领域和任务上学习出一般的规律,然后将这个规律
迁移到目标领域和任务上 - 转导迁移学习:一种从样本到样本的迁移,直接利用源领域和目标领域的样本进行迁移学习.
归纳迁移学习是比较常见的方式,在图像领域与自然语言处理都有较多的应用。
- CV:源领域任务一般是大量有标注的数据。比如ImageNet,动机是神经网络底层的特征是图像中比较有共性的特征,高层才是比较有领域代表性的特征。
- NLP中的源领域数据一般是没有标注的大规模语料。比如维基百科、微博等等。然后利用语言模型、设计相应的训练任务(比如bert的masked word以及next sentence prediction等)。简单来说,将大规模文本上的无监督学习(比如语言模型)中学到的知识迁移到一个新的目标任务上。
归纳迁移学习的两种迁移方式:
- 基于特征的方式:将预训练模型的输出或者是中间隐藏层的输出作为特征直接加入到目标任务的学习模型中。目标任务的学习模型可以是一般的浅层分类器(比如支持向量机等)或一个新的神经网络模型。
- 这里感觉word2vec这种词向量就是将中间的权重矩阵取出,作为目标任务的第一层(embedding),应该算是基于特征的方式。
- 精调的方式(Fine-Tuning):在目标任务上复用预训练模型的部分组件,并对其参数
进行精调。- 目前比如bert这样的预训练语言模型,就是用这种方式,通常就是将最后几层输出进行一些操作,拼到特定的任务上,比如分类、序列标注、阅读理解、句子相似度计算等。
转导迁移学习
-
转导迁移学习通常假设源领域有大量的标注数据,而目标领域没有(或只有少量)标注数据,但是有大量的

本文深入探讨了机器学习领域中的迁移学习、多任务学习和元学习的概念与实践。迁移学习通过将源任务的知识迁移到目标任务,解决数据稀缺问题。多任务学习则通过共享相关任务的知识,提升模型性能。元学习旨在学习如何学习,快速适应新任务。
最低0.47元/天 解锁文章
1040





