计算机由几十亿个微小开关(晶体管)组成,一个晶体管的状态就是一个比特信息,如果开关打开,信息就是1;如果开关关闭,信息就是0。一种算法不仅是简单的一套指令,这些指令必须精确且不能模糊,这样计算机才能够执行。比如,食谱并不算一种算法,因为食谱没有明确给出做事顺序,或者具体说明每一步是怎样的。
算法的概念提出者是9世纪波斯数学家al-Khowarazmi。在他之前,第一个被认为是不平凡算法的则是欧几里得最大公约数算法。
在第一期中我们介绍了人工智能产生所需要的基本哲学思想(AI身世揭秘:产业图谱系列一),除此之外,算法的形成还需要逻辑、计算和概率——三个领域的系统思维。
虽然没有做过确切统计,但算法种类繁多,且以每年增加几百种的速度增长,而且时刻在更新。但如果按照系统分类,人工智能领域基本算法总共有三大类,随着每一波技术发展浪潮演进。
符号,顾名思义,按照输入和输出的原理,就是以简化的符号形式作为输入信息,解决问题的方法是通过预先存在的知识填补空白,不存在不靠知识进行的学习。
符号学派的早期代表人物即是给人工智能命名的麦卡锡,他的见解是:“(人工智能)是关于如何制造智能机器,特别是智能的计算机程序的科学和工程。它与使用机器来理解人类智能密切相关,但人工智能的研究并不需要局限于生物学上可观察到的那些方法。”
从历史渊源来看,符号学派可以说继承了图灵测试的衣钵,认为人工智能源于数理逻辑,无论是人类的认知思维,还是机器学习,本质都是对符号的逻辑运算。逻辑思维通过计算机中逻辑门的运算模拟出来,进而实现机械化的人类认知,就形成了人工智能。
在麦卡锡的数理逻辑运算基础上,发明“逻辑理论家”的纽埃尔和西蒙将他的观点进一步推演为“物理符号系统假说”。
这个假说认为:任何能够将某些物理模式或符号转化成其他模式或符号的系统都有可能产生智能的行为,可以是人脑神经网络上的电脉冲信号,也可以是通过各种逻辑门产生的高低电平。在这个假说下,符号学派把焦点集中在人类智能的高级行为,如推理、规划、知识表示等方面。
应用上,IBM的计算机在1997年成为国际象棋世界冠军,以及2011年在知识问答赛上战胜人类选手,成为符号学派发展的标志性事件。
当然,也有人不能认同人工智能是源于数理逻辑,其中他们有人认为产生智能的关键在于神经生理学和认知科学,这一派别被称为连接学派。
人类的智慧主要来源于大脑的活动,而大脑则是由数不清个神经元细胞通过错综复杂的通路相互连接形成。连接学派普遍认为,神经元不仅是大脑神经系统的基本单元,更是行为反应的基本单元。思维过程是神经元的连接活动过程,是通过大量突触相互动态联系着的众多神经元协同作用来完成。
1943年,沃伦·麦卡洛克和沃尔特·皮茨合著的论文《神经活动中内在思想的逻辑演算》发表,是形式化神经元的早期模型,他们提出神经元形式化的数学描述和网络的结构方法,为人工智能创造了一条用电子装置模仿人脑结构和功能的新途径。
就这样,通过用大量非线性并行处理器模拟人类的神经元,并将处理器之间的复杂连接用来模拟人脑中神经元突触的方式开始盛行,相较于符号学派,连接学派在模拟人脑的方向上更加形象。而且和符号学派不同的是,可以进行自主学习。
在被提出的早期,连接学派并没有受到重视,只是理论一直在完善。世纪之交,神经网络出现重要改进,两位俄罗斯科学家弗拉基米尔·万普尼克和阿列克谢· 切沃内基斯提出了统计学习理论,并进一步提出了支持向量机模型。
2006年,杰夫瑞·辛顿提出将神经网络由一层改进为多层,成为了“深度学习”之父。深度学习为解决深层结构相关的优化难题带来希望,杨乐坤等人提出的卷积神经网络则成为第一个真正多层结构学习算法。
2015年,为纪念人工智能提出60周年,《Nature》专门开辟了一个“人工智能+机器人”专题,邀请到三位世界顶级深度学习大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton发表了名为《Deep Learning》的合著论文,这篇论文深入浅出地介绍了深度学习的基本原理和核心优势。
与符号学派基于数理逻辑,连接学派基于人脑神经不同,行为学派认为人工智能起源于数学家诺伯特·维纳提出的全新学科“控制论”。
1948年,诺伯特·维纳发表了控制论名著《控制论——关于在动物和机器中控制和通讯的科学》,至此,控制论成为一门研究机器、生命社会中控制和通讯等一般规律的新兴学科。
奇特的是,行为学派在智能上的聚焦点,既没有放在智能产生的思维逻辑,也没有重点对人本身进行研究,而是将关注点放在了昆虫的行为上,主要对自寻优、自适应、自镇定、自组织和自学习等控制论进行了系统的研究。
历史上,三个学派都曾占据主流,目前主要是深度学习的天下。但事实上,三个学派都有各自面临的主要困难。
2015年,在第一代机器学习系统DistBelief的基础上,谷歌大脑完成了对“第二代机器学习系统”TensorFlow的开发并对代码开源。核心代码由C++编写,另支持Python、Go和Java等语言。具有代码质量高、开发支持强大、维护能力强、架构设计优秀,以及计算效率高等优势。
Caffe的创始人是加州大学伯克利的Ph.D.贾扬清,现就职于Facebook。2013年,他在Github上线Caffe,被研究和工业界极大关注。四年后,已入职Facebook的他又发布了全新开源深度学习框架Caffe2。Caffe支持的语言包括C++、Python等。和其它深度学习框架相比,Caffe系列具有容易上手、训练速度快、组件模块化等优点。
·Caffe2 的图形构建 API(brew,将继续工作,并且序列化模型NetDefs提供向后兼容性。
·后续将通过统一的PyTorch 1.0软件包的原型环境直接提供Caffe2的各种设备支持和运行时集成。
Torch历史悠久,但真正得到发扬是在Facebook开源了深度学习组件之后,此后包括Google、Twitter、NYU、IDIAP、Purdue等组织都大量使用Torch。Torch的支持语言是Lua。该框架具有设计简洁、速度快、简便易用,以及社区活跃等优势。
Keras最初是作为项目ONEIROS(开放式神经电子智能机器人操作系统)研究工作的一部分而开发。目前,Keras 的开发主要由谷歌支持,Keras API以tf.keras的形式包装在 TensorFlow 中,微软则维护着Keras的CNTK后端。优势在于入门简单、性能损耗低,使用限制少等优势。
·新输入模式:直接在TensorFlow张量上调用模型的能力(仅限TensorFlow后端)。
2013年,百度自主研发了深度学习平台,但一直为内部工程师研发使用。2016年,前首席科学家吴恩达首次宣布深度学习平台对外开放,命名PaddlePaddle。该平台的支持语言为Python和C++,具有灵活高效、扩展性强等优点。

