通过逻辑神经网络的动作修剪的制作方法

未命名 08-15 阅读:64 评论:0

通过逻辑神经网络的动作修剪


背景技术:

1.本发明一般涉及人工学习,尤其涉及通过逻辑神经网络的动作修剪。
2.逻辑神经网络(lnn)可以使用诸如not、and、or等逻辑函数来训练。lnn具有权重、激活函数、后向函数和梯度。这种类型的结构是用于这种类型的训练的现有技术神经网络。逻辑信息通常有助于强化学习,然而没有用于集成的方法。
3.动作修剪(ap)是一种用于从马尔可夫决策过程(mdp)中动态地移除动作以减少搜索空间的分支因子的技术。然而,没有包括以下项目的ap方法:定义逻辑规则作为ap的人工输入;通过从人工输入生成的附加网络工作来计算动作候选的概率;以及使用这些概率作为q值的权重并且还在随机动作中使用。


技术实现要素:

4.根据本发明的各方面,提供了一种用于强化学习中的动作修剪的计算机实现的方法。该方法包括接收环境的当前状态。该方法还包括使用逻辑神经网络(lnn)结构基于环境的当前状态来评估逻辑推断。该方法还包括响应于对逻辑推断的评估,输出环境中的代理的一组可能动作中的每个动作的上界和下界。该方法还包括针对环境中的代理的可能动作和环境的当前状态的每一对,通过使用上界和下界来计算概率。每个计算的概率指示每个动作的相应的优先级比率。该方法还包括通过使用所计算的概率来获得针对环境的当前状态的强化学习的策略。该方法还包括修剪该组动作中的违反该策略的一个或多个动作,使得该一个或多个动作被忽略。
5.根据本发明的其他方面,提供了一种用于在强化学习中的动作修剪的计算机程序产品。计算机程序产品包括具有体现于其中的程序指令的非暂时性计算机可读存储介质。程序指令可由计算机执行以使计算机执行一种方法。该方法包括接收环境的当前状态。该方法还包括使用逻辑神经网络(lnn)结构基于环境的当前状态来评估逻辑推断。该方法还包括响应于对逻辑推断的评估,输出环境中的代理的一组可能动作中的每个动作的上界和下界。该方法还包括针对环境中的代理的可能动作和环境的当前状态中的每一对,通过使用上界和下界来计算概率。每个计算的概率指示每个动作的相应的优先级比率。该方法还包括通过使用所计算的概率来获得针对环境的当前状态的强化学习的策略。该方法还包括修剪该组动作中的违反该策略的一个或多个动作,使得该一个或多个动作被忽略。
6.根据本发明的其他方面,提供了一种用于安全强化学习的计算机处理系统。计算机处理系统包括用于存储程序代码的存储器设备。计算机处理系统还包括一个或多个硬件处理单元,用于运行程序代码以接收环境的当前状态。一个或多个硬件处理单元还运行程序代码以使用逻辑神经网络(lnn)结构基于环境的当前状态来评估逻辑推断。一个或多个硬件处理单元还运行程序代码以响应于对逻辑推断的评估,输出环境中的代理的一组可能动作中的每个动作的上界和下界。一个或多个硬件处理单元还运行程序代码以针对环境中的代理的可能动作和环境的当前状态中的每一对,通过使用上界和下界来计算概率。每个计算的概率指示每个动作的相应的优先级比率。一个或多个硬件处理单元还运行程序代码
以通过使用所计算的概率来获得针对环境的当前状态的强化学习的策略。一个或多个硬件处理单元还运行程序代码以修剪该组动作中的违反该策略的一个或多个动作,使得该一个或多个动作被忽略。
7.从以下结合附图阅读的对本发明的说明性实施例的详细描述中,这些和其它特征和优点将变得显而易见。
附图说明
8.以下描述将参考以下附图提供优选实施例的细节,其中:
9.图1是示出根据本发明实施例的示例性计算设备的框图;
10.图2是示出根据本发明实施例的可以应用本发明的示例性lnn图结构的框图;
11.图3是示出根据本发明实施例的用于向上传递的示例性伪代码的框图;
12.图4是示出根据本发明实施例的用于向下传递的示例性伪代码的框图;
13.图5是示出根据本发明的实施例的用于循环推断过程的示例性伪代码的框图;
14.图6是示出根据本发明实施例的示例性架构和对应信号的框图;
15.图7-8示出根据本发明实施例的示例性方法;
16.图9是示出根据本发明实施例的具有一个或多个云计算节点的说明性云计算环境的框图,云消费者使用的本地计算设备与云计算节点通信;以及
17.图10是示出根据本发明实施例的由云计算环境提供的一组功能抽象层的框图。
具体实施方式
18.本发明的实施例涉及通过逻辑神经网络的动作修剪。
19.本发明的一个或多个实施例定义比现有技术结构更复杂的用于不良动作的结构。
20.而且,本发明的一个或多个实施例使用可以从给定轨迹训练的逻辑神经网络(lnn)(其它逻辑框架不能被如此训练)。
21.逻辑神经网络(lnn)是同时提供神经网络(学习)和符号逻辑(推理)的关键性质的新表示。lnn可并入领域知识并支持化合物一阶逻辑公式。本发明的一个或多个实施例采用lnn来标准化知识归纳、知识表示和推理。
22.在实施例中,lnn被实现为递归神经网络的形式,其具有与加权实值逻辑的各种系统中的任何系统中的一组逻辑公式的一一对应,其中评估执行逻辑推断。设置除其它神经网络之外的lnn的特征包括(1)神经激活函数,其被限制为实现其所表示的逻辑运算的真值函数,即,∧、∨、

,以及在fol中,和(2)根据真值的边界表达的结果,以区分已知的、近似已知的、未知的以及矛盾的状态,以及(3)双向推理,例如,除了能够给定x证明y或者同样给定证明外,其允许x

y被照常评估。建模的逻辑系统的性质取决于为网络的神经元选择的激活函数的族,其实现逻辑的各种原子和运算。
23.图1是示出根据本发明的实施例的示例性计算设备100的框图。计算设备100被配置为通过逻辑神经网络(lnn)执行动作修剪(ap)。
24.计算设备100可以被体现为能够执行本文描述的功能的任何类型的计算或计算机设备,包括但不限于计算机、服务器、基于机架的服务器、刀片服务器、工作站、台式计算机、膝上型计算机、笔记本计算机、平板计算机、移动计算设备、可穿戴计算设备、网络装置、web
装置、分布式计算系统、基于处理器的系统和/或消费电子设备。附加地或替代地,计算设备100可以被实现为一个或多个计算机滑轨、存储器滑轨或其他机架、滑轨、计算机架或物理上分离的计算设备的其他部件。如图1所示,计算设备100说明性地包括处理器110、输入/输出子系统120、存储器130、数据存储设备140和通信子系统150、和/或服务器或类似计算设备中常见的其他组件和设备。当然,在其他实施例中,计算设备100可以包括其他或附加组件,诸如通常在服务器计算机中找到的组件(例如,各种输入/输出设备)。另外,在一些实施例中,一个或多个说明性组件可以被并入另一组件中,或者以其他方式形成另一组件的一部分。例如,在一些实施例中,存储器130或其部分可以被并入处理器110中。
25.处理器110可以被实现为能够执行这里描述的功能的任何类型的处理器。处理器110可以被实现为单个处理器、多个处理器、中央处理单元(cpu)、图形处理单元(gpu)、单核或多核处理器、数字信号处理器、微控制器或其他处理器或处理/控制电路。
26.存储器130可以被实现为能够执行这里描述的功能的任何类型的易失性或非易失性存储器或数据存储。在操作中,存储器130可以存储在计算设备100的操作期间使用的各种数据和软件,诸如操作系统、应用、程序、库和驱动。存储器130经由i/o子系统120通信地耦合到处理器110,该子系统可以体现为电路和/或组件以促进与处理器110、存储器130和计算设备100的其他组件的输入/输出操作。例如,i/o子系统120可以被实现为或以其他方式包括存储器控制器集线器、输入/输出控制集线器、平台控制器集线器、集成控制电路、固件设备、通信链路(例如,点对点链路、总线链路、导线、电缆、光导、印刷电路板迹线等)和/或其他组件和子系统以促进输入/输出操作。在一些实施例中,i/o子系统120可以形成片上系统(soc)的一部分,并且与处理器110、存储器130和计算设备100的其它组件一起被并入单个集成电路芯片上。
27.数据存储设备140可以被体现为被配置用于短期或长期存储数据的任何类型的一个或多个设备,例如存储器设备和电路、存储卡、硬盘驱动器、固态驱动器或其他数据存储设备。数据存储设备140可以存储用于通过逻辑神经网络(lnn)进行动作修剪(ap)的程序代码。计算设备100的通信子系统150可以被实现为能够实现计算设备100和其他远程设备之间通过网络的通信的任何网络接口控制器或其他通信电路、设备或其集合。通信子系统150可以被配置成使用任何一种或多种通信技术(例如,有线或无线通信)和相关联的协议(例如,以太网、infiniband、bluetooth、wi-fi、wimax等)来实现该通信。
28.如图所示,计算设备100还可以包括一个或多个外围设备160。外围设备160可以包括任何数量的附加输入/输出设备、接口设备和/或其他外围设备。例如,在一些实施例中,外围设备160可以包括显示器、触摸屏、图形电路、键盘、鼠标、扬声器系统、麦克风、网络接口和/或其他输入/输出设备、接口设备和/或外围设备。
29.当然,计算设备100还可以包括本领域技术人员容易想到的其他元件(未示出),以及省略某些元件。例如,如本领域普通技术人员容易理解的,取决于计算设备100的特定实现,可以在其中包括各种其他输入设备和/或输出设备。例如,可以使用各种类型的无线和/或有线输入和/或输出设备。此外,还可以利用各种配置中的附加处理器、控制器、存储器等。此外,在另一实施例中,可以使用云配置(例如,参见图9-10)。在给定了这里提供的本发明的教导的情况下,本领域的普通技术人员容易想到处理系统100的这些和其它变型。
30.如本文所使用的,术语“硬件处理器子系统”或“硬件处理器”可以指协作以执行一
个或多个特定任务的处理器、存储器(包括ram、(多个)高速缓存等)、软件(包括存储器管理软件)或其组合。在有用的实施例中,硬件处理器子系统可以包括一个或多个数据处理元件(例如,逻辑电路、处理电路、指令执行设备等)。一个或多个数据处理元件可以包括在中央处理单元、图形处理单元和/或单独的基于处理器或计算元件的控制器(例如,逻辑门等)中。硬件处理器子系统可以包括一个或多个板上存储器(例如,高速缓存、专用存储器阵列、只读存储器等)。在一些实施例中,硬件处理器子系统可以包括一个或多个存储器,其可以在板内或板外,或者可以专用于由硬件处理器子系统使用(例如,rom、ram、基本输入/输出系统(bios)等)。
31.在一些实施例中,硬件处理器子系统可以包括并执行一个或多个软件元件。一个或多个软件元素可以包括操作系统和/或一个或多个应用和/或特定代码以实现指定结果。
32.在其它实施例中,硬件处理器子系统可以包括专用的、专门的电路,其执行一个或多个电子处理功能以实现指定的结果。这种电路可以包括一个或多个专用集成电路(asic)、fpga和/或pla。
33.根据本发明的实施例,还预期硬件处理器子系统的这些和其它变化。
34.图2是示出根据本发明实施例的可以应用本发明的示例性lnn图结构200的框图。
35.lnn图结构反映了它所表示的公式。
36.在图2中,节点“须”、“尾”、


“⊕”

“→”
中的每一个具有上界值(u)和下界值(l),通常u>l。
37.例如,如果须为真,则上界值和下界值具有高值,例如~1.0。如果须为假,则上界值和下界值具有低值,例如~0.0。
38.图3是示出根据本发明实施例的用于向上传递的第一算法的示例性伪代码300的框图。
39.伪代码300对应于向上传递以推断用于子关系边界的公式真值边界。伪代码300涉及从叶向上传播边界、否定、多输入分离、以及收紧现有边界。
40.图4是示出根据本发明实施例的用于向下传递的第二算法的示例性伪代码400的框图。
41.伪代码400对应于向下传递以推断用于子公式边界的公式真值边界。伪代码400涉及否定、多输入分离、以及将边界向下传播到叶。
42.图5是示出根据本发明的实施例的用于循环推断过程的第三算法的示例性伪代码500的框图。
43.伪代码500对应于具有递归有向图遍历的循环推断过程。伪代码500涉及循环直到收敛、依次访问所有公式根、叶到根遍历和根到叶遍历。
44.现在将进一步给出关于逻辑神经网络(lnn)的描述。所有神经元返回范围0-1中的表示它们对应的子公式和命题的真值的下界和上界的值对。为了帮助边界的可解释性,定义真值的阈值1/2《α《1,使得如果连续真值大于α,则认为是真,而如果连续真值小于1-α,则认为是假。边界值标识神经元可以处于的四个主要状态之一,而次要状态提供比没有更真实(more-true-than-not)或比没有更虚假(more-false-than-not)的解释。
45.图6是示出根据本发明实施例的示例性架构600和对应信号的框图。
46.架构600包括语义分析器610、增强学习元件620、逻辑神经网络(lnn)630、lnn动作
修剪元件640和环境650。
47.语义分析器610语义分析输入代理状态。
48.强化学习元件620可以是长期短期存储器深度q网络(ltsm-dqn)。强化学习元件620是用于预测用于安全强化学习的动作候选的基本强化学习方法。
49.lnn 630用于理解安全限制的逻辑功能。
50.lnn动作修剪元件640是为了避免无用的动作。
51.环境650是代理采取动作的地方。
52.应用以下信号定义:
53.s
t
表示代理状态
54.s
t
'表示语义上被修改的代理状态
55.act
t
表示时间t处的动作
56.reward
t
表示时间t处的奖励
57.表示具有上界和下界的动作
58.表示针对动作acti并给出s

