什么是机器学习?

代码实验室,将专注于机器学习,以及机器学习的先导数学知识、算法及其优化,Python 工具、Google TensorFlow 系统。

那么,什么是机器学习呢?机器学习是人工智能吗? AlphaGo 是人工智能,还是机器学习 ,还是深度学习呢?这都是最开始需要弄懂的一些概念。

注:部分人对深度学习可能有不同的定义 。

人工智能分类
(点击图片查看原图)

所以,人工智能 >>> 机器学习 >>> 深度学习,三者是逐层递进的关系。

但是对于 深度学习的定义,部分人还是有着不同的认识 ,认为深度学习是更深层次的神经网络(一种机器学习的技术) ,毕竟深度学习层数很多,本身就是神经网络的模型样子,就是: 人工智能 >>> 机器学习 >>> 神经网络 >>> 深度学习

我更倾向于后者: 人工智能 >>> 机器学习 >>> 神经网络 >>> 深度学习

人工智能 Artificial Intelligence
一种智能化的概念

1956年,几个计算机科学家相聚在达特茅斯会议,提出了“人工智能”的概念,梦想着用当时刚刚出现的计算机来构造复杂的、拥有与人类智慧同样本质特性的机器。其后,人工智能就一直萦绕于人们的脑海之中,并在科研实验室中慢慢孵化。之后的几十年,人工智能一直在两极反转,或被称作人类文明耀眼未来的预言,或被当成技术疯子的狂想扔到垃圾堆里。直到2012年之前,这两种声音还在同时存在。

人工智能的第一次高峰:在1956年的这次会议之后,人工智能迎来了属于它的第一段Happy Time。在这段长达十余年的时间里,计算机被广泛应用于数学和自然语言领域,用来解决代数、几何和英语问题。这让很多研究学者看到了机器向人工智能发展的信心。甚至在当时,有很多学者认为:“二十年内,机器将能完成人能做到的一切。”

人工智能第一次低谷:上世纪70年代,人工智能进入了一段痛苦而艰难岁月。由于科研人员在人工智能的研究中对项目难度预估不足,不仅导致与美国国防高级研究计划署的合作计划失败,还让大家对人工智能的前景蒙上了一层阴影。与此同时,社会舆论的压力也开始慢慢压向人工智能这边,导致很多研究经费被转移到了其他项目上。

当时,人工智能面临几个技术瓶颈:

  • 计算机性能不足,导致早期很多程序无法在人工智能领域得到应用;
  • 问题的复杂性大,早期人工智能程序主要是解决特定的问题,因为特定的问题对象少,复杂性低。问题维度上升,程序和计算机就不堪重负了;
  • 数据量严重缺失,在当时不可能找到足够大的数据库来支撑程序进行深度学习,这很容易导致机器无法读取足够量的数据进行智能化。

因此,人工智能项目停滞不前,但却让一些人有机可乘,1973年 Lighthill 针对英国AI研究状况的报告。批评了AI在实现“宏伟目标”上的失败。由此,人工智能遭遇了长达6年的科研深渊。

人工智能的崛起:1980年,卡内基梅隆大学为数字设备公司设计了一套名为XCON的“专家系统”。这是一种,采用人工智能程序的系统,可以简单的理解为 “知识库+推理机” 的组合,XCON是一套具有完整专业知识和经验的计算机智能系统。这套系统在1986年之前能为公司每年节省下来超过四千美元经费。有了这种商业模式后,衍生出了像 Symbolics、Lisp Machines、IntelliCorp 和 Aion 等这样的硬件、软件公司。在这个时期,仅专家系统产业的价值就高达5亿美元。

人工智能第二次低谷:命运的车轮再一次碾过人工智能,让其回到原点。仅仅在维持了7年之后,这个曾经轰动一时的人工智能系统就宣告结束历史进程。到1987年时,苹果和 IBM 公司生产的台式机性能都超过了 Symbolics 等厂商生产的通用计算机。从此,专家系统风光不再。

人工智能再次崛起: 上世纪九十年代中期开始,随着AI技术尤其是神经网络技术的逐步发展,以及人们对AI开始抱有客观理性的认知,人工智能技术开始进入平稳发展时期。1997年5月11日,IBM的计算机系统“深蓝”战胜了国际象棋世界冠军卡斯帕罗夫,又一次在公众领域引发了现象级的AI话题讨论。这是人工智能发展的一个重要里程。

2012年以后,得益于数据量的上涨、运算力的提升和机器学习新算法(深度学习)的出现,人工智能开始大爆发。据领英近日发布的《全球AI领域人才报告》显示,截至2017年一季度,基于领英平台的全球AI(人工智能)领域技术人才数量超过190万,仅国内人工智能人才缺口达到500多万。

人工智能的研究领域也在不断扩大,涉及专家系统、机器学习、进化计算、模糊逻辑、计算机视觉、自然语言处理、推荐系统等。

机器学习 Machine Learning
一种人工智能实现的方法

通过统计学的学习方法,使模型从大量数据中找到规律,从而得到“预测”的能力(就是举一反三,通过对大量样本的学习总结出规律,再利用此规律对从见过的样本进行分析、判断并得出结论)。

已知结果样本

比如以上8钟西瓜已经学习并知道1号、3号、7号、8号西瓜甜度大、口感好,而2号、4号、5号、6号西瓜口感一般。在这些数据中,大致可以得出西瓜花纹大的,体型是椭圆形的,颜色偏暗绿色的好吃,而颜色偏浅的、没有花纹的、花纹偏淡的西瓜,口感都很一般。

未知数据

然后,给出一个机器从未见过的西瓜品种,来根据之前8组数据的规律,分析新品种的西瓜好不好吃?

从学习方法上来分,机器学习算法可以分为监督学习(如分类问题)、无监督学习(如聚类问题)、半监督学习、集成学习、深度学习和强化学习。

神经网络 Artificial Neural Network
一种实现机器学习的技术

是机器学习技术中的一种,基本思想是用一些结点来模拟人类神经元的行为,即每个神经元可以向其他的神经元发送信息,而其他神经元收到这些信息之后将其整合再发送给其他神经元,或者是决定不发送。

而这个东西一般是分层的,类似于神经元之间的神经递质(是在神经元、肌细胞或感受器间的化学突触中充当信使作用的特殊的机体内生的分子,单向传递),每一层的神经元只能给其下一层的神经元传递信息。

深度学习 Deep Learning
神经网络技术的一类,机器学习的一种算法

是神经网络技术中的一类,简单来说就是层数非常多的神经网络。刚才的例子里有三层神经元,但是实际上现在的应用中几百层的神经网络也是很常见的。因为是“很深”的神经网络,所以叫深度学习。因为深度神经网络的学习需要大量数据与计算力的支持,所以近几年才火起来。

下面再来认识一些具体的现成工具:

TensorFlow

TensorFlow 是谷歌基于 DistBelief 进行研发的人工智能学习系统,最优支持 Python 和 C,实验性的支持 JavaScript、C++、Java、Go 和 Swift 等语言。

TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等。TensorFlow 最初由 Google 大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机器学习和深度神经网络方面的研究,但这个系统的通用性使其也可广泛用于其他计算领域。

与Python的关系

Python 是广泛应用于机器学习中的一种语言工具,Google TensorFlow 对于 Python 支持良好,所以,你现在知道为什么要学 Python 了吗 🙂

发表评论

电子邮件地址不会被公开。