CN114270323A - 人工智能系统的安全性验证系统、安全性验证方法以及安全性验证程序 - Google Patents

人工智能系统的安全性验证系统、安全性验证方法以及安全性验证程序 Download PDF

Info

Publication number
CN114270323A
CN114270323A CN202080058982.3A CN202080058982A CN114270323A CN 114270323 A CN114270323 A CN 114270323A CN 202080058982 A CN202080058982 A CN 202080058982A CN 114270323 A CN114270323 A CN 114270323A
Authority
CN
China
Prior art keywords
artificial intelligence
test data
feature
combination
security verification
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.)
Granted
Application number
CN202080058982.3A
Other languages
English (en)
Other versions
CN114270323B (zh
Inventor
野本秀树
道浦康贵
饭野翔太
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.)
Japan Manned Space System Co ltd
Original Assignee
Japan Manned Space System Co ltd
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 Japan Manned Space System Co ltd filed Critical Japan Manned Space System Co ltd
Publication of CN114270323A publication Critical patent/CN114270323A/zh
Application granted granted Critical
Publication of CN114270323B publication Critical patent/CN114270323B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • 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
    • G06N3/09Supervised learning
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/045Explanation of inference; Explainable artificial intelligence [XAI]; Interpretable artificial intelligence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Alarm Systems (AREA)

Abstract

提供一种验证人工智能系统安全性的有效系统。一种安全性验证系统,包括:特征量信息接收部14,其接收包含在用于进行人工智能系统的安全性验证的测试中使用的多个第一测试数据的每个第一测试数据中的、预测在该人工智能系统中使用的多个特征量的值的特征量信息;以及判断部16,其判断:第一组合,第一组合是多个特征量能够取值的组合中的、没有被包含在多个第一测试数据中的组合,或者第二组合,第二组合是多个特征量能够取值的组合中的与应当由人工智能导出的多个正确解析结果相关联的组合。

Description

