RL_足球教练

文章目录


前言

论文笔记------An analysis of Reinforcement Learning applied to Coach task in IEEE Very Small Size Soccer
published in IEEE


什么是 Agent?

定义

定义:在强化学习中,代理是一个可以采取行动并从环境中接收反馈的实体。它通过与环境的交互来学习如何实现目标。

Agent的组成部分

  • 状态(State):代理所处的环境的描述。
  • 动作(Action):代理可以选择执行的操作。
  • 策略(Policy):代理决定采取哪个动作的规则或模型,可以是确定性的或随机的。
  • 奖励(Reward):代理在某个状态下采取某个动作后收到的反馈,用于评估该动作的好坏。
  • 价值函数(Value Function):代理对未来奖励的预期,为了衡量在某个状态下采取某个动作的好坏。

Agent的目标

最大化累积奖励:代理的主要目标是通过学习最优策略来最大化获得的奖励。

什么是 End-to-End Approach?

"End-to-end

approach"在强化学习和其他机器学习领域中是一种常见的方法。它指的是一个系统或模型能够直接从输入到输出进行处理,而不需要手动设计的中间步骤或特征工程。

定义

定义:在这种方法中,原始数据(例如图像、声音或状态信息)作为输入,经过一个复杂的模型(如深度神经网络),最终输出决策或预测。这个过程是连续的,没有人为干预。

特点

自动化:减少了对手动特征提取的依赖,允许模型自主学习最相关的特征。

简化流程:从输入到输出的流程更加直观,可以使用单个模型替代多个模块。

高效性:通过优化整个模型,可以提高性能,尤其是在大规模数据集上。

优势与挑战

优势:

灵活性:适用于多种类型的数据和任务。

通用性:可扩展到更复杂的任务,如视频游戏、机器人控制等。

挑战:

数据需求:通常需要大量的数据和计算资源来训练。

不稳定性:训练过程可能不稳定,难以收敛。

示例

自动驾驶:车辆通过摄像头获取环境信息,使用深度学习模型直接输出控制命令(例如转向、加速)。

AlphaGo:该系统将棋盘状态作为输入,经过深度神经网络后输出最佳走法。

Fuzzy Bayesian Reinforcement Learning (RB-RL)

Fuzzy Bayesian Reinforcement Learning (RB-RL)

是一种结合了模糊逻辑、贝叶斯方法和强化学习的系统,旨在处理不确定性并提高决策过程的灵活性和可靠性。

系统组成部分

  • a. 强化学习 (RL)
    基本概念:通过与环境的交互来学习一个策略,以最大化累积奖励。
    代理:在 RL 框架中,代理根据当前状态选择动作,并基于环境反馈(奖励)更新其策略。
  • b. 模糊逻辑
    目的:处理不确定性和模糊性,使得系统能够在不完全信息下进行推理。
    模糊集合:使用模糊集合来表示状态和动作,允许更为柔性的判断,而非传统的二元划分(如"真"或"假")。
  • c. 贝叶斯方法
    不确定性处理:利用贝叶斯推断来量化和更新对环境模型的信任度。通过先验知识和观察数据逐步调整对状态和动作的理解。

系统工作原理

  • 状态感知:代理通过传感器获取环境状态,并将这些状态转换为模糊输入。
  • 模糊推理:使用模糊规则库对模糊状态进行推理,以生成可能的动作输出。
  • 贝叶斯更新:在接收到环境反馈后,使用贝叶斯更新来调整对环境模型的信任度,从而优化未来的决策。
  • 强化学习更新:结合奖励信号,通过强化学习算法(如Q-learning或Policy Gradient方法)更新策略,以改善代理的表现。

贝叶斯方法

基础_条件概率

条件概率是指在已知某个事件发生的情况下,另一个事件发生的概率。

定义

如果有两个事件 A A A 和 B B B,则事件 A A A在事件 B B B发生的条件下的条件概率,记作 P ( A ∣ B ) P(A | B) P(A∣B),其定义为:

P ( A ∣ B ) = P ( A ∩ B ) P ( B ) ( P ( B ) > 0 ) P(A | B) = \frac{P(A \cap B)}{P(B)} \quad (P(B) > 0) P(A∣B)=P(B)P(A∩B)(P(B)>0)

