大模型学习基础(七)强化学习概念回顾

本篇博客将结合蘑菇书来就之前介绍的强化学习概念进行回顾,主要通过Q&A方式进行。

Q1-1:强化学习的基本结构是什么?

A:

actor、environment、reward。environment将提供一个状态向量s给actor,actor得到s根据策略进行action获得reward,环境受到action影响变为下一个状态s'。actor的目的是最大化reward

Q1-2:为什么强化学习相对于监督学习的训练过程更加困难?

A:

1.强化学习的数据集是时序序列,actor、reward、action、s、policy等会随着时间不断变化,而监督学习的数据集往往是独立同分布的

2.强化学习的reward具有时延效应,reward不能及时反馈

3.监督学习的数据集有标注好的标签,而RL选择action只能根据最大化reward来优化

Q1-3:强化学习的基本特征有哪些?

A:

1.有探索过程,即通过不断和环境交互来获得对环境的判断

2.actor会从environment中获得具有时延的reward

3.训练的时间非常重要,因为数据都是时间序列数据

4.actor的action将会影响reward

Q1-4:状态和观测有什么关系?

A:

状态是对环境的完整描述,观测是对环境的部分描述

Q1-5:一个强化学习智能体由什么构成?

A:

1.策略函数,actor通过policy来进行下一步的action,策略包括随机性策略和确定性策略。随机性策略是一个action的概率分布,确定性策略是一个确定性的action

2.价值函数,价值函数表述的是当前状态下执行当前策略actor的平均回报

3.actor模型,actor模型负责理解environment,决定系统如何运行

Q1-6:可以把智能体分为哪几类?

A:

1.基于价值函数的智能体。显式学习价值函数,隐式学习智能体的策略。

2.基于策略的智能体。直接学习策略,给actor一个状态,其直接输出对应的动作概率

3.将上述两种结合。

Q1-7:基于策略学习和基于价值学习的强化学习方法有什么区别?

A:

1.基于策略学习的方法,根据policy产生action,算法将直接更新policy使得回报最大;基于价值学习的方法,actor不需要制定显式的策略,而是通过更新价值函数如V来选取使得V最大的action

2.基于价值的方法只适用于离散环境,如围棋和某些游戏领域;对于行为集合庞大或是动作连续的场景,该方法效果较差

3.基于价值的方法有Q-learning、Sarsa,基于策略爹待定的算法如策略梯度算法

4.actor-critic算法同时使用策略和价值评估做决策,actor根据策略做出动作,critic将根据actor评估价值。

上述问题基本是基础性的概念性题目,下面给出一些用来考察中高级架构师的问题

Q2-1:一句话描述对强化学习的认识

A:主要包括actor、environment、reward,actor根据policy通过action与environment交互,使得reward最大。

Q2-2:强化学习、监督学习、无监督学习的差别

A:强化学习和无监督学习不需要像监督学习意义依赖有标签的数据集;无监督学习直接通过给定的数据进建模来寻找数据中的隐藏结构;强化学习通过延迟奖励学习策略来不断使模型和目标接近,并通过reward函数判断模型和目标的差距。强化学习处理的是序列数据,彼此相关性较强,而监督学习处理的数据往往是独立同分布的

Q2-3:强化学习的场景有哪些

A:具有马尔科夫性的问题,即当前状态中包含所有和未来状态有关的历史状态的信息。

Q2-4:

A:强化学习的损失函数目的是使回报最大化,深度学习的损失函数的目的是使预测值和真实值差距尽可能小。

Q2-5:模型和免模型的差异?

A:有模型就是对environment进行建模,免模型则actor直接和真实的environemnt进行交互。免模型方法对于真实环境具有更好的泛化能力,需要较多的数据采样来优化策略。有模型方法需要对环境进行建模,如果建模差异较大,将会影响actor的泛化能力。

相关推荐
charlie1145141911 小时前
2026年正点原子开发板移植方案——从0开始的Rootfs之路(3)inittab 与 init 系统:Linux 启动的“第一号进程“全解析
linux·驱动开发·学习·嵌入式开发·嵌入式linux
wsx_iot2 小时前
TDengine学习
数据库·学习·tdengine
AI成长日志3 小时前
【笔面试算法学习专栏】二分查找专题:力扣hot100经典题目深度解析
学习·算法·面试
m0_564914924 小时前
AI学习课堂网站丨OPENMAIC丨清华团队开源项目
学习
开源盛世!!4 小时前
3.26-3.27学习笔记
笔记·学习
我的xiaodoujiao6 小时前
API 接口自动化测试详细图文教程学习系列7--相关Python基础知识6
python·学习·测试工具·pytest
山川行6 小时前
Python快速闯关8:内置函数
java·开发语言·前端·笔记·python·学习·visual studio
charlie1145141916 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(2) —— HAL 库获取、启动文件坑位与目录搭建
linux·开发语言·c++·stm32·单片机·学习·嵌入式
知识分享小能手6 小时前
MongoDB入门学习教程,从入门到精通,MongoDB聚合框架(7)
数据库·学习·mongodb
今儿敲了吗6 小时前
算法复盘——前缀和
笔记·学习·算法