【科学杂志】贝叶斯模型颠覆深度学习?概念大于实际

粗略看了一下Science那篇论文 ---Human-level concept learning through probabilistic program induction。

整体思想是用一个贝叶斯模型来描述人写字的概念, 其实就是模拟了人写字的过程, 并且模型已知字是由笔画组成这个概念, 生成一个字的过程就是寻找笔画, 并且用笔画组成这个字。整个过程分为两大步:

  • 生成一个字的结构(type) : 笔画集合、笔画间的关系
  • 生成一个字的形象(token) :通过按概率采样每一个笔画的 初始点 以及 轨迹 生成最后的图像

算法在本文末有描述。显然笔画集合、笔画间的关系集合 是非常重要的, 文中提到这个来源于 background 显然不是来源于训练集了。

所以可以玩 one-shot. 训练集只用于学习各个阶段的抽样概率(选笔画的概率, 选笔画关系的概率等)。但是整体来看这个模型的这些概率参数决定了最后对文字的生成结果, 用一条训练样本训练风险应该比较大, 即使作者在一些步骤加入了随机扰动可以从多个结果中选一个最优的还是不太能理解为何效果会那么好。

如果不同语种分开来做的话, 笔画集合、笔画关系集合本来就限制在了一个非常小的范围内, 这可能是模型效果非常优秀的原因。

模型确实在给定了字是由笔画组成的这个先验知识后, 能自己去组合这些笔画。这和人类学习写字的过程几乎是相同的。遇见一个新的字人也会这样去模仿。

但是如果仔细来想, 这个问题其实不难。因为一般的语种, 笔画集合、笔画关系集合确实非常小, 如果分语种学习似乎是在过拟合这个语种。因为解空间本来就小, 这时候BPL能取得很好的效果, 比较希望能看到这个模型能用到别的问题上的效果, 那样会更震撼。

作者的说法没有问题, 是学习了写字的概念。但是如果能不加入字是由笔画组成的概念, 而让机器学习出字由笔画组成这个概念, 这就真的是机器在和人竞争了。DeepLearning 并不适合解文中提到的问题, 所以要拿来对比其实有失偏颇。但是在大家盲目的DeepLearning的今天, 作者提出的这个概念意义远大于漂亮的解决学习写字的任务。

干货下载

1.【华创证券】机械设备:机器人大趋势

2.【东吴证券】大国崛起:中国智造值得中长期布局

3.【广发证券】清洁机器人:旧时王谢堂前燕,飞入寻常百姓家

4.【民生证券】人工智能 + 适合的应用场景

5.【荐书】The Master Algorithm

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2015-12-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hbbliyong

socket 通信 多线程调用窗体(委托)的几个知识点,记录在案,以备查阅

1.socket 通信传输汉字的方法:Encoding.GetEncoding("GB2312").GetString(Receivebyte) 发送接收都这样...

2737
来自专栏田超学前端

【微信小程序】c# 实现获取openid、session_key 服务端

4920
来自专栏跟着阿笨一起玩NET

从sql server 中读取二进制图片

391
来自专栏码匠的流水账

zuul自定义SimpleHostRoutingFilter

zuul的SimpleHostRoutingFilter主要用来转发不走eureka的proxy,里头是使用httpclient来转发请求的,但是有时候我们需要...

1282
来自专栏逍遥剑客的游戏开发

实现一个同步的RenderApplication

1394
来自专栏大内老A

开发自己的Data Access Application Block[下篇]

上接:[原创] 我的ORM: 开发自己的Data Access Application Block - Part I 4. Database 下面来介绍重中之重...

2236
来自专栏james大数据架构

CSS好看的按钮

好看的按钮 <style> .btn { BORDER-RIGHT: #7b9ebd 1px solid; PADDING-RIGHT: 2px; BORDE...

1997
来自专栏王磊的博客

MySQL数据库工具类之——DataTable批量加入MySQL数据库(Net版)

MySQL数据库工具类之——DataTable批量加入数据库(Net版),MySqlDbHelper通用类希望能对大家有用,代码如下: using MySql....

3619
来自专栏技术之路

sqlserver 的事务和c#的事务

sql的事务 1 sql 2 create database model 3 go 4 use model 5 go 6 create table ...

1919
来自专栏听雨堂

异步方式访问网页

采用BackgroundWorker,在后台执行程序,往往比开新线程更简单和更加安全。 简单的使用方法 System.ComponentModel.Backgr...

1839

扫码关注云+社区