其中:

  • P ( A ∣ B ) P(A | B) P(A∣B):在事件 B B B 发生的情况下,事件 A A A 发生的概率。
  • P ( A ∩ B ) P(A \cap B) P(A∩B):事件 A A A和事件 B B B同时发生的概率,即它们的交集。
  • P ( B ) P(B) P(B):事件 B B B 发生的概率,且必须大于零。

贝叶斯定理

贝叶斯定理是贝叶斯方法的核心,它描述了如何通过新证据更新先验概率。定理的数学表达为:

P ( H ∣ E ) = P ( E ∣ H ) ⋅ P ( H ) P ( E ) P(H | E) = \frac{P(E | H) \cdot P(H)}{P(E)} P(H∣E)=P(E)P(E∣H)⋅P(H)

其中:

P ( H ∣ E ) P(H | E) P(H∣E):后验概率,即在观察到证据 ( E ) 后,假设 ( H ) 为真的概率。

  • H H H是我们感兴趣的假设或事件。
  • E E E 是我们观察到的证据或数据。

P ( E ∣ H ) P(E | H) P(E∣H):似然函数,即假设 ( H ) 为真时,观察到证据 ( E ) 的概率。
P ( H ) P(H) P(H):先验概率,即在未观察到证据之前,假设 ( H ) 为真的初始概率。
P ( E ) P(E) P(E):边际概率,即观察到证据 ( E ) 的总体概率,可以通过所有可能的假设计算得出:

P ( E ) = ∑ H i P ( E ∣ H i ) ⋅ P ( H i ) P(E) = \sum_{H_i} P(E | H_i) \cdot P(H_i) P(E)=Hi∑P(E∣Hi)⋅P(Hi)

示例

假设我们想估计某种疾病(假设 ( H ))在特定人群中的发病率。我们通过检测(证据 ( E ))来获取信息。使用贝叶斯定理,我们可以结合先前对疾病流行率的了解(先验 ( P(H) ))以及检测结果的准确性(似然 ( P(E | H) )),从而计算出在获得检测结果后,该人实际上患有该疾病的概率(后验 ( P(H | E) ))。

Q-learning强化学习算法

Q-learning是一种强化学习算法,用于使智能体(agent)在环境中通过与环境的互动来学习最优策略。它属于无模型的强化学习方法,不需要环境的具体模型,只依赖于智能体从环境中获得的奖励和状态信息。

Q-learning的基本概念

  • 状态(State, S):智能体在环境中的一个特定情况或配置。
  • 动作(Action, A):智能体可以在给定状态下采取的操作。
  • 奖励(Reward, R):智能体执行某个动作后,环境反馈给智能体的分数或价值,用以指导学习。
  • 策略(Policy, π):智能体选择动作的规则,可以是确定性(总是选择同一动作)或随机性(根据概率选择动作)。
  • Q值(Q-value):表示在某一状态下执行某个动作所期望的累积奖励。Q值函数 Q ( s , a ) Q(s, a) Q(s,a)表示在状态 s s s 下执行动作 a a a 的预期回报。

