深度学习 vs. 概率图模型 vs. 逻辑学

摘要:本文回顾过去50年人工智能(AI)领域形成的三大范式:逻辑学、概率方法和深度学习。文章按时间顺序展开,先回顾逻辑学和概率图方法,然后就人工智能和机器学习的未来走向做些预测。

【编者按】在上个月发表博客文章《深度学习 vs. 机器学习 vs. 模式识别》之后,CMU博士、MIT博士后及vision.ai联合创始人Tomasz Malisiewicz这一次带领我们回顾50年来人工智能领域三大范式(逻辑学、概率方法和深度学习)的演变历程。通过本文我们能够更深入地理解人工智能和深度学习的现状与未来。

以下为正文:

今天,我们一起来回顾过去50年人工智能(AI)领域形成的三大范式:逻辑学、概率方法和深度学习。如今,无论依靠经验和“数据驱动”的方式,还是大数据、深度学习的概念,都已经深入人心,可是早期并非如此。很多早期的人工智能方法是基于逻辑,并且从基于逻辑到数据驱动方法的转变过程受到了概率论思想的深度影响,接下来我们就谈谈这个过程。

本文按时间顺序展开,先回顾逻辑学和概率图方法,然后就人工智能和机器学习的未来走向做出一些预测。

图片来源:Coursera的概率图模型课

1. 逻辑和算法 (常识性的“思考”机)

许多早期的人工智能工作都是关注逻辑、自动定理证明和操纵各种符号。John McCarthy于1959年写的那篇开创性论文取名为《常识编程》也是顺势而为。

如果翻开当下最流行的AI教材之一——《人工智能:一种现代方法》(AIMA),我们会直接注意到书本开篇就是介绍搜索、约束满足问题、一阶逻辑和规划。第三版封面(见下图)像一张大棋盘(因为棋艺精湛是人类智慧的标志),还印有阿兰·图灵(计算机理论之父)和亚里士多德(最伟大的古典哲学家之一,象征着智慧)的照片。

AIMA 的封面,它是CS专业本科AI课程的规范教材

然而,基于逻辑的AI遮掩了感知问题,而我很早之前就主张了解感知的原理是解开智能之谜的金钥匙。感知是属于那类对于人很容易而机器很难掌握的东西。(延伸阅读:《计算机视觉当属人工智能》,作者2011年的博文)逻辑是纯粹的,传统的象棋机器人也是纯粹算法化的,但现实世界却是丑陋的,肮脏的,充满了不确定性。

我想大多数当代人工智能研究者都认为基于逻辑的AI已经死了。万物都能完美观察、不存在测量误差的世界不是机器人和大数据所在的真实世界。我们生活在机器学习的时代,数字技术击败了一阶逻辑。站在2015年,我真是替那些死守肯定前件抛弃梯度下降的傻子们感到惋惜。

逻辑很适合在课堂上讲解,我怀疑一旦有足够的认知问题成为“本质上解决”,我们将看到逻辑学的复苏。未来存在着很多开放的认知问题,那么也就存在很多场景,在这些场景下社区不用再担心认知问题,并开始重新审视这些经典的想法。也许在2020年。

延伸阅读:《逻辑与人工智能》斯坦福哲学百科全书

2. 概率,统计和图模型(“测量”机)

概率方法在人工智能是用来解决问题的不确定性。《人工智能:一种现代方法》一书的中间章节介绍“不确定知识与推理”,生动地介绍了这些方法。如果你第一次拿起AIMA,我建议你从本节开始阅读。如果你是一个刚刚接触AI的学生,不要吝啬在数学下功夫。

来自宾夕法尼亚州立大学的概率论与数理统计课程的PDF文件

大多数人在提到的概率方法时,都以为只是计数。外行人很容易想当然地认为概率方法就是花式计数方法。那么我们简要地回顾过去统计思维里这两种不相上下的方法。

频率论方法很依赖经验——这些方法是数据驱动且纯粹依靠数据做推论。贝叶斯方法更为复杂,并且它结合数据驱动似然和先验。这些先验往往来自第一原则或“直觉”,贝叶斯方法则善于把数据和启发式思维结合做出更聪明的算法——理性主义和经验主义世界观的完美组合。

最令人兴奋的,后来的频率论与贝叶斯之争,是一些被称为概率图模型的东西。该类技术来自计算机科学领域,尽管机器学习现在是CS和统计度的重要组成部分,统计和运算结合的时候它强大的能力才真正释放出来。

