RL学习日志:(Reinforcement Learning for Sequential Decision and Optimal Control)Day2


preface

强化学习(RL)是人工智能和自动控制的一个交叉学科分支。它通常指一组可以为动态环境生成最优决策的策略搜索算法。就像训练宠物时用刺激和奖赏一样,RL智能体在做出错误决策时会受到惩罚,而在做出正确决策时会获得奖励。因此,即使是新手RL智能体也可以逐渐变得越来越智能。从人工智能的角度来看,RL指定了智能体如何通过与环境的试错交互来改进其策略。从自动控制的角度来看,RL类似于在整个状态空间内定义的数值优化器,用于解决连续决策问题。前者通常指模型无关的RL,它是一种模仿动物学习行为的试错学习者。后者通常指基于模型的RL,其问题表述与最优控制几乎相同。除了与模型相关的分类外,RL算法还可以从其他角度进行分类,例如连续时间或离散时间;表格表示或函数近似表示;单智能体或多智能体;离散空间或连续空间;确定性策略或随机策略;完全可观测性或部分可观测性;有限视野或无限视野。为了简洁和易于理解,本章从离散时间随机环境中的无模型RL开始。我们假设拥有有限状态和动作空间,并具有马尔科夫性质。随后将详细阐述其他类型的常用RL算法,特别是那些需要连续状态和动作空间、参数化策略、确定性环境和有限视野的真实世界问题。
在这里插入图片描述

Environment Model

