CN112368718B - 用于深度记忆网络的系统和方法 - Google Patents
用于深度记忆网络的系统和方法 Download PDFInfo
- Publication number
- CN112368718B CN112368718B CN201980044458.8A CN201980044458A CN112368718B CN 112368718 B CN112368718 B CN 112368718B CN 201980044458 A CN201980044458 A CN 201980044458A CN 112368718 B CN112368718 B CN 112368718B
- Authority
- CN
- China
- Prior art keywords
- processor
- data
- memory
- external memory
- model
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 301
- 238000000034 method Methods 0.000 title claims description 143
- 238000012549 training Methods 0.000 claims description 88
- 239000013598 vector Substances 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 114
- 230000006870 function Effects 0.000 description 23
- 238000004891 communication Methods 0.000 description 19
- 230000007704 transition Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 230000009471 action Effects 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 9
- 239000012634 fragment Substances 0.000 description 8
- 230000003993 interaction Effects 0.000 description 8
- 230000001537 neural effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000002591 computed tomography Methods 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000002604 ultrasonography Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- WQZGKKKJIJFFOK-GASJEMHNSA-N Glucose Natural products OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O WQZGKKKJIJFFOK-GASJEMHNSA-N 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- -1 electricity Substances 0.000 description 1
- 238000000537 electroencephalography Methods 0.000 description 1
- 238000002567 electromyography Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000008103 glucose Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000007087 memory ability Effects 0.000 description 1
- 230000006993 memory improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- 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
-
- 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/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
包括深度记忆模型的电子设备包括至少一个存储器和耦合到至少一个存储器的至少一个处理器。至少一个处理器被配置为接收对深度记忆模型的输入数据。至少一个处理器还被配置为基于输入数据提取耦合到深度记忆模型的外部存储器的历史状态。至少一个处理器还被配置为基于输入数据更新外部存储器的历史状态。此外,至少一个处理器被配置为基于所提取的外部存储器的历史状态输出预测。
Description
技术领域
本公开总体上涉及机器学习系统。更具体地,本公开涉及用于深度记忆网络(deepmemory network)的系统和方法。
背景技术
智能服务模型对于诸如人工智能个人助理、智能电视、在线网页(web)服务、图像识别等的各种服务已经变得很重要。例如,大多数服务提供商通常需要维护大量内容并收集用户历史数据以提供智能服务。模型通常需要与每个用户进行大量交互以提供高质量的个性化服务。为了实现智能服务,通常必须在部署之前在同一任务上对模型进行预训练(这很昂贵),并且通常需要在部署后对模型进行重新训练(这很困难)。这样的模型也没有能力记住与用户的交互历史。因此,现有的方法无法轻松实现每个用户的个性化需求或随着时间的推移适应用户的新需求。
发明内容
附图说明
为了更完整地理解本公开及其优点,现在结合附图参考以下描述,其中相同的附图标记表示相同的部分:
图1示出了根据本公开的各种实施例的示例网络配置;
图2示出了根据本公开的各种实施例的示例深度记忆系统;
图3A和图3B示出了根据本公开的各种实施例的深度记忆模型的示例;
图4示出了根据本公开的各种实施例的示例控制器过程;
图5示出了根据本公开的各种实施例的示例读取头过程;
图6示出了根据本公开的各种实施例的示例写入头过程;
图7示出了根据本公开的各种实施例的示例离线训练过程;
图8示出了根据本公开的各种实施例的另一示例离线训练过程;
图9示出了根据本公开的各种实施例的示例在线训练过程;
图10示出了根据本公开的各种实施例的另一示例在线训练过程;
图11示出了根据本公开的各种实施例的示例图像检索和预测过程;和
图12示出了根据本公开的各种实施例的示例交互式搜索和推荐过程。
具体实施方式
本公开提供了用于深度记忆网络的系统和方法。
在第一实施例中,一种用于对耦合到外部存储器的深度记忆模型进行管理的方法包括接收对该深度记忆模型的输入数据。该方法还包括基于输入数据提取外部存储器的历史状态。该方法还包括基于输入数据更新外部存储器的历史状态。另外,该方法包括基于所提取的外部存储器的历史状态输出预测。
在第二实施例中,包括深度记忆模型的电子设备包括至少一个存储器和耦合到至少一个存储器的至少一个处理器。至少一个处理器被配置为接收对深度记忆模型的输入数据。至少一个处理器还被配置为基于输入数据提取耦合到深度记忆模型的外部存储器的历史状态。至少一个处理器还被配置为基于输入数据更新外部存储器的历史状态。另外,至少一个处理器被配置为基于所提取的外部存储器的历史状态输出预测。
在第三实施例中,非暂时性计算机可读介质包括计算机程序。计算机程序包括指令,指令在被执行时使电子设备的至少一个处理器接收对深度记忆模型的输入数据。计算机程序还包括这样的指令:所述指令在被执行时使至少一个处理器基于输入数据提取耦合到深度记忆模型的外部存储器的历史状态。计算机程序还包括这样的指令:所述指令在被执行时使至少一个处理器基于输入数据更新外部存储器的历史状态。另外,计算机程序包括这样的指令:所述指令在被执行时使至少一个处理器基于所提取的外部存储器的历史状态输出预测。
在第四实施例中,用于对耦合到外部存储器的深度记忆模型进行训练的方法包括从多个数据集中选择数据集。该方法还包括将所选择的数据集添加到训练样本,其中,训练样本包括深度记忆模型的多个历史状态。该方法还包括从多个历史状态创建一个或更多个mini-batch(微型批量)。另外,该方法包括使用一个或更多个mini-batch训练深度记忆模型,以及更新深度记忆模型的一个或更多个参数。
根据以下附图、说明书和权利要求,其他技术特征对于本领域技术人员而言将是显而易见的。
在进行下面的详细描述之前,阐述整个专利文件中使用的某些单词和短语的定义可能是有利的。术语“发送”、“接收”和“通信”及其派生词涵盖直接和间接通信。术语“包括”和“包含”及其派生词意指包括但不限于。术语“或”是包含性的,意指和/或。短语“与......相关联”及其派生词意指包括、被包括在其中、与之互连、包含、被包含在其中、连接到或与之连接、耦合到或与之耦合、与之通信、与之合作、交错(interleave)、并置(juxtapose)、近似于、绑定到与之绑定、具有、具有……的属性、具有关系与之有关系等。
此外,下面描述的各种功能可以由一个或更多个计算机程序实现或支持,每个计算机程序由计算机可读程序代码形成并被实现在计算机可读介质中。术语“应用”和“程序”是指适于以合适的计算机可读程序代码实现的一个或更多个计算机程序、软件组件、指令集、过程、功能、对象、类、实例、相关数据或其一部分。短语“计算机可读程序代码”包括任何类型的计算机代码,其包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够由计算机访问的任何类型的介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、硬盘驱动器、光盘(CD)、数字视频光盘(DVD)或任何其他类型的存储器。“非暂时性”计算机可读介质不包括传输暂时性电信号或其他信号的有线、无线、光学或其他通信链路。非暂时性计算机可读介质包括可永久存储数据的介质以及可存储数据并随后重写数据的介质,诸如可重写光盘或可擦除存储器设备。
如此处所使用的,诸如“具有”、“可以具有”、“包括”或“可以包括”特征(例如,数字、功能、操作或诸如部件的组件)的术语和短语表示存在该特征,并且不排除存在其他特征。另外,如此处所使用的,短语“A或B”、“A或/和B中的至少一个”或“A或/和B中的一个或更多个”可以包括A和B的所有可能的组合。例如,“A或B”、“A和B中的至少一个”或“A或B中的至少一个”可以表示如下所有情况:(1)包括至少一个A;(2)包括至少一个B;或(3)包括至少一个A和至少一个B。此外,如在此所使用的,术语“第一”和“第二”可以修饰各种组件而与重要性无关,并且不限制这些组件。这些术语仅用于区分一个组件和另一个组件。例如,第一用户设备和第二用户设备可以指示彼此不同的用户设备,而与设备的顺序或重要性无关。在不脱离本公开的范围的情况下,第一组件可以表示为第二组件,反之亦然。
将理解的是,当元件(诸如第一元件)被称为与另一元件(诸如第二元件)“(操作地或通信地)耦合/连接”或“耦合到/连接到”另一元件(诸如第二元件)时,它可以直接或经由第三元件与另一元件耦合或连接。相反,将理解的是,当元件(诸如第一元件)被称为与另一元件(诸如第二元件)“直接耦合/连接”或“直接耦合到/连接到”另一元件(诸如第二元件)时,无其他元件(诸如第三元件)介于该元件和另一元件之间。
如此处所使用的,短语“被配置为(或设置为)”可以根据情况与短语“适于”、“具有能力”、“被设计为”、“适应于”、“制造为”或“能够”互换使用。短语“被配置为(或设置为)”并不实际表示“以硬件专门设计”。而是,短语“被配置为”可以表示设备可以与另其他设备或部件一起执行操作。例如,短语“被配置为(或设置为)执行A、B和C的处理器”可以指通用处理器(例如,CPU或应用处理器)或用于执行操作的专用处理器(诸如嵌入式处理器),该通用处理器通过执行存储在存储器设备中的一个或更多个软件程序来执行操作。
提供此处使用的术语和短语仅是为了描述本公开的一些实施例,而不限制本公开的其他实施例的范围。应当理解,除非上下文另外明确指出,否则单数形式的“一个”、“一种”和“该”包括复数形式。本文使用的所有术语和短语,包括技术和科学术语和短语,具有与本公开的实施例所属的本领域普通技术人员通常理解的含义相同的含义。还将理解的是,除非在本文中明确定义,否则诸如在常用字典中定义的那些术语和短语,应被解释为具有与它们在相关领域的上下文中的含义一致的含义,并且不应以理想化或过于正式的含义来解释。在一些情况下,本文定义的术语和短语可以被解释为排除本公开的实施例。
根据本公开的实施例的“电子设备”的示例可以包括如下中的至少一者:智能电话、平板个人计算机(PC)、移动电话、视频电话、电子书阅读器、台式PC、膝上型计算机、上网本计算机、工作站、个人数字助理(PDA)、便携式多媒体播放器(PMP)、MP3播放器、移动医疗设备、相机、或可穿戴设备(诸如智能眼镜、头戴式设备(HMD)、电子服装、电子手镯、电子项链、电子配件、电子贴纸、智能镜子或智能手表)。电子设备的其他示例包括智能家用电器。智能家用电器的示例可以包括如下中的至少一者:电视、数字视频光盘(DVD)播放器、音频播放器、冰箱、空调、清洁器、烤箱、微波炉、洗衣机、干燥机、空气清洁器、机顶盒、家庭自动化控制面板、安全控制面板、电视盒(诸如SAMSUNG HOMESYNC、APPLETV或GOOGLE TV)、游戏机(诸如XBOX、PLAYSTATION或NINTENDO)、电子词典、电子钥匙、便携式摄像机、或电子相框。电子设备的其他示例包括如下中的至少一者:各种医疗设备(例如,各种便携式医疗测量设备(诸如血糖监测设备、心跳测量设备、或体温测量设备),磁共振血管造影(MRA)设备,磁共振成像(MRI)设备,计算机断层扫描(CT)设备,成像设备,或超声设备)、导航设备、全球定位系统(GPS)接收器、事件数据记录器(EDR)、飞行数据记录器(FDR)、车辆信息娱乐设备、电子船舶设备(例如,导航系统和陀螺罗盘)、航空电子设备、安全设备、车辆头单元、工业或家用机器人、自动柜员机(ATM)、销售点(POS)设备或物联网(IoT)设备(例如,灯泡、各种传感器、电表或煤气表、喷淋装置、火灾警报器、恒温器、路灯、烤面包机、运动器材、热水箱、加热器、烧水壶等)。电子设备的其他示例包括家具或建筑物/结构的一部分、电子板、电子签名接收设备、投影仪或各种测量设备(诸如,用于测量水、电、煤气或电磁波的设备)。注意,根据本公开的各种实施例,电子设备可以是上面列出的设备中的一个或组合。根据本公开的一些实施例,电子设备可以是柔性电子设备。这里公开的电子设备不限于上面列出的设备,并且根据技术的发展可以包括新的电子设备。
在下面描述中,根据本公开的各种实施例,参考附图描述了电子设备。如本文所使用的,术语“用户”可以表示使用电子设备的人或另一设备(诸如人工智能电子设备)。
贯穿本专利文件可以提供其他某些单词和短语的定义。本领域普通技术人员应该理解,在许多情况下,此类定义适用于这样定义的单词和短语的先前以及将来的使用。
本申请中的任何描述均不应理解为暗示任何特定元件、步骤或功能是必须包含在权利要求范围内的必要元素。专利主题的范围仅由权利要求书限定。
参考附图描述下面讨论的图1至图12以及本公开的各种实施例。然而,应当理解,本公开不限于这些实施例,并且对其的所有改变和/或等同或替换也属于本公开的范围。
本公开的各种实施例通过引入包括可以存储新数据的外部存储器的模型来缓和现有智能服务模型的缺点,该新数据包括内容(诸如图像)和用户反馈(诸如用户评论或标签)。外部存储器允许模型自然而连续地适应用户的新需求。外部存储器包含了比现有模型更复杂的现实任务。外部存储器还允许模型跟踪用户动态,而无需重新训练。
在部署之前,模型会采用输入(诸如具有一些共同特征的多个用户数据)来训练模型。在部署模型后,模型接收实时输入,诸如用户的动态个人数据。当新的用户数据共享一些共同特征时,模型可以将共同特征存储在外部存储器中,以记住学习到的特征,并可以随着时间不断地适应最新数据。新的用户数据可以完全独立于模型的训练数据,以便模型可以学习数据的共同特征,而无需在部署之前关于这些共同特征进行训练,也不需要重新训练以识别共同特征。因此,模型不需要被重新训练以适应新数据。此外,该模型使新的共同特征被记住在外部存储器中,以便该模型可以在部署后快速适应新任务。
在一些实施例中,该模型包括控制器或由控制器使用或与控制器结合使用,该控制器控制读取头以(i)确定与新数据共享共同特征的最相关的外部存储器单元,并从外部存储器读取数据以输出与新数据共享共同特征的其他数据和/或(ii)预测数据的性质,例如提供推荐或对输入数据进行分类或标记。控制器还控制写入头以确定外部存储器中的哪些存储器单元包括最不相关的数据,并重写最不相关的数据,以便随着模型接收到新数据不断更新模型并使该模型适应新数据。
一些实施例包括深度神经记忆增强模型(deep neural memory model),以基于用户的先前交互来跟踪每个用户的历史状态。如此,通过少量互动即可快速了解用户对新的项(item)的偏好。该模型利用大量用户历史数据进行离线模型训练。为了训练模型,基于mini-batch(微型批量)构建机制提供离线训练算法,以便可以将任何用户或项数据一起用作大规模训练集,以离线训练高质量的基本模型。一些实施例还可以包括使用一个或更多个历史状态的在线模型微调,这可以减少所需的与每个用户交互的数量。为了建模历史状态,一些实施例在外部神经存储器快速记住新信息的能力的激励下,将深度神经网络与外部神经存储器耦合。
图1示出了根据本公开的各种实施例的示例网络配置100。图1所示的网络配置100的实施例仅用于说明。在不脱离本公开的范围的情况下,可以使用网络配置100的其他实施例。
根据本公开的实施例,电子设备101被包括在网络环境100中。电子设备101可以包括总线110、处理器120、存储器130、输入/输出(IO)接口150、显示器160、通信接口170或事件处理模块180中的至少一个。在一些实施例中,电子设备101可以不包括上述组件中的至少一个,或可以添加其他组件。
总线110包括用于将组件120至180彼此连接并且在组件之间传输通信(诸如控制消息和/或数据)的电路。处理器120包括中央处理单元(CPU)、应用处理器(AP)或通信处理器(CP)中的一个或更多个。处理器120能够对电子设备101的其他组件中的至少一个执行控制和/或执行与通信有关的操作或数据处理。在一些实施例中,处理器可以是图形处理器单元(GPU)。根据本公开的各种实施例,处理器120可以诸如通过以下操作来训练或执行机器学习模型:接收输入,从外部存储器提取历史状态以预测针对输入的推荐或奖励针对输入的预测,基于输入重写外部存储器中的历史状态,或执行其他任务。
存储器130可以包括易失性和/或非易失性存储器。例如,存储器130可以存储与电子设备101的至少一个其他组件有关的命令或数据。根据本公开的实施例,存储器130可以存储软件和/或程序140。程序140包括例如内核141、中间件143、应用编程接口(API)145和/或应用程序(或“应用”)147。内核141、中间件143或API 145中的至少一部分可以表示操作系统(OS)。在一些实施例中,存储器130可以是由模型使用的外部存储器,该模型可以被存储在电子设备101、电子设备102、电子设备104或服务器106上。
内核141可以控制或管理用于执行在其他程序(诸如中间件143、API145或应用程序147)中实现的操作或功能的系统资源(诸如总线110、处理器120或存储器130)。内核141提供接口,该接口允许中间件143、API 145或应用147接入电子设备101的各个组件以控制或管理系统资源。应用147可以包括这样的应用:该应用接收输入,从外部存储器提取历史状态以预测针对输入的推荐或奖励针对输入的预测,基于输入重写外部存储器中的历史状态,或执行其他任务。
中间件143可以用作例如中继器,以允许API 145或应用147与内核141通信数据。可以提供多个应用147。中间件143能够例如通过将使用电子设备101的系统资源(诸如总线110、处理器120或存储器130)的优先级分配给多个应用147中的至少一个来控制从应用147接收的工作请求。
API 145是允许应用147控制从内核141或中间件143提供的功能的接口。例如,API145包括用于归档控制、窗口控制、图像处理或文本控制的至少一个接口或功能(诸如命令)。
IO接口150用作例如可以将从用户或其他外部设备输入的命令或数据传输到电子设备101的其他组件的接口。此外,IO接口150可以将从电子设备101的其他组件接收的命令或数据输出到用户或其他外部设备。
显示器160可以包括例如液晶显示器(LCD)、发光二极管(LED)显示器、有机发光二极管(OLED)显示器、量子发光二极管(QLED)显示器、微机电系统(MEMS)显示器或电子纸显示器。显示器160还可以是深度感知显示器,诸如多焦点显示器。显示器160可以向用户显示各种内容(诸如文本、图像、视频、图标或符号)。显示器160可以包括触摸屏,并且可以接收使用电子笔或用户的身体部位进行的例如触摸、手势、接近或悬停输入。
通信接口170例如能够在电子设备101与外部电子设备(诸如第一电子设备102、第二电子设备104或服务器106)之间建立通信。例如,通信接口170可以通过无线或有线通信与网络162或164连接以与外部电子设备通信。通信接口170可以是有线或无线收发器或用于发送和接收信号的任何其他组件,诸如由通信接口170接收的与数据输入信号、推荐或奖励预测信号或其他信号有关的信号。
电子设备101还包括一个或更多个传感器,该一个或更多个传感器可以计量物理量或检测电子设备101的激活状态,并将计量或检测到的信息转换为电信号。例如,传感器可以包括用于触摸输入的一个或更多个按钮、一个或更多个相机、手势传感器、陀螺仪或陀螺仪传感器、大气压传感器、磁传感器或磁力计、加速度传感器或加速计、握持传感器、接近传感器、颜色传感器(诸如红绿蓝(RGB)传感器)、生物物理传感器、温度传感器、湿度传感器、照度传感器、紫外线(UV)传感器、肌电图(EMG)传感器、脑电图(EEG)传感器、心电图(ECG)传感器、IR传感器、超声传感器、虹膜传感器、指纹传感器等。传感器可以进一步包括控制电路,其用于控制其中包括的传感器中的至少一个。这些传感器中的任何一个可以位于电子设备101内。
无线通信能够使用例如长期演进(LTE)、高级长期演进(LTE-A)、第五代无线系统(5G)、毫米波或60GHz无线通信、无线USB、码分多址(CDMA)、宽带码分多址(WCDMA)、通用移动电信系统(UMTS)、无线宽带(WiBro)或全球移动通信(GSM)中的至少一者,作为蜂窝通信协议。有线连接可以包括通用串行总线(USB)、高清多媒体接口(HDMI)、推荐标准232(RS-232)或普通老式电话服务(POTS)中的至少一种。网络162可以包括至少一个通信网络,诸如计算机网络(例如局域网(LAN)或广域网(WAN))、因特网或电话网络。
第一外部电子设备102和第二外部电子设备104以及服务器106均可以是与电子设备101相同或不同类型的设备。根据本公开的某些实施例,服务器106包括一个或更多个服务器的组。此外,根据本公开的某些实施例,在电子设备101上执行的所有或一些操作可以在另一个或更多个其他电子设备(诸如电子设备102和104或服务器106)上执行。此外,根据本公开的某些实施例,当电子设备101应当自动地或应请求执行某些功能或服务时,代替独自地或额外地执行该功能或服务,电子设备101可以请求另一设备(诸如电子设备102和104或服务器106)执行与之相关联的至少一些功能。其他电子设备(诸如电子设备102和104或服务器106)能够执行所请求的功能或额外功能,并将执行结果传输到电子设备101。电子设备101可以通过按原样或额外地处理接收到的结果来提供请求的功能或服务。为此,例如,可以使用云计算、分布式计算或客户端-服务器计算技术。尽管图1示出了电子设备101包括通信接口170以经由网络162与外部电子设备104或服务器106通信,但是根据本公开的实施例,电子设备101可以独立地操作而没有单独的通信功能。
服务器106可以包括与电子设备101相同或相似的组件110-180(或其合适的子集)。服务器106可以通过执行在电子设备101上实现的操作(或功能)中的至少一者来支持驱动电子设备101。例如,服务器106可以包括可以支持在电子设备101中实现的处理器120的处理模块或处理器。服务器106还可以包括事件处理模块(未示出),该事件处理模块可以支持在电子设备101中实现的事件处理模块180。例如,事件处理模块180可以处理从其他元件(诸如处理器120、存储器130、输入/输出接口150或通信接口170)获得的信息的至少一部分,并且可以以各种方式将其提供给用户。
尽管在图1中事件处理模块180被示为是与处理器120分离的模块,但是事件处理模块180的至少一部分可以被包括或实现在处理器120或至少一个其他模块中,或者事件处理模块180的整体功能可以被包括或实现在处理器120或另一处理器中。事件处理模块180可以与存储在存储器130中的至少一个程序140互操作地执行根据本公开的实施例的操作。
尽管图1示出了网络配置100的一个示例,但是可以对图1进行各种改变。例如,网络配置100可以包括以任何合适的布置的任意数量的每个组件。通常,计算和通信系统具有各种各样的配置,并且图1不将本公开的范围限制为任何特定的配置。尽管图1示出了可以使用本专利文件中公开的各种特征的一个操作环境,但是这些特征可以用在任何其他合适的系统中。
图2示出了根据本公开的各种实施例的示例深度记忆系统200。系统200包括深度记忆模型202,该深度记忆模型202包括耦合到外部存储器206或与外部存储器206一起操作的操作模型204。操作模型204是学习将与共享共同特征的其他数据相关联的输入数据存储在外部存储器206中的模型。当操作模型204接收到新数据时,操作模型204从外部存储器206读取先前存储的数据或数据历史状态,以确定哪些其他先前提供的数据与新数据共享共同特征。外部存储器206还可以存储与内容数据相关联的奖励数据,诸如用户反馈、标签、确认的推荐或表征内容数据的其他奖励数据。因此,操作模型204可以通过确定哪些内容数据与新输入数据共享共同特征并使用与所存储的内容数据相关联的奖励数据来提供推荐或奖励预测,以预测新输入数据的推荐或奖励。
使用可以包括内容(诸如自然语言、图像或其他内容)的训练数据208来训练深度记忆模型202。训练数据208还可以包括历史状态,该历史状态是众包的(crowdsourced)或以其他方式从其他用户获得的,或者是出于训练目的而创建或制造的。特征提取器210提取训练数据208的特征。特征提取器210可以是用于特定人工智能任务的模型,诸如话语时隙确定、图像识别或特征检测或其他任务。部署前模型训练212包括使用训练数据208、特征提取器210提供的数据和/或历史状态数据的训练操作,以在部署深度记忆模型202之前关于训练数据来训练深度记忆模型202。部署前模型训练212用于训练操作模型204如何读取/写入外部存储器206。在一些实施例中,由于外部存储器206是用于存储数据的媒介物,所以部署前模型训练212不会导致外部存储器206被改变或更新,而操作模型204被训练如何在外部存储器206中存储、读取、写入或重写数据。
在一些实施例中,为了训练深度记忆模型202,可以使用这样的离线训练算法:该离线训练算法利用来自所有用户的大量历史数据作为训练集。此外,在一些实施例中,可以使用在线训练过程来进一步训练模型202,以针对每个用户进行动态模型微调以使模型个性化。此外,在一些实施例中,可以通过针对每个用户维持不同的状态来将在线训练应用于交错的用户。
在训练之后,可以提供部署模型214。部署模型214包括训练过的操作模型216,其执行与操作模型204类似的功能,但是操作模型216被进行了训练,以有效地将关于共享共同特征的内容的数据存储、读取和写入个性化外部存储器218。在一些实施例中,为单个用户、组织或系统提供个性化外部存储器218,用于存储共享共同特征的内容数据和奖励数据,以便使用训练过的操作模型216连续地适应存储的数据以提供有效的建议和准确的预测。在特定实施例中,个性化外部存储器218可以被设置在与训练过的操作模型216相同的设备上,诸如电子设备101、102和104或服务器106中的一个或更多个。在其他特定实施例中,个性化外部存储器218可以被设置在不同的设备上,或者被设置作为分布式计算系统的一部分。
当训练过的操作模型216接收到新数据220时,操作模型216使用个性化外部存储器218基于新数据220提供智能服务222。例如,操作模型216可以提供来自个性化外部存储器218的与新数据220共享共同特征的相似数据,或者基于新数据220提供推荐或奖励预测。智能服务222可以基于记住的动态用户数据,在每个时间戳提供不同的服务。
尽管图2示出了深度记忆系统200的一个示例,但是可以对图2进行各种改变。例如,如果训练数据208仅包括历史状态数据以用于提供用于训练深度记忆模型202的历史状态,则深度记忆系统200可以不包括特征提取器210。此外,深度记忆系统200的一些实施例可以放弃或延迟提供智能服务222,同时将数据写入或重写到个性化外部存储器218,诸如以便在以后的时间或响应于事件使用该数据来提供服务。
图3A和3B示出了根据本公开的各种实施例的深度记忆模型300的示例。深度记忆模型300可以在电子设备101、102、104,服务器106和/或处理器(诸如处理器120)中的一个或更多个上执行或以其他方式使用。然而,模型300可以被任何其他合适的设备和在任何合适的系统中使用。深度记忆模型300包括用于存储项或内容数据、奖励数据以及项或内容存储状态或奖励状态中的一个或更多个的外部存储器302。在一些实施例中,外部存储器302可以表示图2的个性化外部存储器218。此外,在一些实施例中,模型300利用神经图灵机(NTM)作为端对端的完全可区分的架构来对历史状态建模,该神经图灵机(NTM)被设计为通过将神经网络与外部存储器302耦合来扩展神经网络的能力。NTM可以基于一次学习的记忆状态快速捕获新信息。NTM可以用于将数据处理为序列或集合。
如图3B所示,外部存储器302包括项单元304和奖励单元306。项单元304包括基于由模型300处理的先前提供的内容的存储数据,并且奖励单元306包括与某些内容数据相关联地存储的奖励数据,诸如评级、标签、用户反馈或其他数据。项单元304存储所选项的潜在特征,并且奖励单元306存储相应的奖励。例如,如果图像被提供为输入到模型300中,则检测到的图像的特征可以被存储在某些项单元304中,所述的某些项单元304与关于共享其他项单元304中存储的共同特征的其他图像的数据有关。如果还为输入图像提供了奖励,诸如分类或标签,则分类或标签可以存储在奖励单元306中,并与存储关于输入图像特征的数据的一个或更多个项单元304相关联。当模型300处理与先前输入图像共享特征的新输入图像时,这允许稍后从外部存储器302检索分类或标签并加以考虑。
模型300还包括控制器308或与控制器308一起操作,该控制器被训练以理解和记住外部存储器302中的存储器单元之间的相关性。在一些实施例中,控制器308可以表示图2的训练过的操作模型216。在一些实施例中,控制器308包括深度神经网络,诸如递归神经网络(RNN)、长短期记忆(LSTM)网络或其他类型的网络。控制器308控制至少一个读取头310和至少一个写入头312以检索数据并将其存储在外部存储器302中。在一些情况下,外部存储器302可以包括存储器维度(memory dimension)m,项或动作存储器的大小为c,奖励存储器的大小为r。t轮的历史状态St(针对用户u,其可以简化为符号)可以使用外部存储器状态和控制器状态/>被建模,外部存储器状态/>和控制器状态/>随着模型300处理数据并将其存储在外部存储器302中被更新。在时间戳t,所选项单元304的状态MIt被定义为MIt∈Rm ·c,并且所观察的奖励单元306的状态MRt被定义为MRt∈Rm·r。存储器状态不断改变并适应模型300接收的新数据。控制器状态/>表示控制器308的状态,其指导与外部存储器302的交互。
当模型300接收到新数据314时,新数据首先被处理并用于更新控制器308的状态。例如,在一些实施例中,并且根据控制器308中包括的网络的类型,控制器308的控制器状态可以包括单元状态cct∈Rd·l和隐藏状态cht∈Rd·l。当读取头310从外部存储器302读取和检索数据时,更新控制器状态。数据314可以包括内容数据和奖励数据。
设D为所有数据X的空间和K个动作A的有限集的X×[0,1]r·K上的未知概率分布。动作的奖励在区间[0,1]中。数据314可以由观察数据项并选择动作的代理来确定。在每个时间戳t,数据314可以包括观察的用户u的用户特征xu 316和项池A 318中的项a的项特征xa的组合,使得项池318提供每个时间戳的 的观察数据项320被提供给控制器308。因此,可以如下为每个时间戳定义数据314的数据项:
具有个性化外部存储器的每个用户、组织或实体均对应于上下文。根据用户的反馈ut,每个项a被建模为与可能的奖励ru,a相关联的动作,以便在每个时间戳t处可以提供选择动作at的维度奖励ru,at∈[0,1]r。模型300的一个可能目标可以是在T轮之后最小化遗憾(regret)R(T),其可以被定义如下:
在此,是每轮t中的最佳动作。将理解,在本公开的各种实施例中,用户和上下文可以互换使用,并且动作和项可以互换使用。
模型300保持历史状态St,并且使用历史状态来决定在下一轮中选择哪个项。历史状态可以通过在与用户的几次交互中记住不同的探索项的特征进行快速学习以理解用户的偏好。模型300通过在最初的几次迭代期间选择并观察较少数量的具有较大多样性的动作,来有效地理解每个用户的个人偏好。在一些实施例中,模型300可以在不同用户之间共享,同时在外部存储器302中将每个用户的个人偏好信息保持在潜在历史状态。
模型300被配置为输出奖励预测322。在一些实施例中,奖励预测322包括值324,其可以被定义为在每轮t中,模型300采用数据xt,并基于当前历史状态为每个项a∈A估计值vt,a。控制器308操作读取头310访问外部存储器302,以选择与输入具有共享特征的项at,并且如果可用,则观察与该项at相关联的奖励ru,at。控制器308还使用所选择的项at和所观察的奖励ru,at操作写入头312,以将历史状态从St-1更新为St。写入头312被配置为:在外部存储器单元中定位与输入数据相似和不相似的特征,并且重写包括与新数据的特征不相似的特征的存储器单元,以及使用新数据的任何相应奖励数据写入或重写存储器单元。在一些实施例中,控制器308或写入头312可以支持修改的最近最少使用的访问(LRUA)过程,以确保在重写任何存储器单元之前所有空的存储器单元被填满。
尽管图3A和3B示出了深度记忆模型300的一个示例,但是可以对图3A和3B进行各种改变。例如,深度记忆模型300的一些实施例可以放弃或延迟提供奖励预测,写入或重写将在稍后的时间或响应事件而用于提供服务的数据。此外,在一些实施例中,当最初被提供给模型300时,输入可以不包括奖励数据,并且稍后可以基于来自用户或其他实体的针对奖励数据的请求或确认来提供奖励。
图4示出了根据本公开的各种实施例的示例控制器过程400。为了便于说明,过程400可以被描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程400可以由任何合适的设备和在任何合适的系统中使用。过程400可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。
在框402,处理器在控制器(诸如控制器308)处接收输入数据。在一些实施例中,输入数据是所观察的数据,诸如图像数据、语言或话语数据或其他类型的数据,针对用户u,输入数据为在框404,处理器基于输入数据将控制器状态从控制器输出到读取头(诸如读取头310)。在框406,处理器通过从外部存储器的存储器单元检索与新输入数据有关或与新输入数据具有共同特征的数据,调用或控制读取头从外部存储器(诸如外部存储器302)提取至少一个历史状态。在框408,处理器在控制器处从读取头接收历史状态以及与项a_t相关联的可能奖励ru,at。在一些实施例中,控制器可以包括神经网络,诸如LSTM网络。在每轮t中,控制器状态/>可以包括隐藏状态cht和单元状态cct,其中控制器状态随着时间表现为传送带,从而在每轮t处更新控制器状态。
在框410,处理器经由控制器提供输入数据,诸如所选项xu,a和相关联的奖励数据ru,a。在框412,处理器调用写入头以基于输入数据确定外部存储器中的最不相关的单元。在判定框414,处理器确定外部存储器是否已满。如果否,则过程400移动到框416,在框416,处理器控制写入头将更新数据写入到外部存储器中的空单元,以便更新外部存储器的历史状态处理器还更新控制器状态/>然后,过程400移动到框420。如果处理器在判定框414确定外部存储器已满,则过程400移动到框418,在框418,处理器控制写入头使用更新数据将数据重写在被确定为与输入数据最不相关的单元中,以便更新外部存储器的历史状态处理器还更新控制器状态/>然后,过程400移动到框420。
在控制器包括LSTM网络的一些实施例中,处理器可以在每轮t如下地更新控制器:
这里,cct-1和cht-1是从在先前迭代t-1处保存的控制器状态获得的。此外,i、f和o分别为输入门、遗忘门和输出门。另外,Wi l、和/>是神经网络中层1的权重。另外,⊙表示逐元素相乘,Z表示输入,使得针对神经网络的堆叠深层为/>在一些实施例中,针对神经网络的第一层,在t轮对于用户u的输入项a和奖励ru,a,可以如下地定义输入Z=xu,a:
在此,表示向量级联(concatenation)。在一些实施例中,当奖励ru,a未被包括在输入中时,ru,a=0。
在框420,处理器输出从读取头接收的相关数据,包括可能的奖励预测。在一些实施例中,处理器使用所观察的数据来估计每个项a的值{vu,t,a},以预测在框402中接收到的输入数据的奖励。例如,如果在框402中接收到的输入数据是图像数据,则处理器可以调用读取头以确定相关单元,在相关单元中存储了关于与输入图像具有共同特征的其他图像的数据。来自相关单元的数据和任何相关联的奖励数据由读取头提供,并且处理器经由控制器基于先前存储在外部存储器中的图像数据的共同特征和相关联的奖励来预测输入图像的标签或分类。在其中未存储或提供奖励数据的一些实施例中,处理器可以使用外部存储器中的数据来检索与新输入图像相似的先前处理的图像,并将这些相似的图像作为输出提供给用户。作为另一个示例,外部存储器可以包括所存储的关于搜索或推荐历史的数据。例如,所存储的数据可以包括先前提供的话语或自然语言数据。当使用与所存储的数据相似的话语特征执行新搜索时,处理器可以从外部存储器提取历史数据,并预测用户倾向于接收的搜索结果的类型。在一些实施例中,用户然后可以向模型提供诸如反馈的奖励数据,诸如过滤结果的输入。基于奖励数据,处理器可以提供更新的搜索结果,同时记住过滤器输入以供将来搜索查询。过程400在框422结束。
尽管图4示出了控制器过程400的一个示例,但是可以对图4进行各种改变。例如,虽然被示为一系列步骤,但是图4中的各个步骤可以重叠、并行进行、以不同顺序进行、或进行任何次数。作为特定示例,在一些实施例中,框420可以在框412-418之前进行,从而在将新数据写入外部存储器之前提供诸如奖励预测的输出。另外,将理解,可以执行多轮t以确定奖励预测,其可以包括重复框404-418。
图5示出了根据本公开的各种实施例的示例读取头过程500。为了便于说明,过程500可以描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程500可以由任何合适的设备和在任何合适的系统中使用。过程500可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。
在框502,处理器在读取头(诸如读取头310)处从与模型相关联的控制器(诸如与模型300相关联的控制器308)接收输出(诸如输出cht)。在一些实施例中,读取头的一个可能目标是寻址外部存储器并分别获取项状态rit和奖励存储器状态rrt。处理器经由读取头使用项状态和奖励状态来估计项dt的值。在框504,处理器针对在框502中从控制器接收的输出(例如,输出cht)生成键查询向量。在一些实施例中,可以如下定义键查询向量kt:
/>
在框506,处理器确定键查询向量与外部存储器中的每一行项单元之间的余弦距离K,其可以被定义如下:
在框508,处理器基于余弦距离确定读取权重向量wt,并且在一些实施例中,使用余弦距离上的softmax函数进行计算。读取权重向量可以定义如下:
在此,βt是可以放大或降低焦点精度的正键强度,并且可以定义如下:
在一些实施例中,对于任何t,βt≥1。
在框508确定了控制读取权重向量之后,过程500移动到框510,在框510中,处理器检索项状态rit和奖励状态rrt。检索的项状态rit和奖励状态rrt可以定义如下:
在一些实施例中,模型中可以包括不止一个读取头。在判定框512,处理器确定模型中是否存在不止一个读取头。如果否,则过程500移动到框514。否则,过程500返回框504以生成另一个键查询向量。当存在不止一个读取头时,可以针对每个读取头i学习键查询向量并且可以将项状态rit和奖励状态rrt分别设置为∑irit(i)和∑irrt(i)。在框514,处理器基于所检索的单元数据和任意相关联的奖励数据来预测奖励。在一些实施例中,预测可以是由读取头针对数据项dt提供的奖励存储器的输出的线性投影:
在一些实施例中,当不存在存储的奖励数据时,诸如如果先前提供的数据未被提供相关联的奖励,则可以将rrt设置为0。当无奖励数据被存储在外部存储器中时,处理器可以提供其他输出数据,诸如输出与存储在外部存储器中的相关项数据相关联的内容,如包括与提供给模型的新输入数据具有共同特征的图像。处理500在框516结束。
尽管图5示出了读取头过程500的一个示例,但是可以对图5进行各种改变。例如,虽然被示为一系列步骤,但是图5中的各个步骤可以重叠、并行进行、以不同顺序进行、或进行任何次数。作为特定示例,在一些实施例中,框514中的奖励预测可以在使用新数据更新外部存储器的写入头的重写操作之前或之后进行。此外,在一些实施例中,该过程还可以确定外部存储器是否为空,并且如果是,则使用写入头代替该过程500执行写入步骤(因为外部存储器不包括任何数据进行读取),并且随后在将至少一轮数据存储在外部存储器中之后,执行过程500。
图6示出了根据本公开的各种实施例的示例写入头过程600。为了便于说明,过程600可以被描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程600可以由任何合适的设备和在任何合适的系统中使用。过程600可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。
在框602,处理器在写入头(诸如写入头312)处接收来自控制器(诸如控制器308)的项和奖励数据。在判定框604,处理器确定外部存储器(诸如外部存储器302)是否为空。例如,如果模型首次接收到用户的数据,则外部存储器可能尚未为该用户存储任何数据。如果在框606,处理器确定外部存储器不为空,则过程600移动到判定框616。如果在框606,处理器确定外部存储器为空,则过程移动到框606。在框606,处理器将外部存储器单元初始化为全部0值,并且初始化或设置相关的位置权重向量。在一些实施例中,处理器使用修改的LRUA过程来确保外部存储器中的存储器单元不会被重写,直到无存储器行是空的为止。LRUA通过平衡最相关的读取位置和最近最少使用的位置来寻址写入位置,从而使外部存储器保持最新和多样化。在第一轮t,最相关的位置权重可以设置如下:
的大小是外部存储器中的行数m。
在框608,处理器基于最近读取的位置权重向量来确定最不相关权重。最不相关权重可以定义如下:
这里,表示向量/>的第n个最小元素,n是读取头的数量,并且指示n个最不相关的数据单元。为了确保在重写外部存储器的非空行之前外部存储器被填满,在框610,处理器确定或设置最后的读取权重向量/>可以如下定义最后读取权重向量/>
最初,
在框612,处理器基于最后读取权重向量和最少使用的权重向量来定义写入权重可以如下地将写入权重/>定义为具有可训练S型(sigmoid)门的凸组合:
一旦处理器确定了写入权重处理器就在框614处基于写入权重/>更新相关的位置权重向量/>这可以如下进行:
在判定框616,处理器确定外部存储器是否已满。如果否,则在框618处,处理器将模型接收的新数据写入外部存储器中的空存储器单元中。然后,过程600在框622结束。如果处理器在判定框616确定外部存储器已满,则过程600移动到框620,在框620,处理器使用由模型接收的新数据重写最不相关或最少使用的存储器单元中的数据。当使用写入头向外部存储器进行写入时,处理器通过使用写入权重擦除并写入位置来更新项状态和奖励存储器状态。在擦除阶段,处理器可以按如下方式更新存储器中的项数据:
在擦除阶段期间,处理器可以按如下方式更新存储器中的奖励数据:
在重写过程的写入阶段,处理器可以按如下方式更新存储器中的项数据:
此外,在写入阶段期间,处理器可以按如下方式更新存储器中的奖励数据:
对于外部存储器中的每个单元i,处理器以这种方式将项数据和奖励数据重写到存储器。在这里,是由控制器输出的键查询向量,并且可以定义如下:
一旦处理器将新数据写入外部存储器,则过程600在框622结束。
尽管图6示出了写入头过程600的一个示例,但是可以对图6进行各种改变。例如,虽然被示为一系列步骤,但是图6中的各个步骤可以重叠、并行进行、以不同顺序进行、或进行任何次数。作为特定示例,在一些实施例中,可能已经确定了用于确定向单元中写入数据的权重,并且处理器因此可以获取新的输入和状态数据,并基于先前确定的权重将数据写入外部存储器。此外,在一些实施例中,由于在一些情况下,一旦存储器被第一次填满,随后的重写可能不会创建空单元(因为在随后的重写之前,单元不会被擦除),所以可以跳过关于存储器是否已满的确定。
图7示出了根据本公开的各种实施例的示例离线训练过程700。为了便于说明,过程700可以被描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程700可以由任何合适的设备和在任何合适的系统中使用。过程700可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。离线训练过程700使用多个数据集来训练深度记忆模型,诸如模型300。离线训练过程700利用多个数据集中包括的大量历史数据来训练关于先前选择的项和所观察的奖励的模型。由于外部存储器可以为不同的用户、组织或其他实体存储不同的数据,所以离线训练过程700训练模型的读取和写入能力,使得该模型以后可以用于有效地存储先前的交互和数据以学习用户偏好。
在过程700的该示例中,多个数据集包括第一数据集702、第二数据集704、第三数据集706和第四数据集708。每个数据集702、704、706、708均包括项a的历史状态。例如,第一数据集702包括等的历史状态,其中x1指示该历史状态是第一数据集702的或者是针对第一用户的,而/>指示该历史状态例如是针对第一数据集的第一项。多个数据集被组合以创建用于训练模型的片段(episode)。在一些实施例中,为了创建片段,数据集被改组(shuffle)或级联成片段,并且来自数据集的两个或更多个状态被添加到mini-batch,其中在片段中包括多个mini-batch。
作为示例,如过程700中所示,第一数据集702、第二数据集704、第三数据集706和第四数据集708被改组,使得片段710中包括两组数据集。片段710的第一组数据集包括来自第一数据集702的历史状态,经过改组使得第一数据集702的第二历史状态将被包括在第一mini-batch 712中,第一数据集702的第六历史状态将被包括在第二mini-batch中,依此类推。在第一组数据集中,第三数据集706经过改组而在第一数据集702的所有历史状态之后。片段710的第二组数据集以第二数据集704的第一历史状态、第二数据集704的第三历史状态等开始。在第二组数据集中,第四数据集708经过改组而在第二数据集704的所有历史状态之后。
如过程700中所示,数据集702、704、706、708中的每个的历史状态在数据集内被改组,使得数据集的历史状态仍然一起分组在相同数据集中,仅是改组了顺序。在一些实施例中,将数据集进行分组的这种方式被完成,使得训练数据的至少一部分共享共同特征,并且使得模型可以根据这些共同特征进行学习。例如,在过程700的示例中,第一数据集702和第二数据集704共享共同特征,并且第三数据集706和第四数据集708共享共同特征,并且片段被创建使得至少前几个mini-batch包括来自第一数据集702的历史状态和来自第二数据集704的历史状态。如图7所示,在与另一数据集共享共同特征的数据集包括比其他数据集更少的历史状态的情况下(由于第二数据集704具有比第一数据集702更少的历史状态),还可以创建包括不共享共同特征的历史状态的mini-batch,诸如图7中的第四mini-batch,其包括来自第一数据集702的历史状态和来自第四数据集708的历史状态。一旦数据集的所有历史状态都已用于以mini-batch训练模型,则可以重置或重新初始化外部存储器和/或控制器的历史状态,使得过去的历史状态不会影响使用下一个数据集的新历史状态的训练。
用于训练的每个片段可以具有固定的长度L,并且可以在每个片段的结尾更新模型参数。在一些实施例中,然后可以创建使用相同训练数据的新片段,诸如通过将数据集改组和/或级联成与先前片段不同的顺序和分组。此外,在一些实施例中,通过重新初始化每个新用户的历史状态,可以将每个数据集的历史状态级联以形成mini-batch的每个片段。在每个epoch(时元)的开始,在所有未选择的用户中随机选择B个(mini-batch的大小)数据集或用户。在每个片段中,在为一个用户改组并添加所选的项之后,可以在随后通过将外部存储器单元中的历史状态和控制器状态重新初始化,来级联新用户的项。在训练的每个迭代中,基于先前的历史状态来估计所选项的值。在每个片段的结尾,使用损失函数更新模型参数,其可以被定义如下:
在这里,rb,t是地面真值或观察的奖励,而vb,t是mini-batch的第b个样本中第t项的预测值。当所有训练数据被选择了时,训练epoch结束,总共可以运行K个epoch。为了开始新的训练epoch,可以再次改组数据集和关联的历史状态,并重复该过程。
尽管图7示出了离线训练过程700的一个示例,但是可以对图7进行各种改变。例如,虽然为了简单起见,图7中所示的每个mini-batch包括两个历史状态,但是每个mini-batch可以包括任意数量的历史状态。此外,可以使用任意数量的数据集。在一些实施例中,除了离线训练之外,还可以执行在线训练(如下所述),以便关于策略学习(诸如如何在每一轮中选择项)训练模型。
图8示出了根据本公开的各种实施例的示例离线训练过程800。为了便于说明,过程800可以被描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程800可以由任何合适的设备和在任何合适的系统中使用。过程800可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。
在框802,处理器接收多个数据集,每个数据集均包括要用于训练模型的历史状态。在判定框804,处理器确定是否存在任何来自先前片段的未完成的数据集,其包括尚未被用于训练的历史状态。如果是,则在框806,处理器随机选择要在片段中使用的未完成数据集之一,并使用未完成数据集的先前存储的状态来初始化模型的外部存储器状态和控制器状态。然后,该过程移动到框810。如果在判定框804处,处理器确定不存在来自先前片段的未完成的数据集,则在框808,处理器随机地选择新的数据集,并且诸如通过将外部存储器状态和控制器状态设置为0,初始化外部存储器状态和控制器状态。然后,过程800移动到框810。
在框810,处理器将来自在框806或808中随机选择的数据集的项添加到用于训练片段的样本中,其中训练片段的长度为L。在框812,处理器将一个或更多个其他数据集级联到在框810中创建的样本,并从级联数据集的历史状态中创建多个mini-batch。在一些实施例中,也可以以与框804-808中相似的方式随机地选择级联到样本的一个或更多个数据集。在框814,处理器使用所创建的多个mini-batch来训练模型。对于每个mini-batch,处理器操作模型来估计每个mini-batch的项值。在判定框816,处理器确定片段中的历史状态的数量是否小于L,其中L是片段的长度。如果是,则过程返回框812以将一个或更多个数据集级联到样本,并且创建更多的mini-batch。由于数据集可以包含不同数量的历史状态,因此将更多数据集级联到片段样本有助于确保在数据集被完全处理时创建新的mini-batch。当使用每个数据集的最后历史状态时,处理器还可以在继续使用包括来自新数据集的一个或更多个历史状态的下一个mini-batch进行训练之前,重置或重新初始化外部存储器状态和控制器状态。
如果处理器在判定框816确定片段中的项数不小于L,则处理器可以使用任何剩余mini-batch来训练模型,直到长度为L。然后,过程800移动到框818。在一些实施例中,处理器跟踪用于训练的项的数量直到达到长度L。过程800然后移动到框818,在框818,处理器将损失函数(诸如上面的等式(20)的L2loss函数)应用于更新模型的参数。然后,处理器存储数据集的结束状态。在一些实施例中,如果在框804和806中,存在未完成的数据集,则使用存储的结束状态。在判定框820,处理器确定是否要创建新片段。在一些实施例中,当达到片段长度L之后,还有剩余的尚未被用于训练的数据集时,或者当存在未完成的数据集时,处理器确定新的片段要被创建。如果处理器确定在达到片段长度L之后创建新的片段,则过程800返回框804。如果处理器在判定框820确定不创建新片段,则过程800移动到判定框822,在判定框822,处理器确定是否在另一个epoch中训练模型,诸如通过确定训练epoch的数量是否达到了K个epoch。如果处理器确定开始新的训练epoch,则过程800返回框802以使用多个数据集开始新的epoch。如果处理器确定不执行进一步的训练,则过程800在框824结束。
尽管图8示出了离线训练过程800的一个示例,但是可以对图8进行各种改变。例如,虽然被示为一系列步骤,但是图8中的各个步骤可以重叠、并行进行、以不同顺序进行、或进行任何次数。作为特定示例,在一些实施例中,判定框816可以在框814之前进行,使得在任意mini-batch用于训练之前就已经达到该片段的长度L。另外,在一些实施例中,在到达判定框816之前,可以在框812中使用不止一个mini-batch进行训练,诸如使用每个创建的mini-batch进行训练,确定到目前为止该片段中用于训练的项的数量是否小于L,然后级联更多数据集。
图9示出了根据本公开的各种实施例的示例在线训练过程900。为了易于说明,过程900可以被描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程900可以由任何合适的设备和在任何合适的系统中使用。过程900可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。由于存储在外部存储器中的历史状态与用于训练模型如何读写外部存储器的离线模型训练无关,因此可以对不断更新状态的模型执行在线训练。
如图9所示,过程900包括一个或更多个过渡实例,其在第t-1轮以写入阶段902开始,在第t轮以读取阶段904结束。在写入阶段902中,当在t-1轮针对所选项at-1观察到奖励ru,at-1时,控制器调用写入头906以将外部存储器状态908更新为更新的外部存储器状态910/>控制器将控制器状态912/>更新为更新的控制器状态914/>利用更新的外部存储器状态910和更新的控制器状态914,新数据{xu,a}a∈A被观察以开始t轮。控制器调用读取头916以估计项的值和任何相关联的奖励。在一些实施例中,可以从新数据中选择项和相关联的奖励。所观察的奖励ru,at用于将过渡实例918标记为/>并且过渡实例从t-1轮到t轮可以如下定义:
在线训练过程900包括:在每轮t中从前一轮获取一对所选项和所观察的奖励(xu,at-1,ru,at-1)作为输入,以使用写入头906更新存储器状态和控制器状态。在新状态下,读取头916被调用以估计每个项a的值vu,t,a。
在每轮t的结尾,构建每轮t-1和t之间的过渡实例并将ru,at分配给/>的标签。/>被存储在表示为D的回放(reply)缓冲器中,并与D中的采样过渡实例一起用于经验回放920,以通过使用损失函数922使L2loss最小化,对模型进行微调。损失函数922可以定义如下:
尽管图9示出了在线训练过程900的一个示例,但是可以对图9进行各种改变。例如,在一些实施例中,第二轮中的所选项可以被随机选择。
图10示出了根据本公开的各种实施例的示例在线训练过程1000。为了易于说明,过程1000可以被描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程1000可以由任何合适的设备和在任何合适的系统中使用。过程1000可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。
在框1002,处理器初始化模型的外部存储器状态和控制器状态/>并从离线预训练模型加载参数θ,诸如关于图7和图8所描述的。处理器还初始化模型的过渡状态。在框1004,在第一轮t中,处理器观察数据,诸如由用户提供的所有项a∈A的/>或数据集。在框1006,处理器随机地选择项并观察与该项相关联的奖励。在框1008,在第二轮t中,处理器调用写入头(诸如写入头312),并将针对在框1006中选择的项和奖励的数据写入到外部存储器。例如,在每轮中,处理器可以将前一轮中的所选项和所观察的奖励的元组(tuple)写入到外部存储器。在框1010,保存更新的外部存储器状态。控制器状态也可以相应地被更新。
在框1012,对于每个项a∈A,处理器调用读取头,使用当前模型参数θ来估计值vu,t,a。在框1014,处理器存储更新的过渡实例。在每轮t的结尾,构建每轮t-1和t之间的过渡实例并将ru,at分配给/>的标签。此外,/>被存储在回放缓冲器D中。在框1016,处理器从回放缓冲器D随机采样过渡实例的mini-batch B_t。在每个项选择的结尾,处理器通过使用当前过渡以及前一轮的B-1随机采样的过渡,经由经验回放来更新模型。采样的过渡实例用于经验回放以微调模型。在框1018,处理器使用损失函数(诸如等式(22)的损失函数)来最小化L2loss。在判定框1020,处理器确定模型是否要执行额外轮。如果是,则过程1000返回框1004。如果否,则过程1000在框1022结束。因此,在线训练过程1000进一步微调每个特定实体(诸如用户、组织或自动化系统)的模型,根据在每轮提供给模型的数据集进行学习。
尽管图10示出了在线训练过程1000的一个示例,但可以对图10进行各种改变。例如,虽然被示为一系列步骤,但是图10中的各个步骤可以重叠、并行进行、以不同顺序进行、或进行任何次数。作为特定示例,在一些实施例中,框1014中的所选项可以被随机选择。此外,在一些实施例中,对于用户已经使用了一段时间或在先前轮中使用的模型,可以不需要执行框1002。
图11示出了根据本公开的各种实施例的示例图像检索和预测过程1100。为了易于说明,过程1100可以被描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程1100可以由任何合适的设备和在任何合适的系统中使用。过程1100可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。
在框1102,在深度记忆模型中,处理器将图像库的图像的提取特征存储在外部存储器中。例如,存储在移动设备上的图像库中的多个图像可以具有从每个图像中提取的特征,并且深度记忆模型将所提取的特征存储在外部存储器中,使得多个图像的所提取的特征的共同特征在外部存储器中相关联,如关于本公开的深度记忆模型的各种实施例所描述的。在框1104,处理器接收查询图像。查询图像可以是由用户提供的图像,以便用户可以从图像库检索包括相似特征的图像,或者以便用户可以接收指示图像内容的输出。
在框1106,处理器调用与深度记忆模型相关联的读取头以读取外部存储器。在判定框1108,处理器确定外部存储器中的数据是否包括与查询图像共同的特征。如果否,则在框1110,处理器输出未找到结果的消息。如果在判定框1108,处理器确定在外部存储器中找到了相似特征,则过程1100移动到框1112,在框1112处理器将与查询图像具有共同特征的一个或更多个图像作为输出返回给用户。因此,过程1100提供由模型学习并存储在外部存储器中的特征,以用于在图像库中寻找与新查询或输入图像共享特征的图像。
在判定框1114,处理器确定在框1112中返回的一个或更多个图像中的任何一个是否具有存储在外部存储器中的相关联奖励,诸如图像分类或标签。如果否,则过程在框1118结束,其中过程1100的输出仅包括返回的一个或更多个图像。如果在判定框1114,处理器确定在框1112中返回的一个或更多个图像中的至少一个图像具有存储在外部存储器中的相关联奖励,则过程1100移动到框1116,在框1116处理器输出查询图像的预测奖励数据。例如,如果查询图像包括狗的图像,并且处理器在判定框1108确定外部存储器包括与狗的图像的特征相似的特征,并且在判定框1114确定在外部存储器中共享共同特征的图像具有将图像标记为狗图像的相关联奖励数据,则在框1116,处理器可以向用户输出新的查询图像是狗的图像的奖励预测。过程1100在框1118结束。
尽管图11示出了图像检索和预测过程1100的一个示例,但是可以对图11进行各种改变。例如,虽然被示为一系列步骤,但是图11中的各个步骤可以重叠、并行进行、以不同顺序进行、或进行任何次数。作为特定示例,在一些实施例中,处理器可以仅返回相似图像或预测之一。此外,在一些实施例中,在框1110输出消息之后,处理器可以将查询图像的特征存储在外部存储器中,以潜在地从在随后的其他图像中接收的共同特征学习图像的特征。此外,在一些实施例中,当在判定框1108中未找到相似特征时,处理器可以向用户请求包括与查询图像相似的特征的新图像,而不是输出指示未找到结果的消息,以便将更多数据提供到深度记忆模型,并最终学习查询图像的内容。将理解的是,示例过程1100只是将深度记忆模型应用于特定问题或服务的一个示例,并且本公开中提供的深度记忆模型不限于示例过程1100。
图12示出了根据本公开的各种实施例的示例交互式搜索和推荐过程1200。为了便于说明,过程1200可以被描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程1200可以由任何合适的设备和在任何合适的系统中使用。过程1200可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。
在框1202,处理器接收搜索请求,诸如文本搜索请求、声音或语音请求或其他类型的搜索请求。在框1204,处理器将搜索请求的提取特征存储在外部存储器中。例如,搜索请求可以包括由NLU模型处理的语音请求,以提取请求的语言特征,这些语言特征被存储在外部存储器中。在框1206,处理器基于搜索请求返回搜索结果。例如,搜索请求可以包括基于产品的图像来查看更多类型的产品的请求。例如,在电子设备的屏幕上观看鞋子的图像的用户可以提供语音、文本或其他类型的搜索请求以查看相似的产品,其中在框1206提供的搜索结果包括其他鞋子产品。
在框1208,处理器接收关于搜索结果的用户反馈。例如,关于其他鞋子产品的搜索结果,用户可以提供另一输入,诸如语音输入,指示用户希望或更喜欢只看高跟鞋。在一些实施例中,处理器通过更新搜索结果来响应反馈。然后可以在更新的搜索上提供额外反馈,诸如鞋子示例中的关于颜色、尺寸或样式的反馈,以提供更多的过滤结果。本公开的深度记忆模型可以接收反馈或其他奖励数据,并将奖励数据存储在外部存储器中,以更好地了解用户的偏好。在框1210,处理器将在框1208接收的用户反馈与搜索请求的提取特征相关联地存储在外部存储器中。例如,如果搜索请求是要检索鞋子产品,而用户反馈是关于高跟鞋的,则与鞋子有关的提取特征将仅与高跟鞋的反馈相关联地存储。
在框1212,处理器接收后续搜索请求。由于已经使用来自框1202-1210中的先前搜索的搜索结果和反馈更新了外部存储器,因此处理器可以从先前搜索中进行学习以通知后续搜索。在判定框1214,处理器确定外部存储器是否包括与新搜索请求的特征共同的特征。如果否,则过程1200移动到框1216,在框1216,处理器基于新的搜索请求输出搜索结果。过程1200在框1222结束。
如果在判定框1214,处理器确定新搜索请求与来自所存储的先前搜索的搜索请求特征共享特征,则过程1200移动到框1218,在框1218,处理器从外部存储器读取与所存储的先前搜索的特征相关联的用户反馈。在框1220,处理器基于所存储的用户反馈,响应于在框1212接收到的新搜索请求,输出搜索结果。例如,如果在框1212接收到的新搜索请求包括搜索鞋子产品的请求,并且来自先前搜索的反馈指示诸如高跟鞋或蓝色鞋的某些参数,则即使新的搜索请求未指定任何参数,处理器也返回蓝色高跟鞋的搜索结果以满足用户的偏好。如果用户的偏好已改变,则用户可以向处理器提供新的反馈,该反馈可以被存储在外部存储器中,以通知进一步的后续搜索或推荐。过程1200在框1222结束。
尽管图12示出了交互式搜索和推荐过程1200的一个示例,但是可以对图12进行各种改变。例如,虽然被示为一系列步骤,但是图12中的各个步骤可以重叠、并行进行、以不同顺序进行、或进行任何次数。作为特定示例,在一些实施例中,过程1200可以从框1210循环返回以基于在框1208中接收到的用户反馈来输出新搜索结果,在接收到新的反馈时继续输出新搜索结果,直到无额外反馈被提供为止。将理解的是,示例过程1200只是将深度记忆模型应用于特定问题或服务的一个示例,并且本公开中提供的深度记忆模型不限于示例过程1200。
尽管已经利用示例实施例描述了本公开,但是可以向本领域技术人员提出各种改变和修改。意图是本公开涵盖落入所附权利要求的范围内的这样的改变和修改。
Claims (16)
1.一种对耦合到外部存储器的深度记忆模型进行管理的方法,所述方法包括:
由至少一个处理器接收对所述深度记忆模型的输入数据;
由所述至少一个处理器基于所述输入数据提取所述外部存储器的历史状态;
由所述至少一个处理器基于所述输入数据更新所述外部存储器的历史状态;以及
由所述至少一个处理器基于所提取的所述外部存储器的历史状态输出预测;
其中,所述外部存储器包括:
第一组存储器单元,所述第一组存储器单元用于存储内容项状态数据;以及
第二组存储器单元,所述第二组存储器单元用于存储与所述内容项状态数据相关联的奖励状态数据;
其中,提取所述外部存储器的历史状态包括:
由所述至少一个处理器基于所述输入数据、所述内容项状态数据和所述奖励状态数据来确定所述深度记忆模型的输出状态;
由所述至少一个处理器基于所述深度记忆模型的输出状态来生成键查询向量;
由所述至少一个处理器确定所述键查询向量与所述外部存储器中的一行或更多行存储器单元之间的距离;
由所述至少一个处理器基于所述距离确定读取权重向量;以及
由所述至少一个处理器基于所述读取权重向量检索所述外部存储器的历史状态;
其中,确定所述深度记忆模型的输出状态包括:
当没有与所述内容项状态数据相关联的奖励状态数据存储在所述外部存储器中时,由所述至少一个处理器检索存储在所述外部存储器中的其他内容项状态数据。
2.根据权利要求1所述的对深度记忆模型进行管理的方法,其中,所提取的历史状态包括与所述输入数据共享一个或更多个特征的数据。
3.根据权利要求1所述的对深度记忆模型进行管理的方法,其中,更新所述外部存储器的历史状态包括:
由所述至少一个处理器确定所述外部存储器已满;以及
由所述至少一个处理器重写所述外部存储器中的包括与所述输入数据最不相关的数据的存储器单元。
4.根据权利要求1所述的对深度记忆模型进行管理的方法,其中:
所述输入数据包括图像;以及
所述预测包括所述图像的标签。
5.根据权利要求1所述的对深度记忆模型进行管理的方法,其中:
所述输入数据包括搜索查询;以及
所述预测包括一个或更多个搜索结果。
6.一种包括深度记忆模型的电子设备,所述电子设备包括:
至少一个存储器;以及
耦合到所述至少一个存储器的至少一个处理器,所述至少一个处理器被配置为:
接收对所述深度记忆模型的输入数据;
基于所述输入数据提取耦合到所述深度记忆模型的外部存储器的历史状态;
基于所述输入数据更新所述外部存储器的历史状态;以及
基于所提取的所述外部存储器的历史状态输出预测,
其中,所述外部存储器包括:
第一组存储器单元,所述第一组存储器单元用于存储内容项状态数据;以及
第二组存储器单元,所述第二组存储器单元用于存储与所述内容项状态数据相关联的奖励状态数据;
其中,为了提取所述外部存储器的历史状态,所述至少一个处理器被进一步配置为:
基于所述输入数据、所述内容项状态数据和所述奖励状态数据来确定所述深度记忆模型的输出状态;
基于所述深度记忆模型的输出状态来生成键查询向量;
确定所述键查询向量与所述外部存储器中的一行或更多行存储器单元之间的距离;
基于所述距离确定读取权重向量;以及
基于所述读取权重向量、所述内容项状态数据和所述奖励状态数据检索所述外部存储器的历史状态;
其中,为了确定所述深度记忆模型的输出状态,所述至少一个处理器被进一步配置为:
当没有与所述内容项状态数据相关联的奖励状态数据存储在所述外部存储器中时,检索存储在所述外部存储器中的其他内容项状态数据。
7.根据权利要求6所述的包括深度记忆模型的电子设备,其中,所提取的历史状态包括与所述输入数据共享一个或更多个特征的数据。
8.根据权利要求6所述的包括深度记忆模型的电子设备,其中,为了更新所述外部存储器的历史状态,所述至少一个处理器被配置为:
确定所述外部存储器已满;以及
重写所述外部存储器中的包括与所述输入数据最不相关的数据的存储器单元。
9.根据权利要求6所述的包括深度记忆模型的电子设备,其中:
所述输入数据包括图像;以及
所述预测包括所述图像的标签。
10.根据权利要求6所述的包括深度记忆模型的电子设备,其中:
所述输入数据包括搜索查询;以及
所述预测包括一个或更多个搜索结果。
11.一种包含计算机程序的计算机可读介质,所述计算机程序包括指令,所述指令在被执行时使电子设备的至少一个处理器执行权利要求1至5中任一项所述的方法。
12.一种对耦合到外部存储器的深度记忆模型进行训练的方法,所述方法包括:
由至少一个处理器从多个数据集中选择数据集;
由所述至少一个处理器将所选择的数据集添加到训练样本,其中,所述训练样本包括所述深度记忆模型的多个历史状态;
由所述至少一个处理器从所述多个历史状态创建一个或更多个微型批量;
由所述至少一个处理器使用所述一个或更多个微型批量训练所述深度记忆模型;
由所述至少一个处理器更新所述深度记忆模型的一个或更多个参数;
由所述至少一个处理器使用输入项和与所述输入项相关联的输入奖励更新所述深度记忆模型的一个或更多个状态以及所述外部存储器的状态,其中,所述输入项和所述输入奖励是在第一轮中被接收的;
由所述至少一个处理器在第二轮中使用当前模型参数估计多个项的值;
由所述至少一个处理器选择所述多个项中的一项和相关联的奖励;以及
由所述至少一个处理器基于所述多个项中的所选项和所述相关联的奖励,使损失最小化,
其中,所述多个项中的所述一项和所述相关联的奖励是随机选择的。
13.根据权利要求12所述的对深度记忆模型进行训练的方法,其中,所选择的数据集是随机选择的。
14.根据权利要求13所述的对深度记忆模型进行训练的方法,其中,所述的选择数据集包括:
由所述至少一个处理器确定来自先前训练片段的至少一个未完成数据集是可用的;
由所述至少一个处理器从所述先前训练片段中随机选择未完成数据集;以及
由所述至少一个处理器将所述未完成数据集中的剩余项添加到所述训练样本。
15.根据权利要求12所述的对深度记忆模型进行训练的方法,其中,将所选择的数据集添加到所述训练样本包括:
由所述至少一个处理器改组所选择的数据集的项;以及
由所述至少一个处理器将所选择的数据集与所述训练样本中的一个或更多个其他数据集级联。
16.根据权利要求12所述的对深度记忆模型进行训练的方法,还包括:
由所述至少一个处理器确定所述训练样本中的项的数量小于训练片段的长度;以及
由所述至少一个处理器将一个或更多个其他数据集添加到所述训练样本。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862717193P | 2018-08-10 | 2018-08-10 | |
US62/717,193 | 2018-08-10 | ||
US16/535,380 | 2019-08-08 | ||
US16/535,380 US11775815B2 (en) | 2018-08-10 | 2019-08-08 | System and method for deep memory network |
PCT/KR2019/010083 WO2020032692A1 (en) | 2018-08-10 | 2019-08-09 | System and method for deep memory network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112368718A CN112368718A (zh) | 2021-02-12 |
CN112368718B true CN112368718B (zh) | 2024-05-14 |
Family
ID=69406107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980044458.8A Active CN112368718B (zh) | 2018-08-10 | 2019-08-09 | 用于深度记忆网络的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11775815B2 (zh) |
EP (1) | EP3776372A4 (zh) |
CN (1) | CN112368718B (zh) |
WO (1) | WO2020032692A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220019909A1 (en) * | 2020-07-14 | 2022-01-20 | Adobe Inc. | Intent-based command recommendation generation in an analytics system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203619A (zh) * | 2015-05-29 | 2016-12-07 | 三星电子株式会社 | 数据优化的神经网络遍历 |
JP2017097693A (ja) * | 2015-11-26 | 2017-06-01 | Kddi株式会社 | 異なる周期階層のデータによる学習を行うデータ予測装置、情報端末、プログラム及び方法 |
CN106960252A (zh) * | 2017-03-08 | 2017-07-18 | 深圳市景程信息科技有限公司 | 基于长短时记忆神经网络的电力负荷预测方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6078918A (en) * | 1998-04-02 | 2000-06-20 | Trivada Corporation | Online predictive memory |
US20020147694A1 (en) | 2001-01-31 | 2002-10-10 | Dempsey Derek M. | Retraining trainable data classifiers |
US20060136402A1 (en) * | 2004-12-22 | 2006-06-22 | Tsu-Chang Lee | Object-based information storage, search and mining system method |
US7792353B2 (en) | 2006-10-31 | 2010-09-07 | Hewlett-Packard Development Company, L.P. | Retraining a machine-learning classifier using re-labeled training samples |
KR100921892B1 (ko) | 2008-04-25 | 2009-10-13 | 엔에이치엔(주) | 가중치 정규화를 이용한 랭크 학습 모델 생성 방법 및시스템 |
CN104903849B (zh) | 2012-09-07 | 2017-11-28 | 卡内基·梅隆大学 | 用于混合gpu/cpu数据处理的方法 |
US9454732B1 (en) | 2012-11-21 | 2016-09-27 | Amazon Technologies, Inc. | Adaptive machine learning platform |
US9576262B2 (en) | 2012-12-05 | 2017-02-21 | Microsoft Technology Licensing, Llc | Self learning adaptive modeling system |
US20150142713A1 (en) | 2013-11-04 | 2015-05-21 | Global Analytics, Inc. | Real-Time Adaptive Decision System And Method Using Predictive Modeling |
CN105849749A (zh) | 2013-11-15 | 2016-08-10 | 英特尔公司 | 使用分布式关联记忆库确定数据相关及其中的收敛的方法、系统和计算机程序产品 |
US9626361B2 (en) * | 2014-05-09 | 2017-04-18 | Webusal Llc | User-trained searching application system and method |
US9715642B2 (en) | 2014-08-29 | 2017-07-25 | Google Inc. | Processing images using deep neural networks |
US20160350653A1 (en) | 2015-06-01 | 2016-12-01 | Salesforce.Com, Inc. | Dynamic Memory Network |
US10474950B2 (en) * | 2015-06-29 | 2019-11-12 | Microsoft Technology Licensing, Llc | Training and operation of computational models |
JP6651629B2 (ja) | 2015-12-10 | 2020-02-19 | ディープマインド テクノロジーズ リミテッド | 外部メモリを用いたニューラルネットワークの拡張 |
CN109155002B (zh) | 2016-02-05 | 2021-11-09 | 渊慧科技有限公司 | 增强神经网络系统、方法和计算机程序 |
-
2019
- 2019-08-08 US US16/535,380 patent/US11775815B2/en active Active
- 2019-08-09 CN CN201980044458.8A patent/CN112368718B/zh active Active
- 2019-08-09 WO PCT/KR2019/010083 patent/WO2020032692A1/en unknown
- 2019-08-09 EP EP19848206.9A patent/EP3776372A4/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203619A (zh) * | 2015-05-29 | 2016-12-07 | 三星电子株式会社 | 数据优化的神经网络遍历 |
JP2017097693A (ja) * | 2015-11-26 | 2017-06-01 | Kddi株式会社 | 異なる周期階層のデータによる学習を行うデータ予測装置、情報端末、プログラム及び方法 |
CN106960252A (zh) * | 2017-03-08 | 2017-07-18 | 深圳市景程信息科技有限公司 | 基于长短时记忆神经网络的电力负荷预测方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020032692A1 (en) | 2020-02-13 |
EP3776372A1 (en) | 2021-02-17 |
US11775815B2 (en) | 2023-10-03 |
CN112368718A (zh) | 2021-02-12 |
EP3776372A4 (en) | 2021-06-02 |
US20200050934A1 (en) | 2020-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11573991B2 (en) | Deep reinforcement learning-based multi-step question answering systems | |
US10992839B2 (en) | Electronic device and method for controlling the electronic device | |
US20200302928A1 (en) | Electronic device and controlling method thereof | |
US11741398B2 (en) | Multi-layered machine learning system to support ensemble learning | |
US20220245424A1 (en) | Microgenre-based hyper-personalization with multi-modal machine learning | |
US11790895B2 (en) | System and method for natural language understanding | |
US11921777B2 (en) | Machine learning for digital image selection across object variations | |
US20210263963A1 (en) | Electronic device and control method therefor | |
US11455471B2 (en) | System and method for explaining and compressing deep learning natural language understanding (NLU) models | |
KR20220036956A (ko) | 생성적 및 검색-기반 애플리케이션들을 위한 효과적인 음악적 특징들을 학습하는 방법 | |
US20210383272A1 (en) | Systems and methods for continual learning | |
KR20190053481A (ko) | 사용자 관심 정보 생성 장치 및 그 방법 | |
US11989939B2 (en) | System and method for enhancing machine learning model for audio/video understanding using gated multi-level attention and temporal adversarial training | |
CN112368718B (zh) | 用于深度记忆网络的系统和方法 | |
US20220114479A1 (en) | Systems and methods for automatic mixed-precision quantization search | |
US11455827B2 (en) | High confidence predicted profiles for online dating matching using continuously learning machine learning models trained for each user with physical and facial attributes | |
US20230106213A1 (en) | Machine learning model compression using weighted low-rank factorization | |
CN116467594A (zh) | 一种推荐模型的训练方法及相关装置 | |
US11423225B2 (en) | On-device lightweight natural language understanding (NLU) continual learning | |
US20220222491A1 (en) | System and method for lightweight semantic masking | |
CN117859136A (zh) | 用于深度神经网络的基于扭矩的结构化修剪的电子设备和方法 | |
US20230017951A1 (en) | Artificial intelligence-based multi-goal-aware device sampling | |
US20210174910A1 (en) | Method and apparatus for generating new chemical structure using neural network | |
US20200364769A1 (en) | Exploration for interactive recommendation systems | |
WO2024127373A1 (en) | Electronic device and method for controlling the electronic device |
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 |