李宏毅机器学习笔记36

目录

摘要

[1.policy gradient A](#1.policy gradient A)

2.exploration


摘要

本篇文章继续学习李宏毅老师2025春季机器学习课程,学习内容是policy gradient中评价A的定义及计算方法,训练过程中需要注意的问题和exploration的概念

1.policy gradient A

控制actor的行为,重点在我们如何定义A

先用一个最简单但不正确的方法帮助理解,收集到足够多的s和a的资料后,用A对他们进行评价,将reward作为A的评价,reward为正就希望偏向做这样的行为,为负就不希望做这样的行为。

但这样训练得到的actor并不好,因为我们可能需要左右移动之后射击才会得到reward,但是左右移动的reward为0,这并不代表左右移动不重要。如果照这样训练,得到的actor只会开火。

正确的做法是,a1有多好不取决于r1而是取决于r1之后的所有r,把他们加起来得到一个数值G1,把G1作为A,A2,A3以此类推。

当游戏非常长时,a1的影响力可能并不会影响到全部reward,因此对G进行改进得到G',在之后的r增加系数,每到下一个就多乘一次系数,这样越远影响力就越小。

但好或坏是相对的,可能所有的行为得到分数都是正的,就会导致有些不好的行为,仍然鼓励actor去做,因此需要做标准化,还需要让所有的G'减去一个baseline B,目的是为了让A有正有负。

整个过程总结一下,首先需要定义初始参数,假设训练T轮,用actor与环境互动得到s和a,计算评价A,计算loss去更新参数。

复杂的是收集资料在循环内,也就是我们每一次更新参数都需要重新收集资料,每次收集的资料只能更新一次参数。

出现这样状况的原因是,每一轮的行为不同。假设第i轮和第i-1轮他们在s1都会采取a1,但是在s2时他们采取的行为就不一样了,所以一轮的资料只能训练一次。

2.exploration

actor执行行为是需要一定的随机性的,随机性不够可能会导致无法训练起来。假设actor只会向右移动,从来不知道开火,如果它从来不开火就永远不会知道开火这件事情是好还是不好。所有在训练过程中,是需要一定的随机性的,这样才能收集到更多的资料。为了加大随机性,可能会主动采取一些行为,比如刻意加大输出的entropy或者在参数上加入噪声让actor每次的行为都不一样,这就是exploration。

相关推荐
中國龍在廣州几秒前
“太空数据中心”成AI必争之地?
人工智能·深度学习·算法·机器学习·机器人
多则惑少则明1 分钟前
AI大模型实用(三)Java快速实现智能体整理(Springboot+LangChain4j)
人工智能·spring ai·langchain4j
恒星科通2 分钟前
隧道高清晰广播系统,破解隧道声学难题 为司乘安全加码
人工智能·安全
qq_12498707533 分钟前
基于Spring Boot的社区医院管理系统的设计与实现(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·毕业设计
dyxal5 分钟前
决策树:让机器像人类一样做选择的“思维导图”
算法·决策树·机器学习
北邮刘老师5 分钟前
语音、文本、图形,哪个才是最适合智能体的UI形式?
人工智能·智能体
光羽隹衡5 分钟前
机器学习——逻辑回归
人工智能·机器学习·逻辑回归
薛不痒8 分钟前
机器学习算法之逻辑回归下
人工智能·机器学习·逻辑回归
松果财经8 分钟前
「直通」英伟达,蓝思科技补齐AI算力布局又一块拼图
人工智能
睿观·ERiC8 分钟前
跨境电商合规预警:Keith 律所 TRO 诉讼(25-cv-15032)突袭,奇幻插画版权风险排查指南
大数据·人工智能·跨境电商