大多数随机和离散时间环境都可以被视为马尔可夫过程。马尔可夫过程具有马尔可夫性质,即当前时刻的状态只依赖于上一时刻的状态和动作。这种性质也被称为无记忆性。在马尔可夫过程中,当前状态是环境状态的充分表示。马尔可夫链是最简单的马尔可夫过程,它具有有限的状态空间。此处,我们以马尔可夫链为例,展示如何用数学方式描述其行为。马尔可夫链在状态空间𝒮和动作空间𝒜中有有限个元素。对于任意状态s ∈ 𝒮和动作a ∈ 𝒜,在下一时刻出现新状态s’的概率为
P s s ′ a = p ( s ′ ∣ s , a ) ≡ Pr { s t + 1 = s ′ ∣ s t = s , a t = a } , P^a_{ss'} = p(s' | s, a) \equiv \text{Pr}\{s_{t+1} = s' | s_t = s, a_t = a\}, Pssa=p(ss,a)Pr{st+1=sst=s,at=a},
其中t是当前时刻,st是时刻t的状态,at是时刻t的动作,而𝒫ss’a或p(s’|s,a)是环境动力学的转移概率。马尔可夫链也可以用一个加权有向图来描述,其中边的权重表示从一个状态转移到另一个状态的概率。如果状态是部分可观测的,那么该系统可以用隐马尔可夫模型(HMM)来描述,它包含了从一个状态转移到另一个状态的转移概率,以及从一个状态到其测量值的观测概率。众多领域的问题都可以用马尔可夫过程建模,包括化学、电子或机械系统、工程中的问题、计算机科学中的最优编码、信道分配和传感器网络,以及经济学中的库存控制、投资组合管理和期权定价等。

注:马尔科夫过程(Markov process),也被称为无记忆随机过程(memoryless random process),是一种随机过程,它具有马尔科夫性质,即系统的下一个状态只依赖于当前状态,而与之前的状态无关。这种特性称为“无记忆性”或“马尔科夫性”。
换句话说,未来的状态只依赖于当前的状态,与更早的历史状态无关。

State-Action Sample

与马尔可夫模型类似,状态-动作样本是对环境动力学的表示。形式上,一个样本由状态-动作对(st, at)和由此产生的后续状态st+1组成。按时间顺序排列的一系列状态-动作样本称为状态-动作轨迹,它来自于智能体与环境之间的交互,无论是在现实世界中的物理交互,还是在计算机模拟器中的虚拟交互。一个数据集由多个状态-动作样本组成:
D = def { s 0 , a 0 , s 1 , a 1 , s 2 , a 2 , … , s t , a t , s t + 1 , a t + 1 , … } \mathcal{D} \stackrel{\text{def}}{=} \left\{ \begin{array}{ll} s_0, a_0, s_1, a_1, s_2, a_2, \ldots, s_t, a_t, s_{t+1}, a_{t+1}, \ldots \end{array} \right\} D=def{s0,a0,s1,a1,s2,a2,,st,at,st+1,at+1,}
其中𝒟是数据集。数据集可以包含一个轨迹或多个轨迹。显然,一个轨迹中的每个状态-动作对都不是独立的,它会对后续的状态和动作产生长期影响。

Policy

策略是从状态空间到动作空间的映射。一个序列决策问题必须包含一个描述智能体与环境交互时行为方式的策略。带有静态马尔可夫策略的马尔可夫环境称为马尔可夫决策过程(MDP)。如果一个动作完全由当前状态决定,则称该策略是马尔可夫策略。如果策略与时间无关,则称该策略是静态的。静态的马尔可夫策略可分为(1)确定性策略,在同一状态下总是选择相同的动作;(2)随机策略,根据学习到的概率分布选择动作。确定性策略表示为:
a = π ( s ) , s ∈ S . a = \pi(s), \quad s \in \mathcal{S}. a=π(s),sS.
例如,线性反馈控制律就是一种确定性策略。随机策略π(a|s)指定在当前状态s下选择动作a的概率:
π ( a ∣ s ) = Pr ⁡ { a t = a ∣ s t = s } , s ∈ S . \pi(a|s) = \Pr\{a_t = a|s_t = s\}, \quad s \in \mathcal{S}. π(as)=Pr{at=ast=s},sS.
通常情况下,人们更多地讨论随机策略而非确定性策略。具体来说,确定性策略缺乏良好的探索能力,因为它在同一状态下总是输出相同的动作。而随机策略可以提供更好的探索能力,因为它会随机选择动作。当状态是部分可观测的时候,随机策略有潜力考虑隐藏状态的不确定性。

Tabular Policy

策略的最简单表示形式是查找表,即表格策略,它被广泛应用于蒙特卡罗、Q学习和Sarsa等早期强化学习算法中。查找表适用于低维和有限元素的任务,尤其是需要高频决策或实时控制的场景。换句话说,表格策略是一个预先计算的数组,它为每个状态保存了要采取的动作。这种表格结构能够单独处理每个状态或动作元素。

Parameterized Policy

对于大规模任务,表格策略既占用内存也计算效率低。另一种方法是选择一个参数化函数来表示策略,以减少存储和计算负担。参数化的确定性策略和随机策略表示如下:
π θ ( s ) = def π ( s ; θ ) , \pi_{\theta}(s) \stackrel{\text{def}}{=} \pi(s; \theta), πθ(s)=defπ(s;θ),
π θ ( a ∣ s ) = def π ( a ∣ s ; θ ) , \pi_{\theta}(a|s) \stackrel{\text{def}}{=} \pi(a|s; \theta), πθ(as)=defπ(as;θ),
其中 𝜃 是策略参数。最常用的函数包括多项式函数、傅里叶函数、径向基函数和人工神经网络。参数化策略有几个优点:(1)在高维或连续空间中具有更高的计算效率且需要较少的存储内存;(2)某些特殊的参数化选择可能提供一种将先验知识加入策略的好方法。例如,合理的驾驶员模型可以用作自动驾驶策略,这有潜力将人类驾驶员的经验嵌入其中。

在强化学习领域,策略定义了智能体在某一状态下选择动作的规则。以下是表格策略和随机策略的解释:

表格策略(Tabular Policy)
表格策略指的是以表格形式存储策略的方法。在这种情况下,每个状态(或状态-动作对)都有一个对应的条目,用于指示智能体在该状态下应当采取的动作。这种策略适用于状态空间较小、可以明确列出所有可能状态的情况。由于它需要为每个可能的状态(或状态-动作对)保存一个值,因此它可能非常占用内存,并且在大规模问题中计算效率低下。

随机策略(Stochastic Policy)
随机策略是指智能体在给定状态下对每个可能动作选择的概率分布。这意味着智能体在某一状态下选择某一动作不是确定的,而是有一定概率选择各个可能的动作。随机策略在强化学习中很常见,特别是在探索(exploration)阶段,智能体需要尝试不同的动作来收集更多关于环境的信息。

参数化策略(Parameterized Policy)
对于状态空间非常大或连续的问题,使用表格策略变得不切实际。在这种情况下,通常会使用参数化策略,这是一种用数学函数(通常是线性函数或神经网络)来近似策略的方法。该函数的参数可以通过学习算法进行优化,以最大化累积奖励。参数化策略可以是确定性的,也可以是随机的:

参数化确定性策略:给定状态,策略会确定性地选择一个特定的动作。这种策略由一个函数表示,该函数将状态映射到动作。
参数化随机策略:与确定性策略不同,参数化随机策略将状态映射到动作的概率分布上。智能体根据这个分布随机选择动作。

Reward Signal

在强化学习中,奖励信号是寻找最优策略的驱动力。奖励信号是一个函数,它将当前状态、当前动作和下一个状态的三元组映射到一个实数,其定义为:
r s , s ′ a = def r t = r ( s t , a t , s t + 1 ) . r^{a}_{s,s'} \stackrel{\text{def}}{=} r_t = r(s_t, a_t, s_{t+1}). rs,sa=defrt=r(st,at,st+1).
这种类型的奖励信号具有特殊的可分性质,即从给定状态开始,任何奖励信号仅依赖于当前动作和一步转移概率。结合马尔可夫环境,奖励信号的可分性质允许将序贯决策问题分解为多阶段优化问题。这就是为什么可以应用贝尔曼最优性原理来构建贝尔曼方程的原因。在确定性环境中,下一个状态完全由当前状态和当前动作决定。因此,上式可以简化为只有两个变量的函数,即当前状态和当前动作。强化学习不仅仅关注每一个即时奖励,而是寻求最大化长期回报的期望值。长期回报等于长期内奖励信号的加权和。下图展示了状态、动作和奖励信号的时间顺序。每个“○”代表一个状态,每个实心点“●”代表一个动作。
在这里插入图片描述

Long-term Return

长期回报(或简称为回报)是通过长期累积奖励信号来计算的。大多数控制任务,例如自动驾驶,都是持续性的,即它们可以无限期运行而不终止。我们将这些任务称为持续性任务或无限视界任务。相比之下,许多游戏,如国际象棋和中国围棋,具有不确定的视界,这意味着它们必须在有限的步骤后终止。这自然产生了可识别的情节,每个情节都从一个初始状态开始并在一个终止状态结束。这些问题被称为不定视界任务,或更一般地称为情节性任务。术语“情节性”也指那些有限视界的任务,它们在每个情节中包含固定数量的时间步骤。这里,我们关注一个持续性任务并定义其长期回报。最流行的定义是折扣回报:
G t = ∑ i = 0 ∞ γ i r t + i G_t = \sum_{i=0}^{\infty} \gamma^i r_{t+i} Gt=i=0γirt+i
其中 𝐺𝑡代表长期回报,0 ≤ 𝛾 ≤ 1 是折扣因子。这种对长期回报的定义强调了较早期的奖励。如果𝛾接近 0,代理是近视的,只关心立即的奖励。随着𝛾接近 1,代理变得更有远见,考虑到更多的未来奖励。如果一个人认同“今天的一个蛋胜过明天的一只母鸡”或者“手中的一只鸟胜过林中的两只鸟”这样的说法,那么折扣回报正是他所偏好的。在环境模型不完美时,这种定义也是有意义的。从长远来看,状态随时间变得越来越不可预测,折扣因子有助于减少不确定未来状态的影响。对于持续任务,另一种流行的定义是平均回报:
G t = lim ⁡ T → ∞ 1 T ∑ i = 0 T − 1 r t + i G_t = \lim_{T \to \infty} \frac{1}{T} \sum_{i=0}^{T-1} r_{t+i} Gt=TlimT1i=0T1rt+i
在这里,𝑇是终止时间,它趋向于无穷大。当 𝑇是有限的,公式自然降低为情节性任务的有限视界回报。折扣回报和平均回报的目的是提供一个可计算的度量。显然,没有折扣因子的回报(或等同地,当 𝛾接近 1 时)对于无限视界任务来说是无界的。这是由于马尔可夫决策过程(MDPs)的随机行为所致。随机性不允许状态稳定下来,随机奖励信号的总和变成一个无限大的值。与随机任务不同,确定性任务没有这个问题,因为环境将围绕一个已知的平衡状态稳定下来。因此,它们的奖励信号累积总和是有意义的。一般来说,折扣回报在计算上更加友好,并且在当今的强化学习社区中被广泛使用。

Value Function

在大多数随机任务中,价值函数被定义为长期回报的期望值(也称为期望回报),它用来评估一个策略的好坏。价值函数有两种变体:(1)状态价值函数和(2)行动价值函数。前者是一个仅以状态作为输入的函数,定义为在策略 𝜋下,从某一特定状态 𝑠开始的期望回报:
V π ( s ) = def E π { G t ∣ s t = s } = E π { ∑ i = 0 ∞ γ i r t + i ∣ s t = s } = E a t , s t + 1 , a t + 1 , s t + 2 , … { ∑ i = 0 ∞ γ i r t + i ∣ s t = s } V^{\pi}(s) \overset{\text{def}}{=} \mathbb{E}_{\pi}\{G_t | s_t = s\} = \mathbb{E}_{\pi}\left\{\sum_{i=0}^{\infty} \gamma^i r_{t+i} | s_t = s\right\} = \mathbb{E}_{a_t,s_{t+1},a_{t+1},s_{t+2},\ldots}\left\{\sum_{i=0}^{\infty} \gamma^i r_{t+i} | s_t = s\right\} Vπ(s)=defEπ{Gtst=s}=Eπ{i=0γirt+ist=s}=Eat,st+1,at+1,st+2,{i=0γirt+ist=s}
其中 v π ( s ) v^{\pi}(s) vπ(s) 是策略 π \pi π 的状态价值函数。在 v π ( s ) v^{\pi}(s) vπ(s) 的定义中,初始状态 s 1 s_1 s1 被强制设为一个给定的值,即 s 1 = s s_1 = s s1=s。带下标 π \pi π 的期望符号 E π { ⋅ ∣ s } \mathbb{E}_{\pi}\{\cdot | s\} Eπ{s},表示随机的状态-动作变量 a 1 , s t + 1 , a t + 1 , s t + 2 , a t + 2 , … a_1, s_{t+1}, a_{t+1}, s_{t+2}, a_{t+2}, \ldots a1,st+1,at+1,st+2,at+2, 都是根据策略 π \pi π 在给定初始状态 s 1 = s s_1 = s s1=s 的情况下生成的。显然, E π { ⋅ ∣ s } \mathbb{E}_{\pi}\{\cdot | s\} Eπ{s} 是条件依赖于初始状态 s s s 的,但为了简洁起见,它可以写作 E π { ⋅ } \mathbb{E}_{\pi}\{\cdot\} Eπ{}。此外,它还意味着 v π ( s ) v^{\pi}(s) vπ(s) 受到随机环境动态的支配,即使这一事实没有明确说明。行动价值函数是状态和动作的函数,定义为给定状态-动作对 ( s , a ) (s, a) (s,a) 的期望回报:
q π ( s , a ) = def E π [ G t ∣ s , a ] q^{\pi}(s, a) \overset{\text{def}}{=} \mathbb{E}_{\pi}[G_t | s, a] qπ(s,a)=defEπ[Gts,a]

= E π [ ∑ i = 0 ∞ γ i r t + i ∣ s t = s , a t = a ] = \mathbb{E}_{\pi} \left[ \sum_{i=0}^{\infty} \gamma^i r_{t+i} | s_t = s, a_t = a \right] =Eπ[i=0γirt+ist=s,at=a]

= E s t + 1 , a t + 1 , s t + 2 , a t + 2 , … [ ∑ i = 0 ∞ γ i r t + i ∣ s t = s , a t = a ] = \mathbb{E}_{s_{t+1},a_{t+1},s_{t+2},a_{t+2},\ldots} \left[ \sum_{i=0}^{\infty} \gamma^i r_{t+i} | s_t = s, a_t = a \right] =Est+1,at+1,st+2,at+2,[i=0γirt+ist=s,at=a]
其中 q π ( s , a ) q^{\pi}(s, a) qπ(s,a) 是策略 π \pi π 下的行为价值函数。这里,在时间 t t t 的状态-行为对 ( s 1 , a 1 ) (s_1, a_1) (s1,a1) 被强制设置为两个实数值 ( s , a ) (s, a) (s,a),即 s 1 = s s_1 = s s1=s a 1 = a a_1 = a a1=a。有多种数学工具可以用来表示价值函数,比如表格函数、多项式逼近和人工神经网络。表格函数通常用于解决状态空间小且有限的问题。对于有组合性和大状态空间的问题,参数化的函数,如多项式和神经网络,更加适合,因为它们的计算和存储负担较低。
注:

  1. 表格函数:
    表格方法是最直接的价值函数表示方法,它为状态空间和行动空间中的每个元素分配一个单独的值。
    对于状态价值函数 V ( s ) V(s) V(s):
    V ( s )  对于每个状态  s V(s) \text{ 对于每个状态 } s V(s) 对于每个状态 s
    对于行动价值函数 Q ( s , a ) Q(s, a) Q(s,a):
    Q ( s , a )  对于每个状态-行为对  ( s , a ) Q(s, a) \text{ 对于每个状态-行为对 } (s, a) Q(s,a) 对于每个状态-行为对 (s,a)
  2. 多项式逼近:
    多项式逼近使用多项式函数来近似价值函数,行动价值函数 Q ( s , a ) Q(s, a) Q(s,a) 可以用多项式近似表示为:
    Q ( s , a ) ≈ θ 0 + θ 1 ϕ 1 ( s , a ) + θ 2 ϕ 2 ( s , a ) + … + θ n ϕ n ( s , a ) Q(s, a) \approx \theta_0 + \theta_1 \phi_1(s, a) + \theta_2 \phi_2(s, a) + \ldots + \theta_n \phi_n(s, a) Q(s,a)θ0+θ1ϕ1(s,a)+θ2ϕ2(s,a)++θnϕn(s,a)
    其中,𝜃0,𝜃1,…,𝜃𝑛是多项式系数。
  3. 人工神经网络:
    人工神经网络通过训练一个或多个层次的神经元来近似价值函数。
    行动价值函数 Q ( s , a ) Q(s, a) Q(s,a) 可以通过神经网络近似表示为:
    Q ( s , a ) ≈ f ( s , a ; Θ ) Q(s, a) \approx f(s, a; \Theta) Q(s,a)f(s,a;Θ)
    𝑓是神经网络的架构,Θ表示网络的权重和偏置参数。

Self-consistency Condition

价值函数的一个基本属性是它自然地具有某种递归关系,即自洽性条件。请注意,自洽性条件是三个元素:价值函数、策略和环境动力学的固有属性,其存在并不依赖于贝尔曼的最优性原理。下图展示了当前状态与其后继状态之间的备份图。从任何给定状态向前看一步到其后继状态,可以很容易地发现 v π ( s ) v^{\pi}(s) vπ(s) q π ( s , a ) q^{\pi}(s, a) qπ(s,a) 之间的递归关系:
v π ( s ) = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) , v^{\pi}(s) = \sum_{a \in \mathcal{A}} \pi(a|s)q^{\pi}(s,a), vπ(s)=aAπ(as)qπ(s,a),

q π ( s , a ) = ∑ s ′ ∈ S p s s ′ a ( r s s ′ a + γ v π ( s ′ ) ) . q^{\pi}(s, a) = \sum_{s' \in \mathcal{S}} p^{a}_{ss'} \left( r^{a}_{ss'} + \gamma v^{\pi}(s') \right). qπ(s,a)=sSpssa(rssa+γvπ(s)).
在这里插入图片描述
结合上述两公式,我们得到了第一类自洽条件(即对于状态价值函数):
v π ( s ) = E π { r + γ v π ( s ′ ) ∣ s } = ∑ a ∈ A π ( a ∣ s ) ( ∑ s ′ ∈ S p s s ′ a ( r s s ′ a + γ v π ( s ′ ) ) ) . v^{\pi}(s) = \mathbb{E}_{\pi}\left\{ r + \gamma v^{\pi}(s') | s \right\} = \sum_{a \in \mathcal{A}} \pi(a|s) \left( \sum_{s' \in \mathcal{S}} p^{a}_{ss'} \left( r^{a}_{ss'} + \gamma v^{\pi}(s') \right) \right). vπ(s)=Eπ{r+γvπ(s)s}=aAπ(as)(sSpssa(rssa+γvπ(s))).
这就是状态价值函数的递归关系。重用上述两个公式,我们得到了第二类自洽条件(即对于动作价值函数):
q π ( s , a ) = E π { r + γ v π ( s ′ ) ∣ s , a } = ∑ s ′ ∈ S p s s ′ a ( r s s ′ a + γ ∑ a ′ ∈ A π ( a ′ ∣ s ′ ) q π ( s ′ , a ′ ) ) . q^{\pi}(s, a) = \mathbb{E}_{\pi}\left\{ r + \gamma v^{\pi}(s') | s, a\right\} = \sum_{s' \in \mathcal{S}} p^{a}_{ss'} \left( r^{a}_{ss'} + \gamma \sum_{a' \in \mathcal{A}} \pi(a'|s') q^{\pi}(s', a') \right). qπ(s,a)=Eπ{r+γvπ(s)s,a}=sSpssa(rssa+γaAπ(as)qπ(s,a)).
这是动作价值函数的递归关系。这里,下标 𝜋 在 E π { ⋅ } \mathbb{E}_{\pi}\{ \cdot \} Eπ{} 中实际上有不同的含义。可以容易地观察到,在状态价值函数公式中的 E π { ⋅ } \mathbb{E}_{\pi}\{ \cdot \} Eπ{} 等同于 E π , π ′ { ⋅ } \mathbb{E}_{\pi, \pi'}\{ \cdot \} Eπ,π{},因为 a a a s ′ s' s 的分布依赖于策略 π \pi π。在 (2-14) 中, E π { ⋅ } \mathbb{E}_{\pi}\{ \cdot \} Eπ{} 等同于 E π ′ { ⋅ } \mathbb{E}_{\pi'}\{ \cdot \} Eπ{},并且 s ′ s' s 受策略 π \pi π 的控制。自洽条件本质上在价值函数和策略之间架起了一座桥梁,包含了评估策略好坏的内在机制。这种评估是通过计算对应于给定策略的真实价值来进行的。强化学习问题的四个要素计算方法可以分为两类:(1) 基于样本的评估,其中从代理与环境互动生成的经验中估计状态值,例如蒙特卡洛(MC)和时序差分(TD);或者 (2) 基于模型的评估,在这种方法中,人们使用解析环境模型来解决自洽条件,例如动态规划(DP)和近似动态规划(ADP)。本质上,这两种方法在寻找价值函数和策略之间的联系方面是等价的。基于样本的方法需要收集足够多的样本,这是时间消耗大的,因为它涉及到代理与环境的互动。由于环境信息是通过互动收集的,因此必须解决探索与利用之间的困境。基于模型的方法可以通过解析模型的偏导数的帮助,在计算上更加高效。使用基于模型的方法的前提是必须预先知道一个准确的环境模型。
注:
蒙特卡洛(MC)方法
蒙特卡洛方法在强化学习中是一种基于样本的学习方法,它通过完整的序列(或者称为回合)来学习策略的价值。该方法不依赖于环境的具体模型,而是通过从实际或模拟的经验中直接学习来获得价值估计。其基本思想包括:
回合更新:MC方法只在完整的回合结束后更新价值估计,即在得知整个序列的结果后。
无偏估计:由于基于完整的回合来评估价值,MC方法提供了对期望回报的无偏估计。
应用场景:MC方法特别适用于回合制任务,其中可以明确地观察到序列的结束和回报。

时序差分(TD)方法
时序差分方法是另一种基于样本的学习方法,它结合了蒙特卡洛方法的一些优点和动态规划的思想。TD方法在不需要完整序列的情况下进行学习,可以在从一个状态转移到下一个状态后立即进行更新。其特点包括:
单步更新:在每一个时间步,根据当前状态的估计和下一个状态的估计来调整当前状态的价值。
引入学习率:通过引入学习率参数(通常表示为 α),TD方法可以灵活地调整学习过程中的快慢。
部分依赖模型:虽然TD方法不完全依赖于环境模型,但它需要知道可能的状态转移和奖励。

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值