t
的可能性,
59.图7-8示出了根据本发明实施例的示例性方法700。
60.在框710,将一个或多个硬件处理单元配置为具有多个神经元和连接边缘的逻辑神经网络(lnn)结构。lnn结构的多个神经元和连接边缘与逻辑公式的系统一一对应,并且运行用于执行逻辑推断的方法。
61.在框720,针对逻辑公式的系统中的每个公式中的对应逻辑连接词(connective)配置多个神经元中的至少一个神经元。该一个神经元具有一个或多个链接连接边缘,该链接连接词边缘提供包括逻辑连接词的操作数的输入信息以及还包括被配置为实现逻辑连接词的真值函数的参数的信息。对应逻辑连接词的至少一个神经元中的每一个具有用于提供计算的对应激活函数,激活函数计算返回指示系统公式的上界和下界的一对值,或返回命题的真值。系统公式与逻辑公式的不同之处在于,系统公式具有逻辑神经元和逻辑公式中没有的激活函数。
62.在框730,针对系统公式中的公式的对应命题配置多个神经元中的至少一个其他神经元。该至少一个其他神经元具有对应于公式的一个或多个链接连接词边缘,该公式提供证明关于对应命题的真值的边界的信息以及还包括被配置为聚集最紧密边界的参数的信息。术语“聚集最紧密的边界”是指收集给定动作的最紧密的边界。
63.在框740,接收环境的当前状态。
64.在框750,使用逻辑神经网络(lnn)结构基于环境的当前状态来评估逻辑推断。
65.在框760,响应于对逻辑推断的评估,输出环境中的代理的一组可能动作中的每个动作的上界和下界。
66.在框770,针对环境中的代理的可能动作和环境的当前状态的每一对,通过使用上界和下界来计算概率,其中所计算的概率中的每一个指示每个动作的相应优先级比率。如本文所使用的,术语“优先级比率”是指用于优先采取目标动作的值。
67.在框780,通过使用所计算的概率针对环境的当前状态来获得强化学习中的策略。
68.在框790,修剪一组动作中的违反策略的一个或多个动作,使得该一个或多个动作
被忽略(在环境中不被代理执行)。
69.现在根据本发明的实施例给出关于根据lnn定义概率的描述。
70.根据逻辑神经网络(lnn)计算动作a
t
和给定状态s
t
的概率,逻辑神经网络(lnn)由人定义或根据输入状态-动作对训练。
71.例如,给定s
t
(0≤p
lnn
(a
t
|s
t
)≤1的动作概率p
lnn
(a
t
|s
t
)((p
lnn
(a
t
|s
t
))表示每个动作的优先级比率)将由以下等式计算,
[0072][0073][0074]
其中a是给定的动作列表,并且矛盾(contradiction)值表示每个逻辑规则的矛盾的级别。
[0075]
策略将在q值和探索方面遵循概率p
lnn
(a
t
|s
t
)。这意味着该策略利用概率来采取动作,例如,如果(p
lnn
(a|s
t
))为高,则a
t
在探索和基于q值的利用期间具有高的概率。
[0076]
例如,策略是如下使用深度q网络:
[0077][0078]
其中,∈是ε贪婪参数,ζ是当前随机值。
[0079]
现在给出关于根据本发明使用的lnn的可能需求的描述。
[0080]
每个神经元(由命题表示)需要具有上界和下界,这些被连接到具有激活函数和权重值的逻辑连接运算符(and、or、imply门)。
[0081]
输入层具有针对状态输入(在本发明中,这些是每个环境状态输入的逻辑状态)的一些命题,隐藏层具有逻辑运算符(这些具有一些权重值),输出层具有针对动作的一些命题。
[0082]
输出层不需要根据强化学习的输出来设置动作值。输出层的输出(即lnn的输出)用于选择动作(不仅拒绝,而且推荐)。
[0083]
需要设置所有动作的命题以计算动作值。
[0084]
参数(即,权重和偏置值)在执行期间是可训练的。
[0085]
现在给出关于根据本发明的实施例的动作修剪的进一步描述。
[0086]
令与lnn-屏蔽方法中的定义相同。lnn-指南提供了用于针对每个状态输入推荐动作的概率。通过以下计算概率:
[0087]
[0088][0089]
其中,a是用于计算概率的目标动作,并且a是所有动作。值v(a;s
t
)表示针对命题的真值的级别同时低估矛盾值。
[0090]
在强化学习中,策略遵循在lstmdqn++中利用ε贪婪算法计算的概率。根据本发明的一个或多个实施例,通过以下选择动作a
t

[0091][0092]
其中,ζ是ε贪婪的当前随机值,根据概率p采取动作。在该等式中,基于q值和来自lnn-指南的动作概率选择动作。以与强化学习方法中相同的方式执行奖励信号的训练步骤。
[0093]
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
[0094]
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,该可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
[0095]
特征如下:
[0096]
按需自助:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者进行人工交互。
[0097]
广域网接入:能力在网络上可用,并且通过促进由异构的薄或厚客户端平台(例如,移动电话、膝上型计算机和pda)使用的标准机制来访问。
[0098]
资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。
[0099]
快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
[0100]
测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监测、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明性。
[0101]
服务模型如下:
[0102]
软件即服务(saas):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用程序可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户机界面从各种客户机设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。
[0103]
平台即服务(paas):提供给消费者的能力是将消费者创建或获取的应用部署到云
基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
[0104]
基础设施即服务(iaas):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
[0105]
部署模型如下:
[0106]
私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
[0107]
社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
[0108]
公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
[0109]
混合云:云基础设施是两个或更多云(私有、共同体或公共)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
[0110]
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
[0111]
现在参考图9,描绘了说明性云计算环境950。如图所示,云计算环境950包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点910,本地计算设备例如个人数字助理(pda)或蜂窝电话954a、台式计算机954b、膝上型计算机954c和/或汽车计算机系统954n。节点910可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境950提供云消费者不需要为其维护本地计算设备上的资源的基础设施、平台和/或软件即服务。应当理解,图9中所示的计算设备954a-n的类型仅旨在说明,并且计算节点910和云计算环境950可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。
[0112]
现在参考图10,示出了由云计算环境950(图9)提供的一组功能抽象层。应当预先理解,图10中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
[0113]
硬件和软件层1060包括硬件和软件组件。硬件组件的示例包括:主机1061;基于risc(精简指令集计算机)架构的服务器1062;服务器1063;刀片服务器1064;存储装置1065;以及网络和联网组件1066。在一些实施例中,软件组件包括网络应用服务器软件1067和数据库软件1068。
[0114]
虚拟化层1070提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器1071;虚拟存储器1072;虚拟网络1073,包括虚拟专用网络;虚拟应用和操作系统1074;以及虚拟客户端1075。
[0115]
在一个示例中,管理层1080可以提供以下描述的功能。资源供应1081提供对被用来在云计算环境内执行任务的计算资源和其他资源的动态采购。计量和定价1082提供了在云计算环境中利用资源时的成本跟踪,以及用于消耗这些资源的记帐或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户1083为消费者和系统管理员提供对云计算环境的访问。服务级别管理1084提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(sla)规划和履行1085提供对云计算资源的预安排和采购,其中根据sla预期未来需求。
[0116]
工作负载层1090提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:地图绘制和导航1091;软件开发和生命周期管理1092;虚拟教室教育传送1093;数据分析处理1094;交易处理1095;lnn 1096的安全强化学习。
[0117]
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),计算机可读程序指令用于使处理器执行本发明的各方面。
[0118]
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
[0119]
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
[0120]
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,例如smalltalk、c++等,以及常规的过程编程语言,例如“c”编程语言或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用
计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
[0121]
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
[0122]
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
[0123]
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
[0124]
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所提及的功能可不按图中所提及的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
[0125]
说明书中对本发明的“一个实施例”或“实施例”及其它变型的引用意味着结合该实施例描述的特定特征、结构、特性等被包括在本发明的至少一个实施例中。因此,在整个说明书中的各个地方出现的短语“在一个实施例中”或“在实施例中”以及任何其它变型的出现不一定都指相同的实施例。
[0126]
应当理解,例如在“a/b”、“a和/或b”以及“a和b中的至少一个”的情况下,使用以下“/”、“和/或”以及“中的至少一个”中的任何一个旨在涵盖仅对第一列出的选项(a)的选择、或仅对第二列出的选项(b)的选择、或对两个选项(a和b)的选择。作为进一步的例子,在“a、b和/或c”和“a、b和c中的至少一个”的情况下,这样的措词旨在包括仅选择第一个列出的选项(a),或者仅选择第二个列出的选项(b),或者仅选择第三个列出的选项(c),或者仅选择第一个和第二个列出的选项(a和b),或者仅选择第一个和第三个列出的选项(a和c),或者仅选择第二个和第三个列出的选项(b和c),或者选择所有三个选项(a和b和c)。这可以扩展到所列的许多项目,这对于本领域和相关领域的普通技术人员来说是显而易见的。
[0127]
描述了系统和方法的优选实施例(其旨在说明而非限制),注意到本领域技术人员根据上述教导可以进行修改和变化。因此,应当理解,可以在所公开的特定实施例中进行改变,这些改变在由所附权利要求概括的本发明的范围内。因此,用专利法所要求的细节和特性描述了本发明的各方面,在所附权利要求中阐述了所要求保护的和期望由专利证书保护
的内容。

