Human-level concept learning through probabilistic program induction

论文:《Human-level concept learning through probabilistic program induction》 


背景:

  近年来,深度学习表现出接近人类水平的认知效果。但我们发现,深度学习仍然需要大量的训练数据才可以让机器进行“学习”,在这一点上,人类可以仅仅通过一个或几个简单的例子就可以学习新的概念,识别并派生新的概念,并且学习更丰富的特征,例如举一反三,分解等。

  那么人类是怎样从稀疏的数据中进行学习概念并且进行类比的呢?

  这篇文章在手写字符实验中也参考人类学习的能力,创造性的提出使用朴素贝叶斯分类器来进行一次分类学习,即可以识别仅见过一次的字符,并可以根据该字符进行新的类型的“创造”。该方法通过了图灵测试,仅有25%的人可以成功分辨给定字符是由计算机生成还是由人类手写得到。

  如上图所示,在A或B图中,i)中我们可以通过仅有的一个例子进行分类;ii)中可以产生新的例子;iii)中对例子进行分析parse;iv)中派生出新的类型。

  通过图i)我们可以只通过一张新型双轮机器得到该新概念与其他的界限区分,在ii)中可以生成其他形式变形的双轮车,iii)中可以解析该双轮车的部件,并且在iv)中与其他类型结合生成新类型的车

  我们在模型中加入组合性、因果性和自主学习的能力,可以从极少的例子中进行学习。

    组合性:丰富的概念可以从简单的概念组合得到。

    因果性:将噪声加入模型中,利用噪声生成更真实、自然的字符。

    自主学习:通过生成层次化学习,可以通过之前的学习生成新的概念。

  所以我们希冀于仿照人类的学习方式建立贝叶斯概率学习模型:仅通过少数的例子仿照人类组合性、因果性和自主学习,去实现分类、解析和举一反三。


Bayesian Program Learning:

  BPL模型将concept表示成概率program,通过重组parts、subparts来得到低层的type,进而生成raw data。本文进行了one-shot分类、生成新例和生成新概念的实验。简而言之,BPL可以通过现有的碎片信息来重新加工,捕捉真实世界中的因果关系,重生成多层面的结果。

数据集:

  文章以手写字符为例比较了人类,BPL和其他一些算法在学习概念(concept learning task)上的差别,这一任务用到的视觉概念来自于Omniglot,这是一个我们从50个书写系统中收集到的1623个手写字符(Fig 2),包含每个字符的图片和笔画。(这里所说的视觉概念可以理解成一个字符,比如说中文里一个“高”字,不同的人可能写出不同版本的高,但这些都是“高”这个concept的examples)

  关于Omniglot数据集:首先从www.omniglot.com网站上获取这么多字符的图片(printed form),再在Amazon Mechanical Turk (AMT)上雇佣志愿者来看图手写这些字符,手写过程会被记录,包括何时提笔,何时落笔,字符笔画的书写顺序等,这样就相当于进行了笔画的拆分。 

Omniglot

  概念类Ψ和M个该类的tokenθ_1 θ以及对应的二值图像I之间的联合概率分布为: 

这里写图片描述

  一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值