【IT168 资讯】首先,什么是人工智能?
人工智能是计算机科学(或科学)的一个分支,它是处理智能系统的创建。而智能系统就是像人类一样拥有智能的系统。
人工智能科学其实并不新鲜,这个术语在古希腊和埃及的手稿中已经提到。希腊人相信上帝赫菲斯托斯,也被称为铁匠之神,根据希腊神话中的赫菲斯托斯为所有上帝制造智能武器,在他们看来,人工智能的目标是:有助于人们实现某个目标,能够自动运行并提前编程以根据情况以不同的方式作出反应。
那么,人工智能这个词已经在娱乐领域流行起来,我们可以看到很多基于超级智能概念的电影。
但是我们今天看到的人工智能系统与所谓的“超级智能”系统并不匹配
今天的真实AI和AI系统之间的区别:
如前所述,人工智能并不是一个新领域,许多哲学家和科学家自从人类有史以来都对AI有一些想象,但他们都受到时代的技术的限制。今天,随着强大的超级计算机的出现,我们能够建立符合要求的AI系统。但是,他们真的很聪明吗?答案是否定的,他们并不是。让我们看看为什么。
随着计算机的帮助和互联网上足够大的数据集的可用性,所谓的机器学习就出现了。机器学习提供了一套使用AI的数学概念,可以在现实世界中实施。
神经网络,大致模拟人类大脑的工作,使机器学习示例。深度学习帮助谷歌和苹果等众多科技公司通过实施如人脸识别、语言理解、图像理解等众多新兴技术来经济地改进其产品。但是,你所认为的所谓深度学习并非真正的智能。机器学习领域需要庞大的数据集来学习分类对象或进行预测,因此,被称为监督学习。
所谓的监督式学习创造了一种智力幻觉,但它的核心只是一种数学优化。尽管它具有对数据集进行决策和分类的能力,但它的工作方式非常狭窄。
我们非常熟悉创建监督学习系统的技巧。鉴于大数据集,监督学习系统学习了输入和输出之间的映射,因此它可以预测看不见的输入输出。但这不是我们的大脑实际做的,我们的大脑不需要10000张猫的图像来识别一只猫,甚至我们的大脑也可以做很多监督学习系统无法做到的事情。
监督学习的局限性:
尽管监督式学习可以用来创造这么多惊人的事情,但它还是有很多限制:
·它的思维总是有限的,集中在特定的领域。
·它的智能取决于你使用的训练数据集。
·它不能用于动态变化的环境中。
·只能用于分类和回归。但不是单纯为了控制的问题。
·它需要大量的数据集,如果不是,它缺乏准确性。获取数据集可能是一个问题。
什么是AGI?
AGI(人工智能)是一个用于描述真正智能系统的术语。真正的智能系统具有普遍思考的能力,无论以前的训练如何,都可以作出决定,这里的决定是基于他们自己学到的内容作出的判断。设计这样的系统可能非常困难,因为今天的技术有些有限,但我们可以创建所谓的“部分AGI”。
强化学习:
即使在今天,许多科学家也认为强化学习是实现所谓的AGI的一种方式。强化学习可以作为监督学习无法解决的问题的解决方案。让我们举一个简单的例子来理解走路的基本任务之一,步行是一项我们非常自然而擅长的人类任务。婴儿学会自己走路,而不必搜索数据集,人类大脑可以通过从错误中学习来做到这一点。但一旦变得完美,它可以走数千步,甚至可以识别步长中的单个不匹配。大脑采取的步骤总是非常好的的,所采取的速度(或简单的步长)始终是这样的,应该以最短的时间以同样的方式达到目的地,每一步所需的能量应该是最小的。所以步行的速度取决于能量以及到达目的地的速度。同样的步行问题可以应用于如机器人这样需要运动的领域。当然,如前所述,监督式学习不能做到这一点。
与动态编程和控制理论的连接:
正如我们已经熟悉的那样,动态编程是为任何问题获得非常好的解决方案的一种方法。动态规划一直是解决旅行商问题和与图论相关的其他问题的最成功算法之一。这种方法使用迭代方法,其中一组解决方案可以在一个或多个步骤中找到,然后算法的剩余部分决定采取哪种解决方案作为非常受欢迎的解决方案。
动态规划方程:动态规划的标准方程称为Bellman方程。该方程可应用于所有决策问题,例如,在旅行推销员问题中,给定一组城市及其距离,问题是获得至少遍历所有城市的最短路径。 Bellman方程可以表示为:
这个方程涉及到找到一个函数V(x,a),这个函数的目标是为每个状态x选择一个动作a,这样a对于x总是最优的。这是解释贝尔曼方程的最简单的形式方式(不是数学的,证明参见维基百科)。所有当今广泛使用的强化学习算法都是动态可编程的,意味着它们都采用Bellman方程。稍后我们将看到有关Deep-Q的算法,这与Bellman方程相似。一些强化学习算法遵循马尔可夫决策规则,如SARSA算法等。在这种情况下,它们在随机空间中采用Bellman方程的形式,如下所示:
Deep Q学习算法:
Google的Deepmind在2015年发表了一篇关于所谓的Deep Q 学习算法的非常有趣的论文。这种算法在人类难以完成的大多数任务中都能够胜任。该算法能够胜过2600多个Atari游戏。
他们的工作代表了有史以来第一位能够在不需要任何人为干预的情况下不断调整其行为的通用代理,这是寻求通用AI的主要技术步骤。
该代理是使用称为Q学习的算法开发的,Q学习算法的核心是Bellman方程的结果,所以它遵循动态规划的方法。
·实践方法:每个强化学习问题都包含以下组件:
·智能体:学习算法或任何能够学习的智能体。
·环境:它是部署代理的地方或空间。例如:地球是一个人类是代理人的环境。一个环境由一系列州、行动和奖励形成的明确定义的规则组成。
·状态:代理在任何实例中的有效位置称为状态。代理人可以通过执行操作从一个状态转换到另一个状态。避免采取行动,无论这种状态是否正确,都有奖励。
·奖励:奖励是指环境为特定行为定义的结果。如果行动正确,奖励是积极的,否则就是消极的。
任何代理人的长期目标都是理解环境以最大化奖励。奖励可以被最大化,只要它是积极的奖励,反过来是对该状态的正确行动的结果。所以最大化问题可以用简单的术语来处理以下顺序:
·给定一个有效的状态si,产生一个随机动作ai。
·假设动作是正确的并且转换到下一个随机状态si + 1。
·计算转换的奖励ri。
·如果奖励是积极的,记住该状态的行动,因为它是适当的行动,但不是非常好的行动。
·如果奖励是消极的,则放弃该行为。
·从获得的一组非常好的行动中,确定最大奖励的非常好的行动。
·为环境中的每个状态执行此操作。
该等式给出如下:
意思是,Q值即状态动作值取决于旧值+新信息与旧信息之间的差异。旧信息已经存在于记忆中,而新信息是通过最大化从行动中学到的奖励而获得的。因此,在许多强化学习问题中,我们构建了一个可以学习状态与行为之间映射的神经网络,如果行动是积极的。一旦训练结束,我们可以部署网络,以便为任何有效的状态创建正确的行为,从而最大限度地获得回报。
MountainCar示例:
Open AI gym 提供了一套代理人可以接受训练的环境,Mountain Car是一个很好的例子,可以通过强化学习来学习优化加速。这场比赛的目标是训练一辆车成功爬山。
我们可以从零开始实施Q学习,或者我们可以简单地使用Kears-rl。 Krars-rl只是一组API,可以使用预先编写的算法。
如图所示。到4000结束时,汽车已经学会了产生足够的加速度来爬山。
代码:
有关强化学习的更多示例,请参阅我的GitHub配置文件:https://github.com/Narasimha1997