《TensorFlow技术解析与实战》——1.1 什么是人工智能

  1. 云栖社区>
  2. 博客>
  3. 正文

《TensorFlow技术解析与实战》——1.1 什么是人工智能

异步社区 2017-05-02 14:56:00 浏览1226
展开阅读全文

本节书摘来异步社区《TensorFlow技术解析与实战》一书中的第1章,第1.1节,作者:李嘉璇,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.1 什么是人工智能

什么是人工智能(artificial intelligence,AI)?要了解这个问题,我们先来看看人工智能的几个应用。

1.微软小冰
相信很多朋友手机里都有关注“微软小冰”的公众号,这是微软(亚洲)互联网工程院的一款人工智能伴侣虚拟机器人,跟它聊天时你会发现,小冰有时回答得非常切中你的心意,而有时逻辑上表达却有点儿对不上上下文,所以你觉得它时而回答得不错像人,时而又一眼看穿它是个机器人。这种能否判断对方究竟是人还是机器人的思维实验,叫作“图灵测试”。

图灵测试是计算机科学之父英国人艾伦·图灵提出的,这是一种测试机器是否具备人类智能的方法。图灵设计了一种“模仿游戏”:远处的人在一段规定的时间内,根据两个实体——电脑和人类对他提出的各种问题来判断对方是人类还是电脑。[1]具体过程如图1-1所示。C向A和B提出问题,由C来判断对方是人类还是电脑。通过一系列这样的测试,从电脑被误判断为人的概率就可以测出电脑的智能程度,电脑越被误判成人,说明智能程度就越高。

808242e9fa5d52156c59ab5480b2fa12ff5e1877

这种情感对话能力就是人工智能的一个方向。而现在微软小冰更是可以通过文本、图像、视频和语音与人类展开交流,逐渐具备能看、能听和能说的各种人工智能感官,并且能够和人类进行双向同步交互。

2.人脸识别
现在许多电脑开机密码、支付宝的刷脸支付、客流的闸机通行都有采用人脸识别技术。目前市面上也有许多人脸识别考勤机。很多公司已经采用了人脸闸机打卡签到技术,当有人刷脸打卡签到时,识别出这个人的面部特征,考勤机会将其与公司的员工信息进行比对,完成身份识别,确认后,便可开闸放行。

更进一步讲,人脸识别中还可以识别出人物的年龄、性别、是否佩戴眼镜、是否有笑容、情绪欢乐或悲伤,以及眼睛、鼻子、嘴等关键部位,这就是人脸关键点检测。图1-2就是人脸关键点检测的一个示例。

1eca48b57cb3668708ff4a81874fb73a7a72e3bd

国内有一些公司在人脸识别上已经达到了先进水平,如云从科技、旷视科技、商汤科技等。旷视科技的Face++有目前世界一流的人脸追踪、识别、分析等服务应用,面向开发者的云平台及API、SDK,已经可以直接调用。

以上是人工智能应用的两个例子。百度百科上给出的人工智能的解释是:“它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。”[2]

简而言之,人工智能就是研究用计算机来实现人类的智能,例如,去模仿人类的知觉、推理、学习能力等,从而让计算机能够像人一样思考和行动,有图像识别(机器识别出猫猫狗狗)、人机对话(机器感知到人类的语义和情感,并给出反馈)、围棋的人机对弈(AlphaGo、Master等让机器自己思考去下棋)等。

国际上的谷歌、苹果、亚马逊、微软等巨大公司都在“两条腿走路”,一方面在做研发项目,如“谷歌大脑”(Google Brain),另一方面同时发力智能家居,如“Google Home智能音箱”,希望把设备当成人来交流。国内的阿里、腾讯、百度、搜狗、地平线等公司以及很多不同领域的创业公司也都在积累的大量数据上,开始尝试训练出高效的模型,不断优化业务指数。

那么,机器是如何实现人类的智力的呢?其实,机器主要是通过大量的训练数据进行训练,程序不断地进行自我学习和修正来训练出一个模型,而模型的本质就是一堆参数,用上千万、上亿个参数来描述业务的特点,如“人脸”“房屋地段价格”“用户画像”的特点,从而接近人类智力。这个过程一般采用的是机器学习以及机器学习的子集——深度学习(deep learning),也就是结合深度神经网络的方法来训练。所以说,深度学习方法是能够迅速实现人工智能很有效的工具。

81c2ab748ff068a182c04bd0424b29e1653b70a1

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》。

网友评论

登录后评论
0/500
评论
异步社区
+ 关注