人工智能系统的安全性验证系统、安全性验证方法以及安全 性验证程序
技术领域
本发明涉及一种用于人工智能系统的安全性验证的方法。
背景技术
近年来,无法获知深度神经网络(DNN)等的内部逻辑结构的黑盒型人工智能的有效性得以提高,希望将其用于各种领域的需求提高。在利用人工智能系统时,其安全性有时会成为问题。为了保证人工智能系统的安全性,即使在概率论上实现了较高的正确率,获得学习结果的内部逻辑结构的妥当性能够得到判断也是很重要的。另外,同样的问题在白盒型人工智能中也同样存在。
发明内容
本发明要解决的问题
然而,以往并不存在验证人工智能系统的安全性的有效系统。
本发明是鉴于这样的问题而完成的。
用于解决问题的技术手段
为了解决上述问题,本发明的一个方面是一种安全性验证系统,包括:特征量信息接收部,接收包含在用于进行人工智能系统的安全性验证的测试中使用的多个第一测试数据的每个第一测试数据中的、预测在所述人工智能系统中使用的多个特征量的值的特征量信息;以及判断部,所述判断部判断:第一组合,所述第一组合是所述多个特征量能够取值的组合中的、没有被包含在所述多个第一测试数据中的组合,或者第二组合,所述第二组合是所述多个特征量能够取值的组合中的与应当由所述人工智能导出的多个正确解析结果相关联的组合。
本发明的另一方面是一种由计算机系统执行的方法,包括以下步骤:接收包含在用于进行人工智能系统的安全性验证的测试中使用的多个第一测试数据的每个第一测试数据中的、预测在该人工智能系统中使用的多个特征量的值的特征量信息;以及判断:第一组合,所述第一组合是所述多个特征量能够取值的组合中的、没有被包含在所述多个第一测试数据中的组合,或者第二组合,所述第二组合是所述多个特征量能够取值的组合中的与应当由所述人工智能导出的多个正确解析结果相关联的组合。
此外,本发明的另一方面是用于使计算机系统执行上述方法的程序。
附图说明
图1是表示本发明的一实施方式所涉及的安全性验证系统的构成例的图。
图2是表示本发明的一实施方式所涉及的安全性验证系统的硬件构成示例的图。
图3是表示FRAM建模示例的图。
图4是说明FRAM建模中的功能的6个元素的图。
图5是表示本发明的一实施方式所涉及的安全性验证系统中功能的6个元素的图。
图6是通过FRAM模型表示本发明的一实施方式所涉及的安全性验证系统中功能的6个元素的图。
图7是表示在本发明的一实施方式所涉及的安全性验证系统中通过FRAM分析识别出的条件的图。
图8是表示对在本发明的一实施方式所涉及的安全性验证系统中识别出的条件进行了True/False标记的结果的图。
图9是表示在本发明的一实施方式的安全性验证系统中通过FRAM分析新识别出的条件的图。
图10是表示对将人工智能系统的测试结果写入SpecTRM-RL语言中后进行完整性解析和一致性解析后的结果的图。
图11是表示本发明的一实施方式所涉及的安全性验证系统中的完整性解析的结果的图。
图12是表示本发明的一实施方式所涉及的安全性验证系统的一致性解析结果的图。
图13是表示所追加的控制参数的图。
图14是表示在追加了控制参数之后的本发明的一实施方式所涉及的安全验证系统的一致性解析结果的图。
图15是表示在追加了控制参数之后的本发明的一实施方式所涉及的安全验证系统的一致性解析结果的图。
图16是表示在追加了控制参数之后的本发明的一实施方式所涉及的安全验证系统的一致性解析结果的图。
图17是表示在追加了控制参数之后的本发明的一实施方式所涉及的安全验证系统的一致性解析结果的图。
图18是表示本发明的一实施方式所涉及的安全性验证系统中的LIME的输出结果的图。
图19是表示本发明的一实施方式所涉及的安全性验证系统中的处理示例的流程图。
图20是表示本发明的一实施方式所涉及的安全性验证系统中的ACE的输出示例的图。
具体实施方式
(第一实施方式)
以下,参照附图对本发明的实施方式进行详细说明。本实施方式的安全性验证系统是进行赋予了某个任务的人工智能系统的安全性验证的系统。在本实施方式中,作为示例,人工智能系统是用于将登载有车辆的图像数据作为输入数据,判定该图像上的车辆是卡车还是乘用车的人工智能系统。但是,这只是示例,即使是赋予其他任务的人工智能系统,本实施方式的安全性验证系统也能够进行该人工智能系统的安全性验证。
(安全性验证系统的构成)
图1是表示本实施方式的安全性验证系统的构成例的图。如图1所示,本实施方式的安全性验证系统1包括特征量信息接收部14、判断部16、变更部18、输出部20。安全性验证系统1是用于进行人工智能系统(未图示)的安全性验证的系统。
特征量信息接收部14接收特征量信息,该特征量信息包含在用于进行人工智能系统的安全性验证的测试中使用的多个第一测试数据的每个第一测试数据中的、预测在该人工智能系统中使用的多个(N维)特征量的值。特征量信息也可以是将关于第一各测试数据的、应当由人工智能导出的正确解析结果与第一各测试数据中的多个特征量的值相关联的信息。例如,在本实施方式中,拍摄了卡车或乘用车车辆的图像数据是作为人工智能系统的测试对象的第一测试数据。另外,在本实施方式的情况下,所谓“应当通过人工智能导出的正确解析结果”是关于各测试数据的“卡车”或“乘用车”。另外,所谓“特征量的值”,相当于作为人工智能系统的处理对象的测试数据中的作为特征量的参数值等。在本实施方式中,在拍摄了车辆的图像数据中,表示货斗、车轮数、油箱等各特征量是否存在或满足条件的True/False(或者可二者都取。以下相同。)相当于“特征量的值”。另外,接收特征量信息的处理也可以根据例如安全性验证系统1的用户键盘或鼠标等输入装置的操作来执行。另外,预测在人工智能系统中使用的特征量可以使用FRAM(Functional Resonance AnalysisMethod:功能共振分析方法)来确定。
更具体而言,例如,安全性验证系统1的用户观察作为测试数据的拍摄了卡车或乘用车车辆的图像,对该图像使用键盘等向安全性验证系统1输入各参数(例如货斗、车轮数、油箱等各特征量)的值、和表示该图像上的车辆是卡车还是乘用车的数据(应当通过人工智能导出的正确解析结果)。对所有的图像执行该作业。安全性验证系统1将所输入的各参数值以及表示是卡车还是乘用车的数据与各图像相关联地存储在存储器等中。另外,特征量信息也可以不使用输入装置直接输入到安全性验证系统1中。例如,也可以在外部计算机装置中通过从记录有特征量信息的可移动存储器等记录介质读取特征量信息,或者从该外部计算机装置经由有线或无线的网络发送等,输入到安全性验证系统1。另外,特征量信息的确定以及向安全性验证系统1的输入的一部分或全部也可以由计算机程序自动化。在这种情况下,特征量信息接收单元14可以从该计算机程序接收特征量信息。
判断部16判断多个特征量能够取值的组合中的、没有被包含在多个第一测试数据中的组合即第一组合、或者多个特征量能够取值的组合中的、与应当由人工智能导出的正确解析结果多个相关联的组合即第二组合。第一组合表示在人工智能系统中未被测试的特征量的值的组合。即,其是由于人工智能系统没有进行测试而在将来将具有这样的特征量的值的组合的数据输入到该人工智能系统的情况下(接受处理的情况)人工智能系统不能适当地判断的组合,是表示测试数据的不完整性的组合。
另外,第二组合相当于尽管各特征量的值相同但存在多个答案(卡车或乘用车)的情况。例如,在本实施方式中,在图像中的车辆为卡车的图像和为乘用车的图像中,货斗、车轮数、油箱等各特征量的True/False的组合相同的组合相当于第二组合。在人工智能系统测试了这样的测试数据的情况下,当将具有将来的该各特征量的值的组合的车辆图像数据输入到人工智能系统时,该人工智能系统有可能无法适当地判断该图像数据上的车辆是卡车还是乘用车。作为这样的特征量的值的组合的第二组合是表示人工智能系统欠缺一致性的可能性的组合。另外,在安全性验证系统1中,在判断部16判断为在第一测试数据中存在表示这种欠缺一致性的特征量的值的第二组合的情况下,特征量信息接收部14接收包含应当进一步采用的新的其他特征量的值的特征量信息。
关于多个第一测试数据,在存在是特征量的值的组合且不包含在第一测试数据中的第一组合的情况下,变更部18将具有该第一组合的新的第二测试数据追加到多个第一测试数据中。该追加处理例如可以根据安全性验证系统1的用户的键盘或鼠标等输入装置的操作来执行,也可以一部分或全部由计算机程序进行。此外,也可以通过从记录有第二测试数据的记录介质读取第二测试数据来追加。然后,人工智能系统通过对追加了该第二测试数据的测试数据的组进行测试,人工智能系统对具有多个特征量能够取值的全部组合的测试数据进行测试。也就是说,由此确保了人工智能系统的完整性。
另外,也可以在追加了第二测试数据之后,进一步进行是否确保了一致性的确认,在判断为欠缺一致性的情况下,采用新的特征量。同样,也可以在判断为欠缺一致性而采用了新的特征量之后,进行是否确保了测试数据的完整性的确认,在判断为欠缺完整性的情况下,追加新的测试数据。
输出部20将包括由变更部18追加的第二测试数据的人工智能系统的测试数据输出到人工智能系统。人工智能系统通过使用包括由输出部20输出的第二测试数据的新的测试数据集来执行测试来确保完整性。另外,在具有输出部20的计算机装置与人工智能系统工作的计算机装置是不同的装置的情况下,输出部20可以对人工智能系统工作的计算机装置经由有线或无线的网络输出测试数据,也可以经由可移动存储器等记录介质输出(输出部20也可以向记录介质输出)。另外,在两个计算机装置是同一装置的情况下,在计算机装置的内部,从生成测试数据的程序向实现人工智能系统的程序传递该测试数据的处理等可以相当于输出部20的功能。
另外,以上说明的安全性验证系统1的构成只不过是示例而已,并不限定于此。
(硬件构成)
上述的安全性验证系统1可以通过与一般的计算机装置同样的硬件构成来实现。图2是表示安全性验证系统1的硬件构成的示例的图。作为示例,图2所示的计算机装置40包括处理器41、RAM(Random Access Memory)42、ROM(Read Only Memory)43、内置硬盘装置44、外接硬盘装置、CD、DVD、USB存储器、记忆棒、SD卡等可移动存储器45、用于用户与计算机装置40进行各种数据的交换的输入输出用户界面46(键盘、鼠标、触摸面板、扬声器、麦克风、灯等)、和能够与其他计算机装置通信的有线/无线通信接口47、以及显示器48。本实施方式的安全性验证系统1的各功能例如可以通过处理器41将预先存储在硬盘装置44、ROM43、可移动存储器45等中的程序读出到RAM42等存储器中,一边适当地从硬盘装置44或ROM43、可移动存储器45等读出处理所需的上述各数据一边执行程序来实现。
另外,本实施方式的安全性验证系统1既可以构成为单一的计算机装置,也可以由多个计算机装置构成。在后者的情况下,上述的安全性验证系统1的各功能由多个计算机装置分散地实现,各个计算机装置也可以具有与图2所示的计算机装置40的构成相同或类似的构成。
另外,图2所示的硬件构成只不过是示例,并不限定于此。
(具体例)
以下,示出本实施方式的安全性验证系统1进行的人工智能系统的安全性验证方法的具体例。在本实施方式中,作为示例,假设人工智能系统将登载车辆的图像数据作为输入数据,赋予判断图像上的车辆是卡车还是乘用车的任务。
在本具体例中,利用FRAM(Functional Resonance Analysis Method)和SpecTRM(Specification Tools and Requirement Methodology)这两种技术。FRAM用于对设想已获得人工智能系统的逻辑结构进行建模。此外,SpecTRM用于分析人工智能系统的测试结果、修改FRAM模型和证明安全性。
在本具体例中,首先公开了能够明确黑盒型人工智能系统的内部逻辑结构的方法。另外,还公开了对照所得到的内部逻辑结构,通过形式方法可以全面地证明安全性的方法。另外,通过这两种方法的组合,可以达成以下3点:
(1)黑盒型人工智能系统通过FRAM方法被白盒化。
(2)用于白盒化的FRAM模型的妥当性通过SpecTRM的一致性解析算法来证明。
(3)通过SpecTRM的完整性解析算法,证明了妥当性的人工智能模型的全逻辑路径验证达成得到证明。
在本具体例中,作为学习数据和测试数据,使用了从CIFAR-10(https://www.cs.toronto.edu/kriz/cifar.html)的数据集中摘录的汽车和卡车的图像(学习数据为5000个、测试数据为2000个)。另外,关于人工智能的安装,使用CNN(ConvolutionalNeural Network,卷积神经网络),程序库利用Keras(以Tensorflow为后端)。作为最优化方法,构建了RMSprop、激活函数中包含Sigmoid(S形),进而包含了Dropout(Dropout率0.2)的方法。
(人工智能系统的模型化)
在本实施方式的安全性验证系统1中,首先,使用FRAM(Functional ResonanceAnalysis Method:功能共振分析方法)确定特征量,将人工智能系统模型化。在基于FRAM的建模中,如图3所示,图示了功能间的结合是以何种形式进行的。在功能间的结合中,可以选择图3所示的6种中的任意一种,由此,不仅表示功能和功能单纯地“关联”,还可以赋予“A成为B的前提条件”“A向B提供资源”“A对B提供动作触发器”“A提供B的控制参数”“A对B赋予时间限制”等丰富的意义。这6种称为“功能的6个元素”。如图4所示,这6个元素具有全面性,可以无遗漏地对功能和功能的结合进行建模。在图3中,在记述各功能的六角形的各顶点上附加有I、P、C、R、T、O的英文,这些英文分别表示图4中的触发器(I)、前提条件(P)、控制参数(C)、资源(R)、时间限制(T)、输出(O)。例如,功能31的输出(O)成为功能32的时间限制(T),功能33的输出(O)成为功能32的触发器(I),功能34的输出(O)成为功能32的控制参数(C)。
例如,当要分析人工智能如本实施方式那般判定图像上的车辆是乘用车还是卡车的人工智能的情况下,想象自然智能基于怎样的内部逻辑结构来判定相同的情况,进行人工智能的模型化。此时,如果只单纯考虑与判定相关的功能是怎样的功能,就容易发生遗漏和错误。因此,如果按照FRAM的建模方法进行人工智能系统的建模,则可以全面地识别相关功能。
例如,对“判定乘用车/卡车”这一功能赋予“触发器”的输入是什么,同样地,对其赋予“时间限制”的功能是什么,这样,通过分开考虑相互作用,能够防止遗漏。图5是列举了判定功能的6个元素、它们接收的数据、以及输出该数据的功能的表。在本实施方式中,人根据FRAM的建模方法,针对卡车和乘用车确定与图5那样的6个元素对应的特征量。另外,图6是通过FRAM模型表示图5的信息的图。另外,图5的表记述了图6的“判定为卡车”功能的6个元素,同样对于图6的“判定为乘用车”功能的6个元素也存在数据,该数据如图6所示。
现在将进一步描述图5中的表。“前提条件”是用于功能开始动作的充分条件。在此,对于判别卡车和乘用车的功能来说,相当于确定性的特征量。例如,车轮数>4是作为卡车确定性的特征量。另一方面,“资源”是必要条件。如果耗竭的话功能就会停止,但并不是前提条件那样确定性的东西,如果其存在消失的话,功能就会停止,这是消极的。例如,车轮数=4并不是乘用车的确定性特征(也存在车轮数=4的卡车),但车轮数大于4绝对不适用于乘用车。即,车轮数>4的特征量对于卡车来说是充分条件,车轮数=4的特征量对于乘用车来说是必要条件。
另外,在此,关于“时间限制”,不设想以连续图像为前提的系统,而是用1个图像进行识别。作为方法,以使用单纯的神经网络为前提。以不根据多个图像的历史,使用更动态的识别技术为前提。另外,关于“控制参数”,虽然各个参数不能单独识别车型,但将用于根据多个参数值的组合综合判定的重要特征量作为控制参数。例如,前挡风玻璃倾斜是乘用车中常见的特征,但是也存在前挡风玻璃倾斜的卡车。另外,也存在前挡风玻璃不倾斜的乘用车。归根结底,作为倾向,在乘用车中前挡风玻璃倾斜的情况较多,在卡车上较少。作为人工智能的学习,在概率论上,前挡风玻璃倾斜被判定为乘用车的程度会提高。图6表示使用FRAM Model Visualizer(http://functionalresonance.com/FMV/index.html)对这些输入/输出进行可视化的结果。
图6所示的判别功能的相关性可以根据输入到人工智能系统的输入数据的变化而变化为各种形式。例如,在作为输入数据的图像数据中没有拍摄到车身的前侧的情况下,与车鼻部的有无相关的信息人工智能系统中检测不出。相反,在没有拍到车身的后侧的情况下,与货斗的有无相关的信息检测不出。FRAM模型显示了功能相关的最大变化范围,其全部或部分用于实际人工智能系统的行为。在只使用一部分的情况下,列举可能存在的变化称为“例示”。对于这一点,稍后将更详细地描述使用形态方法的穷举证明技术。这是实施穷举从FRAM模型得到的所有参数的组合的例示,验证试验结果是否具有完整性和一致性的方法。在此,下面对例示的一个例子进行说明。
在例示中,对于作为人工智能系统的执行结果(测试结果)的向安全性验证系统1的输入数据,标记针对由FRAM识别出的各参数的True/False。
最初通过FRAM分析识别出的条件是图7所示的条件。另外,图8是表示对这些条件(特征量)进行True/False标记后的结果的表。
图8的表的第一列是用于测试的图像。第二列是通过作为XAI(eXplainableAI)工具的LIME(Local Interpretable Model-agnostic Explanations)得到的、在神经网络所关注的部位附加了阴影或填充的图像。XAI是将人工智能在图像中关注的点可视化的技术,是将人工智能决策的逻辑依据可视化的技术。图像中,斜线阴影部分是神经网络将该图像评价为“卡车”时所关注的位置,黑色填充部分是评价为“不是卡车”时所关注的位置(实际的LIME所示的图像中,图8的斜线阴影部分被着色为绿色,黑色填充部分被着色为红色,但在图8中分别由斜线阴影和黑色填充表示。图18也同样。)。一边参考LIME的这些输出结果,一边修正在FRAM模型中最初识别出的图7的参数,同时通过人的观察进行标记作业。在该作业过程中,包含新识别出的参数的充分条件、必要条件如图9所示(关于输出该结果之前的过程将在后面详述)。
对卡车的纵长门形状的关注,在件数上也非常多,这是最初由人无法想到,但是人工智能捕捉到的卡车的特征。另外,对于“没有车顶=乘用车的充分条件”这一新识别的参数(图9),与其相反的“有车顶=卡车的必要条件”(图7)这样的参数一样,最初在FRAM模型中创建了逻辑对称性,但是人工智能并不是学习了这种逻辑对称性,最终还是独立地获得了乘用车的特征量和卡车的特征量。这显示出不限于2值识别任务,即使是3值、4值,该学习系统也同样能够对各类别识别独立的特征量参数,可以认为是安全上优选的结果。
经过以上的过程,明确了在修正后的FRAM模型和最初的FRAM模型中,没有安全上所担心的人工智能侧的识别遗漏。在弹性(resilience)工程中,最初设想的FRAM模型被称为Work As Imagined(WAI),学习结果的实际模型被称为Work As Done(WAD),在两者之间存在显著差异的情况时,这是由于人工智能系统的适应而产生的变化,是产生安全性的弹性的根源,同时,在具有无意的WAD的变化的情况时,这也被认为是构成无意的行为的原因的风险原因。在这次的用例中,由于在WAD中出现的差别是纵长门形状这一可接收的人工智能方面的发现,因此可以积极地把握这一点,并将其识别为安全上的成功原因。
以下,对利用作为形式方法之一的SpecTRM来实施被标记的测试数据的全面性验证的结果进行更详细的说明。
(基于SpecTRM-RL的安全验证)
使用图7所示的基于最初识别出的参数的FRAM模型方案,通过形式化方法进行了安全验证。在形式化方法中使用的语言是SpecTRM-RL(SpecTRM Requirement Language)。如图10所示,该语言非常紧凑地定义与状态转换相关联的条件转移的所有组合,并且允许识别表示存在未定义的条件组合的完整性的欠缺以及表示相同条件的组合是多个状态转换条件的一致性的欠缺。
完整性解析的结果是,定义不足的条件的组合被输出到图10的表的“***INCOMPLETE****”行,同样地,一致性解析的结果能够从同一条件过渡到多个状态,系统的行为中没有一致性的条件的组合被输出到“***INCONSISTENT****”行。
在各条件定义中,定义True/False的2值,条件中也可以包含四则运算等逻辑式。另外,表示True的“T”,表示False的“F”的任一个都可以的情况下,通过利用“*”可以紧凑地总结定义。
图10是表示对将人工智能系统的测试结果写入SpecTRM-RL语言后进行完整性解析和一致性解析的结果的表。更具体而言,图10的表表示对于2000个测试数据,通过人的观察确认各图像上的车辆是卡车还是乘用车,并且在特征量信息接收部14接收了对于图像上的车辆的各特征量观察确认了True/False的结果数据(特征量信息)之后,在判断部16中汇总该结果数据的结果。这个汇总的处理是使用汇总用软件进行的。但是,完整性解析和一致性解析的方法并不限定于此。例如,在本例中,通过人的观察确认了2000个测试数据的全部,但例如也可以使计算机系统执行上述处理的一部分来实现作业的效率化。
完整性解析算法和一致性解析算法分别用以下所示的式(1)和式(2)表示。
[式1]
Figure BDA0003512438100000101
[式2]
Figure BDA0003512438100000102
其中,设
A:将向量“F,F,F,F...F”到“T,T,T,T...T”作为二进制数量化的全部集合
B:对于人工智能的所有测试数据,将矢量值与A同样地作为二进制数进行量化。
n:集合B的元素数。
在SpecTRM分析中,通过完整性解析来确认测试用例的完整性。完整性解析的结果判明了图11所示的特征量的值的组合没有被测试。
与人工智能的正确率无关,在存在如上述那样没有被测试的用例的情况下,表示系统安全性的论据不充分。为了进行该测试,有必要对测试数据进行修改。图11所示的不足测试数据是没有车顶、有后窗的数据(Targa(注册商标)顶棚敞开式汽车等)、以及没有货斗且没有燃料箱的数据等。
接下来,通过一致性解析来确认测试用例的一致性。一致性解析的结果是,在图12所示的参数值的组合中,从同一条件输出了不同的判定(“TRUCK”和“AUTOMOBILE”都被判定)。
图12所示的不一致的数据是关于所有必需参数都为“False”,即在图像上的车辆中没有一个特征量的数据。对于所有这些参数都是“False”的数据集,首先怀疑只有人工智能系统能够找到的、尚未明确的参数的存在。因此,使用通过FRAM分析提取的其他参数(“控制”参数组)验证是否产生一致性。图14~图17是在最初的参数(图12)中,从上依次逐个追加图13所示的控制参数,对于追加的控制参数也通过观察确认2000个测试数据。
如图14~图17所示,关于大前格栅、后座的有无、车鼻部的有无以及前挡风玻璃倾斜,任何一个值都是“*”,即,所有的参数都是卡车和乘用车共通的特征量。因此,单纯的一致性的欠缺是通过所增加的参数追加一个的结果。也就是说,关于这些特征量,没有发现改善学习结果一致性的效果。
在此,为了获知与在FRAM中识别出的所有参数中的哪一个都不符合的参数、即人未发现、仅由人工智能发现的特征量是怎样的参数,通过人的观察,将所有的特征量为“False”的图像详细地确认。其结果,发现了图18所示的特征。图18表示LIME的输出结果。
在图18中,乘用车、卡车都在前保险杠部上标记有斜线阴影的关注点(人工智能将图像上的车辆评价为“卡车”时关注的部位)。图18所示的图像(a)和(b)的乘用车的前保险杠与车身相同颜色,图像(c)和(d)的卡车的前保险杠与车身颜色不同。
关于这个特征量,可知,189个非一致性数据减少到42件,具有非常大的意义。也就是说,已经发现,该人工智能通过前保险杠的颜色来识别卡车和乘用车。
如上所述,为了评价通过FRAM创建的人工智能系统的内部逻辑构造模型的妥当性,使用了作为形式方法之一的SpecTRM的一致性解析算法。通过对模型进行修改直到确保模型的一致性,人工智能的内部逻辑结构可以以人类可说明的且具有与输出结果的一致性的方式被阐明。
另外,在本具体例中,作为没有一致性的情况的例子,对全部参数为“False”且追加新的参数的情况进行了说明,但除此之外,也可以存在删除或修正特征量参数这样的用例。也就是说,“底板下面有燃料箱”这个参数最初被认为是识别卡车的重要参数而被纳入FRAM模型中(图7),验证的结果判明人工智能完全不关注该特征量。因此,该参数被删除,取而代之的是,新采用了“底板下面有广阔的空间”这一特征量(图9)。这个“底板下面有广阔的空间”的特征量是用与使用图13~图17说明的方法同样的方法确定的。
(处理流程)
使用图19,说明本实施方式的安全性验证系统中的处理的示例。图19表示在使用FRAM确定了被预测在人工智能系统中使用的多个特征量(人工智能系统的最初的模型化)后的基于SpecTRM的完整性解析以及一致性解析的处理流程的示例。
在步骤S14中,特征量信息接收部14接收特征量信息,该特征量信息包括关于作为测试数据的图像上的车辆的应当由人工智能系统导出的正确解析结果(卡车/乘用车)、和表示关于图像上的车辆的各特征量的值(True/False)的数据。如上所述,可以使用LIME工具来确定所采用的特征量和每个特征量的值。另外,如后所述,该处理也可以通过ACE(Automated Concept-based Explanation)等工具使一部分或全部自动化。
接着,在步骤S16中,进行全部测试数据的特征量矢量的搜索处理。该处理可以使用SpecTRM工具等来进行处理。本步骤主要由判断部16执行。这里,特征量矢量是表示特征量的值的组合的矢量值。例如,如果特征量组(货斗、车轮数>4、油罐、后窗、无车顶、有尾部)的值分别为(F,F,F,T,T,*),则其可以表示为矢量“F,F,F,T,T,*”。本例的情况下,特征量矢量可以取“F,F,F,F,F,F”~“T、T、T、T、T、T”的值。
在步骤S18中,判断部16判断是否存在在所有的测试数据中并不存在的特征量矢量(特征量的值的组合)。在存在该特征量矢量的情况下(步骤S18:是),输出表示测试数据不完整的完整性解析结果(步骤S20)。
接着,在步骤S22中,判断部16判断在卡车和乘用车双方的测试数据中是否存在相同的特征量矢量。在存在该特征量矢量的情况下(步骤S22:是),输出表示没有一致性的一致性解析结果(步骤S24),结束处理。
另外,在步骤S20中输出的完整性解析结果是测试数据不完整的意思的结果的情况下,之后,通过新追加具有在测试数据(第一测试数据)中不存在的特征量矢量那样的测试数据(第二测试数据),来保证测试的完整性。
另外,在步骤S24中输出的一致性解析结果是表示人工智能模型没有一致性的结果的情况下,之后,也可以重复追加新的其他特征量来确认是否保证一致性的处理。更具体地,例如,对追加了新特征量的特征量信息重复从步骤S14开始的处理。
在以上的实施方式中,示出了根据黑盒型人工智能的测试结果生成人类可解释的模型(FRAM分析),通过形式化方法确认和改善该模型的妥当性的方法(SpecTRM一致性解析)以及验证人工智能的测试结果的完整性的方法(SpecTRM完整性解析)。根据本方法,通过进行人工智能系统的安全验证,不仅可以在将黑盒白盒化的基础上进行评价,还可以将通过人工智能的学习结果获得了人类无法想到的新逻辑的结果作为安全验证的结果。
在考察人工智能的安全性验证时,具有以下2个方向性是本方法的最大特征:
(1)纠正人工智能测试的不完整性以及模型的非一致性。
(2)注意到只能由人工智能获得的逻辑,修正人类的认知模型。
另外,本方法不仅适用于黑盒型人工智能,还可以适用于白盒型人工智能。即使在白盒型人工智能的情况下也能够发现,人工智能根据一致性解析的结果获得了隐藏的条件,其结果可以改善白盒模型。例如,通过使用说明CNN的特征图的结果的方法,尽可能地识别人工智能获得的特征量,在此基础上创建FRAM模型,从而可以创建更精确的描述模型。此外,基于SpecTRM的形式验证可以应用于利用可解释模型的组合的机制的验证,例如集成树。
因此,在上述实施方式中使用的技术并非代替现有人工智能逻辑结构的描述技术,而是可以被定位为将其集成化而用于更可靠地验证安全性的方法。
(第二实施方式)
在一致性解析中,可以采用以下的式(2-1)来代替上述式(2)。
[式3]
Figure BDA0003512438100000131
在用计算机程序实现第一实施方式的发明时,在将测试数据的矢量值从由“T”和“F”表示的形式变换为由“0”和“1”的二进制数表示的形式之后(例如,将“FFFFTTTT”变换为“00001111”),按照值的从小到大的顺序进行重新排列,从最初开始依次比较相邻的矢量值来进行处理。由此,可以提高处理速度。
在本实施方式中,分别表示元素bi和元素bj的矢量值的“T”和“F”的字符串数据可以不转换为二进制数而进行比较。由此,在计算机程序的执行时能够抑制存储器消耗量,能够抑制因测试数据量的增加而导致的极端的性能下降。
(第三实施方式)
在第一实施方式中,使用LIME作为XAI工具,但也可以使用ACE(参照https://papers.nips.cc/paper/9126-towards-automatic-concept-based-explanations)等来代替LIME。
ACE是XAI技术之一。ACE根据补丁图像集合输出理论依据。每个集合表示集群化图像的特定“概念”。在本例中,当学习后的神经网络从特定图像中分类“急救车”时,ACE分析所学习的模型以生成表示分类任务的特定特征的“概念”图像的集合。
图20表示当已学习的人工智能识别出急救车时ACE的输出的一个示例。在本例中,是在将从ImageNet(http://www.image-net.org)中提取出的吉普和急救车的图像数据学习到已学习模型的GoogLeNet(https://arxiv.org/abs/1409.4842)后,使用“吉普”和“急救车”的图像(分别为200个图像)使人工智能执行分类任务时的ACE的输出。(a)和(b)分别是按概念输出的图像的集合。在(a)的图像集合(concept15)中识别出急救车的橙色线的一部分。在(b)的图像集合(concept5)中,识别出急救车的白色车身的一部分。(橙色线和白色车身是美国急救车的标准外观要求所必需的。)通过人观察这些图像组,能够容易地推测出人工智能关注橙色线和白色车身判断为急救车。
如上所述,在使用LIME工具的情况下,如图8和图18所示,在各图像中人工智能关注的图像的一部分以像素为单位进行分色输出。然后,通过人的观察确认,将人工智能所关注的部分确定为货斗、油箱、后窗、车顶之类的部件。LIME工具将着色的部分确定为什么样的部件,由观察的人判断。ACE通过将图像划分为几个部件,将与关注度高的部件类似的部件归为同一组,XAI工具本身表示各部件的“意思”。由此,对于各测试数据,人工智能关注哪个特征的判断大致自动化。通过采用ACE工具,可以获得以下优点。
(1)ACE将关注于同样的特征部分的图像作为集合输出,因此在确定特征量时,能够进一步减少人的主观干涉的余地。
(2)ACE将关注于同样的特征部分的图像作为集合输出,人根据所输出的集合确定特征量,因此,用于特征量确定的作业时间大幅减少。
(3)ACE可以使用已学习的神经网络模型来提取概念。
至此,对本发明的实施方式进行了说明,但当然本发明并不限定于上述实施方式,在其技术思想的范围内可以以各种不同的方式实施。
此外,本发明的范围不限于所示和描述的示例性实施方式,而是包括提供与本发明的目的等同的效果的所有实施方式。此外,本发明的范围不限于由每个权利要求限定的本发明特征的组合,而是可以由所有公开的特征中的特定特征的任何期望组合来限定。
附图标记
1 安全性验证系统
14 特征量信息接收部
16 判断部
18 变更部
20 输出部
40 计算机装置
41 处理器
42 RAM
43 ROM
44 硬盘装置
45 可移动存储器
46 I/O用户界面
47 通信接口
48 显示器

Claims (8)

1.一种安全性验证系统,包括:
特征量信息接收部,所述特征量信息接收部接收特征量信息,所述特征量信息包含在用于进行人工智能系统的安全性验证的测试中使用的多个第一测试数据的每个第一测试数据中的、预测在所述人工智能系统中使用的多个特征量的值;以及
判断部,所述判断部判断:第一组合,所述第一组合是所述多个特征量能够取值的组合中的、没有被包含在所述多个第一测试数据中的组合,或者第二组合,所述第二组合是所述多个特征量能够取值的组合中的与应当由所述人工智能导出的多个正确解析结果相关联的组合。
2.根据权利要求1所述的安全性验证系统,其中,所述特征量信息是将关于所述每个第一测试数据的应当由所述人工智能导出的正确解析结果与所述每个第一测试数据中的所述多个特征量的值相关联的信息。
3.根据权利要求1或2所述的安全性验证系统,其中,所述多个特征量使用FRAM(Functional Resonance Analysis Method:功能共振分析方法)来确定。
4.根据权利要求1~3中任一项所述的安全性验证系统,还包括变更部,在关于所述多个第一测试数据存在所述特征量的值的所述第一组合的情况下,所述变更部将具有所述特征量的值的所述第一组合的第二测试数据追加到所述第一测试数据中。
5.根据权利要求4所述的安全性验证系统,还包括输出部,所述输出部将包含所述第二测试数据的测试数据输出到所述人工智能系统。
6.根据权利要求1~5中任一项所述的安全性验证系统,其中,在所述多个第一测试数据中存在所述特征量的值的所述第二组合的情况下,所述特征量信息接收部接收包含所述多个特征量以外的新的特征量的值的特征量信息。
7.一种由计算机系统执行的方法,包括以下步骤:
接收包含在用于进行人工智能系统的安全性验证的测试中使用的多个第一测试数据的每个第一测试数据中的、预测在所述人工智能系统中使用的多个特征量的值的特征量信息;以及
判断:第一组合,所述第一组合是所述多个特征量能够取值的组合中的、没有被包含在所述多个第一测试数据中的组合,或者第二组合,所述第二组合是所述多个特征量能够取值的组合中的与应当由所述人工智能导出的多个正确解析结果相关联的组合。
8.一种用于使计算机系统执行根据权利要求7所述的方法的程序。
CN202080058982.3A 2019-11-22 2020-11-12 人工智能系统的安全性验证系统、安全性验证方法 Active CN114270323B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019-211156 2019-11-22
JP2019211156 2019-11-22
PCT/JP2020/042229 WO2021100597A1 (ja) 2019-11-22 2020-11-12 人工知能システムの安全性検証システム、安全性検証方法、および安全性検証プログラム

Publications (2)

Publication Number Publication Date
CN114270323A true CN114270323A (zh) 2022-04-01
CN114270323B CN114270323B (zh) 2023-02-21

Family

ID=75981259

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080058982.3A Active CN114270323B (zh) 2019-11-22 2020-11-12 人工智能系统的安全性验证系统、安全性验证方法

Country Status (6)

Country Link
US (1) US11593253B2 (zh)
EP (1) EP4002127A4 (zh)
JP (1) JP7007529B2 (zh)
KR (1) KR102442416B1 (zh)
CN (1) CN114270323B (zh)
WO (1) WO2021100597A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198015A (zh) * 2013-03-21 2013-07-10 中国人民解放军国防科学技术大学 一种基于使用概率的嵌入式软件可靠性测试数据生成方法
CN103902853A (zh) * 2012-12-25 2014-07-02 中国科学院深圳先进技术研究院 基于支持向量机的剪接位点识别方法
JP2016081228A (ja) * 2014-10-15 2016-05-16 日本電信電話株式会社 複数入力変数に対する正常系テストデータ生成装置、方法、及びプログラム
WO2019073557A1 (ja) * 2017-10-11 2019-04-18 三菱電機株式会社 サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101675986B1 (ko) * 2016-06-13 2016-11-23 (주)씽크포비엘 전장용 소프트웨어 안전성 분석 방법 및 장치
JP6497367B2 (ja) * 2016-08-31 2019-04-10 横河電機株式会社 プラント制御装置、プラント制御方法、プラント制御プログラム及び記録媒体
JP6937659B2 (ja) * 2017-10-19 2021-09-22 株式会社日立製作所 ソフトウェアテスト装置および方法
US11354458B1 (en) * 2018-02-22 2022-06-07 Hexagon Manufacturing Intelligence, Inc. Automated vehicle safety simulation using safety quotient method
JP7091820B2 (ja) * 2018-05-14 2022-06-28 オムロン株式会社 制御システム、学習データ作成装置、学習装置および判定装置
CN109034632B (zh) * 2018-08-03 2019-06-18 哈尔滨工程大学 一种基于对抗样本的深度学习模型安全风险评估方法
CN110132352B (zh) * 2019-05-14 2021-08-03 上海荷福人工智能科技(集团)有限公司 基于人工智能和多传感器的监测装置
US11467575B2 (en) * 2019-06-27 2022-10-11 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for safety-aware training of AI-based control systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902853A (zh) * 2012-12-25 2014-07-02 中国科学院深圳先进技术研究院 基于支持向量机的剪接位点识别方法
CN103198015A (zh) * 2013-03-21 2013-07-10 中国人民解放军国防科学技术大学 一种基于使用概率的嵌入式软件可靠性测试数据生成方法
JP2016081228A (ja) * 2014-10-15 2016-05-16 日本電信電話株式会社 複数入力変数に対する正常系テストデータ生成装置、方法、及びプログラム
WO2019073557A1 (ja) * 2017-10-11 2019-04-18 三菱電機株式会社 サンプルデータ生成装置、サンプルデータ生成方法およびサンプルデータ生成プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHUBHAM SHARMA 等: "CERTIFAI: Counterfactual Explanations for Robustness, Transparency,Interpretability, and Fairness of Artificial Intelligence models", 《ARXIV.ORG》 *

Also Published As

Publication number Publication date
JP7007529B2 (ja) 2022-01-24
EP4002127A1 (en) 2022-05-25
US20220269588A1 (en) 2022-08-25
WO2021100597A1 (ja) 2021-05-27
KR102442416B1 (ko) 2022-09-14
KR20220034246A (ko) 2022-03-17
EP4002127A4 (en) 2023-12-13
JPWO2021100597A1 (zh) 2021-05-27
US11593253B2 (en) 2023-02-28
CN114270323B (zh) 2023-02-21

Similar Documents

Publication Publication Date Title
US20210012210A1 (en) Techniques for creating, analyzing, and modifying neural networks
JP5588395B2 (ja) 画像をオブジェクト及びそのパーツに関して効率的に解釈するためのシステムと方法
US20160140422A1 (en) Image processing apparatus, image processing method and program
US11640539B2 (en) Techniques for visualizing the operation of neural networks using samples of training data
JP7353198B2 (ja) 計算機、識別器の学習方法、および分析システム
EP3872818A2 (en) Method for providing diagnostic system using semi-supervised learning, and diagnostic system using same
CN113408558B (zh) 用于模型验证的方法、装置、设备和介质
WO2021007259A1 (en) Techniques for modifying neural network definitions
CN105975269A (zh) 一种基于流程模型的需求验证方法
CN114258550A (zh) 用于修改神经网络的操作的技术
Langford et al. Enki: A diversity-driven approach to test and train robust learning-enabled systems
CN114140670A (zh) 基于外源特征进行模型所有权验证的方法和装置
CN114270323B (zh) 人工智能系统的安全性验证系统、安全性验证方法
US20220266854A1 (en) Method for Operating a Driver Assistance System of a Vehicle and Driver Assistance System for a Vehicle
CN112183678A (zh) 判图方法和系统
JP2005309920A (ja) 多数決装置及びその学習方法と多クラス識別装置
Hashemi et al. Runtime monitoring for out-of-distribution detection in object detection neural networks
CN114003511B (zh) 针对模型解释工具的评测方法和装置
Temple et al. Empirical assessment of multimorphic testing
CN116198511A (zh) 车辆规控参数配置方法及系统
CN114692295A (zh) 车辆性能边界的确定方法、装置、终端设备及存储介质
KR20210158740A (ko) 기계학습 성능 기반 클러스터링 평가 장치 및 그 방법
US20240104901A1 (en) Apparatus for selecting a training image of a deep learning model and a method thereof
KR20210089044A (ko) 물체 인식을 위한 학습 데이터를 선택하는 방법 및 상기 방법을 이용하여 학습된 물체 인식 모델을 이용하여 물체를 인식하는 물체 인식 장치
EP4365853A1 (en) Method for detecting an object in an image

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40071731

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant