谈谈实现小样本学习的两条路径

来源:混沌巡洋舰

小样本学习是当下机器学习界的一个核心课题。大数据是当下深度学习的咽喉,面临收集成本昂贵,甚至根本无法采集的弊端, 小样本学习的实践价值不言而喻。对于众多产业来说, 真正能够收集到大量样本的是极少数情况,比如人脸识别,互联网上的文本等。而更广大的行业, 数据本身收集就很难,一些隐私伦理等障碍难以跨越,比收集数据更难的还有标注,大数据支撑的机器学习基本使用无望。

所谓小样本学习,就是使用远小于深度学习所需要的数据样本量, 达到接近甚至超越大数据深度学习的效果,也即是小样本学习的本质就是学习的效果与数据比值的提升, 或者说单位数据产生的模型收益增大了 。

与之高度相关的课题其实是迁移学习, 元学习, 提高模型泛化性能, 这些方法, 本质是在不对数据使用量进行限定的情况下, 如何让同一模型用到更广泛的数据分布和更多的任务, 因此它们是一颗硬币的两面。多一分泛化能力,就少一点数据成本。

那么, 小样本学习究竟有没有可能?这个问题其实是细思恐极。因为这个命题就像永动机一样, 似乎违反了能量守恒。不应该是有多少数据, 有多少模型效果吗?这里事实上一被忽略的盲点是先验知识, 二被忽略的是盲点是数据利用效率。

如果没有任何先验知识, 当然是有多少数据有多少模型。然而, 如果先验知识是充足的, 那么其实可以数据不足, 知识来凑。另一条路则是提高单位数据的使用效率, 如果每个数据对模型的改进都是有效的,远离随机游走。

也就是说, 实现小样本学习的方法, 主要是 1, 如何让给定模型具备相关任务的先验知识, 2, 如何让每个数据产生的学习效果更加一步到位。

关于1,其实这也是人类可以小样本学习的关键,所以我们就从人的认知力说,首先谈谈概念的学习和使用

有关1的方法, 事实上很多, 我觉得如果让对它们进行分类,就要对先验知识的理解和表示进行分层。

比先验知识更好的一个词是世界模型, 因为世界模型蕴含了不同层次的知识, 而且知识和知识不是孤立的, 而是存在因果联系的一个网络,也就是它对应一个被理解的世界,而不是死记硬背的词条。

这个世界模型里的知识是有层次的。站在最底层的是一些特别基本的先验,而高层的对应更加具体的知识。 

对于比较根本的先验, 通常对应真实物理世界的常识,有一些常识熟悉到我们已经忽略到了它们的存在。比如时间,空间,运动,因果本身。这些先验往往对应我们在婴儿期就掌握的一种从进化,发育,和早期探索得来的知识,通常被称为intuitive physics。

这些先验一旦被利用,将大大减少需要的样本数。比如卷积就是抓住了空间平移这一类先验。虽然卷积的学习速度依然是缓慢的,但是相比一个全连接网络已经好太多。

另一类先验更为具体, 对应长期记忆中的基本概念的细胞,比如不同的颜色,老人儿童动物植物的区分, 这些是组成事物最根本的概念,比比刚说的intuitive physics 要具体, 但是相当于特定领域的知识,它们依然是非常基本的。

这些先验的掌握, 会在特定的问题上大大减少需要的数据量。其中一类非常重要的概念, 是关于关系的假定, 比如加减法, 位置的相对关系, 关于概念比较等,有了这些关系, 基本概念可以组合成复杂概念, 这样对于新的复杂概念的学习可能仅仅需要几个样本。

关于关系的常识里对时间预测特别重要的是因果关系, 和刚刚说的因果概念本身, 这里指的是各个领域里更为具体的因果常识,比如水往地处流, 有了这些关系先验, 对未发生的事情的预测需要的数据样本将大大减少,就好比掌握了基本物理定律的人很容易预测各类运动。

然后我们来看看基本能力

人的复杂能力无疑是由各种基本能力组成的, 比如我们经常做的那些智商测试事实上是在测试我们的基本能力, 如记忆能力, 想像力, 推理能力。有的人具有很好的视觉工作记忆,看过一个东西过目不忘, 也有的人对数字敏感这是基本能力的不同。这些基本能力对应我们不同的脑区的一种素质, 这些脑区的组合成就了具有综合能力的人,使我们学习新的任务非常迅速。

从这两个角度看,小数据学习这件事压根不存的,是构建在“进化” 这个低效的大数据学习基础上筛选出来的各种基本概念或能力上的。但是,一旦有了这些先验和概念,我们的大脑就可以根据基本概念和关系,构成新的概念, 新的概念和旧的概念连成网络,预测感官世界的改变,最终构成世界模型的本体, 也构成人脑很快可以根据一两个数据来学习的基础。

一句话说,就是人的学习建立在人脑的模型之树上, 里面的知识有的是我们意识到的, 有的我们甚至意识不到。我们没有哪一个学习是孤立的从零开始的训练。

我们再来看机器学习,当下机器学习所使用的知识还极少真正用到了人类世界模型的本体, 而是跟多的是领域依赖的零碎的先验。它们的存储形式也可以根据不同的方法分为知识图谱那种显式的符号化的知识, 和隐藏在网络权重里分布式存储的隐式知识, 甚至也有存储在贝叶斯条件概率中的统计知识。这些知识的获取方法, 已经构成了小样本学习的基础, 我们就来看看其中的一些范式:

通过构建先验的范式

1, 基于预训练的范式

Transfer learning 已经基础成为图像处理领域的范式,这一类模型往往基于一个大规模的公共数据集训练一个基础网络(backbone), 在未来的需要迁移的数据集在finetune一个classifier。经过ImageNet预训练的ResNet 50 可以作为各类视觉任务的基础网络(backbone)也是广为人知, 只要所学习的数据离ImageNet包含的类型不是那么远这个方法都有保证。

事实上这就是小样本学习的最基本方法。更为突出的则是自然语言处理领域的Bert和GPT-3, 它们不仅使用了所有可以找到了所有可能的网络文本作为预训练的素材,而且其网络参数的巨大和框架的表达力使得它们成为所有下游自然语言处理任务的超级基础, 在此基础上, 模型在很多类任务上实现了zero-shot or one-shot 学习。

Transfer learning是否可以减少训练数据本质取决于:

1, 训练backbone的大数据集和最终需要小数据学习的特定数据集的差距。

2, backbone 到底掌握了多少解决不同领域问题的基础知识。 

在无法量化1和2的时候,这个效果就有点炼金术的感觉。值得一提的是,当下的因果推断给出了对这一问题定量的一定依据。因为backbone里掌握的知识如果越接近下游任务的因, 则transfer Learning的效果会更好。

当下开始慢慢进入主流的一个迁移学习范式,是所谓的自监督学习,被lecun这类大牛认定为深度学习的救赎。这类学习范式通常免除了数据收集的魔咒就是标注。比如我们的摄像头每天无时无刻的看着这个世界的变化,它没有标注。

我们的网络无时无刻的记录着没啥意义的网络文本和图片, 这些数据被收集下来, 却无法被利用。自监督的方法就打开了一扇大门把这些数据里隐含的结构性信息给挖掘出来。这个学习的通常范式是把这些原始数据的一部分遮盖住, 让机器猜测被遮盖的部分, 或者把数据分段,用过去一段的数据预测下一段的数据,机器猜测和预测的过程就会学习到一个生成模型, 学到视频或自然语言背后的结构性信息。 

另一类崛起的范式是contrasive learning,对比性学习,比如在一个图片里抠出一小块,放到一大堆图片里让机器发掘是哪个图片里出来的, 这本质有点像聚类, 让机器充分的去比较相同或比较不同,最终发现图片里的结构信息。这两种范式都可以在认知科学里找到一定对应,尤其是第一种, 和生物的预测性编码息息相关,有兴趣的同学可以关注贝叶斯大脑。

经过这一类预训练的模型通常在后续任务里样本需求大大下降。

Neural scene representation and rendering(不停预测下一帧图片的自监督学习)

https://science.sciencemag.org/content/360/6394/1204.abstract

2, 基于元学习的范式

基于元学习的范式则更加精准的靶向few shots learning的问题。元学习指的是通过学习一系列任务集,而不是一个个数据,来掌握一个基本模型, 可以在新的任务来到时候, 用最小的数据完成训练过程。 

这个概念有时候和transfer learning很容易混淆,但是又不同。因为在meta - learninig 里, 往往训练是按照一个个episode 进行, 模型试图学习的是不仅仅是通用的特征,而是可以迅速在少量数据提取模型的方法本身, 这点有点像是一个训练模型的模型,或者学习如何学习。

关于元学习的范式,本质上和刚刚讨论的人可以小样本学习的认知基础是相通的, 有的是学习一个不同类事物背后可以共同被使用的表征或测度, 然后新来的训练集和测试集只需要在这个测度里做一个距离度量就可以实现分类或预测。有的则是学习一个能够生成模型的网络。

比如通过一个较大的记忆网络生成针对每个子任务的网络权重,这就好比掌握一定基本能力的人在新任务面前迅速生成新的能力。对于元强化学习, LSTM本身在多个任务集上学到的动力学针对每个具体任务相当于实现一个新的算法,可以通过在新的环境里自适应得到新的模型。另外一大类方法是学习不同的子任务背后一个比较好的优化起点,如MAML等。所有的元学习都可以大大减少在子任务需要的数据样本,本质上与人类通过先验结构或世界模型减少数据样本的能力是想通的。

基于Metric的元学习范式

学到生成模型的模型的元学习范式

基于优化的元学习范式

3, 模块化系统

模块化的系统,可以通过模块的复用或组合迅速的实现小样本学习。我本人在ICLR2020的网络, 通过先预训练不同认知功能的模块(比如认知地图,或者事件记忆),实现了在新环境里快速学习导航任务的泛化能力。基础模块的学习本身其实可以看做是一个元学习的方法,因此可以看做是2的一种特殊情况。

许铁的文章

IMPLEMENTING INDUCTIVE BIAS FOR DIFFERENT NAVIGATION TASKS THROUGH DIVERSE RNN ATTRRACTORS , ICLR 2020

训练Agent 智能体通过其RNN动力学掌握对不同环境侧面的认知能力, 包括对空间位置和事件的认知和记忆能力, 从而导致Agent在各种不同导航任务中的不同性能, 最终组合这些网络模块,使得agent可以用少量样本在新环境达到极高性能。

多任务设置

从预训练的不同网络中筛选出来组合

4, 记忆系统

深度强化学习是一个需要特别大数据样本的学习范式。本质上, 我们需要在大量经验的基础上获得Q value。相比之下, 人类可以一招被蛇咬,十年怕井绳,说明只需要被蛇咬一次,就可以学到对同类事物的价值泛化(绳子 近似 蛇 等于 危险)。这种能力的获得是因为人具备情景记忆的能力。大量的经历被抽取到海马中, 使得人能够从相似的经历中抽象出一些共同的模型,在新的事件出现的时候, 通过做比较的方法, 来得到一个Q函数, 从而快速的学习,所谓以史为镜,可以明得失。

例如:Continual and Multi-task Reinforcement Learning With Shared Episodic Memory ,通过提高数据利用效率的范式

5 改善优化方法

事实上另一种小样本学习的方法是如何提高每个样本的使用效率。这就不得不提提当下深度学习速度慢的一大根源,就是随机梯度下降法, 随机梯度下降, 本质上是利用梯度函数, 在非凸的复杂曲面上摸索寻找最优参数。一个小批量数据进来, 对整个目标的优化是非常有限的。

但是在传统机器学习里, 有很多学习方法可以更充分的利用每个数据, 比如recursive least square这样的直接求最优解的方法,或者SVM这种通过对偶空间得到的优化方法。甚至生物学习的基本方法Hebbian learning ,也有比深度学习当下的随机梯度下降法更高的数据利用率。

在hebbian learning中,不同刺激引起的神经元先后放电会加强两者的联系,从而可以直接把两个不同的信号联系起来。因此, 如何改善学习方法也是实现小样本学习的重要途径。

在优化方面,一个小数据学习的致命杀手是灾难性遗忘, 也就是当模型需要连续的学习一些改变, 比如先识别1,2,3 ,再识别4,5,6, 学过1,2,3的网络往往很快就忘记了4,5,6,这无疑降低了数据利用率。有一些优化的方法可以有效的缓解这一问题 ,其中有些还用到了脑启发的算法。比如最近余山老师的文章。

论文提出了正交权重修改 (orthogonal weights modification,OWM) 算法和情境依赖处理 (context-dependent processing,CDP) 模块,使得灾难遗忘问题得到有效缓解,从而提高了数据的利用效率

减少模型的参数量

训练过深度模型的同学都知道, 通常情况下,模型的参数越多,收敛速度就越慢。因此, 如果模型在达到类似效果的同时有效减少模型的参数数量, 会对小样本学习起到非常大的助力。

这其中的一类非常典型的代表就是用一个随机的网络直接提取特征, 而不去训练内在的权重, 然后只训练一个读出层得到需要的输出。由于 读出层的参数数量往往比整个网络小很多, 从而减少需要的模型参数数量。比较典型的如训练RNN用到的蓄水池训练。

蓄水池训练有效利用了神经网络内在的动力学

事实上 , 对所有网络权重进行一个简单的梯度下降正好显现了我们对神经网络数学本质的无知。比如一些研究显示, 如果需要控制一个RNN网络的功能, 其实真正需要改变的权重数量是很少的。这些研究来自对梯度下降的RNN进行理论研究的团队。虽然整个RNN 的隐层网络的参数等于神经元的数量的平方,但是并不是改变所有这些参数都有意义。

生物大脑的网络连接synapse每时每刻都在进行着微小的随机扰动, 但是我们的日常认知功能却从来都十分稳定,这说明决定一个网络功能的可能不是网络权重大小的具体值。一个被称为low rank pertubation的理论指出, 控制这样一个巨大的神经元数量平方级参量的网络,只需要控制一组和神经元数量成线性的向量即可, 这组向量叠加在整个随机网络之上,就可以让网络表现出各种不同的认知功能。

Linking Connectivity, Dynamics, and Computations in Low-Rank Recurrent Neural Networks

这些工作指出的一种可能性,是我们当下的学习训练方法类似于前牛顿时代的工匠雕砌, 虽然也可以做的出罗马的大斗兽场,却是一种效率低的多的方法 。如果发现了真正的牛顿力学,这一切都是轻而易举的。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/486284.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是物联网?常见IoT协议最全讲解

作者:付强来源:IoT物联网技术(ID:IoT-Tech-Expo)01 什么是物联网?物联网(Internet of Things)这个概念读者应该不会陌生。物联网的概念最早于1999年被提出来,曾被称为继计算机、互联…

java下发命令nbiot,NB物联网之天翼物联(3)——编解码插件上传规则细解(java开发物联网)...

前言电信的编解码插件本意上是可以让我们的开发更加灵活,但是你好歹把文档写明白啊。。。同时在正常的生产中我们的产品不可能只使用电信的模块,有时甚至是客户要求使用移动还是电信的模块,所以兼容性给我们的体验非常直观!我们先…

netcat使用

前言 最近在做渗透测试的时候遇到了端口监听和shell的反弹问题,在这个过程中自己对Netcat这一款神器有了新的认识,现将一些Netcat的用法做一个小总结,希望对各位有帮助! Netcat简介 Netcat是一款非常出名的网络工具,简…

重磅:国家正式出台学术不端行为界定

来源:科研大匠大家都在反对学术不端,何为学术不端?如何界定学术不端行为?其实,此前并没有一个明确的标准。2019年5月29日,国家新闻出版署才正式发布我国首个针对学术不端行为的行业标准——《学术出版规范—…

Gartner:解开关于人工智能的六个迷思

来源:Gartner“人工智能将自动执行所有工作并让人类失业。”“人工智能只是一种虚构的技术。”“机器人将占领整个世界。”围绕人工智能的炒作给主流媒体、董事会议和各企业机构留下了许多迷思。有人担心“万能”的人工智能将占领全世界,有人则认为人工智…

java搭建线程池框架,JAVA线程池管理及分布式HADOOP调度框架搭建

大家看到了线程的好处了吧!单线程需要10S,10个线程只需要1S。充分利用了系统资源实现并行计算。也许这里会产生一个误解,是不是增加的线程个数越多效率越高。线程越多处理性能越高这个是错误的,范式都要合适,过了就不好…

IBM将收购Instana公司,持续推进其混合云和人工智能战略

来源:IBM中国收购 Instana 后,IBM 将帮助企业在多团队和多云(平均 2到 15个)环境下更好地管理他们的应用性能。[1]这也是 IBM 持续完善其由人工智能所驱动的自动化能力的又一例证,IBM 的其他相关举措还包括&#xff1a…

[原创]关于在VS解决方案下使用文件夹管理多个项目层次关系的说明

由于所创建的应用项目或类库项目较多,于是将这些类库放到一个文件夹下。在VS解决方案下确实能看到一个文件夹下多个类库项目这种层次关系。如下图所示: 但打开“我的电脑”,看到的只有类库,并未看到维护层次关系的文件夹。如下图所…

java进阶(二)-java小干货

java一些精干知识点分享 2. java小干货2.1循环遍历2.2可变参数2.3 list和数组转化2.3.1 数组转list2.3.2 list转数组 2.4 值传递和地址传递2.4.1值传递2.4.2 地址传递2.4.3易错点总结 2.5 数组数组帮助类Arrays 2.5 基本数据类型和包装类2.5集合2.6文件流2.7java代码块、内部类…

机器直觉

来源:专知当前以深度学习代表的人工智能技术所能解决的问题往往需要具有大量可以借鉴学习的训练 集, 同时要求所获取的信息是完备的. 但在复杂时变的真实应用环境中, 采集到的数据往往包含大量 噪声与不确定性, 且仅包含环境的局部信息, 导致了基于深度学习的人工智…

vb.net读取excel并写入dgv_读取PDF中的表格写入EXCEL?30行代码搞定

办公自动化系列1现在,各类数据分析的书籍,都可以在网上找到PDF版本;同时,百度文库、各类数据统计文库、行业研究等众多论文报告,是通过PDF的形式去展示输出的;但是,令人都头疼的是,各…

英媒:人工智能终于接近人类智能了吗?

文章来源:金融时报作者:John Thornhill图片来源:网络编辑:江上波摘要:GPT-3被誉为人工智能领域的重大突破,有人认为它甚至显示出初步意识迹象,另一些人则指出GPT-3存在可笑的缺陷。它可以大量炮…

大创中期报告怎么写_课题研究中期报告怎么写?这篇范文很说的很详细

中期报告一般要求1.课题简介:课题由来、课题界定、研究目标、课题研究内容。2.研究情况:按时间顺序或内容板块有条理地说明研究工作的开展情况;有详有略、有主有次地陈述研究过程中做了什么、怎么做的。3.阶段成果:客观地阐明本课…

vba九九乘法表代码_VBA代码模块化--数据透视表

本周工作中,用到了数据透视表的操作,这里汇总一下,学习途径来自网络,学习成果我也乐于分享一二~,代码整理为模块,供大家举一反三,可以套用。① 创建数据透视表,及基本设置先展示数据…

IoT 、5G与边缘计算将会擦出怎样的火花?

来源:半导体行业观察边缘计算是数字世界中最令人兴奋的新概念之一。利用占用空间很少的微型数据中心网络,边缘计算使系统能够实时收集并分析重要数据,而不会增加现有基础设施的负担。在物联网系统中,通常以端到端的方式&#xff0…

“嫦娥上月球挖土”!打破尘封44年的人类历史,中国航天实现“五个首次”...

资料来源:人民网、中国新闻网、智东西等物联网智库 整理发布转载请注明来源和出处3!2!1!点火!随着一声声振奋人心的倒计时,北京时间11月24日4时30分,搭载嫦娥五号月球探测器的长征五号遥五运载火…

就php干活,php可以做什么?,懂得这些技巧就够了

PHP,是英文超文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。工具/材料电脑PHP操作方法011、运行在服务器端&…

世界上有没有无法破解的密码?揭秘量子通信 | 图图是道

来源:文章2020年11月23日发表于《中国日报》的微信公众号 图图是道科学顾问 / 中国科学技术大学副教授 袁岚峰监制 / 柯荣谊 联合监制 / 邢志刚 统筹 / 张若琼总策划 / 王晓莹 主笔 / 张周项 绘制 / 吴洋未来智能实验室的主要工作包括:建立AI智能…

从源码的角度再看 React JS 中的 setState

在这一篇文章中,我们从源码的角度再次理解下 setState 的更新机制,供深入研究学习之用。 在上一篇手记「深入理解 React JS 中的 setState」中,我们简单地理解了 React 中 setState “诡异”表现的原因。 源码的部分为了保证格式显示正常就截…

科普|深度解析5G与未来天线技术

来源:电子万花筒过去二十年,我们见证了移动通信从1G到4G LTE的转变。在这期间,通信的关键技术在发生变化,处理的信息量成倍增长。而天线,是实现这一跨越式提升不可或缺的组件。按照业界的定义,天线是一种变…