人工智能

从实验室到生活,人工智能的路还有多远?

1956年,人工智能概念首次被提出,之后经历了60年的浮沉起落,人工智能产业一直在曲折中前进,如今,人工智能已成为最炙手可热的产业之一。麦肯锡全球研究院就认为人工智能正在促进人类社会发生转变。这种转变将比工业革命“发生的速度快10倍,规模大300倍,影响几乎大3000倍。

如果说2016年是人工智能的新纪元,人们对于人工智能的探讨还是基于概念的探讨和前景的展望上,那么2017年则是人工智能如何落地的关键一年。

从广义上讲,人工智能的应用已经非常广泛,各大新闻客户端会根据你的阅读兴趣推送相关新闻、各大电商平台会根据你的购买习惯推送相关商品、几乎所有你浏览的网页所呈现的广告都与你的历史搜索相关……这些都可以称得上是人工智能。而且,与过去60年人工智能的发展主要集中在实验室里不同,新一轮的人工智能已经在诸多应用场景中发挥威力,应该说,新一轮的人工智能浪潮才刚刚开始。

从云计算到大数据,人工智能已经具备了相对坚实的基础。其中,大数据称得上是人工智能赖以开展的生产资料,而云计算则是人工智能发展的生产工具。不过,从当下人工智能的发展现状看,大部分的人工智能还停留在大数据分析阶段,距离真正的人工智能还有一定的距离。

人工智能正在告别新一轮概念炒作

人工智能系统研究的9大挑战和4大趋势

近年来,随着计算机视觉、语音识别、机器翻译的技术的发展和商业化,及诸如数字广告和智能基础设施等基于机器学习的后台技术的普遍部署,人工智能已经从实验室的研究项目变成了实际生产系统不可或缺的关键技术。正是因为积累的海量数据、计算能力前所未有的发展高度、机器学习方法的不断进展、系统软件和架构的持续创新、及方便这些技术落地的开源项目和云计算平台,促使了人工智能技术的广泛应用。

下一代人工智能系统将更广泛地影响我们的生活,人工智能将会通过与环境交互替人类进行更关键的和更加个性化的决策。若想要人工智能发挥更大的作用,我们将面临诸多极具挑战性的问题:我们需要人工智能系统可以在各种极端情况下及时做出安全的决策,比如在各种恶意攻击情况下具备鲁棒性,在保证隐私的情况下具备处理跨多组织多个人的共享数据的能力。随着摩尔定律的终结,存储和处理数据的能力将受限,这些挑战也将变得更加难以解决。在这篇文章里,我们将总结在系统领域、体系结构领域、安全领域等方面的具体研究方向。

四大趋势:
• 关键性任务的人工智能(Mission-critical AI)
• 个性化人工智能(Personalized AI)
• 跨多组织机构的人工智能(AI across organizations)

游戏开发中的人工智能(完):遗传算法

接上文 游戏开发中的人工智能(十四):神经网络(2)

本文内容:遗传算法提供游戏软件 AI 演化的可能。虽然遗传算法不是经常被应用于游戏中,但是它们在某些特定应用方面的潜力是值得令人期待的,尤其是结合其他方法使用的时候。

遗传算法

在真实世界中,物种会不断进化,使其能更好的适应环境,这些物种也是最适宜继续存活下去的生物。

遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。

通过使用遗传算法,如同真实世界那样,游戏世界中的元素也可以演化,并适应不同的环境,更加智能。

演化过程

游戏中遗传算法的实现分成四个步骤,如图 15-3 所示。

游戏开发中的人工智能(完):遗传算法

预测人脑会想什么,机器人蠕虫协助医生做手术,智能家居煮好早餐,无人驾驶汽车送去上班……在刚刚闭幕的第四届世界互联网大会上,人工智能、5G时代、物联网、网络安全这些全球互联网“大咖”们口中的高频词将如何影响我们的生活?

