2026a

# rlDQNAgentOptions


强化学习 DQN 智能体选项

函数库: TyReinforcementLearning

# 语法

option = rlDQNAgentOptions(
    stateSize=stateSize,
    actionNum=actionNum,
    explorationOptions=explorationOptions,
    discountFactor=discountFactor,
    maxStepsPerEpisode=maxStepsPerEpisode,
    memorySize=memorySize,
    rewardRedefine=rewardRedefine
)

# 说明

创建 DQN 智能体选项,对 DQN 智能体属性进行配置。

# 示例

创建 DQN 智能体选项

创建环境接口。对于此示例,使用“CartPole-v1”环境,其动作空间是离散的。

using TyReinforcementLearning
env = BuildEnv("CartPole-v1");

创建智能体选项。

option = rlDQNAgentOptions(
    stateSize=StateSize(env),
    actionNum=ActionDims(env)
)
rlDQNAgentOptions(epsilonGreedy(0.1, 0.001, 0.01), 0.9, 1024, (4,), 2, 1000, TyReinforcementLearning.original_rewards)

# 输入参数

stateSize-状态形状
向量

状态形状,状态空间中状态的形状,可由StateSize(env)函数获取。

actionNum-动作个数
标量

动作个数,离散动作空间中动作的个数,可由ActionDims(env)函数获取。

数据类型:Int64

explorationOptions-探索策略
结构体

探索策略,用于控制智能体在与环境交互的过程中采取的随机探索策略。在离散动作空间中默认为epsilonGreedy策略。

discountFactor-衰减因子
标量

衰减因子,用于权衡当前奖励和未来奖励的价值。取值范围在 0 到 1 之间。

默认值:0.9

数据类型:Float64

maxStepsPerEpisode-每轮最大步数
标量

每轮最大步数,每个回合(episode)中智能体与环境交互的最大步数。

默认值:1000

数据类型:Int64

memorySize-记忆库大小
标量

记忆库大小,定义了经验回放缓冲区的容量。

它决定了智能体可以存储多少个经验样本,并且会影响到训练过程中的数据抽样和更新频率。

默认值:1024

数据类型:Int64

rewardRedefine-重定义奖励函数
函数

重新定义的奖励函数,其形式为rewardRedefine(state, action, next_state, reward, done),输入为当前时刻状态、动作、下一状态、奖励、是否结束,输出重新定义的奖励。默认输为原奖励。

在某些情况下,可能需要重新定义奖励函数以适应特定问题或改进强化学习算法的性能,目的是引导智能体采取更优的行动,使其能够更快地学习和达到预期的目标。注意重新定义的奖励不会影响输出的训练分数和 test 分数。

# 输出参数

option-智能体选项
结构体

输出智能体选项rlDQNAgentOptions对象,用于创建 DQN 智能体。

# 另请参阅

BuildEnv | StateSize | ActionDims | epsilonGreedy | rlDQNAgent