技术特征:
1.一种用于强化学习中的动作修剪的计算机实现的方法,包括:接收环境的当前状态;使用逻辑神经网络(lnn)结构基于所述环境的当前状态来评估逻辑推断;响应于对所述逻辑推断的评估,输出所述环境中的代理的一组可能动作中的每个动作的上界和下界;针对所述环境中的所述代理的可能动作和所述环境的当前状态中的每一对,通过使用所述上界和所述下界来计算概率,其中,所计算的概率中的每一个指示针对每个动作的相应的优先级比率;通过使用所计算的概率得到所述环境的所述当前状态的强化学习的策略;以及修剪所述一组动作中的违反所述策略的一个或多个动作,使得所述一个或多个动作被忽略。2.根据权利要求1所述的计算机实现的方法,其中,由人定义所述环境中的所述代理的可能动作和所述环境的当前状态中的每一对。3.根据权利要求1所述的计算机实现的方法,其中,根据输入状态-动作对来训练所述环境中的所述代理的可能动作和所述环境的当前状态中的每一对。4.根据权利要求1所述的计算机实现的方法,其中,进一步通过使用逻辑规则矛盾值来通过使用所述上界和所述下界计算所述概率,所述逻辑规则矛盾值中的每一个表示与所述lnn相关联的多个逻辑规则中的每一个的矛盾水平。5.根据权利要求4所述的计算机实现的方法,其中,矛盾包括具有比上界值更高的下界值。6.根据权利要求1所述的计算机实现的方法,响应于所述策略在所述环境中执行探索。7.根据权利要求1所述的计算机实现的方法,还包括使用真值阈值1/2<α<1来帮助界可解释性,使得如果连续真值大于α则认为所述连续真值是真,而如果连续真值小于1-α则认为所述连续真值是假。8.根据权利要求1所述的计算机实现的方法,还包括将所述一个或多个硬件处理单元配置为具有多个神经元和连接边缘的所述lnn结构,所述lnn结构的所述多个神经元和连接边缘与逻辑公式的系统一一对应并且运行用于执行动作安全性逻辑推断的方法,其中,所述多个神经元中的至少一个神经元与所述逻辑公式的系统中的每个公式中的对应逻辑连接词相关,所述至少一个神经元具有一个或多个链接连接词边缘,所述链接连接词边缘提供包括所述对应逻辑连接词的操作数的输入信息和还包括被配置为实现所述对应逻辑连接词的真函数的参数的信息,其中,所述至少一个神经元中的每个神经元具有用于提供计算的对应激活函数,并且其中,激活函数计算返回指示系统公式中的公式的上界和下界的一对值,或者返回所述系统公式中的公式的命题的真值。9.根据权利要求8所述的计算机实现的方法,其中,所述多个神经元中的至少一个其他神经元与所述命题相关,所述至少一个其他神经元具有与公式相对应的一个或多个链接连接词边缘,所述公式提供证明所述对应命题的真值的上界和下界的信息以及进一步包括被配置为聚集最紧界的参数的信息。10.一种计算机程序产品,用于强化学习中的动作修剪,所述计算机程序产品包括非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质具有随其体现的程序指令,
所述程序指令可由计算机执行以使所述计算机执行方法,所述方法包括:接收环境的当前状态;使用逻辑神经网络(lnn)结构基于所述环境的当前状态来评估逻辑推断;响应于对所述逻辑推断的评估,输出所述环境中的代理的一组可能动作中的每个动作的上界和下界;针对所述环境中的所述代理的可能动作和所述环境的所述当前状态中的每一对,通过使用所述上界和所述下界来计算概率,其中,所计算的概率中的每一个指示针对每个动作的相应的优先级比率;通过使用所计算的概率得到所述环境的所述当前状态的强化学习的策略;以及修剪所述一组动作中的违反所述策略的一个或多个动作,使得所述一个或多个动作被忽略。11.根据权利要求10所述的计算机程序产品,其中,由人定义所述环境中的所述代理的可能动作和所述环境的当前状态中的每一对。12.根据权利要求10所述的计算机程序产品,其中,根据输入状态-动作对来训练所述环境中的所述代理的可能动作和所述环境的当前状态中的每一对。13.根据权利要求10所述的计算机程序产品,其中,进一步通过使用逻辑规则矛盾值来通过使用所述上界和所述下界计算所述概率,所述逻辑规则矛盾值中的每一个表示与所述lnn相关联的多个逻辑规则中的每一个的矛盾水平。14.根据权利要求13所述的计算机程序产品,其中,矛盾包括具有比上界值更高的下界值。15.根据权利要求10所述的计算机程序产品,响应于所述策略在所述环境中执行探索。16.根据权利要求10所述的计算机程序产品,还包括使用真值阈值1/2<α<1来帮助界可解释性,使得如果连续真值大于α则认为所述连续真值是真,而如果连续真值小于1-α则认为所述连续真值是假。17.根据权利要求10所述的计算机程序产品,还包括将所述一个或多个硬件处理单元配置为具有多个神经元和连接边缘的所述lnn结构,所述lnn结构的所述多个神经元和连接边缘与逻辑公式的系统一一对应并且运行用于执行动作安全性逻辑推断的方法,其中,所述多个神经元中的至少一个神经元与所述逻辑公式的系统中的每个公式中的对应逻辑连接词相关,所述至少一个神经元具有一个或多个链接连接词边缘,所述链接连接词边缘提供包括所述对应逻辑连接词的操作数的输入信息和还包括被配置为实现所述对应逻辑连接词的真函数的参数的信息,其中,所述至少一个神经元中的每个神经元具有用于提供计算的对应激活函数,并且其中,激活函数计算返回指示系统公式中的公式的上界和下界的一对值,或者返回所述系统公式中的公式的命题的真值。18.一种用于安全强化学习的计算机处理系统,包括:用于存储程序代码的存储器设备;一个或多个硬件处理单元,用于运行程序代码以:接收环境的当前状态;使用逻辑神经网络(lnn)结构基于所述环境的当前状态来评估逻辑推断;响应于对所述逻辑推断的评估,输出所述环境中的代理的一组可能动作中的每个动作
的上界和下界;针对所述环境中的所述代理的可能动作和所述环境的当前状态中的每一对,通过使用所述上界和所述下界来计算概率,其中,所计算的概率中的每一个指示针对每个动作的相应的优先级比率;通过使用所计算的概率得到所述环境的所述当前状态的强化学习的策略;以及修剪所述一组动作中的违反所述策略的一个或多个动作,使得所述一个或多个动作被忽略。19.根据权利要求18所述的计算机处理系统,其中,由人定义所述环境中的所述代理的可能动作和所述环境的当前状态中的每一对。20.根据权利要求18所述的计算机处理系统,其中,根据输入状态-动作对来训练所述环境中的所述代理的可能动作和所述环境的当前状态中的每一对。

技术总结
用于强化学习中的动作修剪的方法接收环境的当前状态。该方法使用逻辑神经网络(LNN)结构基于当前状态评估逻辑推断。该方法响应于逻辑推断的评估,输出环境中的代理的一组可能动作中的每个动作的上界和下界。该方法通过使用上界和下界针对环境中的代理的可能动作和当前状态的每一对计算概率。每个计算的概率指示每个动作的相应优先级比率。该方法通过使用所计算的概率来获得当前状态的强化学习中的策略。该方法修剪该组动作中违反策略的一个或多个动作,使得该一个或多个动作被忽略。使得该一个或多个动作被忽略。使得该一个或多个动作被忽略。


技术研发人员:木村大毅 和地瞭良 S
受保护的技术使用者:国际商业机器公司
技术研发日:2021.10.22
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