概率图模型是图论与概率方法的结合产物,2000年代中期它们都曾在机器学习研究人员中风靡一时。当年我在研究生院的时候(2005-2011),变分法、Gibbs抽样和置信传播算法被深深植入在每位CMU研究生的大脑中,并为我们提供了思考机器学习问题的一个极好的心理框架。我所知道大部分关于图模型的知识都是来自于Carlos Guestrin和Jonathan Huang。Carlos Guestrin现在是GraphLab公司(现改名为Dato)的CEO,这家公司生产大规模的产品用于图像的机器学习。Jonathan Huang现在是Google的高级研究员。

下面的视频尽管是GraphLab的概述,但它也完美地阐述了“图形化思维”,以及现代数据科学家如何得心应手地使用它。Carlos是一个优秀的讲师,他的演讲不局限于公司的产品,更多的是提供下一代机器学习系统的思路。

概率图模型的计算方法介绍(视频和PPT下载

Dato CEO,Carlos Guestrin教授

如果你觉得深度学习能够解决所有机器学习问题,真得好好看看上面的视频。如果你正在构建一套推荐系统,一个健康数据分析平台,设计一个新的交易算法,或者开发下一代搜索引擎,图模型都是完美的起点。

延伸阅读:

置信传播算法维基百科

图模型变分法导论

Michael Jordan的技术主页(Michael Jordan系推理和图模型的巨头之一)

3. 深度学习和机器学习(数据驱动机)

机器学习是从样本学习的过程,所以当前最先进的识别技术需要大量训练数据,还要用到深度神经网络和足够耐心。深度学习强调了如今那些成功的机器学习算法中的网络架构。这些方法都是基于包含很多隐藏层的“深”多层神经网络。注:我想强调的是深层结构如今(2015年)不再是什么新鲜事。只需看看下面这篇1998年的“深层”结构文章。

LeNet-5,Yann LeCun开创性的论文《基于梯度学习的文档识别方法》

你在阅读LeNet模型导读时,能看到以下条款声明:

要在GPU上运行这个示例,首先得有个性能良好的GPU。GPU内存至少要1GB。如果显示器连着GPU,可能需要更多内存。

当GPU和显示器相连时,每次GPU函数调用都有几秒钟的时限。这么做是必不可少的,因为目前的GPU在进行运算时无法继续为显示器服务。如果没有这个限制,显示器将会冻结太久,计算机看上去像是死机了。若用中等质量的GPU处理这个示例,就会遇到超过时限的问题。GPU不连接显示器时就不存在这个时间限制。你可以降低批处理大小来解决超时问题。

我真的十分好奇Yann究竟是如何早在1998年就把他的深度模型折腾出一些东西。毫不奇怪,我们大伙儿还得再花十年来消化这些内容。

更新:Yann说(通过Facebook的评论)ConvNet工作可以追溯到1989年。“它有大约400K连接,并且在一台SUN4机器上花了大约3个星期训练USPS数据集(8000个训练样本)。”——LeCun

深度网络,Yann1989年在贝尔实验室的成果

注:大概同一时期(1998年左右)加州有两个疯狂的家伙在车库里试图把整个互联网缓存到他们的电脑(他们创办了一家G打头的公司)。我不知道他们是如何做到的,但我想有时候需要超前做些并不大规模的事情才能取得大成就。世界最终将迎头赶上的。

延伸阅读:

Y.LeCun, L.Bottou, Y.Bengio, and P.Haffner.Gradient-based learning applied to document recognition.Proceedings of the IEEE, November 1998.

Y.LeCun, B.Boser, J.S.Denker, D.Henderson, R.E.Howard, W.Hubbard and L.D.Jackel:Backpropagation Applied to Handwritten Zip Code Recognition, Neural Computation, 1(4):541-551, Winter 1989

Deep Learning code: Modern LeNet implementation in Theano and docs.

结论

我没有看到传统的一阶逻辑很快卷土重来。虽然在深度学习背后有很多炒作,分布式系统和“图形思维”对数据科学的影响更可能比重度优化的CNN来的更深远。深度学习没有理由不和GraphLab-style架构结合,未来几十年机器学习领域的重大突破也很有可能来自这两部分的结合。

原文链接:Deep Learning vs Probabilistic Graphical Models vs Logic (翻译/zhyhooo 审校/王玮 责编/周建丁)

本文为CSDN编译整理,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)