人工智能:带人类进入前所未有的智慧社会

本次互联网大会上,人工智能成为大咖们热议的焦点。大咖们预测,未来,人类会慢慢习惯进入一个人工智能无处不在的社会。

“人工智能方向很多,主要看具体场景如何落地。”腾讯董事会主席兼首席执行官马化腾说,目前人工智能和医疗结合应用超乎想象,尤其是在医学影像识别方面,早期筛查肿瘤的准确率已经超过普通医生的水平。

脸书全球副总裁石峰认为,人和机器可以互联互通。比如,预测人脑中可能会想什么,让瘫痪病人大脑里的信息传递给机器;通过大脑里的信息和指令直接让机器以比人类在智能手机上快5倍的输入速度打字。

这些大咖被问及最多的一个问题是:未来人工智能会取代人类吗?阿里巴巴董事局主席马云说,人类对自己大脑的认识不到10%,10%创造出来的机器不可能超越人类,与其担心技术夺走就业,不如拥抱技术解决问题。

物联网:让世界万物连接在一起

进行人工智能机器人研发,应该选择哪种编程语言?

这个问题大多数新的机器人专家在他们的职业生涯中至少会思考一次。不幸的是,这也是一个没有直接答案的问题。

如果你在 Stack Overflow、Quora、Trossen、Reddit 或 Research Gate 等机器人专家或者社区论坛上提问“机器人最好的编程语言是什么?” 你会得到不同的答案。正如我们在文章中讨论的基本机器人技能一样,对于机器人学家来说最关键的是建立“ 编程思维 ”,而不是用一种特定的语言来衡量。在很多方面,你首先学习哪种编程语言并不重要,重要的是在通过编程思维来不断提高自身的技能。

回归主题,在本文中,我们将介绍机器人研发中使用的十大最流行的编程语言。我们将讨论他们的缺点和优点,以及使用或者不使用它们的理由。世界上有超过1500种编程语言你可以学习。下面列出的是目前机器人中十种最流行的编程语言。每种语言都有不同的优势,作者根据自身经验,按照优先级从低到高排序。

10. BASIC / Pascal

BASIC和Pascal是我曾经学过了的两种主要的编程语言。但这并不是我把它们放在榜单上的原因。相反,它们是运用于工业机器人编程上很好的语言。BASIC 针对初学者设计,这使它可以成为开发者简单的入门语言。

游戏开发中的人工智能(十四):神经网络(2)

接上文 游戏开发中的人工智能(十四):神经网络(1)

编写神经网络的类

下面几节是两个实现三层前馈神经网络的 C++类。本章稍后会看一个利用这几个类的实例。如果你想先知道这个神经网络的运行过程,再看其内部细节,可先跳到“用神经网络解决追逐和闪躲之决策”那一节。

我们为三层前馈神经网络实现两个类。第一个类代表的是通用层次类,可用作输入层、隐匿层和输出层。第二个类代表由这三层组成的整个神经网络。

通用层次类 NeuralNetworkLayer

NeuralNetworkLayer 实现了多层前馈网络中的通用层,负责处理该层内的所包含的神经元。其执行的任务包括,配置和释放存储神经元之值、误差和权重的内存、对权重赋初值、计算神经元的值以及调整权重。

例14-1 是该类的开头的内容。

//例14-1:NeuralNetworkLayer 类

