《TensorFlow技术解析与实战》——第1章 人工智能概述 1.1什么是人工智能
本节书摘来自异步社区《TensorFlow技术解析与实战》一书中的第1章,第1.1节,作者李嘉璇,更多章节内容可以访问云栖社区“异步社区”公众号查看。
第一篇 基础篇
著名历史学家斯塔夫里阿诺斯在《全球通史》中,曾以15世纪的航海在“物理上”连通“各大洲”作为标志将人类历史划分为两个阶段。在我正在写作的《互联网通史》中,我把互联网这个“信息上”连通“人类个体”的物件作为划分人类历史的标志。而随着人工智能最近的崛起,我们又该思考重新划分了,因为人工智能将会在“信息上”连通“各个物体”。到那时各个物体都有“智能”,如智能汽车、智能电视、扫地机器人、智能音响等智能家居,想象极度的智能下,屋子里的电器和家居都可能和我们有简单的交互。
深度学习领域之所以异军突起,是因为传统的研发思维,如架构、组件化、大规模并发、存储与计算等,已经是技术红海了,而每位工程师都应该学习机器学习,是因为它带给工程师全新的开发思维,工程师可以用自己的代码让机器更加“聪明”。
第1章 人工智能概述
有人说,人工智能在世界范围的流行,是因为那盘围棋。2016年3月,谷歌公司的AlphaGo向韩国棋院围棋九段大师李世石发起挑战,而这棋局走法的可能性有361!种,最终AlphaGo战胜了这场“棋局数比可见宇宙中的原子数还多”的智力游戏。2015年11月9日(在距这场比赛前4个月),谷歌公司开源了它的第二代深度学习系统TensorFlow,也就是AlphaGo的基础程序。
1.1 什么是人工智能
什么是人工智能(artificial intelligence,AI)?要了解这个问题,我们先来看看人工智能的几个应用。
1.微软小冰
相信很多朋友手机里都有关注“微软小冰”的公众号,这是微软(亚洲)互联网工程院的一款人工智能伴侣虚拟机器人,跟它聊天时你会发现,小冰有时回答得非常切中你的心意,而有时逻辑上表达却有点儿对不上上下文,所以你觉得它时而回答得不错像人,时而又一眼看穿它是个机器人。这种能否判断对方究竟是人还是机器人的思维实验,叫作“图灵测试”。
图灵测试是计算机科学之父英国人艾伦·图灵提出的,这是一种测试机器是否具备人类智能的方法。图灵设计了一种“模仿游戏”:远处的人在一段规定的时间内,根据两个实体——电脑和人类对他提出的各种问题来判断对方是人类还是电脑。[1]具体过程如图1-1所示。C向A和B提出问题,由C来判断对方是人类还是电脑。通过一系列这样的测试,从电脑被误判断为人的概率就可以测出电脑的智能程度,电脑越被误判成人,说明智能程度就越高。
图1-1
这种情感对话能力就是人工智能的一个方向。而现在微软小冰更是可以通过文本、图像、视频和语音与人类展开交流,逐渐具备能看、能听和能说的各种人工智能感官,并且能够和人类进行双向同步交互。
2.人脸识别
现在许多电脑开机密码、支付宝的刷脸支付、客流的闸机通行都有采用人脸识别技术。目前市面上也有许多人脸识别考勤机。很多公司已经采用了人脸闸机打卡签到技术,当有人刷脸打卡签到时,识别出这个人的面部特征,考勤机会将其与公司的员工信息进行比对,完成身份识别,确认后,便可开闸放行。
更进一步讲,人脸识别中还可以识别出人物的年龄、性别、是否佩戴眼镜、是否有笑容、情绪欢乐或悲伤,以及眼睛、鼻子、嘴等关键部位,这就是人脸关键点检测。图1-2就是人脸关键点检测的一个示例。
图1-2
国内有一些公司在人脸识别上已经达到了先进水平,如云从科技、旷视科技、商汤科技等。旷视科技的Face++有目前世界一流的人脸追踪、识别、分析等服务应用,面向开发者的云平台及API、SDK,已经可以直接调用。
以上是人工智能应用的两个例子。百度百科上给出的人工智能的解释是:“它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。”[2]
简而言之,人工智能就是研究用计算机来实现人类的智能,例如,去模仿人类的知觉、推理、学习能力等,从而让计算机能够像人一样思考和行动,有图像识别(机器识别出猫猫狗狗)、人机对话(机器感知到人类的语义和情感,并给出反馈)、围棋的人机对弈(AlphaGo、Master等让机器自己思考去下棋)等。
国际上的谷歌、苹果、亚马逊、微软等巨大公司都在“两条腿走路”,一方面在做研发项目,如“谷歌大脑”(Google Brain),另一方面同时发力智能家居,如“Google Home智能音箱”,希望把设备当成人来交流。国内的阿里、腾讯、百度、搜狗、地平线等公司以及很多不同领域的创业公司也都在积累的大量数据上,开始尝试训练出高效的模型,不断优化业务指数。
那么,机器是如何实现人类的智力的呢?其实,机器主要是通过大量的训练数据进行训练,程序不断地进行自我学习和修正来训练出一个模型,而模型的本质就是一堆参数,用上千万、上亿个参数来描述业务的特点,如“人脸”“房屋地段价格”“用户画像”的特点,从而接近人类智力。这个过程一般采用的是机器学习以及机器学习的子集——深度学习(deep learning),也就是结合深度神经网络的方法来训练。所以说,深度学习方法是能够迅速实现人工智能很有效的工具。
AlphaGo的原理
20年前,IBM的“深蓝”计算机打败人类象棋高手的情景仿佛还历历在目。20年后,人工智能挑战最难的棋类——围棋棋局也成功了。那么AlphaGo是如何下棋的呢?我们知道,传统计算机的下棋方法,一般采取贪婪算法,用Alpha-Beta修剪法配合Min-Max算法。而AlphaGo采用了蒙特卡洛树搜索法(Monte Carlo tree search,MCTS)和深度卷积神经网络(deep convolutional neural network,DCNN)相结合。模型中涉及的主要网络及作用如下。
● 估值网络(value network,也称盘面评估函数):计算出盘面的分数。
● 策略网络(policy network):计算对于下每一个棋子的概率和胜率。它评估对手和自己可能下的位置,对可能的位置进行评估和搜寻。
训练模型的主要过程分为以下4步。
(1)采用分类的方法得到直接策略。
(2)直接策略对历史棋局资料库进行神经网络学习,得到习得策略。
(3)采用强化学习的方法进行自我对局来得到改良策略。
(4)用回归的方法整体统计后得到估值网络。
这里的神经网络部分都采用的是深度卷积神经网络,在自我对局的部分采用的是蒙特卡洛树状搜寻法(MCTS)。
更详细的论文见谷歌公司发表在《自然》(Nature)上的论文《Mastering the game of Go with deep neural networks and tree search》。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
深度学习的难点:神经网络越深,优化问题越难
深度学习的核心问题就是一个非常难的优化问题。所以在神经网络引入后的几十年间,深度神经网络的优化问题的困难性是阻碍它们成为主流的一个重要因素。并导致了它们在20世纪90年代到21世纪初期间的衰落。不过现在已经基本解决了这个问题。在本篇博文中,我会探讨优化神经网络的“困难性”,以及理论上是怎么解释这个问题的。简而言之:神经网络变得越深,优化问题就会变得越难。 最简单的神经网络是单节点感知器,其优化问题是凸问题。凸优化问题的好处是所有的局部最小值也是全局最小值。存在各种各样的优化算法来解决凸优化问题,并且每隔几年就会发现更好的用于凸优化的多项式时间的算法。使用凸优化算法可以轻松地优化单个神经元的权重(参见下图)。下面让我们看看扩展一个单神经元后会发生什么。 图1 左图:一个凸函数。右图:一个非凸函数。凸函数比非凸函数更容易找到函数曲面的底部
- 下一篇
Alphago再下一城,人机大战能告诉我们什么?
世界围棋第一人、九段棋手柯洁与AlphaGo的人机大战终于于今日上午在乌镇上演。根据围棋协会与Google共同公布的赛程,远道而来的AlphaGo将在从今天开始的四天内同围棋界的顶尖棋手们进行多局较量,这其中不仅有同世界围棋第一人,九段棋手柯洁的顶尖博弈,还有着以一机之力之力应对五位围棋大师的团队对局,以及人机组队迎战人机组队的组队战,此番对抗与合作并行,可谓加足了看点 去年AlphaGo曾与韩国职业棋手李世石对弈,五局三胜的赛制落幕后,AlphaGo以4:1获得胜利。这也是人类棋手唯一战胜AlphaGo的记录,而今年柯洁与AlphaGo的对弈则改变了规则,仅比三局。在三番棋的首局中,柯洁执黑以1/4子负于AlphaGo,我们不禁要问,AlphaGo是什么?为什么这场围棋对决会承载着如此多人的关注? AlphaGo是什么? AlphaGo是一款由Google旗下DeepMind公司开发的围棋人工智能程序。以 “深度学习”为主要工作原理。 2016年3月,AlphaGo与围棋世界冠军、职业九段选手李世石进行人机大战,并以4:1的总比分获胜; 2016年12月,该程序化名“大师”(Mas...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程