写点什么

一种新的对象识别算法:挑战机器学习现状

  • 2015-12-28
  • 本文字数:1916 字

    阅读完需:约 6 分钟

机器学习的基本原理是模型训练。对于人类来说,可以从单一的样例中学习到非常深刻的知识,例如变质的牛奶味道很差、火是热的等,但机器却需要更多的样例,因为它们是基于统计学的原理进行学习。机器学习的过程主要依赖于数据。

不过,今天这种现象或许开始要改变了。本周,一篇人工智能论文登上了《科学》杂志的封面,为人类带来了人工智能领域的一个重大突破,来自纽约大学的Brenden Lake、多伦多大学的Ruslan Salakhutdinov 和麻省理工学院的JoshuaB.Tenenbaum 共同开发了一个计算机系统:“只看一眼就会写字”。

Salakhutdinov 表示,人们一直试图构建一个机器系统,让其能够像人类一样,只需要很少的数据就能执行新的任务。“复制这些能力是一个非常令人期待的研究领域,其涉及到机器学习、统计学、计算机视觉和认知科学等学科”。大约十年前,Salakhutdinov 与他的导师 Geoffrey Hinton 一起发表了一篇文章,题目为“深度神经网络”。这个算法能够从 6000 个样本的数据中,学习到从 0-9 的 10 个书写体字符概念的结构。而在 Lake 等人最新的成果中,引入了一个贝叶斯程序学习(Bayesian program learning, BPL)框架,它是一个能够模仿人类思维方式的机器学习模型,即能够从单一样例中进行学习。这是一个“学会学习”(learns to learn)的模型。

这篇论文的第一作者 Brenden Lake 曾在 Tenenbaum 的团队中获得认知科学博士学位,如今他是纽约大学的博士后。根据 Lake 的介绍,这个模型能通过视觉图灵测试。

论文指出,“只需要通过简单的概念,人类就可以比机器学习到更丰富的表示,也可以将其用于更广泛的功能,例如创造新的样例,以及基于现有的类别创造出新的抽象类别。最好的机器分类器都不能执行这些功能”。

作者继续表示,“目前的主要挑战是解释人类层次的概念学习的两个方面”。“人类是如何从一个或几个样例中学习到新的概念的?人类又是如何学习这种抽象的、丰富的和灵活的表示的?”

机器学习模型是通过更多的数据而获得提高的,但人类似乎能够打破这个看似基本的原则。

根据论文所描述的,BPL 能够让计算机对人类认知进行很好的模拟。传统的机器学习方法需要大量的数据来进行训练,而这种方法只需要一个粗略的模型,然后使用推理算法来分析案例,补充模型的细节。

研究者设计的学习方法到目前为止都只是针对具体的字符识别任务,例如世界字符表中的手写字符。它的工作是按照算法指令生成一个给定字符的程序表示,算法指令是为了告诉用户如何重新生成字符。结果是泛化的一种类别,按照相同的指令产生字母,不同的用户可能会产生许多不同的变化,但它仍具有相同的基本标志。

文章中解释,该模型能够自然捕获真实世界过程的抽象的“因果”结构,产生一种类别的各种样例。该模型能够使用先前产生的概念程序中的原语,不仅识别字母的新样例,而且可以创造新的概念程序,例如新字母。

下面介绍模型的工作方式。给该算法一个以前从未见过的字符,让它尝试五次来解析字符,每一个都是一个新的方案(因此新的方案本身是算法生成的)。这些方案根据不同的概率每次创作不同的新的字符。正如你在视频中看到的,结果与真实人类书写的基本一致,因此,这项研究被打上了“人类层次概念学习”的标签。

那么,该模型怎样才能适用于一般的机器学习呢?

纽约大学的数据科学家告诉 Motherboard,“现在的算法只适用于手写文字,但我们确定了对模型性能很重要的三个核心原则,可能帮助在其他领域取得进展”。

第一个原则是“组合性”,如上所述,概念表示应该由简单的基元构建而成。第二原则是“因果性”,模型表征了真实世界中的对象生成的抽象因果结构。最后一个,是“学会学习”,过去的概念有助于学习新的概念。

Lake 说到,“这些原则可能有助于解释人类能够快速学习和使用其他类型概念的原因”。“我们尤其对一些学习新的口头语和学习新手势的应用感兴趣,当你听到一个人说过“潘基文”的名字,你基本上就懂了,并且能够识别其他人说起这个名字,同时自己也可以近似说出这个名字。同样的情况可以适用于手势。

多伦多大学和谷歌的人工智能先驱 Geoffrey Hinton 说这个研究“令人印象非常深刻”。他说,这个模型能通过视觉图灵测试,这很重要,是一个不错的成就。Hinton 是深度学习的奠基者。他近年来在深度学习方面取得了举世瞩目的成就,其研究成果被广泛应用在许多领域,例如语音翻译、图像识别以及谷歌的图像搜索和 Facebook 的人脸识别。


感谢董志南对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者(已满),InfoQ 读者交流群(#2)InfoQ 好读者)。

2015-12-28 18:003027
用户头像

发布了 268 篇内容, 共 135.3 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

Docker层和虚悬镜像(dangling image)介绍

琦彦

Docker 10月月更

JVM——垃圾回收算法

琦彦

Java JVM 垃圾回收 10月月更

JavaScript——JS事件

胖虎不秃头

前端 js 10月月更

基于BuildKit优化Dockerfile的构建

琦彦

Dockerfile 10月月更

docker-maven-plugin:自动构建Docker镜像,并推送到Docker Registry或阿里云

琦彦

Docker maven 10月月更 docker-maven-plugin

作为Android Coder,你了解注解吗?

子不语Any

后端 java; 10月月更

第九期 - 模块二

wuli洋

开发者有话说|以码为梦,心向远方,路在脚下

乌龟哥哥

个人成长 10月月更

2022-10-05:在一个 n x n 的整数矩阵 grid 中, 每一个方格的值 grid[i][j] 表示位置 (i, j) 的平台高度。 当开始下雨时,在时间为 t 时,水池中的水位为 t 。

福大大架构师每日一题

算法 rust 福大大

架构师的十八般武艺:领域建模

agnostic

领域建模

JavaScript——关于JavaScript、在HTML中嵌入JS代码的三种方式、变量

胖虎不秃头

前端 js 10月月更

Docker可视化工具Portainer的安装和使用

琦彦

Docker Portainer 10月月更 可视化管理工具

二分查找

掘金安东尼

算法 10月月更

JavaScript——数据类型

胖虎不秃头

前端 js 10月月更

陈宗绵|关于研发效能的理想与现实

laofo

DevOps cicd 研发效能 持续集成 持续交付

Qt|控件的事件过滤使用与总结

中国好公民st

c++ qt 10月月更

Python应用之拉力赛求最短时间

芯动大师

10月月更 Python语法应用 函数构建

Python应用之寻求两个数对之间的最大乘积

芯动大师

Python语法 10月月更 split函数

《Rust for Rustaceans》读书笔记2

袁世超

rust

什么是光网络,几张图就可以很好的解释!

wljslmz

光纤 10月月更 光网络 通信网络

架构实战营模块 2 作业

陌生流云

架构实战营

2022 Kubernetes 批处理和HPC发展一览

琦彦

HPC 批处理 KubeCON 10月月更

如何以非root用户运行Docker容器

琦彦

Docker 10月月更 root用户

ESP32-C3 学习测试 蓝牙 篇(七、GATT 数据通信 — 发送自定义数据)

矜辰所致

蓝牙 ESP32-C3 10月月更

国庆perfetto学习

留白的艺术

构建Java镜像的10个最佳实践

琦彦

Java应用 Docker 镜像 10月月更

【C语言难点突破】指针和数组名的爱恨情仇

Geek_65222d

10月月更

【愚公系列】2022年10月 Go教学课程 019-循环结构之for

愚公搬代码

10月月更

利用Vue自定义指令让你的开发变得更优雅

茶无味的一天

Vue 前端 vue指令

vue快速入门---高速版

楠羽

笔记 VUE 3.0 源码 10月月更

Python应用之丑数的判断

芯动大师

Python 10月月更 丑数

一种新的对象识别算法:挑战机器学习现状_语言 & 开发_张天雷_InfoQ精选文章