网站性能检测评分
注:本网站页面html检测工具扫描网站中存在的基本问题,仅供参考。
具体的
智能体到底是什么?这里有一篇详细解读 - iDoNews 互联网视频课程
图:pixabay原文来源:medium作者:PrashantGupta「机器人圈」编译:嗯~阿童木呀、多啦A亮根据我们希望实现的目标以及衡量其成功的标准,我们可以采用多种方法来创建人工智能。它涵盖的范围极其广泛,从自动驾驶和机器人这样非常复杂的系统,到诸如人脸识别、机器翻译和电子邮件分类这些我们日常生活的常见部分,都可以划为人工智能的领域范畴之内。阅读完下面这篇文章,也许你就会了解真正创建人工智能所需要的东西有哪些。《你真的知道什么是人工智能吗》(https://hackernoon.com/so-you-think-you-know-what-is-artificial-intelligence-6928db640c42)你所采用的路径将取决于你的AI的目标是什么,以及你对各种方法的复杂性和可行性的理解程度。在本文中,我们将讨论那些被认为对科学发展更为可行和普遍的方法,即对理性/智能体设计的研究。什么是智能体?•通过传感器感知其周围环境•通过执行器对其进行操作它将在感知、思考和行动的周期中往返运行。以人类为例,我们是通过人类自身的五个感官(传感器)来感知环境的,然后我们对其进行思考,继而使用我们的身体部位(执行器)去执行操作。类似地,机器智能体通过我们向其提供的传感器来感知环境(可以是相机、麦克风、红外探测器),然后进行一些计算(思考),继而使用各种各样的电机/执行器来执行操作。现在,你应该清楚在你周围的世界充满了各种智能体,如你的手机、真空清洁器、智能冰箱、恒温器、相机,甚至你自己。什么是IntelligentAgent?IntelligentAgent是这样一种智能体,给定它所感知到的和它所拥有的先验知识,以一种被期望最大化其性能指标的方式运行。此类智能体也被称之为理性智能体(RationalAgent)。智能体的合理性是通过其性能指标,其拥有的先验知识,它可以感知的环境及其可以执行的操作来衡量的。IntelligentAgent的上述属性通常归结于术语PEAS(Performance,Environment,ActuatorsandSensors),其代表了性能、环境、执行器和传感器。所以,以一辆自动驾驶汽车为例,它应该具有以下PEAS:•性能:安全性、时间、合法驾驶、舒适性。•环境:道路、其他汽车、行人、路标。•执行器:转向、加速器、制动器、信号、喇叭。•传感器:相机、声纳、GPS、速度计、里程计、加速度计、发动机传感器、键盘。为了满足现实世界中的使用情况,人工智能本身需要有广泛的IntelligentAgent。这就引入了我们所拥有的智能体类型及环境的多样性。接下来我们一起来看看。环境类型如果想要设计一个合理性智能体,那么就必须牢记它将要使用的环境类型,即以下几种类型:•完全可观察和部分可观察:如果是完全可观察的,智能体的传感器可以在每个时间点访问环境的完整状态,否则不能。例如,国际象棋是一个完全可观察的环境,而扑克则不是。•确定性和随机性:环境的下一个状态完全由当前状态和由智能体接下来所执行的操作决定的。(如果环境是确定性的,而其他智能体的行为不确定,那么环境是随机性的)。随机环境在本质上是随机的,不能完全确定。例如,8数码难题(8-puzzle)这个在线拼图游戏有一个确定性的环境,但无人驾驶的汽车没有。•静态和动态:当智能体在进行协商(deliberate)时,静态环境没有任何变化。(环境是半动态的,环境本身并没有随着时间的流逝而变化,但智能体的性能得分则是会发生相应变化的)。另一方面,动态环境却改变了。西洋双陆棋具有静态环境,而扫地机器人roomba具有动态环境。•离散和连续:有限数量的明确定义的感知和行为,构成了一个离散的环境。例如,跳棋就是离散环境的一个范例,而自动驾驶汽车则需要在连续环境下运行。•单一智能体和多智能体:仅有自身操作的智能体本身就有一个单一智能体环境。但是如果还有其他智能体包含在内,那么它就是一个多智能体环境。自动驾驶汽车就具有多智能体环境。还存在着其他类型的环境,情景和顺序,已知和未知,这些定义了智能体的范围。智能体的类型一般有4种类型的智能体,根据智能水平或其能够执行任务的复杂性不同而区分。所有类型都可以随着时间的推移改进性能并产生更好的操作。这些可以概括为学习智能体(learningagents)。单反射性智能体(Simplereflexagents)这些选择操作仅基于当前状态,忽略感知历史。如果环境完全可观察到,或者正确的行为是基于目前的感知,它们才能工作。基于模型的反射性智能体(Model-basedreflexagents)智能体跟踪部分可观察的环境。这些内部状态取决于感知历史。环境/世界的建模是基于它如何从智能体中独立演化,以及智能体行为如何影响世界。基于目标的智能体(Goal-basedagents)这是对基于模型的智能体的改进,并且在知道当前环境状态不足的情况下使用。智能体将提供的目标信息与环境模型相结合,选择实现该目标的行动。基于效用的智能体(Utility-basedagents)对基于目标的智能体进行改进,在实现预期目标方面有所帮助是不够的。我们可能需要考虑成本。例如,我们可能会寻找更快、更安全、更便宜的旅程到达目的地。这由一个效用函数标记。效用智能体将选择使期望效用最大化的操作。学习智能体(LearningAgents)学习要素:负责改进性能要素:负责选择外部行为,这是截至目前我们通常认为的智能体。评论:关于确定的性能标准,智能体做得如何?问题生成器:允许智能体探索。内部状态表示随着智能体的复杂化,内部结构也越来越复杂。它们存储内部状态的方式也发生变化。由于其性质,简单的反射型智能体不需要存储状态,其他类型则需要。下面的图像提供智能体状态的高级别表示,按表示能力增长顺序排列(从左到右)。•原子表示法(Atomicrepresentation):在这种情况下,状态存储为黑箱,即没有任何内部结构。例如,对于Roomba(机器人真空吸尘器),内部状态是已经进行了真空的补丁,您不必了解任何其他内容。如图所示,这种表示适用于基于模型和目标的智能体,并用于各种AI算法,例如搜索问题和对抗游戏。•因素化表示法(FactoredRepresentation):在这种表示中,状态不再是黑箱。它现在具有属性值对,也称为可以包含值的变量。例如,在找到一条路线时,你有GPS位置以及油箱中的油量值。这为问题增加了一个约束。如图所示,这种表示适用于基于目标的智能体,并用于各种AI算法,如约束满足(constraintsatisfaction)和贝叶斯网络(bayesiannetworks)。•结构化表示法(StructuredRepresentation):在这种表示中,我们在变量/因子状态之间有关系,这在AI算法中引发逻辑。例如,在自然语言处理中,陈述是否在语句中包含对某人的引用,以及该语句中的形容词是否形容该人。这些陈述关系将决定这个陈述是否是讽刺的(sarcastic)。这是高级别的人工智能,用于一阶逻辑、基于知识的学习和自然语言理解的算法。对于人工智能来说,这些理性智能体还有很多,这只是一个概述。正如你所知道的,理性智能体的设计研究是人工智能的重要组成部分,因为它在各种领域中有着广泛的应用。但是,这些智能体不能独立工作,他们需要一个人工智能算法来驱动它们。这些算法大多涉及搜索。很快,我就会写一些关于驱动理性智能体的AI算法,以及在AI中使用机器学习的文章。
AlphaGo对局李世石两周年纪:AI程序攻克围棋的算法秘密 - iDoNews 推广视频课程
这篇文章的主角是AlphaGo,谷歌DeepMind团队开发出的围棋AI。其凭借着2016年击败全球顶尖棋手李世石的壮举而广受瞩目。围棋是一种古老的棋类游戏,每一步都存在诸多选择,因此接下来的落子位置很参议会预测——要求对弈棋手拥有强大的直觉与抽象思维能力。正因为如此,人们长久以来一直认为只有人类擅长下围棋。大多数研究人员甚至认定,还需要数十年才会出现真正具备这种思考能力的AI。但如今距离AlphaGo对李世石的比赛已经过去了两年(3月8日至3月15日),而本篇文章正是为了纪念这个伟大的日子!不过更可怕的是,AlphaGo并没有停止自己的前进脚步。8个月之后,它在某围棋网站上以“Master”为名与全球各地的冠军棋手进行了60盘职业对弈,且拿下全胜成绩。这当然是人工智能领域的一项巨大成就,并在全球引起了一股新的讨论热潮——我们到底该对人工智能的发展速度感到兴奋,还是担心?今天,我们将以DeepMind在《自然》杂志上发表的原始研究论文作为基础,逐段对其内容进行简单清晰的解读,详细介绍AlphaGo是什么以及它的工作原理。我也希望大家能够在阅读本文之后,不再被媒体头条抛出的耸人听闻的标题所恐吓,而真正对关于人工智能的发展感到振奋。当然,你不需要掌握围棋技巧,也同样可以理解本文的观点。事实上,我本人只读过网络百科上的一丁点围棋说明。相反,我其实会使用基础的国际象棋示例来解释相关算法。大家只需要了解双人棋类游戏的基本规则即可——每位选手轮流行动,最后将产生一位赢家。除此之外,你不需要了解任何物理学或高数知识。这样尽可能降低入门门槛,是为了能让刚刚接触机器学习或者神经网络的朋友更容易接受。本文也刻意降低了表述复杂度,也是希望大家能把注意力尽量集中在内容本身。内容摘要众所周知,AlphaGo项目的目标在于建立一款AI程序,并保证其能够与世界顶级人类选手在围棋领域一较高下。为了理解围棋带来的挑战,我们首先聊聊与之类似的另一种棋类运动——国际象棋。早在上世纪九十年代初,IBM公司出打造出深蓝计算机,其在国际象棋比赛中击败了伟大的世界冠军加里·卡斯帕罗夫。那么,深蓝是如何做到这一点的?事实上,深蓝使用了一种非常“暴力”的作法。在游戏的每一步,深蓝都会对所有可能作出的合理棋步作出考量,并沿着每种棋步探索以分析未来的局势变化。在这样的前瞻性分析之下,计算结果很快形成一种千变万化的巨大决策树。在此之后,深蓝会沿着树状结构返回原点,观察哪些棋步最可能带来积极的结果。然而,何谓“积极的结果”?事实上,众多优秀的国际象棋棋手为深蓝精心设计出了国际象棋策略,旨在帮助其作出更好的决策——举例来说,是决定保护国王,还是在盘面的其它位置获得优势?他们针对此类目的构建起特定的“评估算法”,从而比较不同盘面位置的优势或劣势权重(IBM公司将专家们的象棋策略以硬编码形式引入该评估函数)。最终,深蓝会据此选择出经过精心计算的棋步。在接下来的回合中,整个过程再次重复。这意味着,深蓝在每一步之前都会考量数百万个理论位置。因此,深蓝最令人印象深刻的表现并不在于人工智能软件层面,而体现在其硬件之上——IBM公司宣称,深蓝是当时市场上最为强大的计算机之一。其每秒能够计算2亿个盘面位置。现在让我们回到围棋方面。围棋显然更为开放,因此如果在这里重复深蓝的战略,将根本无法获得理想效果。由于每个棋步都拥有过多可选择的位置,因此计算机根本无法涵盖这么多潜在的可能性。举例来说,在国际象棋的开局当中,只有20种可能的下法;但在围棋方面,先手选手将拥有361个可能的落子点——而且这种选择范围在整个对弈过程中一直非常广泛。这就是所谓“巨大搜索空间”。而且在围棋当中,判断某个特定盘面位置的有利或不利权重并没那么容易——在官子阶段,双方甚至还需要再排布一阵才能最终确定谁才是胜利者。但有没有一种神奇的方法能够让计算机在围棋领域有所建树?答案是肯定的,深度学习能够完成这项艰巨的任务!因此在本次研究当中,DeepMind方面利用神经网络来完成以下两项任务。他们训练了一套“策略神经网络(policyneuralnetwork)”以决定哪些才是特定盘面位置当中最为明智的选项(这类似于遵循某种直观策略选择移动位置)。此外,他们还训练了一套“估值神经网络(valueneuralnetwork)”以估算特定盘面布局对选手的有利程度(或者说,下在这个位置对赢得游戏这一目标的实际影响)。他们首先使用人类棋谱对这些神经网络进行训练(也就是最传统但也非常有效的监督式学习方法)。经历了这样的训练,我们的人工智能已经可以在一定程度上模仿人类的下棋方式——这时的它,就像一位菜鸟级人类选手。而后,为了进一步训练神经网络,DeepMind方面让AI与自己进行数百万次对弈(也就是“强化学习”的部分)。如此一来,凭借着更为充分的练习,AI的棋力得到了极大提升。凭借这两套网络,DeepMind的人工智能方案就足以拥有等同于此前最先进的围棋程序的棋艺水平。二者的区别在于,原有程序使用了此前更为流行的预置游戏算法,即“蒙特卡洛树搜索(MonteCarloTreeSearch,简称MCTS)”,我们将在稍后具体进行介绍。不过很明显,到这里我们还没有谈到真正的核心。DeepMind的人工智能方案绝不仅仅依赖于策略与估值网络——其并非利用这两套网络来替代蒙特卡洛树搜索;相反,其使用神经网络以进一步提升MCTS算法的成效。实际结果也确实令人满意——MCTS的表现达到了超人的高度。这种经过改进的MCTS变种正是“AlphaGo”,其成功击败了李世石,并成为人工智能发展历史上最大的突破之一。下面我们真正开始对论文内容的理解,首先是其中使用的游戏策略——蒙特卡洛树搜索算法。其实说到这里,大家对其已经拥有了基本认识,足以顺利理解本篇文章的内容。但如果你希望深入了解更多细节,请参阅以下优秀的视频与博客文章:1.Udacity提供的系列短片(https://www.youtube.com/watch?v=onBYsen2_eA)2.JeffBradberry的MCTS解读(https://jeffbradberry.com/posts/2015/09/intro-to-monte-carlo-tree-search/)3.FullstackAcademy提供的MCTS教程(https://www.youtube.com/watch?v=Fbs4lnGLS8M)下面让我们回想一下本文的第一段内容。上述提到,深蓝计算机是如何在国际象棋的每一步当中构建起包含数以百万计盘面位置与棋步的决策树——计算机需要进行模拟、观察并比较每一种可能的落点——这是一种简单且非常直接的方法,如果一般的软件工程师必须要设计出一种棋类程序,那么他们很可能会选择类似的解决方案。但让我们想想,人类是怎样下棋的?假设目前您身处比赛中的特定阶段。根据游戏规则,你可以作出十几种不同的选择——在此处移动棋子或者在那里移动皇后等等。然而,你真的会在脑袋里列出所有能走的棋步,并从这份长长的清单中作出选择吗?不不,你会“直观地”将可行范围缩小至少数几种关键性棋步(这里假定您提出了3种明智的棋步),而后思考如果选择其中某一种,那么棋盘上的局势将发生怎样的转变。对于其中每一种棋步,你可能需要15到20秒的时间进行考量——但请注意,在这15秒内,我们并不是在非常精确地推衍接下来的交锋与变化。事实上,人类往往会在未经太多思考的情况下“抛出”一些由直觉引导的选择结果(当然,优秀的选手会比普通选手想得更远更深)。之所以这样做,是因为你的时间有限,而且无法准确预测你的对手会勾勒出怎样的后续应对策略。因此,你只能让直觉引导自己。我将这一部分思考过程称为“铺展”,请大家在后文中注意这一点。在完成了对几种明智棋步的“铺展”之后,你最终决定放弃这种令人头痛的思考,直接下出你认为最科学的一步。在此之后,对手也会作出对应的回应。这一步可能早在你的预料当中,这意味着你对于下一步要做的事情更具信心——换言之,不必耗费太多时间进行后续“铺展”。或者,也可能你的对手下出了一手妙招,导致你被迫回防并不得不更谨慎地思考下一步选择。游戏就这样持续进行,而随着局势的推进,你将能够更轻松地预测每步棋的结果,铺展耗时也将相应缩短。之所以说了这么多,是希望以较为浅显的方式为大家讲述MCTS算法的作用——它通过反复构建棋步与位置“搜索树”以模拟上述思考过程。但其创新之处在于,MCTS算法不会在每个位置(与深蓝有所不同)都进行潜在棋步推衍;相反,其会更智能地选择一小组合理棋步并加以探索。在探索过程中,它会“铺展”这些棋步引发的局势变化,并根据计算出的结果对其加以比较。(好了,只要理解了以上内容,本文的阅读就算基本达标。)现在,让我们回到论文本身。围棋是一种“完美信息游戏”。也就是说,从理论层面讲,无论您身处这类游戏的哪个阶段(即使刚刚走出一、两步),大家都有可能准确猜出最终谁输谁赢(假定两位选手都会以‘完美’的方式下完整盘)。我不知道是谁提出了这项基本理论,但作为本次研究项目的前提性假设,其确实非常重要。换句话来说,在游戏状态下,我们将可通过一条函数v*(s)来预测最终结果——例如你赢得这盘对弈的概率,区间为0到1。DeepMind的研究人员将其称为“最优估值函数”。由于某些盘面位置比其它盘面位置更有可能带来获胜结果,因此前者可能比其它位置拥有“更高估值”。让我再强调一次,估值=赢得比赛的0到1间概率值。但先别急——假设一位名叫Foma的女孩坐在您的身边,在每下一步棋时,她都会告诉您这次决定会导致您胜利还是失败。“你赢了……你办理了……不,还是办理了……”我认为这样的提示对您的棋步选择并没有多大帮助,而且非常烦人。相反,真正能够帮得上忙的其实应该是勾勒出所有可能的棋步树,以及这些棋步将会引发的状态——而后,Foma会告诉你在整个树状结构中,哪些状态会将你推向胜利,而哪些会招致失败。突然之间,Foma就成了您的完美伙伴——而非讨厌的插嘴者。在这里,Foma将作为您的最优估值函数v*(s)。此前,人们一直认为像围棋这样的游戏,不可能拥有Foma这样的准确估值函数——因为其中存在着太多不确定性。然而,即使您真的拥有了Foma,她对所有可能盘面位置的估算在现实对弈当中恐怕也无法奏效。因为在国际象棋或围棋这样的游戏当中,正如之前所提到,即使是想要预测七到八步之后的整体局势,过多的可能性选择也会令Foma需要耗费大量时间才能得出分析结果。也就是说,单凭Foma还远远不够。大家还需要进一步缩小明智棋步的具体范围,并据此推衍接下来的局势走向。那么我们的程序该如何做到这一点?Lusha在这里闪亮登场。Lusha是一位拥有相当技巧的国际象棋选手加热心人,她曾花费数十年时间观看国际象棋大师赛。她可以观看你的盘面位置,快速思考您所能做出的全部合理选择,并告诉你专业选手作出各种判断的可能性。因此,如果您在某一特定时间点上拥有50种可能的棋步选项,Lusha会告诉你职业棋手选择每种选项的具体概率。当然,其中一些明智的棋步会拥有更高的概率,而其它无意义的棋步则概率极低。她就是你的策略函数,p(as)。对于给定状态s,她能够为您提供专业选手可能作出的全部选择的对应概率。接下来,你可以在Lusha的帮助下寻找更为合理的棋步选项,而Foma则会告诉我们这些棋步对对弈结果的实际影响。在这种情况下,大家可以选择由Foma与Lusha协商给出落子建议,或者也可以先由Lusha提供建议,再由Foma对结果作出评估。接下来,挑选其中一些选项进行后续影响分析,再由Foma与Lusha继续进行预测指导——通过这种方式,我们将能够更为高效地掌握盘面局势走向。而这,正是所谓“减少搜索空间”的实际意义所在。利用估值函数(Foma)预测结果,利用策略函数(Lusha)提供棋艺层面的概率取舍以缩小值得进一步探索的落子范围。这套体系就是所谓“蒙特卡洛铺展(MonteCarlorollouts)”。接下来,当重新回到当前棋步时,你将能够得到各种选项所对应的平均估值结论,并据此找到最适合的落子位置。不过到这里,其在围棋水平方面仍然表现不佳——因为这两种函数的实际指导能力还比较孱弱。不过没关系。首先进行具体解释。在MCTS当中,起步阶段的Foma与Lusha的功能还不够精熟。但对弈数量越多,二者在预测可靠结果与落子位置方面就越强大。论文指出,“缩小高可能性棋步的具体范围”其实是种较为复杂的表达,“Lusha实际上是通过提供专业棋手的落子概率帮助缩小需要考量的选项。以往的工作主要利用这种技术在策略函数较为简单的情况下,提供强大且成熟的AI选手解决方案。是的,卷积神经网络非常适合图像处理类任务。而且由于神经网络需要特定输入内容并给出对应的输出结果,所以其在本质上其实也相当于一条函数。这意味着大家可以利用神经网络来充当一种高度复杂的函数。从这个思路出发,大家可以将其传递一份盘面位置图像,...
2015,云计算的三大预测 企业视频课程
一、软件定义技术 在可以预见的未来,软件定义技术将。这中间包含了软件定义存储、软件定义网络等多个层面的技术领域。例如软件存储,其实就是将存储虚拟化,为物理存储设施构建一个存储池,由软件层为应用提供需求的存储与管理备份等功能。而软件定义网络则是软件定义数据中心的一部分,将整个数据中心虚拟化,通过软件层整合整个数据中心的资源为用户提供计算与存储等多种功能。而管理员们也不必再像过去那样单独配置网络设备,只需要通过一个软件控制器就可以轻松的管理网络上的所有设备。 二、更好的安全性 随着云计算的普及,云越来越大,被攻击的点也越来越多。当用户的商业信息和重要数据存放于云上面时,是否能够为用户保障安全?还有云计算的可靠性究竟有多大?这都是值得我们关注的话题。 在这个层面上有两方面的发展值得我们在2015年去关注,一是云计算安全技术方面的发展,这包括了数据保护、身份管理、安全漏洞管理、物理与个人安全、应用程序安全、事件的响应与隐私措施等多个方面的技术进步。另一方面则是云计算法律法规方面的进步,用户需要服务级别的协议作为保障,具体规定出详细的责任条款与需要承担的后果。这其中也包括了当服务到期时数据的处理方式、回归到公司的数据类型以及在指定时间之内云服务提供商应该把他们网络上的数据进行删除等等。 云计算的发展是大势所趋,但是,云计算的安全技术进步与相关法律法规的完善,是2015年云计算发展阶段最值得关注的问题。 三、虚拟化 通过虚拟机监视器,系统运行在一个虚拟的平台上可以更加容易同其他数据中心集成组件。可以说,虚拟化将会成为云的入口点。我预计在2015,虚拟化将进一步向着多元化的方向发展,这包括了:(1)平台虚拟化,这是针对操作系统平台级别的虚拟化,通过使用控制程序隐藏实际平台的物理特性,为用户提供一个统一的模拟计算环境;(2)资源虚拟化,这是针对系统资源,如内存、外存、网络资源等的虚拟化;(3)应用程序虚拟化,这包括了仿真、模拟以及解释技术等方面。 在2015,,用户将无法分辨哪些是虚,哪些是实。虚拟化将网络中的所有资源互联在一起,形成一个大规模的数据中心,但用户却不必关心这些,只需要关注在提供给自己的服务即可。可以说,虚拟化是云计算在未来必然的发展方向。 注:本文首发iDoNews专栏,转载请注明来源和出处。