关于强化学习小记

强化学习(Reinforcement Learning, RL)详解

1. 什么是强化学习?

强化学习(Reinforcement Learning, RL)是一种机器学习方法,通过**智能体(Agent)环境(Environment)中不断尝试不同的动作(Action),并根据环境给予的奖励(Reward)**来学习最优策略(Policy),从而最大化长期回报(Return)。

强化学习的核心思想:试错学习(Trial and Error)+ 奖励驱动(Reward-driven)


2. 强化学习的基本概念

强化学习主要由以下几个关键组成部分:

术语解释
智能体(Agent)需要学习策略并与环境交互的主体,例如机器人、游戏 AI。
环境(Environment)智能体所在的世界,负责反馈状态和奖励,例如游戏世界、物理环境。
状态(State, s)环境的当前情况,Agent 需要根据状态做决策。
动作(Action, a)Agent 可执行的操作,例如移动方向、调整参数。
奖励(Reward, r)执行动作后获得的反馈,决定策略优化方向。
策略(Policy, π)Agent 选择动作的策略,可表示为 a = π ( s ) a = \pi(s) a=π(s)
回报(Return, G)累积的奖励,一般使用折扣因子计算: G t = ∑ k = 0 ∞ γ k r t + k G_t = \sum_{k=0}^{\infty} \gamma^k r_{t+k} Gt=k=0γkrt+k
值函数(Value Function, V)预测在某状态下未来可能获得的回报。
动作值函数(Q 值函数, Q)预测在某状态执行某动作后可能获得的回报。

强化学习的目标是找到最优策略,使得长期回报最大化。


3. 强化学习的数学建模:马尔可夫决策过程(MDP)

强化学习可以用**马尔可夫决策过程(Markov Decision Process, MDP)**建模:

