2026/4/18 4:21:42
网站建设
项目流程
内容型网站有哪些,柳州市网站建设公司,制作网站注册页面,网站前端静态模板下载前面的文章简单介绍过#xff0c;传统的监督学习所使用的数据集是#xff08;特征#xff0c;标签#xff09;#xff0c;有“标签”即明确的知晓正确的输出应该是什么。而强化学习所面临的问题并不一定有严格的正确答案#xff0c;而只是知晓一个大概正确的方向#xf…前面的文章简单介绍过传统的监督学习所使用的数据集是特征标签有“标签”即明确的知晓正确的输出应该是什么。而强化学习所面临的问题并不一定有严格的正确答案而只是知晓一个大概正确的方向如在下围棋时第一步下在哪里显然这个问题没有一个明确答案这个时候使用强化学习显然比监督学习更加合适因为监督学习需要的是具有明确答案作为标签的数据集。强化学习的结构逻辑模型可以用上图简单表示三要素1.Actor即模型2.Environment环境 3.Action即模型的输出Environment输入Observation给ActorActor输出一个Action给EnvironmentEnvironment回复一个Reward奖励分数给Actor接着继续把Observation交给Actor如此循环。模型训练的要求就是使得Reward最大代表我们找到了最优的模型。对于模型来说Environment输入Observation给Actor即代表模型从环境中提取到了状态信息根据这个状态信息模型来判断下一步的动作而模型输出的是一个分类的结果即多个动作对应多个不同的概率在输出概率分布以后要添加一定的随机性使得每次的输出结果具有差异性然后选择最大概率所对应的动作。模型在选择一个动作之后这个动作实际是对Environment发生相应的Environment会给模型一个回馈Reward然后再给模型一个新的Observation模型继续选择新的动作循环此过程。这个过程中的Reward会被累积下来Reward越大代表模型做出的动作越好。用表示reward累计因为我们希望R越大越好所以R取反可以直接作为损失函数使得最小化损失和最大化奖励统一起来。整个强化学习的过程逻辑图如下需要注意的是只有Actor本身是神经网络结构而Env和Reward都是黑盒子这意味着我们只能优化Actor的参数而Env和Reward中的参数是无法优化的。有了通过Reward定义的损失函数有了模型Actor显然我们可以通过常规的深度学习的方法来优化Actor中的参数。那么如何使得在给定S1时模型能输出指定的值a这个时候的输出是可以明确的这样的训练可以使用监督学习完成。可以通过经典的多分类问题思路来处理即用交叉熵定义损失函数。如果不想要模型输出指定的值a只需要对损失函数取反。而实际的情况是环境的状态S是由多个Si构成的每训练一组S-a即训练一个多分类问题把这些问题的损失函数交叉熵加在一起即可训练出在不同的状态下应该使用什么动作。这里读者可能会有疑问上述介绍的问题似乎都是监督学习问题即可以明确正确输出的标签与reward又有什么关联呢这个问题将在下一讲给出答案。