CN111788586B - 人工神经网络完整性验证 - Google Patents

人工神经网络完整性验证 Download PDF

Info

Publication number
CN111788586B
CN111788586B CN201980014959.1A CN201980014959A CN111788586B CN 111788586 B CN111788586 B CN 111788586B CN 201980014959 A CN201980014959 A CN 201980014959A CN 111788586 B CN111788586 B CN 111788586B
Authority
CN
China
Prior art keywords
ann
partitions
partition
memory
cryptographic
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
CN201980014959.1A
Other languages
English (en)
Other versions
CN111788586A (zh
Inventor
A·特罗亚
A·蒙代洛
M·皮萨萨莱
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.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN111788586A publication Critical patent/CN111788586A/zh
Application granted granted Critical
Publication of CN111788586B publication Critical patent/CN111788586B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/22Command input arrangements
    • G05D1/228Command input arrangements located on-board unmanned vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computational Linguistics (AREA)
  • Neurology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Algebra (AREA)
  • Medical Informatics (AREA)
  • Game Theory and Decision Science (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

一种示例方法包括接收针对采用人工神经网络ANN的系统的多个输入,其中所述ANN包括多个ANN分区,每个ANN分区具有存储在存储器中的与其相对应的相应权重矩阵数据和偏差数据。所述方法包含:确定所述多个输入所对应的ANN分区;从所述存储器中读取以下:对应于所确定的ANN分区的权重矩阵数据和偏差数据;以及对应于所述所确定的ANN分区的第一密码代码;使用从所述存储器中读取的所述权重矩阵数据和所述偏差数据来生成对应于所述所确定的ANN分区的第二密码代码;确定所述第一密码代码和所述第二密码代码是否匹配;以及响应于确定所述第一密码代码与所述第二密码代码之间的错配而向所述系统的控制器发出所述错配的指示。

Description

人工神经网络完整性验证
技术领域
本公开总体上涉及半导体存储器和方法,并且更具体地涉及与人工神经网络完整性验证相关的设备和方法。
背景技术
人工智能(AI)正在应用于宽范围的行业和各种电子系统中。例如,人工神经网络(ANN)正在应用于自主驾驶系统中。随着AI在这种电子系统中的使用的发展,出现了各种问题和/或顾虑。例如,采用AI的电子系统的整体系统安全是一个主要顾虑。
在自主车辆背景下,防止可能由例如评估(例如,详细说明)传感器输入生成的错误和/或处理错误可能是必要的以便使所述技术获得认可。在自主驾驶背景下,安全性也是主要顾虑,因为安全性黑客可能会导致重大安全问题。因此,提供能够提供经过改进的错误处理和/或经过改进的安全相关联的电子系统的方法和/或系统可能是有益的,所述经过改进的错误处理和/或经过改进的安全相关联的电子系统采用AI,同时限制对系统性能的影响。
发明内容
一方面,本申请涉及一种用于执行人工神经网络完整性验证的方法,所述方法包括:接收针对采用人工神经网络(ANN)的系统的多个输入,其中所述ANN包括多个ANN分区,每个ANN分区具有存储在存储器中的与其相对应的相应权重矩阵数据和偏差数据;确定所述多个输入所对应的ANN分区;从所述存储器中读取以下:对应于所确定的ANN分区的权重矩阵数据和偏差数据;以及对应于所述所确定的ANN分区的第一密码代码;使用从所述存储器中读取的所述权重矩阵数据和所述偏差数据来生成对应于所述所确定的ANN分区的第二密码代码;确定所述第一密码代码和所述第二密码代码是否匹配;以及响应于确定所述第一密码代码与所述第二密码代码之间的错配而向所述系统的控制器发出所述错配的指示。
另一方面,本申请涉及一种用于执行人工神经网络完整性验证的方法,所述方法包括:在采用人工神经网络(ANN)的系统的存储器中存储相应ANN分区的密码代码;其中所述ANN分区中的每一个包括一组神经元,所述组神经元具有与其相对应的突触权重和偏差集合;其中所述密码代码包括通过对对应于相应ANN分区的突触权重和偏差集合执行散列而生成的相应摘要;通过以下对所述ANN分区中的一或多个ANN分区执行完整性验证操作:从所述存储器中读取以下:对应于所述一或多个ANN分区的突触权重和偏差集合;以及对应于所述一或多个ANN分区的密码代码;使用从所述存储器中读取的所述突触权重和偏差集合来生成对应于所述一或多个ANN分区的相应验证密码代码,其中所述相应验证密码代码包括通过对所述相应突触权重和偏差集合执行散列而生成的相应验证摘要;将对应于所述一或多个ANN分区的摘要与所述相应验证摘要进行比较;以及响应于确定所述摘要中的一或多个摘要不同于所述验证摘要中的对应一个摘要而提供完整性验证失效的指示。
另一方面,本申请涉及一种采用人工神经网络(ANN)的设备,所述设备包括:存储器资源,所述存储器资源被配置成:存储器资源,所述存储器资源被配置成:存储对应于所述ANN的相应分区的突触权重和偏差集合;存储用于相应ANN分区的密码代码,其中所述密码代码包括通过对对应于相应ANN分区的突触权重和偏差集合执行散列而生成的相应摘要;以及处理资源,所述处理资源被配置成与对所述ANN分区中的一或多个ANN分区执行完整性验证操作相关联地执行以下:从所述存储器资源中读取以下:对应于所述一或多个ANN分区的突触权重和偏差集合;以及对应于所述一或多个ANN分区的密码代码;使用从所述存储器资源中读取的所述突触权重和偏差集合来生成对应于所述一或多个ANN分区的相应验证密码代码,其中所述相应验证密码代码包括通过对所述相应突触权重和偏差集合执行散列而生成的相应验证摘要;将对应于所述一或多个ANN分区的摘要与所述相应验证摘要进行比较;以及响应于确定所述摘要中的一或多个摘要不同于所述验证摘要中的对应一个摘要而提供完整性验证失效的指示。
另一方面,本申请涉及一种采用人工神经网络(ANN)的设备,所述设备包括:存储器资源,所述存储器资源被配置成:存储器资源,所述存储器资源被配置成存储对应于所述ANN的相应ANN分区的权重矩阵数据和偏差数据;以及处理资源,所述处理资源被配置成:接收多个输入;确定所述多个输入所对应的ANN分区;从所述存储器资源中读取以下:对应于所确定的ANN分区的权重矩阵数据和偏差数据;以及对应于所述所确定的ANN分区的第一密码签名;使用从所述存储器中读取的所述权重矩阵数据和所述偏差数据来生成对应于所述所确定的ANN分区的第二密码签名;确定所述第一密码签名和所述第二密码签名是否匹配;以及响应于确定所述第一密码签名与所述第二密码签名之间的错配而发出所述错配的指示。
附图说明
图1是根据本公开的多个实施例的呈电子系统形式的设备的框图,所述电子系统包括被配置成执行ANN完整性验证的子系统。
图2是根据本公开的多个实施例的呈控制单元形式的设备的框图,所述控制单元被配置成执行ANN完整性验证。
图3是根据本公开的多个实施例的ANN分区表的实例,所述分区表可以与执行ANN完整性验证相关联地使用。
图4A是根据本公开的多个实施例的与执行ANN完整性验证相关联的流程图。
图4B是根据本公开的多个实施例的与执行ANN完整性验证相关联的流程图。
图5A展示了根据本公开的多个实施例的ANN的通用节点的实例,可以对所述通用节点执行ANN完整性验证。
图5B展示了根据本公开的多个实施例的ANN的实例,可以对所述ANN执行ANN完整性验证。
具体实施方式
本公开包含与人工神经网络完整性验证相关的设备和方法。各种实施例提供了技术优势,如在利用人工神经网络的电子系统内的经过改进的数据完整性。例如,实施例可以通过检测由系统详细说明的突触权重和偏差信息是否已经改变(例如,由于安全性漏洞、由于用于存储信息的存储器内的“位翻转”、由于在系统组件之间传送信息期间发生的错误等)来提高这种系统内的安全。
在各个实例中,实施例可以防止这种数据完整性问题引起和/或成为安全顾虑。例如,响应于确定被详细说明的权重和偏差信息自从被存储以来已经改变,实施例可以基于来自执行这种动作的详细说明的输出向负责执行动作的控制组件发出安全警告。作为一个具体的实例,考虑利用ANN由自主车辆的电子控制单元(ECU)详细说明传感器的输入。这种详细说明的输出可能影响负责制动、转向、加速等的各种车辆子系统。在这种情况下,基于不准确和/或不正确的权重和偏差信息的详细说明可能导致不安全的制动、转弯、加速等。然而,根据本公开的多个实施例的完整性验证操作可以在ECU执行可能受信息的详细说明影响的各种功能之前确认权重和偏差信息的完整性。因此,可以防止响应于检测到数据完整性失效而执行各种ECU功能。
如本文进一步描述的,多个实施例利用密码术在采用ANN的系统内执行数据完整性检查。一些先前的方法可以利用密码术来加密(例如,隐藏)数据(例如,敏感的和/或私有的),使得其不易于受到安全性黑客的攻击。然而,这种先前方法不涉及如本文所描述的与ANN完整性验证相关联的密码术的使用。
本文中的图遵循编号惯例,其中第一一或多个数字对应于附图图号,并且其余数字标识附图中的元件或组件。可以通过使用类似的数字来标识不同图之间的类似元件或组件。例如,102可以引用图1中的元件“02”,并且类似的元件可以在图2中被引用为202。如应理解的,可以添加、交换和/或消除在本文的各个实施例中示出的元件,以提供本公开的多个另外的实施例。另外,如应理解的,在图中提供的元件的比例和/或相对尺度旨在展示本公开的某些实施例并且不应以限制性的意义而采用。
图1是根据本公开的多个实施例的呈电子系统100的形式的设备的框图,所述电子系统包括被配置成执行ANN完整性验证的子系统102。如本文所使用的,“设备”可以指但不限于各种结构或结构组合。例如,子系统102、存储器资源106、处理资源108和主机101可能分别地被认为是“设备”。
子系统102可以是例如控制单元,如自主车辆的ECU。在其它实例中,子系统102可以是存储系统,如固态驱动器(SSD)。在此实例中,系统100包含通过接口103耦接到子系统102的主机101。作为实例,在各种其它类型的主机中,主机101可以是主机系统,如个人膝上型计算机、台式计算机、数字相机、移动装置(例如,蜂窝电话)、网络服务器、物联网(IoT)启用的装置或存储器卡读取器。作为另一个实例,主机101可以是能够与子系统102无线通信(例如,通过网关)的外部主机装置。
一或多个处理资源108可以是例如一或多个离散组件(例如,多个控制器,如图2所示的控制器208-1、208-2和208-3),所述一或多个离散组件可以通过接口105(例如,总线,所述总线可以包含组合的地址总线/控制总线/数据总线或一或多个单独的总线)耦接到一或多个存储器资源106。一或多个处理资源108可以包含中央处理单元(CPU)、基于半导体的微处理器、基于集成电路的微处理器、向量处理器和/或适于检索和执行存储在存储器资源106中的指令的一或多个其它硬件装置。在多个实施例中,处理资源108可以被实施为一或多个专用集成电路(ASIC)、一或多个现场可编程门阵列(FPGA)、一或多个数字信号处理器(DSP)等。
一或多个处理资源108可以控制对存储器106的访问和/或可以促进主机101与存储器106之间的数据转移。如本文进一步描述的,根据本公开的实施例,一或多个处理资源108可以负责执行指令以执行与ANN完整性验证相关联的各种操作。例如,处理资源108可以接收ANN分区更新,验证所述更新,基于所述更新来更新ANN分区表,将从存储器中读取的密码代码与新生成的验证密码代码进行比较,响应于完整性验证失效而提供安全警告等。
一或多个存储器资源106可以包括多个存储器装置。存储器装置106可以包含包括非易失性存储器或易失性存储器的存储器装置。例如,存储器装置可以包括非易失性存储器,如用作系统的存储体积(例如,存储存储器)的闪速存储器或相变存储器,和/或存储器装置可以包括易失性存储器,如用作系统存储器(例如,系统的主存储器)的DRAM、SRAM等。
如以下进一步描述的,在多个实施例中,存储器106可以存储ANN分区表(例如,分区表307),所述分区表包括对应于相应ANN分区的密码代码。例如,密码代码可以是摘要签名或密码签名。存储器106也可以存储与由系统101采用的ANN(例如,如图5A和5B分别所示的ANN 561或571等ANN)相关联的各种矩阵数据以及与ANN完整性验证相关联的可由处理资源108执行的各种指令。
图2是根据本公开的多个实施例的呈控制单元202的形式的设备的框图,所述控制单元被配置成执行ANN完整性验证。控制单元202可以是子系统,如图1中描述的子系统102。在此实例中,控制单元202可以是自主车辆的ECU。
ECU 202包含多个处理资源208-1、208-2和208-3,所述处理资源可以被统称为控制器208。控制器208-1表示主控制器,所述主控制器(除了其它外)可以负责通过ANN 211获得待详细说明的数据(例如,来自多个车辆传感器212的数据),并且响应于来自ANN211的输出而操作多个致动器214。传感器212可以包含各种传感器,如图像传感器、雷达传感器和LIDAR传感器等。致动器214可以包含与制动、换档、加速、转向等相关联的各种致动器。
控制器208-2表示AI控制器,所述AI控制器可以负责执行对神经网络211的输入的详细说明。神经网络211可以是ANN,如图5A所示的ANN 561或图5B所示的571;然而,实施例不限于特定类型的ANN。AI控制器208-2可以访问ANN分区数据(例如,突触权重矩阵和偏差数据),所述ANN分区数据可以存储在存储器206-1和/或206-2中,并且可以基于激活功能(例如,激活功能562)对内容(例如,对输入数据、权重数据和偏差数据)的应用来提供ANN输出。AI控制器208-2也可以负责执行与“训练”ANN 211相关联的算法。
控制器208-3表示安全控制器,所述安全控制器可以负责生成对应于相应ANN分区的密码代码(所述密码代码可以是“摘要”或“签名”,这取决于密钥是否与生成密码代码相关联地使用),并将所生成的密码代码(所述密码代码可以被称为“验证密码代码”)与从存储器(例如,206-1)中读取的密码代码进行比较。如以下进一步描述的,对应于特定ANN分区的密码代码可以基于对应于特定ANN分区的突触权重和偏差的散列。在操作中,由控制器208-3生成的验证密码代码可以与ANN分区表207的对应验证代码进行比较,所述对应验证密码可以从存储器206-1中读取并提供到控制器208-3(例如,通过存储器206-2)。
控制器208-3也可以负责响应于确定来自ANN分区表的密码代码与由控制器208-3生成的对应验证代码不匹配而(例如,向控制器208-1)提供完整性验证失效的指示(例如,215)。指示215可以表示对控制器208-1的安全警告,所述控制器然后可以响应于接收到安全警告而确定采取(或不采取)适当的动作。
在此实例中,控制单元202包含存储存储器资源206-1和系统存储器资源206-2,所述存储存储器资源可以是非易失性存储器,所述系统存储器资源可以是用作控制器208-2和208-3的主存储器的易失性存储器。在此实例中,系统存储器206-2包含专用于相应控制器208-2和208-3的部分206-3(例如,“AI”)和206-4(例如,“安全”);然而,实施例不限于此。而且,尽管图2中未示出,但是主控制器208-1可以耦接到单独的专用系统存储器资源。
如图2所示,存储存储器206-1用于存储ANN分区表207以及数据矩阵209的存储。数据矩阵209可以包含各种ANN分区数据,如对应于与ANN 211相关联的ANN分区的节点和层的突触权重和偏差,所述各种ANN分区数据可以被存储为各种向量、矩阵和/或其组合。例如,可以通过控制单元202执行的ANN完整性验证操作的特定实例将在以下与图4A和4B相关联地进一步描述。
图3是根据本公开的多个实施例的ANN分区表307的实例,所述分区表可以与执行ANN完整性验证相关联地使用。ANN分区表307包含用于“n”个相应ANN分区317-0(分区0)、317-1(分区1)、……、317-n(分区n)的密码代码319-0(摘要0)、319-1(摘要1)、……、319-n(摘要n)。
在多个实施例中,每个代码319可以是使用密码散列算法生成的摘要,所述密码散列算法可以由以下等式表示:
摘要n=散列(S||B)
其中“摘要n”是对应于分区(例如,分区“n”)的密码代码,“S”是包含在分区中的所有突触权重的集合,“B”是包含在分区中的所有偏差的集合,并且“||”表示级联。如上所述,在多个实施例中,“散列”可以是未键控散列算法,如SHA-1、SHA-224、SHA-256、MD5、MD6等。可替代地,通过使用具有密钥(例如,密码代码=HMAC[secret_key,S||B])的消息认证代码(MAC)算法,可以使用键控散列算法(例如,HMAC、VMAC、UMAC等)来生成密码代码。散列(例如,w11||w12||w13||、……、||wmn、……、b1||b2||bk)内的级联权重(wij)和偏差(bk)的具体顺序可以是固定的,以避免产生不同结果的同一组权重和偏差的散列。本领域普通技术人员应了解,权重和偏差的相应值可以是固定或浮点值,每个值由8位、32位、64位等表示,这取决于实施方案。
因此,如ANN分区表307等分区表提供对应于ANN网络的相应ANN分区的唯一密码代码。如以下进一步描述的,在操作中,分区表可以例如响应于触发事件而从安全控制器(例如,208-3)的存储存储器(例如,206-1)读取到系统存储器(例如,206-3)中。ANN的分区之一的AI控制器(例如,208-2)可能使用触发事件。在这种实例中,AI控制器可以从存储存储器中读取对应数据矩阵(例如,突触权重和偏差数据),以便详细说明ANN输入并向主控制器(例如,208-1)提供输出。为了验证权重和偏差数据的完整性,也可以向安全控制器提供从存储存储器中读取的权重和偏差数据。当AI控制器正在详细说明输入时,安全控制器可以新生成(例如,计算)密码代码(所述密码代码可以被称为“验证密码代码”)并将所述密码代码与来自分区表307的对应密码代码进行比较。验证密码代码以与原始密码代码(例如,存储在表307中的密码代码)相同的方式生成。例如,“散列(S||B)”用于生成验证密码代码,其中“S”是包含在分区(例如,分区n)中的所有突触权重的集合,并且“B”是包含在分区中的所有偏差的集合。产生匹配的比较可以提供关于由AI控制器使用的权重和偏差数据的完整性的一些保证。相比之下,产生错配的比较可以指示与由AI控制器使用的权重和偏差数据相关联的错误。因此,响应于所确定的错配,可以向主控制器提供安全警告。
由于各种情况,可能导致所存储的密码代码(例如,摘要)与验证密码代码(例如,验证摘要)之间的错配。例如,安全性黑客可能导致存储在存储器中的数据(例如,数据矩阵209)改变。另一个实例是所存储的数据内出现的位失效。在各个实例中,错误校正码(ECC)引擎可以能够纠正从存储器中读取的数据中的一或多个错误位。然而,一种常见的错误校正技术是(例如,对数据页)的单一错误校正、双重错误检测。在这种场景中,可以检测到多个错误,并且对于ECC引擎来说,在页面中引入另外的错误是正常的,这也可能导致与提供到AI控制器的数据相关联的数据完整性降低。根据本公开的实施例,可能导致错配检测的第三实例是由于总线通信问题造成的。例如,当数据在系统组件之间移动时,如串扰、符号间干扰等问题可能导致一或多条总线线路的状态发生变化。由以上来源和其它来源导致的错误数据可以被本公开的实施例检测到,这可以降低不期望的和/或危险的系统影响的可能性。
图4A是根据本公开的多个实施例的与执行ANN完整性验证相关联的流程图。在480处,所述方法包含接收针对一或多个ANN分区的更新。所述更新可以包含对分区的各种改变,如调整突触权重、调整偏差、添加节点、删除节点等。分区表(例如,207、307)的初始化可以在系统(例如,ECU 202)被提供到客户之前发生,这可以确保分区表的初始真实性。然而,认证由一或多个外部装置(例如,主机101)接收的后续更新可能是有益的,所述一或多个外部装置可以是安全的,也可以是不安全的。如此,在481,确定更新是否被认证。例如,可以通过各种密码方法进行认证。如果更新未通过认证,则不实施更新(例如,如482处所示)。
如483处所示,响应于更新的认证,更新(例如,用新值替换)对应于更新中涉及的所述一或多个分区的权重和偏差。在484处,使用新生成的密码代码更新分区表。例如,因为分区的权重和/或偏差已经被更新,所以分区的摘要将必然改变。根据如以上所描述的密码散列函数来确定新的/替换代码。
如485处所示,在用新生成的密码代码更新分区表之后,这些新代码用于执行后续的完整性验证操作,以下与图4B相关联地描述其的一个实例。
图4B是根据本公开的多个实施例的与执行ANN完整性验证相关联的流程图。在490处,所述方法包含在存储器(例如,206-1)中存储对应于相应ANN分区的突触权重和偏差(例如,矩阵数据209)集合。在491处,所述方法包含在存储器中存储用于相应ANN分区的密码代码。密码代码可以是例如通过对相应突触权重和偏差集合执行散列而生成的摘要。摘要可以存储在分区表中,如图2所示的分区表207和图3所示的分区表307。
在492处,所述方法包含对ANN分区中的一或多个ANN分区执行完整性验证操作。如493处所示,执行完整性验证操作可以包含从存储器中读取对应于所述一或多个ANN分区的突触权重和偏差集合以及对应于所述一或多个ANN分区的密码代码。例如,AI控制器(例如,208-2)可以从存储器(例如,206-1)中读取分区表以及突触权重和偏差信息,并且可以将两者提供到安全控制器(例如,208-3)。
在494处,完整性验证操作包含使用从存储器中读取的突触权重和偏差集合来生成对应于所述一或多个ANN分区的相应验证密码代码。如以上所描述的,验证密码代码包括通过对级联的相应突触权重和偏差集合执行散列而生成的相应验证密码代码。
在495处,完整性验证操作包含将对应于所述一或多个ANN分区的密码代码与相应验证密码代码进行比较。在496处,完整性验证操作包含响应于确定密码代码中的一或多个密码代码不同于验证密码代码中的对应一个验证密码代码而提供完整性验证失效的指示。所述指示可以呈从安全控制器发送到主控制器的安全警告的形式,所述主控制器负责基于来自ANN(例如,通过AI控制器)的所接收的输出来控制系统操作。
图5A展示了根据本公开的多个实施例的ANN的通用节点(例如,“神经元”)550的实例,可以对所述通用节点执行ANN完整性验证。在此实例中,节点550表示前馈ANN 561的“第m个”节点。ANN 561可以是神经网络,如图2所示的神经网络211。尽管在图5A中未示出,但是ANN 561可以包含多层(例如,包括输入节点的输入层、包括输出节点的输出层以及包括相应中间节点集合的多个中间“隐藏”层)。如本文所描述的,本公开的多个实施例可以包含执行ANN分区的ANN完整性验证。如本文所使用的,ANN分区可以包括例如ANN内特定层的所有节点、来自特定层的节点的子集或来自ANN的两个或两个以上不同层的节点的子集。另外,特定节点(例如,节点550)可能驻留在多个不同的ANN分区中。通常,ANN分区是指特定ANN的节点的子集。
如图5A所示,特定节点(例如,550)可以接收多个输入(例如,p1、p2、……、pR),每个输入具有与其相关联的突触权重“wmk”(例如,wm1、wm2、……、wmR)。在图5A中,“wmk”表示权重矩阵的一部分,其中“m”对应于权重矩阵的“第m”行,并且“R”是对应于相应输入的索引。如图5A所示,节点550也包含相关联的偏差(例如,bm)。
如图5A所示,节点(例如,550)的输出(例如,am)可以基于激活函数(例如,fm)和输入集合(例如,bm、wmk和pk)来确定。等式562给出了示例输出。激活函数“fm”可以是各种函数,如阶跃函数、符号函数、sigmoid函数或线性函数等。
图5B展示了根据本公开的多个实施例的ANN 571的实例,可以对所述ANN执行ANN完整性验证。ANN 571是具有多层572-1、572-2和572-N的递归ANN的实例。在此实例中,层572-1表示输入层,层572-2表示隐藏层,并且层572-N表示ANN 571的输出层。作为实例,图2所示的神经网络211可以是ANN,如ANN 571。虽然仅示出了单个隐藏层572-2,但是实施例可以包含多个隐藏层,使得ANN 571可以被视为深ANN。
在图5B中,p1到pR表示对层572-1的相应节点(例如,输入节点“1”到“R”)的输入。在图5B中,“bk”表示对应于节点“k”的偏差。尽管未示出,但是各个其它节点可以包含相应偏差值,所述偏差值可以形成对应于ANN 571的特定层和/或分区的偏差向量。也示出了与ANN571的节点之间的连接相关联的各个突触权重。相应节点“p”和“q”的输出ap和aq可以通过等式如图5A所示的562来确定。应当注意,实施例不限于图5A和5B中描述的特定ANN。
本公开可以作为一或多个指令集(例如,计算机程序产品、软件等)提供,所述一或多个指令集可存储在计算机可读媒体上并且可执行(例如,通过处理资源)以执行根据本公开的一或多个方法。这种计算机可读存储媒体可以包含但不限于各种类型的盘,包含软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或适于存储电子指令的各种其它类型的媒体。
虽然已经在本文中说明和描述了具体实施例,但是本领域的普通技术人员应理解,旨在实现相同结果的布置可以替代所示出的具体实施例。本公开旨在覆盖本公开的一或多个实施例的改编形式或变化形式。应理解的是,上面的描述以说明性方式而非限制性方式进行。
在阅读以上描述后,上述实施例的组合以及本文未具体描述的其它实施例对于本领域的技术人员而言将是显而易见的。本公开的所述一或多个实施例的范围包含以上结构和方法被使用的其它应用。因此,本公开的一或多个实施例的范围应当参照所附权利要求连同与此类权利要求被赋予的等效物的全部范围确定。
在前述的具体实施方式中,一些特征出于简化本公开的目的而在单个实施例中聚集在一起。本公开的此方法不应被解释为反映本公开的所公开实施例必须使用比每项权利要求中明确引用的特征更多的特征。相反,正如以下的权利要求书所反映的,创造性主题在于少于单个公开的实施例的全部特征。因此,下面的权利要求据此结合到具体实施方式中,其中每项权利要求作为单独的实施例而独立存在。

Claims (17)

1.一种用于进行人工神经网络完整性验证的方法,所述方法包括:
接收针对采用人工神经网络ANN的系统(100)的多个输入,其中所述ANN包括多个ANN分区(317-0,317-1,……,317-N),每个ANN分区具有存储在存储器中的与其相对应的相应权重矩阵数据和偏差数据;
确定所述多个输入所对应的ANN分区(317-0,317-1,……,317-N);
从所述存储器中读取以下:
对应于所确定的ANN分区(317-0,317-1,……,317-N)的权重矩阵数据和偏差数据;以及
对应于所述所确定的ANN分区(317-0,317-1,……,317-N)的第一密码代码;
使用从所述存储器中读取的所述权重矩阵数据和所述偏差数据来生成对应于所述所确定的ANN分区(317-0,317-1,……,317-N)的第二密码代码;
确定所述第一密码代码和所述第二密码代码是否匹配;
响应于确定所述第一密码代码与所述第二密码代码之间的错配而向所述系统(100)的控制器发出所述错配的指示;
通过使用从所述存储器中读取并且对应于所述所确定的ANN分区(317-0,317-1,……,317-N)的所述权重矩阵和偏差数据评估所述多个输入来确定输出;
响应于确定所述第一密码代码与所述第二密码代码之间的匹配而使所述系统(100)基于所确定的输出执行特定动作;以及
响应于接收到所述错配的所述指示而阻止由所述系统(100)执行的所述特定动作。
2.根据权利要求1所述的方法,其中所述系统(100)包括自主车辆的电子控制单元(202),并且其中接收所述多个输入包括接收车辆传感器数据。
3.根据权利要求1所述的方法,其中所述方法包含在所述存储器中存储所述多个ANN分区(317-0,317-1,……,317-N)的相应密码代码,其中所述相应密码代码中的每个相应密码代码包括:
摘要,所述摘要从对应于所述相应ANN分区的所述权重矩阵数据和所述偏差数据的散列中生成。
4.根据权利要求3所述的方法,其中对于所述多个ANN分区(317-0,317-1,……,317-N)中的每一个,所述权重矩阵数据包括对应于所述相应ANN分区并由wij表示的突触权重,并且所述偏差数据包括对应于所述相应ANN分区并由bk表示的偏差,并且其中所述方法包括通过以固定顺序布置所述突触权重wij和所述偏差bk来生成针对所述多个ANN分区的相应摘要。
5.根据权利要求1所述的方法,其中所述方法包含响应于接收到对存储在所述存储器中的权重矩阵数据和偏差数据的更新而:
用经过更新的权重矩阵数据和偏差数据替换存储在所述存储器中的所述权重矩阵数据和所述偏差数据;
基于经过更新的数据生成用于所述相应ANN分区的经过更新的密码代码;以及
将所述经过更新的密码代码存储在所述存储器中。
6.根据权利要求5所述的方法,其中所述方法包含:
在用所述经过更新的数据替换存储在所述存储器中的所述权重矩阵数据和所述偏差数据之前认证所述更新;以及
响应于所述更新未被认证而中止所述更新。
7.一种用于进行人工神经网络完整性验证的方法,所述方法包括:
在采用人工神经网络ANN的系统(100)的存储器中存储相应ANN分区(317-0,317-1,……,317-N)的密码代码;
其中所述ANN分区中的每一个包括一组神经元,所述组神经元具有与其相对应的突触权重和偏差集合;
其中所述密码代码包括通过对对应于相应ANN分区(317-0,317-1,……,317-N)的突触权重和偏差集合执行散列而生成的相应摘要;
通过以下对所述ANN分区中的一或多个ANN分区执行完整性验证操作:
从所述存储器中读取以下:
对应于所述一或多个ANN分区的突触权重和偏差集合;以及
对应于所述一或多个ANN分区的密码代码;
使用从所述存储器中读取的所述突触权重和偏差集合来生成对应于所述一或多个ANN分区(317-0,317-1,……,317-N)的相应验证密码代码,其中所述相应验证密码代码包括通过对所述相应突触权重和偏差集合执行散列而生成的相应验证摘要;
将对应于所述一或多个ANN分区的摘要与所述相应验证摘要进行比较;
响应于确定所述摘要中的一或多个摘要不同于所述验证摘要中的对应一个摘要而提供完整性验证失效的指示;以及
在生成对应于所述一或多个ANN分区(317-0,317-1,……,317-N)的所述相应验证密码代码之前,对从所述存储器中读取的所述突触权重和偏差集合执行错误校正码ECC操作,并且其中所述完整性验证操作被配置成响应于通过所述ECC操作将一或多个错误位引入到从所述存储器中读取的所述突触权重数据和/或偏差数据中而导致完整性验证失效。
8.根据权利要求7所述的方法,其中所述方法包含响应于触发事件而启动所述完整性验证操作的执行,并且其中所述触发事件包括从包括以下的一组事件中选择的事件:
对所述系统(100)上电;
与操作所述系统(100)相关联地使用所述ANN分区中的一或多个;以及
由所述系统(100)的特定控制组件作出确定。
9.根据权利要求7所述的方法,其中对所述ANN分区(317-0,317-1,……,317-N)中的所述一或多个ANN分区执行所述完整性验证操作包括验证从所述存储器中读取的突触权重数据和偏差数据的完整性的密码方法,所述突触权重数据和所述偏差数据将由所述系统(100)评估,而无论是否使用密码术来模糊存储在所述存储器中的所述突触权重数据和所述偏差数据。
10.一种采用人工神经网络ANN的设备,所述设备包括:
存储器资源(106),所述存储器资源被配置成:
存储对应于所述ANN的相应分区(317-0,317-1,……,317-N)的突触权重和偏差集合(209);
存储用于相应ANN分区(317-0,317-1,……,317-N)的密码代码,其中所述密码代码包括通过对对应于相应ANN分区的突触权重和偏差集合(209)执行散列而生成的相应摘要;以及
处理资源(108),所述处理资源被配置成与对所述ANN分区中的一或多个ANN分区执行完整性验证操作相关联地执行以下:
从所述存储器资源中读取以下:
对应于所述一或多个ANN分区的突触权重和偏差集合;以及
对应于所述一或多个ANN分区的密码代码;
使用从所述存储器资源中读取的所述突触权重和偏差集合(209)来生成对应于所述一或多个ANN分区的相应验证密码代码,其中所述相应验证密码代码包括通过对所述相应突触权重和偏差集合执行散列而生成的相应验证摘要;
将对应于所述一或多个ANN分区的摘要与所述相应验证摘要进行比较;以及
响应于确定所述摘要中的一或多个摘要不同于所述验证摘要中的对应一个摘要而提供完整性验证失效的指示;
其中所述处理资源(108)包括多个控制组件,所述控制组件包含:
第一控制组件(208-2),所述第一控制组件被配置成基于对为所述ANN所接收的输入的评估提供ANN输出;
第二控制组件(208-1),所述第二控制组件被配置成响应于由所述第一控制组件(208-2)提供的ANN输出而控制各种组件;以及
第三控制组件(208-3),所述第三控制组件被配置成生成所述相应验证密码代码,将对应于所述一或多个ANN分区的所述摘要与所述相应验证摘要进行比较,并且将所述完整性验证失效的所述指示提供到所述第二控制组件(208-1)。
11.根据权利要求10所述的设备,其中所述第一控制组件(208-2)和所述第三控制组件(208-3)中的至少一个在物理上不同于所述第二控制组件(208-1)。
12.根据权利要求11所述的设备,其中所述第一控制组件和所述第三控制组件中的所述至少一个包括现场可编程门阵列FPGA。
13.一种采用人工神经网络ANN的设备,所述设备包括:
存储器资源(106),所述存储器资源被配置成:
存储对应于所述ANN的相应分区(317-0,317-1,……,317-N)的突触权重和偏差集合(209);
存储用于相应ANN分区(317-0,317-1,……,317-N)的密码代码,其中所述密码代码包括通过对对应于相应ANN分区的突触权重和偏差集合(209)执行散列而生成的相应摘要;以及
处理资源(108),所述处理资源被配置成与对所述ANN分区中的一或多个ANN分区执行完整性验证操作相关联地执行以下:
从所述存储器资源中读取以下:
对应于所述一或多个ANN分区的突触权重和偏差集合;以及
对应于所述一或多个ANN分区的密码代码;
使用从所述存储器资源中读取的所述突触权重和偏差集合(209)来生成对应于所述一或多个ANN分区的相应验证密码代码,其中所述相应验证密码代码包括通过对所述相应突触权重和偏差集合执行散列而生成的相应验证摘要;
将对应于所述一或多个ANN分区的摘要与所述相应验证摘要进行比较;以及
响应于确定所述摘要中的一或多个摘要不同于所述验证摘要中的对应一个摘要而提供完整性验证失效的指示;
其中所述存储器资源是包括非易失性存储器的第一存储器资源(206-1),其中所述设备包括与所述第一存储器资源分离的第二存储器资源(206-2),并且其中所述第二存储器资源被配置成在所述完整性验证操作期间存储对应于所述一或多个ANN分区的所述密码代码。
14.根据权利要求13所述的设备,其中所述设备包括错误校正码ECC组件,所述ECC组件被配置成与执行所述完整性验证操作相关联地对从所述第一存储器资源(206-1)中读取的提供到所述第二存储器资源(206-2)之前的数据执行错误校正操作。
15.根据权利要求13所述的设备,其中用于所述相应ANN分区的所述密码代码存储在所述第一存储器资源(206-1)中的分区表中,并且其中所述分区表作为所述完整性验证操作的一部分加载到所述第二存储器资源(206-2)中。
16.根据权利要求15所述的设备,其中所述分区表在被提供到客户之前初始化,并且其中在所述设备基于所接收的更新生成用于所述相应ANN分区的经过更新的密码代码之前,接收到的对所述ANN分区中的一或多个的更新被所述设备认证。
17.一种采用人工神经网络ANN的设备,所述设备包括:
存储器资源,所述存储器资源被配置成存储对应于所述ANN的相应ANN分区(317-0,317-1,……,317-N)的权重矩阵数据和偏差数据;以及
处理资源,所述处理资源被配置成:
接收多个输入;
确定所述多个输入所对应的ANN分区(317-0,317-1,……,317-N);
从所述存储器资源中读取以下:
对应于所确定的ANN分区(317-0,317-1,……,317-N)的权重矩阵数据和偏差数据;以及
对应于所述所确定的ANN分区的第一密码签名;
使用从所述存储器中读取的所述权重矩阵数据和所述偏差数据来生成对应于所述所确定的ANN分区(317-0,317-1,……,317-N)的第二密码签名;
确定所述第一密码签名和所述第二密码签名是否匹配;以及
响应于确定所述第一密码签名与所述第二密码签名之间的错配而发出所述错配的指示;
通过使用从所述存储器中读取并且对应于所述所确定的ANN分区(317-0,317-1,……,317-N)的所述权重矩阵数据和所述偏差数据评估所述多个输入来确定输出;
响应于确定所述第一密码签名与所述第二密码签名之间的匹配而使系统(100)基于所确定的输出执行特定动作;以及
响应于接收到所述错配的所述指示而阻止由所述系统(100)执行的所述特定动作。
CN201980014959.1A 2018-02-28 2019-01-25 人工神经网络完整性验证 Active CN111788586B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862636214P 2018-02-28 2018-02-28
US62/636,214 2018-02-28
US16/229,044 2018-12-21
US16/229,044 US11454968B2 (en) 2018-02-28 2018-12-21 Artificial neural network integrity verification
PCT/US2019/015067 WO2019168613A1 (en) 2018-02-28 2019-01-25 Artificial neural network integrity verification

Publications (2)

Publication Number Publication Date
CN111788586A CN111788586A (zh) 2020-10-16
CN111788586B true CN111788586B (zh) 2024-04-16

Family

ID=67685825

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980014959.1A Active CN111788586B (zh) 2018-02-28 2019-01-25 人工神经网络完整性验证

Country Status (3)

Country Link
US (3) US11454968B2 (zh)
CN (1) CN111788586B (zh)
WO (1) WO2019168613A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11301909B2 (en) * 2018-05-22 2022-04-12 International Business Machines Corporation Assigning bias ratings to services
DE102018221703A1 (de) * 2018-12-13 2020-06-18 HELLA GmbH & Co. KGaA Verifizierung und Identifizierung eines neuronalen Netzes
US11490135B2 (en) 2020-06-19 2022-11-01 Micron Technology, Inc. Surveillance camera upgrade via removable media having deep learning accelerator and random access memory
US11356601B2 (en) 2020-06-19 2022-06-07 Micron Technology, Inc. Intelligent digital camera having deep learning accelerator and random access memory
US20220101043A1 (en) * 2020-09-29 2022-03-31 Hailo Technologies Ltd. Cluster Intralayer Safety Mechanism In An Artificial Neural Network Processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
US11556790B2 (en) * 2020-09-30 2023-01-17 Micron Technology, Inc. Artificial neural network training in memory
CN113515812A (zh) * 2021-07-09 2021-10-19 东软睿驰汽车技术(沈阳)有限公司 自动驾驶方法、装置、处理设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020000666A (ko) * 2000-06-27 2002-01-05 이완석 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명인증방법
WO2017037444A1 (en) * 2015-08-28 2017-03-09 Statustoday Ltd Malicious activity detection on a computer network and network metadata normalisation
WO2017214507A1 (en) * 2016-06-09 2017-12-14 Progress, Inc. Neural network and method of neural network training

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7058617B1 (en) * 1996-05-06 2006-06-06 Pavilion Technologies, Inc. Method and apparatus for training a system model with gain constraints
US8380630B2 (en) * 2000-07-06 2013-02-19 David Paul Felsher Information record infrastructure, system and method
US20090240949A9 (en) 2004-04-23 2009-09-24 Kitchens Fred L Identity authentication based on keystroke latencies using a genetic adaptive neural network
US7461036B2 (en) 2006-01-18 2008-12-02 International Business Machines Corporation Method for controlling risk in a computer security artificial neural network expert system
US10257191B2 (en) 2008-11-28 2019-04-09 Nottingham Trent University Biometric identity verification
JP2017503222A (ja) 2013-01-25 2017-01-26 レムテクス, インコーポレイテッド ネットワークセキュリティシステム、方法、及び装置
US9047566B2 (en) * 2013-03-12 2015-06-02 Oracle International Corporation Quadratic regularization for neural network with skip-layer connections
WO2016043734A1 (en) * 2014-09-17 2016-03-24 Hewlett Packard Enterprise Development Lp Neural network verification
US9946970B2 (en) 2014-11-07 2018-04-17 Microsoft Technology Licensing, Llc Neural networks for encrypted data
US20170193361A1 (en) 2015-12-31 2017-07-06 Microsoft Technology Licensing, Llc Neural network training performance optimization framework
US10755172B2 (en) * 2016-06-22 2020-08-25 Massachusetts Institute Of Technology Secure training of multi-party deep neural network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020000666A (ko) * 2000-06-27 2002-01-05 이완석 다이나믹 프로그램과 뉴럴 네트워크를 이용한 전자서명인증방법
WO2017037444A1 (en) * 2015-08-28 2017-03-09 Statustoday Ltd Malicious activity detection on a computer network and network metadata normalisation
WO2017214507A1 (en) * 2016-06-09 2017-12-14 Progress, Inc. Neural network and method of neural network training

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于人工神经网络的数据散列加密算法;崔海霞等;《电子工程师》;第32卷(第05期);64-66 *

Also Published As

Publication number Publication date
CN111788586A (zh) 2020-10-16
US20230021289A1 (en) 2023-01-19
WO2019168613A1 (en) 2019-09-06
US20190265701A1 (en) 2019-08-29
US20240192684A1 (en) 2024-06-13
US11454968B2 (en) 2022-09-27
US11914373B2 (en) 2024-02-27

Similar Documents

Publication Publication Date Title
CN111788586B (zh) 人工神经网络完整性验证
US11290301B2 (en) Secure engine communication
CN111630513B (zh) 认证所存储代码和代码更新的真实性
US20210224159A1 (en) Determining validity of data read from memory by a controller
US8528085B1 (en) Method and system for preventing de-duplication side-channel attacks in cloud storage systems
US11334502B2 (en) Memory protection based on system state
US11791984B2 (en) Local ledger block chain for secure updates
US11755406B2 (en) Error identification in executed code
US11397814B2 (en) Local ledger block chain for secure electronic control unit updates
JP6639620B2 (ja) コード署名の条件付き規定に基づくセキュアクライアント認証
US11323265B2 (en) Storage device providing high security and electronic device including the storage device
US20230274002A1 (en) Firmware authenticity check
US20240195636A1 (en) Hardened Encoded Message Check for RSA Signature Verification
US20240135040A1 (en) Secured computer memory
US20230396449A1 (en) Device identifier composition engine 3-layer architecture
US20240059301A1 (en) Device and method for computing driving parameters
JP2020195134A (ja) メモリエラーを訂正するためのシステム及び方法

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