2026b

# rlSQLAgentOptions


强化学习 SQL 智能体选项

函数库: TyReinforcementLearning

# 语法

option = rlSQLAgentOptions(
    stateSize=stateSize,
    actionNum=actionNum,
    explorationOptions=explorationOptions,
    discountFactor=discountFactor,
    maxStepsPerEpisode=maxStepsPerEpisode,
    memorySize=memorySize,
    targetUpdateInterval=targetUpdateInterval,
    softUpdate=softUpdate,
    softUpdateFactor=softUpdateFactor,
    alpha=alpha,
    rewardRedefine=rewardRedefine
)

# 说明

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

# 示例

创建 SQL 智能体选项

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

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

创建智能体选项。

option = rlSQLAgentOptions(
    stateSize=StateSize(env),
    actionNum=ActionDims(env)
)
rlSQLAgentOptions(epsilonGreedy(0.1, 0.001, 0.01), 0.9, 1024, (4,), 2, 1000, 300, false, 0.05, 0.02, 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

targetUpdateInterval-目标网络更新间隔
标量

目标网络更新间隔,定义了主网络参数复制到目标网络(Target Network)的时间间隔,用于控制目标网络的更新频率。

通过定期更新目标网络,SQL 算法可以减少训练过程中的目标值估计误差,提高算法的稳定性和收敛性。

默认值:300

数据类型:Int64

softUpdate-软更新标志
标量

软更新标志,即是否使用软更新。

默认值:false

数据类型:Bool

softUpdateFactor-软更新因子
标量

软更新因子,软更新是通过将主网络参数以一定比例复制到目标网络来实现的。

默认值:0.05

数据类型:Float64

alpha-温度参数
标量

温度参数,代表了损失函数中熵所占的比例,值越大,agent 越倾向于输出更平均的概率。

默认值:0.02

rewardRedefine-重定义奖励函数
函数

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

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

# 输出参数

option-智能体选项
结构体

输出智能体选项rlSQLAgentOptions对象,用于创建 SQL 智能体。

# 另请参阅

BuildEnv | StateSize | ActionRange | randomNoise | rlSQLAgent