技术领域
[0001] 本发明涉及一种基于多智能体执行强化学习的技术。
相关背景技术
[0002] 通常,强化学习(Reinforcement learning)是学习在当前状态(State)下采取哪种行动(Action)是最佳的。每当采取一个行动时,环境(Environment)中就会给出一个奖励(Reward),以向奖励最大化的方向进行学习。
[0003] 这里,状态是表示当前时间情况的数值的集合,在特定时刻t的状态用st表示,行动是在状态下可采取的选择,在特定时刻t的状态st下采取的行动用at表示,奖励是与行动相对应的收益,对at的奖励用rt表示。此时,由at改变的状态(新状态)用st+1表示。
[0004] 这种强化学习的主角和主体(计算机程序),即是学习的对象且同时在环境中行动的主体被称为智能体(Agent)。智能体由行动者(Actor)和评论家(Critic)组成。此时,评论家估计每个行动的价值(state‑action value,Q value(状态‑行动值,Q值)),行动者基于行动的价值选择最佳的行动。特别是,评论家更新价值函数(Value Function)的参数作为强化学习,行动者更新策略函数(Policy Function)的参数作为强化学习。
[0005] 最近,这种强化学习的概念被进一步具体化,但强化学习本身具有通过重复试错(Trial‑and‑error)来学习行动策略的特性,因此,当被置于没有学习的状态的环境中时,很难准确评价该状态的价值,因此可能会采取出乎意料的行动策略。例如,在信号中完全没有噪声的环境中建立的价值和行动策略在存在噪声的环境中不能很好地发挥作用或者严重时可能会造成巨大的损失。
[0006] 因此,需要提供一种即使在存在噪声的环境中也能够提高无模型强化学习的性能的方法。
[0007] 本背景部分中记载的事项旨在促进对本发明的背景的理解,并且可以包括不是本技术所属领域的普通技术人员已知的现有技术的事项。
具体实施方式
[0050] 以下,参照示例性的附图详细描述本发明的一些实施例。在将附图标记添加到各附图的组件中时,对于相同的组件,即使它们在其他附图上显示,也应由相同的附图标记表示。此外,在描述本发明的实施例时,当判断相关已知配置或功能的详细描述妨碍对本发明的实施例的理解时,将省略对相关已知配置或功能的详细描述。
[0051] 在描述本发明的实施例的组件时,可以使用诸如“第一”、“第二”、“A”、“B”、“(a)”、“(b)”的术语。这些术语只是为了将这些组件与其他组件区分开,而且这些术语并不限制这些组件的本质、顺序或次序等。此外,除非另有定义,则本文使用的包括技术和科学术语的所有术语与本发明所属技术领域的普通技术人员通常理解的含义相同。在常用字典中定义的术语应被解释为具有与其在相关技术的上下文含义相一致的含义,除非在本申请中明确地定义,否则不应被解释为理想化或过于正式的含义。
[0052] 图1是根据本发明的一个实施例的基于多智能体的强化学习系统的配置图。
[0053] 如图1所示,根据本发明的一个实施例的基于多智能体的强化学习系统可以包括云服务器100和至少一个车辆终端200。
[0054] 在云服务器100中安装有主智能体(master agent)10,并且在车辆终端200中安装有从智能体(slave agent)20。这里,主智能体10和从智能体20分别可以被实现为处理器或应用程序,此外,尽管描述了从智能体20安装在车辆终端200中的例子,但从智能体20可以安装在能够连接到云服务器100的各种设备(PC、智能手机等)。
[0055] 主智能体10和各从智能体20在不同的环境中彼此独立地执行强化学习。此时,主智能体10可以向各从智能体20提供自己的经验(st、at、rt、st+1),并且各从智能体20可以向主智能体10提供自己的价值函数(Q函数)。因此,主智能体10可以将各从智能体20的价值函数(Q函数)应用于自己的强化学习中。
[0056] 主智能体10可以通过在自己的Q函数和各从智能体20的Q函数中随机选择Q函数来判断行动的价值,并且在将所有Q函数的平均值设定为学习目标的过程中利用各从智能体20的Q函数。
[0057] 主智能体10可以向各从智能体提供自己的经验(st、at、rt、st+1)。这里,st表示在环境中在特定时刻t的状态,at表示在st中选择的行动,rt表示对at的奖励,st+1表示由at改变的新状态。
[0058] 图2是根据本发明的一个实施例的基于多智能体的强化学习系统的详细配置图,示出了各智能体的详细配置。
[0059] 首先,主智能体10可以在学习之前初始化评论家12的价值函数(Q函数)和行动者13的策略函数。
[0060] 之后,主智能体10在环境#1的各状态下收集数据集(data set)st、at、rt、st+1,并将收集的数据集存储在缓冲器(Replay Memory Buffer)11中。此时,主智能体10将收集的数据集传送给各从智能体20。
[0061] 主智能体10可以在每当收集到数据集时将数据集传送给各从智能体20,但优选的是,以1/N的概率传送数据集。这里,N是确定从智能体20的数量(N‑1)的自然数。例如,当N=3时,从智能体20的数量是两个,并且主智能体10可以以1/3的概率将收集的数据集传送给两个从智能体20。
[0062] 之后,当存储在缓冲器11中的数据集超过预定容量时,主智能体10可以开始强化学习。
[0063] 主智能体10可以具有多个Q函数,此时,第一Q函数#1和第二Q函数#2是不更新为从智能体20的Q函数的函数,第三Q函数#3和第四Q函数#4是更新为从智能体20的Q函数的函数。
[0064] 因此,主智能体10将自己的第三Q函数#3和第四Q函数#4更新为从智能体20的第三Q函数#3和第四Q函数#4。这里,主智能体10可以通过利用从智能体20的Q函数来学习对干扰稳健的行动策略。
[0065] 之后,主智能体10可以执行作为强化学习的一种的随机集成双Q‑学习(Randomized Ensembled Double Q‑learning)。即,主智能体10可以从多个Q函数中随机选择两个Q函数并执行基于存储在缓冲器11中的数据集学习Q函数和策略函数的随机集成双Q‑学习。此时,主智能体10可以将所有Q函数的平均值设定为学习目标(目标值)。
[0066] 另一方面,从智能体20可以将从主智能体10接收的数据集存储在缓冲器(Replay Memory Buffer)21中,并且当存储在缓冲器21中的数据集超过预定容量时,从智能体20可以开始强化学习。这里,从智能体20可以通过利用从主智能体10接收的数据集执行强化学习来提高学习效率。
[0067] 从智能体20可以执行双Q‑学习作为强化学习的一种。即,从智能体20可以包括第三Q函数#3和第四Q函数#4,并且可以执行基于存储在缓冲器21中的数据集学习Q函数和策略函数的双Q‑学习。此时,缓冲器21中存储有从主智能体10接收的数据集。
[0068] 图3是根据本发明的一个实施例的由从智能体执行的强化学习算法的示例图。图3示出了作为各种强化学习算法中的一种的双Q‑学习算法。
[0069] 如图3所示,‘310’表示从智能体20学习价值函数(Q函数)的过程,‘320’表示从智能体20学习策略函数的过程。
[0070] 在‘310’中,s表示当前状态,a表示在s中选择的行动,r表示对a的奖励,s'表示由a改变的新状态。此外,y表示Q函数的目标值,γ表示确定短期奖励的优先级的折扣系数(discount factor)。
[0071] 从智能体20观察环境中的状态s,根据策略选择行动a,并对环境采取行动以观察新状态s'和奖励r。
[0072] 从智能体20从缓冲器21中提取预设数量的数据集,并基于提取的数据集,确定第三Q函数#3和第四Q函数#4的值,并将确定的值中的较小值确定为当前值。
[0073] 之后,从智能体20利用提取的所述数据集分别确定第三Q函数的目标值和第四Q函数的目标值,并学习第三Q函数以使当前值成为第三Q函数的目标值,同时学习第四Q函数以使当前值成为第四Q函数的目标值。此外,从智能体20学习策略函数以使Q值成为最小值。
[0074] 图4是根据本发明的一个实施例的由主智能体执行的强化学习算法的示例图。图4示出了各种强化学习算法中的一种的随机集成双Q‑学习算法。
[0075] 如图4所示,‘410’表示主智能体10学习价值函数(Q函数)的过程,‘420’表示主智能体10学习策略函数的过程。
[0076] 在‘410’中,M=2,N=10,G=20,y表示Q函数的目标值,并且γ表示确定短期奖励的优先级的折扣系数。
[0077] 随机集成双Q‑学习算法是基于双Q‑学习算法的。双Q‑学习算法学习两个Q函数,而随机集成双Q‑学习算法学习N个Q函数。因此,主智能体10可以将N个Q函数的平均值设定为被选为学习对象的两个Q函数的目标值。
[0078] 图5是根据本发明的一个实施例的基于多智能体的强化学习系统的第一性能分析图,图5示出了以具有17个关节的人型机器人模拟器(例如,Mujoco)为对象,与在预定时间内没有跌倒而行进的距离成比例地奖励的结果。
[0079] 在图5中,纵轴表示平均回报(average return),横轴表示步骤(steps)。‘510’表示根据传统方式的策略曲线(确定性行动(deterministic action))。‘511’表示根据传统方式的学习曲线(随机性行动(stochastic action))。‘520’表示根据本发明的方式的策略曲线(确定性行动),‘521’表示根据本发明的方式的学习曲线(随机性行动)。
[0080] 可以知道,传统方式是基于单个智能体的强化学习结果,与本发明的方式相比,策略曲线520的波动性严重且不稳定。这是因为传统方式的单个智能体仅根据自己的经验来学习价值函数,因此新尝试的行动很有可能发生严重错误。相比之下,在本发明的方式中,主智能体10通过利用自己的经验(数据集)和各从智能体20的经验(Q函数)来学习价值函数,因此,与单个智能体相比,主智能体10准确地知道没有经历过的行动的价值,因此可以向较少失败的方向进行新的尝试。即,可以理解,在本发明的方式中价值函数不过拟合(Overfitting)到主智能体10的行动,而与各从智能体20的价值函数取平均值。
[0081] 图6a是根据本发明的一个实施例的基于多智能体的强化学习系统的第二性能分析图,图6a示出了以具有17个关节的人型机器人模拟器(例如,Mujoco)为对象,与在预定时间内没有跌倒而行进的距离成比例地奖励的结果。
[0082] 如图6a所示,示出了比较信号噪声的稳健性的表,其中表示了按噪声强度的平均性能值、性能值偏差、最小性能值和最大性能值。这里,性能值可以用分数表示。
[0083] 可以知道,在没有噪声(0%)的情况下,与本发明的方式相比,传统方式具有高的平均性能值,但是具有大的偏差。这意味着,即使是轻微的干扰也可能导致性能严重下降。
[0084] 为了证实这一点,将噪声(Δx=ε×N(0,1)×x)注入输入信号x中,并观察逐步增加ε如0.02、0.05、0.1的结果(性能值)的变化。这里,N(0,1)意味着具有0(零)的平均值和具有1的标准偏差的高斯分布。
[0085] 可以知道,在噪声为2%的情况下,在传统方式中性能值的偏差增加到1973,并且最小性能值下降到772,但是在本发明的方式中,性能值的偏差和最小性能值的变化不明显。
[0086] 特别是,可以知道,在噪声为10%情况下,在传统方式中与噪声为0%的情况相比平均性能值下降到1/4水平,但是在本发明的方式中与噪声为0%的情况相比平均性能值下降到1/2水平。因此,可以知道,本发明的方式比传统方式对信号噪声更稳健。如果将这个用图表表示,如图6b所示。
[0087] 图6b是根据本发明的一个实施例的基于多智能体的强化学习系统的第二性能分析图中的平均性能值的图表。
[0088] 如图6b所示,可以知道,尽管在没有信号噪声(0%)或噪声为2%的情况下,根据传统方式的性能值和根据本发明的方式的性能值之间没有显著差异,但是随着信号噪声的增加,根据传统方式的性能值的下降幅度明显大于根据本发明的方式的性能值的下降幅度。因此,证明了本发明的方式比传统方式对信号噪声更稳健。
[0089] 图7是示出根据本发明的一个实施例的主智能体和各从智能体的性能的示例图。
[0090] 如图7所示,‘710’表示主智能体10的性能曲线图,‘720’表示第一从智能体20的性能曲线图,‘730’表示第二从智能体30的性能曲线图。
[0091] 尽管第一从智能体20的性能曲线图720和第二从智能体30的性能曲线图730类似于图5所示的传统方式波动性严重且不稳定,但主智能体10的性能曲线图710如图5所示波动性小且稳定。
[0092] 图8是示出根据本发明的一个实施例的各从智能体的性能的示例图。
[0093] 如图8所示,各曲线图的纵轴表示回报(returns),横轴表示回合(episodes)。这里,回报表示累积奖励(cumulative reward),回合作为轨迹(Trajectory)表示智能体从初始状态到结束状态所经历的序列(sequence)。
[0094] 传统方式显示在各从智能体(智能体#1、#2、#3、#4)完全不共享主智能体10的经验(数据集)的状态下彼此独立地执行强化学习的结果,而本发明的方式显示在各从智能体部分共享主智能体10的经验(数据集)的状态下相互依赖地执行强化学习的结果。
[0095] 可以知道,在传统方式中,主智能体10的性能810停滞或下降,而在本发明的方式中,主智能体10的性能820稳定地提高。
[0096] 这也通过“策略迭代收敛(policy iteration convergence)”理论得以证明,该理论为,在策略固定的状态下在以遵循策略的行动学习Q函数(驾驶函数)后提高策略就能找到最佳的策略。因此,由于“策略迭代收敛”理论在利用不反映遵循主智能体10的策略的经验的从智能体的Q函数的传统方式中不成立,因此策略没有提高到最佳状态。
[0097] 图9是示出根据本发明的一个实施例的基于多智能体的强化学习系统被应用于三相PMSM(永磁同步马达(permanent magnet synchronous motor))的示例的图。
[0098] 如图9所示,根据本发明的一个实施例的基于多智能体的强化学习系统可以替代dq前馈补偿器(Feed‑forward Compensator)的功能,并且可以基于dq前馈补偿器的输出、d轴指令和q轴指令执行d轴控制和q轴控制并输出d轴控制结果和q轴控制结果。
[0099] 这样的强化学习系统为了永磁同步马达(PMSM)的电流相位关系和矢量控制,可以学习电压占空比d、q的最佳控制策略以使马达扭矩遵循目标扭矩。
[0100] 图10是示出根据本发明的一个实施例的基于多智能体的强化学习系统被应用于GEM的示例的图。
[0101] 如图10所示,根据本发明的一个实施例的基于多智能体的强化学习系统可以接收由环境马达(Gym Electric Motor,GEM)确定的五个变量(马达RPM(每分钟转数)、马达实际扭矩、目标扭矩、iq和id),以学习使扭矩误差最小化的q电压占空比(q voltage duty)和d电压占空比(d voltage duty)的输出策略。
[0102] 图11是根据本发明的一个实施例的基于多智能体的强化学习系统被应用于GEM的情况的第一性能分析图。
[0103] 如图11所示,基于单个智能体的强化学习系统(以下,传统方式)中策略曲线1101的波动性严重且不稳定,而与传统方式相比,本发明的方式中策略曲线1102的波动性不严重且稳定。
[0104] 图12是根据本发明的一个实施例的基于多智能体的强化学习系统被应用于GEM的情况的第二性能分析图。
[0105] 如图12所示,可以知道,与传统方式相比,在本发明的方式中随着噪声强度的增加,平均性能值的下降量小,并且性能值的偏差也小。因此,可以知道,即使本发明被应用于GEM,与传统方式相比,信号噪声的稳健性也能够得以保持。
[0106] 图13是根据本发明的一个实施例的基于多智能体的强化学习方法的流程图。
[0107] 首先,主智能体10在第二环境的各状态下收集数据集(1311)。
[0108] 并且,主智能体10将收集的所述数据集存储在第二缓冲器11中(1312)。
[0109] 并且,主智能体10将收集的所述数据集传送给从智能体20(1313)。
[0110] 另一方面,从智能体20在第一环境的各状态下收集数据集(1321)。
[0111] 并且,从智能体20将收集的所述数据集存储在第一缓冲器21中(1322)。
[0112] 并且,从智能体20将从主智能体10接收的数据集存储在第一缓冲器21中(1323)。
[0113] 之后,从智能体20基于存储在第一缓冲器21中的数据集学习Q函数(1324)。
[0114] 之后,从智能体20将Q函数传送给主智能体10(1325)。
[0115] 之后,主智能体10将在多个Q函数中与所述从智能体匹配的Q函数更新为从所述从智能体20接收的Q函数(1314)。这里,主智能体10可以具有所述多个Q函数。
[0116] 之后,主智能体10基于存储在第二缓冲器11中的数据集执行强化学习(1315)。
[0117] 图14是示出用于执行根据本发明的一个实施例的基于多智能体的强化学习方法的计算系统的框图。
[0118] 参照图14,上述的根据本发明的一个实施例的基于多智能体的强化学习方法可以通过计算系统实现。计算系统1000可以包括通过系统总线1200连接的至少一个处理器1100、存储器1300、用户界面输入装置1400、用户界面输出装置1500、存储装置1600以及网络接口1700。
[0119] 处理器1100可以是中央处理装置(CPU)或处理存储在存储器1300和/或存储装置1600中的指令的半导体装置。存储器1300和存储装置1600可以包括各种类型的易失性或非易失性存储介质。例如,存储器1300可以包括ROM(只读存储器)1310和RAM(随机存取存储器)1320。
[0120] 因此,有关本发明中公开的实施例中说明的方法或算法的步骤可以直接实现为由处理器1100执行的硬件、软件模块或其组合。软件模块可以驻留在诸如RAM(随机存取存储器)、闪存、ROM(只读存储器)、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、寄存器、硬盘、SSD(固态驱动器)、可拆卸磁盘、CD‑ROM(光盘只读存储器)的存储介质(即,存储器1300和/或存储装置1600)中。示例存储介质与处理器1100耦合,处理器1100可以从存储介质中读取信息并将该信息写入存储介质中。在另一种方法中,存储介质可以与处理器1100集成。处理器和存储介质可以驻留在专用集成电路(ASIC)中。该ASIC可以驻留在用户终端中。在另一种方法中,处理器和存储介质可以作为单独的组件驻留在用户终端中。
[0121] 以上的说明只是举例说明了本发明的技术思想,本领域技术人员可以在不偏离本发明的本质特征的范围内进行各种修改和变形。
[0122] 因此,本发明中公开的实施例是为了说明本发明的技术思想而提供的,而不是限制本发明的技术思想,本发明的技术思想的范围不限于这些实施例。本发明的保护范围应由所附的权利要求书来解释,所有等同范围内的技术思想都应被解释为包括在本发明的权利范围内。