用于定制神经网络的系统和方法与流程

文档序号:20957515发布日期:2020-06-02 20:29阅读:353来源:国知局
用于定制神经网络的系统和方法与流程
优先权本申请要求标题为“用于定制神经网络的系统和方法(systemsandmethodsforcustomizingneuralnetworks)”的2018年10月18日提交的美国专利申请第16/164,671号和2017年10月19日提交的美国临时专利申请第62/574,650号的优先权,所述申请以全文引用的方式并入本申请中。本公开的实施例涉及神经形态计算领域。更具体来说,本公开的实施例涉及用于定制神经形态集成电路的神经网络的系统和方法。
背景技术
:在计算机科学中,机器学习是涉及为机器提供从数据学习且基于这些数据做出预测的能力的人工智能(“ai”)的规范。机器学习的一个分支包含例如深度学习,其利用深度或多层神经网络来从数据学习且基于这些数据做出预测。机器学习对于众多应用变得常见,所述应用包含生物信息学、计算机视觉、视频游戏、营销、医学诊断、在线搜索引擎和其它机器学习应用;然而,基于“计时”来处理指令的常规中央处理单元(“cpu”)不能够在保持低功耗的同时处理机器学习应用所需的数据。存在研发旨在保持低功耗的深度神经网络的直接硬件实施方案的研究努力,但现有研究努力仍不足以在保持足够低的功耗以供日常使用(例如独立电池供电装置)的同时提供机器学习应用的必需处理功率——尤其是针对新应用和现有应用中的新情况的定制处理能力。本文中所公开的是用于定制具有针对新应用和现有应用中的新情况的定制处理能力的神经网络的系统和方法。技术实现要素:本文中提供一种用于定制神经网络的系统,在一些实施例中,所述系统包含一个或多个服务器和一个或多个数据库服务器。所述一个或多个服务器配置成从客户端应用程序接收用户特定的目标信息以用于训练神经形态集成电路上的神经网络。所述一个或多个数据库服务器配置成从所述一个或多个服务器接收所述用户特定的目标信息且在一个或多个数据库中合并所述用户特定的目标信息。所述一个或多个数据库包含现有目标信息。所述用户特定的目标信息的所述合并在所述一个或多个数据库中形成合并的目标信息。所述系统进一步包含训练集构建器和训练器。所述训练集构建器配置成构建训练集以用于根据所述合并的目标信息来训练所述神经网络的基于软件的版本。所述训练器配置成用所述训练集训练所述神经网络的所述基于软件的版本以确定所述神经形态集成电路上的所述神经网络的一组突触权重。在一些实施例中,所述训练集构建器进一步配置成构建所述训练集以使用所述现有目标信息的现有训练。在一些实施例中,所述训练器进一步配置成鉴于新学习的用户特定的目标信息来更新先前学习的现有目标信息的所述基于软件的神经网络的所述突触权重。在一些实施例中,所述系统进一步包含文件构建器,所述文件构建器配置成构建所述一组突触权重的文件以用于更新包含所述神经网络的所述神经形态集成电路的固件。所述一个或多个服务器进一步配置成将所述文件提供给所述客户端应用程序以用于用所述神经网络的所述一组突触权重更新所述神经形态集成电路的所述固件。本文中提供一种用于定制神经网络的系统,在一些实施例中,所述系统包含一个或多个服务器和一个或多个数据库服务器。所述一个或多个服务器配置成从客户端应用程序接收用户特定的目标信息以用于训练神经形态集成电路上的神经网络。所述一个或多个数据库服务器配置成从所述一个或多个服务器接收所述用户特定的目标信息且在一个或多个数据库中合并所述用户特定的目标信息。所述一个或多个数据库包含现有目标信息。所述用户特定的目标信息的所述合并在所述一个或多个数据库中形成合并的目标信息。所述系统进一步包含训练集构建器和训练器。所述训练集构建器配置成构建训练集以用于根据所述合并的目标信息来训练所述神经网络的基于软件的版本。所述训练器配置成用所述训练集训练所述神经网络的所述基于软件的版本以确定所述神经形态集成电路上的所述神经网络的一组突触权重。所述系统进一步包含文件构建器。所述文件构建器配置成构建所述一组突触权重的文件以用于更新包含所述神经网络的所述神经形态集成电路的固件。在一些实施例中,所述训练集构建器进一步配置成构建所述训练集以使用所述现有目标信息的现有训练。所述训练器进一步配置成鉴于新学习的用户特定的目标信息来更新先前学习的现有目标信息的所述基于软件的神经网络的所述突触权重。所述一个或多个服务器进一步配置成将所述文件提供给所述客户端应用程序以用于用所述神经网络的所述一组突触权重更新所述神经形态集成电路的所述固件。本文中还提供一种用于定制神经网络的方法,在一些实施例中,所述方法包含:接收用户特定的目标信息以用于训练神经形态集成电路上的神经网络;合并所述用户特定的目标信息与现有目标信息以形成合并的目标信息;构建训练集以用于根据所述合并的目标信息来训练所述神经网络;和训练所述神经网络以确定所述神经网络的一组突触权重。接收所述用户特定的目标信息包含通过一个或多个服务器从客户端应用程序接收所述用户特定的目标信息。接收所述用户特定的目标信息进一步包含通过一个或多个数据库服务器从所述一个或多个服务器接收所述用户特定的目标信息。合并所述用户特定的目标信息与现有目标信息包含:在包含所述现有目标信息的一个或多个数据库中合并所述用户特定的目标信息以在所述一个或多个数据库中形成所述合并的目标信息。构建所述训练集以用于训练所述神经网络包含用训练集构建器构建所述训练集,其中所述训练集用于根据所述合并的目标信息来训练所述神经网络的基于软件的版本。训练所述神经网络包含:用训练器基于所述训练集来训练所述神经网络的所述基于软件的版本以确定所述神经形态集成电路上的所述神经网络的所述一组突触权重。在一些实施例中,所述方法进一步包含:在所述一个或多个数据库中合并所述用户特定的目标信息之前,标记所述一个或多个数据库中的所述目标信息。所述标记包含标记关键词以用于关键词定位。在一些实施例中,构建所述训练集包含构建配置成使用所述现有目标信息的现有训练的所述训练集。在一些实施例中,所述方法进一步包含用所述训练器鉴于新学习的用户特定的目标信息来更新先前学习的现有目标信息的所述基于软件的神经网络的所述突触权重。所述更新包含基于不同于已学习的所述现有目标信息的信息来训练所述基于软件的神经网络。在一些实施例中,所述方法进一步包含:用文件构建器构建所述一组突触权重的文件以用于更新包含所述神经网络的所述神经形态集成电路的固件。在一些实施例中,所述方法进一步包含将所述文件提供给所述客户端应用程序,由此允许用所述神经网络的所述一组突触权重更新所述神经形态集成电路的所述固件。在一些实施例中,所述方法进一步包含:在所述一个或多个数据库中合并所述用户特定的目标信息之前,标记所述一个或多个数据库中的所述目标信息,其中所述标记包含标记关键词以用于关键词定位;用所述训练器鉴于新学习的用户特定的目标信息来更新先前学习的现有目标信息的所述基于软件的神经网络的所述突触权重,其中所述更新包含基于不同于已学习的所述现有目标信息的信息来训练所述基于软件的神经网络;和用文件构建器构建所述一组突触权重的文件以用于更新包含所述神经网络的所述神经形态集成电路的固件;将所述文件提供给所述客户端应用程序,由此允许用所述神经网络的所述一组突触权重更新所述神经形态集成电路的所述固件。构建所述训练集包含将所述训练集配置成使用所述现有目标信息的现有训练。附图说明本公开的实施例是借助于实例而非借助于附图中的图的限制性来说明的,其中相似参考指示类似元件,且其中:图1说明根据一些实施例的用于设计和更新神经形态积体电路(“ic”)的系统。图2说明根据一些实施例的模拟乘法器阵列。图3说明根据一些实施例的模拟乘法器阵列。图4说明根据一些实施例的模拟乘法器阵列中的无偏置二象限乘法器。图5说明根据一些实施例的用于定制神经形态ic上的神经网络的系统。图6说明根据一些实施例的与联接到图5的系统的网络应用程序进行接口连接的客户端机器上的用户。图7a说明根据一些实施例的用于定制神经形态ic上的神经网络的方法。图7b说明根据一些实施例的用于在数据库中合并用户特定的目标信息的方法。图7c说明根据一些实施例的用于构建训练集的方法。图7d说明根据一些实施例的用于用新的突触权重更新神经形态ic的固件的方法。图8说明根据一些实施例的用于定制神经形态ic上的神经网络的方法。具体实施方式在以下描述中,使用特定术语来描述本发明的特征。举例来说,在某些情形下,术语“逻辑”可表示配置成进行一个或多个功能的硬件、固件或软件。作为硬件,逻辑可包含具有数据处理或存储功能性的电路系统。这种电路系统的实例可包含但不限于或不局限于微处理器、一个或多个处理器核心、可编程门阵列、微控制器、控制器、专用集成电路、无线接收器、传输器或收发器电路系统、半导体存储器或组合逻辑。术语“过程”可包含计算机程序(例如指令集合,在本文中也称为应用程序)的情形。在一个实施例中,过程可包含同时执行的一个或多个线程(例如每一线程可同时执行相同或不同指令)。术语“处理”可包含执行二进制或脚本,或启动在其中处理对象的应用程序,其中启动应解释为将应用程序置于打开状态下,且在一些实施方案中进行人与应用程序交互的典型的动作模拟。术语“对象”通常指代在输送中(例如通过网络)或静止(例如经存储)的数据集合,所述数据集合往往具有使得能够将其分类或输入的逻辑结构或组织。本文中,术语“二进制文件”与“二进制”将可互换地使用。术语“文件”在广义上用来指代与计算机程序一起使用的一组数据或数据集合、信息或其它内容。文件可作为单个实体、对象或单元经访问、打开、存储、操纵或以其它方式处理。文件可含有其它文件,且可含有相关或无关内容,或完全没有内容。文件还可具有逻辑格式,或者是具有多个文件的逻辑结构或组织的文件系统的部分。文件可具有名称,有时简称为“文件名”,且往往附加性质或其它元数据。存在许多类型的文件,例如数据文件、文本文件、程序文件和目录文件。文件可由计算装置的用户生成,或由计算装置生成。对文件的访问或操作可由一个或多个应用程序或计算装置的操作系统介导。文件系统可配置成组织存储装置的计算装置的文件。文件系统可实现文件的跟踪且实现对那些文件的访问。文件系统还可实现对文件的操作。在一些实施例中,对文件的操作可包含文件创建、文件修改、文件打开、文件读取、文件写入、文件关闭和文件删除。最后,如本文中所使用的术语“或”和“和/或”应解释为包含性的或意味着任何一个或任何组合。因此,“a、b或c”或“a、b和/或c”意味着“以下中的任一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅在元件、功能、步骤或动作的组合在一定程度上固有地相互排斥时才会出现这一定义的例外。同样,本文中所公开的是用于定制具有针对新应用和现有应用中的新情况的定制处理能力的神经网络的系统和方法。现参考图1,根据一些实施例说明用于设计和更新神经形态ic的系统100。如所展示,系统100可包含配置成用于设计和更新神经形态ic(例如神经形态ic102)的模拟器110、神经形态合成器120和云130。如进一步所展示,设计和更新神经形态ic可包含基于特定问题来用模拟器110创建机器学习架构。神经形态合成器120可随后将机器学习架构变换成导向到神经形态ic102的电子组件和与电子组件连接的节点的网表。此外,神经形态合成器120可将机器学习架构变换成详述神经形态ic102的ic布局的图形数据库系统(“gds”)文件。根据神经形态ic102的网表和gds文件,神经形态ic102自身可根据当前ic制造技术来制造。一旦制造神经形态ic102,就可部署其以对特定问题(针对所述特定问题设计了所述神经形态ic102)起作用。尽管初始制造的神经形态ic102可包含具有节点之间的定制突触权重的初始固件,但可通过云130来视需要更新初始固件以调整权重。由于云130配置成更新神经形态ic102的固件,所以不需要将云130用于神经形态ic102的日常使用。例如神经形态ic102的神经形态ic可比图形处理单元(“gpu”)解决方案节能高达100x或更多,且比具有符合或超出相当软件解决方案的精度的数字cmos解决方案节能高达280x或更多。这使得这种神经形态ic适合于电池供电的应用。例如神经形态ic102的神经形态ic可配置成用于专用标准产品(“assp”),包含但不限于关键词定位、说话者识别、一个或多个音频过滤器、语音增强、手势辨识、图像辨识、视频对象分类和分段,或包含无人机的自主车辆。举例来说,如果特定问题是关键词定位中的一个,那么模拟器110可相对于关键词定位的一个或多个方面而创建机器学习架构。神经形态合成器120可随后将机器学习架构变换成对应于用于关键词定位的神经形态ic的网表和gds文件,所述神经形态ic可根据当前ic制造技术来制造。一旦制造用于关键词定位的神经形态ic,就可部署其以对例如系统或装置中的关键词定位起作用。例如神经形态ic102的神经形态ic可部署在以下中:玩具、传感器、可穿戴物、扩增现实(“ar”)系统或装置、虚拟现实(“vr”)系统或装置、移动系统或装置、电器、物联网(“iot”)装置,或助听装置或系统。现参考图2,根据一些实施例说明模拟乘法器阵列200。这种模拟乘法器阵列可以是基于数字nor闪存阵列,因为模拟乘法器阵列的核心可类似于数字nor快闪阵列的核心。尽管如此,但模拟乘法器阵列的至少选择和读出电路系统不同于数字nor阵列。举例来说,将输出电流路由为到达下一层的模拟信号,而不是通过去往感测放大器/比较器的位线来转换成位。字线模拟由模拟输入信号而不是数字地址解码器驱动。此外,模拟乘法器阵列200可用于例如神经形态ic102的神经形态ic中。举例来说,神经网络可安置在神经形态ic的存储器扇区中的模拟乘法器阵列200中。然而,神经网络不限于前述内容。除安置在模拟乘法器阵列200中的神经网络的模拟层之外,神经网络可进一步包含数字层。由于模拟乘法器阵列200是模拟电路,所以输入和输出电流可在连续范围内变化,而不是简单地接通或断开。这可用于存储神经网络的与数字位相对的突触权重(也称为权重或系数)。在操作中,权重乘以输入电流以提供经组合以到达神经网络的决策的输出电流。模拟乘法器阵列200可利用标准编程和擦除电路系统来产生隧穿和擦除电压。现参考图3,根据一些实施例说明模拟乘法器阵列300。模拟乘法器阵列300可使用两个晶体管(例如正金属氧化物半导体场效应晶体管[“mosfet”]和负mosfet)来进行带符号权重(例如正权重或负权重)与非负输入电流的二象限乘法。如果输入电流乘以正或负权重,那么乘积或输出电流可分别是正的或负的。正加权乘积可存储在第一列(例如对应于模拟乘法器阵列300中的iout0+的列)中,且负加权乘积可存储在第二列(例如对应于模拟乘法器阵列300中的iout0-的列)中。前述正和负加权乘积或输出信号可视为用以提供有用信息以供做出决策的差动电流。因为来自正或负晶体管的每一输出电流接线到接地且分别与输入电流与正或负权重的乘积成比例,所以当输入电流或权重处于或接近于零时,正或负晶体管的功耗接近于零。也就是说,如果输入信号是“0”或如果权重是“0”,那么模拟乘法器阵列300的对应晶体管将不会消耗功率。这是很明显的,因为在许多神经网络中,往往大部分的权重是“0”,尤其在训练之后。因此,在不用进行或没有进行任何事情时保存能量。这不同于基于差分对的乘法器,其(例如通过尾偏置电流的方式)消耗恒定电流而不管输入信号是什么。现参考图4,根据一些实施例说明例如模拟乘法器阵列300的模拟乘法器阵列的无偏置二象限乘法器400。因为来自正晶体管(例如二象限乘法器400的m1)或负晶体管(例如二象限乘法器400的m2)的每一输出电流接线到接地且分别与输入电流与正或负权重的乘积成比例,所以当输入电流或权重处于或接近于零时,正或负晶体管的功耗处于或接近于零。也就是说,如果输入信号是“0”或如果权重是“0”,那么模拟乘法器阵列300的对应晶体管将不会消耗功率。这是很明显的,因为在许多神经网络中,往往大部分的值或权重是“0”,尤其在训练之后。因此,在不用进行或没有进行任何事情时保存能量。这不同于基于差分对的乘法器,其(例如通过尾偏置电流的方式)消耗恒定电流而不管输入信号是什么。当对例如无偏置二象限乘法器400的二象限乘法器进行编程时,可擦除每一可编程单元(例如包含晶体管m1的单元和包含晶体管m2的单元),由此在将单元中的每一个设定成其目标权重之前将单元设定成一个极端权重。将这延伸到例如模拟乘法器阵列300的完整阵列,可在将单元中的每一个设定成其目标权重之前将完整阵列中的可编程单元中的所有设定成一个极端权重。当将单元设定成其所需权重时,如果单元中的一个或多个设定有比目标更高的权重,那么存在过冲问题。也就是说,在将完整阵列中的单元中的所有重新设定成其目标权重之前,必须将所述单元重新设定成一个极端权重。然而,本文中提供的模拟乘法器阵列的无偏置二象限乘法器中的每一个的差分结构允许通过编程来补偿这种过冲,由此通过避免擦除的耗时过程和重新设定阵列中的单元中的所有来提供相比于当前技术的独特的优点。在通过编程来补偿过冲的实例中,可擦除二象限乘法器400的vi-和vi+以将单元设定成一个极端权重。在擦除单元之后,如果vi-编程有过大权重,那么vi+可编程有比初始目标更大的权重以补偿vi-的权重且实现初始目标效果。因此,可采用差分结构以在不必擦除任何一个或多个单元和重新开始的情况下补偿编程过冲。现参考图5,根据一些实施例说明用于定制神经形态ic上的神经网络的系统500。图6说明根据一些实施例的与联接到系统500的网络应用程序650进行接口连接的客户端机器600上的用户。如图5和6中所展示且参考图1,系统500包含云130,所述云130包含一个或多个服务器,例如一个或多个网络服务器132、一个或多个网络应用程序服务器134和一个或多个数据库服务器136,以及一个或多个数据库138。一个或多个网络服务器132配置成接收从网络应用程序650发送的用户特定的目标信息以用于训练神经网络,其中神经网络在例如神经形态ic102、模拟芯片、数字信号处理器(“dsp”)或某一其它平台的神经形态ic上。一个或多个网络服务器132配置成将用户特定的目标信息发送到一个或多个网络应用程序服务器134,所述网络应用程序服务器134又配置成将用户特定的目标信息发送到一个或多个数据库服务器136。尽管在本文中主要描述网络应用程序650用于将用户特定的目标信息发送到系统500,但在对前述内容进行一些修改的情况下,还可使用客户端机器600上的本地安装的应用程序来将用户特定的目标信息通过网络连接发送到系统500。举例来说,系统500不必包含或至少不需要利用一个或多个网络服务器132或网络应用程序服务器134以用于从客户端机器600上的本地安装的应用程序接收用户特定的目标信息。相反,系统500可包含一个或多个数据库服务器136的配置成接收用户特定的目标信息的应用程序编程接口(“api”)。无论一个或多个数据库服务器136接收用户特定的目标信息的方式是什么,一个或多个数据库服务器136都配置成在一个或多个数据库138中合并用户特定的目标信息。一个或多个数据库138配置成包含目标信息,所述目标信息可随时间推移用例如用户特定的目标信息的额外目标信息更新。如本文中所使用,“现有目标信息”包含在合并现有目标信息与一组用户特定的目标信息以形成合并的目标信息之前一个或多个数据库138中的任何现有目标信息。出于这种考虑,一个或多个数据库服务器136配置成从一个或多个网络应用程序服务器134接收用户特定的目标信息,且合并用户特定的目标信息以在一个或多个数据库138中形成合并的目标信息。目标信息或目标信号取决于assp(针对所述assp设计了神经形态ic),所述assp包含但不限于关键词定位、说话者识别、一个或多个音频过滤器、手势辨识、图像辨识、视频对象分类和分段,或包含无人机的自主车辆。因此,目标信息可包含用于关键词定位的特定关键词、用于说话者识别的特定说话者、用于图像辨识的图像类别等等。举例来说,可定制经设计用于语音控制咖啡机的神经形态ic,使得咖啡机的神经形态ic上的神经网络辨识例如“冲泡”、“停止”、“更多”、“更少”等的目标信息或关键词。举例来说,可定制经设计用于语音控制空调的神经形态ic,使得空调的神经形态ic上的神经网络辨识例如“暖和点”、“凉快点”、“开”、“关”等的目标信息或关键词。举例来说,可定制经设计用于智能家庭的神经形态ic,使得智能家庭的神经形态ic上的神经网络辨识例如“解锁门”、“锁门”等的目标信息或关键词。举例来说,可定制经设计用于智能相机的神经形态ic,使得智能相机的神经形态ic上的神经网络辨识例如人类、动物等的目标信息或图像类别。可进一步定制经设计用于智能相机的神经形态ic,使得智能相机的神经形态ic上的神经网络辨识例如枪击、玻璃碎裂等的目标信息或声学信号。尽管未在图5中明确展示,但在一些实施例中,系统500进一步包含训练集构建器、训练器和文件构建器。训练集构建器配置成构建训练集(例如用户特定的训练集)以用于根据合并的目标信息来训练系统500上的基于软件的神经网络。训练集可构建成使用现有目标信息的现有训练,以便不把时间和资源浪费在重新训练神经网络已学习的基于软件的神经网络上。训练器配置成用训练集训练基于软件的神经网络以确定神经网络的一组突触权重。训练器进一步配置成鉴于新学习的用户特定的目标信息来更新先前学习的现有目标信息的基于软件的神经网络的突触权重。更新突触权重不必包含重新训练,且以这一方式,训练器同样通过不重新训练已学习的基于软件的神经网络来节约时间和资源。系统500上的前述基于软件的神经网络是例如神经形态ic102的神经形态ic上的神经网络的软件表示。神经形态ic102可以是例如客户的神经形态ic的用户的神经形态ic,用户特定的目标信息上传到系统500以用于所述用户的神经形态ic。因此,可容易地用针对新应用或现有应用中的新情况的定制处理能力更新现有神经形态ic的突触权重或神经形态ic的设计。系统500的文件构建器配置成构建所述一组突触权重的文件以用于更新包含神经网络的神经形态ic的固件,如参考至少图1和图7d所描述。现参考图7a,根据一些实施例说明用于定制神经形态ic上的神经网络的方法700a。如图7a中所展示,方法700a包含合并用户特定的目标信息701a与来自一个或多个数据库的现有目标信息701b以在一个或多个数据库704中提供合并的目标信息的过程步骤702。如本文中所阐述,一个或多个数据库服务器136配置成从一个或多个网络应用程序服务器134接收用户特定的目标信息,且一个或多个数据库服务器136进一步配置成自动合并用户特定的目标信息与来自一个或多个数据库138的现有目标信息以在一个或多个数据库138中提供合并的目标信息。方法700a进一步包含:包含构建训练集(例如用户特定的训练集)的过程步骤706、包含用训练集训练基于软件的神经网络的过程步骤708,和包含提供神经形态ic的一组突触权重的过程步骤710。如本文中所阐述,训练集构建器配置成构建训练集,且训练器配置成训练基于软件的神经网络。现参考图7b,根据一些实施例说明用于在数据库中合并用户特定的目标信息的方法700b。如所展示,用于在数据库(例如一个或多个数据库138、数据库的副本或数据库的子集)中合并用户特定的目标信息701a的方法700b包含:确定用户特定的目标信息的特定情形(例如特定关键词、特定说话者、图像等)是否在数据库中作为现有目标信息存在的过程步骤712。如果用户特定的目标信息的特定情形在数据库中作为现有目标信息存在,那么用户特定的目标信息的特定情形不必在数据库中合并,且反而使用现有目标信息中的用户特定的目标信息的特定情形(过程步骤714)。如果用户特定的目标信息的特定情形不在数据库中作为现有目标信息存在,那么在数据库中合并用户特定的目标信息的特定情形以用于构建训练集(例如用户特定的训练集)(过程步骤702)。尽管未在图7b中展示,但在数据库中合并用户特定的目标信息进一步包含标记数据库、数据库的副本或数据库的子集中的目标信息以用于构建训练集(例如用户特定的训练集)。下文阐述的表1展示包含用于关键词定位的关键词的用于数据库(例如一个或多个数据库138)中的现有目标信息的实例标记。如果用户特定的目标信息的特定情形在数据库中作为现有目标信息存在,那么不必将用户特定的目标信息的特定情形重新标记为合并的目标信息中的所需目标信息。如果用户特定的目标信息包含背景信息(例如在关键词定位的上下文中的背景噪声)且这种背景信息在数据库中作为现有目标信息存在,那么将背景信息重新标记为在合并的目标信息中。下文阐述的表2展示包含用于关键词定位的关键词的用于数据库(例如一个或多个数据库138)中的合并的目标信息的实例标记,其中将现有目标信息的某些情形重新标记为“噪声”或“其它”。(参见表1和2并比较)。如果用户特定的目标信息的特定情形不在数据库中作为现有目标信息存在,那么将用户特定的目标信息的特定情形与现有目标信息合并且提供合并的目标信息中的所需目标信息的适当标记。表1.数据库中的现有目标信息.数据库文件标记开_01.wav“开”开_02.wav“开”关_01.wav“关”关_02.wav“关”热_01.wav“热”热_02.wav“热”冷_01.wav“冷”冷_02.wav“冷”门_解锁01.wav“门_解锁”门_解锁02.wav“门_解锁”门_锁01.wav“门_锁”门_锁02.wav“门_锁”地铁01.wav“噪声”或“其它”餐馆01.wav“噪声”或“其它”表2.数据库中的合并的目标信息.可随后从数据库提取合并的目标信息(例如表2的合并的目标信息)中的经标记目标信息以用于自动构建训练集(例如用户特定的训练集)。在这样做时,从合并的目标信息(例如音频录音中的时变频率内容)提取特征。可训练基于软件的神经网络辨识所需目标信息(例如“解锁门”和“锁门”)和所需目标信息的特征,而不考虑背景信息(例如“噪声”或“其它”)和背景信息的特征。这种训练包含将特征作为输入提供给基于软件的神经网络且使用神经网络优化算法(例如tensorflow中的梯度下降)来调整突触权重,使得在辨识所需目标信息时神经网络的输出是正的。这种训练产生用于对神经形态ic、模拟芯片、dsp或某一其它平台上的基于硬件的神经网络进行编程的多个突触权重,其中基于软件的神经网络与基于软件的神经网络彼此对应。多个突触权重映射到基于硬件的神经网络的个别电路元件体现的物理量(例如电流)。一旦经编程,基于硬件的神经网络就配置成在训练了对应部分基于软件的神经网络的基础上执行(例如分类任务,例如关键词定位(例如智能家庭环境中的“解锁门”和“锁门”))。现参考图7c,根据一些实施例说明用于构建训练集的方法700c。如所展示,用于构建训练集(例如用户特定的训练集)的方法700c包含确定是否已在用户特定的目标信息(例如特定关键词、特定说话者、图像等)的特定情形方面训练基于软件的神经网络的过程步骤716。如果已在用户特定的目标信息的特定情形方面训练基于软件的神经网络,那么训练器配置成构建训练集以使用用户特定的目标信息的特定情形的现有训练(过程步骤718)。当用户特定的目标信息已在数据库中作为现有目标信息存在时,可能出现已在用户特定的目标信息方面训练基于软件的神经网络的情形。如果尚未在用户特定的目标信息的特定情形方面训练基于软件的神经网络,那么训练器配置成构建训练集以基于用户特定的目标信息的特定情形来训练神经网络(过程步骤720)。700d以构建训练集的过程步骤722结束。现参考图7d,根据一些实施例说明用于用新的突触权重更新神经形态ic的固件的方法700d。如所展示,方法700d包含构建突触权重的文件以上传到神经形态ic的过程步骤724。构建器配置成根据输出来构建突触权重的文件726,所述输出由用训练集基于包含用户特定的目标信息的合并的目标信息来训练基于软件的神经网络产生。方法700d进一步包含用突触权重的文件更新神经形态ic的固件的过程步骤728。图8说明根据一些实施例的用于定制神经形态ic上的神经网络的方法800。如所展示,方法800包含数个过程步骤。在第一过程步骤802中,用户或客户将目标信号或用户特定的目标信息输入到应用程序中,例如网络应用程序650或具有与系统500的网络连接的本地安装的应用程序。在第二过程步骤804中,例如数据库服务器136中的一个或多个上的应用程序从一个或多个数据库138检索目标信号或现有目标信息。在第三过程步骤806中,由一个或多个数据库服务器136根据用户特定的目标信息和现有目标信息来构建包含合并的目标信息的一个或多个数据库138的经修改数据库。对于每一所需目标信号或用户特定的目标信息的每一特定情形,应用程序配置成在经修改数据库中适当地标记用户特定的目标信息的情形。在经修改数据库中将其它非所需目标信号或用户特定的目标信息的非所需情形标记为“其它”或其类似物。在第四过程步骤808中,经修改数据库用于训练表示神经形态ic上的神经网络的基于软件的神经网络,其中所述训练产生神经网络的一组突触权重。在第五过程步骤810中,将突触权重转译成文件格式以上传和存储在神经形态ic上。在前述实施方式中,参考其具体示范性实施例描述了本发明。然而,将显而易见的是,在不脱离所附权利要求书中所阐述的本发明的更广泛的精神和范围的情况下,可对其进行各种修改和改变。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1