掌桥专利:专业的专利平台
掌桥专利
首页

用于深度记忆网络的系统和方法

文献发布时间:2023-06-19 09:52:39


用于深度记忆网络的系统和方法

技术领域

本公开总体上涉及机器学习系统。更具体地,本公开涉及用于深度记忆网络(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轮的历史状态S

当模型300接收到新数据314时,新数据首先被处理并用于更新控制器308的状态。例如,在一些实施例中,并且根据控制器308中包括的网络的类型,控制器308的控制器状态

设D为所有数据X的空间和K个动作A的有限集的X×[0,1]

具有个性化外部存储器的每个用户、组织或实体均对应于上下文。根据用户的反馈u

在此,

模型300保持历史状态S

模型300被配置为输出奖励预测322。在一些实施例中,奖励预测322包括值324,其可以被定义为

尽管图3A和3B示出了深度记忆模型300的一个示例,但是可以对图3A和3B进行各种改变。例如,深度记忆模型300的一些实施例可以放弃或延迟提供奖励预测,写入或重写将在稍后的时间或响应事件而用于提供服务的数据。此外,在一些实施例中,当最初被提供给模型300时,输入可以不包括奖励数据,并且稍后可以基于来自用户或其他实体的针对奖励数据的请求或确认来提供奖励。

图4示出了根据本公开的各种实施例的示例控制器过程400。为了便于说明,过程400可以被描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程400可以由任何合适的设备和在任何合适的系统中使用。过程400可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。

在框402,处理器在控制器(诸如控制器308)处接收输入数据。在一些实施例中,输入数据是所观察的数据,诸如图像数据、语言或话语数据或其他类型的数据,针对用户u,输入数据为

在框410,处理器经由控制器提供输入数据,诸如所选项x

在控制器包括LSTM网络的一些实施例中,处理器可以在每轮t如下地更新控制器:

这里,cc

在此,

在框420,处理器输出从读取头接收的相关数据,包括可能的奖励预测。在一些实施例中,处理器使用所观察的数据来估计每个项a的值{v

尽管图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)接收输出(诸如输出ch

在框506,处理器确定键查询向量

在框508,处理器基于余弦距离确定读取权重向量w

在此,β

在一些实施例中,对于任何t,β

在框508确定了控制读取权重向量

在一些实施例中,模型中可以包括不止一个读取头。在判定框512,处理器确定模型中是否存在不止一个读取头。如果否,则过程500移动到框514。否则,过程500返回框504以生成另一个键查询向量。当存在不止一个读取头时,可以针对每个读取头i学习键查询向量

在一些实施例中,当不存在存储的奖励数据时,诸如如果先前提供的数据未被提供相关联的奖励,则可以将rr

尽管图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,最相关的位置权重

在框608,处理器基于最近读取的位置权重向量来确定最不相关权重。最不相关权重

这里,

最初,

在框612,处理器基于最后读取权重向量和最少使用的权重向量来定义写入权重

一旦处理器确定了写入权重

在判定框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包括

作为示例,如过程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的大小)数据集或用户。在每个片段中,在为一个用户改组并添加所选的项之后,可以在随后通过将外部存储器单元中的历史状态和控制器状态重新初始化,来级联新用户的项。在训练的每个迭代中,基于先前的历史状态来估计所选项的值。在每个片段的结尾,使用损失函数更新模型参数,其可以被定义如下:

在这里,r

尽管图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)的L

尽管图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轮针对所选项a

在线训练过程900包括:在每轮t中从前一轮获取一对所选项和所观察的奖励(x

在每轮t的结尾,构建每轮t-1和t之间的过渡实例

尽管图9示出了在线训练过程900的一个示例,但是可以对图9进行各种改变。例如,在一些实施例中,第二轮中的所选项可以被随机选择。

图10示出了根据本公开的各种实施例的示例在线训练过程1000。为了易于说明,过程1000可以被描述为由图1中的电子设备101、102、104或服务器106中的任意一个的处理器120执行或以其他方式使用。然而,过程1000可以由任何合适的设备和在任何合适的系统中使用。过程1000可以与关于本公开的各种实施例描述的深度记忆模型(诸如模型300)一起使用。

在框1002,处理器初始化模型的外部存储器状态

在框1012,对于每个项a∈A,处理器调用读取头,使用当前模型参数θ来估计值v

尽管图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。

尽管已经利用示例实施例描述了本公开,但是可以向本领域技术人员提出各种改变和修改。意图是本公开涵盖落入所附权利要求的范围内的这样的改变和修改。

相关技术
  • 用于深度记忆网络的系统和方法
  • 基于深度学习模型与长短记忆网络的情绪识别方法及系统
技术分类

06120112332561