CN111226228B - 用于定制神经网络的系统和方法 - Google Patents

用于定制神经网络的系统和方法 Download PDF

Info

Publication number
CN111226228B
CN111226228B CN201880061992.5A CN201880061992A CN111226228B CN 111226228 B CN111226228 B CN 111226228B CN 201880061992 A CN201880061992 A CN 201880061992A CN 111226228 B CN111226228 B CN 111226228B
Authority
CN
China
Prior art keywords
target information
neural network
user
training
specific target
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
Application number
CN201880061992.5A
Other languages
English (en)
Other versions
CN111226228A (zh
Inventor
K.F.布什
P.沃伦坎普
S.W.贝利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Morita Co
Original Assignee
Morita Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Morita Co filed Critical Morita Co
Publication of CN111226228A publication Critical patent/CN111226228A/zh
Application granted granted Critical
Publication of CN111226228B publication Critical patent/CN111226228B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Security & Cryptography (AREA)
  • Neurology (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本文中提供一种系统,在一些实施例中,所述系统包含配置成从客户端应用程序接收用户特定的目标信息以用于训练神经形态集成电路上的神经网络的一个或多个服务器和一个或多个数据库服务器。所述一个或多个数据库服务器配置成合并所述用户特定的目标信息与现有目标信息以在所述一个或多个数据库中形成合并的目标信息。所述系统进一步包含训练集构建器和训练器。所述训练集构建器配置成构建训练集以用于根据所述合并的目标信息来训练所述神经网络的基于软件的版本。所述训练器配置成用所述训练集训练所述神经网络的所述基于软件的版本以确定所述神经形态集成电路上的所述神经网络的一组突触权重。

Description

用于定制神经网络的系统和方法
优先权
本申请要求标题为“用于定制神经网络的系统和方法(SYSTEMS AND METHODS FORCUSTOMIZING NEURAL NETWORKS)”的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(例如神经形态IC 102)的模拟器110、神经形态合成器120和云130。如进一步所展示,设计和更新神经形态IC可包含基于特定问题来用模拟器110创建机器学习架构。神经形态合成器120可随后将机器学习架构变换成导向到神经形态IC 102的电子组件和与电子组件连接的节点的网表。此外,神经形态合成器120可将机器学习架构变换成详述神经形态IC 102的IC布局的图形数据库系统(“GDS”)文件。根据神经形态IC 102的网表和GDS文件,神经形态IC 102自身可根据当前IC制造技术来制造。一旦制造神经形态IC 102,就可部署其以对特定问题(针对所述特定问题设计了所述神经形态IC 102)起作用。尽管初始制造的神经形态IC 102可包含具有节点之间的定制突触权重的初始固件,但可通过云130来视需要更新初始固件以调整权重。由于云130配置成更新神经形态IC 102的固件,所以不需要将云130用于神经形态IC 102的日常使用。
例如神经形态IC 102的神经形态IC可比图形处理单元(“GPU”)解决方案节能高达100x或更多,且比具有符合或超出相当软件解决方案的精度的数字CMOS解决方案节能高达280x或更多。这使得这种神经形态IC适合于电池供电的应用。
例如神经形态IC 102的神经形态IC可配置成用于专用标准产品(“ASSP”),包含但不限于关键词定位、说话者识别、一个或多个音频过滤器、语音增强、手势辨识、图像辨识、视频对象分类和分段,或包含无人机的自主车辆。举例来说,如果特定问题是关键词定位中的一个,那么模拟器110可相对于关键词定位的一个或多个方面而创建机器学习架构。神经形态合成器120可随后将机器学习架构变换成对应于用于关键词定位的神经形态IC的网表和GDS文件,所述神经形态IC可根据当前IC制造技术来制造。一旦制造用于关键词定位的神经形态IC,就可部署其以对例如系统或装置中的关键词定位起作用。
例如神经形态IC 102的神经形态IC可部署在以下中:玩具、传感器、可穿戴物、扩增现实(“AR”)系统或装置、虚拟现实(“VR”)系统或装置、移动系统或装置、电器、物联网(“IoT”)装置,或助听装置或系统。
现参考图2,根据一些实施例说明模拟乘法器阵列200。这种模拟乘法器阵列可以是基于数字NOR闪存阵列,因为模拟乘法器阵列的核心可类似于数字NOR快闪阵列的核心。尽管如此,但模拟乘法器阵列的至少选择和读出电路系统不同于数字NOR阵列。举例来说,将输出电流路由为到达下一层的模拟信号,而不是通过去往感测放大器/比较器的位线来转换成位。字线模拟由模拟输入信号而不是数字地址解码器驱动。此外,模拟乘法器阵列200可用于例如神经形态IC 102的神经形态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发送的用户特定的目标信息以用于训练神经网络,其中神经网络在例如神经形态IC 102、模拟芯片、数字信号处理器(“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上的前述基于软件的神经网络是例如神经形态IC 102的神经形态IC上的神经网络的软件表示。神经形态IC 102可以是例如客户的神经形态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上。
在前述实施方式中,参考其具体示范性实施例描述了本发明。然而,将显而易见的是,在不脱离所附权利要求书中所阐述的本发明的更广泛的精神和范围的情况下,可对其进行各种修改和改变。

Claims (20)

1.一种用于定制神经网络的系统,其包括:
一个或多个包括微处理器的网络应用服务器,其配置成从客户端应用程序接收用户特定的目标信息以用于训练集成电路上的神经网络;
一个或多个包括微处理器的数据库服务器,其配置成
(i)从所述一个或多个网络应用服务器接收所述用户特定的目标信息,和
(ii)在包含现有目标信息的一个或多个数据库中合并所述用户特定的目标信息以在所述一个或多个数据库中形成合并的目标信息,其中如果第一用户特定的目标信息包括已经存在于所述一个或多个数据库服务器中作为现有目标信息的背景信息,则将所述第一用户特定的目标信息重新标记为背景信息;
其中所述系统被配置成构建训练集以用于根据所述合并的目标信息来训练所述神经网络的基于软件的版本;以及
被配置成用所述训练集训练所述神经网络的所述基于软件的版本以确定所述集成电路上的所述神经网络的一组突触权重。
2.根据权利要求1所述的系统,其中所述系统进一步配置成构建所述训练集以使用所述现有目标信息的现有训练。
3.根据权利要求1所述的系统,其中所述系统进一步配置成鉴于新学习的用户特定的目标信息来更新先前学习的现有目标信息的所述基于软件的神经网络的所述突触权重。
4.根据权利要求1所述的系统,其中所述系统进一步被配置成构建所述一组突触权重的文件以用于更新包含所述神经网络的所述集成电路的固件。
5.根据权利要求4所述的系统,其中所述一个或多个网络应用服务器进一步配置成将所述文件提供给所述客户端应用程序以用于用所述神经网络的所述一组突触权重更新所述集成电路的所述固件。
6.一种用于定制神经网络的系统,其包括:
一个或多个包括微处理器的网络应用服务器,其配置成从客户端应用程序接收用户特定的目标信息以用于训练集成电路上的神经网络;
一个或多个包括微处理器的数据库服务器,其配置成
(i)从所述一个或多个服务器接收所述用户特定的目标信息,和
(ii)在包含现有目标信息的一个或多个数据库中合并所述用户特定的目标信息以在所述一个或多个数据库中形成合并的目标信息,其中如果第一用户特定的目标信息包括已经存在于所述一个或多个数据库服务器中作为现有目标信息的背景信息,则将所述第一用户特定的目标信息重新标记为背景信息;
其中所述系统被配置成构建训练集以用于根据所述合并的目标信息来训练所述神经网络的基于软件的版本;
其中所述系统被配置成用所述训练集训练所述神经网络的所述基于软件的版本以确定所述集成电路上的所述神经网络的一组突触权重;和
其中所述系统进一步被配置成构建所述一组突触权重的文件以用于更新包含所述神经网络的所述集成电路的固件。
7.根据权利要求6所述的系统,其中所述系统进一步配置成构建所述训练集以使用所述现有目标信息的现有训练。
8.根据权利要求7所述的系统,其中所述系统进一步配置成鉴于新学习的用户特定的目标信息来更新先前学习的现有目标信息的所述基于软件的神经网络的所述突触权重。
9.根据权利要求8所述的系统,其中所述一个或多个网络应用服务器进一步配置成将所述文件提供给所述客户端应用程序以用于用所述神经网络的所述一组突触权重更新所述集成电路的所述固件。
10.一种用于定制神经网络的方法,其包括:
通过一个或多个服务器从客户端应用程序接收用户特定的目标信息以用于训练集成电路上的神经网络;
通过一个或多个数据库服务器从所述一个或多个服务器接收所述用户特定的目标信息;
在包含现有目标信息的一个或多个数据库中合并所述用户特定的目标信息以在所述一个或多个数据库中形成合并的目标信息,其中在确定第一用户特定的目标信息包括已经存在于所述一个或多个数据库服务器中作为现有目标信息的背景信息时,将所述第一用户特定的目标信息重新标记为背景信息;
用训练集构建器构建训练集,所述训练集用于根据所述合并的目标信息来训练所述神经网络的基于软件的版本;和
用训练器基于所述训练集来训练所述神经网络的所述基于软件的版本以确定所述集成电路上的所述神经网络的一组突触权重。
11.根据权利要求10所述的方法,其进一步包括:
在所述一个或多个数据库中合并所述用户特定的目标信息之前,标记所述一个或多个数据库中的所述目标信息,其中所述标记包含标记关键词以用于关键词定位。
12.根据权利要求10所述的方法,其中构建所述训练集包含构建配置成使用所述现有目标信息的现有训练的所述训练集。
13.根据权利要求10所述的方法,其进一步包括:
用所述训练器鉴于新学习的用户特定的目标信息来更新先前学习的现有目标信息的所述基于软件的神经网络的所述突触权重,其中所述更新包含基于不同于已学习的所述现有目标信息的信息来训练所述基于软件的神经网络。
14.根据权利要求10所述的方法,其进一步包括:
用文件构建器构建所述一组突触权重的文件以用于更新包含所述神经网络的所述集成电路的固件。
15.根据权利要求14所述的方法,其进一步包括:
将所述文件提供给所述客户端应用程序,由此允许用所述神经网络的所述一组突触权重更新所述集成电路的所述固件。
16.根据权利要求10所述的方法,其中所述基于软件的神经网络被配置为辨识一个或多个所需目标信息并且不考虑所述背景信息。
17.根据权利要求16所述的方法,其进一步包括:
用所述训练器鉴于新学习的用户特定的目标信息来更新先前学习的现有目标信息的所述基于软件的神经网络的所述突触权重,其中所述更新包含基于不同于已学习的所述现有目标信息的信息来训练所述基于软件的神经网络。
18.根据权利要求17所述的方法,其进一步包括:
用文件构建器构建所述一组突触权重的文件以用于更新包含所述神经网络的所述集成电路的固件。
19.根据权利要求18所述的方法,其进一步包括:
将所述文件提供给所述客户端应用程序,由此允许用所述神经网络的所述一组突触权重更新所述集成电路的所述固件。
20.根据权利要求19所述的方法,其中构建所述训练集包含构建配置成使用所述现有目标信息的现有训练的所述训练集。
CN201880061992.5A 2017-10-19 2018-10-19 用于定制神经网络的系统和方法 Active CN111226228B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201762574650P 2017-10-19 2017-10-19
US62/574650 2017-10-19
US16/164671 2018-10-18
US16/164,671 US11373091B2 (en) 2017-10-19 2018-10-18 Systems and methods for customizing neural networks
PCT/US2018/056754 WO2019079749A1 (en) 2017-10-19 2018-10-19 SYSTEMS AND METHODS FOR CUSTOMIZING NEURAL NETWORKS

Publications (2)

Publication Number Publication Date
CN111226228A CN111226228A (zh) 2020-06-02
CN111226228B true CN111226228B (zh) 2023-12-22

Family

ID=66169355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880061992.5A Active CN111226228B (zh) 2017-10-19 2018-10-19 用于定制神经网络的系统和方法

Country Status (3)

Country Link
US (2) US11373091B2 (zh)
CN (1) CN111226228B (zh)
WO (1) WO2019079749A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11328210B2 (en) 2017-12-29 2022-05-10 Micron Technology, Inc. Self-learning in distributed architecture for enhancing artificial neural network
US10522038B2 (en) 2018-04-19 2019-12-31 Micron Technology, Inc. Systems and methods for automatically warning nearby vehicles of potential hazards
US11373466B2 (en) 2019-01-31 2022-06-28 Micron Technology, Inc. Data recorders of autonomous vehicles
US11410475B2 (en) 2019-01-31 2022-08-09 Micron Technology, Inc. Autonomous vehicle data recorders
US20200293860A1 (en) * 2019-03-11 2020-09-17 Infineon Technologies Ag Classifying information using spiking neural network
CN112257840A (zh) * 2019-07-22 2021-01-22 华为技术有限公司 一种神经网络处理方法以及相关设备
US11755884B2 (en) 2019-08-20 2023-09-12 Micron Technology, Inc. Distributed machine learning with privacy protection
US11392796B2 (en) 2019-08-20 2022-07-19 Micron Technology, Inc. Feature dictionary for bandwidth enhancement
US11636334B2 (en) 2019-08-20 2023-04-25 Micron Technology, Inc. Machine learning with feature obfuscation
US11620435B2 (en) 2019-10-10 2023-04-04 International Business Machines Corporation Domain specific model compression
CN110955756A (zh) * 2019-12-04 2020-04-03 中电福富信息科技有限公司 基于深度学习的特定领域不良信息检测方法
US11675879B2 (en) 2020-02-20 2023-06-13 K2Ai, LLC Apparatus and method for operating a detection and response system
CN111370019B (zh) * 2020-03-02 2023-08-29 字节跳动有限公司 声源分离方法及装置、神经网络的模型训练方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106297774A (zh) * 2015-05-29 2017-01-04 中国科学院声学研究所 一种神经网络声学模型的分布式并行训练方法及系统
US9767410B1 (en) * 2014-10-03 2017-09-19 Google Inc. Rank-constrained neural networks
CN107209872A (zh) * 2015-02-06 2017-09-26 谷歌公司 强化学习系统的分布式训练

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7215663B1 (en) * 1996-01-16 2007-05-08 C2 Global Technologies, Inc. Private IP communication network architecture
US7020642B2 (en) * 2002-01-18 2006-03-28 Pavilion Technologies, Inc. System and method for pre-processing input data to a support vector machine
US8990133B1 (en) 2012-12-20 2015-03-24 Brain Corporation Apparatus and methods for state-dependent learning in spiking neuron networks
US9104973B2 (en) 2011-09-21 2015-08-11 Qualcomm Technologies Inc. Elementary network description for neuromorphic systems with plurality of doublets wherein doublet events rules are executed in parallel
US9208432B2 (en) 2012-06-01 2015-12-08 Brain Corporation Neural network learning and collaboration apparatus and methods
US9400954B2 (en) * 2012-07-30 2016-07-26 International Business Machines Corporation Multi-scale spatio-temporal neural network system
US10552734B2 (en) 2014-02-21 2020-02-04 Qualcomm Incorporated Dynamic spatial target selection
US20150324690A1 (en) * 2014-05-08 2015-11-12 Microsoft Corporation Deep Learning Training System
US20150324686A1 (en) * 2014-05-12 2015-11-12 Qualcomm Incorporated Distributed model learning
US10332004B2 (en) 2015-07-13 2019-06-25 Denso Corporation Memristive neuromorphic circuit and method for training the memristive neuromorphic circuit
US10229357B2 (en) * 2015-09-11 2019-03-12 Facebook, Inc. High-capacity machine learning system
US11580383B2 (en) * 2017-03-16 2023-02-14 Nec Corporation Neural network learning device, method, and program
US10083006B1 (en) * 2017-09-12 2018-09-25 Google Llc Intercom-style communication using multiple computing devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9767410B1 (en) * 2014-10-03 2017-09-19 Google Inc. Rank-constrained neural networks
CN107209872A (zh) * 2015-02-06 2017-09-26 谷歌公司 强化学习系统的分布式训练
CN106297774A (zh) * 2015-05-29 2017-01-04 中国科学院声学研究所 一种神经网络声学模型的分布式并行训练方法及系统

Also Published As

Publication number Publication date
WO2019079749A1 (en) 2019-04-25
CN111226228A (zh) 2020-06-02
US11373091B2 (en) 2022-06-28
US20220327384A1 (en) 2022-10-13
US20190122109A1 (en) 2019-04-25

Similar Documents

Publication Publication Date Title
CN111226228B (zh) 用于定制神经网络的系统和方法
CN111742330B (zh) 始终开启的关键字检测器
US11640518B2 (en) Method and apparatus for training a neural network using modality signals of different domains
CN110232123B (zh) 文本的情感分析方法及其装置、计算设备与可读介质
US11868876B2 (en) Systems and methods for sparsity exploiting
CN111656363A (zh) 用于音频信号处理的微控制器接口
US11216723B2 (en) Pulse-width modulated multiplier
US20220230648A1 (en) Method, system, and non-transitory computer readable record medium for speaker diarization combined with speaker identification
WO2019040672A1 (en) SYSTEMS AND METHODS FOR DETERMINING EFFECTS AT A CIRCUIT LEVEL ON THE PRECISION OF A CLASSIFIER
EP3973467A1 (en) Method of and system for multi-view and multi-source transfers in neural topic modelling
US20190026629A1 (en) Systems and Methods for Overshoot Compensation
US11803741B2 (en) Offline detector
CN115879508A (zh) 一种数据处理方法及相关装置
KR102215082B1 (ko) Cnn 기반 이미지 검색 방법 및 장치
CN112131884B (zh) 用于实体分类的方法和装置、用于实体呈现的方法和装置
CN112771609A (zh) 包括神经形态处理模块的传感器处理系统及其方法
CN111444335B (zh) 中心词的提取方法及装置
CN111527502B (zh) 用于部分数字再训练的系统和方法
CN111656360B (zh) 稀疏性利用的系统和方法
US11157535B2 (en) Method and system for subject-based ranking considering writer-reader interaction
CN116795956A (zh) 一种关键短语的获取方法以及相关设备
CN114358003A (zh) 目标句子识别方法、装置、设备、存储介质和程序产品
Nguyen et al. Smart Tourist Guide with Image Understanding Using Visual Instance Search

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