CN110732137B - 对深度学习网络的注意力的持续控制 - Google Patents
对深度学习网络的注意力的持续控制 Download PDFInfo
- Publication number
- CN110732137B CN110732137B CN201910654581.3A CN201910654581A CN110732137B CN 110732137 B CN110732137 B CN 110732137B CN 201910654581 A CN201910654581 A CN 201910654581A CN 110732137 B CN110732137 B CN 110732137B
- Authority
- CN
- China
- Prior art keywords
- control
- observation
- value function
- action
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/08—Computing arrangements based on specific mathematical models using chaos models or non-linear system models
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Nonlinear Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Feedback Control In General (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
一种用于通过实现对深度学习网络的注意力的连续控制来降低与由计算机系统执行的机器学习任务相关联的计算成本的计算机实现的方法包括:初始化控制‑值函数、观察‑值函数以及与当前情节相关联的状态序列。如果与当前情节相关联的当前周期是奇数,则选择观察动作,执行观察动作以观察部分图像,并且基于部分图像和控制‑值函数更新观察‑值函数。如果当前周期是偶数,则选择控制动作,执行控制动作以获得与控制动作对应的回报,并且基于回报和观察‑值函数更新控制‑值函数。
Description
技术领域
本发明一般涉及机器学习和人工智能,并且更具体地,涉及实现对深度学习网络的注意力的持续控制。
背景技术
深度学习是机器学习领域中的新兴框架。深度学习网络可用于从原始感知(sensory)数据中提取高级特征,该特征可应用于人工智能领域的各种应用。例如,深度学习网络可以采用深度堆叠神经网络(例如,卷积神经网络或CNN)。
发明内容
根据本发明的实施例,提供了一种用于通过实现对深度学习网络的注意力的持续控制来降低与由计算机系统执行的机器学习任务相关联的计算成本的方法。该方法包括:由可操作地耦接到存储器的至少一个处理器初始化控制-值函数、观察-值函数和与当前情节(episode)相关联的状态序列。如果当前周期(epoch)在当前情节中是奇数,则该至少一个处理器选择观察动作,执行观察动作以观察部分图像,并基于部分图像和控制-值函数更新观察-值函数。如果当前周期是偶数,则该至少一个处理器选择控制动作,执行控制动作以获得与控制动作对应的回报,并基于回报和观察-值函数更新控制-值函数。
根据本发明的另一个实施例,提供了一种用于通过实现对深度学习网络的注意力的持续控制来降低与由计算机系统执行的机器学习任务相关联的计算成本的系统。该系统包括用于存储程序代码的存储器设备和可操作地耦接到存储器设备的至少一个处理器。该至少一个处理器被配置为执行存储在存储器设备上的程序代码,以初始化控制-值函数、观察-值函数和与当前情节相关联的状态序列。如果当前情节的当前周期是奇数,则该至少一个处理器被配置为选择观察动作,执行观察动作以观察部分图像,并且基于部分图像和控制-值函数更新观察-值函数。如果当前周期是偶数,则该至少一个处理器被配置为选择控制动作,执行控制动作以获得与控制动作对应的回报,并且基于回报和观察-值函数更新控制-值函数。
根据本发明的另一个实施例,提供了一种计算机程序产品。该计算机程序产品包括具有体现在其中的程序代码的非暂态计算机可读存储介质。程序代码可由计算机执行以使计算机通过实现对深度学习网络的注意力的持续控制来执行用于降低与由计算机系统执行的机器学习任务相关联的计算成本的方法。由计算机执行的方法包括初始化控制-值函数和观察-值函数,以及与当前情节相关联的状态序列。如果当前情节的当前周期是奇数,则该方法进一步包括选择观察动作,执行观察动作以观察部分图像,以及基于观察动作和控制-值函数更新观察-值函数。如果当前周期是偶数,则该方法进一步包括选择控制动作,执行控制动作以获得与控制动作对应的回报,以及基于回报和观察-值函数更新控制-值函数。
从以下结合附图来阅读的这些和其它特征和优点的说明性实施例的详细描述中,这些和其它特征和优点将变得显而易见。
附图说明
以下描述将参考以下附图提供优选实施例的细节,在附图中:
图1是根据本发明的实施例的处理系统的框图;
图2是示出根据实施例的具有一个或多个云计算节点的说明性云计算环境的框图,云的消费者使用的本地计算设备与该云计算节点通信;
图3是示出根据一个实施例的由云计算环境提供的一组功能抽象层的框图;
图4示出了根据本发明实施例的比较不同类型的马尔可夫决策过程(MDP)的图;以及
图5是示出根据本发明实施例的用于通过实现对深度学习网络的注意力的持续控制来降低与由计算机系统执行的机器学习任务相关联的计算成本的系统/方法的框图/流程图;
图6示出了根据本发明实施例的用于通过实现对深度学习网络的注意力的持续控制来降低与由计算机系统执行的机器学习任务相关联的计算成本的系统/方法的示例性应用;
图7示出了根据本发明的实施例的在图6的示例性应用期间选择的观察动作;以及
图8示出了根据本发明的实施例的基于在图7中所选择的观察动作而选择的控制动作。
具体实施方式
可以不期望与深度学习方法相关联的计算成本与连接中单元的数量成比例。在此描述的实施例提供了用于实现深度学习网络以提供注意力的持续控制的系统和方法。在此描述的实施例可以控制同时对部分图像的掩蔽(masking)(例如,注意力)和动作。掩蔽可以对应于观察动作,并且控制可以对应于控制动作。因此,在此描述的实施例提供了并行控制方案,该方案可以由人工智能代理(agent)或在执行人工智能任务的代理来实现。说明性地,代理可以是用于执行玩视频游戏的人工智能任务的视频游戏代理。
例如,观察动作可以对应于屏幕的子区域的选择,用于获得与子区域对应的屏幕的部分图像。控制动作可以对应于动作的选择(例如,向上、向下或停留)。观察-值函数可以将包括观察动作和状态的对映射到第一累积回报,控制-值函数可以将包括控制动作和状态的对映射到第二累积回报。第一和第二累积回报可以对应于通过分别从对应状态获取观察动作和控制动作而获得的相应真实值。该状态可以说明性地表示为先前观察动作序列、观察到的部分图像和控制动作的特征向量。
在此描述的实施例可以应用于可以实现深度学习的人工智能和机器学习领域中的各种现实问题。在此描述的实施例可以通过在确定要采取的最优动作(例如,在视频游戏中)中观察部分图像而非整个图像来减少与实现深度学习网络相关联的计算成本。
现在参考附图,其中相同的数字表示相同或相似的元件,并且首先参考图1,根据一个实施例示出了可以应用本发明的示例性处理系统100。处理系统100包括至少一个处理器(CPU)104,其经由系统总线102可操作地耦接到其它组件。高速缓存106、只读存储器(ROM)108、随机存取存储器(RAM)110、输入/输出(I/O)适配器120、声音适配器130、网络适配器140、用户接口适配器150和显示适配器160可操作地耦接到系统总线102。
第一存储设备122和第二存储设备124通过I/O适配器120可操作地耦接到系统总线102。存储设备122和124可以是任何盘存储设备(例如,磁盘存储设备或光盘存储设备)、固态磁设备等。存储设备122和124可以是相同类型的存储设备或不同类型的存储设备。
扬声器132通过声音适配器130可操作地耦接到系统总线102。收发机142通过网络适配器140可操作地耦接到系统总线102。显示设备162通过显示适配器160可操作地耦接到系统总线102。
第一用户输入设备152、第二用户输入设备154和第三用户输入设备156通过用户接口适配器150可操作地耦接到系统总线102。用户输入设备152、154和156可以是键盘、鼠标、小键盘、图像采集设备、运动感测设备、麦克风、合并至少两个前述设备的功能的设备等中的任何一个。当然,也可以使用其它类型的输入设备,同时保持本发明的精神。用户输入设备152、154和156可以是相同类型的用户输入设备或不同类型的用户输入设备。用户输入设备152、154和156用于向系统100输入信息和从系统100输出信息。
机器学习组件170可以可操作地耦接到系统总线102。机器学习组件170被配置为执行下面参考图4和图5描述的一个或多个操作。机器学习组件170可以实现为独立的专用硬件设备,或者可以实现为存储在存储设备上的软件。在机器学习组件170是软件实现的实施例中,尽管异常检测器被示为计算机系统100中的单独组件,但是机器学习组件170可以存储在例如第一存储设备122和/或第二存储设备129上。可替代地,机器学习组件170可以存储在单独的存储设备(未示出)上。
当然,如本领域技术人员容易想到的,处理系统100还可以包括其它元件(未示出),并且省略某些元件。例如,各种其它输入设备和/或输出设备可以包括在处理系统100中,这取决于其特定实施方式,如本领域普通技术人员容易理解的。例如,可以使用各种类型的无线和/或有线输入和/或输出设备。此外,如本领域普通技术人员容易理解的,还可以使用各种配置中的附加处理器、控制器、存储器等。鉴于在此提供的本发明的教导,本领域普通技术人员容易想到处理系统100的这些和其它变型。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图2,其中显示了示例性的云计算环境250。如图所示,云计算环境250包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点210,本地计算设备例如可以是个人数字助理(PDA)或移动电话254A,台式电脑254B、笔记本电脑254C和/或汽车计算机系统254N。云计算节点210之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点210进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境150提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备254A-N仅仅是示意性的,云计算节点210以及云计算环境250可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图3,其中显示了云计算环境250(图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
硬件和软件层360包括硬件和软件组件。硬件组件的例子包括:主机361;基于RISC(精简指令集计算机)体系结构的服务器362;服务器363;刀片服务器364;存储设备365;网络和网络组件366。软件组件的例子包括:网络应用服务器软件367以及数据库软件368。
虚拟层370提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器371、虚拟存储372、虚拟网络373(包括虚拟私有网络)、虚拟应用和操作系统374,以及虚拟客户端375。
在一个示例中,管理层380可以提供下述功能:资源供应功能381:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能382:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能383:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能384:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能385:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层390提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航391;软件开发及生命周期管理392;虚拟教室的教学提供393;数据分析处理394;交易处理395;以及机器学习396。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
说明书中对本发明的“一个实施例”或“实施例”及其其它变型的引用意味着结合该实施例描述的特定特征、结构、特性等包括在本发明的至少一个实施例中。因此,在整个说明书中出现在各个地方的短语“在一个实施例中”或“在实施例中”以及任何其它变型的出现不一定都指代相同的实施例。
应当理解,例如,在“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)。如本领域和相关领域的普通技术人员显而易见的,这可以扩展用于所列出的多个项。
通常,马尔可夫决策过程(MDP)对在结果(outcome)是部分随机的并且部分地受到至少一个决策者或代理的控制的情况下作出的决策进行建模。更具体地,MDP可以被认为是离散时间随机控制过程,其中在每个时间步(time step)或周期,过程处于环境的当前状态,代理可以采取状态中可用的动作,并且过程进入一种新的环境状态,并提供与采取的动作对应的即时回报(或成本)。目标是选择包括使代理与环境交互的最优动作序列的策略(例如,策略最大化累积回报)。MDP问题的可行解决方案可以通过采用机器学习技术(例如,线性/动态编程和强化学习)来获得,并且可以由人工智能系统用于选择针对给定任务所采取的最优动作。
现在参考图4,提供了示出实现顺序部分可观察MDP(SPOMDP)的系统400的框图/流程图。实际上,SPOMDP在计算上难以解决,因此计算机实现的方法用于生成对SPOMDP的近似解。
如图所示,系统400包括环境410和观察者代理420以及行动器(actor)代理430。观察者代理420选择最有助于行动器代理430的状态-动作值函数的观察-动作并与行动器代理430共享观察动作。行动器代理430从观察者代理420接收观察动作,对环境410执行控制动作,并且响应于控制动作从环境410接收回报。尽管系统表示多代理系统,其中行动器代理430被示为与观察者代理420分开的代理,但在另一实施例中,行动器代理430和观察者代理420的功能可以使用单个代理来实现。
参考图5,提供了框图/流程图500,其示出了根据本发明实施例的用于通过实现对深度学习网络的注意力的连续控制来降低计算成本的系统/方法的概述。
在框502处,控制存储器Da和观察存储器Do被各自初始化。控制存储器Da和观察存储器Do可以被各自初始化为给定容量N。在一个实施例中,控制存储器Da包括控制重玩存储器,观察存储器Do包括观察重玩存储器,这可以与由人工智能系统正在玩的视频游戏相关联。控制存储器和观察存储器可以体现在单独的存储器设备中,或者可以体现在单个存储器设备中。
在框504处,控制-值函数Qa和观察-值函数Qo被各自初始化。控制-值函数Qa和观察-值函数Qo可以采用对应的权重初始化。权重可以在期望的值内随机选择。例如,可以基于随机数函数来选择权重,该随机数函数可以被归一化以基于输入的数量来校准方差。关于权重初始化的进一步细节将不在此描述。
在框506处,初始化与情节对应的计数器m。情节在代理启动机器学习任务时开始,并且在机器学习任务结束时终结,并且当代理再次启动机器学习任务时开始下一情节。例如,在视频游戏任务的上下文中,情节在代理开始玩视频游戏时开始,并且在视频游戏结束时终结,并且当代理从头开始玩视频游戏时开始下一情节。
在框508处,初始化并预处理针对情节的状态序列st={x},其中t对应于情节m的时间步或周期。例如,假设时期m包括T个时间步或周期。状态序列st指的是机器学习任务的状态的历史。例如,在视频游戏的上下文中,针对情节的状态序列st指的是视频游戏的状态的历史。因此,状态序列可以被初始化为空序列(例如,对应于无序列),或者长度为1的序列,其包括机器学习任务的初始状态(例如,视频游戏的初始状态)。在一个实施例中,预处理状态序列包括创建与状态序列st对应的特征向量φ(例如,φ=φ(st))。
在框510处,初始化对应于周期的计数器t。
在框512处,如果t是奇数(例如,通过确定t≡1(mod 2)),则选择观察动作ot并且选择或更新观察-值函数Qo,如果t是偶数(例如,通过确定t≡0(mod 2)),则选择控制动作at并选择或更新控制-值函数Qa。
以下是在框512处可以如何选择观察动作ot并且可以如何更新观察-值函数Qo的说明性示例。
在一个实施例中,观察动作ot可以被选择为随机观察动作。例如,观察动作ot可以被选择为具有概率∈1的随机观察动作ot。∈1是具有在机器学习任务开始之前设置的值的参数(例如,超参数)。可以基于例如域知识、验证、试验和误差等来设置∈1的值。在一个实施例中,ε的值可以从约0.01至约0.1变化。然而,可以根据在此描述的实施例设置任何合适的∈1的值。另外,∈1的值可以被初始化为相对大的值(例如,0.1),并且随着完成的情节的数量增加而逐渐减小。
在另一个实施例中,观察动作ot可以被选择为与观察-值函数Qo的最大值对应的观察动作(例如,最优观察动作)。例如,观察动作ot可以被选择为其中θo是指观察-值函数Qo的参数。当观察-值函数Qo对应于深度网络时,θo是指深度网络的参数。
在一个实施例中,在框512处更新观察-值函数Qo包括执行观察动作ot,并观察与下一个状态序列对应的部分图像xt+1。部分图像xt+1可以对应于显示图像的屏幕的子区域。例如,可以使用仿真器来执行观察动作ot,并且可以通过基于控制-值函数计算累积回报来更新观察-值函数Qo。然后下一个状态序列可以被设置为st+1=st,ot,xt+1并被预处理以创建特征向量φt+1=φ(st+1)。状态序列之间的对应过渡(φt,ot,φt+1)可以存储在观察存储器Do中。
可以从观察存储器Do中采样随机的一批过渡(φj,oj,φj+1),其中j=1,……,Bo,并且Bo是从观察存储器Do采样的数据集的大小。对于每个j,可以设置累积回报yj。在一个实施例中,其中γ=[0,1]对应于确定立即回报与延迟回报(more distant reward)的相对比例的折扣因子,而表示在所有可能的控制动作a′上的Qa(φj+1,a′;θo)的最大值。Qa(φj+1,a′;θo)是通过在步骤j+1处采取控制动作a′可以从步骤j+1获得的累积回报的估计,并且是通过在步骤j+1处采取最优控制动作可以从步骤j+1获得的累积回报的估计。由于在步骤j处采取观察动作没有获得回报,是对可以从步骤j获得的累积回报的估计,其中未来的回报由γ折算。
可以基于针对每个j的累积回报yj执行优化步骤以更新观察-值函数Qo。在一个实施例中,对于每个j,可以基于每个累积回报yj与观察-值函数Qo中对应于第j个观察oj的值之间的平方差之和来执行优化步骤。例如,可以对函数f(θo)=∑j(yj-Qo(φj,oj;θo))2执行优化步骤。
说明性地,可以通过调整θ的值来最小化f(θo)=∑j(yj-Qo(φj,oj;θo))2。为此,在一个实施例中,优化步骤包括执行梯度下降方法。例如,相对于参数θ的梯度下降如下:
以下是如何选择控制动作at并更新控制-值函数Qa的说明性示例。在一个实施例中,可能的控制动作的空间是先验的。在视频游戏的上下文中,可以通过视频游戏的规则给出控制动作。例如,控制动作可以是“按压向上按钮”。
在一个实施例中,控制动作at可以被选择为具有概率∈2的随机控制动作at。∈2是具有在机器学习任务开始之前设置的值的参数(例如,超参数),其可以具有与上述参数∈1相同的值或不同的值。
在另一个实施例中,控制动作at可以被选择为与控制-值函数的最大值对应的控制动作(例如,最优控制动作)。例如,控制动作at可以被选择为其中θa是指控制-值函数的参数。当控制-值函数对应于深度网络时,θa是指深度网络的参数。
在一个实施例中,在框512处更新控制-值函数包括执行控制动作at(例如,使用仿真器)。不是观察通过所选的观察动作ot所观察到的部分图像xt+1,而是观察与所选的控制动作at对应的回报rt。然后,下一个状态序列可以被设置为st+1=st,at,并被预处理以创建特征向量φt+1=φ(st+1)。状态序列之间的对应过渡(φt,at,rt,φt+1)可以存储在控制存储器Da中。
可以从控制存储器Da采样随机的一批过渡(φj,aj,rj,φj+1),其中j=1,……,Ba,并且Ba是从控制存储器Da采样的数据集的大小。Ba的值可以是与上述Bo的值相同的值或不同的值。
对于每个j,可以设置累积回报yj。在一个实施例中,回报yj确定如下:
其中,终点φj+1对应于终点状态(例如,不能从该状态执行动作),非终点φj+1对应于非终点状态(例如,动作可以从该状态执行),γ=[0,1]对应于确定立即回报优于更远回报多大的折扣因子,并且表示所有可能的观察动作o′上的Qo(φj+1,o′;θo)的最大值。
在一个实施例中,可能的观察动作的空间是先验的。在视频游戏的上下文中,可以将屏幕划分为用于合适的整数值n的n×n网格,并且每个n2子区域可以对应于相应的观察动作。
可以基于针对每个j的回报yj执行优化步骤以更新控制-值函数Qa。在一个实施例中,对于每个j,可以基于每个累积回报yj与对应于第j个观察aj的控制-值函数Qa的值之间的平方差之和来执行优化步骤。例如,可以对函数f(θa)=∑j(yj-Qa(φj,aj;θa))2执行优化步骤。
说明性地,可以通过调整θa的值来最小化f(θa)=∑j(yj-Qo(φj,oj;θa))2。为此,在一个实施例中,优化步骤包括执行梯度下降方法。例如,关于参数θa的梯度下降如下:
因此,在框512处,观察动作和控制动作的选择在周期之间交替,其中,基于控制-值函数更新观察-值函数,并且基于观察-值函数更新控制-值函数。
在框514处,更新计数器t并且在框516处确定t是否大于最大值T。如果不是,则该过程返回到框512。
如果t大于T,则意味着情节中没有剩余的周期。在框518处更新计数器m,并且在框520处确定m是否大于最大值M。如果不是,则该过程返回到框508以初始化后续情节的状态序列。如果m大于M,则意味着没有剩余机器学习任务的情节,并且该过程结束。
现在参考图6,提供示例性视频游戏600,其示出了在此描述的实施例的应用的示例。如图所示,游戏600在网格环境中播放,可以随机生成该网格环境。提供网格环境610的至少一部分,在该说明性示例中,其对应于6×6单元网格。如图所示,网格环境610的该至少一部分包括可通过的开放空间612和不可通过的封闭空间614。
示出游戏600包括至少两个彼此战斗的玩家620a和620b。游戏600的目的是围绕网格环境移动以使用可以在每个开放空间612处埋下的地雷来淘汰对方玩家。可以将地雷设置为在一定数量的周期或回合(例如5回合)之后爆炸。
玩家620a和620b中的至少一个玩家的动作可以由人工智能代理(“代理”)选择。为了说明起见,将假设玩家620a的动作由代理利用在此描述的实施例来选择。例如,代理可以选择观察动作和控制动作来进行选择。代理可以在每个回合中选择的控制动作包括上、左、下、右、攻击(埋下地雷)和略过(跳过当前回合)。
参考图7,为了获得可用于选择控制动作的网格环境的观察,与玩家620a对应的代理根据在此描述的实施例选择观察动作以观察玩家620a周围的子区域710。如图所示,子区域710是4×4单元网格。但是,不应将该子区域的大小和位置视为限制性的。
参考图8,与玩家620a对应的代理基于对子区域710进行的观察来选择控制动作。在该说明性示例中,与玩家620a对应的代理已经选择了左的控制动作以移动到在子区域710中左侧相邻的可通行空间。然后,玩家620a已经完成他的回合。
在轮到玩家620b之后,与玩家620a对应的代理可以选择下一个观察动作以获得与网格环境中的不同子区域对应的下一个观察(其可以具有与子区域710不同的大小和位置),并基于下一个观察选择下一个控制动作。
除了上文中的视频游戏实施例之外,在此描述的实施例可以应用于可以采用观察动作和控制动作的任何合适的人工智能或机器学习任务。例如,本发明的各方面可以应用于在例如自主车辆控制、机器人控制、医疗保健、遥感等领域中实现人工智能系统。
在此描述的实施例允许人工智能代理以近似最优的方式选择观察动作和控制动作。通过一次仅观察环境的一个子区域,减少了由代理执行的动作选择过程的计算复杂度。通过选择和观察合适的部分图像(例如,子区域),代理可以获取用于选择将要采取的合适的控制动作的信息。
已经描述了用于连续控制深度学习网络的注意力的系统和方法的优选实施例(其旨在是说明性的而非限制性的),应注意,本领域技术人员可以根据上述教导进行修改和变化。因此,应该理解,可以在所公开的特定实施例中进行改变,这些改变在所附权利要求所概述的本发明的范围内。因此,已经采用专利法所要求的细节和独特性描述了本发明的各方面,在所附权利要求中阐述了专利证书所要求保护和期望保护的内容。
Claims (12)
1.一种用于通过实现对深度学习网络的注意力的持续控制来降低与由计算机系统所执行的机器学习任务相关联的计算成本的计算机实现的方法,包括:
由可操作地耦接到存储器设备的至少一个处理器初始化控制-值函数、观察-值函数和与当前情节相关联的状态序列;
如果所述当前情节中的当前周期是奇数,则:
由所述至少一个处理器仅选择观察动作;
由所述至少一个处理器执行所述观察动作,以观察部分图像;以及
由所述至少一个处理器基于所述部分图像和所述控制-值函数来更新所述观察-值函数;以及
如果所述当前周期是偶数,则:
由所述至少一个处理器仅选择控制动作;
由所述至少一个处理器执行所述控制动作,以获得与所述控制动作对应的回报;以及
由所述至少一个处理器基于所述回报和所述观察-值函数来更新所述控制-值函数。
2.根据权利要求1所述的方法,其中,初始化所述控制-值函数和所述观察-值函数包括:用随机权重初始化所述控制-值函数和所述观察-值函数。
3.根据权利要求1所述的方法,其中,选择所述观察动作包括:将所述观察动作选择为随机观察动作或与所述观察-值函数的最大值对应的观察动作。
4.根据权利要求1所述的方法,其中,选择所述控制动作包括:将所述控制动作选择为随机控制动作或与所述控制-值函数的最大值对应的控制动作。
5.根据权利要求1所述的方法,进一步包括:预处理所述状态序列以创建用于选择所述观察动作或选择所述控制动作的特征向量。
6.根据权利要求1所述的方法,其中,更新所述观察-值函数进一步包括:
基于所述状态序列、所述观察动作和所述部分图像,设置与下一个周期对应的下一个状态序列;
预处理所述下一个状态序列以创建下一个特征向量;以及
在观察存储器中存储所述状态序列和所述下一个状态序列之间的过渡。
7.根据权利要求6所述的方法,其中,更新所述观察-值函数进一步包括:
从所述观察存储器采样一批过渡;
基于所述一批过渡和所述控制-值函数,设置累积回报;以及
针对所述一批过渡的每个观察动作,基于所述累积回报和所述观察-值函数的值来执行优化步骤。
8.根据权利要求1所述的方法,其中,更新所述控制-值函数进一步包括:
基于所述状态序列和所述控制动作,设置与下一个周期对应的下一个状态序列;
预处理所述下一个状态序列以创建下一个特征向量;以及
在控制存储器中存储所述状态序列和所述下一个状态序列之间的过渡。
9.根据权利要求8所述的方法,其中,更新所述控制-值函数进一步包括:
从所述控制存储器采样一批过渡;
基于所述一批过渡和所述观察-值函数,设置累积回报;以及
针对所述一批过渡的每个控制动作,基于所述累积回报和所述控制-值函数的值来执行优化步骤。
10.一种用于通过实现对深度学习网络的注意力的持续控制来降低与由计算机系统执行的机器学习任务相关联的计算成本的系统,包括:
存储器设备,其用于存储程序代码;以及
至少一个处理器,其可操作地耦接到所述存储器设备,并被配置为执行存储在所述存储器设备上的程序代码,以执行根据权利要求1-9中任一项所述的方法。
11.一种计算机可读存储介质,具有体现在其中的程序指令,所述程序指令可由计算机执行以使所述计算机执行根据权利要求1-9中任一项所述的方法。
12.一种用于通过实现对深度学习网络的注意力的持续控制来降低与由计算机系统执行的机器学习任务相关联的计算成本的系统,所述系统包括分别用于执行根据权利要求1-9中任一项所述的方法的步骤的模块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/039934 | 2018-07-19 | ||
US16/039,934 US11188035B2 (en) | 2018-07-19 | 2018-07-19 | Continuous control of attention for a deep learning network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110732137A CN110732137A (zh) | 2020-01-31 |
CN110732137B true CN110732137B (zh) | 2023-04-18 |
Family
ID=69163026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910654581.3A Active CN110732137B (zh) | 2018-07-19 | 2019-07-19 | 对深度学习网络的注意力的持续控制 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11188035B2 (zh) |
CN (1) | CN110732137B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9373085B1 (en) | 2012-05-15 | 2016-06-21 | Vicarious Fpc, Inc. | System and method for a recursive cortical network |
JP7241450B2 (ja) * | 2018-09-05 | 2023-03-17 | イントリンシック イノベーション リミテッド ライアビリティー カンパニー | 機械概念理解のための方法及びシステム |
CN113766669B (zh) * | 2021-11-10 | 2021-12-31 | 香港中文大学(深圳) | 一种基于深度学习网络的大规模随机接入方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5843207B2 (ja) * | 2010-03-19 | 2016-01-13 | ディジマーク コーポレイション | 直観的コンピューティング方法及びシステム |
US9355088B2 (en) * | 2013-07-12 | 2016-05-31 | Microsoft Technology Licensing, Llc | Feature completion in computer-human interactive learning |
US9679258B2 (en) * | 2013-10-08 | 2017-06-13 | Google Inc. | Methods and apparatus for reinforcement learning |
GB201501510D0 (en) * | 2015-01-29 | 2015-03-18 | Apical Ltd | System |
KR102140672B1 (ko) | 2015-09-11 | 2020-08-03 | 구글 엘엘씨 | 트레이닝 증강 학습 신경 네트워크 |
US10732809B2 (en) * | 2015-12-30 | 2020-08-04 | Google Llc | Systems and methods for selective retention and editing of images captured by mobile image capture device |
CN110235148B (zh) * | 2016-11-03 | 2024-03-19 | 渊慧科技有限公司 | 训练动作选择神经网络 |
US9754221B1 (en) | 2017-03-09 | 2017-09-05 | Alphaics Corporation | Processor for implementing reinforcement learning operations |
US10185895B1 (en) * | 2017-03-23 | 2019-01-22 | Gopro, Inc. | Systems and methods for classifying activities captured within images |
US11416714B2 (en) * | 2017-03-24 | 2022-08-16 | Revealit Corporation | Method, system, and apparatus for identifying and revealing selected objects from video |
US10713543B1 (en) * | 2018-06-13 | 2020-07-14 | Electronic Arts Inc. | Enhanced training of machine learning systems based on automatically generated realistic gameplay information |
-
2018
- 2018-07-19 US US16/039,934 patent/US11188035B2/en active Active
-
2019
- 2019-07-19 CN CN201910654581.3A patent/CN110732137B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US11188035B2 (en) | 2021-11-30 |
US20200026247A1 (en) | 2020-01-23 |
CN110732137A (zh) | 2020-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11099877B2 (en) | Predictively provisioning cloud computing resources for virtual machines | |
US11521067B2 (en) | Decentralized distributed deep learning | |
US10230582B2 (en) | Identifying resources for purging in a cloud based on inter-dependency graph analysis | |
CN111033523A (zh) | 用于图像分类任务的数据增强 | |
CN110732137B (zh) | 对深度学习网络的注意力的持续控制 | |
US11436129B2 (en) | System, method and recording medium for generating mobile test sequences | |
US11468334B2 (en) | Closed loop model-based action learning with model-free inverse reinforcement learning | |
KR20220054812A (ko) | 훈련된 머신 러닝 모델에 적대적 견고성 추가 | |
US20170337279A1 (en) | Allocating computing resources | |
US11537872B2 (en) | Imitation learning by action shaping with antagonist reinforcement learning | |
US11188797B2 (en) | Implementing artificial intelligence agents to perform machine learning tasks using predictive analytics to leverage ensemble policies for maximizing long-term returns | |
US20200027032A1 (en) | Reducing computational costs to perform machine learning tasks | |
US20210201130A1 (en) | Job-launch time reduction by node pre-configuration | |
US10824481B2 (en) | Partial synchronization between compute tasks based on threshold specification in a computing system | |
US11182674B2 (en) | Model training by discarding relatively less relevant parameters | |
US20180124160A1 (en) | Domain-specific pattern design | |
US20210056457A1 (en) | Hyper-parameter management | |
US11704542B2 (en) | Convolutional dynamic Boltzmann Machine for temporal event sequence | |
US20200097813A1 (en) | Deep learning model for probabilistic forecast of continuous manufacturing process | |
US11308414B2 (en) | Multi-step ahead forecasting using complex-valued vector autoregregression | |
US20190385091A1 (en) | Reinforcement learning exploration by exploiting past experiences for critical events | |
US20230214641A1 (en) | Reinforcement learning for dynamic multi-dimension goals | |
US20220198268A1 (en) | Estimated online hard negative mining via probabilistic selection and scores history consideration | |
US20230177355A1 (en) | Automated fairness-driven graph node label classification | |
US20210216879A1 (en) | Methods and systems for improving heuristic searches for artificial intelligence planning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |