当前位置: 首页 > 编程日记 > 正文

找啊找啊找木偶,图灵奖得主G. Hinton第一篇论文曝光!

640?wx_fmt=png


作者 | Geoffrey Hinton 

译者 | 李倩

编辑 | 一一

出品 | AI科技大本营(ID:rgznai100)

摘要

针对在具有重叠结构的透明矩形中寻找木偶这一问题,Hinton大神想到使用松弛算法,通过从冲突局部解释网络中提取全局最佳图形的方式找木偶。

介绍

该程序的输入是透明矩阵的四个角坐标,见图1。要找到木偶模型的最佳实例化的难点在于,如果我们只考虑一个矩形及其重叠的矩形,那么每个矩形可以是几个不同的子木偶组成或者根本不存在子木偶,所以必须通过找到全局最优解释,来解决局部模糊性的问题。


本文作者介绍了如何使用松弛方法,而不是将所有局部可解释的空间组合进行显式搜索。松弛方法有以下几个优点:


1. 利用并行计算可以快速地找到全局最优解释。在计算局部可能的数量上,需要的时间不是指数级的,因为组合没有被显式处理。


2.所需的计算空间只随着可移植性的数量线性增加,这使得该方法优于全局搜索和宽度优先并行搜索方法,并且宽度优先并行搜索方法存在组合爆炸的问题。


3.该方法提供了全局最优解释,而不仅仅是像启发式搜索那样只是得到一个可用的解释。

640?wx_fmt=jpeg

图1a 有一些额外矩形的木偶


640?wx_fmt=jpeg  

图1b 使用松弛方法之前和之后的矩形的局部假设。第二列表示图片的方向,直接相关的感知在下一列显示。

木偶模型

该木偶由 15 个矩形部件组成,具有如下性质和关系:


1. 每一部分都有近端和远端。其中近端是指最接近头顶的一端。对于每个部件,沿近-远轴的长度必须大于其宽度。


2. 躯干必须比所有的上肢部件都要宽,而每一个上肢部件又必须比与其相连的下肢部件宽。此外,头部必须比颈部宽。


3.头部的面积必须大于颈部,下肢面积必须大于双手或双脚。


4. 相连的部件必须以正确的方式重叠。每个部件只能指定一个区域是否重叠,而不能指定多个区域。大腿和小腿之间连接的规范如图2所示,图2c展示了一些正确重叠的例子和存在近似误差的例子。


640?wx_fmt=jpeg

图2a 四个区域的感知


640?wx_fmt=jpeg

表2b 展示膝盖区域关系的定义


640?wx_fmt=jpeg

图2c 两个令人满意的膝关节例子(上)和三个有近似误差的例子(下)。箭头表示远端+近端方向。大腿总是这两条腿中较宽的那条。


木偶模型是非常随意的,但是必须使用比简单连接更复杂的规则来避免出现如图3所示的情况。一种比较灵活的方式是只要其余部件仍是合理的,允许扩展一些连接或比例。这方面的影响将会在后面进行讨论。


640?wx_fmt=jpeg 

图3 一种矩形的配置,具有与木偶相同的连通性图,但具有不同的关系和比例

不完全木偶

感知器是一种数据结构,该数据结构可以表示木偶部件的矩形解释,并且有插槽,该插槽被其他相关联的感知器所填充。关联关系也由数据结构显式地表示,数据结构有两个点,每个点对应一个相关的感知器。


当图中没有完整的木偶时,会发现存在不完整的木偶,即一些感知器中有空插槽的木偶。如果给程序一些评估不完整木偶的方法,那么它可以做同样的事情,这样当有更好的选择时,它就可以避免糟糕的全局解释。目前,满足以下约束条件,并且拥有最多关联关系则被定义为最好的木偶:


1. 一个矩形只能表示一个部件。

2. 除了大腿和上臂可以有两个插槽外,没有一个插槽可以由多个关系填充。

3. 任何类型的部件被实例化的次数都不能超过它在模型中出现的次数,例如,不能有两条以上的大腿。

4. 除非感知器存在,否则关系不存在。

改善局部网络结构

由于木偶的潜在不完整性导致很难排除局部的任何感知,因此采用替代方法,从强烈暗示特定感知器的局部配置开始管理它们。在这些核心元素中,通过尝试填充与已存在的感知相关的空闲时隙来增长网络。


如果这样做失败了,并且有合适的重叠矩形,则使用与新创建的感知器的关系,而这些新感知器的其他槽作为进一步的生长点。如果模型的最佳实例化至少包含一个核心元素,则生成的网络将包含所有必需的感知器。它还将包含许多其他的槽,一些槽将由几个竞争关系来填充,见图1b。然而,一般来说,以这种方式发展起来的网络要比由所有局部可能性组成的网络小得多。

感知器之间的相互作用

并行处理必须生成非常多的局部可能性结果以确保生成正确的可能性结果,因此除非有快速排除不正确结果的方法,否则将不具有并行计算的时间优势。简单的本地竞争是行不通的,因为正确的感知有时会有一个更好的局部选择。但是如果感知器也被允许通过他们的关系互相帮助,那么可能会通过网络传播来帮助一个全局一致但局部较差的感知,见图4。


这种类型的系统,其中全局模式从局部相互作用中产生,作为格式塔现象的基础是有吸引力的,但如果系统快速达到稳定状态并且有一些最佳模式出现,那么这种系统很有意义。


640?wx_fmt=jpeg

图4 松弛法是将A解释为大腿,而局部最优选择的结果是小腿。

偏好约束网络

找到最好的木偶,相当于要从节点是感知器的网络中提取,并且关要满足某些约束的最佳子网。如果子网的值可以表示为其各个节点的首选项的和,并且如果约束等于可能状态空间中的超平面,则可以使用松弛方法。每个节点都有一个介于0和1之间的实数,也即可信度。


该值不应与偏好相混淆,可以解释为节点正确的概率,即最佳一致子网的一部分。约束条件是可信度之间的不等式。例如,n或m表示为640?wx_fmt=jpeg,其中c(n)是节点n的可信度。


节点的可信度可以表示为多维空间的轴。可信度分布是空间中的一个点,是对每个平面的响应。为了满足不等式约束条件,一个点必须位于相关的超平面或其一侧。满足所有约束条件的状态称为合法状态,超出空间区域就是凸多面体,因为它是超平面和半空间的交集。

应用关系到木偶图片

对于木偶中不完整的部分,给出了对该木偶最佳实例化的定义。关于可信度的约束条件表达式如下:

1.矩形的感知关系式:640?wx_fmt=jpeg

2. 竞争关系表达式:640?wx_fmt=jpeg

3.模型中出现n次部件的感知关系式:640?wx_fmt=jpeg

4. 两个感知器p,q之间的关系式:640?wx_fmt=jpeg

讨论

用来揭示松弛法原理的任务,在许多方面都得到了简化。一个容易改进的点是缺乏对膝关节和肘关节连接角度的关注。一个好的木偶模型需要肘部向一个方向弯曲,膝盖能向另一个方向弯曲,从而利用这些知识,制造出更好的木偶。这种类型的约束的理论意义在于它是非局部的,就像对于上下文无关语句来说数字一致性规范是存在问题的(Lyons 1968)。


针对上述问题,解决方法是引入全局节点来表示木偶的边。这些边节点之间通过排他或约束进行相互关联,每个关联通过物体隐含约束条件关联到其他全局边节点。现在最好的实例是有兼容的膝部和肘部。


某情况下,这是一个太过苛刻的约束条件,因为在现实中有折断的胳膊肘总比没有的好。因此,作者引入了没有额外限制的可选弱关联,这样会和有较强关联的相互冲突。所以,如果有更好的偏好设置,好的手肘要优于差的手肘,但是差的手肘不会优于任何其他手肘。


原文链接:

http://www.cs.toronto.edu/~hinton/absps/puppet.pdf


(*本文为 AI科技大本营编译文章,转载请联系微信1092722531


CTA核心技术及应用峰会



5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开,峰会将围绕人工智能领域,邀请技术领航者,与开发者共同探讨机器学习和知识图谱的前沿研究及应用。


更多重磅嘉宾请识别海报二维码查看。CTA深度培训已经开课,主会议倒计时 1 天,少量余票即将售罄,欢迎点击阅读原文购票参会!更多详细信息15101014297,备注“CTA”,了解票务以及会务详情。


640?wx_fmt=jpeg


推荐阅读

  • 危机加剧:ARM釜底抽“芯”,华为腹背受敌

  • 面对996,程序员如何利用“碎片时间”涨薪?

  • 权威解读 GitHub、Apache 疑云:主流开源软件究竟是否会被闭源?

  • Kaggle季军新手笔记:利用fast.ai对油棕人工林图像进行快速分类(附Python代码)

  • 程序员连拿3份Offer,每份高达45K?他说做对了这些!

  • ARM到底是一家什么样的公司?

  • 为什么你写了一万小时的代码,却没能成为架构师?| 程序员有话说

  • 别怀疑,孩子在家里也能学编程!

  • 百花村区块链山的选民们, 超有趣!

640?wx_fmt=png


点击阅读原文,了解CTA核心技术及应用峰会

相关文章:

终于,「最近邻搜索」有通用方法了

作者:Kevin Hartnett 编译:Bing 如果你打算开一家咖啡馆,你一定想知道:“附近最近的一家咖啡馆在哪?”了解这些信息有助于应对商业竞争。 这种现象是计算机科学中广泛研究的问题,称为“最近邻搜索”。它的问…

tar自动打包指定文件夹中的文件到指定目录

这是我离开上一家公司,到XX人寿保险公司的第一个工作内容,很简单,可以减少每天重复的工作量。写一个脚本,将指定文件夹下的所有文件打包成以日期命名的格式并存放到其父目录中,自动检测该压缩包,保留时间为…

【SQL】sql语句GROUP BY

1、语法 SELECT column_name, aggregate_function(column_name) FROM table_name GROUP BY column_name;2、说明 先对数据集分组,再根据规则批量处理每组数据。 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将…

色情低俗、暴力恐怖内容...如何用AI“一网打尽”?

作者 | Rachel、Just出品 | AI科技大本营(ID:rgznai100)移动互联网时代催生了大量的多媒体数据,每天在社交平台、长短视频、直播平台、新闻资讯等内容平台产生了数以亿计的图片和视频,这些数据的内容审核面临严峻的挑战。人工审核…

想要学好Go语言的必须知道的一个小技巧

2019独角兽企业重金招聘Python工程师标准>>> 由于我转Go语言比较早,很多认识我的,转Go或学习Go的同学遇到问题,经常会过来问我,然后,我发现。 除了学习Go语言可以看那些资料,这个问题以外&#…

【CSS3教程】CSS3基础常用技巧实例集合

为什么80%的码农都做不了架构师?>>> CSS3常用技巧 CSS3下条纹&方格斜纹背景的实现 一、效果抢先:CSS3下的条纹背景demo 这些美丽的纹饰全部都是由CSS实现的,没有一点点的图片。 二、原理简述 主要是应用了两个CSS3的属性&…

【FFmpeg】ffmpeg工具源码分析(二):转码核心函数 transcode

1、转码流程 1)转码前初始化:打开输入输出文件,初始化编码器、解码器、过滤器,创建多线程,设置串口终端等; 2)while循环处理每一包数据,核心函数 transcode_step(稍后分析); 3)转码结束前收尾工作:关闭多线程,刷新编解码缓冲区,恢复串口终端设置,向输出文件写…

在CentOS7上部署Apache Mesos

概述 Apache Mesos是一款基于多资源(内存、磁盘、CPU、端口等)调度的开源集群管理套件,能使容错和分布式系统更加容易。 工作原理 Apache Mesos采用了Master/Slave结构来简化设计,将Master做得尽可能轻量级,仅保存了各…

CTA核心技术及应用峰会开幕!(附第二日参会攻略)

全球智能化趋势当前,人工智能技术正蓬勃发展。为了直击开发者在机器学习与人工智能技术研究与落地过程中的痛点与瓶颈,深入解析机器学习和知识图谱技术在行业中的实践和落地。2019 年 5 月 26 - 27 日,由中国 IT 社区 CSDN 与数字经济人才发展…

Sharepoint学习笔记—ECMAScript对象模型系列-- 8、组与用户操作(一)

这里总结一下关于使用ECMAscript对象模型来操作Goup与User的常用情况,因为内容较多,所以拆分为两个部分,这部分主要内容如下: 1、取得当前Sharepoint网站所有的Group 2、获取当前登录用户的Title与所属Group 3、获取指定Group下的…

【FFmpeg】ffmpeg工具源码分析(三):分配过滤器内存(宏GROW_ARRAY)详解

0、引言 在ffmpeg.c源码的核心函数transcode() 中,先执行初始化操作transcode_init() ; 首先初始化过滤器filtergraphs,在寻找过滤器在哪分配时,发现它使用宏GROW_ARRAY以增长的方式来分配内存。 1、GROW_ARRAY原型 #define GROW_ARRAY(array, nb_elems)\array = grow_a…

技术引路:机器学习仍大有可为,但方向在哪里?

整理 | CTA 直播小分队出品 | AI科技大本营(id:rgznai100)杭州国际博览中心,这里曾经是二十国集团领导人第十一次峰会的主场馆,5 月 26 日 CTA 核心技术与应用峰会(杭州)同样在这里正式召开&…

基于GTID模式MySQL主从复制

基于GTID模式MySQL主从复制 GTID复制原理:基于GTID的复制是MySQL 5.6后新增的复制方式GTID (global transaction identifier) 即全局事务ID, 保证了在每个在主库上提交的事务在集群中有一个唯一的ID.在原来基于日志的复制中, 从库需要告知主库要从哪个偏移量positio…

NET Framework 2.0中的数据访问新特性

1异步数据访问 a)支持异步数据编程 b)SqlConnection – BeginOpen – EndOpen c)SqlCommand – BeginExecuteNonQuery – BeginExecuteReader – BeginExecuteXmlReader – EndExecuteNonQuery – EndEx…

【网络】通讯名词解释:带宽、速率、波特率、奈奎斯特定律、香农定理

1、带宽 1.1 解释一 带宽,又叫频宽,是数据的传输能力,指单位时间内能够传输的比特数。高带宽意味着高能力。 数字设备中带宽用bps(b/s)表示,即每秒最高可以传输的位数。 模拟设备中带宽用Hz表示,即每秒传送的信号周期…

这可能是最全的机器学习工具手册!

作者 | 红色石头转载自 AI有道(ID:redstonewill)工欲善其事必先利其器!之前我也断断续续给大家发文整理过一些关于数据科学,尤其是机器学习、深度学方面的速查手册!但是,每次分享的都比较是针对某一块的内容…

保持分布式团队同步

分布式团队最大的挑战是沟通,这对建立协作的基本原则必不可少。调整工作时间,互相适应,而团队联络员有助于沟通和同步工作。以信任、尊重和开明为基础的团队会鼓励组织中的人们互相帮助,培养一种使团队保持同步的文化。\\SkuVault…

Word2010开发——操作文档

参考: http://blog.csdn.net/akipeng/article/details/6534375 http://www.haogongju.net/art/19029 首先建立一个Word外接程序(Word AddIn)(家里的Vs竟然是中文版,汗!) 接着在项目中新增项&…

【驱动】ubuntu安装内核头文件

1、检查是否已经安装 使用dpkg-query命令检查是否有可用的内核头文件。 $ dpkg-query -s linux-headers-$(uname -r) 如果输出显示install ok installed说明已经安装成功 Package: linux-headers-4.15.0-142-generic Status: install ok installed2、安装内核头文件 $ sudo…

嫌Terminal终端太单调?快收下这几个有趣的改造工具!

整理 | Rachel责编 | 琥珀出品 | AI科技大本营(ID:rgznai100)【导语】Terminal(终端)是程序员常用的工具之一,常用于系统的相关配置修改。系统自带的 terminal 较为简单,很多 Github 的开源项目都尝试对终端…

关于matlab向文件写入数据的方法——留着备用

MATLAB数据采集的时候,往往需要把得到的数据保存下来。 fid fopen(文件名,‘打开方式’); 说明:fid用于存储文件句柄值,如果fid>0,这说明文件打开成功。打开方式有如下选择: ‘r’&#xff…

js在页面滚动到一定位置时触发事件?

function getTop(e) {var offsete.offsetTop;if(e.offsetParent!null) //只要还有父元素,也就是当前元素不是根节点就继续往上累计元素的高度offsetgetTop(e.offsetParent);return offset; } var myBlockTop getTop(document.getElementById("homepageBanner")); va…

【C语言】学习笔记3——字符串

1. 字符串(charcacter string)是一个或多个字符的序列 2. C语言没有专门用于存储字符串的变量类型。字符串都被存储在char类型的数组种。 3. 数组由连续的存储单元组成,字符串种的字符被存储在相邻的存储单元中, 每个单元存储一个…

Facebook 的AI翻身之战!

作者 | Michael K. Spencer译者 | 王艳妮,责编 | 屠敏出品 | CSDN(ID:CSDNnews)Facebook最近举办了F8会议,这是了解这个平台未来发展的绝佳机会。 F8是Facebook的年度开发者大会——一个为期数日的活动,期间…

【Linux驱动】ThinkPad笔记本wifi模块rtl8821ce在ubuntu16.04的驱动(默认没有)

0、wifi模块型号 在win10下设备管理器中查看,型号为:Realtek 8821CE Wireless LAN 802.11ac PCI-E NIC 1、问题描述 在ThinkPad上安装win10ubuntu16.04双系统后,在win10下wifi可以正常使用,但是在ubuntu下没有wifi列表。 2、…

关于Linux的inode和dentry的一组文章

先mark一下,有时间再看。 http://www.ruanyifeng.com/blog/2011/12/inode.htmlhttp://teaching.idallen.com/dat2330/04f/notes/links_and_inodes.htmlhttp://www.thegeekstuff.com/2012/01/linux-inodes/http://blog.chinaunix.net/uid/7828352/frmd/-1.htmlhttp:/…

为什么Rust连续4年获“最受喜爱编程语言”?

作者 | Mike Tang责编 | Aholiab出品 | 区块链大本营(blockchain_camp)2015年5月15日,Rust编程语言核心团队正式宣布发布Rust 1.0版本。4年来,它优雅的解决高并发和高安全性系统问题的能力,受到了越来越多开发者的喜爱。并且连续4…

【Windows】清除win10开始菜单中失效打程序标签

1、问题描述 安装新版本Qt程序,卸载旧版本Qt后,在开始菜单中,还有残留,但是已经失效,需要删除这些失效的程序标签。 2、显示隐藏文件夹 打开此电脑——查看——勾选“隐藏项目”: 3、删除失效的程序标签…

解析equals(Object obj)和compareTo(T obj)

背景:最近在研究静态扫描的东西,遇到一个规则:"equals(Object obj)" should be overridden along with the "compareTo(T obj)" method 然后就想深度扒一扒equals和compareTo有什么区别 1.java.lang.Object是所有类的父类…

安装和部署Exchange Server 2007

为什么Exchange Server 2007使用服务器角色? 简化部署和管理 增强可扩展性 改进安全性 见下图:什么是邮箱服务器角色? 邮箱服务器角色: 存储用户邮箱和公共文件夹 通过群集, LCR, CCR实现高可用性 并不在邮箱之间转输邮件邮箱服务器: 不应该能从Internet直接访问 必须是活动…