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

1.1 什么是人工智能

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

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

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

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

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

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

  1. 《TensorFlow技术解析与实战》——第3章 可视化TensorFlow 3.1PlayGround

    本节书摘来自异步社区<TensorFlow技术解析与实战>一书中的第3章,第3.1节,作者李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看 第3章 可视化Te ...

  2. 《TensorFlow技术解析与实战》——第3章 可视化TensorFlow

    本节书摘来异步社区<TensorFlow技术解析与实战>一书中的第3章,作者:李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第3章 可视化TensorF ...

  3. 《TensorFlow技术解析与实战》——1.2 什么是深度学习

    本节书摘来异步社区<TensorFlow技术解析与实战>一书中的第1章,第1.2节,作者:李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.2 什么是深 ...

  4. 《TensorFlow技术解析与实战》——3.1 PlayGround

    本节书摘来异步社区<TensorFlow技术解析与实战>一书中的第3章,第3.1节,作者:李嘉璇,更多章节内容可以访问云栖社区"异步社区"公众号查看. 3.1 Play ...

  5. 《TensorFlow技术解析与实战》——导读

    前言 2017年2月,TensorFlow的首届开发者峰会(2017 TensorFlow Dev Summit)在美国的加利福尼亚州举行.在会上,谷歌公司宣布正式发布TensorFlow 1.0版本 ...

  6. TensorFlow学习笔记——《TensorFlow技术解析与实战》

    著名历史学家斯塔夫里阿诺斯在<全球通史>中,曾以15世纪的航海在"物理上"连通"各大洲"作为标志将人类历史划分为两个阶段.在我正在写作的<互联 ...

  7. 《TensorFlow技术解析与实战》欢迎来到异步社区!

    欢迎来到异步社区! 异步社区的来历 异步社区(www.epubit.com.cn)是人民邮电出版社旗下IT专业图书旗舰社区,于2015年8月上线运营. 异步社区依托于人民邮电出版社20余年的IT专业优 ...

  8. 重磅发布 | 承载亿级流量的开发框架,闲鱼Flutter技术解析与实战大公开

    简介: 闲鱼是国内最早接触使用 Flutter 的团队,经过多次研讨验证并大规模上线,在App性能.稳定性.开发效率上收益甚多.现在,闲鱼将这个过程中的一手实践知识和技术沉淀,整理成册 --<F ...

  9. 技术解析+代码实战,带你入门华为云政务区块链平台

    摘要:政务区块链平台是行业区块链平台的初步实践,未来在区块链技术的发展下,还会打造面向其他领域的链管平台,构建多方协同的分布式账本,让区块链应用更便捷高效的为产业服务. 本文分享自华为云社区<技 ...

  10. 《TensorFlow技术解析与实践》之实战篇--李佳璇

    <第二篇 实战篇>代码及实现(https://blog.csdn.net/longji/article/category/6840109/1) 1. 第一个TensorFlow程序 2.T ...

最新文章

  1. c++头文件_51单片机C语言编程知多少:几人不知头文件,你要的干货在这里了
  2. 前端码农的焦虑与救赎
  3. 循环获取另一个php变量,通过引用将多个变量传递给foreach循环(php)
  4. 关闭Visual Studio 实时调试器
  5. 第7章 文件和数据格式化
  6. CSS实现盒子居中对齐的七种方法
  7. HTTP中GET,POST和PUT的区别
  8. Holt Winter 指数平滑模型
  9. uniapp Apple iOS 绑定解绑
  10. 拼多多店铺流量解析:这些流量入口你必须了解!
  11. vscode error: You have not concluded your merge
  12. MyEclipse2019 4破解
  13. 字母对应的日期 moment Element JAVA oracle mysql的日期格式
  14. 目标检测入坑指南3:VGGNet神经网络
  15. Linux统计项目代码行数
  16. erdas裁剪影像_ERDAS软件应用(一)遥感影像数据裁剪
  17. 晕菜~~~竟然出了这样的事情~~
  18. android 中篇 文章推荐
  19. python写网站和java写网站的区别-做Web开发,编程语言用Python还是Java好呢?
  20. 容易让人没朋友的python整蛊小程序,纯属娱乐慎用

热门文章

  1. 5.7 tensorflow2实现主成分分析(PCA) ——python实战(下篇)
  2. 网页开发者模式调整到手机模式_苹果全球开发者大会将于6月22日召开 全线上模式...
  3. python包导入细节_python 如何上传包到pypi
  4. 计算机设备管理程序在哪,设备管理器在哪里查找?如何打开?
  5. linux 装gcc组件,linux下安装redis组件报错-gcc报错
  6. Android 控件系列篇
  7. 《Android Jetpack》— Android 书籍
  8. 解决git push报错error: failed to push some refs to 的问题
  9. 第二步_安装samba服务器
  10. Navicat for Mysql安装及破解教程