【机器学习】强化学习(五)深度强化学习理论

强化学习算法如Q学习的确有一些局限性,比如状态和动作空间过大或过复杂的问题。针对这些问题,有一些解决方案,比如:

  • 使用函数逼近来近似Q函数,而不是用表格存储。函数逼近可以是线性的,也可以是非线性的,比如神经网络。这样可以减少存储空间,也可以处理连续的状态和动作空间。

  • 使用分层强化学习来将复杂的任务分解为子任务,每个子任务有自己的状态和动作空间,以及奖励函数。这样可以降低问题的复杂度,也可以提高学习效率。

  • 使用深度强化学习来结合深度学习和强化学习,利用深度神经网络来表示策略或值函数,从高维的原始输入(比如图像)中提取特征,学习复杂的环境和任务。深度强化学习已经在许多领域取得了令人瞩目的成果,比如AlphaGo,Atari游戏,机器人控制等。

五、深度强化学习

5.1 深度 Q 网络

图:深度 Q 学习中,使用神经网络来逼近 Q 值函数

(2个卷积层,2个全连接层)

DQN的网络结构

深度 Q 网络的网络结构是指用于近似 Q 函数的深度神经网络的结构。深度 Q 网络的网络结构可以根据不同的输入和输出的类型和维度来设计,但是一般都包括以下几个部分:

  • 输入层:输入层是用于接收环境的状态信息的,它可以是一个向量,一个矩阵,或者一个张量。例如,如果输入是图像,那么输入层可以是一个三维的张量,表示图像的高度,宽度和通道数。

  • 隐藏层:隐藏层是用于提取状态信息的特征的,它可以有多个,每个隐藏层都由若干个神经元组成。每个神经元都有一个激活函数,用于增加网络的非线性。隐藏层可以是全连接层,卷积层,循环层,或者其他类型的层。例如,如果输入是图像,那么隐藏层可以是若干个卷积层,用于提取图像的局部特征。

  • 输出层:输出层是用于输出每个动作的 Q 值的,它的神经元的个数等于动作空间的大小。输出层一般是一个全连接层,没有激活函数。输出层的每个神经元都对应一个动作,其输出的值就是该动作的 Q 值。例如,如果动作空间是离散的,有四个动作,那么输出层就有四个神经元,分别表示上,下,左,右的 Q 值。

DQN概述1

DQN概述2

算法: 具有经验回放的深度 Q 学习

DQN的改进算法

5.2 策略梯度算法

策略梯度算法处理离散动作和连续动作的区别

策略梯度算法与深度Q网络算法的区别

目标函数的构造方法

目标函数对策略参数的梯度形式

策略梯度定理的证明

REINFORCE 算法流程

对于连续动作空间强化学习路径规划问题,有哪些求解方法

参考网址:

  • DQN论文\](https://storage.googleapis.com/deepmind-media/dqn/DQNNaturePaper.pdf)

  • DQN 的改进算法的论文解读\](https://zhuanlan.zhihu.com/p/32817711)

相关推荐
珂朵莉MM23 分钟前
2024 睿抗机器人开发者大赛CAIP-编程技能赛-专科组(国赛)解题报告 | 珂学家
开发语言·人工智能·算法·leetcode·职场和发展·深度优先·图论
ㄣ知冷煖★37 分钟前
【论文阅读】A Survey on Multimodal Large Language Models
人工智能·语言模型·自然语言处理
视觉语言导航1 小时前
兼顾长、短视频任务的无人机具身理解!AirVista-II:面向动态场景语义理解的无人机具身智能体系统
人工智能·无人机·具身智能
墨绿色的摆渡人1 小时前
pytorch小记(二十二):全面解读 PyTorch 的 `torch.cumprod`——累积乘积详解与实战示例
人工智能·pytorch·python
moonsims2 小时前
低空态势感知:基于AI的DAA技术是低空飞行的重要安全保障-机载端&地面端
人工智能·安全
若叶时代2 小时前
数据分析_Python
人工智能·python·数据分析
虾球xz2 小时前
游戏引擎学习第286天:开始解耦实体行为
c++·人工智能·学习·游戏引擎
武子康2 小时前
大语言模型 11 - 从0开始训练GPT 0.25B参数量 MiniMind2 准备数据与训练模型 DPO直接偏好优化
人工智能·gpt·ai·语言模型·自然语言处理
羽凌寒3 小时前
图像对比度调整(局域拉普拉斯滤波)
人工智能·计算机视觉
大模型铲屎官3 小时前
【Python-Day 14】玩转Python字典(上篇):从零开始学习创建、访问与操作
开发语言·人工智能·pytorch·python·深度学习·大模型·字典