深度学习 vs. 概率图模型 vs. 逻辑学的更多相关文章

  1. 【转】[caffe]深度学习之图像分类模型AlexNet解读

    [caffe]深度学习之图像分类模型AlexNet解读 原文地址:http://blog.csdn.net/sunbaigui/article/details/39938097   本文章已收录于: ...

  2. [caffe]深度学习之图像分类模型VGG解读

    一.简单介绍 vgg和googlenet是2014年imagenet竞赛的双雄,这两类模型结构有一个共同特点是go deeper.跟googlenet不同的是.vgg继承了lenet以及alexnet ...

  3. 时间序列深度学习:seq2seq 模型预测太阳黑子

    目录 时间序列深度学习:seq2seq 模型预测太阳黑子 学习路线 商业中的时间序列深度学习 商业中应用时间序列深度学习 深度学习时间序列预测:使用 keras 预测太阳黑子 递归神经网络 设置.预处 ...

  4. 深度学习的seq2seq模型——本质是LSTM,训练过程是使得所有样本的p(y1,...,yT‘|x1,...,xT)概率之和最大

    from:https://baijiahao.baidu.com/s?id=1584177164196579663&wfr=spider&for=pc seq2seq模型是以编码(En ...

  5. java web应用调用python深度学习训练的模型

    之前参见了中国软件杯大赛,在大赛中用到了深度学习的相关算法,也训练了一些简单的模型.项目线上平台是用java编写的web应用程序,而深度学习使用的是python语言,这就涉及到了在java代码中调用p ...

  6. Predicting effects of noncoding variants with deep learning–based sequence model | 基于深度学习的序列模型预测非编码区变异的影响

    Predicting effects of noncoding variants with deep learning–based sequence model PDF Interpreting no ...

  7. 深度学习之seq2seq模型以及Attention机制

    RNN,LSTM,seq2seq等模型广泛用于自然语言处理以及回归预测,本期详解seq2seq模型以及attention机制的原理以及在回归预测方向的运用. 1. seq2seq模型介绍 seq2se ...

  8. 深度学习网络压缩模型方法总结(model compression)

    两派 1. 新的卷机计算方法 这种是直接提出新的卷机计算方式,从而减少参数,达到压缩模型的效果,例如SqueezedNet,mobileNet SqueezeNet: AlexNet-level ac ...

  9. [caffe]深度学习之图像分类模型AlexNet解读

    在imagenet上的图像分类challenge上Alex提出的alexnet网络结构模型赢得了2012届的冠军.要研究CNN类型DL网络模型在图像分类上的应用,就逃不开研究alexnet.这是CNN ...

随机推荐

  1. Golang Context 详细介绍

    Golang context 本文包含对context实现上的分析和使用方式,分析部分源码讲解比价多,可能会比较枯燥,读者可以直接跳过去阅读使用部分. ps: 作者本着开源分享的精神撰写本篇文章,如果 ...

  2. live555学习(一)通读Makefile编译live555

    live555学习(一)通读Makefile编译live555 live555 编译live555 学习开源 live555学习(一)通读Makefile编译live555 前言 live555简介 ...

  3. beef局域网内模拟攻击

    0x0环境 主机A win10:10.51.20.60(wifi) 主机A中的虚拟机kali(攻击者):192.168.110.129(NAT) 主机A中的虚拟机win2003(受害者):192.16 ...

  4. 1090. Highest Price in Supply Chain (25)-dfs求层数

    给出一棵树,在树根出货物的价格为p,然后每往下一层,价格增加r%,求所有叶子节点中的最高价格,以及该层叶子结点个数. #include <iostream> #include <cs ...

  5. 《Linux内核分析》第三周

    [李行之原创作品 转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] <Linux内 ...

  6. 20135327郭皓——Linux内核分析第二周 操作系统是如何工作的

    操作系统是如何工作的 上章重点回顾: 计算机是如何工作的?(总结)——三个法宝 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的 ...

  7. Python Pandas read_csv报错

    为实现文本去重(将前面采集的数据进行两两对比删除重复),写了以下代码. #-*- coding: utf-8 -*-import pandas as pd inputfile = 'e:/data/H ...

  8. What is the difference between WinRT, UWP and WPF?

    在学习UWP的过程中确实有这个迷惑,在此分享一下. UWP (Universal Windows platform), Metro and WinRT are all result of Micros ...

  9. Linux dd命令制作U盘启动盘

    linux下的dd命令来自于coreutils:http://www.gnu.org/software/coreutils/ https://jingyan.baidu.com/article/d45 ...

  10. lightgbm原理以及Python代码

    原论文: http://papers.nips.cc/paper/6907-lightgbm-a-highly-efficient-gradient-boosting-decision-tree.pd ...