大家好, 欢迎回到人工智能课程｡
我希望大家对今天的教程感到兴奋, 因为我们正在向人工智能的世界迈出第一步,
今天我们要讨论的是强化学习｡
这是一个非常重要的教程, 因为它将为本课程中的其他内容奠定基础｡
我们从这里开始吧｡
我们有一个小迷宫, 这个迷宫是我们对环境的再现, 这也是我们在这门课上要讲的内容.
我们将要面对的是某些特定的环境, 在这些环境中, 我们的人工智能将发挥作用｡
它会采取行动｡
它将寻求击败这些环境, 将寻求在这些环境中获胜｡
我们有个经纪人｡
代理人是我们的人工智能｡
这个人或者说是这个大脑将在这些环境中航行, 并从他们的大脑将提供的反馈中学习,
以便执行某些行动｡
它的工作方式是代理在这个环境中执行特定的操作, 结果, 它所处的状态将发生变化｡
所以它可能更远, 更近, 或者更靠左, 更靠右｡
它可能有一些其他的参数来描述它的状态, 而这些参数是会改变的｡
所以状态会因为采取的行动而改变, 而且它也会根据行动而得到奖励｡
所以每次它采取行动, 状态就会改变, 它就会得到奖励｡
现在, 请记住,
有时可能发生的情况是, 它不会改变状态, 行动不会改变状态, 或者在特定状态下采取行动不会有奖励｡
不是的｡
但不管怎样, 代理人会继续这样做, 会采取行动, 改变状态,
获得奖励, 改变行动, 采取行动, 改变状态, 获得奖励.
通过这个过程,
我们将学习环境, 探索环境, 了解什么行为会带来好的回报和有利的状态, 什么行为会带来坏的回报和不利的状态｡
这是一个全球性问题的一个非常简单的表现｡
所以如果你仔细想想, 环境实际上并不一定只是迷宫｡
这不仅仅是走出迷宫或在迷宫中找到宝藏｡
环境可以是生活中的任何东西｡
想象一下你早上醒来, 正在做煎蛋卷｡
所以为了做那个煎蛋卷, 你需要经过一些步骤｡
你需要准备盐, 鸡蛋, 煎锅, 点火等等｡
这听起来确实像是一件例行公事, 平凡的事情, 但它已经成为例行公事, 因为你已经做了太多次｡
但在现实中, 这是一个环境, 你正在执行某些行动, 你正在把火,
你把煎锅在火上｡
你把所有的鸡蛋都放进煎锅里, 然后在鸡蛋上放些盐, 然后把它们翻过来, 等等.
正如你所见, 有一些特定的行为, 在特定状态下的行为, 这些行为会导致特定的状态,
有时候还会带来回报.
举个例子, 当你把火点燃, 然后你等, 等, 等, 等, 等, 等, 你在采取等,
等, 等, 等太久的行动｡
然后你把鸡蛋放进煎锅里｡
回报将是非常负面的｡
会烧起来的｡
另一方面, 如果你在正确的时间里做了所有正确的事情｡
因此, 了解应该在正确的时间点采取行动也非常重要｡
所以, 举个例子, 在你把鸡蛋放进去之前把盐放进煎锅里可能不是最好的主意｡
你可能会想采取这样的行动, 把盐放进煎锅后, 鸡蛋在那里｡
所以在处于不同的状态｡
所以记住这点很重要｡
与此同时, 如果你按照正确的顺序,
在正确的状态下采取了所有正确的行动, 你的最终奖励可能是你得到了一个煎蛋卷, 你可以吃｡
这是你生活中最基本的活动｡
但如果你仔细想想, 它实际上是一个环境, 你是在这个环境中执行任务的代理｡
你其实不需要学习任何东西, 因为你已经很了解了｡
但同时你也可以学习, 也许你可以学习如何做更好的煎蛋卷, 或者特别是如果你这是你做的第一个煎蛋卷,
你很可能会搞砸它｡
但是你将从中学习, 因为你将理解什么样的行动会导致状态和奖励, 以及生命中的任何其他东西｡
例如, 甚至在股票市场上交易, 买卖,
并从市场上获得一定的反馈, 在返回正或负回报的意义上｡
这也是一个环境, 你作为一个代理人参与到这个环境中｡
开车也是一个环境, 你可以转动方向盘, 可以加速, 可以刹车等等,
你从环境中得到反馈｡
其中一个反馈是警察给你一个超速罚款, 如果你在高速公路上超过了可接受的或允许的速度限制｡
因此, 从那里你会学到, 这是不应该做的事情, 因为它会导致一个负面的奖励｡
因此, 奖励不必只在过程的最后｡
他们可以贯穿整个旅程, 贯穿整个过程｡
这是几个例子｡
就我而言, 强化学习最简单的方法就是训练一条狗｡
当你训练一只狗时, 你给予它一些命令｡
如果它服从这些命令, 那么你就给予它一个｡
你给予它像饼干什么的｡
如果它不服从这些命令, 你就告诉它它是一只坏狗, 或者你就给予它吃的｡
通过这个过程, 它学会了什么是特定的命令, 或者它需要做什么, 在特定的状态下它需要采取什么行动｡
状态是你给它的命令｡
而在此基础上, 它会得到一定的奖励｡
当然, 在人工智能的世界里, 这并没有那么复杂｡
你不必给予人工智能吃的｡
你不必每次都带着一袋饼干｡
你只要给予它加一个或减一个｡
因此, 在人工智能领域, 我们自己创造了这些AIS, 这是一个巨大的优势｡
所以我们给他们的奖励, 如果你想一想, 这真的很酷｡
你给他们的奖励其实并不存在｡
它们只是一个正一个负一个一个零之类的｡
所以这都是不存在的, 都是虚构的东西, 但同时它会带来伟大的结果｡
我们可以创造出这些神奇的东西, 这些神奇的人工智能, 通过这些神奇的人工智能, 通过提供并不存在的奖励,
加上和减去一｡
这不需要我们付出任何代价｡
但同时, 这些结果非常类似于真实的世界和狗的例子｡
但在这里, 回报是数字化的, 只是数字｡
记住这一点, 我们可以谈谈机器狗｡
我喜欢这个例子｡
所以这只是一张随机的照片｡
通过强化学习训练出来的机器狗不一定就是这样, 有些机器狗, 尤其是年纪大的机器狗｡
你会有一个算法在那里｡
这是一个很好的例子, 说明了预编程智能体和强化学习智能体的区别.
所以你可以有一个机器狗, 它是预先编程的如何走路｡
它会在软件中的狗后面的算法中这么说｡
好吧, 我会的
为了走路, 你需要左腿向前, 左前腿向前, 然后你的后右腿向前, 然后你的前右腿向前,
然后你的后左腿向前, 重复这个动作｡
这就是对行走的定义是这只狗体内的一种功能｡
然后它可能会有如何坐, 如何站之类的事情｡
而在一只通过强化学习训练的机器狗中, 你并没有预先给它编程｡
这是这里所有东西的关键概念, 你没有任何算法在里面, 是硬编码到狗｡
相反, 你有我们将在未来讨论的内容｡
你有一个强化学习算法, 它被告知, 好的, 所以目标是从你现在的位置, 到房间的尽头,
比如说, 什么都不知道｡
下面是你可以采取的一些行动｡
你可以移动你的右脚, 你可以移动你的左脚, 你可以移动你的右后脚, 你的右后脚或左后脚｡
这是你能做的所有自由度｡
你可以这样移动它们｡
你可真喜欢｡
所以就像一个你可以采取的行动的列表, 你的奖励是每前进一步, 你就得到一个加号｡
每次你跌倒, 你得到一个负一, 这就是它的全部｡
然后他们就把狗留下, 让它自己想办法｡
狗试图站起来, 它福尔斯了, 它意识到我不应该做那个导致我摔倒的动作, 因为每次我摔倒,
我都会得到一个负的, 这对我不好然后其他帮助它站起来的动作也是一样.
然后它发现这只是实验, 实验, 实验,
随机尝试, 然后它发现它可以通过移动右前脚向前迈出一步, 它得到了一个加号, 它意识到, 哦,
我应该做更多的事情｡
好吧, 酷｡
因此, 它现在知道它应该多做这个, 少做那个｡
通过这个学习过程, 它很快地, 非常快地理解了它是如何走路的｡
那些能自己解决问题的狗有时候比那些被预先编程的狗走得更好｡
因为当我们预先编程的时候, 我们看着真实的的活狗, 或者我们用自己的想象力去做｡
而强化学习狗可以自己优化事情, 因为它是一个人工智能, 有时它可以得到更好的结果｡
这就是他们如何训练这些机器人这些同样的机器狗踢足球｡
你不能训练一只普通的狗踢足球, 因为整个方法是不同的｡
这可能不是一只普通的狗被训练去做的事情, 或者在它的进化过程中做过的事情｡
而强化学习机器狗可以很容易地理解如何踢足球, 只要你告诉它们奖励是什么, 目标是什么,
它们可以采取的行动是什么｡
这就是强化学习的一般原理｡
以上是强化学习的简要概述｡
我希望这让你们对接下来的事情感到非常兴奋, 因为这是一个完全不同的世界,
与预编程解决方案或硬编程､ 硬编码解决方案相比, 你有条件｡
这是非常不同的, 我们将讨论更多｡
与此同时, 我们为你准备了一些阅读｡
是这样｡
如果你想有一些支持材料, 这里有一篇很棒的文章, 你可以看看｡
这就是TensorFlow的简单强化学习｡
它有十个部分｡
链接在这里, 您可以在课程中找到完整的可点击链接｡
资源是由亚瑟朱利安尼｡
这是一篇2016年的文章, 你可以沿着这门课程学习, 也可以从这篇文章中获得更多信息｡
但请记住, 那篇文章是关于TensorFlow的, 而在本课程中,
我们使用的是PyTorch, 因此实现不同｡
但同时你们也会学到一些东西, 这些东西可以补充你们在这门课上学到的东西.
所以, 即使你没有考虑一定要关注它, 也会有很棒的文章跟随｡
只是以防万一, 看看第一部分, 看看你是否喜欢,
看看你是否想多读一点｡
然后我们会具体到这个教程, 关于强化学习｡
理查德·萨顿顿写过一篇论文, 名为《强化学习导论》.
这是1998年的论文, 很老了｡
但与此同时, 你也可以学到一些关于强化学习的知识｡
其中一些例子像煎蛋卷的例子和其他可以应用强化学习的例子｡
如果你正在寻找一些额外的阅读, 这只是强化学习的一般概述｡
关于这一点, 我们将结束本教程｡
等不及下次见你了｡
在那之前, 好好享受吧｡
一､