class NeuralNetworkLayer
{
public:
    int         NumberOfNodes;

有了人工智能,网络安全就能高枕无忧了吗?

背景

在当今这个互联网大量参与日常生活的社会中,除了骇人听闻的恐怖分子,网络攻击者也同样让人担忧。在很多情况下,他们甚至比普通的恐怖分子还要危险得多。

近几年,由于联网智能设备的激增,网络安全问题频发,越来越多的企业和个人开始意识到网络安全策略和安全解决方案的重要性。而且,由于网络空间中连接的端点越来越多,网络攻击者可以轻易利用多种方式入侵设备。此外,他们还能使用更加复杂的工具,批量生产复杂的恶意软件,渗透到高度安全的设备或网络中。

赛门铁克的第 22 次威胁报告显示,仅在 2016 年,就有超过 3 亿的恶意软件被检测到。外媒 thebestvpn 的撰稿人也曾分享过一个令人震惊的数据:每 131 封电子邮件中就有一封包含恶意软件。这些庞大的数据让企业不得不重视安全问题,并寻求更有效的安全解决方案。

当然,我们也要正视另一个事实:随着时间的推移和技术的发展,网络攻击者也越来越狡猾,绕过传统的安全措施对他们而言算是小菜一碟。2017 年,曾有人对 70 名专业黑客和渗透测试人员展开调查,结果显示:60% 的黑客声称可以在 6 小时内入侵一个系统;超过 80% 的黑客和测试人员表示,在窃取敏感数据后,他们至少可以隐藏 100 天。

游戏开发中的人工智能(十四):神经网络(1)

接上文 游戏开发中的人工智能(十三):不确定状态下的决策:贝叶斯技术

本文内容:“神经网络”技术让游戏具有学习和适应的能力。事实上,从决策判断到预测玩家的行为,都可以应用。我们会详谈最广泛使用的神经网络结构(三层前馈神经网络)。

神经网络

人工神经网络(artificial neural network,即ANN),简称神经网络(neural network,即NN),是一种模仿生物神经网络的结构和功能的数学模型或计算模型。神经网络由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。

神经网络在游戏中的优点和缺点

人工神经网络的特点和优越性,主要表现在三个方面:

接上文 游戏开发中的人工智能(十二):概率概论

本文内容:贝叶斯技术是概率技术,本章解释如何运用,以便在游戏中做决策并适应游戏。

不确定状态下的决策:贝叶斯技术

本章要介绍贝叶斯推论和贝叶斯网络,教你怎么把这些技术应用在游戏中。准确的说,是使用这些技术让 NPC 在游戏世界处于不确定状态下做决策,也会讲解简单的贝叶斯模型,让你的 NPC 可以适应变动的情况。我们会用到大量的概率,如果你不熟悉概率,可以先读一读第十二章,再回来阅读本章。

何谓贝叶斯网络

贝叶斯网络是一些可以替特定问题简明表示出随机变量(随机数)间的关系的图形。这些图形有助于在面对不确定状态时,做推理或决策。这些推理的依据是第十二章讨论过的贝叶斯规则。

本章我们要用简单的贝叶斯网络,仿真特定问题场景,让 NPC 面对游戏世界的不确定信息,做出决策。

结构

游戏开发中的人工智能(十二):概率概论

接上文 游戏开发中的人工智能(十一):规则式 AI

本文内容:游戏开发人员时常使用简单的概率,使游戏较难预测。这种简单的不可预测性让游戏开发人员可以拥有对游戏的实质性控制。本章要谈这种用途的基本概率,顺便作为更高级方法的基石。

概率概论

开发人员在游戏中使用的概率可分为:击中概率、损害概率以及性格概率(比如攻击或逃跑倾向)等。游戏使用概率可以增加一些不确定性。本章我们要学习概率的基本原理,讨论如何把这些原理用在游戏软件 AI 中,以增添某种不可预测性。设置本章的另一个目的是作为下一章内容的基础,下一章要讨论不确定状态下的决策以及贝叶斯分析法。

如何在游戏中使用概率

贝叶斯分析法可在不确定状态下做决策,其基础和概率密不可分。遗传算法也会在某种程度上用到概率。例如,求突变率的运算。即使是神经网络,也要用到概率方法。

随机性

产生随机数的标准C 函数是 rand( ),会在 0 和 RAND_MAX(默认为32727) 之间产生随机整数。

同步内容
--电子创新网--
粤ICP备12070055号