M D P = ( S , A , P , R , γ ) MDP = (S, A, P, R, \gamma) MDP=(S,A,P,R,γ)

  • S S S:状态集合
  • A A A:动作集合
  • P ( s ′ ∣ s , a ) P(s'|s,a) P(ss,a):状态转移概率,表示在状态 s s s 采取动作 a a a 后转移到状态 s ′ s' s 的概率。
  • R ( s , a ) R(s,a) R(s,a):奖励函数,表示在状态 s s s 执行动作 a a a 后获得的即时奖励。
  • γ \gamma γ:折扣因子( 0 ≤ γ ≤ 1 0 \leq \gamma \leq 1 0γ1),决定未来奖励的重要性。

MDP 假设:

未来状态 s ′ s' s 只依赖于当前状态 s s s 和动作 a a a,而与过去的状态无关,即满足马尔可夫性(Markov Property)


4. 强化学习的主要方法

强化学习主要有三种方法:

4.1 价值迭代方法(Value-based)

  • 通过学习状态值函数 V ( s ) V(s) V(s)动作值函数 Q ( s , a ) Q(s,a) Q(s,a) 来决定策略。
  • 代表算法:Q-learning、Deep Q-Network (DQN)。

Q-learning 更新公式:

Q ( s , a ) ← Q ( s , a ) + α ( r + γ max ⁡ a ′ Q ( s ′ , a ′ ) − Q ( s , a ) ) Q(s,a) \leftarrow Q(s,a) + \alpha \Big( r + \gamma \max_{a'} Q(s', a') - Q(s,a) \Big) Q(s,a)Q(s,a)+α(r+γamaxQ(s,a)Q(s,a))

  • α \alpha α 是学习率,控制更新步长。
  • max ⁡ a ′ Q ( s ′ , a ′ ) \max_{a'} Q(s', a') maxaQ(s,a) 代表下一个状态的最大 Q 值。

4.2 策略优化方法(Policy-based)

  • 直接学习策略 π ( a ∣ s ) \pi(a|s) π(as),不依赖 Q 值。
  • 代表算法:REINFORCE,Proximal Policy Optimization (PPO)。

策略梯度(Policy Gradient)方法:

∇ J ( θ ) = E [ ∇ θ log ⁡ π θ ( a ∣ s ) G t ] \nabla J(\theta) = \mathbb{E} \Big[ \nabla_\theta \log \pi_\theta(a|s) G_t \Big] J(θ)=E[θlogπθ(as)Gt]

  • 通过优化 J ( θ ) J(\theta) J(θ) 使得策略 π θ \pi_\theta πθ 逐步改进。

4.3 Actor-Critic 方法

  • 结合 Value-based 和 Policy-based 方法。
  • Actor 负责更新策略 π ( a ∣ s ) \pi(a|s) π(as)
  • Critic 负责评估策略的价值函数 V ( s ) V(s) V(s)
  • 代表算法:A2C(Advantage Actor-Critic)、A3C、DDPG(Deep Deterministic Policy Gradient)。

5. 强化学习的应用

5.1 游戏 AI

  • AlphaGo(围棋 AI)
  • OpenAI Five(Dota 2 AI)
  • DeepMind’s AlphaStar(星际争霸 AI)

5.2 机器人控制

  • 机械臂学习抓取物体
  • 自主驾驶

5.3 金融交易

  • 通过 RL 进行股票交易策略优化
  • 量化投资

5.4 医疗诊断

  • AI 进行自动化诊疗决策

6. PyTorch 强化学习示例(DQN)

import torch
import torch.nn as nn
import torch.optim as optim
import numpy as np
import randomclass DQN(nn.Module):def __init__(self, state_dim, action_dim):super(DQN, self).__init__()self.fc = nn.Sequential(nn.Linear(state_dim, 128),nn.ReLU(),nn.Linear(128, 128),nn.ReLU(),nn.Linear(128, action_dim))def forward(self, x):return self.fc(x)# 训练超参数
learning_rate = 0.001
state_dim = 4  # 例如 CartPole 环境
action_dim = 2# 初始化 DQN 网络和优化器
q_network = DQN(state_dim, action_dim)
optimizer = optim.Adam(q_network.parameters(), lr=learning_rate)

7. 总结

强化学习是一种通过奖励和试错学习最优策略的方法。
MDP 是强化学习的数学基础,包括状态、动作、奖励等要素。
主要方法包括 Q-learning(基于值)、Policy Gradient(基于策略)和 Actor-Critic(结合两者)。
广泛应用于游戏 AI、机器人控制、金融交易等领域。
PyTorch 可用于实现 DQN、PPO 等强化学习算法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38194.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Bell-1量子计算机分析:开启量子计算2.0时代的创新引擎

Bell-1量子计算机:开启量子计算2.0时代的创新引擎 一、引言 1.1 研究背景 在当今科技飞速发展的时代,量子计算作为前沿领域,正深刻地改变着科技格局,引领新一轮科技革命与产业变革。自 20 世纪 80 年代量子计算概念被提出以来,历经多年的理论探索与技术攻坚,已取得了众…

什么?中断禁用失效了?

什么?中断禁用失效了? 1. 前言 道友们,在嵌入式的开发中我们不管是RTOS或NO-RTOS的开发,都无法避免“多线程”的应用场景,高优先级的任务或中断打断低优先级的任务或中断,此时为了要保证共享数据的安全性…

单表达式倒计时工具:datetime的极度优雅(Kimi)

一个简单表达式,也可以优雅自成工具。 笔记模板由python脚本于2025-03-22 20:25:49创建,本篇笔记适合任意喜欢学习的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值:在于输出思考与经验,而不仅仅是知识的简单复述。 Pyth…

[笔记.AI]多头自注意力机制(Multi-Head Attention)

多头自注意力是深度学习领域,特别是自然语言处理(NLP)和Transformer模型中的关键概念。其发展源于对序列数据中复杂依赖关系的建模需求,特别是在Transformer架构的背景下。 举例 比喻-读长篇文章 用一个简单的比喻来理解“多头注…

SOFABoot-02-模块化隔离方案

sofaboot 前言 大家好,我是老马。 sofastack 其实出来很久了,第一次应该是在 2022 年左右开始关注,但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFABoot-00-sofaboot 概览 SOFABoot-01-蚂蚁金…

【实用部署教程】olmOCR智能PDF文本提取系统:从安装到可视化界面实现

文章目录 引言系统要求1. 环境准备:安装Miniconda激活环境 2. 配置pip源加速下载3. 配置学术加速(访问国外资源)4. 安装系统依赖5. 安装OLMOCR6. 运行OLMOCR处理PDF文档7. 理解OLMOCR输出结果9. 可视化UI界面9.1 安装界面依赖9.2 创建界面应用…

asp.net core mvc模块化开发

razor类库 新建PluginController using Microsoft.AspNetCore.Mvc;namespace RazorClassLibrary1.Controllers {public class PluginController : Controller{public IActionResult Index(){return View();}} }Views下Plugin下新建Index.cshtml {ViewBag.Title "插件页…

边缘计算革命:重构软件架构的范式与未来

摘要 边缘计算通过将算力下沉至网络边缘,正在颠覆传统中心化软件架构的设计逻辑。本文系统分析了边缘计算对软件架构的范式革新,包括分布式分层架构、实时资源调度、安全防护体系等技术变革,并结合工业物联网、智慧医疗等场景案例&#xff0c…

单链表:数据结构的灵动之链

本文主要讲解链表的概念和结构以及实现单链表 目录 一、链表的概念及结构 二、单链表的实现 1.1链表的实现: 1.2单链表的实现: 单链表尾插: 单链表的头插: 单链表的尾删: 单链表头删: 单链表查找&#…

链表题型-链表操作-JS

一定要注意链表现在的头节点是空节点还是有值的节点。 一、移除链表中的元素 有两种方式,直接使用原来的链表进行删除操作;设置一个虚拟头节点进行删除操作。 直接使用原来的链表进行删除操作时,需要考虑是不是头节点,因为移除…

读《浪潮之巅》:探寻科技产业的兴衰密码

引言:邂逅《浪潮之巅》 在信息技术飞速发展的今天,科技公司如繁星般闪烁,又似流星般划过。而我与《浪潮之巅》的相遇,就像在浩渺的科技海洋中,发现了一座指引方向的灯塔。初次听闻这本书,是在一次技术交流会…

【和春笋一起学C++】文本文件I/O

在windows系统中读取键盘的输入和在屏幕上显示输出统称为:控制台输入/输出。把读取文本文件和把字符输出到文本文件中统称为:文本文件I/O。 目录 1. 输出文本文件 2. 读取文本文件 1. 输出文本文件 把字符输出到文本文件中和输出到控制台很相似&#x…

【C#】WinForm自定义控件及窗体

前言 WinForm(Windows Forms)是Microsoft.NET框架中的技术,用于开发Windows桌面应用程序。它提供了一套丰富的控件和组件。通过拖放控件、编写事件处理程序等方式快速构建用户界面。 通过属性窗口定制这些控件的外观和行为。 通过数据绑定&am…

Live555+Windows+MSys2 编译Androidso库和运行使用

下载 wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz tar -xzvf live555-latest.tar.gz加入版本控制 git init git add . git commit -a -m "first init" git log修改config.android-arm64 cd live vim config.android-arm64 ./genMakefile…

大模型-提示词工程与架构

什么是提示工程 提示工程(Prompt Engineering)是一门新兴的技术领域,专注于研究如何设计、构建和优化提示词,以充分发挥大模型的潜力 。它涉及到对语言结构、任务需求、模型特性等多方面因素的综合考量。提示工程的目标是通过精心…

Agent Team 多智能体系统解析

引言 在人工智能技术高速发展的今天,"多智能体协作系统"(Agent Team)正成为突破效率瓶颈的关键技术。与传统的单体AI不同,这种由多个专业化智能体组成的协同网络,通过分工协作和动态调整,展现出…

【蓝桥杯—单片机】IAP15F2K61S2专项 | 真题整理、解析与拓展 | 省赛题(更新ing...)

IAP15F2K61S2 专项 前言IAP15F2K61S2 介绍(基于手册)I/O口结构复位管脚RST中断第十四届省赛 外设通过PWM控制第十五届省赛题 性能与工作参数在线调试第十四届省赛题拓展与小结:单片机在线调试常用的接口 功耗第十五届省赛题 前言 在本文中我…

生物化学笔记:医学免疫学原理02 抗原概念+免疫应答+抗原的分类

抗原基本概念 影响抗原刺激机体产生免疫应答的因素 抗原的分类 CG 【北京大学】1080p 王月丹教授 《医学免疫学原理》2022春 全81p

(UI自动化测试)第二篇:元素定位的方法_name定位

二、name定位 ⽅法: driver.find_element_by_name(“name属性值”) 前置: 标签必须name属性 特点: 当前⻚⾯可以重复 提示: 由于name属性值可以重复,所以使⽤时需要查看是否为唯⼀。 # 导包selenium from selenium i…

软考中级-软件设计师 准备

软考中级-软件设计师 准备 一、软考相关1.1、考试时间1.2、考试时长1.3、题型和分值: 二、软考备考2.1、相关书籍2.2、推荐课程:B站up主zst_20012.3、学习路线 一、软考相关 1.1、考试时间 一年有两次软考,一般是五月末和十一月的中旬 以下…