Q-learning算法核心步骤

  1. 初始化

    初始化Q值表 Q ( s , a ) Q(s, a) Q(s,a),通常将所有Q值设为零或小的随机值。

  2. 选择动作

    智能体在某一状态 s s s 下选择一个动作 a a a。可以使用 ε-greedy 策略:

    以概率 1 − ϵ 1 - \epsilon 1−ϵ选择当前Q值最高的动作(利用),即 a = arg ⁡ max ⁡ a Q ( s , a ) a = \arg\max_a Q(s, a) a=argmaxaQ(s,a)。

    以概率 ϵ \epsilon ϵ 随机选择一个动作(探索)。

  3. 执行动作

    智能体在状态 s s s下执行动作 a a a,然后转移到新状态 s ′ s' s′,并接收到奖励 r r r。

  4. 更新Q值

    使用贝尔曼方程更新Q值:
    Q ( s , a ) ← Q ( s , a ) + α [ r + γ max ⁡ a ′ Q ( s ′ , a ′ ) − Q ( s , a ) ] Q(s, a) \leftarrow Q(s, a) + \alpha [r + \gamma \max_{a'} Q(s', a') - Q(s, a)] Q(s,a)←Q(s,a)+α[r+γa′maxQ(s′,a′)−Q(s,a)]

    其中:
    α \alpha α:学习率 0 < α ≤ 1 0 < α ≤ 1 0<α≤1,控制新信息对旧信息的影响程度。
    r r r:即时奖励。
    γ \gamma γ:折扣因子 0 ≤ γ < 1 0 ≤ γ < 1 0≤γ<1,衡量未来奖励的重要性。

  5. 状态转移

    将状态更新为新状态 s ′ s' s′。

  6. 重复

    重复步骤 2 至 5,直到达到终止条件(如收敛、达到固定的迭代次数等)。

表达式解析 a = arg ⁡ max ⁡ a Q ( s , a ) a = \arg\max_a Q(s, a) a=argmaxaQ(s,a)

表达式 a = arg ⁡ max ⁡ a Q ( s , a ) a = \arg\max_a Q(s, a) a=argmaxaQ(s,a)是强化学习中的一个重要概念,涉及到行为选择(action selection)和价值函数(value function)的计算。

符号解释

a a a:这是我们要选择的动作。
s s s:表示当前的状态。
Q ( s , a ) Q(s, a) Q(s,a):是一个称为"行动价值函数"(Action-Value Function)的函数,它表示在状态 s s s下采取动作 a a a所期望获得的累积奖励(即在该状态下执行该动作以及之后的最佳策略所得到的预期总回报)。
arg ⁡ max ⁡ a \arg\max_a argmaxa:这个符号表示"使得(maximize)某个函数的变量"的取值。在这里,它表示对于所有可能的动作 a a a,找出那个可以最大化 Q ( s , a ) Q(s, a) Q(s,a)的动作。

整体含义

整合以上内容,表达式 a = arg ⁡ max ⁡ a Q ( s , a ) a = \arg\max_a Q(s, a) a=argmaxaQ(s,a)的意思是:

在给定状态 s s s的情况下,选择那个能够使得行动价值函数 Q ( s , a ) Q(s, a) Q(s,a)最大化的动作 a a a。

应用场景

这种选择方式通常用于强化学习中的贪婪策略 ( g r e e d y p o l i c y ) (greedy policy) (greedypolicy)或ε-贪婪策略 ( e p s i l o n − g r e e d y p o l i c y ) (epsilon-greedy policy) (epsilon−greedypolicy),其中智能体会倾向于选择当前认为最优的动作:

  • 贪婪策略:始终选择能够最大化 Q ( s , a ) Q(s, a) Q(s,a) 的动作。
  • ε-贪婪策略:大多数时间选择 a = arg ⁡ max ⁡ a Q ( s , a ) a = \arg\max_a Q(s, a) a=argmaxaQ(s,a),但有小概率随机选择其他动作,以探索新的可能动作。
例子

假设在一个特定的状态 s s s下,Q值如下:

Q ( s , a 1 ) = 10 Q(s, a_1) = 10 Q(s,a1)=10
Q ( s , a 2 ) = 15 Q(s, a_2) = 15 Q(s,a2)=15
Q ( s , a 3 ) = 8 Q(s, a_3) = 8 Q(s,a3)=8

在这种情况下,表达式 a = arg ⁡ max ⁡ a Q ( s , a ) a = \arg\max_a Q(s, a) a=argmaxaQ(s,a)将返回 a 2 a_2 a2,因为它对应的 Q 值最大 15 15 15。

ε-greedy 策略

ε-greedy 策略是一种广泛应用于强化学习和多臂老虎机(multi-armed bandit)问题中的探索与利用平衡策略。它的核心思想是在决策过程中,既要利用已经知道的信息(即选择当前看来最优的动作),又要进行一定程度的探索,以发现可能更优的动作。

基本概念

在 ε-greedy 策略中,算法在每个决策时会以 ε 的概率进行随机选择(探索 ),而以 (1 - ε) 的概率选择当前已知的最佳动作(利用)。具体来说:

  • ε:一个介于 0 和 1 之间的值,表示探索的概率。
  • 利用:选择当前估计收益最高的动作。
  • 探索:随机选择一个动作,不考虑其估计收益。

策略流程

  1. 初始化:为每个动作初始化一个价值估计(通常为0),并设置 ε 值。
  2. 每一步决策:
  • 生成一个随机数(例如从均匀分布中取样)。
  • 如果这个随机数小于 ε,则执行探索,随机选择一个动作。
  • 否则,选择当前最优动作,即估计收益最高的动作。
  1. 更新:执行所选的动作后,根据获得的奖励更新对应行为的估计值。

数学表示

假设有 K K K 个动作,每个动作的真实期望奖励为 Q ∗ ( a ) Q^*(a) Q∗(a),其中 a a a是动作的索引。

选择动作: a = { argmax a Q ( a ) with probability 1 − ϵ random action with probability ϵ a = \begin{cases} \text{argmax}_a Q(a) & \text{with probability } 1 - \epsilon \\ \text{random action} & \text{with probability } \epsilon \end{cases} a={argmaxaQ(a)random actionwith probability 1−ϵwith probability ϵ

优缺点

优点

  • 简单易实现:ε-greedy 策略非常直观,容易理解和编码。
  • 有效的探索与利用平衡:通过调整 ε 的大小,可以控制探索的频率,适应不同场景的需求。
    缺点
  • 固定探索概率:当 ε 固定时,可能导致在学习阶段过早地陷入局部最优解。在某些情况下,可能需要动态调整 ε 值。
  • 探索效率低:在一些复杂问题中,完全随机地选择动作可能不会有效地探索状态空间。

改进方法

为了克服固定 ε 值带来的不足,研究人员提出了一些改进版本的 ε-greedy 策略,例如:

  • 自适应 ε − g r e e d y ε-greedy ε−greedy:根据学习过程动态调整 ε 值。例如,随着时间推移逐渐减小 ε,以增加对当前最优动作的利用。

  • D e c a y ε Decay ε Decayε:在训练期间,随着迭代次数的增多逐渐减少 ε 值,这样初期可以更多地探索,后期更集中于利用。

  • Upper Confidence Bound (UCB):使用基于置信区间的方法来平衡探索与利用。

应用场景

ε-greedy 策略被广泛应用于以下场景:

  • 在线广告推荐:决定展示哪些广告以最大化点击率。
  • 游戏智能体:训练自动玩游戏的智能体,通过探索新策略提升表现。
  • 机器人控制:在不确定环境中进行决策。

Policy Gradient强化学习算法

Policy Gradient 方法是一类强化学习算法,直接优化策略(policy),以最大化某个性能指标(通常是累积奖励)。与基于值的方法(如 Q-learning)不同,Policy Gradient 方法不需要首先估计状态或动作的价值,而是通过对策略本身进行优化来学习。以下是对 Policy Gradient 方法的详细介绍。

基本概念

在强化学习中,策略(policy)是智能体决定在给定状态下采取何种动作的方法。Policy Gradient 方法通过参数化策略并优化这些参数来直接改进策略。一般来说,策略可以用以下形式表示:

  • 确定性策略:给定状态 s s s,输出一个特定的动作 a a a,即 a = π ( s ; θ ) a = \pi(s; \theta) a=π(s;θ)。
  • 随机策略:给定状态 s s s,输出一个概率分布 P ( a ∣ s ; θ ) P(a|s; \theta) P(a∣s;θ),代表在状态 s s s下选择每个动作 a a a 的概率。

表达式 a = π ( s ; θ ) a = \pi(s; \theta) a=π(s;θ)分析

符号解释L:
a a a:代表智能体将要选择的动作(action)。
s s s:代表当前的环境状态(state)。
π \pi π:表示策略(policy),它定义了智能体在给定状态下应采取的行动。策略可以是确定性的(deterministic)或随机的(stochastic)。
θ \theta θ:代表策略的参数(parameters)。这些参数通常是由某种模型(如神经网络)学习得到的,用于调整策略以提高智能体的表现。

这个表达式的意思是:在当前状态 s s s 下,使用策略 π \pi π和其参数 θ \theta θ来决定智能体的动作 a a a。具体来说,这表明智能体的决策依赖于状态和策略参数。

例子

假设你有一个强化学习的任务,其中一个简单的策略可以用一个线性函数表示:
π ( s ; θ ) = softmax ( W ⋅ s + b ) \pi(s; \theta) = \text{softmax}(W \cdot s + b) π(s;θ)=softmax(W⋅s+b)

这里, W W W和 b b b是策略的参数, s o f t m a x softmax softmax 函数用于将输出转换为概率分布。给定状态 s s s,你可以通过上面的公式计算出各个可用动作的概率,进而选择相应的动作 a a a。

表达式 P ( a ∣ s ; θ ) P(a|s; \theta) P(a∣s;θ)分析

符号解释
P ( a ∣ s ; θ ) P(a|s; \theta) P(a∣s;θ):表示在给定状态 s s s和参数 θ \theta θ 的情况下,选择动作 a a a 的概率。
a a a:智能体可能采取的动作(action)。
s s s:当前的环境状态(state)。
θ \theta θ:策略的参数(parameters),通常由学习过程得到,用于调整策略以优化决策。

该表达式的意思是:在特定状态 s s s下,基于策略参数 θ \theta θ选择动作 a a a的概率。这种概率分布通常用于描述智能体在不同状态下如何选择动作。

策略的类型

根据策略类型的不同, P ( a ∣ s ; θ ) P(a|s; \theta) P(a∣s;θ)可以有不同的表现形式:
随机策略 :在这种策略下,动作的选择是随机的。例如,你可以使用 S o f t m a x Softmax Softmax函数来定义概率分布:

P ( a ∣ s ; θ ) = e Q ( s , a ; θ ) ∑ a ′ e Q ( s , a ′ ; θ ) P(a|s; \theta) = \frac{e^{Q(s, a; \theta)}}{\sum_{a'} e^{Q(s, a'; \theta)}} P(a∣s;θ)=∑a′eQ(s,a′;θ)eQ(s,a;θ)

这里, Q ( s , a ; θ ) Q(s, a; \theta) Q(s,a;θ) 表示在状态 s s s 下采取动作 a a a 的估计价值。

确定性策略 :在某些情况下,策略可能是确定性的,即在给定状态下总是选择同一动作。在这种情况下,可以将 P ( a ∣ s ; θ ) P(a|s; \theta) P(a∣s;θ)表示为 Dirac 函数:

P ( a ∣ s ; θ ) = { 1 if a = π ( s ; θ ) 0 otherwise P(a|s; \theta) = \begin{cases} 1 & \text{if } a = \pi(s; \theta) \\ 0 & \text{otherwise} \end{cases} P(a∣s;θ)={10if a=π(s;θ)otherwise

策略的优化目标

在 Policy Gradient 方法中,我们的目标是最大化预期奖励,通常定义为:
J ( θ ) = E τ ∼ π θ [ ∑ t = 0 T r t ] J(\theta) = \mathbb{E}{\tau \sim \pi{\theta}} \left[ \sum_{t=0}^{T} r_t \right] J(θ)=Eτ∼πθ[t=0∑Trt]

其中:

  • θ \theta θ是策略的参数。
  • τ \tau τ 是从策略 π \pi π中生成的轨迹(即一系列状态、动作和奖励的序列)。
  • r t r_t rt是在时间步 t t t 收到的奖励。

梯度的计算

为了优化 J ( θ ) J(\theta) J(θ),我们使用梯度上升法。根据链式法则,策略梯度可以通过以下公式计算:

∇ J ( θ ) = E τ ∼ π θ [ ∑ t = 0 T ∇ log ⁡ π θ ( a t ∣ s t ) R ( τ ) ] \nabla J(\theta) = \mathbb{E}{\tau \sim \pi{\theta}} \left[ \sum_{t=0}^{T} \nabla \log \pi_{\theta}(a_t|s_t) R(\tau) \right] ∇J(θ)=Eτ∼πθ[t=0∑T∇logπθ(at∣st)R(τ)]

其中:

  • R ( τ ) R(\tau) R(τ) 是整个轨迹的回报,可以是从时间步 t t t开始的累计奖励。
  • ∇ log ⁡ π θ ( a t ∣ s t ) \nabla \log \pi_{\theta}(a_t|s_t) ∇logπθ(at∣st)是对数似然的梯度,用于更新策略。

这种方法利用了"强化学习中的策略梯度定理",表明通过乘以回报 R ( τ ) R(\tau) R(τ),我们可以将高奖励的动作增强,而低奖励的动作减弱。

常见的 Policy Gradient 算法

REINFORCE:

最基本的 Policy Gradient 算法。

在每次完成一次完整的轨迹后,利用轨迹的总回报更新策略。

Actor-Critic:

结合了值函数和策略的优点。

Actor(策略)负责选择动作,Critic(价值函数)评估动作的价值。

使用 TD 方法来估计价值,从而减少方差,提高学习效率。

Proximal Policy Optimization (PPO):

一种现代的、强大的 Policy Gradient 方法。

通过限制每次更新的幅度来提高稳定性,使用剪切损失函数来避免过大的参数更新。

Trust Region Policy Optimization (TRPO):

通过确保每次更新都在信任区域内,以达到更稳定的学习效果。

优缺点

优点

  • 直接优化策略:与基于值的方法相比,更加自然且能处理连续动作空间。
  • 适应性:可以灵活应用于多种问题,包括部分可观测环境。
    缺点
  • 高方差:梯度估计的方差可能很大,导致学习过程不稳定。
  • 收敛速度慢:由于直接优化的性质,可能比较慢,尤其是在复杂任务中。

应用场景

Policy Gradient 方法被广泛应用于以下领域:

  • 机器人控制:训练机器人在复杂环境中执行任务。
  • 游戏 AI:在视频游戏中训练智能体。
  • 推荐系统:个性化推荐内容时,通过考虑用户反馈进行优化。

总之,Policy Gradient 方法是强化学习中的重要类别,适合解决各种决策问题,其灵活性和强大能力使其成为研究和实际应用中的热门选择。

Softmax 函数

Softmax 函数是一个常用的数学函数,特别在机器学习和深度学习中,它用于将一组实数值转换为一个概率分布。Softmax 函数通常用于多类分类任务中,将模型的输出(例如神经网络的 logits)转化为每个类别的预测概率。

定义

给定一个实数向量 z = [ z 1 , z 2 , ... , z K ] \mathbf{z} = [z_1, z_2, \ldots, z_K] z=[z1,z2,...,zK],Softmax 函数定义为:
σ ( z ) i = e z i ∑ j = 1 K e z j for i = 1 , 2 , ... , K \sigma(\mathbf{z})i = \frac{e^{z_i}}{\sum{j=1}^{K} e^{z_j}} \quad \text{for } i = 1, 2, \ldots, K σ(z)i=∑j=1Kezjezifor i=1,2,...,K

其中:

  • σ ( z ) i \sigma(\mathbf{z})_i σ(z)i是第 i i i个类别的概率。
  • K K K 是类别的总数。
  • e e e是自然对数的底。

表达式 σ ( z ) i = e z i ∑ j = 1 K e z j for i = 1 , 2 , ... , K \sigma(\mathbf{z})i = \frac{e^{z_i}}{\sum{j=1}^{K} e^{z_j}} \quad \text{for } i = 1, 2, \ldots, K σ(z)i=∑j=1Kezjezifor i=1,2,...,K各部分解释

  • e z i e^{z_i} ezi:

    这个部分表示对 z i z_i zi 应用指数函数。对于输入向量中的每个元素 z i z_i zi,我们计算其指数值。这是因为指数函数可以将输入值放大,使得较大的 z i z_i zi 值在最终结果中占据更大的权重。

  • ∑ j = 1 K e z j \sum_{j=1}^{K} e^{z_j} ∑j=1Kezj:

    这个部分是对所有输入 z z z元素的指数值求和,从 j = 1 j = 1 j=1到 K K K(即所有类别的数量)。这个总和提供了一个归一化的基准,使得Softmax输出的概率能够被转换到一个有效的概率分布(所有概率值之和为1)。

  • 整体的意思:

    整个表达式 e z i ∑ j = 1 K e z j \frac{e^{z_i}}{\sum_{j=1}^{K} e^{z_j}} ∑j=1Kezjezi是说,对于特定的类别 i i i的概率 P ( i ) P(i) P(i),它等于该类别的指数值 e z i e^{z_i} ezi 与所有类别指数值总和 ∑ j = 1 K e z j \sum_{j=1}^{K} e^{z_j} ∑j=1Kezj 的比值。这意味着我们关注的是类别 i i i 的"相对重要性"或"相对大小",以及它与其他类别的关系。

概率解释

通过这种方式,Softmax 函数确保了输出的概率能够反映模型对每个类别的信心:

如果某个 z i z_i zi很大, e z i e^{z_i} ezi 也会很大,相应的概率 P ( i ) P(i) P(i)也会高。

如果其他 z j z_j zj较小,那么它们的指数值就相对较小,导致 ∑ j = 1 K e z j \sum_{j=1}^{K} e^{z_j} ∑j=1Kezj 不会显著增加,从而使得概率 P ( i ) P(i) P(i)更高。

例子

假设有三个类别的 l o g i t s logits logits 为 z = [ 2.0 , 1.0 , 0.1 ] z = [2.0, 1.0, 0.1] z=[2.0,1.0,0.1]:

计算各类的指数值:

e 2.0 ≈ 7.39 e^{2.0} \approx 7.39 e2.0≈7.39
e 1.0 ≈ 2.72 e^{1.0} \approx 2.72 e1.0≈2.72
e 0.1 ≈ 1.11 e^{0.1} \approx 1.11 e0.1≈1.11

计算总和:

∑ j = 1 3 e z j = 7.39 + 2.72 + 1.11 ≈ 11.22 \sum_{j=1}^{3} e^{z_j} = 7.39 + 2.72 + 1.11 \approx 11.22 ∑j=13ezj=7.39+2.72+1.11≈11.22

计算各类的概率:

对于第一类: σ ( z 1 ) = e 2.0 11.22 ≈ 0.66 \sigma(z_1) = \frac{e^{2.0}}{11.22} \approx 0.66 σ(z1)=11.22e2.0≈0.66

对于第二类: σ ( z 2 ) = e 1.0 11.22 ≈ 0.24 \sigma(z_2) = \frac{e^{1.0}}{11.22} \approx 0.24 σ(z2)=11.22e1.0≈0.24

对于第三类: σ ( z 3 ) = e 0.1 11.22 ≈ 0.10 \sigma(z_3) = \frac{e^{0.1}}{11.22} \approx 0.10 σ(z3)=11.22e0.1≈0.10

通过这种方法,Softmax 将 logits 转换为概率分布,使得每个类别的输出可用于做出决策。

为什么Softmax 函数中使用指数化

在机器学习中,logit 通常指的是未经过激活函数(如 Sigmoid 或 Softmax)处理的原始预测值。

原因:

  1. 放大差异性
    增强分类效果:指数函数能够放大输入值之间的差异。对于 logits(模型的输出),较大的值会导致其对应的概率值显著高于其他类别。例如,如果某个类别的 logit 值非常大,而其他类别的 logit 值相对较小,指数化后,这个类别的概率会远远高于其他类别,使得分类器更加自信。这种放大效果有助于模型在区分不同类别时表现得更加明确。
  2. 确保正值
    输出正数:通过应用指数函数,所有的输出值都会是正数 ( e x > 0 e^x > 0 ex>0对于任何实数 x x x)。这是处理概率分布时所必需的,因为概率本身必须是非负的。
  3. 归一化
    简化计算:Softmax 的形式就是为了将 logits 转换为一个有效的概率分布,其总和为 1。通过在分母中使用所有类别的指数和,可以保证每个类别的概率是相对于其他类别的,这种归一化方式使得我们可以直接比较各个类别的概率。
  4. 平滑决策
    避免过度自信:如果不使用指数化,类别间的微小差异可能不会显著影响最终的概率结果,从而导致模型在做决策时变得不够敏感。而使用指数化后,即使是微弱的差异也能被放大,这有利于模型做出更细致的判断。
  5. 数学性质
    导数的便利性:在优化算法(如梯度下降)中,使用指数函数的连续性和可导性可以简化反向传播过程中的计算,使得更新权重时更加高效。

总结

相关推荐
开发者每周简报10 分钟前
求职市场变化
人工智能·面试·职场和发展
AI前沿技术追踪23 分钟前
OpenAI 12天发布会:AI革命的里程碑@附35页PDF文件下载
人工智能
余~~1853816280030 分钟前
稳定的碰一碰发视频、碰一碰矩阵源码技术开发,支持OEM
开发语言·人工智能·python·音视频
galileo20161 小时前
LLM与金融
人工智能
DREAM依旧1 小时前
隐马尔科夫模型|前向算法|Viterbi 算法
人工智能
GocNeverGiveUp1 小时前
机器学习2-NumPy
人工智能·机器学习·numpy
B站计算机毕业设计超人2 小时前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
学术头条2 小时前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客3 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
feifeikon3 小时前
机器学习DAY3 : 线性回归与最小二乘法与sklearn实现 (线性回归完)
人工智能·机器学习·线性回归