人工智能

预测人脑会想什么,机器人蠕虫协助医生做手术,智能家居煮好早餐,无人驾驶汽车送去上班……在刚刚闭幕的第四届世界互联网大会上,人工智能、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) 之间产生随机整数。

深度长文:关于AI,你最该了解可也许从没想过的四个问题

在过去的几年里,我们一直在讨论人工智能(AI)将如何拯救或摧毁世界:自驾车有利于保护我们的生命; 社交媒体泡沫将破坏民主;机器烤面包机会让人类连烤面包的能力都丧失。

你可能很清楚,这其中的一些是无稽之谈,一些是真实的。但是,如果你没有深入地沉浸在这个领域,可能很难分辨孰真孰假。虽然对于想要学习人工智能编程的人来说,互联网上有大把的启蒙教程,但对于不想成为软件工程师或者数据专家的人来说,却缺乏对于人工智能的概念的了解,以及它所面临的社会上和伦理学上的挑战。

如果全社会真的要讨论人工智能,我们就需要解决这个问题。所以今天我们要谈谈人工智能的现实:它能做什么,不可能做什么,未来可能可以做些什么,以及它带来的一些社会、文化和道德方面的挑战。我不会涵盖每一个可能的挑战; 其中的一些,譬如泡沫和虚假信息,大的需要一整篇文章来解释。但是,我会给你们足够的例子说明我们所面临的真正的问题,你们就能够独立提出自己的问题。

我先给大家剧透一下: 大多数最难的挑战不是来自于技术。人工智能最大的挑战往往始于,它迫使我们编程时不得不非常明确地表达我们的目标 ,几乎没有别的事情会这样——而有的时候,我们并不想对自己说实话。

1、人工智能和机器学习

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

接上文 游戏开发中的人工智能(十):模糊逻辑

本文内容:技术上而言,有限状态机和模糊逻辑都落在基于规则的方法这个大伞之下。本章将谈这些方法,以及其他变化的方法。

本章我们要研讨基于规则的 AI 系统。基于规则的 AI 系统可能是真实世界和游戏软件 AI 中最为广泛使用的 AI 系统了。规则系统最简单的形式由一连串的 if-then 规则组成,用来推论或行动决策。从形式上来说,在第九章的有限状态机中,已经看过规则系统的一种形式:我们用规则处理状态的转换问题。第十章谈到模糊逻辑时,也看过另一种规则系统(模糊规则)。

规则系统基础

规则系统有两个主要的部分,一个是工作记忆,另一个是规则记忆。

工作记忆储存已知的游戏世界信息,这部分是动态的。规则记忆储存设游戏设计师设计的的规则。当工作记忆符合规则记忆的某一条规则时,相应的行动就会被触发。或者,规则记忆中的规则也能修改工作记忆的内容。

人工智能和机器学习有什么区别?

人工智能(AI)和机器学习(ML)现在是两个非常热门的流行语,通常似乎可以互换使用。但这二者并不完全一样,但是有时会导致人们的看法有一些混乱,因此需要解释这二者之间的区别。当大数据、数据分析,以及更广泛的技术变革浪潮席卷全球时,这两个术语都会频繁出现。总之,最好的答案是:人工智能是一种机器能够以人们认为“聪明”的方式执行任务的更广泛的概念。而且,机器学习是人工智能的一个最新应用,它基于这样一个想法:真的应该能够让机器访问数据,让他们自己学习。

早期的发展

人工智能已经存在了很长一段时间——希腊神话中就有模仿人类行为的机械人的故事。早期的欧洲研发的计算机被认为是“逻辑机器”,通过复制诸如基本算术和记忆等功能,工程师们从根本上认为他们的工作是试图创造机械的大脑。

作为技术,重要的是,人们对于人类的思想如何运作的理解已经取得了进展,我们对人工智能的构想的概念发生了变化。人工智能领域的工作不是日益复杂的计算,而是集中于模仿人类决策过程和以更具人性化的方式执行任务。

人工智能设备被设计成为具有智能行为的设备通常被分为两个基本群体之一——应用型或通用型。应用人工智能则是更为常见的,例如,智能地交易股票和股票的系统,或操纵自主车辆的系统将属于这一类。

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