CN111488788B - 用于利用测试图案来检验cnn参数的完整性的方法及装置 - Google Patents
用于利用测试图案来检验cnn参数的完整性的方法及装置 Download PDFInfo
- Publication number
- CN111488788B CN111488788B CN202010010865.1A CN202010010865A CN111488788B CN 111488788 B CN111488788 B CN 111488788B CN 202010010865 A CN202010010865 A CN 202010010865A CN 111488788 B CN111488788 B CN 111488788B
- Authority
- CN
- China
- Prior art keywords
- output
- inspection
- test pattern
- sub
- test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24143—Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19173—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Computer Hardware Design (AREA)
- Image Analysis (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及一种利用待添加到至少一个原始输入中的至少一个测试图案来检验CNN(卷积神经网络)的至少一个参数的完整性的方法,其用于为了CNN上的功能安全性而在极端状况下提高容错性及波动稳健性并缩减标注成本,该方法包括以下步骤:(a)计算装置通过使至少一个添加单元对原始输入添加测试图案而生成至少一个扩展输入;(b)计算装置通过使CNN对扩展输入执行至少一次卷积运算而生成至少一个检验用输出;以及(c)计算装置通过使至少一个比较单元以至少一个基准用输出作为基准来判断检验用输出的有效性而检验CNN的参数的完整性。
Description
技术领域
本发明涉及一种用于与自动驾驶车辆一同使用的方法和计算装置,更详细而言,涉及一种用于利用测试图案来检验CNN(卷积神经网络,Convolutional Neural Network)参数的完整性(Integrity)的方法及计算装置。
背景技术
深度卷积神经网络(Deep Convolutional Neural Network或Deep CNN)是在深度学习领域中发生的辉煌发展的核心。虽然为了解决文字识别问题而在90年代已经使用了CNNs,但因近年来的研究结果而目前广泛使用CNNs。这种CNN在2012年ImageNet图像识别挑战赛中击败其他竞争对手获得冠军。之后,卷积神经网络已成为在机械学习(MachineLearning)领域中非常有用的工具。
CNN在车辆自动驾驶领域中也被广泛使用,主要通过分析经由附着于车辆的照相机获取到的影像来检测障碍物,并且通过执行检测自由空间(Free Space)等的功能而实现车辆安全驾驶。
在将自动驾驶用CNN实际投入到自动驾驶中时,非常重要的是自动驾驶用CNN的安全性。这是因为自动驾驶车辆高速行驶且具有较大的质量而错误驾驶时危险性较大。具体而言,这是因为如果有不良意图的黑客入侵自动驾驶用CNN而变更自动驾驶用CNN中包含的参数,则有可能会将自动驾驶用车辆故意用于恐怖活动。
因此,需要在测试过程中检验CNN参数是否维持与完成学习过程时的参数相同的状态的方法。但现实是迄今为止的研究主要集中在自动驾驶用CNN如何才能很好地移动车辆,而对如何维持这种安全性的方法的研究很少。
发明内容
技术问题
本发明的目的是解决上述问题。
本发明的另一目的是通过提供一种利用至少一个测试图案来检验CNN(Convolutional Neural Network,卷积神经网络)的一个以上的参数的完整性的方法来使自动驾驶车辆免受黑客的威胁而实现安全驾驶。
技术方案
为了达到如上所述的本发明的目的并实现后述的本发明的特征效果,本发明的特征结构如下所述。
根据本发明的一方面,提供一种用于利用待添加到至少一个原始输入(Input)中的至少一个测试图案来检验CNN(Convolutional Neural Network)的至少一个参数的完整性(Integrity)的方法,包括以下步骤:(a)在获取到所述测试图案时,计算装置通过使至少一个添加单元(Adding Unit)对所述原始输入添加所述测试图案而生成至少一个扩展输入(Extended Input);(b)所述计算装置通过使所述CNN对所述扩展输入执行至少一次卷积运算而生成至少一个检验用输出(Output);以及(c)所述计算装置通过使至少一个比较单元(Comparing Unit)以至少一个基准用输出作为基准来判断所述检验用输出的有效性(Validity)而检验所述CNN的所述参数的所述完整性。
在一实施例中,在所述(a)步骤中,所述计算装置使所述添加单元在对所述原始输入添加至少一个零图案(Zero Pattern)之后添加所述测试图案,使得所述零图案位于所述测试图案与所述原始输入之间。
在一实施例中,在所述(c)步骤中,所述计算装置使所述比较单元将包含在所述基准用输出中的一个或多个第一值与包含在所述检验用输出的整个区域当中与所述测试图案对应的至少一个特定区域中的与所述一个或多个第一值对应的第二值分别进行比较,当包含在所述基准用输出中的至少一个第一值和包含在所述特定区域中的与所述至少一个第一值对应的第二值不同时,所述计算装置使所述比较单元确定所述检验用输出有误,并且确定所述参数中的至少一部分存在至少一个错误。
在一实施例中,在所述(c)步骤中,所述计算装置使所述比较单元(i)生成与包含在所述检验用输出的整个区域当中与所述测试图案对应的至少一个特定区域的每个通道中的一个或多个值分别对应的一个或多个检验用代表值,(ii)将所述基准用输出的每个通道的一个或多个基准用代表值与所述特定区域的相应通道的所述检验用代表值分别进行比较,(iii)当至少一个基准用代表值不同于所述检验用代表值中与该至少一个基准用代表值对应的代表值时,确定所述检验用输出有误,并且确定所述参数中的至少一部分存在错误。
在一实施例中,在所述(a)步骤之前,当所述CNN的安全级别为临界级别以上时,所述计算装置通过使所述CNN对所述测试图案执行卷积运算而生成所述基准用输出。
根据本发明的另一方面,提供一种用于利用待添加到至少一个原始输入(Input)中的至少一个子测试图案(Sub-Test Pattern)来检验CNN(Convolutional NeuralNetwork)的至少一个参数的完整性的方法,包括以下步骤:(a)在获取到具有与包含在计算装置中的所述CNN的卷积核(Convolution Kernel)相同的大小的所述子测试图案时,计算装置通过使添加单元(Adding Unit)对所述原始输入反复进行添加所述子测试图案的操作而生成至少一个扩展输入(Extended Input);(b)所述计算装置通过使所述CNN对所述扩展输入执行至少一次卷积运算而生成至少一个检验用输出(Output);以及(c)所述计算装置通过使至少一个比较单元(Comparing Unit)以包含在所述检验用输出中的与所述子测试图案分别对应的至少一个检验用子输出(Sub-Output)作为基准来判断所述检验用输出的有效性(Validity)而检验所述CNN的所述参数的完整性。
在一实施例中,每个检验用子输出包括至少一个检验区域(Verifying Region)和非检验区域(Non-Verifying Region),在所述(c)步骤中,所述计算装置使所述比较单元将位于包含在所述检验用子输出中的检验区域上的相同的相对位置上的检验值(VerifyingValues)彼此比较,在所述检验值中的至少一个检验值与其他值不同时,所述计算装置使所述比较单元确定所述检验用输出有误,并且确定所述参数中的至少一部分存在至少一个错误。
在一实施例中,根据所述扩展输入上的所述子测试图案的位置来确定每个所述检验用子输出上的所述检验区域的位置和非检验区域的位置。
根据本发明的又一方面,提供一种计算装置,所述计算装置用于利用待添加到至少一个原始输入(Input)中的至少一个测试图案来检验CNN(Convolutional NeuralNetwork)的至少一个参数的完整性(Integrity),且包括:至少一个存储器,用于存储指令;和至少一个处理器,配置成运行用于执行以下过程的所述指令,(I)通过使至少一个添加单元(Adding Unit)对所述原始输入添加所述测试图案而生成至少一个扩展输入(ExtendedInput);(II)通过使所述CNN对所述扩展输入执行至少一次卷积运算而生成至少一个检验用输出(Output);以及(III)通过使至少一个比较单元(Comparing Unit)以至少一个基准用输出作为基准来判断所述检验用输出的有效性(Validity)而检验所述CNN的所述参数的所述完整性。
在一实施例中,在所述(I)过程中,所述处理器使所述添加单元在对所述原始输入添加至少一个零图案(Zero Pattern)之后添加所述测试图案,使得所述零图案位于所述测试图案与所述原始输入之间。
在一实施例中,在所述(III)过程中,所述处理器使所述比较单元将包含在所述基准用输出中的一个或多个第一值与包含在所述检验用输出的整个区域当中与所述测试图案对应的至少一个特定区域中的与所述一个或多个第一值对应的第二值分别进行比较,当包含在所述基准用输出中的至少一个第一值和包含在所述特定区域中的与该至少一个第一值对应的第二值不同时,所述计算装置使所述比较单元确定所述检验用输出有误,并且确定所述参数中的至少一部分存在至少一个错误。
在一实施例中,在所述(III)过程中,所述处理器使比较单元(i)生成与包含在所述检验用输出的整个区域当中与所述测试图案对应的至少一个特定区域的每个通道中的一个或多个值分别对应的一个或多个检验用代表值(Representative Value),(ii)将所述基准用输出的每个通道的一个或多个基准用代表值与所述特定区域的相应通道的所述检验用代表值分别进行比较,(iii)当至少一个基准用代表值不同于所述检验用代表值中与该至少一个基准用代表值对应的代表值时,确定所述检验用输出有误,并且确定所述参数中的至少一部分存在错误。
在一实施例中,在所述(I)过程之前,当所述CNN的安全级别为临界级别以上时,所述计算装置通过使所述CNN对所述测试图案执行卷积运算而生成所述基准用输出。
根据本发明的又一方面,提供一种计算装置,所述计算装置用于利用待添加到至少一个原始输入(Input)中的至少一个子测试图案(Sub-Test Pattern)来检验CNN(Convolutional Neural Network)的至少一个参数的完整性(Integrity),且包括:至少一个存储器,用于存储指令;以及至少一个处理器,配置成运行用于执行以下过程的指令,(I)在获取到具有与包含在所述计算装置中的所述CNN的卷积核(Convolution Kernel)相同的大小的所述子测试图案时,通过使添加单元(Adding Unit)对所述原始输入反复进行添加所述子测试图案的操作而生成至少一个扩展输入(Extended Input);(II)通过使所述CNN对所述扩展输入执行至少一次卷积运算而生成至少一个检验用输出(Output);以及(III)通过使至少一个比较单元(Comparing Unit)以包含在所述检验用输出中的与所述子测试图案分别对应的至少一个检验用子输出(Sub-Output)作为基准来判断所述检验用输出的有效性(Validity)而检验所述CNN的所述参数的完整性。
在一实施例中,每个检验用子输出包括至少一个检验区域(Verifying Region)和非检验区域(Non-Verifying Region),在所述(III)过程中,所述处理器使所述比较单元将位于包含在所述检验用子输出中的检验区域上的相同的相对位置上的检验值(VerifyingValues)彼此比较,在所述检验值中的至少一个检验值与其他值不同时,所述处理器使所述比较单元确定所述检验用输出有误,并且确定所述参数中的至少一部分存在至少一个错误。
在一实施例中,根据所述扩展输入上的所述子测试图案的位置来确定每个所述检验用子输出上的所述检验区域的位置和非检验区域的位置。
除此之外,还提供一种用于存储运行本发明的方法的计算机程序的计算机可读存储介质。
发明效果
本发明提供一种用于利用测试图案来检验CNN的参数的完整性的方法,从而具有能够安全地保护自动驾驶车辆免受黑客攻击的效果。
附图说明
为了说明本发明的实施例而所附的以下图只是本发明的实施例中的一部分,本发明所属技术领域的具有普通知识的人员(以下,称为“普通技术人员”)在未付出创造性劳动的情况下可以以该图为基础得到其他图。
图1是示意性地示出本发明的一实施例所涉及的用于执行利用至少一个测试图案来检验CNN(Convolutional Neural Network)的至少一个参数的完整性(Integrity)的方法的计算装置结构的图。
图2是示意性地示出本发明的一实施例所涉及的用于利用测试图案来检验CNN的参数的完整性的方法的流程图。
图3是示意性地示出本发明的一实施例所涉及的为了使用利用测试图案来检验CNN的参数的完整性的方法而生成的至少一个扩展输入(Extended Input)及至少一个检验用输出(Output)的图。
图4是示意性地示出本发明的另一实施例所涉及的为了使用利用至少一个子测试图案(Sub-Test Pattern)来检验CNN的参数的完整性的方法而生成的至少一个扩展输入及包含至少一个检验用子输出(Sub-Output)的检验用输出的图。
具体实施方式
关于本发明的后述详细说明将参照示例性地图示出本发明能够实施的特定实施例的附图。对这些实施例进行详细说明,使得本领域技术人员能够充分实施本发明。应理解为本发明的各种实施例虽然彼此不同但不必相互排斥。例如,在此记载的特定形状、结构及特性与一实施例相关联,在不脱离本发明的思想及范围的情况下也可以以其他实施例实现。此外,应理解为在不脱离本发明的思想及范围的情况下,能够变更所公开的各个实施例内的个别组成部分的位置或配置。因此,后述的详细说明不应视为限定性的,如果适当说明,则本发明的范围仅由与该权利要求所主张的内容均等的所有范围和所附的权利要求来限定。在附图中,相似的附图标记是指在各方面相同或相似的功能。
此外,在本发明的详细说明及权利要求中,“包括”这一词语及其变形并非用来去除其他技术特征、添加物、组成部分或步骤。本领域技术人员能够从本发明的说明书以及本发明的实施中显然可知本发明的其他目的、优点及特性的一部分。以下示例及附图作为实例提供,并不是用来限定本发明。
本发明中提到的各种图像可包括与铺装或未铺装的道路相关的图像,在该情况下能够假定出现在道路环境中的物体(例如,车辆、人类、动物、植物、物体、建筑物、如飞机或无人机等的飞行器以及其他障碍物),但本发明并不一定限定于此,本发明中提到的各种图像还可以是与道路无关的图像(例如,与非铺装道路、小巷、空地、海洋、湖泊、河流、山脉、森林、沙漠、天空或室内相关联的图像),在该情况下能够假定有可能出现在非铺装道路、小巷、空地、海洋、湖泊、河流、山脉、森林、沙漠、天空或室内环境中的物体(例如,车辆、人类、动物、植物、物体、建筑物、如飞机和无人机等的飞行器以及其他障碍物),但并不一定限定于此。
下面,参照附图对本发明的优选实施例进行详细说明,使得本发明所属技术领域的普通技术人员能够容易实施本发明。
图1是示意性地示出本发明的一实施例所涉及的用于执行利用至少一个测试图案来检验CNN(Convolutional Neural Network)的至少一个参数的完整性(Integrity)的方法的计算装置结构的图。
参照图1,计算装置100可包括添加单元210、比较单元220和CNN 300,其中,该添加单元210及比较单元220包含在作为后面详细说明的组成部分的完整性检验模块200中。添加单元210、比较单元220及CNN 300的输入输出及运算过程可分别由通信部110及处理器120实现。但是,在图1中省略通信部110及处理器120的具体连接关系。此时,至少一个存储器115可以处于存储有后述的各种指令的状态,处理器120配置成执行存储在存储器115中的指令,处理器120能够通过执行后面说明的过程而执行本发明。即便如此描述计算装置100,也不排除计算装置100包括集成处理器(Integrated Processor)的情况,其中,该集成处理器包括用于实施本发明的处理器、存储器、介质或其他计算装置的所有组合的情况。
以上,对计算装置100的整体结构进行了说明。以下,对本发明的一实施例所涉及的用于利用测试图案来检验CNN的参数的完整性的方法进行说明。
图2是示意性地示出本发明的一实施例所涉及的用于利用测试图案来检验CNN的参数的完整性的方法的流程图。
参照图2,在添加单元210利用至少一个原始输入和测试图案来生成至少一个扩展输入,并且CNN 300利用扩展输入(Extended Input)来生成至少一个检验用输出(Output)之后,比较单元220能够利用检验用输出和至少一个基准用输出来判断CNN的参数的完整性。
具体而言,在获取到测试图案及原始输入时,计算装置100能够通过使添加单元210对原始输入添加测试图案而生成扩展输入。
此时,添加单元210和比较单元220可包含在用于检验CNN 300的完整性的完整性检验模块200中。如前述,添加单元210能够发挥对原始输入添加测试图案的作用。如果进行详细说明,则如上面提到的那样,添加单元210首先能够对原始输入添加至少一个零图案,使得零图案位于测试图案与原始输入之间。
这是因为,当在没有零图案的情况下对原始输入直接添加测试图案而生成扩展输入,并且在没有零图案的情况下CNN对扩展输入图像执行至少一次卷积运算时,从利用N×N尺寸的卷积核(Convolution Kernel)来一同运算关于各种像素的值的卷积运算的特性来看,测试图案有可能会影响对原始输入的卷积结果。这就是添加零图案的理由。零图案的厚度可设定为测试图案不会影响对原始输入的卷积结果的程度。作为一实施例,可以通过将卷积核尺寸除以2后舍弃小数点以下后来获得的值设为厚度。
在经由如上所述的过程生成扩展输入时,计算装置100能够通过使CNN 300对扩展输入执行至少一次卷积运算而生成检验用输出。CNN 300的参数可以是已学习状态。此时,至于在检验用输出的整个区域当中与作为扩展输入的一部分的测试图案对应的至少一个特定区域而言,在整个区域中的其剩余区域与原始输入对应并且根据CNN 300的主要目的(例如,分析获取到的图像)使用所述剩余区域的期间,该至少一个特定区域能够用于判断参数是否被篡改。后述的比较单元220能够计算出与测试图案对应的特定区域。为了查看这种检验用输出,参照图3。
图3是示意性地示出本发明的一实施例所涉及的为了使用利用测试图案来检验CNN的参数的完整性的方法而生成的扩展输入及检验用输出的图。
参照图3,能够确认到通过对原始输入添加测试图案和零图案而生成扩展输入。此外,能够确认到通过对扩展输入执行CNN 300的卷积运算而生成检验用输出。
然后,计算装置100能够通过使比较单元200以基准用输出作为基准来判断所述检测用输出的有效性(Validity)而检验CNN 300的参数的完整性。
此时,在执行使用完整性检验模块200来检验参数的完整性的过程之前,当CNN300的安全级别为临界级别以上时,通过对测试图案执行卷积运算而预先生成基准用输出。
由于本发明的一实施例所涉及的方法用于判断参数是否因包含黑客攻击在内的任意因素而被篡改,因此基准用输出应当是在确保参数的完整性的时刻生成的输出。因此,在所述安全级别为临界级别以上时,能够通过CNN 300来生成基准用输出。
如此能够通过将基准用输出与在检验用输出的整个区域中与测试图案对应的特定区域比较而判断CNN的参数的完整性。即,计算装置100能够使比较单元20将包含在基准用输出中的一个或多个第一值与包含在检验用输出的整个区域当中与测试图案对应的特定区域中的与该一个或多个第一值对应的第二值分别进行比较。并且,当包含在基准用输出中的至少一个第一值和包含在特定区域中的与该至少一个第一值对应的第二值不同时,可确定检验用输出有误,并且可确定参数中的至少一部分存在至少一个错误。
基准用输出为在确保参数的完整性的状态下CNN 300对所述测试图案执行卷积运算的结果。因此,在至少一个第一值和与该至少一个第一值对应的第二值不一致时,可确定至少一个参数被篡改。
以上,对本发明的一实施例所涉及的利用测试图案来检验参数的完整性的方法进行了说明。以下,对能够优化计算资源消耗的方法进行说明。
首先,对优化用于存储测试图案及基准用输出的空间的方法进行说明。测试图案需要具有与原始输入的通道个数相同的个数的通道。在对测试图案的所有通道设定彼此不同的值时,要求更多的数据存储空间。但是,如果目的是用于检验CNN的参数的完整性,则无需使关于测试图案的所有通道的值彼此不同,当然关于所有通道的值也可以相同。因此,在生成并存储关于测试图案的一个通道的图案值之后,能够将图案值用于测试图案的每个通道。在该情况下,包含在基准用输出中的通道也可以具有与利用其中包含的任一通道的值来确定的值相同的值。通过这种方法,能够优化用于存储测试图案及基准用输出的空间。
此外,对优化用于存储基准用输出的空间的方法进行说明。基准用输出基本上应具有与对测试图案执行卷积运算的结果相同的大小。能够通过只存储利用包含在基准用输出中的至少一部分第一值来获取到的至少一个基准用代表值(Representative Value)而优化用于存储基准用输出的空间。即,按基准用输出的通道事先存储每个基准用代表值。此外,在完整性检验过程中,计算装置在使比较单元220生成与包含在检验用输出的整个区域当中与测试图案对应的特定区域的每个通道中的第二值分别对应的一个或多个检验用代表值,通过将特定区域的每个通道的检验用代表值与基准用输出的相应通道的与该检验用代表值对应的基准用代表值分别进行比较而检验完整性。例如,可使用CRC或三列(Hash)来生成基准用代表值及检验用代表值,但并不限定于此。
与此不同地,还存在以未使用基准用输出而优化存储空间的状态检验完整性的实施例。
在本实施例中,能够获取具有与CNN 300的卷积核相同的大小的至少一个子测试图案(Sub-Test Pattern)。关于子测试图案具有与卷积核相同的大小的情况发挥何种作用,将在后面详细说明。
计算装置100能够通过使添加单元210反复进行对原始输入添加子测试图案的过程而生成至少一个扩展输入。然后,通过使CNN 300对扩展输入执行至少一次卷积运算而生成至少一个检验用输出。并且,通过使比较单元220以包含在检验用输出中的与子测试图案对应的至少一个每个检验用子输出(Sub-Output)作为基准来判断检验用输出的有效性来检验CNN 300的参数的完整性。
此时,每个检验用子输出可包括检验区域及非检验区域中的至少一部分区域。生成这种区域是起因于在卷积运算中同时计算各种值的特性。即,当利用包含在扩展输入的边界部分(Boundary Area)上的像素值来执行卷积运算时,由于使用哑值(Dummy Value)代替有效值,因此生成非检验区域。为了查看该内容,参照图4。
图4是示意性地示出本发明的另一实施例所涉及的包含为了使用执行利用一个子测试图案(Sub-Test Pattern)来检验CNN的参数的完整性的方法而生成的扩展输入及检验用子输出的检验用输出的图。
参照图4,能够通过在原始输入与重复的子测试图案之间的位置上添加零图案而生成扩展输入,并且能够通过对扩展输入执行CNN 300的卷积运算而生成检验用输出。然后,通过参照利用包含在子测试图案中的特定值对子测试图案执行卷积运算的过程,来查看关于所述非检验区域的问题。
在卷积核的尺寸为3×3的情况下,如图4中能够确认的那样,能够利用位于包含特定值的特定像素的周边的像素的各种值来执行卷积运算。在特定值的上端不存在扩展输入中包含的值,因此假设在包含特定值的特定像素上端具有0值并执行卷积运算。因此,由于包含在扩展输入的边界区域的像素值在卷积运算时使用作为0的哑值,因此有可能会生成能够由图4的检验用输出确认的非检验区域。
可根据扩展输入上的子测试图案的位置来确定每个检验用子输出上的检验区域及非检验区域的位置。
如果生成这种检验用输出,则计算装置100使比较单元220将位于包含在检验用子输出中的检验区域上的相同的相对位置上的检验值(Verifying Values)彼此比较,在检验值中的至少一个检验值与其他值不同时,计算装置能够使比较单元220确定检验用输出有误,并且确定参数中的至少一部分存在至少一个错误。
再次参照图4,在检验用子输出中用点表示的检验值可视为每个检验值位于每个检验用子输出的中央且彼此对应。这是因为,每个检验值为关于相同的测试图案的卷积运算的结果值,因此检验值应彼此相同。在检验值中的至少一个检验值与其他值不同时,可确定CNN的参数被篡改。因此,能够通过这种过程来检验参数的完整性。
关于这种新实施例的结构,除图2的结构中的获取基准用输出的部分以外,与前述的实施例的结构相同。
通过执行这种本发明所涉及的利用测试图案或子测试图案来检验CNN的参数的完整性的方法,从而在自动驾驶中使用CNN时,能够保证安全。
此外,当为了CNN上的功能安全性而在基端状况下提供容错性(Fault Tolerance)及波动稳健性(Fluctuation Robustness)时能够使用本发明的一实施例所涉及的方法,并且在缩减标注(Annotation)成本时也能够使用使用本发明的一实施例所涉及的方法。
如本发明技术领域的普通技术人员所能够理解的那样,像上面说明的图像例如原始图像、原始标签及添加标签等的图像数据的收发能够由学习装置及测试装置的通信部来实现,用于执行特征图和运算的数据能够被学习装置及测试装置的处理器(和/或存储器)保持/维持,并且卷积运算、深度卷积运算及损失值运算过程主要能够由学习装置及测试装置的处理器执行,但本发明并不限定于此。
以上说明的本发明所涉及的实施例可以以能够通过各种计算机组成部分执行的计算机命令的形态实现,并且存储在计算机可读存储介质中。所述计算机可读存储介质可以单独或组合包含程序命令、数据文件、数据结构等。存储在所述计算机可读存储介质中的计算机命令是为本发明而特别设计并构成的,但也可以是计算机软件领域的技术人员公知而能够使用的计算机命令。计算机可读存储介质的例子包含如硬盘、软盘及磁带等的磁介质、如CD-ROM、DVD等的光存储介质、如光盘(floptical disk)等的磁光介质(magneto-optical media)、以及如只读存储器(ROM)、随机存取存储器(RAM)、快闪存储器等的为了存储及执行程序命令而特别构成的硬件装置。作为程序命令的例子不仅包含如由编译器生成的机器代码,还包含使用解释器等能够由计算机运行的高级语言代码。为了执行本发明所涉及的处理,所述硬件装置可配置成以一个以上的软件模块实现操作,反之也同样。
以上,通过如具体组成部分等的特定事项和限定的实施例及附图对本发明进行了说明,但这只是为了有助于本发明的更全面的理解而提供的,本发明并不限定于上述实施例,本发明所属技术领域的技术人员基于这种记载可进行各种修改及变形。
因此,本发明的思想并非由上述说明的实施例限定,权利要求书及与该权利要求书均等或等价变形的所有内容属于本发明的思想范畴。
Claims (14)
1.一种用于利用待添加到至少一个原始输入中的至少一个测试图案来检验卷积神经网络的至少一个参数的完整性的方法,包括:
步骤a.在获取到所述测试图案时,计算装置通过使至少一个添加单元对所述原始输入添加所述测试图案而生成至少一个扩展输入;
步骤b.所述计算装置通过使所述卷积神经网络对所述扩展输入执行至少一次卷积运算而生成至少一个检验用输出;以及
步骤c.所述计算装置通过使至少一个比较单元以至少一个基准用输出作为基准来判断所述检验用输出的有效性而检验所述卷积神经网络的所述参数的所述完整性,
其中,在所述步骤a中,所述计算装置使所述添加单元:(i)在对所述原始输入添加至少一个零图案之后添加所述测试图案,使得所述零图案位于所述测试图案与所述原始输入之间;以及(ii)设定所述零图案的厚度,使得所述测试图案不会影响对原始输入的所述至少一次卷积运算的结果。
2.根据权利要求1所述的方法,其中,
在所述步骤c中,所述计算装置使所述比较单元将包含在所述基准用输出中的一个或多个第一值与包含在所述检验用输出的整个区域当中与所述测试图案对应的至少一个特定区域中的与所述一个或多个第一值对应的第二值分别进行比较,当包含在所述基准用输出中的至少一个第一值和包含在所述特定区域中的与所述至少一个第一值对应的所述第二值不同时,所述计算装置使所述比较单元确定所述检验用输出有误,并且确定所述参数中的至少一部分存在至少一个错误。
3.根据权利要求1所述的方法,其中,
在所述步骤c中,所述计算装置使所述比较单元生成与包含在所述检验用输出的整个区域当中与所述测试图案对应的至少一个特定区域的每个通道中的一个或多个值分别对应的一个或多个检验用代表值,并将所述基准用输出的每个通道的一个或多个基准用代表值与所述特定区域的相应通道的所述检验用代表值分别进行比较,当至少一个基准用代表值不用于所述检验用代表值中与所述至少一个基准用代表值对应的代表值时,确定所述检验用输出有误,并且确定所述参数中的至少一部分存在错误。
4.根据权利要求1所述的方法,其中,
在所述步骤a之前,当所述卷积神经网络的安全级别为临界级别以上时,所述计算装置通过使所述卷积神经网络对所述测试图案执行卷积运算而生成所述基准用输出。
5.一种用于利用待添加到至少一个原始输入中的至少一个子测试图案来检验卷积神经网络的至少一个参数的完整性的方法,包括:
步骤a.在获取到具有与包含在计算装置中的所述卷积神经网络的卷积核相同的大小的所述子测试图案时,所述计算装置通过使添加单元对所述原始输入反复进行添加所述子测试图案的操作而生成至少一个扩展输入;
步骤b.所述计算装置通过使所述卷积神经网络对所述扩展输入执行至少一次卷积运算而生成至少一个检验用输出;以及
步骤c.所述计算装置通过使至少一个比较单元以包含在所述检验用输出中的与所述子测试图案分别对应的至少一个检验用子输出作为基准来判断所述检验用输出的有效性而检验所述卷积神经网络的所述参数的完整性,
其中,在所述步骤a中,所述计算装置使所述添加单元:(i)在对所述原始输入添加至少一个零图案之后添加所述子测试图案,使得所述零图案位于所述子测试图案与所述原始输入之间;以及(ii)设定所述零图案的厚度,使得所述子测试图案不会影响对原始输入的所述至少一次卷积运算的结果。
6.根据权利要求5所述的方法,其中,
每个检验用子输出包括至少一个检验区域和非检验区域,
在所述步骤c中,所述计算装置使所述比较单元将位于包含在所述检验用子输出中的检验区域上的相同的相对位置上的检验值彼此比较,在所述检验值中的至少一个检验值与其他值不同时,所述计算装置使所述比较单元确定所述检验用输出有误,并且确定所述参数中的至少一部分存在至少一个错误。
7.根据权利要求6所述的方法,其中,
根据所述扩展输入上的所述子测试图案的位置来确定每个所述检验用子输出上的所述检验区域的位置和非检验区域的位置。
8.一种计算装置,所述计算装置用于利用待添加到至少一个原始输入中的至少一个测试图案来检验卷积神经网络的至少一个参数的完整性,所述计算装置包括:
至少一个存储器,用于存储指令;以及
至少一个处理器,配置成运行所述指令以用于执行:
过程I.通过使至少一个添加单元对所述原始输入添加所述测试图案而生成至少一个扩展输入;
过程II.通过使所述卷积神经网络对所述扩展输入执行至少一次卷积运算而生成至少一个检验用输出;以及
过程III.通过使至少一个比较单元以至少一个基准用输出作为基准来判断所述检验用输出的有效性而检验所述卷积神经网络的所述参数的所述完整性,
其中,在所述过程I中,所述处理器使所述添加单元:(i)在对所述原始输入添加至少一个零图案之后添加所述测试图案,使得所述零图案位于所述测试图案与所述原始输入之间;以及(ii)设定所述零图案的厚度,使得所述测试图案不会影响对原始输入的所述至少一次卷积运算的结果。
9.根据权利要求8所述的计算装置,其中,
在所述过程III中,所述处理器使所述比较单元将包含在所述基准用输出中的一个或多个第一值与包含在所述检验用输出的整个区域当中与所述测试图案对应的至少一个特定区域中的与所述一个或多个第一值对应的第二值分别进行比较,当包含在所述基准用输出中的至少一个第一值和包含在所述特定区域中的与所述至少一个第一值对应的所述第二值不同时,所述处理器使所述比较单元确定所述检验用输出有误,并且确定所述参数中的至少一部分存在至少一个错误。
10.根据权利要求8所述的计算装置,其中,
在所述过程III中,所述处理器使比较单元生成与包含在所述检验用输出的整个区域当中与所述测试图案对应的至少一个特定区域的每个通道中的一个或多个值分别对应的一个或多个检验用代表值,并将所述基准用输出的每个通道的一个或多个基准用代表值与所述特定区域的相应通道的所述检验用代表值分别进行比较,当至少一个基准用代表值不用于所述检验用代表值中与所述至少一个基准用代表值对应的代表值时,确定所述检验用输出有误,并且确定所述参数中的至少一部分存在错误。
11.根据权利要求8所述的计算装置,其中,
在所述过程I之前,当所述卷积神经网络的安全级别为临界级别以上时,所述处理器通过使所述卷积神经网络对所述测试图案执行卷积运算而生成所述基准用输出。
12.一种计算装置,所述计算装置用于利用待添加到至少一个原始输入中的至少一个子测试图案来检验卷积神经网络的至少一个参数的完整性,所述计算装置包括:
至少一个存储器,用于存储指令;以及
至少一个处理器,配置成运行所述指令以用于执行:
过程I.在获取到具有与包含在所述计算装置中的所述卷积神经网络的卷积核相同的大小的所述子测试图案时,通过使添加单元对所述原始输入反复进行添加所述子测试图案的操作而生成至少一个扩展输入;
过程II.通过使所述卷积神经网络对所述扩展输入执行至少一次卷积运算而生成至少一个检验用输出;以及
过程III.通过使至少一个比较单元以包含在所述检验用输出中的与所述子测试图案分别对应的至少一个检验用子输出作为基准来判断所述检验用输出的有效性而检验所述卷积神经网络的所述参数的完整性,
其中,在所述过程I中,所述处理器使所述添加单元:(i)在对所述原始输入添加至少一个零图案之后添加所述子测试图案,使得所述零图案位于所述子测试图案与所述原始输入之间;以及(ii)设定所述零图案的厚度,使得所述子测试图案不会影响对原始输入的所述至少一次卷积运算的结果。
13.根据权利要求12所述的计算装置,其中,
每个检验用子输出包括至少一个检验区域和非检验区域,
在所述过程III中,所述处理器使所述比较单元将位于包含在所述检验用子输出中的检验区域上的相同的相对位置上的检验值彼此比较,在所述检验值中的至少一个检验值与其他值不同时,所述处理器使所述比较单元确定所述检验用输出有误,并且确定所述参数中的至少一部分存在至少一个错误。
14.根据权利要求13所述的计算装置,其中,
根据所述扩展输入上的所述子测试图案的位置来确定每个所述检验用子输出上的所述检验区域的位置和非检验区域的位置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/258,837 | 2019-01-28 | ||
US16/258,837 US10373025B1 (en) | 2019-01-28 | 2019-01-28 | Method and device for verifying integrity of parameters of CNN by using test pattern to enhance fault tolerance and fluctuation robustness in extreme situations for functional safety |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488788A CN111488788A (zh) | 2020-08-04 |
CN111488788B true CN111488788B (zh) | 2023-10-20 |
Family
ID=67477543
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010010865.1A Active CN111488788B (zh) | 2019-01-28 | 2020-01-06 | 用于利用测试图案来检验cnn参数的完整性的方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10373025B1 (zh) |
EP (1) | EP3722999B1 (zh) |
JP (1) | JP6908945B2 (zh) |
KR (1) | KR102338768B1 (zh) |
CN (1) | CN111488788B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102392576B1 (ko) * | 2020-11-26 | 2022-04-29 | 숭실대학교 산학협력단 | 인공 지능 모델의 무결성 검증 방법과 이를 수행하기 위한 컴퓨팅 장치 및 시스템 |
KR102651258B1 (ko) | 2021-06-01 | 2024-03-25 | 최현집 | 딥러닝 기반 문자 인지 장치 및 딥러닝 기반 문자 인지 방법 |
KR102654687B1 (ko) | 2021-12-24 | 2024-04-05 | 한양대학교 산학협력단 | 컨볼루션 연산을 기반으로 하는 딥러닝 모델인 cnn의 연산결과에 대한 효율적인 무결성 검증 기법 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7711662B2 (en) * | 2003-01-15 | 2010-05-04 | Bracco Imaging S.P.A. | System and method for optimization of a database for the training and testing of prediction algorithms |
WO2017066906A1 (zh) * | 2015-10-19 | 2017-04-27 | 浙江大学 | 水下机器人自排油式浮力调节装置 |
US9965705B2 (en) * | 2015-11-03 | 2018-05-08 | Baidu Usa Llc | Systems and methods for attention-based configurable convolutional neural networks (ABC-CNN) for visual question answering |
US10127659B2 (en) * | 2016-11-23 | 2018-11-13 | General Electric Company | Deep learning medical systems and methods for image acquisition |
US10242443B2 (en) | 2016-11-23 | 2019-03-26 | General Electric Company | Deep learning medical systems and methods for medical procedures |
US20180299841A1 (en) * | 2017-04-17 | 2018-10-18 | Intel Corporation | Autonomous vehicle neural network optimization |
US10108850B1 (en) * | 2017-04-24 | 2018-10-23 | Intel Corporation | Recognition, reidentification and security enhancements using autonomous machines |
CN107832840B (zh) * | 2017-10-31 | 2020-05-22 | 中国科学院计算技术研究所 | 一种用于神经网络处理器的方法 |
CN107729998B (zh) * | 2017-10-31 | 2020-06-05 | 中国科学院计算技术研究所 | 一种用于神经网络处理器的方法 |
-
2019
- 2019-01-28 US US16/258,837 patent/US10373025B1/en active Active
- 2019-11-15 KR KR1020190147111A patent/KR102338768B1/ko active IP Right Grant
-
2020
- 2020-01-06 CN CN202010010865.1A patent/CN111488788B/zh active Active
- 2020-01-14 EP EP20151701.8A patent/EP3722999B1/en active Active
- 2020-01-15 JP JP2020004559A patent/JP6908945B2/ja active Active
Non-Patent Citations (1)
Title |
---|
Zecheng He等.VerIDeep: Verifying Integrity of Deep Neural Networks through Sensitive-Sample fingerprinting.arXiv/https://arxiv.org/pdf/1808.03277.pdf.2018,正文第1-15页. * |
Also Published As
Publication number | Publication date |
---|---|
CN111488788A (zh) | 2020-08-04 |
EP3722999A1 (en) | 2020-10-14 |
EP3722999B1 (en) | 2024-07-10 |
KR20200093418A (ko) | 2020-08-05 |
US10373025B1 (en) | 2019-08-06 |
JP2020119556A (ja) | 2020-08-06 |
JP6908945B2 (ja) | 2021-07-28 |
KR102338768B1 (ko) | 2021-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488788B (zh) | 用于利用测试图案来检验cnn参数的完整性的方法及装置 | |
CN111506980B (zh) | 对虚拟驾驶环境生成交通场景的方法及装置 | |
Zhang et al. | DeepRoad: GAN-based metamorphic testing and input validation framework for autonomous driving systems | |
CN111931179B (zh) | 基于深度学习的云端恶意程序检测系统及方法 | |
CN105138903A (zh) | 一种基于ret指令与jmp指令的rop攻击检测方法 | |
CN110458168A (zh) | 车辆检测报告的处理方法、装置、计算机设备和存储介质 | |
CN106649075A (zh) | 模糊测试方法和装置 | |
CN115659335A (zh) | 基于混合模糊测试的区块链智能合约漏洞检测方法及装置 | |
Chandrasekaran et al. | A combinatorial approach to testing deep neural network-based autonomous driving systems | |
CN111488787B (zh) | 在极端状况下提高故障容许度及波动鲁棒性的方法及装置 | |
CN111488551B (zh) | 验证卷积运算的完整性的方法及装置 | |
Mohamed et al. | Enhancing test cases prioritization for internet of things based systems using Search-based technique | |
Berthier et al. | Tutorials on testing neural networks | |
US10383515B2 (en) | Method of detecting pupil center | |
Wang et al. | Object removal for testing object detection in autonomous vehicle systems | |
CN114692295A (zh) | 车辆性能边界的确定方法、装置、终端设备及存储介质 | |
Usman et al. | Rule-Based Testing of Neural Networks | |
JP6572668B2 (ja) | 検査方法 | |
CN116958954B (zh) | 基于关键点与旁路矫正的车牌识别方法、装置及存储介质 | |
Chen et al. | Simulated or physical? An empirical study on input validation for context-aware systems in different environments | |
CN117056896B (zh) | 一种智能控制系统形式化验证方法及装置 | |
US20240071065A1 (en) | Apparatus and method for detecting performance degradation of an autonomous vehicle | |
Durst et al. | Check for updates Quantifying the Effects of Environmental Conditions on Autonomy Algorithms for Unmanned Ground Vehicles | |
Itsuji et al. | An Intelligent Diagnostic Technique for Reliable Operation of Edge AI | |
CN118277144A (zh) | 一种依托大模型进行漏洞修复验证的方法及系统 |
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 |