克服了强化学习的实际挑战|强化学习,第5部分
从系列:强化学习
布莱恩•道格拉斯
这个视频地址几挑战发生在使用生产系统强化学习,提供了一些方法来减轻他们。即使没有直接的方法来解决你面临的一些挑战,至少会让你思考。
这个视频将覆盖验证学习的困难解决方案,确定故障的位置,手动修复政策。它将显示一些变通方法,使政策更加健壮和整个系统的安全。最后,它将展示如何使用强化学习学习在传统的控制系统的参数和为什么,此刻,两全其美。
前四本系列视频讨论了强化学习有多好,你可以用它来解决一些很难控制问题。所以你可能有这个想法,你可以建立一个环境,地方RL代理,然后让计算机解决你的问题,你去喝杯咖啡或什么的。不幸的是,即使你建立一个完美的代理和一个完美的环境,然后学习算法是收敛的一个解决方案,该方法仍有缺点,我们需要谈谈。在这个视频中,我要处理一些可能不明显的问题与RL和试图提供一些方法来减轻他们。即使没有直接的方法来解决你面临的一些挑战,至少会让你思考。让我们去得到它。我是布莱恩,欢迎来到MATLAB技术说话。
在这个视频中,我们会解决问题归结为两个主要问题:第一个是一旦你有了一个了解政策,是否有办法手动调整如果它不是很完美吗?第二是你怎么知道解决方案是首先要工作吗?
让我们从第一个问题开始。要回答这个问题,让我们假设我们学到的一项政策,可以让机器人用两条腿走路,我们要将这种静态的政策部署到目标硬件。想想这一政策是数学。它由一个神经网络可能成千上万的重量和偏见和非线性激活函数。这些价值观和网络的结构创建一个复杂的函数映射高级低级的行为的观察。
这个函数实际上是一个黑盒的设计师。我们可以有一个直观的这个函数如何运作。你知道数学转换行为的观察。我们甚至可能理解的一些隐藏的特性,这个网络已经确定。然而,我们不知道背后的原因任何给定的重量或偏见的价值。如果政策不符合规范或植物或其他经营环境的变化,如何调整政策应对?重量或偏见你改变吗?问题是,这使得解决问题的事情easier-namely,凝聚所有困难逻辑到一个黑盒功能最终解决难以理解。因为人类没有工艺这个函数,不知道每一点,很难手动目标问题并修复它们。
现在,有积极的研究试图推动可辩解的人工智能的概念。这是你可以设置你的网络,以便它可以被人类容易理解和审计。然而,目前,多数RL-generated政策仍将归类为一个黑盒,设计师不能解释为什么输出的方式。因此,至少就目前而言,我们需要学习如何处理这种情况。
与之形成对比的是,传统的控制系统设计有典型的层次结构与循环和级联控制器,每个设计来控制一个非常具体的系统的动态品质。想想收益可能来自物理性质如肢长度或电机常数。和是多么简单改变这些收益,如果物理系统的变化。
此外,如果系统没有按您所期望的方式,与传统的设计通常可以精确到一个特定的控制器或循环和焦点问题分析。你有能力来隔离一个控制器和测试和修改它独立,以确保执行指定的条件下,然后把控制器回更大的系统。
这是非常困难的解决方案时单一的神经元和重量和偏见的集合。所以,如果我们最终的政策并不完全正确,而不是能够解决的政策的一部分,我们必须重新设计代理或环境模型然后再训练它。这个循环的重新设计、培训和测试,和重新设计、培训和测试可以耗费时间。
但这里有一个更大的问题迫在眉睫,超越时间的长度来训练一个代理。这涉及到所需的环境模型的准确性。
问题是,很难建立一个足够现实的模式——考虑到所有重要的动力学系统中干扰和噪声。在某种程度上,它不会完全反映现实。这就是为什么我们仍然需要做物理测试,而不仅仅是与模型验证一切。
现在,如果我们使用这个不完美的模型来设计传统的控制系统,然后是一个机会,我们的设计不完全真实的硬件上工作,我们将不得不做出改变。因为我们能理解我们创建的函数,我们可以优化我们的控制器和系统进行必要的调整。
然而,与神经网络政策,我们没有这种奢侈。因为我们不能建立一个完美的模型,我们用它做任何训练将是不正确的。因此,唯一的选择就是物理硬件上的代理来完成培训。,正如我们已经讨论过在以前的视频,很有挑战性的。
减少这个问题的规模的一个好方法就是缩小了RL代理的范围。像我上一节,而不是学习的政策需要在最高级别的体现行为观察和命令,我们可以用传统的控制器在RL代理所以,这只解决了一个非常专业的问题。通过与RL代理针对一个小问题,我们缩小解释的黑盒的那部分系统与传统方法难以解决的。
减少代理显然并不能解决我们的问题,只是减少其复杂性。政策更专注所以更容易理解这是做什么,训练的时间减少,和环境不需要包含尽可能多的动力学。然而,即使这样,我们仍然留下了第二个问题:你怎么知道RL代理工作无论其大小吗?例如,健壮的不确定性吗?有稳定保障吗?你能确认系统将满足规格呢?
为了回答这个问题,让我们再次开始我们会如何验证一个传统的控制系统。最常见的方法之一是通过测试。像我们讨论过,这是测试使用模拟和模型以及物理硬件,我们验证系统能否满足规范,它正确的事情整个状态空间,干扰和硬件故障的存在。
我们可以做相同级别的验证测试RL-generated政策。再一次,如果我们发现一个问题我们必须重新培训政策来修理它,但是测试政策似乎是相似的。然而,有一些非常重要的差异,使神经网络策略的测试变得困难。
首先,学习政策,很难预测系统将如何在一个基于它的行为在另一个国家。例如,如果我们训练一个代理来控制电动机的速度让它学会遵循步骤输入从0到100转,我们不能肯定,没有测试,同样的政策将遵循类似的阶跃输入从0到150 RPM。这是真的,即使直线电动机的行为。这个细微的变化可能导致完全不同的神经元激活并产生一个不受欢迎的结果。我们不会知道,除非我们测试它。
与传统的方法,如果线性电动机的行为,那么我们有一些保证线性范围内的所有步骤输入类似。我们不需要单独运行每个测试。我们测试的数量必须与RL政策运行通常比用传统的方法。
第二个原因验证通过测试与神经网络的政策是困难的因为潜力非常大,很难界定的输入空间。记住,深层神经网络的好处之一是,他们可以从相机处理图片等丰富的传感器。例如,如果您正试图验证您的系统可以使用一个图像意义上的障碍,想想会出现许多不同的方式一个障碍。如果图像有成千上万的像素,每个像素的范围可以从0到255,想想有多少排列的数字,和多么的不可能。就像与阶跃输入的例子中,仅仅因为你的网络已经学会识别一个障碍在图像的一分一些照明条件和方向和规模,它不给你任何保证在图像中任何其他方式工作。
最后一个困难我想提出的是正式的验证。这些方法包括保证满足某些条件将通过提供一个正式的证明,而不是使用测试。
事实上,形式验证,我们可以声称规范将得到满足,即使我们不能通过测试。例如,电机速度控制器,我们测试了一个阶跃输入从0到100 RPM,从0到150。但是所有的其他人,像50到300年,还是75 - 80 ?即使我们取样10000速度的组合,它不会将工作,因为我们不能保证每一个组合测试。它只是减少了风险。但是如果我们有办法检查代码或执行一些数学验证,覆盖整个范围,那么它也不重要了,我们无法测试每一个组合。我们仍然有信心,他们将工作。
例如,我们不需要测试,以确保将永远是积极的信号,如果信号的绝对值在软件执行。我们可以简单地通过检查代码和验证表明条件满足,永远都是。其他类型的形式验证计算的鲁棒性和稳定性因素包括增益和相位的利润率。
但对于神经网络,这种类型的正式的验证更加困难,在某些情况下甚至是不可能的。原因我之前解释的,很难检查代码并对如何做出任何担保的行为。我们也没有方法来确定其鲁棒性和稳定性,我们不能原因通过如果传感器或执行机构失败会发生什么。这一切都回来的时候我们不能解释内部函数是做什么。
好的,这些都是学习神经网络的一些方法使设计困难。很难验证他们的表现一系列的规格说明细看一遍。如果系统失效时,很难确定的来源失败,然后,即使你能查明来源,很难手动调整参数或结构,与重新设计的唯一的选择,让你开始训练过程。
但是我不想破坏你的信心在强化学习作为生产系统的一个有用的工具,因为,那就是说,有办法设置学习,这样的政策是更健壮的存在不确定性。也有增加安全的方法,使强化学习生产系统的一个可行的选择。,我们甚至可以使用强化学习来解决一个稍微不同的问题,这可以避免很多问题。让我们结束这段视频在一个积极的注意和讨论这三种。我们将从政策更加健壮。
即使我们不能量化的鲁棒性,我们可以通过积极调整参数使系统更健壮的学习环境,同时代理。
例如,与我们的步行机器人,假设制造公差导致联合电动机的最大转矩下降2到2.1纳米。我们将建立许多这些机器人和我们想学习一个政策时,所有的机器人,这些变化具有很好的鲁棒性。我们可以通过培训代理在一个环境中,电动机转矩值调整每一次仿真运行。我们可以统一选择不同的最大扭矩值的范围在每集的开始,随着时间的推移,这种政策会收敛于这些制造公差是健壮的。通过调整中所有重要的参数就擦知道,肢长度、系统延迟,障碍,和参考信号起到最终将整体稳健设计。我们可能无法要求一个特定的增益或阶段,但是我们将会有更多的信心,结果可以处理更大范围内的操作状态空间。
这个地址的鲁棒性,但它仍然没有给我们任何保证硬件上的政策将做正确的事。和我们不想要的一件事是硬件损坏,或有人受伤,因为不可预知的政策。所以我们也需要增加整个系统的安全。和我们可以增加安全的方法之一是通过确定的情况下,您希望系统避免无论如何,然后构建软件之外的政策监控的情况。如果监控触发器,那么限制系统或接管并将它变成某种安全模式才有机会造成损害。这并不妨碍你部署一个危险的政策,但它将保护系统,允许你学习失败和调整奖励和训练环境,解决故障。
解决提高健壮性和安全性的解决方案的局限性,我们已经学习了神经网络政策。然而,有一种方法可以使用强化学习,仍然能够利用结果作为健壮的、安全的,多变的,和可核查的传统架构控制系统。这是通过使用它只是作为一个传统的优化工具架构控制系统。让我解释一下。设想设计一个建筑的嵌套循环和控制器,每个都有几个收益。你可以结束你有100或更多的个人获得值来调整。而不是试图手动调整这些收益,你可以建立一个RL代理学习他们所有人的最佳值。
代理将对系统执行和奖励多少努力才能得到性能然后行动将几百或系统中收益。所以,当你最初开始培训,代理的随机初始化神经网络只会生成随机值,然后使用这些运行仿真控制收益。现在比第一集可能会产生一些垃圾的结果,但每一集后,神经网络的学习算法将调整,收益增加奖励的方向移动,这可以提高性能和降低工作。
以这种方式使用强化学习的好处是,一旦你学会了一组最优的控制收益,你完成;你不需要任何东西。我们不需要部署任何神经网络或验证或担心不得不改变他们。我们只需要代码最终的静态增益值到我们的系统。通过这种方式,您仍然有传统架构系统(一个可以验证,手动调整硬件就像我们用来)但是你填充与增益值,利用强化学习是最佳选择。一种两全其美的方法。
所以希望你可以看到,强化学习是真正强大的求解困难的问题,这绝对是值得学习和如何把它与传统方法的方式你觉得舒服的最终产品。有一些关于理解解决方案存在的挑战和验证,它将工作,但当我们覆盖,现在我们有一些方法来解决这些挑战。
这是以为我想离开你。学习算法,RL设计工具MATLAB,推进和验证方法。“我们离强化学习的潜能。之前在很远的将来也许不会成为第一个设计方法的选择对于所有复杂的控制系统。谢谢你的观看这段视频。
如果你不想错过未来科技视频说话,别忘了订阅这个通道。同样,如果你想看看我的通道,控制系统讲座,我控制覆盖更多的话题。下次再见。
相关产品s manbetx 845
了解更多
你们可以合理选择联合国网站web在liste如下:
优化器les表演du网站发表评论
倒优化器les表演du网站,selectionnez洛杉矶地区中国(en考点或英语)。Les网站de MathWorks倒变量支付不是优化倒Les visites provenant您的地区。