【强化学习】什么是强化学习?2025
1. 强化学习简介
一句话总结:强化学习(Reinforcement Learning, RL)是一种机器学习范式,强调智能体(agent)通过与环境(environment)的交互,以试错(trial‑and‑error)的方式学习一套策略(policy),以最大化累积奖励(cumulative reward)。
1.1. 基本组成:智能体与环境
- 智能体(Agent):能够感知环境状态并执行动作的主体。
- 环境(Environment):智能体所处的外部系统,会根据智能体的动作返回新的状态和奖励信号。
1.2. 关键要素
- 奖励(Reward):环境对智能体动作的反馈,可正可负,指导智能体区分好坏行为。
- 策略(Policy):智能体决定在某状态下选择何种动作的概率分布。可以是确定性的,也可以是随机的。
- 值函数(Value Function):用于评估在某一状态(或状态—动作对)下,后续可能获得的累积奖励。
1.3. 与其他学习范式的区别
- 监督学习:需要大量标注的输入–输出样本;强化学习仅需奖励信号,不需标签。
- 无监督学习:关注数据结构与分布;强化学习关注通过交互获取反馈并优化决策。
1.4. 强化学习的应用
应用领域 | 具体示例 |
---|---|
游戏 AI | DeepMind 的 AlphaGo、OpenAI Five 在 Dota 2 中的表现 |
机器人控制 | Figure 02 的仿真训练步态、Google 机器人手臂开门实例 |
自动驾驶 | 基于卷积神经网络的自动驾驶汽车感知与决策、静态环境下车辆轨迹预测 |
金融交易与投资 | 算法交易、投资组合优化与风险管理 |
医疗健康 | 动态治疗方案推荐(如癌症放疗和脓毒症治疗) |
自然语言处理 | 对话系统优化、文本摘要与机器翻译 |
营销与广告 | 实时竞价与广告位优化、个性化推荐广告 |
能源管理 | 电网负荷优化与微电网控制 |
推荐系统 | 新闻推荐与内容个性化推荐 |
交通信号控制 | 多交叉口交通信号协调优化 |
2. 专业名词解释
专业名词 | 解释 |
---|---|
智能体 (Agent) | 在环境中执行动作、接收状态和奖励,并根据策略不断学习和决策的主体。 |
环境 (Environment) | 智能体所处的外部系统或仿真场景,定义了状态空间、动作空间以及奖励机制。 |
状态 (State) | 环境在某一时刻的描述,通常由一组变量或观测组成,表示智能体可观测的信息。 |
动作 (Action) | 智能体在某一状态下可执行的操作或决策,可离散也可连续。 |
奖励 (Reward) | 环境对智能体动作的反馈信号,指导智能体区分好坏行为,以最大化累积奖励为目标。 |
折扣因子 (Discount Factor, γ) | 用于计算未来奖励现值的系数,γ∈[0,1],γ 越大表示越重视长期回报,γ 越小表示越偏好短期回报。 |
累积回报 (Return, Gₜ) | 智能体从时间步 t 开始到未来各时刻获得的折扣奖励总和: ( G t = ∑ k = 0 ∞ γ k R t + k + 1 ) (G_t = \sum_{k=0}^\infty γ^k R_{t+k+1}) (Gt=∑k=0∞γkRt+k+1)。 |
策略 (Policy, π) | 智能体在各状态下选择动作的概率分布,可为确定性策略或随机策略。 |
值函数 (Value Function) | 用于评估状态(或状态–动作对)如何“好”的函数,代表从该状态(或状态–动作对)出发可获得的期望累积回报。 |
状态–动作值函数 (Q-Value, Q) | 特殊的值函数,评估在给定状态下执行某动作后,按照策略继续行动可获得的期望累积回报。 |
马尔可夫决策过程 (MDP) | 强化学习的数学框架,由状态空间、动作空间、转移概率和奖励函数构成,假设系统满足马尔可夫性。 |
探索–利用权衡 (Exploration–Exploitation) | 智能体在尝试新动作(探索)与利用已知最优动作(利用)之间的平衡策略或机制。 |
模型基 (Model-based) | 强化学习方法之一,通过学习或已知环境模型来进行规划和决策。 |
无模型 (Model-free) | 强化学习方法之一,不显式构建环境模型,直接从交互经验中学习策略或值函数。 |
On‑policy | 策略学习方式之一,使用当前行为策略生成数据并更新同一策略,如 SARSA、PPO。 |
Off‑policy | 策略学习方式之一,使用与行为策略不同的数据或经验回放更新目标策略,如 Q‑learning、DQN。 |
3. 强化学习分类
一、按算法核心思想分类
1. 基于价值(Value-Based)
- 特点:通过估计状态或动作的长期价值(Q值)选择最优策略。
- 代表算法:
- Q-learning:无模型、离线策略,通过最大化未来奖励更新Q表。
- DQN(Deep Q-Network):结合深度神经网络与Q-learning,解决高维状态空间问题,加入经验回放和目标网络稳定训练。
- Double DQN:改进DQN的过估计问题,分离动作选择与价值评估。
2. 基于策略(Policy-Based)
- 特点:直接优化策略函数,输出动作概率分布。
- 代表算法:
- REINFORCE:回合更新策略,通过蒙特卡洛采样估计梯度。
- PPO(Proximal Policy Optimization):限制策略更新幅度,平衡稳定性与效率,广泛应用于游戏和大模型对齐。
- TRPO(Trust Region Policy Optimization):通过KL散度约束策略更新步长,保证稳定性。
3. Actor-Critic混合方法
- 特点:结合价值函数(Critic)与策略函数(Actor),兼顾评估与优化。
- 代表算法:
- A3C(Asynchronous Advantage Actor-Critic):异步多线程训练,加速收敛。
- DDPG(Deep Deterministic Policy Gradient):处理连续动作空间,结合确定性策略与Q函数。
- SAC(Soft Actor-Critic):最大化熵正则化,鼓励探索,提升鲁棒性。
二、按环境模型依赖分类
1. Model-Free(无模型)
- 特点:不依赖环境动态模型,直接通过交互学习策略或价值函数。
- 典型算法:Q-learning、DQN、PPO、SAC。
2. Model-Based(有模型)
- 特点:学习或假设环境模型(如状态转移概率),利用规划优化策略。
- 代表方法:
- 动态规划(DP):基于已知模型求解最优策略。
- 蒙特卡洛树搜索(MCTS):结合模型预测与策略优化,如AlphaGo。
三、按更新方式分类
1. 回合更新(Monte-Carlo)
- 特点:等待完整回合结束后更新策略,如REINFORCE。
2. 单步更新(Temporal Difference)
- 特点:每一步交互后立即更新,如Q-learning、SARSA。
3. 多步更新(n-Step Bootstrapping)
- 特点:平衡单步与回合更新的偏差与方差,如Sarsa(λ)。
四、其他重要算法
- SARSA:在线策略算法,强调动作选择的连续性,保守性强。
- A2C(Advantage Actor-Critic):同步版本A3C,简化多线程设计。
- Imitation Learning(模仿学习):结合专家示范数据加速策略学习。
相关文章:
【强化学习】什么是强化学习?2025
1. 强化学习简介 一句话总结:强化学习(Reinforcement Learning, RL)是一种机器学习范式,强调智能体(agent)通过与环境(environment)的交互,以试错(trial‑an…...
富文本编辑器的第三方库ProseMirror
如果0-1的开发一个富文本编辑器,成本还是非常高的,里面很多坑要踩,市面上很多库可以帮助我们搭建一个富文本编辑器,ProseMirror就是其中最流行的库之一。 认识ProseMirror ProseMirror 提供了一套工具和概念,用于构建…...
理解IP四元组与网络五元组:网络流量的“身份证”
理解IP四元组与网络五元组:网络流量的“身份证” 在现代网络通信中,IP四元组和网络五元组是流量识别、连接追踪、安全策略等核心的基础概念。理解这些“元组”不仅能够帮助我们更好地设计网络架构、排查故障,还能为安全与运维策略的落地提供…...
ROS2:话题通信CPP语法速记
目录 发布方实现流程重点代码 订阅方实现流程重点代码 参考代码示例发布方代码订阅方代码 发布方实现流程 包含头文件(rclcpp.hpp与[interfaces_pkg].hpp)初始化ROS2客户端(rclcpp::init)自定义节点类(创建发布实例,伺…...
码蹄集——直线切平面、圆切平面
MT1068 直线切平面 思路: 则 #include<bits/stdc.h> using namespace std;int main( ) {int n;cin>>n;cout<<n*(n1)/21;return 0; } MT1069圆切平面 n个圆最多把平面分成几部分?输入圆的数量N,问最多把平面分成几块。比如…...
2025年游戏行业DDoS攻防指南:智能防御体系构建与实战策略
2025年,游戏行业在全球化扩张与技术创新浪潮中,正面临前所未有的DDoS攻击威胁。攻击规模从T级流量到AI驱动的精准渗透,攻击手段从传统网络层洪水到混合型应用层打击,防御体系已从“被动应对”转向“智能博弈”。本文将结合最新攻击…...
LightGBM算法原理及Python实现
一、概述 LightGBM 由微软公司开发,是基于梯度提升框架的高效机器学习算法,属于集成学习中提升树家族的一员。它以决策树为基学习器,通过迭代地训练一系列决策树,不断纠正前一棵树的预测误差,逐步提升模型的预测精度&a…...
Nvidia发布Parakeet V2,一款新的开源自动语音识别模型
Nvidia 发布 Parakeet V2,一款新的开源自动语音识别 AI,核心亮点:一秒钟转录一小时的音频;Open ASR 上的顶级模型,击败了 ElevenLabs 的 Scribe 和 OpenAI 的 Whisper;6.05% 的单词错误率;CC-BY…...
浅析MySQL 的 **触发器(Trigger)** 和 **存储过程(Stored Procedure)原理及优化建议
MySQL 的 触发器(Trigger) 和 存储过程(Stored Procedure) 是数据库中用于实现业务逻辑的重要机制,它们的原理和使用方式不同,适用于不同的场景。 一、基本概念与原理 特性触发器(Trigger)存储过程(Stored Procedure)定义在表上定义,当特定事件(INSERT/UPDATE/DELE…...
网页版部署MySQL + Qwen3-0.5B + Flask + Dify 工作流部署指南
1. 安装MySQL和PyMySQL 安装MySQL # 在Ubuntu/Debian上安装 sudo apt update sudo apt install mysql-server sudo mysql_secure_installation# 启动MySQL服务 sudo systemctl start mysql sudo systemctl enable mysql 安装PyMySQL pip install pymysql 使用 apt 安装 My…...
人工智能与智能合约:如何用AI优化区块链技术中的合约执行?
引言:科技融合的新风口 区块链和人工智能,是当前最受瞩目的两大前沿技术。一个以去中心化、可溯源的机制重构信任体系,另一个以智能学习与决策能力重塑数据的价值。当这两项技术相遇,会碰撞出什么样的火花? 智能合约作…...
如何提升丢包网络环境下的传输性能:从 TCP 到 QUIC,再到 wovenet 的实践
在现代互联网环境中,稳定、可靠的网络连接对各种在线应用至关重要。然而,理想情况往往难以实现,特别是在以下一些典型场景中,网络丢包(packet loss) 常常发生: 一、常见的网络丢包场景 跨境通…...
Python 中的数据结构介绍
Python 是一种功能强大的编程语言,它内置了多种数据结构,以便用户能够方便、高效地存储、处理和访问数据。数据结构是组织和存储数据的方式,不同的数据结构适用于不同的应用场景。掌握 Python 中的基本数据结构,可以使代码更加简洁…...
数据中台架构设计
数据中台分层架构 数据采集层 数据源类型:业务系统(ERP、CRM)、日志、IoT 设备、第三方 API 等。采集方式: 实时采集:Kafka、Flink CDC(变更数据捕获)。离线采集:Sqoop、DataX&…...
基于SpringBoot网上书店的设计与实现
pom.xml配置文件 1. 项目基本信息(没什么作用) <groupId>com.spring</groupId> <!--项目组织标识,通常对应包结构--> <artifactId>boot</artifactId> <!--项目唯一标识--> <version>0.0.1-SNAPSHOT</ve…...
Vue3路由模式为history,使用nginx部署上线后刷新404的问题
一、问题 在使用nginx部署vue3的项目后,发现正常时可以访问的,但是一旦刷新,就是出现404的情况 二、解决方法 1.vite.config.js配置 在vite.config.js中加入以下配置 export default defineConfig(({ mode }) > {const isProduction …...
从单机到生产:Kubernetes 部署方案全解析
🚀 从单机到生产:Kubernetes 部署方案全解析 🌐 Kubernetes(k8s)是当今最流行的容器编排系统,广泛应用于开发、测试和生产环境。但不同的使用场景对集群规模、高可用性和资源需求有不同的要求。本文将带你…...
redis大全
1 redis安装和简介 基于ubuntu系统的安装 sudo apt update sudo apt install redis##包安装的redis 没有默认配置文件 启动 redis-server /path/to/your/redis.confredis-cliRedis 默认是没有设置用户和密码的,即可以无密码访问 设置密码的方法:可以通…...
C#经典算法面试题
C#经典算法面试题 递归算法 C#递归算法计算阶乘的方法 一个正整数的阶乘(factorial)是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!。1808年,基斯顿卡曼引进这个表示法。 原理:亦即n!=123…(n-1)n。阶乘亦可以递归方式定义:0!=1,n!=(n-1)!n。…...
cephadm部署ceph集群
一、什么是Ceph? ceph是一个统一的、分布式的存储系统,设计初衷式提供较好的性能(io)、可靠性(没有单点故障)和可扩展性(未来可以理论上无限扩展集群规模),这三点也是集群架构所追求的。 “统一的”:意味着Ceph可以一套存储系统同时提供对象存储、块存…...
c#OdbcDataReader的数据读取
先有如下c#示例代码: string strconnect "DSNcustom;UIDsa;PWD123456;" OdbcConnection odbc new OdbcConnection(strconnect); odbc.Open(); if (odbc.State ! System.Data.ConnectionState.Open) { return; } string strSql "select ID from my…...
代码随想录训练营第十八天| 150.逆波兰表达式求值 239.滑动窗口最大值 347.前k个高频元素
150.逆波兰表达式求值: 文档讲解:代码随想录|150.逆波兰表达式求值 视频讲解:栈的最后表演! | LeetCode:150. 逆波兰表达式求值_哔哩哔哩_bilibili 状态:已做出 思路: 这道题目是让我们按照逆波…...
数据中台产品功能介绍
在数字化转型浪潮中,数据中台作为企业数据管理与价值挖掘的核心枢纽,整合分散数据资源,构建统一的数据管理与服务体系。本数据中台产品涵盖数据可视化、数据建设、数据治理、数据采集开发和系统管理五大平台,以丰富且强大的功能模…...
第四章-初始化Direct3D
首先我们需要一个错误检测和抛出机制 inline std::string ToString(const HRESULT& result) {char buffer[256];sprintf_s(buffer, "error code : 0x%08X\n", result);return std::string(buffer); }class MyException : public std::runtime_error { public:My…...
实操3:6位数码管
文章目录 文章介绍仿真图原来的仿真代码教学用开发板段选和位选对应引脚思考题实物图 文章介绍 对应“案例5_3: 6位数码管显示0或者1【静态显示】” 跳转链接 要求:实现开发板的6位数码管同时显示0或者1 仿真图 原来的仿真代码 #include<reg52.h> // 头文件…...
常识补充(NVIDIA NVLink技术:打破GPU通信瓶颈的革命性互联技术)
文章目录 **引言:为什么需要NVLink?**1. NVLink技术概述1.1 什么是NVLink?1.2 NVLink的发展历程 2. NVLink vs. PCIe:关键对比2.1 带宽对比2.2 延迟对比 3. NVLink的架构与工作方式3.1 点对点直连(P2P)3.2 …...
openwrt 使用quilt 打补丁(patch)
1,引入 本文简单解释如何在OpenWRT下通过quilt命令打补丁--patch,也可查看openwrt官网提供的文档 2,以下代码通过编译net-snmp介绍 ① 执行编译命令之后,进入build_dir的net-snmp-5.9.1目录下,改目录即为snmp最终编译的目录了 /…...
NVIDIA Halos:智能汽车革命中的全栈式安全系统
高级辅助驾驶行业正面临一个尴尬的"安全悖论"——传感器数量翻倍的同时,事故率曲线却迟迟不见明显下降。究其原因,当前行业普遍存在三大技术困局: 碎片化安全方案 传统方案就像"打补丁",激光雷达厂商只管点云…...
k8s术语之service
Kubernetes在设计之初就充分考虑了针对容器的服务发现与负载均衡机制,提供了Service资源,并通过kube-proxy配合cloud provider 来适应不同的用于场景。随着kubernetes用户的激增,用户场景的不断丰富,又产生了一些新的负载均衡机制…...
C/C++工程中的Plugin机制设计与Python实现
C/C工程中的Plugin机制设计与Python实现 1. Plugin机制设计概述 在C/C工程中实现Plugin机制通常需要以下几个关键组件: Plugin接口定义:定义统一的接口规范动态加载机制:运行时加载动态库注册机制:Plugin向主程序注册自己通信机…...
RNN 与 CNN:深度学习中的两大经典模型技术解析
在人工智能和深度学习领域,RNN(Recurrent Neural Network,循环神经网络) 和 CNN(Convolutional Neural Network,卷积神经网络) 是两种非常重要的神经网络结构。 它们分别擅长处理不同类型的数据,在自然语言处理、计算机视觉等多个领域中发挥着关键作用。 本文将从原理…...
多模态训练与微调
1.为什么多模态模型需要大规模预训练? 多模态模型需要大规模预训练的原因包括: (1)数据丰富性:大规模预训练可以暴露模型于丰富的数据,提升其泛化能力。 (2)特征提取:通过预训练,模型能够学习到有效的特…...
【HDLBits刷题】Verilog Language——1.Basics
目录 一、题目与题解 1.Simple wire(简单导线) 2.Four wires(4线) 3.Inverter(逆变器(非门)) 4.AND gate (与门) 5. NOR gate (或非门&am…...
基于深度学习的图像识别技术:从原理到应用
前言 在当今数字化时代,图像识别技术已经渗透到我们生活的方方面面,从智能手机的人脸解锁功能到自动驾驶汽车对交通标志的识别,再到医疗影像诊断中的病变检测,图像识别技术正以其强大的功能和广泛的应用前景,改变着我们…...
【coze】手册小助手(提示词、知识库、交互、发布)
【coze】手册小助手(提示词、知识库、交互、发布) 1、创建智能体2、添加提示词3、创建知识库4、测试智能体5、添加交互功能6、发布智能体 1、创建智能体 2、添加提示词 # 角色 你是帮助用户搜索手册资料的AI助手 ## 工作流程 ### 步骤一:查询知识库 1.每…...
【教学类-34-11】20250506异形拼图块(圆形、三角、正方,椭圆/半圆)的中2班幼儿偏好性测试(HTML)
背景介绍 最近在写一份工具运用报告,关于剪纸难度的。所以设计了蝴蝶描边系列和异形凹凸角拼图。 【教学类-102-20】蝴蝶三色图作品2——卡纸蝴蝶“满格变形图”(滴颜料按压对称花纹、原图切边后变形放大到A4横版最大化)-CSDN博客文章浏览阅读609次,点赞8次,收藏3次。【…...
Debian系统上PostgreSQL15版本安装调试插件及DBeaver相应配置
PostgreSQL所在Debian Linux服务器安装插件程序 在PostgreSQL数据库服务器Debian系统上执行以下命令,安装插件pldebugger: sudo apt install postgresql-15-pldebugger #上面这一条命令运行完好像pgsql服务自动重启了,看日志的样子是这样的,…...
GD32F470+CH395Q
tcp_client配置 第一步:资料下载 以太网协议栈芯片 CH395 - 南京沁恒微电子股份有限公司 第二步:准备工程 (1) 首先准备一个编译无报错、可以正常打印和延时的工程文件,官方例程采用STM32F1芯片,但本文…...
解决Hyper-V无法启动Debian 12虚拟机
问题 有时,我们会想要在Hyper-V中运行Debian12。我们想利用该系统的ISO镜像文件安装一个全新的虚拟机。 然而,当我们在Hyper-V中创建了一个2代虚拟机、添加了Debian 12的网络安装(Netinst)ISO作为最先启动的介质时,Hy…...
linux redis 设置密码以及redis拓展
redis拓展:http://pecl.php.net/package/redis 在服务器上,这里以linux服务器为例,为redis配置密码。 需要永久配置密码的话就去redis.conf的配置文件中找到requirepass这个参数,如下配置: 修改redis.conf配置文件 # requirepass …...
uniapp app 端获取陀螺仪数据的实现攻略
在 uniapp 开发中,uni.startGyroscope在 app 端并不被支持,这给需要获取陀螺仪数据的开发者带来了挑战。不过,借助 Native.js,我们能调用安卓原生代码实现这一需求。接下来,就为大家详细介绍实现步骤,并附上…...
第三节:Vben Admin 最新 v5.0 对接后端登录接口(下)
文章目录 前言一、处理请求头Authorization二、/auth/user/info 接口前端接口后端接口三、/auth/codes 接口1.前端2.后端四、测试接口前言 上一节内容,实现了登录的/auth/login 接口,但是登陆没有完成,还需要完成下面两个接口。才能完成登录。 一、处理请求头Authorizatio…...
标题:基于自适应阈值与K-means聚类的图像行列排序与拼接处理
摘要: 本文提出了一种基于自适应阈值和K-means聚类的图像行列排序与拼接方法。通过对灰度图像的自适应二值化处理,计算并分析图像的左右边距,从而确定图像的行数与列数。通过对图像进行特征提取,并使用K-means聚类进行排序&#…...
修改磁盘权限为管理员
1.右击需要修改的磁盘,点击属性 然后一路点击确定 已经修改好了...
P1782 旅行商的背包 Solution
Description 有一个体积为 C C C 的背包和若干种物品. 前 n n n 种物品,第 i i i 种体积为 v i v_i vi,价值 w i w_i wi,有 d i d_i di 件. 后 m m m 种物品,每种对应一个函数 f ( x ) a i x 2 b i x c i f(x)a…...
Acrel-EIoT 能源物联网云平台在能耗监测系统中的创新设计
摘要 随着能源管理的重要性日益凸显,能耗监测系统成为实现能源高效利用的关键手段。本文详细介绍了基于安科瑞Acrel-EIoT能源物联网云平台的能耗监测系统的设计架构与应用实践。该平台采用分层分布式结构,涵盖感知层、网络层、平台层和应用层࿰…...
乘法逆元【费马小定理+扩展欧几里得】
目录 模运算性质费马小定理乘法逆元扩展欧几里得算法随机栈 模运算性质 费马小定理 a,b互质:gcd(a,b)1 乘法逆元 a,b互质,满足a*x同余1(mod b),x是a模b的乘法逆元,记作a的-1次方。 扩展欧几里得算法 求axbygcd(a,b)的一组(x,y). 随机栈 题目来源&…...
Linux进程间通信(上)(21)
文章目录 前言一、什么是进程间通信?概念目的本质分类 二、管道什么是管道匿名管道匿名管道的原理pipe函数匿名管道使用步骤管道读写规则管道的特点管道的四种特殊情况管道的大小 总结 前言 本篇出得有点慢,因为我在这里更换了我的开发环境 不再使用…...
力扣面试150题--对称二叉树
Day 41 题目描述 做法 原理:拆分为根节点的左右两棵子树,比较左子树的右和右子树的左,左子树的左和右子树的右 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode righ…...
深度学习系统学习系列【6】之深度学习技巧
文章目录 数据集准备数据集扩展数据预处理1. 0均值(Zero Centralization)代码实现 2. 归一化(Normalization)代码实现 3. 主成分分析(Principal Component Analysis, PCA)实现步骤代码实现 4. 白化…...