page
Survey on Large Language Model-Enhanced Reinforcement Learning: Concept, Taxonomy, and Methods又要看综述了,现在感觉下来RL和LLM的结合可以从两方面来看
从LLM角度看,LLM本身也就只是文本输入文本输出,想要做更多的事,想要更好利用LLM的能力,就要有一个算法让它能够做能过扩展它的能力,也就是RL
从RL角度看,RL本身存在着很多问题,就将LLM引入看看能不能解决这方面的问题
背景RL
存在哪些问题当需要处理语言与视觉信息的时候 deep RL面临问题
表示学习和RL解耦,分开学习减少RL的负担使用NLP技术处理语言问题
采样效率
反馈函数设计 奖励函数设计非常复杂,特别是在复杂环境和稀疏奖励环境(围棋),有可能设计次优函数或者引起agent意料之外的行为
泛化性 原因在于难以迁移RL已经学习的知识或者技能到一个新的未见过的场景中 通常在一个设定好的环境中进行训练
基于模型规划中的复合误差 随着预测范围的延申,预测的误差不断累积,导致与最佳轨迹存在显著偏差
多 ...
paper reading
Enabling Intelligent Interactions between an Agent and an LLM: A Reinforcement Learning Approach论文提出的背景问题
为什么需要引入LLM到强化学习任务中通过将LLM作为明确推理者,代理可以根据LLM提供的高级指令生成低级动作,并与目标环境进行交互,从而收集进一步的反馈。LLM的引入可以提高代理在处理复杂任务时的效率和准确性,同时为代理提供更多的决策支持和指导,从而增强代理的任务规划和执行能力。
引入LLM后会引发什么问题
agent与大模型交互非常耗费时间
大模型需要很大的部署空间,以至于只能运行在云服务器上
使用商业大模型会很耗钱
不足够的交互又容易导致LLM对环境理解不彻底从而导致不可预知的情况
那么什么时候才需要去query LLM获取指导就至关重要了过多的询问会引起资源损耗过少的询问会让任务失败
如何做呢将agent做出决策视为一个马尔可夫决策过程,并且使用选项框架作为策略的更高级的封装选项就是一个三元组<起始状态,策略,终止状态>,agent依据当前状态和选项 ...
A Survey on Large Language Model based Autonomous Agents
强化学习的一些事强化学习MD作业deadline提前了整整一个月了,这一周就光做作业去了什么也没干刚出一个llama3想玩玩也没时间,现在又要看论文了,打算下午去吃点好的犒劳下自己了。
关于强化学习写作业的感受,太难了,环境怎么设计奖励怎么回馈实在是太难了,不靠GPT基本很难完成了可以说是。一些有意思的是价值迭代和DQN在完成的一个版本都下不过随机落子,但是在价值迭代改进了之后能够完胜随机落子,同时下不过随机落子的DQN完全没有改动竟然随便赢改进之后的价值迭代,可以说是傻逼克高手了。
因为价值迭代一直没有进度,(成功的那版是用GPT仿照悬崖环境的价值迭代写的),我中间也尝试过用策略迭代代替价值迭代,结果这个策略迭代更离谱了,会在已经有棋子的地方下棋。
论文的一些事问题背景先前agent的决策过程与人类不是很像,agent知识来源狭隘且以简单的启发式的决策进行行动,同时环境也是为agent进行设计过的、受限的。在大模型出来之后,智能体能做出类人决策变得很有可能了。
An autonomous agent is a system situated within and a part of ...
也许是一个很牛逼的想法
关于昨天的交流讨论我是完全不知道交流讨论是把老师给的文献看了然后再给他讲出来我问同学说交流讨论是干嘛的他们说是讲最近干了什么我就真把最近干了什么写成一个PPT了结果是讨论分享看过的论文我无语,整个给我糗大了
动手学习强化学习
DQN深度强化学习,基础就是使用一个全连接网络来预测Q(s, a)动作价值函数,这个动作价值函数指的是在一个状态下采取一个动作的价值。直接看定义吧
123456789101112class QNet(nn.Module): def __init__(self, state_dim, hidden_dim, action_dim, *args, **kwargs): super().__init__(*args, **kwargs) self.net = nn.Sequential( nn.Linear(state_dim, hidden_dim), nn.ReLU(), nn.Linear(hidden_dim, action_dim), nn.ReLU() ) def forward(self, x): return self.net(x)
然后在训练过程中,由于没有样本,需要将agent与环境交互获得的状态动作回报下一状态是否完 ...