IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングの特許一覧 ▶ ロバート ボッシュ エンジニアリング アンド ビジネス ソリューションズ リミテッドの特許一覧

特開2023-55093モジュールのトレーニング方法及びAIモジュールの捕獲を防止する方法
<>
  • 特開-モジュールのトレーニング方法及びAIモジュールの捕獲を防止する方法 図1
  • 特開-モジュールのトレーニング方法及びAIモジュールの捕獲を防止する方法 図2
  • 特開-モジュールのトレーニング方法及びAIモジュールの捕獲を防止する方法 図3
  • 特開-モジュールのトレーニング方法及びAIモジュールの捕獲を防止する方法 図4
  • 特開-モジュールのトレーニング方法及びAIモジュールの捕獲を防止する方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023055093
(43)【公開日】2023-04-17
(54)【発明の名称】モジュールのトレーニング方法及びAIモジュールの捕獲を防止する方法
(51)【国際特許分類】
   G06F 21/55 20130101AFI20230410BHJP
   G06N 20/00 20190101ALI20230410BHJP
【FI】
G06F21/55
G06N20/00
【審査請求】未請求
【請求項の数】10
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021164212
(22)【出願日】2021-10-05
(71)【出願人】
【識別番号】390023711
【氏名又は名称】ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング
【氏名又は名称原語表記】ROBERT BOSCH GMBH
【住所又は居所原語表記】Stuttgart, Germany
(71)【出願人】
【識別番号】515022571
【氏名又は名称】ロバート ボッシュ エンジニアリング アンド ビジネス ソリューションズ プライヴェット リミテッド
【氏名又は名称原語表記】Robert Bosch Engineering and Business Solutions Private Limited
【住所又は居所原語表記】123, Industrial Layout, Hosur Road, Koramangala, Bangalore - 560 095, India
(74)【代理人】
【識別番号】100114890
【弁理士】
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【弁理士】
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【弁理士】
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100134315
【弁理士】
【氏名又は名称】永島 秀郎
(74)【代理人】
【識別番号】100162880
【弁理士】
【氏名又は名称】上島 類
(72)【発明者】
【氏名】マノジュクマール ソマブハイ パルマール
(72)【発明者】
【氏名】アディト ジグネシュ シャー
(57)【要約】
【課題】AIシステムが開示される。
【解決手段】AIシステム10は、少なくとも1人のユーザから入力データを受信する入力インタフェース(12)と、受信された入力データが攻撃入力データであることを検出するブロッカモジュール(14)であって、ブロッカモジュール(14)の出力データを操作し、ブロッカモジュールから少なくとも1人のユーザに出力データを送信するブロッカモジュール(14)と、ブロッカモジュール(14)によって受信された入力データを処理して、入力データに対応する出力データを生成するAIモジュール(16)と、攻撃入力データを検出したときにAIシステム(10)の所有者に通知を伝達するブロッカ通知モジュール(18)と、生成された出力データを前記少なくとも1人のユーザに送信する出力インタフェース(20)と、を少なくとも備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
AIシステム(10)であって、当該AIシステム(10)は、
少なくとも1人のユーザから入力データを受信する入力インタフェース(12)と、
受信された前記入力データが攻撃入力データであることを検出するブロッカモジュール(14)であって、前記ブロッカモジュール(14)の出力データを操作し、前記ブロッカモジュールから前記少なくとも1人のユーザに前記出力データを送信するブロッカモジュール(14)と、
前記ブロッカモジュール(14)によって受信された前記入力データを処理して、前記入力データに対応する出力データを生成するAIモジュール(16)と、
攻撃入力データを検出したときに当該AIシステム(10)の所有者に通知を伝達するブロッカ通知モジュール(18)と、
生成された前記出力データを前記少なくとも1人のユーザに送信する出力インタフェース(20)と、
を少なくとも含むAIシステム(10)。
【請求項2】
前記ブロッカモジュール(14)は、
攻撃入力データの出力を検出し、かつ、有効入力データの出力を検出するようトレーニングされるように構成されていて、前記少なくとも1人のユーザから前記入力インタフェース(12)を介して入力データを受信するモジュール(24)と、
前記モジュール(24)からの出力を受信し、前記攻撃入力データの出力データ及び前記有効入力データの出力の分布を分類するように構成された分類器モジュール(26)と、
前記分類器モジュール(26)から受信された分類済みの前記分布を、前記モジュール(24)/トレーニング済みの前記モジュール(24)の出力と比較し、前記入力に対して前記出力の出現確率が低くなるように生成された出力を、前記少なくとも1人のユーザに送信するように構成された比較器モジュール(28)と、
を含む、請求項1に記載のAIシステム(10)。
【請求項3】
AIシステム(10)におけるブロッカモジュール(14)内のモジュール(24)をトレーニングする方法(50)であって、当該方法は、以下のステップ、即ち、
入手可能な総ての攻撃入力データ及び有効入力データを検索するステップ(52)と、
入手可能な総ての攻撃入力データに対する出力を記録するステップ(54)と、
入手可能な総ての有効入力データに対する出力を記録するステップ(56)と、
前記攻撃入力データに対する記録された前記出力及び前記有効入力データに対する記録された前記出力の分布を供給するステップ(58)と、
を含む方法。
【請求項4】
出力を記録するステップ(54,56)及び分布を供給するステップ(58)の後では、前記モジュール(24)は、トレーニング済みのモジュール(24)である、
請求項3に記載の方法。
【請求項5】
AIシステム(10)におけるAIモジュール(16)の捕獲を防止する方法(100)であって、当該方法(100)は、以下のステップ、即ち、
入力インタフェース(12)を介して少なくとも1人のユーザから入力データを受信するステップ(102)と、
前記入力データを攻撃入力データとして又は有効な入力データとして、ブロッカモジュール(14)において識別するステップ(104)と、
前記識別(104)と、前記ブロッカモジュール(14)内のモジュール(24)/トレーニング済みのモジュール(24)からの入力とに基づき、前記入力データを処理するステップ(106)と、
前記少なくとも1人のユーザによって前記AIシステム(10)に送信された前記入力データから予期される出力の能動的な操作によって得られた、前記ブロッカモジュール(14)において処理された前記出力データを、前記ブロッカモジュール(14)を介して前記少なくとも1人のユーザに送信するステップ(108)であって、前記出力データは、前記ブロッカモジュール(14)によって送信される、ステップ(108)と、
を含む方法(100)。
【請求項6】
前記入力データを攻撃データとして又は有効入力データとして識別する(104)一方、入力データが前記入力インタフェース(12)から前記ブロッカモジュール(14)の前記モジュール(24)に伝達される、
請求項5に記載の方法(100)。
【請求項7】
前記ブロッカモジュール(14)の前記モジュール(24)/トレーニング済みの前記モジュール(24)は、既知の攻撃入力データ及び有効入力データに関連する出力データを有する、
請求項5に記載の方法(100)。
【請求項8】
前記処理(106)の少なくとも一部は、前記ブロッカモジュール(14)の分類器モジュール(26)において実装されており、前記分類器モジュール(26)は、前記攻撃入力データの出力データ及び前記有効入力データの出力の分布を分類するように構成されている、
請求項5に記載の方法(100)。
【請求項9】
前記処理(106)の少なくとも一部は、前記ブロッカモジュール(14)の比較器モジュール(28)において実装されており、前記比較器モジュール(28)が前記分類器モジュール(26)から受信した分類済みの前記分布をトレーニング済みの前記モジュール(24)の出力と比較し、前記入力に対して出現確率が低くなるように生成された出力を前記少なくとも1人のユーザに送信するように、前記比較器モジュール(28)は、前記ユーザに送信される出力データを能動的に操作する、
請求項5に記載の方法(100)。
【請求項10】
前記ブロッカモジュール(14)において入力データが攻撃入力データとして識別されると(104)、ブロッカ通知モジュール(18)が、前記攻撃入力データの通知を前記AIシステム(10)の所有者に伝達する、
請求項5に記載の方法(100)。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、AIシステムにおけるモジュールのトレーニング方法及びAIシステムにおけるAIモジュールの捕獲を防止する方法に関する。
【背景技術】
【0002】
発明の背景
今日、データ処理及び意思決定システムの大半は、人工知能モジュールを用いて実装されている。人工知能モジュールは、機械学習、ニューラルネットワーク、ディープラーニング等のような種々の技術を使用している。
【0003】
AIに基づくシステムの大半は、大量のデータを受け取り、AIモデルをトレーニングするためにデータを処理する。トレーニングされたAIモデルは、ユーザにより要求されるユースケースに基づいて出力を生成する。典型的には、AIシステムは、コンピュータビジョン、音声認識、自然言語処理、オーディオ認識、医療、自動運転、製造、ロボット工学などの分野において使用されており、その際にこれらのシステムは、トレーニングを通して取得された特定の規則/知能に基づいて、要求される出力を生成するためにデータを処理する。
【0004】
入力を処理するためにAIシステムは、トレーニングデータを用いてトレーニングされる種々のモデル/アルゴリズムを使用する。トレーニングデータを用いてAIシステムがトレーニングされると、AIシステムは、モデルを使用してリアルタイムデータを解析し、適当な結果を生成する。それらのモデルを、結果に基づいてリアルタイムに微調整することができる。
【0005】
AIシステムにおけるモデルがシステムのコアを成している。これらのモデルの開発には、大量の労力、リソース(有形及び無形)並びに知識が投入されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許出願公開第2019/0095629号明細書
【発明の概要】
【発明が解決しようとする課題】
【0007】
ここで考えられることは、ある攻撃者がAIシステムからモデルを捕獲/コピー/抽出しようと試みるかもしれない、ということである。攻撃者は、AIシステムからモデルを捕獲するために種々の技術を用いる可能性がある。攻撃者によって使用される単純な技術のうちの1つは、攻撃者が独自のテストデータを用いて、AIシステムに繰り返し種々のクエリを送信することである。テストデータは、AIシステムにおけるモデルの動作に関する内部情報を抽出するように設計されている可能性がある。攻撃者は、生成された結果を使用して独自のモデルをトレーニングする。これらのステップを反復して実行することにより、モデルの内部を捕獲することが可能となり、同様のロジックを用いて類似したモデルを構築することができる。このことによって、AIシステムの元来の開発者が苦境に追い込まれることになる。苦境の形態として考えられるのは、ビジネスの不利益、機密情報の損失、開発に費やされたリードタイムの損失、知的財産の損失、将来の収益の損失などである。
【0008】
従来技術において、攻撃者によるこの種の攻撃を識別し、AIシステムにおいて使用されるモデルを保護する方法が知られている。従来技術の米国特許出願公開第2019/0095629号明細書には、この種の方法の1つが開示されている。
【0009】
上述の従来技術に開示された方法は、入力を受信し、トレーニングされたモデルを入力データに適用することによって、入力データを処理し、予め定義された複数のクラスごとに値を有する出力ベクトルを生成する。クエリエンジンは、出力ベクトルの生成に関連する関数内にクエリを挿入することによって、出力ベクトルを修正し、これによって修正された出力ベクトルを生成する。次いで、修正された出力ベクトルが出力される。クエリエンジンは、入力データの分類精度を維持しながら、トレーニングされたモデルロジックのトレーニングされたコンフィギュレーションを偽装するために、1つ又は複数の値を修正する。
【図面の簡単な説明】
【0010】
本発明の種々の態様が明細書に詳細に開示されており、添付の図面に示されている。
図1】AIシステムにおけるAIモジュールの捕獲を防止するために使用されるAIシステムの種々の構成ブロックを表すブロック図を示す図である。
図2】AIシステムにおけるAIモジュールの捕獲を防止するために使用されるAIシステムの種々の構成ブロックを付加的な細部と共に表すブロック図を示す図である。
図3】AIシステムのブロッカモジュール内のモジュールをトレーニングするための、AIシステムの種々の構成ブロックを表すブロック図を示す図である。
図4】上述のAIシステムのブロッカモジュール内のモジュールのトレーニング方法を表すブロック図である。
図5】AIシステムにおけるAIモジュールの捕獲を防止する方法を表すブロック図である。
【発明を実施するための形態】
【0011】
実施形態の詳細な説明
ここで重要であることは、人工知能(AI)技術及び人工知能(AI)に基づくシステム又は人工知能(AI)システムのいくつかの態様を理解することである。本開示は、AIシステムの2つの態様を包含する。第1の態様は、AIシステムにおけるモジュールのトレーニングに関するものであり、第2の態様は、AIシステムにおけるAIモジュールの捕獲の防止に関するものである。
【0012】
AI技術及びAIシステムのいくつかの重要な態様を、以下のように説明することができる。実装のアーキテクチャに応じて、AIシステムは、複数の構成要素を含み得る。かかる構成要素の1つはAIモジュールである。本開示に関連するAIモジュールを、モデルを実行する構成要素として説明することができる。ある1つのモデルを、種々の形式の相関行列を使用するデータの参照又は推論セットとして定義することができる。これらのモデルとこれらのモデルからのデータとを用いて、種々のタイプのデータ間において相関を確立することができ、それによって、データの何らかの論理的理解に到達する。当業者であれば、線形回帰、ナイーブベイズ分類器、サポートベクトルマシン、ニューラルネットワーク及びこれらに類するものなど、種々のタイプのAIモデルを認識しているであろう。本開示は、AIモジュールにおいて実行されるAIモデルのタイプに特化されるものではなく、実行されるAIモデルに関係なく、任意のAIモジュールに適用することができるということを理解されたい。当業者であれば、AIモジュールが、ソフトウェア命令のセット、ソフトウェアとハードウェアとの組合せ、又は、これらの任意の組合せとして実装可能であるということも理解するであろう。
【0013】
AIシステムによって実施される典型的なタスクの一部は、分類、クラスタリング、回帰などである。大多数の分類タスクは、ラベリングされたデータセットに依存し、即ち、ニューラルネットワークがラベルとデータとの相関関係を学習するために、データセットが手動でラベリングされる。これは、教師あり学習として知られている。分類の一般的な用途のいくつかは、顔認識、物体識別、ジェスチャ認識、音声認識などである。クラスタリング又はグループ化は、入力における類似性の検出である。クラスタ学習技術は、類似性を検出するためにラベルを必要としない。ラベルなしの学習は、教師なし学習と称される。ラベルなしデータは、世の中のデータの大半を占める。機械学習の1つの法則は、より多くのデータに基づきアルゴリズムをトレーニングすることができるようになるにつれて、その精度が高くなるということである。よって、教師なし学習のモデル/アルゴリズムは、トレーニングデータセットのサイズが大きくなるにつれて、正確なモデルを生成する潜在能力を有する。
【0014】
上述のように、本開示の1つの態様は、AIシステムにおけるモジュールのトレーニングに関する。トレーニングの方法論の具体的な詳細については、本明細書の後半において説明する。
【0015】
AIモジュールは、AIシステムのコアを成すため、このモジュールを攻撃から保護しなければならない。攻撃者は、AIモジュール内のモデルを攻撃し、AIモジュールから情報を盗もうとする。この攻撃は、攻撃ベクトルによって開始される。コンピューティング技術において、コンピュータ、コンピュータシステム又はコンピュータネットワークに感染させるためなど、悪意のあるコード/ウイルスデータが自身を伝播させるために使用する方法として、ベクトルが定義される可能性がある。同様に、攻撃ベクトルは、ペイロード又は悪意のある結果をもたらすために、ハッカーがコンピュータ又はネットワークにアクセスし得るようにする経路又は手段として定義される。モデル窃盗攻撃は、AIモジュールのディジタルツイン/レプリカ/コピーを作成することができる一種の攻撃ベクトルを使用する。この攻撃は、種々の研究論文において実証されており、それらによれば、同様のパフォーマンスを有する代替モデルを構築するためにモデルが捕獲/コピー/抽出された。
【0016】
攻撃者は、典型的には、入力仕様のサイズ及び形状のランダムなクエリを生成し、これらの任意のクエリによってモデルに問合せ(クエリイング)を開始する。この問合せは、ランダムなクエリに対する入出力ペアを作成し、予めトレーニングされたモデルから推論された二次データセットを生成する。次いで、攻撃者は、このI/Oペアを受け取り、この二次データセットを用いて新しいモデルを最初からトレーニングする。これは、元のモデルについて予備知識を必要としないブラックボックスモデルの攻撃ベクトルである。モデルに関する事前情報を利用することができ、そのような情報が増加していくにつれて、攻撃者は、よりインテリジェントな攻撃に移行する。攻撃者は、より効率的にモデルを抽出するために、攻撃者の意のままに関連するデータセットを選択する。これは、ドメインインテリジェンスモデルに基づく攻撃ベクトルである。これらのアプローチを用いることにより、種々のモデル及びデータセットにわたってモデル窃盗攻撃を実証することができる。
【0017】
先に述べたように、本開示の第2の態様は、攻撃を検出することによりAIシステムにおけるAIモジュールの捕獲を防止することに関する。これは、AIモジュールがトレーニングされたモデルを使用して攻撃を検出し、攻撃を阻止するためにAIシステムの他の構成要素が使用されるので、本開示の第1の態様と相互に関連がある。
【0018】
本開示は、特に、AIシステムにおけるモジュールをトレーニングするために使用される方法論、及び、AIシステムにおけるAIモジュールの捕獲を防止する方法論を開示しているということを理解されたい。これらの方法論は、目的を達成するための一連のステップだけを記述しているが、これらの方法論は、ハードウェア、ソフトウェア、及び、それらの組合せとすることができるAIシステムにおいて実装される。
【0019】
図1及び図2には、本開示によるAIシステムの種々の構成ブロックを表すブロック図が示されている。AIシステムの構成ブロック各々を、アプリケーションに応じてそれぞれ異なるアーキテクチャフレームワークにおいて実装することができるということを理解されたい。アーキテクチャフレームワークの1つの実施形態によれば、AIシステムの構成ブロック総てがハードウェアにより実装され、即ち、構成ブロック各々を1つのマイクロプロセッサチップ上にハードコーディングすることができる。このことが特に可能であるのは、構成ブロックがネットワークを介して物理的に分散されており、その際に構成ブロック各々がネットワーク全体にわたり個々のコンピュータシステム上に存在する場合である。AIシステムのアーキテクチャフレームワークの他の実施形態によれば、構成ブロックが、ハードウェアとソフトウェアとの組合せとして実装されており、即ち、一部の構成ブロックが、マイクロプロセッサチップ上にハードコーディングされている一方、他の構成ブロックは、マイクロプロセッサチップ内又はクラウド上に存在させることができるソフトウェアにおいて実装されている。
【0020】
図1に示されているように、AIシステム10は、少なくとも1人のユーザから入力データを受信する入力インタフェース12と、受信された入力データが攻撃入力データであることを検出するブロッカモジュール14であって、ブロッカモジュール14の出力データを操作し、ブロッカモジュールから少なくとも1人のユーザに出力データを送信するブロッカモジュール14と、ブロッカモジュール14によって受信された入力データを処理して、入力データに対応する出力データを生成するAIモジュール16と、攻撃入力データを検出したときにAIシステム10の所有者に通知を伝達するブロッカ通知モジュール18と、生成された出力データを少なくとも1人のユーザに送信する出力インタフェース20と、を少なくとも備える。
【0021】
先に述べたように、図2によれば、ブロッカモジュール自体に関する付加的な細部が提供される。ブロッカモジュール14は、攻撃入力データの出力を検出し、かつ、有効入力データの出力を検出するようトレーニングされるように構成されていて、入力インタフェース12を介して少なくとも1人のユーザから入力データを受信するモジュール24と、モジュール24から出力を受信し、かつ、攻撃入力データの出力データ及び有効入力データの出力の分布を分類するように構成された分類器モジュール26と、分類器モジュール26から受信した分類済みの分布を、モジュール24/トレーニング済みのモジュール24の出力と比較して、上記入力に対して上記出力の出現確率が低くなるように生成された出力を、少なくとも1人のユーザに送信するように構成された比較器モジュール28と、を備える。
【0022】
図3には、AIシステムのブロッカモジュール内のモジュールをトレーニングするための、AIシステムの種々の構成ブロックを表すブロック図が示されている。ブロッカモジュール14内のモジュール24のトレーニングのために、入力インタフェース12からの入力データがモジュール24に送信される。モジュール24は、AIモジュール16からの入力も受信する。入力データは、入力インタフェースを介して受信され、トレーニング状況において入力インタフェースは、有線コネクション又は無線コネクションを介してAIモジュール16及びモジュール24に接続されるハードウェアインタフェースである。モジュール24のトレーニング中には、情報セット又はデータセットが必要とされ得る。1つの実施形態によれば、モジュール24及びAIモジュール16は、ハードウェア構成要素として実装されている。この場合には、モジュール16は、記憶媒体も備えたプロセッサ構成要素を有することになる。データセットは、記憶媒体である。AIモジュール16は、記憶媒体も備えたプロセッサ構成要素を有する。図3に示されているように、入力データは、AIモジュール16によって受信される。AIモジュールは、モジュール24と通信する。AIモジュール16に供給される入力データを、AIモジュール16からの予期される出力をトリガする入力の組合せとすることができる。ここで用いられるトレーニング方法論は、教師なしトレーニング方法論であるため、データのさらなるラベリングを行わなくてよい。モジュール24をトレーニングする方法が、図4のブロック図を用いて示されている。AIシステム10におけるブロッカモジュール14内のモジュール24をトレーニングする方法50は、以下のステップ、即ち、入手可能な総ての攻撃入力データ及び有効入力データを検索するステップ(52)と、入手可能な総ての攻撃入力データに対する出力を記録するステップ(54)と、入手可能な総ての有効入力データに対する出力を記録するステップ(56)と、攻撃入力データに対する記録された出力及び有効入力データに対する記録された出力の分布を供給するステップ(58)とを含む。出力を記録するステップ(54)、(56)、及び、分布を供給するステップ(58)の後では、モジュール(24)は、トレーニング済みのモジュール(24)である。
【0023】
攻撃ベクトルは、AIモジュール16によって受信されるランダムなクエリである。攻撃ベクトル又は不正データはランダムであるため、攻撃ベクトルの個数を制御することはできない。ブロッカモジュール14の出力挙動は、モジュール16に送信されてモジュール16内に記録される。ブロッカモジュール14の内部挙動が記録された後では、モジュール16は、トレーニング済みのモジュール16である。トレーニング済みのモジュール16は、上述の記載において述べた教師なし学習方法論を用いてトレーニングされる。トレーニング済みのモジュール16からの情報も、以降において使用するためにデータセット24内に格納される。かくしてモジュール16は、ブロッカモジュール14の予期される出力挙動に関連する情報が記録され、入力に対するAIモジュールの通常の挙動とみなされるように、トレーニングされる。
【0024】
AIシステムのアーキテクチャフレームワークに基づいて先に述べたように、構成ブロック各々は、実装アプリケーションに依存する。AIシステム10の構成ブロックを、アプリケーションに応じてそれぞれ異なるアーキテクチャフレームワークにおいて実装することができる。アーキテクチャフレームワークの1つの実施形態によれば、AIシステムの構成ブロック総てがハードウェアにより実装され、即ち、構成ブロック各々を1つのマイクロプロセッサチップ上にハードコーディングすることができる。このことが特に可能であるのは、構成ブロックがネットワークを介して物理的に分散されており、その際に構成ブロック各々がネットワーク全体にわたり個々のコンピュータシステム上に存在する場合である。AIシステムのアーキテクチャフレームワークの他の実施形態によれば、構成ブロックは、ハードウェアとソフトウェアとの組合せとして実装されており、即ち、一部の構成ブロックがマイクロプロセッサチップ上にハードコーディングされている一方、他の構成ブロックは、マイクロプロセッサチップ内又はクラウド上に存在させることができるソフトウェアにおいて実装されている。1つの実施形態におけるAIシステムの構成ブロック各々は、個別のプロセッサ及びメモリを有する。
【0025】
図5には、AIシステムにおけるAIモジュールの捕獲を防止する方法を表すブロック図が示されている。AIシステム10におけるAIモジュール16の捕獲を防止する方法100であって、この方法100は、以下のステップ、即ち、入力インタフェース12を介して少なくとも1人のユーザから入力データを受信するステップ102と、この入力データを攻撃入力データとして又は有効入力データとしてブロッカモジュール14において識別するステップ104と、ステップ104における識別と、ブロッカモジュール14内のモジュール24/トレーニング済みのモジュール24からの入力とに基づき、入力データを処理するステップ106と、少なくとも1人のユーザによってAIシステム10に送信された入力データから予期される出力の能動的な操作によって得られた、ブロッカモジュール14において処理された出力データを、ブロッカモジュール14を介して少なくとも1人のユーザに送信するステップ108と、を含む。出力データは、ブロッカモジュール14によって送信される。
【0026】
入力データを攻撃データとして又は有効入力データとして、ステップ104において識別する一方、入力データは入力インタフェース12からブロッカモジュール14のモジュール24に伝達される。ブロッカモジュール14のモジュール24/トレーニング済みのモジュール24は、総ての既知の攻撃入力データ及び有効入力データに関連する出力データを有する。処理するステップ106の少なくとも一部は、ブロッカモジュール14の分類器モジュール26において実装されており、分類器モジュール26は、攻撃入力データの出力データ及び有効入力データの出力の分布を分類するように構成されている。
【0027】
処理するステップ106の少なくとも一部は、ブロッカモジュール14の比較器モジュール28において実装されており、比較器モジュール28が分類器モジュール26から受信した分類済みの分布をトレーニング済みのモジュール24の出力と比較し、出力を少なくとも1人のユーザに送信するように、比較器モジュール28は、ユーザに送信される出力データを能動的に操作する。出力は、上記入力に対して上記出力の出現確率が低くなるように生成される。ブロッカモジュール14において入力データが攻撃入力データとしてステップ104において識別されると、ブロッカ通知モジュール18は、この攻撃入力データの通知をAIシステム10の所有者に伝達する。
【0028】
本開示によるAIシステム10の実行中及び動作中に、AIシステムは、入力インタフェース12を介して入力を受信することができる。この入力は、ブロッカモジュール14によって受信される。入力が適正データであるのか又は不正データ(攻撃ベクトル)であるのかに関係なく、AIモジュールは、所定の出力を供給する。モジュール24をトレーニングする方法論及びAIモジュール16の捕獲を防止する方法の原理は、攻撃を検出するための最初のトレーニングが元のデータと既知の攻撃ベクトルとを通じて行われるということであり、これによって、新参の攻撃ベクトルに対する防御が非常に困難になる。新参の攻撃ベクトルに対する攻撃という可能性はあるが、攻撃ベクトルを検出するモジュール24は、以前に発見された攻撃ベクトルの確率値に基づきトレーニングされるので、新たな攻撃ベクトルを検出する可能性が増加することになる。目下のデータに対する攻撃ベクトルの出力値の分布が異なるため、新たな攻撃ベクトルをより効率的に検出することができる。攻撃ベクトルが検出された後、出力を阻止するのではなく、操作された出力が送出される。1つの方法論によれば、操作された出力は、元の予測とは正反対の最も低い確率値クラスとして選択される。よって、攻撃者は、誤った出力を受信することになり、妥当な精度でモデルをトレーニングすることができなくなる。
【0029】
従って、この種の方法及びAIシステムの利点は、無効な入力を送信するユーザは、AIシステム10から依然として出力を受信することになるということである。ただし、AIシステム10からの出力データを用いても、AIモジュール16を再構築/再作成することは非常に困難である。それゆえ、AIモジュール内のAIモデルを盗むことは困難になり又は最小限に抑制される。ブロッカモジュール14によって生成される出力を供給する可能性のほか、本開示によればAIシステムを使用するユーザにフラグを付すこともできる。ユーザにフラグを付すことは、ユーザプロファイルに基づくものとなる。ユーザに関する情報を格納するために、以下の情報、即ち、ユーザにより供給された不正データ/攻撃ベクトルのタイプ、ユーザが不正データ/攻撃ベクトルを入力した回数、AIシステムに不正データ/攻撃ベクトルが入力された時刻、ユーザの物理的ロケーション、ユーザのディジタルロケーション、ユーザの人口統計情報及びこれらに類するものを使用することができる。これらに加えて、ユーザが常習攻撃者であるのか又は1回限りの攻撃であったのか又は偶発的な攻撃に過ぎないのかなどを判定するために、ユーザプロファイルを使用することができる。ユーザプロファイルに応じて、システムのロック解除ステップを決定することができる。初回の攻撃者であった場合には、ユーザを一時的にロックアウトすることができる。攻撃者が常習攻撃者であった場合には、より厳格なロックステップを提案することができる。
【0030】
図1及び図2に示された描写を通じて開示されたAIシステムは、例示的なものに過ぎず、AIシステム10の種々の構成ブロックのロケーションの観点から本発明の範囲を限定するものではないということを理解されたい。ここで考えられることは、AIシステムの構成ブロックの配置を変更することが可能であり、それらは、本開示の範囲内にあるということである。本開示の範囲は、開示された方法のステップの観点からのみ限定される。AIシステム10の構成ブロック各々の実装を任意の形態において行うことができ、そのような形態を、ハードウェア、ソフトウェア、又は、ハードウェアとソフトウェアとの組合せとすることができる。
図1
図2
図3
図4
図5
【外国語明細書】