(57)【要約】  強化ニューラル・ネットワークを設けるためのメカニズムが提供される。本メカニズムは、データ処理システム中で実行される強化ニューラル・ネットワークを、該強化ニューラル・ネットワークの内部の特徴表現中にノイズを導入するように構成する。内部の特徴表現中に導入されたノイズは、該強化ニューラル・ネットワークの損失表面に関連する勾配計算の方向を逸らす。本メカニズムは、データ処理システム中で実行される強化ニューラル・ネットワークを、該強化ニューラル・ネットワークの敵対的に訓練された出力ノードの出力と、導入されたノイズに基づいて訓練された強化ニューラル・ネットワークの出力ノードとを結合するノードの併合層を実装するように構成する。本メカニズムは、強化ニューラル・ネットワークによって、入力データに対する分類ラベルを生成するため該入力データを処理し、これにより拡張された入力データを生成し、これは、コンピューティング・オペレーションを行うべく処理するため、コンピューティング・システムに出力される。
2021501414.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサおよびメモリを含むデータ処理システムにおける方法であって、前記メモリは、強化ニューラル・ネットワークを実装するように前記プロセッサを特別に構成するための前記プロセッサによって実行される命令を含み、前記方法は、
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを、前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成するステップであって、前記内部の特徴表現中に導入された前記ノイズは、前記強化ニューラル・ネットワークの損失表面に関連する勾配計算の方向を逸らす、前記構成するステップと、
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを、前記強化ニューラル・ネットワークの敵対的に訓練された出力ノードの出力と、導入された前記ノイズに基づいて訓練された前記強化ニューラル・ネットワークの出力ノードとを結合するノードの併合層を実装するように構成するステップと、
前記強化ニューラル・ネットワークによって、前記強化ニューラル・ネットワークによる分類のための入力データを受信するステップと、
前記強化ニューラル・ネットワークによって、前記入力データに対する分類ラベルを生成するため前記入力データを処理し、これにより拡張された入力データを生成するステップと、
前記強化ニューラル・ネットワークによって、前記拡張された入力データを、コンピューティング・オペレーションを行うべく前記拡張された入力データを処理するため、コンピューティング・システムに出力するステップと、
を含む、方法。
【請求項２】
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成するステップは、前記ニューラル・ネットワークの訓練過程で、前記ニューラル・ネットワークによって行われる分類オペレーションの各クラスの中にノイズを導入するステップを含む、請求項１に記載の方法。
【請求項３】
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成するステップは、各クラスのクラスタに関連する前記損失表面に少なくとも１つのノイズ含有領域を導入するステップを含み、前記各クラスのクラスタに関連する前記損失表面における勾配が前記少なくとも１つのノイズ含有領域に向かう方向を有する、請求項２に記載の方法。
【請求項４】
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成するステップは、
オリジナルの訓練データに基づいて、入力データ・サンプルを複数の異なるクラスに分類するように、ニューラル・ネットワークを訓練するステップと、
前記ニューラル・ネットワークの前記損失表面に関連する勾配計算の方向を逸らすことによって、敵対的入力の生成から保護される前記強化ニューラル・ネットワークを生成するために、前記ニューラル・ネットワークに引き続き訓練を行うステップと、
を含む、請求項１に記載の方法。
【請求項５】
前記引き続きの訓練が、
前記ニューラル・ネットワークの出力ノードの第一セットに関し、前記オリジナルの訓練データのデータ・サンプルに対応する訓練データの第一セットに基づいて、前記ニューラル・ネットワークを訓練するステップと、
前記ニューラル・ネットワークの出力ノードの前記第一セットに関し、前記訓練データの第一セットから生成された、データ・サンプル中に導入された相対的に小さな撹乱を有する、ノイズ含有の前記データ・サンプルに対応する訓練データの第二セットに基づいて、前記ニューラル・ネットワークを訓練するステップと、
前記ニューラル・ネットワークの出力ノードの第二セットに関し、前記訓練データの第一セットから生成された、データ・サンプル中に導入された相対的に大きな撹乱を有する、敵対的な前記データ・サンプルに対応する訓練データの第三セットに基づいて、前記ニューラル・ネットワークを訓練するステップと、
を含む、請求項４に記載の方法。
【請求項６】
前記相対的に小さな撹乱および相対的に大きな撹乱が、高速勾配符号関数に基づいて前記訓練データの第一セットの前記データ・サンプル中に導入され、前記相対的に小さな撹乱は、前記高速勾配符号関数において、前記相対的に大きい撹乱よりも相対的に小さな乗数を有する、請求項５に記載の方法。
【請求項７】
前記ニューラル・ネットワークの出力ノードの前記第一セットに関し、前記訓練データの第二セットに基づいて、前記ニューラル・ネットワークを訓練するステップが、前記訓練データの第二セット中のデータ・サンプルを意図的に誤分類するように前記ニューラル・ネットワークを訓練するステップを含む、請求項５に記載の方法。
【請求項８】
前記訓練データの第二セット中のデータ・サンプルを意図的に誤分類するように前記ニューラル・ネットワークを訓練するステップが、混同行列データ構造体を利用して前記訓練データの第二セット中のデータ・サンプルに対する適正な分類の代替の分類を識別するステップを含む、請求項７に記載の方法。
【請求項９】
前記混同行列データ構造体が、前記オリジナルの訓練データ中の各データ・サンプルに対し、前記ニューラル・ネットワークによって前記データ・サンプルが間違ったクラス中に誤分類された回数のカウントを含み、前記混同行列データ構造体を利用して前記訓練データの第二セット中のデータ・サンプルに対する前記適正な分類の代替の分類を識別するステップが、前記訓練データの第二セット中の各データ・サンプルに対し、最小のカウントを有するクラスを選択するステップを含む、請求項８に記載の方法。
【請求項１０】
前記コンピューティング・システムが認知システムであり、前記コンピューティング・オペレーションが認知オペレーションである、請求項１に記載の方法。
【請求項１１】
格納されたコンピュータ可読プログラムを有するコンピュータ可読媒体を含むコンピュータ・プログラム製品であって、前記コンピュータ可読プログラムは、データ処理システム上で実行されると、前記データ処理システムに、
前記データ処理システム中で実行される強化ニューラル・ネットワークを、前記強化ニューラル・ネットワークの内部の特徴表現の中に、前記強化ニューラル・ネットワークの損失表面に関連する勾配計算の方向を逸らすノイズを導入するように構成させ、
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを、前記強化ニューラル・ネットワークの敵対的に訓練された出力ノードの出力と、前記導入されたノイズに基づいて訓練された前記強化ニューラル・ネットワークの出力ノードとを結合するノードの併合層を実装するように構成させ、
前記強化ニューラル・ネットワークによって、前記強化ニューラル・ネットワークによる分類のための入力データを受信させ、
前記強化ニューラル・ネットワークによって、前記入力データに対する分類ラベルを生成するため前記入力データを処理し、これにより拡張された入力データを生成させ、且つ
前記強化ニューラル・ネットワークによって、前記拡張された入力データを、コンピューティング・オペレーションを行うべく前記拡張された入力データを処理するため、コンピューティング・システムに出力させる、
コンピュータ・プログラム製品。
【請求項１２】
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成することが、前記ニューラル・ネットワークの訓練過程で、前記ニューラル・ネットワークによって行われる分類オペレーションの各クラスの中にノイズを導入することを含む、請求項１１に記載のコンピュータ・プログラム製品。
【請求項１３】
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成することが、各クラスのクラスタに関連する前記損失表面に少なくとも１つのノイズ含有領域を導入することを含み、前記各クラスのクラスタに関連する前記損失表面における勾配が前記少なくとも１つのノイズ含有領域に向かう方向を有する、請求項１２に記載のコンピュータ・プログラム製品。
【請求項１４】
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成することが、
オリジナルの訓練データに基づいて、入力データ・サンプルを複数の異なるクラス中に分類するように、ニューラル・ネットワークを訓練することと、
前記ニューラル・ネットワークの前記損失表面に関連する勾配計算の方向を逸らすことによって、敵対的入力の生成から保護される前記強化ニューラル・ネットワークを生成するため、前記ニューラル・ネットワークに引き続いて訓練を行うことと、
を含む、請求項１１に記載のコンピュータ・プログラム製品。
【請求項１５】
前記引き続きの訓練が、
前記ニューラル・ネットワークの出力ノードの第一セットに関し、前記オリジナルの訓練データのデータ・サンプルに対応する訓練データの第一セットに基づいて、前記ニューラル・ネットワークを訓練することと、
前記ニューラル・ネットワークの出力ノードの前記第一セットに関し、前記訓練データの第一セットから生成された、データ・サンプル中に導入された相対的に小さな撹乱を有する、ノイズ含有の前記データ・サンプルに対応する訓練データの第二セットに基づいて、前記ニューラル・ネットワークを訓練することと、
前記ニューラル・ネットワークの出力ノードの第二セットに関し、前記訓練データの第一セットから生成された、データ・サンプル中に導入された相対的に大きな撹乱を有する、敵対的な前記データ・サンプルに対応する訓練データの第三セットに基づいて、前記ニューラル・ネットワークを訓練することと、
を含む、請求項１４に記載のコンピュータ・プログラム製品。
【請求項１６】
前記相対的に小さな撹乱および相対的に大きな撹乱が、高速勾配符号関数に基づいて前記訓練データの第一セットの前記データ・サンプル中に導入され、前記相対的に小さな撹乱は、前記高速勾配符号関数において、前記相対的に大きい撹乱よりも相対的に小さな乗数を有する、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１７】
前記ニューラル・ネットワークの出力ノードの前記第一セットに関し、前記訓練データの第二セットに基づいて、前記ニューラル・ネットワークを訓練することが、前記訓練データの第二セット中のデータ・サンプルを意図的に誤分類するように前記ニューラル・ネットワークを訓練することを含む、請求項１５に記載のコンピュータ・プログラム製品。
【請求項１８】
前記訓練データの第二セット中のデータ・サンプルを意図的に誤分類するように前記ニューラル・ネットワークを訓練することが、混同行列データ構造体を利用して前記訓練データの第二セット中のデータ・サンプルに対する適正な分類の代替の分類を識別することを含む、請求項１７に記載のコンピュータ・プログラム製品。
【請求項１９】
前記混同行列データ構造体が、前記オリジナルの訓練データ中の各データ・サンプルに対し、前記ニューラル・ネットワークによって前記データ・サンプルが間違ったクラス中に誤分類された回数のカウントを含み、前記混同行列データ構造体を利用して前記訓練データの第二セット中のデータ・サンプルに対する前記適正な分類の代替の分類を識別することが、前記訓練データの第二セット中の各データ・サンプルに対し、最小のカウントを有するクラスを選択する、請求項１８に記載のコンピュータ・プログラム製品。
【請求項２０】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに連結された少なくとも１つのメモリと、
を含む装置であって、前記少なくとも１つのメモリは、前記少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに、
前記少なくとも１つのプロセッサ上で実行される強化ニューラル・ネットワークを、前記強化ニューラル・ネットワークの内部の特徴表現の中に、前記強化ニューラル・ネットワークの損失表面に関連する勾配計算の方向を逸らすノイズを導入するように構成させ、
前記少なくとも１つのプロセッサ上で実行される前記強化ニューラル・ネットワークを、前記強化ニューラル・ネットワークの敵対的に訓練された出力ノードの出力と、前記導入されたノイズに基づいて訓練された前記強化ニューラル・ネットワークの出力ノードとを結合するノードの併合層を実装するように構成させ、
前記強化ニューラル・ネットワークによって、前記強化ニューラル・ネットワークによる分類のための入力データを受信させ、
前記強化ニューラル・ネットワークによって、前記入力データに対する分類ラベルを生成するため前記入力データを処理し、これにより拡張された入力データを生成させ、且つ
前記強化ニューラル・ネットワークによって、前記拡張された入力データを、コンピューティング・オペレーションを行うべく前記拡張された入力データを処理するため、コンピューティング・システムに出力させる、
命令を含む、装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に改良されたデータ処理装置および方法に関し、さらに具体的には、欺瞞勾配の使用を介して、勾配ベースの攻撃から認知システムを保護するためのメカニズムに関する。
【背景技術】
【０００２】
ディープ・ラーニングは、タスク特化アルゴリズムとは対照的に、学習データ表現に基づく機械学習方法の広範なファミリの一部である。一部の表現は、脳内における様々な刺激および関連するニューロン反応の間の関係を定義しようと試みるニューラル・コーディングなど、生物学的神経系における情報処理および通信パターンの解釈に大まかに基づいている。大規模なラベル無しのデータ・セットから、これらの表現を学習する効率的なシステムを生成するための研究が試みられている。
【０００３】
ディープ・ニューラル・ネットワーク、ディープ・ビリーフ・ネットワーク、およびリカレント・ニューラル・ネットワークなどのディープ・ラーニング・アーキテクチャが、コンピュータ・ビジョン、スピーチ認識、自然言語処理、音声認識、ソーシャル・ネットワーク・フィルタリング、機械翻訳、およびバイオ・インフォマティクスを含む分野に応用されており、これらは人間の熟練者に匹敵し、場合によっては、それを凌駕する結果を産み出している。
【０００４】
ニューラル・ネットワーク・ベースのディープ・ラーニングは、特徴抽出および変換のための非線形処理ユニットの多くの層のカスケードを用いる機械学習アルゴリズムの一クラスである。連続する各層は、その前の層からの出力を入力として使用する。これらのアルゴリズムは、教師有りまたは教師無しとすることが可能で、アプリケーションは、パターン解析（教師無し）および分類（教師有り）を含む。
【０００５】
ニューラル・ネットワーク・ベースのディープ・ラーニングは、より低レベルの特徴からより高レベルの特徴が導出されて、階層的な表現を形成しながらのデータの特徴または表現の複数レベルの学習に基づくものである。ディープ・ラーニング・アルゴリズムで使われるニューラル・ネットワークの非線形処理ユニットの層の構成は、解決するべき対象の問題に依存する。ディープ・ラーニングで用いられている諸層は、人工ニューラル・ネットワークの隠れ層および複雑な命題論理式のセットを含む。また、これらは、ディープ・ビリーフ・ネットワークおよびディープ・ボルツマン・マシン中のノードなど、深層生成モデルの中に層ごとに編成された潜在変数を含み得る。
【発明の概要】
【０００６】
本発明は、ニューラル・ネットワークもしくはディープ・ラーニング・メカニズムまたはその両方を含むシステムなどの認知システムを、回避攻撃（evasion attack）などの勾配ベースの攻撃から保護するためのメカニズムを提供する。
【０００７】
本概要は、本明細書の発明を実施するための形態の中でさらに説明される概念の抜粋を簡単な形で導入するために提供される。本概要は、特許請求される主題の主要素または本質的特徴を識別することは意図されておらず、特許請求される主題の範囲を限定するために用いることも意図されていない。
【０００８】
一つの例示的な実施形態において、プロセッサおよびメモリを含むデータ処理システムにおける方法が提供され、このメモリは、強化ニューラル・ネットワークを実装するようにプロセッサを特別に構成するために該プロセッサによって実行される命令を含む。本方法は、データ処理システム中で実行される強化ニューラル・ネットワークを、該強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成するステップを含む。内部の特徴表現中に導入されたノイズは、強化ニューラル・ネットワークの損失表面に関連する勾配計算の方向を逸らす。また、本方法は、データ処理システム中で実行される強化ニューラル・ネットワークを、強化ニューラル・ネットワークの敵対的に訓練された出力ノードの出力と、導入されたノイズに基づいて訓練された強化ニューラル・ネットワークの出力ノードとを組み合わせるノードの併合層を実装するように構成するステップを含む。本方法は、強化ニューラル・ネットワークによって、強化ニューラル・ネットワークによる分類のための入力データを受信するステップと、強化ニューラル・ネットワークによって、それら入力データに対する分類ラベルを生成するため入力データを処理し、これにより拡張された入力データを生成するステップとをさらに含む。さらに、本方法は、強化ニューラル・ネットワークによって、拡張された入力データを、コンピューティング・オペレーションを行うべく該拡張された入力データを処理するため、コンピューティング・システムに出力するステップを含む。
【０００９】
他の例示的な実施形態において、コンピュータ可読プログラムを有するコンピュータ可用または可読媒体を含むコンピュータ・プログラム製品が提供される。本コンピュータ可読プログラムは、コンピューティング・デバイス上で実行されると、該コンピューティング・デバイスに、方法の例示的な実施形態に関して上記で略述したオペレーションの様々なものおよびそれらの組み合わせを実行させる。
【００１０】
さらに別の例示的な実施形態において、システム／装置が提供される。本システム／装置は、１つ以上のプロセッサおよび該１つ以上のプロセッサに連結されたメモリを含むことができる。このメモリは、１つ以上のプロセッサで実行されると、該１つ以上のプロセッサに、方法の例示的な実施形態に関して上記で略述したオペレーションの様々なものおよびそれらの組み合わせを実行させる命令を含み得る。
【００１１】
本発明のこれらのおよび他の特徴と利点とは、以下の本発明の例示の実施形態の詳細な説明中に記述され、またはこれらを考慮することによって当業者には明らかとなろう。
【００１２】
本発明、ならびに、その好適な使用の態様、さらなる目的、および利点は、以下の例示的な実施形態の詳細な説明を、添付の図面と共に参照することによって最善に理解されよう。
【図面の簡単な説明】
【００１３】
【図１】一つの例示的な実施形態による、損失表面中へのノイズの導入を示す例示図である。
【図２】本発明によって取り扱われる問題を示すブロック図である。
【図３】本発明によって取り扱われる問題を示すブロック図である。
【図４】一つの例示的な実施形態による、修改モデルの別個の訓練を示す例示のブロック図である。
【図５】一つの例示的な実施形態による、修改モデルの別個の訓練を示す例示のブロック図である。
【図６】一つの例示的な実施形態による、修改モデルの別個の訓練を示す例示のブロック図である。
【図７】一つの例示的な実施形態による、例示の混同行列を示す例示図である。
【図８】例示的な実施形態の態様が実装される例示の認知システムのブロック図である。
【図９】例示的な実施形態の態様が実装可能なデータ処理システムの例示図である。
【図１０】一つの例示的な実施形態による、認知システムの処理パイプラインを示す。
【図１１】一つの例示的な実施形態による、勾配ベースの攻撃に対する、例えばニューラル・ネットワークなどのモデルを訓練するための例示のオペレーションを梗概するフローチャートである。
【発明を実施するための形態】
【００１４】
様々な認知システムは、それらの認知オペレーションを行うため、訓練されたニューラル・ネットワークなどの訓練されたモデルを活用することができる。例えば、ニューラル・ネットワークを実装したモデルは、画像認識監視システム、生体認証システムなどの認知セキュリティ・システムに対し、画像解析、顔認識、指紋または網膜像認識、スピーチ・パターン解析などを提供するために用いることができる。多くの場合、かかるニューラル・ネットワークおよび他のタイプの機械学習または認知モデルは、分類オペレーションを実行する認知システム中でまたはこれと共に用いられ、これらにより、認知システムは、例えば、後に認知システムを使ってさらに複雑な解析または推論オペレーションを行うために使われる複数の所定の類別（クラス）に入力を分類するなどの、認知オペレーションを行うよう作動する。
【００１５】
攻撃者は、勾配ベースの攻撃など回避攻撃を行うことによって、かかるシステムの妨害を試みる可能性がある。認知システムへの、例えば、その認知システムによって実装されているニューラル・ネットワークまたは他の認知または機械学習モデルへの回避攻撃は、攻撃者が、改ざんされた入力を誤分類させてモデルをだます試みを伴う。例えば、攻撃者は、敵対的入力を生成するため入力データに対し、ほとんど気付かれないほどの改ざんを加える可能性があり、ここで、敵対的入力とは、撹乱された入力に対しモデル例えばニューラル・ネットワークが高い信頼度で誤った回答の出力をもたらすように、データ・セット（本明細書で用いる用語「データ・セット」は１つ以上のデータ・サンプルのセットを言う）からのデータ・サンプルに、小さな、だが意図的な撹乱を加えることによって形成された入力である。この敵対的入力は、ニューラル・ネットワークに入力データを誤分類させ、しかして誤動作させることになり、セキュリティの侵害をもたらす。かかる誤分類は、システムが妥当な入力を妥当として適正に分類することを妨げ得るし、または不当な入力が妥当として誤って分類されることを許し得る。例えば、顔認識ニューラル・ネットワークをだまそうとする攻撃者は、自分の容貌に意図的に小さな不完全部を加え、これにより、顔認証が攻撃者を許可された人として誤認するようにだますことを試みる敵対的入力を生成する可能性がある。
【００１６】
例えばＦＧＳＭなどのかかる回避攻撃は、ホワイト・ボックス攻撃として分類される傾向があり、攻撃者が、ニューラル・ネットワークまたは他の認知もしくは機械学習モデルの損失表面の正確な勾配を識別しているかどうかに依拠している。機械学習、ニューラル・ネットワーク、および認知システムのオペレーションのコンテキストにおいて、損失関数またはコスト関数とも称される損失表面は、予測の不正確さに対して支払われる代償、例えば、分類による予測の不正確さのコストを表す関数である。攻撃者が安全取引のエンドポイントへのアクセスを持たないブラック・ボックス攻撃、または攻撃者が、システムの部分およびプロセスの看取もしくは改変またはその両方を介して、エンドポイントの１つ以上とやり取りすることが可能なグレイ・ボックス攻撃とは対照的に、ホワイト・ボックス攻撃は、認知システムへの全面的アクセスを有する攻撃者が関係し、攻撃者は、実際は当該認知システムのユーザかもしれない。かかるホワイト・ボックス攻撃は、Ｇｏｏｄｆｅｌｌｏｗら著の「Ｅｘｐｌａｉｎｉｎｇ  ａｎｄ  Ｈａｒｎｅｓｓｉｎｇ  Ａｄｖｅｒｓａｒｉａｌ  Ｅｘａｍｐｌｅｓ（敵対的例の説明および抑制）」、ＩＣＬＲ  ２０１５、２０１５年３月２０日、に記載されているように、ほとんどが勾配に基づいている。例えば、ＪＳＭＡ攻撃は、画像が誤って分類されるまで、貪欲に一度に１画素を修改していくホワイト・ボックス型の攻撃である。ＦＧＳＭ攻撃は、勾配の方向に全画素に対し単一のステップを取る。ＣａｒｌｉｎｉおよびＷａｇｎｅｒ攻撃はカスタム損失関数を最適化するために、勾配の下降を用いる。
【００１７】
かかるホワイト・ボックス攻撃に対する多くの防御アプローチは、敵対的入力を識別するために分類器を用いる、すなわち、入力を正常な入力と敵対的入力とのいずれかに分類する。しかしながら、これらのアプローチは、分類器それ自体がホワイト・ボックス攻撃の一部であると考えられる場合には、多くの場合失敗する。このように、かかる敵対的入力がモデルに入力データを誤分類させるのを防止することによって、認知システム中で用いられるモデルしかして認知システム自体を、回避攻撃、例えば、勾配ベースの攻撃に対し強化できることは有益であろう。
【００１８】
これらの問題に対処し、かかるメカニズムを提供する場合において、本例示的な実施形態は、敵対的入力を識別するため分類器を使うよりもむしろ、勾配計算の方向が逸れるように、モデル自体にノイズ、例えば、ニューラル・ネットワーク自体の内部の特徴表現中にノイズを加えることによって、適切な勾配計算を直接的に妨げる。すなわち、ほとんどのホワイト・ボックス攻撃は、最も迅速にモデルの決定の改変、例えば分類の改変を生じさせることになる入力データの改ざんを見出すために、勾配を計算する。本発明は、正常に訓練されたニューラル・ネットワークの実際の勾配から、誤分類が最小になるようにして、勾配の方向を向けなおした、モデル（他の認知または機械学習モデルも同様に本例示的な実施形態が利用可能であるが、以下、ニューラル・ネットワーク・モデルであると想定する。）の損失表面を構築する。
【００１９】
いくつかの実施形態において、図１に示されるように、訓練の過程で、ニューラル・ネットワークによって行われる分類の各クラスの中にノイズが導入され、内部の特徴表現が撹乱され、しかして勾配計算の方向が逸れるようなる。すなわち、本モデルの損失表面の構築は、モデル（例えば、ニューラル・ネットワーク）が入力をその中に分類する各クラスのクラスタ中の損失表面の中に１つ以上の小さなピットＰを加えることによって、勾配Ｇ’が、ニューラル・ネットワークの出力に対する適正な勾配Ｇとは異なり小さなピットに向かうようにし、達成される。このピットＰは、入力の勾配のこの変化が、ピットＰを簡単に飛び越し、クラスタ中に留まることが可能なように、非常に小さくすることができ、これにより、攻撃をくじき、かつ、モデルによる継続した適切な分類を可能にする。図１は、このピットＰが損失表面Ｓ中の滑らかなピットであるように示されているが、当然のことながら、実際は、ピットＰ領域中へのノイズの導入によって、このカーブは、ノイズで大きく乱される可能性がある。
【００２０】
一つの例示的な実施形態のメカニズムによれば、導入されたピットＰまたはノイズ含有領域を備える損失表面Ｓを実現するために、モデル、例えばニューラル・ネットワークは、入力データのサンプルをＮの異なるクラスに分類するように構築され、訓練される。訓練されたモデルが得られると、３つの異なるデータのセットを使って、新規の保護されたモデル、例えば、敵対的入力の生成から保護される、保護されたまたは強化されたニューラル・ネットワークが訓練される。訓練データの第一セットは、オリジナルのモデルを訓練するのに使われたオリジナルの訓練データのセットである。訓練データの第二セットは、訓練データの第１セットから、高速勾配符号関数
【００２１】
【数１】
2021501414.tif 000003
【００２２】
において小さな乗数、例えばε＝０．１を有する高速勾配符号法（Ｇｏｏｄｆｅｌｌｏｗらの論文に記載されている、前述参照）などの方法を使って生成された、非常に小さな撹乱のあるノイズ含有データ・サンプルであり、ここで、上式のθは、ニューラル・ネットワーク・モデルのパラメータであり、ｘはニューラル・ネットワークへの入力であり、ｙはｘに関連付けられたターゲットであり、Ｊ（θ，ｘ，ｙ）は、ニューラル・ネットワークを訓練するために使われたコストであり、εは乗数であり、ηは撹乱である。訓練データの第三セットは、敵対的訓練データと称され、訓練データの第二セットと類似の仕方で構築されるが、より大きな乗数、例えば、ε＝０．３が用いられる。当然のことながら、イプシロンの値は、具体的な実装の如何により変わる可能性があり、経験的に得ることが可能である。
【００２３】
これも当然のことながら、撹乱を導入するための高速勾配符号法は、かかる撹乱を導入するための単なる例示のメカニズムであって、本発明の趣旨および範囲から逸脱することなく他の方法も使用が可能である。例えば、利用可能な他のメカニズムが、Ｃａｒｌｉｎｉら著の「Ｔｏｗａｒｄｓ  Ｅｖａｌｕａｔｉｎｇ  ｔｈｅ  Ｒｏｂｕｓｔｎｅｓｓ  ｏｆ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋｓ（ニューラル・ネットワークのロバストネスの評価に向けて）」、ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ、２０１７年、およびＰａｐｅｒｎｏｔら著の「Ｔｈｅ  Ｌｉｍｉｔａｔｉｏｎｓ  ｏｆ  Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ  ｉｎ  Ａｄｖｅｒｓａｒｉａｌ  Ｓｅｔｔｉｎｇｓ（敵対的設定におけるディープ・ラーニングの限界）」、ＩＥＥＥ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｐｒｉｖａｃｙ、２０１６年に記載されている。これらは、集合的に摂動関数と称することができる。
【００２４】
この新規保護モデルは、該モデルの最後の層中の出力ノードに対して２回の訓練を受ける。これら出力ノードの第一の半分は、オリジナルの訓練されたモデルと同じであり、訓練データの第一セットによって訓練される。該出力ノードの第一の半分は、訓練データの第二セットを意図的に誤分類するようにさらに訓練される。すなわち、この訓練フィードバックは、ニューラル・ネットワークに、所与の入力に対する適正な分類とは異なる分類に入力を誤分類するように教える。言い換えれば、本例示的な実施形態のメカニズムは、クラスｃ中のデータ・サンプルが、代わりにｆ（ｃ）として分類されるように、ｆ（ｃ）！＝ｃとしてクラス・マッピングｆ（ｃ）を適用する。これは、ニューラル・ネットワークの損失曲線中にノイズ含有領域を導入する。当然のことながら、その中への誤分類を訓練するクラスの選択は、後記で説明するように、ノイズ含有領域中のノイズを最小にしながら、なお、勾配をノイズ含有領域またはピットＰに向かわせるような仕方で行われる。一つの例示的な実施形態において、ノイズ含有データ・セット（訓練データの第二セット）を用いる誤分類ベースの訓練は、後記で説明するように、構築された混同行列に基づいて行われる。
【００２５】
出力ノードの第二の半分は、訓練データの第三セットを分類するように訓練される。訓練データの第三セットは、敵対的入力を表し、この敵対的データ・セットに基づく出力ノードの第二の半分の訓練は、該敵対的データ・セットを適切に分類するように出力ノードを訓練するように意図されている。出力ノードの第二の半分の訓練は、１つの訓練が他方の訓練に悪影響を与えないように、出力ノードの第一の半分の訓練とは別にされる。当然のことながら、別々に訓練される出力ノードの２つの別個のセットがあるので、これら訓練は、任意の順序でもしくは並行にまたはその両方で行うことが可能である。
【００２６】
訓練データの第一セット（撹乱のない通常の訓練データ）および訓練データの第二セット（ノイズ含有データ）を用いて訓練される出力ノードの第一の半分と、敵対的に訓練される出力ノードの第二の半分との組み合わせは、ノイズ含有の急峻な領域と、勾配をノイズ含有の領域に向かわせるのに十分に滑らかな外側部とを有する損失曲線を提供する。すなわち、出力ノードの第一セットはノイズ含有領域、すなわち図１中のピットＰを有する損失表面を提供し、一方、出力ノードの第二セットは、勾配を、逆方向または反対方向に向かわせる、より滑らかで伸長した外側の面を提供する。結果として、攻撃者が、勾配を使って正常なサンプルを撹乱し、敵対的サンプルを生成している際に、正常なサンプルからの勾配は、再び正常なサンプルを指すか、または、外側の滑らかな領域に落ちてゆくが、これら２つの領域を乗り越えることはない。ノイズ含有領域中の勾配は、損失カーブの真のオリジナルの勾配から方向変更されているので、ノイズ含有領域中の勾配の使用は、不当な入力としての敵対的入力を適正な分類になお向けさせる、不完全な敵対的入力の生成をもたらすことになる。すなわち、攻撃者は、ニューラル・ネットワークに敵対的入力を誤分類させることはできない。
【００２７】
しかしてこれら３つの訓練データのセットを用いて新規の保護モデルを訓練した後、敵対的に訓練されたクラス、すなわち、出力ノードの第二のセットによって生成された分類出力ベクトルと、そのオリジナルのクラス、すなわち出力ノードの第一のセットによって生成された分類出力ベクトルとを結合することによって、併合ノードを有する併合層と称される、ノードの追加層が該新規の保護モデルに加えられ、出力ノードの第一の半分と第二の半分とを併合し、これにより、訓練データの第一セット中の通常のデータ・サンプル、および、訓練データの第三セット中の敵対的に生成されたデータ・サンプルが適正に分類されるようになる。訓練データの第一および第三セットは、新規の保護モデルを強化し、一方、訓練データの第二セットは、勾配を改ざんする。すなわち、訓練データの様々なセットのデータ・サンプルの内部の表現において、データ・サンプル（ノイズ含有データ・サンプル）の第二セットは、訓練データの第一セットからの勾配が訓練データの第二セットに向かうように、第一（無撹乱のオリジナルの訓練データ・サンプルの）訓練データ・セットと第三（敵対的データ・サンプルの）訓練データ・セットとの間に挟まれている。このようにして、勾配の方向は、攻撃者が勾配を使って悪意あるデータ・サンプルを容易に構築できないように変更される。
【００２８】
本例示的な実施形態によって提供される防御のパフォーマンスは、訓練データの第二セットに基づいて訓練を行うためにクラス・マッピングｆ（ｃ）、すなわち、ノイズ含有入力データに基づいた適正な分類の、ニューラル・ネットワークにノイズ含有入力を誤分類する訓練を実施するための誤分類へのマッピングが構築される仕方により影響を受け得る。いくつかの例示的な実施形態において、ｆ（ｃ）は、最初に、各クラス中のデータ・サンプルをカウントする混同行列を構築することによって構築される。すなわち、混同行列ｈ（ｃ，ｃ’）は、ｃ’として分類されたｃ中のデータ・サンプルの数として定義される。最少の誤分類されたクラス、すなわちａｒｇ  ｍｉｎ＿｛ｃ’｝ｈ（ｃ，ｃ’）がｆ（ｃ）として選択される。すなわち、ｃ以外に、本例示的な実施形態は、混同行列中の最少の数の混同のクラスｃ’を選択する。こうすることによって、本例示的な実施形態は、勾配の方向を逸らし、同時に勾配の方向が逸らされたクラスから十分な距離を保つことができ、これにより、攻撃者は、これらのクラスとして分類されるデータ・サンプルを生成することができない。
【００２９】
本例示的な実施形態は、ニューラル・ネットワークまたは他の認知もしくは機械学習モデル（本明細書は説明上の目的で、ニューラル・ネットワークを想定している）に入力データの誤分類をさせる攻撃者の能力を低減または排除し、これは、ニューラル・ネットワークへの敵対的入力を生成するために損失表面の勾配を使用しようとする攻撃者を欺くように、ニューラル・ネットワークの損失表面に撹乱またはノイズを導入し、該ニューラル・ネットワークによって生成される出力の確率の修正をもたらすことによる。本例示的な実施形態のメカニズムによって導入され、ニューラル・ネットワークを訓練するために用いられる撹乱またはノイズは、勾配を正当な方向および量から逸脱させ、保護ニューラル・ネットワーク・モデルの精度の損失を最小化する。
【００３０】
しかして、本例示的な実施形態のメカニズムは、従前はニューラル・ネットワークのメカニズムまたは認知システムに存在しなかったさらなる特殊な追加機能、より具体的には、損失表面に欺瞞勾配を設けることによって、敵対的攻撃に対してニューラル・ネットワークおよび認知システムを強化するための機能を追加することによって、ニューラル・ネットワークおよびニューラル・ネットワークを実装する認知システムのオペレーションを向上する。本例示的な実施形態のメカニズムは、損失表面にノイズ含有領域が生成され、同時に小さな勾配の外側領域が生成されるように、前述の訓練データの３つのセット（またはデータ・セット群）に基づく特定の訓練を介して、損失表面への撹乱またはノイズの導入を特に実装する追加的な技術ロジックをニューラル・ネットワークまたは認知システム中に追加し、これは、得られた出力の可用性を維持しながら、勾配を正当な勾配から外れたノイズ含有領域に向かわせ、例えば、ニューラル・ネットワーク（本明細書では「モデル」とも言う）によって生成される実際の確率値が、単なる通常の訓練データ・セット、すなわち撹乱のない訓練データ・セットに基づくモデルの訓練に比べて正確でないにも関わらず、出力データの分類およびラベル付けはなお正確である。
【００３１】
本例示的な実施形態のメカニズムは、本発明の付加ロジックを実装するよう特別に構成された１つ以上のデータ処理システムもしくはコンピューティング・デバイスまたはその両方を含む技術環境に特化し、これにより、１つ以上の特殊なデータ処理システムもしくはコンピューティング・デバイスまたはその両方を含む特殊な技術環境をもたらす。さらに、本例示的な実施形態は、機械学習モデル、ディープ・ラーニング・モデルを有するシステム、またはかかる認知オペレーションを行う他の認知知能または人工知能を有する、特化されたコンピューティング・デバイス、またはニューラル・ネットワーク・モデルの特別な訓練を介して欺瞞勾配を導入することにより、敵対的攻撃に対抗してニューラル・ネットワーク、認知モデル、または機械学習モデルを強化する技術問題を解決することを特に対象としている。
【００３２】
本例示的な実施形態の様々な態様のより詳細な説明を始める前に、まず、本明細書全体を通して、用語「メカニズム」は、様々なオペレーション、機能などを行う本発明の構成要素を称するのに用いられることになるのを認識すべきである。本明細書で用いられる用語としての「メカニズム」は、装置、手順、またはコンピュータ・プログラム製品の形による本例示的な実施形態の機能または態様の実装であってよい。手順の場合、手順は、１つ以上のデバイス、装置、コンピュータ、データ処理システムなどによって実装される。コンピュータ・プログラム製品の場合、コンピュータ・プログラム製品中または製品上に具現化されたコンピュータ・コードまたは命令によって表されるロジックが、機能を実装するため、または特定の「メカニズム」に関連付けられたオペレーションを実行するために、１つ以上のハードウェア・デバイスによって実行される。しかして、本明細書に記載されたメカニズムは、特化されたハードウェア、汎用ハードウェア上で実行されるソフトウェア、特化されたまたは汎用のハードウェアによって容易に実行されるように媒体上に格納されたソフトウェア命令、諸機能を実行するための手順もしくは方法、または上記の任意の組み合わせとして実装が可能である。
【００３３】
本明細書および特許請求の範囲は、本例示的な実施形態の特定の機能または構成要素に関し、用語「或る（ａ）」「の少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ  ｏｆ）」、「の１つ以上（ｏｎｅ  ｏｒ  ｍｏｒｅ  ｏｆ）」を使用し得る。当然のことながら、これらの語および句は、特定の機能または構成要素の少なくとも１つが特定の例示的な実施形態中に存在するが、１つより多くが存在することもあり得ることを言明することが意図されている。すなわち、これらの語／句は、明細書または特許請求の範囲を単一の機能／構成要素の存在に限定する、または複数のかかる機能／構成要素を必要とすることは意図されていない。逆に、これらの語／句は、複数のかかる機能／構成要素が本明細書および特許請求の範囲にある可能性と共に、少なくとも単一の機能／構成要素があることを必要としているだけである。
【００３４】
さらに、当然のことながら、用語「エンジン」の使用は、本明細書中で本発明の実施形態および諸機能の説明に関連して用いられる場合、そのエンジンに起因するもしくはそれによって行われる、アクション、ステップ、プロセスなどを達成もしくは実行またはその両方を行うためのいかなる特定の実装にも限定することは意図されていない。エンジンは、以下に限らないが、マシン可読のメモリにロードまたは格納され、プロセッサによって実行される適切なソフトウェアと結合された、汎用もしくは専用プロセッサの何らかの使用を含め、以下に限らないが、特定の機能を実行するソフトウェア、ハードウェア、もしくはファームウェア、またはこれらの組み合わせであってよい。さらに、或る特定のエンジンに関連付けられた何らかの名称は、別途に指定されている場合を除き、参照の便宜のためのものであり、特定の実装に限定することを意図されてはいない。加えて、或るエンジンに帰属する何らかの機能は、複数のエンジンによっても同様に行うことができ、同じ型または異なる型の別のエンジン中に組み込むもしくはこれと組み合わせるまたはその両方ができ、あるいは、様々な構成の１つ以上のエンジンに亘って分散することができる。
【００３５】
さらに、当然のことながら、以下の説明では、本例示的な実施形態の例示の実装をさらに説明し、本例示的な実施形態のメカニズムの理解を助けるために、本例示的な実施形態の様々な構成要素に対する複数の様々な例が用いられる。これらの例は、非限定であることが意図され、本例示的な実施形態のメカニズムを実装するための様々なやり方を包括するものではない。当業者には、本明細書を考慮して、本発明の趣旨および範囲から逸脱することなく、本明細書に提供された諸例に加えてまたは置き換えて使用可能な、これら様々な構成要素に対する多くの他の代替的実装があることが明らかであろう。
【００３６】
本発明は、システム、方法、もしくはコンピュータ・プログラム製品またはこれらの組み合わせとすることができる。このコンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラムを有するコンピュータ可読ストレージ媒体（または媒体群）を含むことが可能である。
【００３７】
このコンピュータ可読ストレージ媒体は、命令実行デバイスが使用するための命令を保持し格納できる有形のデバイスとすることができる。このコンピュータ可読ストレージ媒体は、例えば、以下に限らないが、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁気ストレージ・デバイス、半導体ストレージ・デバイス、または前述のデバイスの任意の適切な組み合わせであってよい。コンピュータ可読ストレージ媒体のさらに具体的な例の非包括的リストには、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、消去およびプログラム可能読み取り専用メモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙまたはフラッシュ・メモリ）、静的ランダム・アクセス・メモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、携帯型コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、デジタル多用途ディスク（ＤＶＤ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）、メモリ・スティック、フレキシブル・ディスク、パンチカードまたは記録された命令を有する溝中の嵩上げ構造体などの機械的符号化デバイス、および前述の任意の適切な組み合わせが含まれる。本明細書で用いられるコンピュータ可読ストレージ媒体は、無線波または他の自由に伝播する電磁波、ウェーブガイドまたは他の送信媒体（例えば、光ファイバを通過する光パルス）、またはワイヤを通って送信される電気信号など、本質的に一時的な信号であると解釈されるものではない。
【００３８】
本明細書に述べられたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から、それぞれのコンピューティング／処理デバイスに、または、例えばインターネット、ローカル・エリア・ネットワーク、広域ネットワークもしくはワイヤレス・ネットワークまたはこれらの組み合わせなどのネットワークを介して、外部のコンピュータもしくは外部のストレージ・デバイスにダウンロードすることが可能である。このネットワークには、銅送信ケーブル、光送信ファイバ、ワイヤレス通信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、もしくはエッジ・サーバまたはこれらの組み合わせが含まれてよい。それぞれのコンピューティング／処理デバイス中のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、そのコンピュータ可読プログラム命令を、ストレージのため、それぞれのコンピューティング／処理デバイス内のコンピュータ可読ストレージ媒体の中に転送する。
【００３９】
本発明のオペレーションを実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令集合アーキテクチャ（ＩＳＡ：ｉｎｓｔｒｕｃｔｉｏｎ−ｓｅｔ−ａｒｃｈｉｔｅｃｔｕｒｅ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、または、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋などのオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語もしくは類似のプログラミング言語などの従来式の手続き型プログラミング言語を含む、１つ以上のプログラミング言語の任意の組み合わせで記述されたソース・コードもしくはオブジェクト・コードであってよい。このコンピュータ可読プログラム命令は、スタンドアロン・ソフトウェア・パッケージとしてユーザのコンピュータで専ら実行することも、ユーザのコンピュータで部分的に実行することもでき、一部をユーザのコンピュータで一部を遠隔コンピュータで実行することもでき、あるいは遠隔のコンピュータまたはサーバで専ら実行することもできる。後者の場合は、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）または広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することもでき、あるいは（例えばインターネット・サービス・プロバイダを使いインターネットを介し）外部のコンピュータへの接続を行うことも可能である。いくつかの実施形態において、例えば、プログラム可能ロジック回路、フィールドプログラム可能ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ−ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、またはプログラム可能ロジック・アレイ（ＰＬＡ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ａｒｒａｙ）を含む電子回路は、本発明の諸態様を実行すべく、該電子回路をカスタマイズするためコンピュータ可読プログラム命令の状態情報を利用することによって、該コンピュータ可読プログラム命令を実行することができる。
【００４０】
本発明の諸態様は、本発明の実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート図もしくはブロック図またはその両方を参照しながら本明細書で説明されている。当然のことながら、フローチャート図もしくはブロック図またはその両方の各ブロック、およびフローチャート図もしくはブロック図またはその両方のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装することが可能である。
【００４１】
これらのコンピュータ可読プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに提供し、そのコンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フローチャートもしくはブロック図またはその両方のブロックもしくはブロック群中に特定されている機能群／動作群を実装するための手段を生成するようにすることができる。また、コンピュータ、プログラム可能データ処理装置、もしくは他のデバイスまたはこれらの組み合わせに対し特定の仕方で機能するよう命令することが可能なこれらのコンピュータ可読プログラム命令を、コンピュータ可読ストレージ媒体に格納し、格納された命令を有するコンピュータ可読ストレージ媒体が、フローチャートもしくはブロック図またはその両方のブロックまたはブロック群中に特定されている機能／動作の諸態様を実装する命令群を包含する製造品を構成するようにすることができる。
【００４２】
さらに、これらコンピュータ可読プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードし、そのコンピュータ上で、他のプログラム可能装置上で、または他のデバイス上で一連のオペレーション・ステップを実施させて、コンピュータ実装のプロセスを作り出し、当該コンピュータ上で、他のプログラム可能装置上でもしくは他のデバイス上で実行される命令が、フローチャートもしくはブロック図またはその両方のブロックもしくはブロック群中に特定されている機能群／動作群を実装するようにすることも可能である。
【００４３】
図面中のフローチャートおよびブロック図は、本発明の様々な実施形態による、システム、方法、およびコンピュータ・プログラム製品から可能となる実装のアーキテクチャ、機能性、およびオペレーションを表している。この点に関し、フローチャートまたはブロック図中の各ブロックは、特定のロジック機能（群）を実装するための一つ以上の実行可能命令を含む、モジュール、セグメント、または命令の部分を表し得る。いくつかの別の実装においては、ブロック中に記載された機能が、図面に記載された順序から外れて行われてよい。例えば、連続して示された２つのブロックが、関与する機能性に応じ、実際にはほぼ同時に実行されることがあり、時にはこれらのブロックが逆の順序で実行されることもあり得る。さらに、ブロック図もしくはフローチャート図またはその両方の各ブロック、およびブロック図もしくはフローチャート図またはその両方中のブロック群の組み合わせは、特定の機能または動作を実施する特殊用途ハードウェア・ベースのシステムによって実装でき、または特殊用途ハードウェアとコンピュータ命令との組み合わせによって実行できることにも留意すべきである。
【００４４】
上記で述べたように、本発明は、ニューラル・ネットワークもしくはディープ・ラーニング・メカニズムまたはその両方を含むシステムなどの認知システムを、回避攻撃などの勾配ベースの攻撃から保護するためのメカニズムを提供する。図２および３は、本発明によって取り扱われる問題を示すブロック図である。図２および３の図解では、ニューラル・ネットワーク・モデルは、グラウンド・トルース・データ構造体などを使った教師有りまたは半教師有りプロセス、または、他の既知のまたは将来開発されるニューラル・ネットワーク・モデルを訓練するための方法を介すなどして、訓練データを用いて訓練されていることが想定されている。
【００４５】
図２および３に示された例は、ニューラル・ネットワーク・モデルが、数字の画像の分類オペレーションを行い、これにより数字の画像を「０」〜「９」の数字として分類するために使われていることを想定したものである。これは、ニューラル・ネットワーク・モデルを使用することが可能な１つの簡単な分類オペレーションの例として用いられており、本例示的な実施形態のメカニズムを実装することが可能なニューラル・ネットワーク・モデルの用途を限定するものと見なされるべきでない。上記で述べたように、本例示的な実施形態のメカニズムは、当該ニューラル・ネットワーク・モデル、機械学習モデルなどによって行われている特定の人工知能オペレーションに関わらず、任意のニューラル・ネットワーク・モデル、機械学習モデルなどの入力／出力に対し用いることが可能である。さらに、図２および３中には明示されてはいないが、後記で説明するように、ニューラル・ネットワーク・モデル、機械学習モデル、ディープ・ラーニングまたは認知モデルなどは、自然言語処理、画像解析、患者の治療推奨、医療画像解析、認知セキュリティ・システム、または多くの他の認知オペレーションのいずれかなど、複雑な認知オペレーションを行うようなモデルを実装するもっと複雑な認知システムの一部であってよい。
【００４６】
図２に示されるように、通常のオペレーションの下で、ニューラル・ネットワーク・モデル２３０は、データ源２１０から入力データ２２０のセットを受信し、これはベクトル出力２３５を生成するためにニューラル・ネットワーク・モデルを通して処理される。図２中に表された例において、訓練されたニューラル・ネットワーク２３０は、入力データ・セット２２０を分類するために分類オペレーションを実行する。この分類オペレーションの出力は、確率値のベクトル２３５であり、ベクトル出力２３５の各スロットは、入力データ・セット２２０の個々の可能な分類を表す。ニューラル・ネットワーク、機械学習、ディープ・ラーニング、または他の人工知能モデルの学習法は、当該技術分野で周知であり、かかる何らかの方法が、かかる訓練を行うため使われ得ると想定されている。この訓練は、一般に、モデルに、教師有りまたは半教師有りのフィードバックに基づいて、入力データ・セット２２０に適正にラベル付けする正確なベクトル出力２３５を出力させるため、訓練データ・セットに基づき、モデルのノードによって採点された様々な特徴に関連付けられた重み付け値を修正することを伴う。ニューラル・ネットワーク・モデル２３０は、ニューラル・ネットワーク・モデル２３０中の様々なレベルのノードを介して入力データ・セット２２０を処理し、出力ノードが表現する特定のクラスまたはラベルに対応する確率値を該出力ノードに生成する、すなわち、この出力ノードの値は、対応するベクトル・スロットのクラスまたはラベルが入力データ・セット２２０に適用される確率を示す。
【００４７】
しかして、分類オペレーションにおいて、ベクトル出力２３５の各ベクトル・スロットは、入力データがその中に類別され得る分類（またはクラス）に対応し、ニューラル・ネットワーク・モデル２３０の対応出力ノードは、対応するベクトル・スロット中に格納されることになる値を提供する。ベクトル・スロット中の値は、入力データが、そのベクトル・スロットに関連付けられた対応するクラスの中に適切に分類される確率を表す。例えば、図２および３の図解では、クラスは数値０〜９であり、各数値は別々のベクトル・スロットに関連付けられており、各ベクトル・スロットは、入力データ２２０に対し対応するクラス０〜９が適正なクラスである確率を示す、０．００（確率０％）〜１．００（確率１００％）にわたる値を有する。例えば、入力データ２２０が数字「２」の画像を表している場合、ニューラル・ネットワーク・モデル２３０が適正に訓練されていれば、ニューラル・ネットワーク・モデル２３０による入力データ２２０の処理は、入力データ２２０の分類が、それが数字「２」を表し、しかしてクラス「２」中にあることの相対的に高い確率をもたらすことになる。図２に示されるように、クラス「２」に対する確率は０．９０であり、一方、クラス「３」に対する確率は０．１０であり、他の全てのクラスは０．００の確率を有する。本図は、確率値に対し少数点以下２桁までの精度が示されているが、これは例示目的のためだけに用いられており、当然のことながら、ベクトル出力２３５中に格納される値には、本発明の趣旨および範囲から逸脱することなく、任意の望ましい精度を用いてよい。
【００４８】
これは例示目的のため用いられた簡単な例であるが、当然のことながら、分類の数、および対応するラベル、ならびに対応するベクトル出力２３５は多分に複雑であってよい。別の例として、これらの分類は、例えば、医療撮像応用におけるものであってよく、この応用では、患者の胸部中の、例えば、大動脈、心臓弁、左心室、右心室、肺臓など、人体解剖の内部構造体が分類される。当然のことながら、ベクトル出力２３５は、特定の用途および実装の如何によって、様々なレベルの粒度で、任意の数のあり得るベクトル・スロット、または分類を含むことが可能で、これに対応して、ベクトル出力２３５は様々なサイズであってよい。
【００４９】
得られたベクトル出力２３５は、ラベル付けされたデータ・セット２４０を生成するべく、入力データ２２０に関連付けられたラベルまたはメタデータを生成するために用いられる。ラベル付けされたデータ・セット２４０は、訓練されたニューラル・ネットワーク・モデル２３０によって生成された出力データのセットであり、ラベル無しの入力データは、当該データが使われることになる特定の認知オペレーションのための意味ある情報の付加タグまたはラベルによって拡張される。例えば、患者治療推奨の認知システムにおいて、ラベル付けされたデータは、データが関連付けられた、例えば、疾病、治療、患者の年齢、患者の性別などの様々な医療概念を特定するラベル、タグ、またはアノテーションを含むことができる。図示されたこの例において、ニューラル・ネットワーク・モデル２３０のオペレーションは、入力データ２２０のセット中に特定された入力画像部分を、該入力画像部分が表現する、例えば「０」〜「９」のクラスの、数値を表す１０のカテゴリの１つに分類することである。しかして、入力データ２２０のセットに付加されるラベルは、「０」または「１」または「２」などのラベルであってよい。
【００５０】
しかして、ニューラル・ネットワーク２３０によって生成される分類は、これらのクラスに対するベクトル・スロット中に格納された対応する値に基づいて、ベクトル出力２３５中のこれらクラスの１つ以上の適切なラベルに関連付けるために使用される。例えば、入力データのラベル付けにおいて最高ランキングのクラスが選択されてよい。いくつかの実装において、複数のクラスは、ラベル付けデータ２４０を生成するために、生成され、入力データ２２０に関連付けられたラベルで表されてよく、例えば、ラベル付けされたデータ２４０を生成するために、所定の閾値より大きな確率値を有するクラスが、生成され、入力データ２２０に関連付けられたラベルを有してよい。
【００５１】
次いで、ラベル付けされたデータ２４０は、該ラベル付けされたデータ２４０に対する認知オペレーションの実行のため、認知システム２５０に入力される。認知システム２５０によって行われる具体的な認知オペレーションは、当該認知システムの如何により決まり、認知オペレーションの数多の異なる種類の任意のものであってよい。認知オペレーションの例には、施設、データ、または何らかの他の安全保証アセットへのアクセスを制御するためのオペレーションに基づくセキュリティ・システムなど、様々な種類の意思決定オペレーションまたは決定支援オペレーションが含まれる。かかるセキュリティ・システムの認知オペレーションは、顔認識、声紋認識、生体ベースの意思決定などを行うためにラベル付けされたデータ２４０を用いることができる。認知システム２５０の他の実装には、様々な種類の、質問の回答またはリクエストの処理などのための自然言語の処理、患者の診断および治療推奨のための医療画像解析などの画像解析、または、認知システムが人間の思考プロセスを模擬する意思決定および結果の生成のための入力データの何らかの他の評価が含まれてよい。
【００５２】
図３に示されるように、データ源２１０が、回避攻撃などのホワイト・ボックスの勾配ベースの攻撃を行う攻撃者２１０であると仮定すると、攻撃者２１０は、入力データ２２０に気付かれないほどの改ざんを含ませて敵対的入力２７０を生成するように入力データ２２０を修改することによって、ニューラル・ネットワーク２３０に入力データ２２０を誤分類させようと試みるかもしれない。敵対的データ２７０を生成するために、攻撃者２１０は、ニューラル・ネットワーク・モデル２３０によって行われる分類に最大の変化を生じさせる入力データの最小の改ざんを示す適当な勾配を算定するため、ニューラル・ネットワーク・モデル２３０の損失表面２６０を解析するかもしれない。例えば、攻撃者は、ニューラル・ネットワークもしくはニューラル・ネットワークのコピーにアクセスするかもしれず、またはモデルにラベル無しのデータにラベルを付けるようにクエリすることによってモデル盗窃攻撃を行い、自分のモデル・コピーを訓練するかもしれない。これを行えば、ニューラル・ネットワークの内部が明確になるので、損失表面の取得は簡単である。例えば、ニューラル・ネットワークが関数ｆであるとし、入力ｘをｆ（ｘ）にマッピングする場合、ｘおよびそのラベルｙによって与えられる損失はＬ（ｆ（ｘ），ｙ）となる。この関数Ｌは、通常、ニューラル・ネットワークが定義されるときに定義され、しかして、ニューラル・ネットワークの一部である。典型的な例には、交差エントロピ損失および平均二乗誤差が含まれる。攻撃者が計算する必要がある勾配は、Ｌ（ｆ（ｘ），ｙ））の勾配である。
【００５３】
損失表面２６０から選択された勾配は、次いで、敵対的入力データ２７０を生成するために、入力データ２２０中に改ざんを注入するのに使われ、この敵対的入力データ２７０は、注入された改ざんによってニューラル・ネットワーク・モデル２３０が実際の入力データ２２０を誤分類するように意図される。しかして、ニューラル・ネットワーク・モデル２３０は、入力データ２２０に対し図２の出力ベクトル２３５を生成するのではなくて、敵対的入力データ２７０に基づいて、図３中の改ざんされた出力ベクトル２８０を生成し、これが入力データ２２０の誤分類を生じさせる。この場合、値「２」の入力画像が、クラス「２」を有すると認識されるのではなくて、ニューラル・ネットワーク２３０は、敵対的入力データ２７０を処理し、入力データ数値「３」を表すのがより高い確率であると判断し、対応する改ざんされた出力ベクトル２８０を出力する。その結果は、認知システム２５０に入力される誤分類されたラベル付きデータ・セット２９０であり、該システムは、敵対的入力２７０に起因する、ニューラル・ネットワーク２３０による誤分類に起因して、不正確な認知オペレーションを実行し、これは、誤分類されたラベル付きデータ・セット２９０中に反映される。しかして、攻撃者が、ニューラル・ネットワーク２３０に不当な入力を妥当な入力として、またはその逆として知覚させることができ、例えば、攻撃者が、通常はアクセスを許されないアセットへのアクセスを得ることができることが推察できよう。
【００５４】
図４〜図６は、各々、一つの例示的な実施形態による、修改モデルの別個の訓練を示す例示のブロック図である。図４は、具体的に、それぞれ、正常（または無撹乱）訓練データ・セットおよびノイズ含有訓練データ・セット（この中では、前述のように小さな乗数が用いられる）と言われる第一および第二の訓練データ・セットを用いる、修改モデルの出力ノードの第一セットの訓練を示す。図５は、敵対的訓練データ・セットと言われる第三の訓練データ・セットを用いる、修改モデルの出力ノードの第二セットの訓練を示す。図６は、出力ノードの第一および第二のセットによって生成された結果を併合するための併合ノードの追加の併合層が加えられた、訓練後の修改モデルを表す。
【００５５】
図４に示されるように、このニューラル・ネットワークは、特徴抽出部３３０および分類部３４０を含む。図４〜図６に中に示されるような畳み込みニューラル・ネットワークでは、特徴抽出部３３０は、受信された入力に基づいて特徴マッピングを行うための１つ以上のノード層を有する。分類部３４０は、１つ以上の基準に沿って様々な特徴を評価することによって、抽出された特徴に従って入力を分類する、１つ以上のノード層を含む。分類部３４０は、これに関連付けられた様々な分類に対する確率値を出力する出力ノードの層で終わる。この確率は、対応するクラスが入力データに対する適正なクラスである確率、例えば、画像入力が数字「２」の画像である確率を表す。ノード群の間のリンクは、通常、当該技術分野で周知のように、様々な訓練データ・セットに基づく訓練を含む機械学習プロセスを介して学習された重みによって重み付けされる。
【００５６】
本例示的な実施形態のメカニズムによって、このニューラル・ネットワークの分類部３４０には、標準的な出力ノードの単一セットの代わりに出力ノードの２つのセットが設けられる。前述したように、出力ノードの第一のセットは、オリジナルの無撹乱の訓練データ・セット３１０と、さらに、高速勾配符号法を介するなどしてオリジナルの訓練データ・セット３１０に小さな撹乱が挿入された、ノイズ含有データ・セット３２０と言われる第二訓練データ・セットとを用いて訓練される。出力ノードの第二のセットは、例えば、高速勾配符号法中のより大きな乗数に基づく、より大きな撹乱を含む敵対的訓練データ・セット３６０を用いて、別個に訓練される。
【００５７】
しかして、図４に示されるように、分類部３４０中のニューラル・ネットワークの出力ノードは、オリジナルの訓練データ・セット３１０およびノイズ含有訓練データ・セット３２０を用いて、対応クラスが入力訓練データに対する適正なクラスである確率を表すベクトル・スロット値を備えた出力ベクトル３５０を生成するために訓練される。具体的に、オリジナルの訓練データ・セット３１０に関しては、出力ノードは、通常の方式で訓練され、しかして、図２で上述したように、入力データを対応するクラス中に適正に分類するための適切な重み付けおよび出力を有することになろう。ノイズ含有訓練データ・セット３２０に基づく出力ノードの訓練に関しては、分類部３４０中の出力ノードは、ノイズ含有訓練データ・セット３２０の入力データを意図的に誤分類するように訓練される。すなわち、ノイズ含有データ・セットの通常の訓練が、入力データが数値「３」の表現であると示す場合、本例示的な実施形態による、ノイズ含有訓練データ・セット３２０に関する出力ノード訓練は、代わりに、ニューラル・ネットワークに適正な分類が「４」または他の分類の１つであると教え、これにより、出力ノードの分類学習を意図的に方向変えする。このようにして、損失表面にノイズが加えられる。
【００５８】
一つの例示的な実施形態において、ノイズ含有訓練データ・セット３２０を誤分類するように、出力ノードを訓練するために使用する代替の分類の選択は、構築された混同行列に基づいて行うことが可能である。図７は、一つの例示的な実施形態による、例示の混同行列を示す例示図である。図７に示されるように、この混同行列は、Ｎ×Ｎ行列であり、このＮは分類の数であり、この行列中のエントリは、入力データがクラスの各々に分類される、例えば、数字「２」の画像を表すデータの入力が０、１、２、３、４・・・９として分類される確率を表す。混同行列を生成するために、ニューラル・ネットワークは最初に通常に訓練され、次いで、テスト・データのセットを使い、ニューラル・ネットワークは、そのテスト・データを分類する試みに用いられ、しかして混同行列が構築される。例えば、ラベルｙを備えたサンプルｘを所与とすれば、訓練されたモデル（ニューラル・ネットワーク）は、このサンプルｘをｙ’として分類することができる。ｙがｙ’として分類されるインスタンスがカウントされ、その値が混同行列（の第ｙ行、且つ第ｙ’列）中に配置される。
【００５９】
本例示的な実施形態のメカニズムによって、ニューラル・ネットワークにノイズ含有入力データ３２０を誤分類するように伝える場合は、行列において参照するため、適正な入力データまたは真を識別するのに対応する無撹乱入力データ・セット３１０が用いられ、可能な分類から最低の確率を有する対応分類が選択される。例えば、入力データ値が真に数字「７」の画像である場合、数字「７」の画像の入力データ値のノイズ含有訓練データ・セット・バージョンを用いる、ニューラル・ネットワークの訓練で選択される誤分類は、「６」が最小の０．６の確率を有するので「６」となろう。
【００６０】
このとき、ニューラル・ネットワークは、撹乱された入力データによるノイズ含有訓練データ・セット３２０に対する適正な分類が、混同行列からの最低確率のクラスであると告げられる。次いで、ニューラル・ネットワークは、出力ノードに関連する重みを修正するために機械学習技法を用い、ノイズ含有訓練データ・セット３２０に対し、ニューラル・ネットワークが適正な分類であると告げられている分類にもっと近接させるように学習を調整することになる。しかして、オリジナルの訓練データ・セット３１０とノイズ含有訓練データ・セット３２０とに基づく組み合わせ訓練は、ノイズ含有訓練データ・セット３２０中に導入される、撹乱、またはピットＰによって画定されている領域中のニューラル・ネットワークの出力中にノイズを生成するように、互いに競合する。
【００６１】
図５に示されるように、ニューラル・ネットワークの分類部３７０中の出力ノードの第二のセットは、敵対的訓練データ・セット３６０について訓練される。図４中の分類部３４０は、分類部３７０と同じであってよい、すなわち、分類部３４０も同様に出力ノードの第二のセットを有してよいが、訓練データ・セット３１０、３２０に基づく訓練のためには使用されない。但し、敵対的訓練データ・セット３６０に基づく訓練中で用いられる出力ノードの第二のセットは、その表現を明示するために異なる参照記号によって示されている。敵対的訓練データ・セット３６０に基づく訓練は、出力ノードの第二のセットが、敵対的訓練データ・セット３６０を分類し、クラス’０’，１’，２’・・・９’に対する出力値の第二ベクトルを生成するように、オリジナルの訓練データ・セット３１０と類似の仕方で行われる。
【００６２】
しかして、図６に示されるように、出力ノードの２つのセットを有する拡張ニューラル・ネットワークは、オリジナルのニューラル・ネットワークに比べ２倍の出力、すなわち、拡張ベクトル出力３９０として出力され得る、０、０’、１、１’、２、２’等々を提供する。図１に示された撹乱された損失表面に従って分類を指定する使用可能な出力を得るために、出力ノードの２つのセットの出力は、各クラスに対する単一のベクトルを有する単一のベクトル出力３９７を生成するため、２つの対応するベクトル・スロットの併合を行う複数の併合ノードを有する併合層３９５の中で併合される。併合ベクトル出力３９７の各ベクトル・スロット中の値は、図６に示されるように、ベクトル・スロット０がベクトル０’と加算され、ベクトル・スロット１がベクトル１’と加算され、等々がされるなど、出力ノードの２つのセットの対応するｘおよびｘ’ベクトル・スロット中に格納された確率値の和である。これらの併合ベクトル・スロットの値は、次いで、入力データを拡張またはラベル付けするのに使うため、対応するラベルまたはタグなど３９９を識別するのに用いることができる。
【００６３】
しかして、オリジナルの訓練データ・セット３１０および敵対的訓練データ・セット３６０に基づくニューラル・ネットワークの訓練は、ニューラル・ネットワークまたはモデルを強化するよう作動し、一方、ノイズ含有訓練データ・セット３２０に基づくニューラル・ネットワークの訓練は、潜在的な攻撃者による勾配の識別をだますことである。結果として、勾配ベースの攻撃に対して強化された新規の保護されたニューラル・ネットワークが生成される。
【００６４】
上記で述べたように、本例示的な実施形態のメカニズムは、或る技術環境の特別に構成されたコンピューティング・デバイス、データ処理システムなどの特化ロジックに実装された、訓練されたニューラル・ネットワーク・モデル、機械学習モデル、ディープ・ラーニング・モデルなどを保護することを対象としている。しかして、本例示的な実施形態は、多くの各種のデータ処理環境中で用いることが可能である。本例示的な実施形態の特定の構成要素および機能の説明に対するコンテキストを提供するために、以降に、本例示的な実施形態の諸態様が実装可能な例示の環境として、図８〜図１０が提示される。当然のことながら、図８〜図１０は単なる例であって、本発明の態様または実施形態が実装可能な環境に関していかなる限定をも主張または暗示することは意図されていない。本発明の趣旨および範囲から逸脱することなく、図示の環境に多くの変更を加えることが可能である。
【００６５】
図８〜図１０は、質問回答（ＱＡ：Ｑｕｅｓｔｉｏｎ  Ａｎｓｗｅｒｉｎｇ）パイプライン（質問／回答パイプライン、または質問および回答パイプラインとも言われる）、例えば、本例示的な実施形態のメカニズムを実装するためのリクエスト処理方法およびリクエスト処理コンピュータ・プログラム製品などのリクエスト処理パイプラインを実装する例示の認知システムの説明を対象としている。これらのリクエストは、構造化されたまたは非構造化のリクエスト・メッセージ、自然言語の質問、または認知システムによって行われるオペレーションをリクエストするための任意の他の適切なフォーマットで提示されてよい。いくつかの例示的な実施形態において、これらのリクエストは、認知システムに実装されている機械学習、ニューラル・ネットワーク、ディープ・ラーニング、または他の人工知能ベースのモデルによって行われる認知分類オペレーションによる分類の対象となる入力データ・セットの形とすることができる。この入力データ・セットは、具体的な実装の如何によって、音声入力データ、画像入力データ、テキスト入力データなど、様々な種類の入力データで表現が可能である。例えば、１つの可能な実装において、入力データ・セットは、画像の部分または全体としての画像を有する、１つ以上の所定の分類に類別された、ｘ線画像、ＣＴスキャン画像、ＭＲＩ画像などの医療画像を表現していてもよい。別の可能な諸実装において、入力データ・セットは、顔画像、テキストの画像、生体画像、自然言語テキスト・コンテンツ、あるいは、データとして表現され、認知システムによって認知オペレーションを行うために分類オペレーションの対象となり得る任意の他の種類の入力を表現していてよい。
【００６６】
当然のことながら、入力データの分類は、ラベル無しの入力データ・セットが、ラベル付けされる対応先のクラスを表すラベルまたはアノテーションを有する、データのラベル付きセットをもたらすことができる。これは、人間のユーザの意思決定を支援する認知システムによって他の認知オペレーションを行う中での中間ステップであってよく、例えば、その認知システムは決定支援システムであってよい。例えば、医療領域において、認知システムは、臨床医の異常識別、患者診断、もしくは治療推奨、薬品の相互作用分析またはこれらの組み合わせ、あるいは他の数多のあり得る決定支援オペレーションのどれかを識別するための医療画像分析を行うよう作動することが可能である。セキュリティ領域では、物理的構内、データ・アセット、コンピューティング・アセット、またはアクセスが制限される任意の他の種類のアセットへのアクセスを制御するよう作動することが可能である。他の領域では、認知システムは、所望の実装に基づいて、異なる種類の意思決定オペレーション、または決定支援オペレーションを行うことができる。
【００６７】
以降の例では、認知システムが単一のリクエスト処理パイプライン有して示されているが、当然のことながら、実際には、複数のリクエスト処理ラインを有することが可能である。各リクエスト処理パイプラインは、所望の実装に応じて、異なる領域に関連付けられたリクエスト処理するように訓練されもしくは構成され、またはその両方が行われてよく、あるいは入力リクエスト（またはＱＡパイプラインを用いる実装での質問）に同じまたは異なる解析を行うように構成されてよい。例えば、いくつかのケースでは、第一リクエスト処理パイプライは、医療画像解析を対象とする入力リクエストに対し作動するように訓練されてよく、一方、第二リクエスト処理パイプラインは、自然言語を伴う患者の電子医療記録（ＥＭＲ：ｅｌｅｃｔｒｏｎｉｃ  ｍｅｄｉｃａｌ  ｒｅｃｏｒｄ）の解析に関する入力リクエストに対して作動するように構成され訓練されてよい。他のケースでは、例えば、リクエスト処理諸パイプラインは、例えば、１つのリクエスト処理パイプラインが患者治療推奨の生成に用いられ、一方、別のパイプラインは金融業界ベースの予測などのために訓練されてよいなど、リクエスト処理パイプラインは、異なる種類の認知機能を提供する、または異なる種類の用途をサポートするように構成することができる。
【００６８】
さらに、各リクエスト処理パイプラインは、それら自体の、それらが取り込み、作動する関連コーパスまたはコーパス群、例えば、医療治療文書に対する１つのコーパス、および前述の金融業界領域関連の文書に対する別のコーパス、を有してよい。いくつかのケースにおいて、リクエスト処理パイプラインは、各々が入力質問の同じ領域で作動してよく、但し、相異なる解析と潜在的回答が生成されるように、相異なる構成、例えば相異なるアノテータ、相異なって訓練されたアノテータを有してよい。認知システムは、例えば、入力リクエストの所定の領域、複数のリクエスト処理パイプラインによって行われた処理によって生成された最終結果の組み合わせおよび評価、ならびに複数のリクエスト処理パイプラインの活用度を促進する他の制御および相互作用のロジックに基づいて、入力質問を適切なリクエスト処理パイプラインに送るための追加のロジックを備えることができる。
【００６９】
上記で述べたように、本例示的な実施形態のメカニズムと共に用いることが可能なリクエスト処理パイプラインの１つのタイプに、質問回答（ＱＡ）パイプラインがある。本発明の例示の実施形態の説明では、以降、リクエスト処理パイプラインの例としてＱＡパイプラインを用いることとし、これは、１つ以上の例示的な実施形態によるメカニズムを含むように拡張することが可能である。本発明は、入力質問に対し作動する１つ以上のＱＡパイプラインを実装する認知システムの文脈で説明されることになるが、当然のことながら、本例示的な実施形態はこれに限定はされない。それどころか、本例示的な実施形態のメカニズムは、「質問」の形を取っていないが、関連するコーパスまたはコーパス群および認知システムを構成するのに使われた特定の構成情報を用いて、入力データの特定のセットに認知オペレーションを行う認知システムに対するリクエストとしてフォーマットされている、リクエストに対しても作動することができる。例えば、自然言語の質問「患者Ｐにどのような診断を適用するか？」を問うのでなく、本認知システムは、代わりに「患者Ｐに対する診断を生成せよ」などのリクエストを受けることが可能である。当然のことながら、本ＱＡシステム・パイプラインのメカニズムは、小さな修正で、入力された自然言語の質問と同様な仕方でリクエストに対しても作動することができる。実際には、いくつかのケースにおいて、特定の実装に対して望まれる場合、リクエストは、ＱＡシステム・パイプラインによる処理のため自然言語に変換することが可能である。
【００７０】
詳細を後述するように、本例示的な実施形態は、パイプラインの中にまたは認知システム全体として実装されているモデルを、回避攻撃などの勾配ベースの攻撃から保護するために、これらＱＡパイプライン、またはリクエスト処理パイプライン、諸メカニズムの中に組み込まれ、これらの機能を拡張し拡大することができる。具体的に、ラベル付きデータ・セット出力を生成するために、訓練されたニューラル・ネットワーク・モデル、機械学習モデル、ディープ・ラーニング・モデルなどが用いられている認知システムの部分に、本例示的な実施形態のメカニズムを実装し、訓練されたニューラル・ネットワークまたはモデルによって生成される確率値の中にノイズを導入し、これにより、ニューラル・ネットワークの損失表面を修改し、攻撃者にとって、敵対的入力を生成するための適正な勾配選択が困難となるように、ニューラル・ネットワークまたは他の機械学習もしくは認知モデルを訓練することができる。
【００７１】
本例示的な実施形態のメカニズムは、認知システムの一部とすることができ、認知システムをモデル盗窃攻撃から保護することによってそのオペレーションを改善することが可能であるが、本例示的な実施形態のメカニズムが、どのように、かかる認知システムおよびリクエスト処理パイプラインまたはＱＡパイプライン、諸メカニズムに組み込まれそれらを拡張するのかを説明する前に、まず、ＱＡパイプラインを実装している認知システムおよび認知システム中での質問および回答の生成がどのように実装されるかを理解しておくことが重要である。当然のことながら、図８〜図１０中に表されたメカニズムは単なる例であって、本例示的な実施形態が実装される認知システムのメカニズムの種類に関していかなる限定をも言明または暗示することは意図されていない。図８〜図１０に示された例示の認知システムの多くの修改を、本発明の趣旨および範囲から逸脱することなく、本発明の様々な実施形態中に実装することが可能である。
【００７２】
概要すれば、認知システムは、人間の認知機能を模擬するための、ハードウェアもしくは（ソフトウェアがその上で実行されるハードウェア・ロジックと組み合わされた）ソフトウェアまたはその両方で構成された、特化されたコンピュータ・システムまたはコンピュータ・システムのセットである。これらの認知システムは、デジタル・コンピューティングの本来の強みと組み合わされたとき大きなスケールでの正確性および弾力性によって問題を解決できる、アイディアを伝達し操作するための人間様の特性を適用する。認知システムは、専門技術および認知を拡張し拡大するために、人間の思考過程に近似され人々とマシンとがもっと自然な仕方でインタラクションすることを可能にする、１つ以上のコンピュータ実装の認知オペレーションを実行する。認知システムは、例えば、自然言語処理（ＮＬＰ：ｎａｔｕｒａｌ  ｌａｎｇｕａｇｅ  ｐｒｏｃｅｓｓｉｎｇ）ベースのロジックなどの人工知能ロジック、および特化されたハードウェアとして設けることが可能な機械学習ロジック、ハードウェア上で実行されるソフトウェア、または特化されたハードウェアとハードウェア上で実行されるソフトウェアとの組み合わせを含む。このロジックは、認知システムによって実行される特定の認知オペレーションをサポートするための特定目的について訓練が可能な、ニューラル・ネットワーク・モデル、機械学習モデル、ディープ・ラーニング・モデルなど、１つ以上のモデルに実装することができる。本例示的な実施形態のメカニズムによれば、このロジックは、前述の３つの異なる訓練データ・セットを使用して、モデル、例えばニューラル・ネットワークを訓練し、追加の出力ノードおよび併合層を含む修改され拡張されたニューラル・ネットワークを備えるようにモデル（例えばニューラル・ネットワーク）を修改するための強化モデル・エンジンをさらに実装する。このようにして、強化モデル・エンジンは、勾配ベースの攻撃に対しニューラル・ネットワークを強化する。
【００７３】
認知システムのこのロジックは、認知コンピューティング・オペレーション（群）を実装し、これは、例にとして、以下に限らないが、質問の回答、コーパス中のコンテンツの異なる部分内の関連する概念の識別、構内またはアセットへのアクセスを制御するためのオペレーション、例えばインターネット・ウェブ・ページ探索などのインテリジェントな探索アルゴリズム、医療診断および治療推奨、他の種類の推奨生成、例えば、特定のユーザへの関心項目の生成、潜在的な新規の交流の推奨など、画像解析、音声解析等々を含む。本例示的な実施形態の認知システムを用いて実装可能な認知オペレーションの種類および数は膨大であり、全てを本明細書に記載することはできない。人間によって行われる意思決定および解析を、だが人工知能的または認知コンピューティング的仕方で模擬する一切の認知コンピューティング・オペレーションは、本発明の趣旨と範囲内にあるものと意図されている。
【００７４】
ＩＢＭのワトソン（ＩＢＭ社の登録商標）は、人間が読み取れる言葉を処理し、テキストの一節の間の推理を人間同様に高い正確さで、人間よりはるかに速い速度で大規模に識別できる、かかる認知コンピューティング・システムの一例である。一般に、かかる認知システムは、以下の機能を行うことが可能である。
・  人間の言葉の複雑性をナビゲートし理解する。
・  膨大な量の構造化されたまたは非構造化データを取り込み処理する。
・  仮説を生成し評価する。
・  関連するエビデンスだけに基づいた応答を比較検討し評価する。
・  状況特有のアドバイス、洞察、およびガイダンスを提供する。
・  機械学習プロセスを介し、反復および相互作用するごとに知識を向上させ、学習する。
・  インパクトの点での意思決定（状況に合ったガイダンス）を可能にする。
・  タスクに比例してスケールする。
・  人間の専門技術および認知を拡張し拡大する。
・  自然言語から人間様の属性および特徴の音響を識別する。
・  自然言語から様々な言語固有の、または不可知の属性を推論する。
・  データ・ポイント（画像、テキスト、声）からの高度な関連想起（記憶および回想）。
・  経験に基づく人間の認知を模擬した状況認識によって予測し感知する。
・  自然言語および具体的なエビデンスに基づき質問に回答する。
【００７５】
一態様において、認知コンピューティング・システム（または、簡単に「認知システム」）は、質問回答パイプラインまたはシステム（ＱＡシステム）を用いる、もしくは自然言語の質問として提出されることもありないこともあるリクエストを処理する、またはその両方で、これらの認知システムに提出された質問に回答するためのメカニズムを備える。このＱＡパイプラインまたはシステムは、自然言語で提出された所与の主題領域に関する質問に回答するデータ処理ハードウェアで実行される人工知能アプリケーションである。ＱＡパイプラインは、ネットワークを介して、電子文書または他のデータのコーパス、コンテンツ・クリエータからのデータ、１人以上のコンテンツ・ユーザからの情報、および他のあり得る入力源を含む様々な入力源からの入力を受信する。データ・ストレージは、データのコーパスを格納する。コンテンツ・クリエータは、ＱＡパイプライン用のデータのコーパスの部分として用いるための文書中のコンテンツを生成する。この文書は、任意のファイル、テキスト、記事、またはＱＡシステム中で用いるためのデータの情報源を含んでよい。例えば、ＱＡパイプラインは、当該領域または主題分野、例えば、財務領域、医療領域、法律領域などの領域についての知識体系にアクセスし、この知識体系（知識ベース）は、例えば、様々な構成、例えば、概念体系、または当該領域に関する非構造化データ、または当該領域についての自然言語のコレクションなど、領域固有情報の構造化されたレポジトリに編成することが可能である。
【００７６】
コンテンツ・ユーザは、ＱＡパイプラインを実装している認知システムに質問を入力する。これを受け、ＱＡパイプラインは、コーパス中の文書、文書のセクション、データの部分を評価し、データのコーパス中のコンテンツを用いて入力質問に回答する。プロセスが文書の意味内容に対する文書の所与のセクションを評価する際に、プロセスは、かかる文書をＱＡパイプラインにクエリするため様々な規則を用いることができ、例えば、適正に定義された質問としてクエリをＱＡパイプラインに送信し、次いでそれがＱＡパイプラインによって解釈され、質問への１つ以上の回答を包含する応答が提供される。意味内容は、語、句、標識、記号、およびそれらが代表するもの、それらの外延または内包など記号表現の間の関係に基づく内容である。言い換えれば、意味内容は、自然言語処理によるなどの表現を解釈した内容である。
【００７７】
詳細に後述するように、ＱＡパイプラインは、入力された質問を受信し、その質問の主要な特徴を抽出するために構文解析し、抽出された特徴を用いてクエリをまとめ、次いでそれらのクエリをデータのコーパスに適用する。クエリのデータのコーパスへの適用に基づいて、ＱＡパイプラインは、入力質問への価値ある応答を包含する潜在可能性を有するデータのコーパス部分について、該データのコーパスを通覧することによって、入力質問に対する仮説または回答候補のセットを生成する。次いで、ＱＡパイプラインは、様々な推論アルゴリズムを用いて、入力質問の言葉、およびクエリの適用の過程で見出された各々のコーパスの部分で使われている言葉に対して深層解析を実行する。数百またはさらには数千の推論アルゴリズムが適用されることが可能で、それらの各々は、例えば、比較、自然言語解析、語彙解析など、相異なる解析を行い、評点を生成する。例えば、一部の推論アルゴリズムは、入力質問およびデータのコーパスの見出された部分の言葉内の用語および同義語の一致性を調べることができる。他の推論アルゴリズムは、言葉における時間的または空間的な特徴を調べることができ、他方は、データのコーパス当該部分の情報源を評価しその正確度を評価することができる。
【００７８】
様々な推論アルゴリズムから得られた評点は、その推論アルゴリズムの特定の焦点分野に基づいて、入力質問から推理される応答の可能性の程度を示す。得られた各評点は、次いで、統計的モデルに照らして比較検討される。この統計的モデルは、当該推論アルゴリズムが、ＱＡパイプラインの訓練期間の間に、特定の領域における２つの類似の一節の間の推理をいかにうまくおこなったかを捕捉する。この統計的モデルは、ＱＡパイプラインが、質問から潜在的な応答すなわち回答候補が推理された関連エビデンスを有することの信頼水準を集約するのに使われる。このプロセスは、ＱＡパイプラインが、他よりも有意に有力であるとして浮上した回答候補を識別するまで、回答候補の各々に対して繰り返され、しかして、入力質問に対する最終的回答、またはランク付けされた回答のセットが生成される。
【００７９】
前述したように、ＱＡパイプライン・メカニズムは、データまたは情報（これも同様にコンテンツのコーパスと言われる）のコーパスからの情報にアクセスし、それを解析し、次いで、このデータの解析に基づいて回答結果を生成することによって作動する。データのコーパスからの情報へのアクセスは、通常、構造化された記録のコレクション中にあるものについての質問に回答するデータベース・クエリと、非構造化データ（テキスト、マークアップ言語など）のコレクションに対するクエリに応答して、文書のリンクのコレクションを送達する探索とを含む。従来型の質問回答システムは、データのコーパスおよび入力質問に基づいて回答を生成し、データのコーパスに対する質問のコレクションに対する回答を検証し、データのコーパスを使ってデジタル・テキスト中のエラーを訂正し、潜在的回答のプールすなわち回答候補から質問への回答を選択することができる。
【００８０】
記事の著者、電子文書の作成者、ウェブ・ページの著者、文書データベース作成者などのコンテンツ・クリエータは、自分のコンテンツを書く前に、かかるコンテンツ中に記載される生成物、解決法、およびサービスに対する使用例を決める。その結果、コンテンツ・クリエータは、コンテンツ、特に、当該コンテンツが取り扱うテーマが、どのような質問への回答を意図されているかを知る。データのコーパスの各文書中の、質問に関連する役割、情報の種類、タスクなどに関する類別をすることで、ＱＡパイプラインが、特定のクエリに関するコンテンツを包含する文書をより迅速に且つ効率的に識別することが可能になる。また、コンテンツは、コンテンツ・クリエータが考えなかった他の質問に回答することが可能で、これはコンテンツのユーザにとって有用であり得る。所与の文書に対するコンテンツ中に包含されることになる質問および回答は、コンテンツ・クリエータによって検証される。これらの能力は、正確さ、システム・パフォーマンス、機械学習、およびＱＡパイプラインの信頼度の改善に寄与する。コンテンツ・クリエータ、自動化ツールまたは他の同種のものは、ＱＡパイプラインが、コンテンツのこれらの質問および回答の属性を識別するのに使用できる情報を提供するため、アノテーションを付し、または別途にメタデータを生成する。
【００８１】
ＱＡパイプラインは、かかるコンテンツに対し作動し、入力質問に対する最確の回答、すなわち回答候補を識別するために、コンテンツを評価する複数の徹底的な解析メカニズムを用いて、入力質問に対する回答を生成する。最確の回答は、回答候補の評価の過程で計算された相対的評点または信頼度尺度に従ってランク付けされた回答候補のランキング・リストとして、最高のランキング評点または信頼度尺度を有するか、または入力質問に最善に一致する単一の最終回答として、または、回答候補のランキング・リストおよび最終回答の組み合わせとして出力される。
【００８２】
図８は、リクエスト処理パイプライン４０８を実装する認知システム４００の一つの例示的な実施形態の簡略図を表し、いくつかの実施形態では、該パイプラインは、コンピュータ・ネットワーク４０２中の質問回答（ＱＡ）パイプラインであってよい。本明細書の目的の上で、リクエスト処理パイプライン４０８は、入力質問の形の構造化されたもしくは非構造化されたまたはその両方が行われたリクエストに対し作動するＱＡパイプラインとして実装されているものと想定することとする。本明細書に記載の原理と併せ使用可能な質問処理オペレーションの一例が、米国特許出願第２０１１／０１２５７３４号に記載されており、該出願は参照することによりその全体が本明細書に組み込まれる。認知システム４００は、コンピューティング・ネットワーク４０２に連結された１つ以上のコンピューティング・デバイス４０４Ａ〜４０４Ｄ（１つ以上のプロセッサおよび１つ以上のメモリ、および、バス、ストレージ・デバイス、通信インターフェースなどを含む当該技術分野で周知の他のコンピューティング・デバイスの構成要素を潜在的に含む。）上に実装される。単に説明目的のため、図８はコンピューティング・デバイス４０４Ａに実装された認知システム４００だけを図示しているが、上記で述べたように、認知システム４００は、複数のコンピューティング・デバイス４０４Ａ〜４０４Ｄなど、複数のコンピューティング・デバイスに亘って分散させることができる。ネットワーク４０２は、１つ以上の有線もしくは無線またはその両方のデータ通信リンクを介して、相互におよび他のデバイスまたはコンポーネントと通信している、サーバ・コンピューティング・デバイスとして作動することが可能な複数のコンピューティング・デバイス４０４Ａ〜４０４Ｄと、クライアント・コンピューティング・デバイスとして作動することが可能な４１０〜４１２とを含み、各通信リンクは、１つ以上の配線、ルータ、スイッチ、トランスミッタ、レシーバなどを含む。いくつかの例示的な実施形態において、認知システム４００とネットワーク４０２とは、ユーザそれぞれのコンピューティング・デバイス４１０〜４１２を介し、１人以上の認知システムのユーザに対する質問処理および回答生成（ＱＡ）機能を可能にする。他の実施形態において、認知システム４００とネットワーク４０２とは、以下に限らないが、例えば、認知情報検索、ユーザの訓練／教育、データの認知評価など、所望の実装の如何によって多くの異なる形を取り得るリクエスト処理および認知応答の生成を含む、他の種類の認知オペレーションを提供することができる。認知システム４００の他の実施形態は、本明細書に図示したもの以外のコンポーネント、システム、サブシステム、もしくはデバイスまたはそれらの組み合わせを用いてもよい。
【００８３】
認知システム４００は、様々な入力源からの入力を受信するリクエスト処理パイプライン４０８を実装するように構成される。これらリクエストは、自然言語の質問、自然言語による情報のリクエスト、認知オペレーションの実行に対する自然言語によるリクエストなどの形で提出されてよい。あるいは、この「リクエスト」は、単に、例えば、画像、テキスト、音声入力など、認知システムによる作動を意図されたデータの入力であってもよく、それらは本例示的な実施形態の強化されたモデルによって分類され、次いで認知オペレーションの結果を生成するため、認知プロセスによって作動されることになる。例えば、認知システム４００は、ネットワーク４０２、電子文書のコーパスまたはコーパス群４０６、認知システムのユーザ、画像取り込みデバイス、音声取り込みデバイス、生体スキャナ、テキスト・メッセージ傍受デバイス、もしくは他のデータ源またはこれらの組み合わせ、および他のあり得る入力源からの入力を受信する。
【００８４】
一実施形態において、認知システム４００への入力の一部または全部は、ネットワーク４０２を通して送られる。ネットワーク４０２上の様々なコンピューティング・デバイス４０４Ａ〜４０４Ｄは、コンテンツ・クリエータおよび認知システムのユーザのためのアクセス・ポイントを含む。コンピューティング・デバイス４０４Ａ〜４０４Ｄの一部は、データのコーパスまたはコーパス群４０６（図８では、例示目的だけのために別個のエンティティとして示されている）を格納するデータベースのためのデバイスを含む。また、コーパスまたはコーパス群４０６の部分は、ネットワークに取付けられたストレージ・デバイスの１つ以上のデータベースに、または図８に明示で示されていない他のコンピューティング・デバイスに備えられてよい。様々な実施形態において、ネットワーク４０２は、ローカル・ネットワーク接続および遠隔接続を含み、しかして、認知システム４００は、ローカル、および、例えばインターネットなどのグローバルなものを含む、任意のサイズの環境中で作動することが可能である。
【００８５】
認知システムの特定の領域および実装の如何によって、データのコーパスまたはコーパス群４０６は、多くの異なった形態を取ることが可能である。自然言語の実装では、コーパスまたはコーパス群４０６は、自然言語の非構造化文書、構造化文書などで構成されてよい。画像解析が行われる領域では、コーパスまたはコーパス群４０６は、様々な種類のエンティティに対する画像データを含むことが可能である。音声解析領域では、コーパスまたはコーパス群４０６は、種々のエンティティ、または可聴の音源を表現する音声パターンを包含することが可能である。コーパスまたはコーパス群４０６は、認知オペレーションを行うため必要なデータの種類に如何によって変わり得る。
【００８６】
一実施形態において、コンテンツ・クリエータは、認知システム４００で使うデータのコーパスの部分として用いるため、データのコーパスまたはコーパス群４０６の文書中のコンテンツを生成する。この文書は、認知システム４００において使用するための任意のファイル、テキスト、記事、またはデータ源を含む。認知システムのユーザは、ネットワーク接続またはネットワーク４０２へのインターネット接続を介して認知システム４００にアクセスし、認知システム４００に質問／リクエストを入力し、それらはデータのコーパスまたはコーパス群４０６中のコンテンツに基づいて回答／処理される。一実施形態において、これら質問／リクエストは、自然言語を用いて形成される。認知システム４００は、パイプライン４０８を介して質問／リクエストを構文解析して解釈し、認知システムのユーザ、例えば認知システムのユーザ４１０に、提出された質問に対する１つ以上の回答、リクエストに対する応答、リクエストを処理した結果などを包含する応答を提供する。いくつかの実施形態において、認知システム４００は、回答／応答候補のランク付けされたリストでユーザの応答を提供し、一方、他の例示的な実施形態では、認知システム４００は、単一の最終回答／応答、または、最終回答／応答と他の回答／応答候補のランク付けされたリストとの組み合わせを提供する。
【００８７】
認知システム４００は、データのコーパスまたはコーパス群４０６から得た情報に基づいて、入力質問／リクエストを処理するための複数のステージを含むパイプライン４０８を実装している。パイプライン４０８は、入力質問／リクエストとコーパスまたはコーパス群４０６との処理に基づいて入力質問またはリクエストに対する回答／応答を生成する。パイプライン４０８については、図１０に関連させて、後記でもっと詳細に説明することとする。
【００８８】
いくつかの例示的な実施形態において、認知システム４００は、ニューヨーク州、アーモンク市のインターナショナル・ビジネス・マシーンズ・コーポレーションから入手可能なＩＢＭワトソン（ＩＢＭ社の登録商標）認知システムであってよく、これは、以降に説明する本例示的な実施形態のメカニズムによって拡張されている。前に概説したように、ＩＢＭワトソン（ＩＢＭ社の登録商標）認知システムのパイプラインは、入力された質問またはリクエストを受信し、次いでその質問／リクエストの主要な特徴を抽出するために構文解析し、次に、それが、コーパスまたはコーパス群４０６に適用されるクエリを策定するために用いられる。データのコーパスまたはコーパス群４０６へのクエリの適用に基づいて、入力質問／リクエストへの価値ある応答を包含する何らかの可能性を有する、データのコーパスまたはコーパス群４０６の部分について、データのコーパスまたはコーパス群４０６（以降、単にコーパス４０６と言う）を通覧することによって、入力質問／リクエスト（以降、入力質問と仮定する）に対する仮説、または回答／応答候補のセットが生成される。ＩＢＭワトソン（ＩＢＭ社の登録商標）認知システムのパイプライン４０８は、次いで、様々な推論アルゴリズムを用いて、入力質問の言葉およびクエリの適用の過程で見出されたコーパス４０６の部分の各々で使われている言葉に対して深層解析を実行する。
【００８９】
これら様々な推論アルゴリズムから得られた評点は、次いで、ＩＢＭワトソン（ＩＢＭ社の登録商標）認知システム４００のパイプライン４０８が、この例では、潜在的回答候補が当該質問から推理された関連エビデンスを有することの信頼水準を集約した統計的モデルに照らして比較検討される。このプロセスは、回答候補のそれぞれに対し繰り返されて回答候補のリンク付けされたリストを生成し、次いで、該リストが、入力質問を提出したユーザ、例えば、クライアント・コンピューティング・デバイス４１０のユーザに提供されてよく、あるいは該リストから最終回答が選択され、ユーザに提供される。ＩＢＭワトソン（ＩＢＭ社の登録商標）認知システム４００のパイプライン４０８についてのさらなる情報は、例えば、ＩＢＭ  Ｃｏｒｐｏｒａｔｉｏｎ（ＩＢＭ社の登録商標）のウェブサイト、ＩＢＭ  Ｒｅｄｂｏｏｋｓ（ＩＢＭ社の登録商標）などから得ることができる。例えば、ＩＢＭワトソン（ＩＢＭ社の登録商標）認知システムのパイプラインについての情報が、Ｙｕａｎら著、「Ｗａｔｓｏｎ  ａｎｄ  Ｈｅａｌｔｈｃａｒｅ（ワトソンとヘルスケア）」、ＩＢＭ  ｄｅｖｅｌｏｐｅｒＷｏｒｋｓ、２０１１年、および「Ｔｈｅ  Ｅｒａ  ｏｆ  Ｃｏｇｎｉｔｉｖｅ  Ｓｙｓｔｅｍｓ：  Ａｎ  Ｉｎｓｉｄｅ  Ｌｏｏｋ  ａｔ  ＩＢＭ  Ｗａｔｓｏｎ  ａｎｄ  Ｈｏｗ  ｉｔ  Ｗｏｒｋｓ（認知システムの時代：ＩＢＭワトソン（ＩＢＭ社の登録商標）の内側観察およびその動作）」、Ｒｏｂ  Ｈｉｇｈ著、ＩＢＭ  Ｒｅｄｂｏｏｋｓ（ＩＢＭ社の登録商標）、２０１２年、に記載されている。
【００９０】
上記で述べたように、クライアント・デバイスから認知システム４００への入力は、自然言語の質問の形で提出が可能であるが、本例示的な実施形態はこれに限定されない。それどころか、入力質問は、事実上、任意の適切な型のリクエストとして、または単に処理対象の入力データのセットとして、フォーマットまたは構造化されてよく、これらは、認知解析を行いその認知解析の結果を提供するベースを決めるために、以下に限らないが、ＩＢＭワトソン（ＩＢＭ社の登録商標）などの認知システムの自然言語構文解析および分析メカニズムを含む、構造化されたもしくは非構造化のまたはその両方の入力解析を用いて、構文解析し分析することが可能である。かかる処理は、上記に換えてまたは加えて、本例示的な実施形態による、勾配ベースの攻撃に対し訓練および強化することが可能なニューラル・ネットワーク、機械学習、または他の認知モデルを用いる、画像解析、音声解析、テキスト画像解析、生体解析、または任意の他の種類の認知解析を含んでよい。
【００９１】
前述したように、質問またはリクエストが認知システム４００に入力される仕方の如何を問わず、リクエストまたは質問の処理は、訓練されたモデル、例えば、ニューラル・ネットワーク・モデル、機械学習モデル、ディープ・ラーニング（認知）モデルなどを入力データに適用することを伴う。この入力データ・セットは、処理の対象となる、実際のリクエストまたは質問それ自体、リクエストまたは質問と一緒に提出されたデータの特徴を表現する。入力データ・セットへの訓練されたモデルの適用は、認知システムによる認知コンピューティング・オペレーションの実行の過程の様々なポイントで行われてよい。例えば、訓練されたモデルは、リクエストまたは質問の処理の特徴抽出のステージでの特徴抽出および分類の過程で、例えば、リクエストまたは質問中の自然言語の用語を取り、その用語を、例えば入力質問またはリクエスト中の用語「トラック」をその１つが「車両」であり得る複数の可能なクラスに分類するなど、その用語が対応するあり得る複数の概念の１つに分類するのに用いることができる。別の例として、複数の画素データを含む画像の部分は、その画像の部分中に在る被写体が何であるかを判断するように訓練されたモデルを適用されてよい。本例示的な実施形態のメカニズムは、前述したように、訓練されたモデルの出力に作動し、これは認知システムの全体的認知コンピューティング・オペレーションの中の中間的オペレーションであってよく、例えば、医療画像の部分を複数の異なる解剖学的構造体の１つに分類することは、異常識別および治療推奨の認知コンピューティング・オペレーションを実行するための中間的オペレーションであり得る。
【００９２】
図８に示されるように、認知システム４００は、強化モデル・エンジン４２０を実装するために、特化されたハードウェア、ハードウェア上で実行されるソフトウェア、または特化されたハードウェアとハードウェア上で実行されるソフトウェアとの任意の組み合わせ中に実装されたロジックを含むように、本例示的な実施形態のメカニズムによって、さらに拡張される。強化モデル・エンジン４２０は、訓練されたモデル４６０を実装するロジックに対する外部のエンジンとして提供され得る。強化モデル・エンジン４２０は、所与の訓練されたニューラル・ネットワークに基づいて、修改し、再訓練し、または新規の保護されたニューラル・ネットワークを生成されるように作動する。前述したように、これは、オリジナルの訓練データおよびノイズ含有訓練データを用いてニューラル・ネットワークの出力ノードを再訓練し、これによりニューラル・ネットワークに関連付けられた損失表面にノイズを導入することによって達成することができる。ノイズ含有訓練データ・セットに基づく訓練は、ニューラル・ネットワークにノイズ含有訓練データを誤分類させるように特別に設計される。このニューラル・ネットワークは、敵対的訓練データ・セットによって訓練された出力ノードの第二のセットを含み、第一の出力ノードおよび第二の出力ノードの出力を併合するためのノードの併合層を含むようにさらに修改される。強化モデル・エンジン４２０は、混同行列をさらに用いて、ニューラル・ネットワークがノイズ含有訓練データを誤分類するように訓練するのに使う分類を選択する。
【００９３】
これら出力ノードの２つのセットの出力の併合によって生成される、得られた修改された出力ベクトルは、分類およびラベル付けされたデータ・セット中の入力データに関連付けられた関連ラベルの正確さを維持しながら、修改された確率値を提供する。しかして、ニューラル・ネットワーク（モデル）を、回避攻撃などの勾配ベースの攻撃に対し保護または強化しながら、入力データ・セットの正確な分類およびラベル付けがなお実行される。得られた分類された、またはラベル付けされたデータ・セットは、認知システム４００が用いられている対象の全体的認知オペレーションのさらなる処理および遂行のため、パイプライン４０８中の処理の下流のさらなるステージに提供することができる。
【００９４】
しかして、クライアント・コンピューティング・デバイス４１０のユーザなどの攻撃者は、ニューラル・ネットワークの実際の損失表面の勾配を正確に識別することができず、しかして、ニューラル・ネットワークすなわち強化モデル４６０によって行われる分類をだますことができるような敵対的入力を生成することができない。逆に、本例示的な実施形態のメカニズムによって行われる訓練は、勾配を損失表面のノイズ含有部分に向けて、オリジナルの損失表面の実際の勾配から離れるように方向変えする。結果として、攻撃者は、正確な勾配を突き止めることができず、しかして適正な勾配に基づいた敵対的入力データを生成することはできない。
【００９５】
図８は、認知システム４００の一部として、訓練され強化されたモデル・ロジック４６０の実装を示しているが、当然のことながら、本例示的な実施形態はこれに限定はされない。それどころか、いくつかの例示的な実施形態では、訓練されたモデル・ロジック４６０自体が、クライアント・コンピューティング・デバイス４１０のユーザが入力データ・セットの処理をリクエストできるサービスとして提供されてよい。さらに、他の認知システムを含むことができる他のサービスのプロバイダは、自分達の認知システムのオペレーションを拡張するために、かかる訓練されたモデル４６０を利用することが可能である。しかして、いくつかの例示的な実施形態において、訓練されたモデル・ロジック４６０は、１つ以上のサーバ・コンピューティング・デバイス中に実装され、１つ以上のＡＰＩを介して、入力データ・セットがそれを通して訓練されたモデル・ロジック４６０に提出され、対応するラベル付けされたデータ・セットが返却される、他のコンピューティング・デバイスを介して、アクセスされてよい。しかして、本例示的な実施形態のメカニズムの認知システム４００中への統合は必須ではなく、これは、所望の実装の如何によって行えばよい。
【００９６】
上記で述べたように、本例示的な実施形態のメカニズムは、コンピュータ・テクノロジ技術に根差しており、かかるコンピューティングまたはデータ処理システムに存在するロジックを使って実装される。これらのコンピューティングまたはデータ処理システムは、前述した様々なオペレーションを実装するため、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせによって特別に構成される。しかして、図９は、本発明の諸態様が実装可能なデータ処理システムの１つのタイプの例として提示されている。他の多くのデータ処理システムも、同様に本例示的な実施形態のメカニズムを特別に実装するように構成することが可能である。
【００９７】
図９は、本例示的な実施形態の諸態様が実装可能な例示のデータ処理システムのブロック図である。データ処理システム５００は、図８中のサーバ・コンピューティング・デバイス４０４またはクライアント・コンピューティング・デバイス４１０などのコンピュータの一例であり、この中に、本発明の例示的な実施形態に対するプロセスを実装する、コンピュータ可用コードまたは命令が配置される。一つの例示的な実施形態において、図９は、サーバ４０４Ａなどのサーバ・コンピューティング・デバイスを表し、これは、勾配ベースの攻撃から、訓練されたニューラル・ネットワーク、機械学習、ディープ・ラーニング、または他の人工知能モデル・ロジックを保護するため、強化モデル・エンジン４２０に関連して本明細書で説明した本例示的な実施形態の付加的メカニズムを含めるべく、拡張された認知システム４００およびリクエストまたはＱＡシステム・パイプライン４０８を実装している。
【００９８】
図示された例において、データ処理システム５００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ：ｎｏｒｔｈ  ｂｒｉｄｇｅ  ａｎｄ  ｍｅｍｏｒｙ  ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ）５０２と、サウス・ブリッジおよび入力／出力（Ｉ／Ｏ：ｉｎｐｕｔ／ｏｕｔｐｕｔ）コントローラ・ハブ（ＳＢ／ＩＣＨ：ｓｏｕｔｈ  ｂｒｉｄｇｅ  ａｎｄ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｃｏｎｔｒｏｌｌｅｒ  ｈｕｂ）５０４とを含むハブ・アーキテクチャを用いている。処理ユニット５０６、主メモリ５０８、およびグラフィック・プロセッサ５１０は、ＮＢ／ＭＣＨ５０２に連結されている。グラフィック・プロセッサ５１０は、アクセラレーテッド・グラフィックス・ポート（ＡＧＰ：ａｃｃｅｌｅｒａｔｅｄ  ｇｒａｐｈｉｃｓ  ｐｏｒｔ）を介してＮＢ／ＭＣＨ５０２に連結されている。
【００９９】
この図示の例において、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ５１２はＳＢ／ＩＣＨ５０４に連結している。オーディオ・アダプタ５１６、キーボードおよびマウス・アダプタ５２０、モデム５２２、読み取り専用メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）５２４、ハード・ディスク・ドライブ（ＨＤＤ：ｈａｒｄ  ｄｉｓｋ  ｄｒｉｖｅ）５２６、ＣＤ−ＲＯＭドライブ５３０、ユニバーサル・シリアル・バス（ＵＳＢ：ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ）および他の通信ポート５３２、およびＰＣＩ／ＰＣＩｅデバイス５３４は、バス５３８およびバス５４０を介してＳＢ／ＩＣＨ５０４に連結している。ＰＣＩ／ＰＣＩｅデバイスは、例えば、イーサネット（登録商標）アダプタ、アドイン・カード、およびノート型コンピュータのためのＰＣカードを含むことが可能である。ＰＣＩは、カード・バス・コントローラを使うが、ＰＣＩｅは使わない。ＲＯＭ５２４は、例えば、フラッシュ基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）であってよい。
【０１００】
ＨＤＤ５２６およびＣＤ−ＲＯＭドライブ５３０は、バス５４０を介してＳＢ／ＩＣＨ５０４に連結している。ＨＤＤ５２６およびＣＤ−ＲＯＭドライブ５３０は、例えば、インテグレーティド・ドライブ・エレクトロニクス（ＩＤＥ：ｉｎｔｅｇｒａｔｅｄ  ｄｒｉｖｅ  ｅｌｅｃｔｒｏｎｉｃｓ）またはシリアル・アドバンスド・テクノロジー・アタッチメント（ＳＡＴＡ：ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ）インターフェースを使うことができる。ＳＢ／ＩＣＨ５０４に、スーパーＩ／Ｏ（ＳＩＯ：Ｓｕｐｅｒ  Ｉ／Ｏ）デバイス５３６を連結することが可能である。
【０１０１】
オペレーティング・システムが処理ユニット５０６上で実行される。このオペレーティング・システムは、図９中のデータ処理システム５００内の様々なコンポーネントを調整し、それらの制御を提供する。クライアントとして、このオペレーティング・システムは、マイクロソフト（登録商標）のＷｉｎｄｏｗｓ１０（登録商標）など市販のオペレーティング・システムであってよい。このオペレーティング・システムと合わせてＪａｖａ（登録商標）プログラミング・システムなどのオブジェクト指向プログラミング・システムを実行することが可能で、データ処理システム５００上で実行されるＪａｖａ（登録商標）プログラムまたはアプリケーションからオペレーティング・システムにコールをかける。
【０１０２】
サーバとして、データ処理システム５００は、例えば、アドバンスト・インタラクティブエグゼクティブ（ＡＩＸ：Ａｄｖａｎｃｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｅｘｅｃｕｔｉｖｅ）（ＩＢＭ社の登録商標）オペレーティング・システム、またはＬＩＮＵＸ（登録商標）オペレーティング・システムを実行する、ＩＢＭのｅＳｅｒｖｅｒ（ＩＢＭ社の登録商標）Ｓｙｓｔｅｍ  ｐ（ＩＢＭ社の登録商標）コンピュータ・システムであってよい。データ処理システム５００は、処理装置５０６中に複数のプロセッサを含む、対称マルチプロセッサ（ＳＭＰ：ｓｙｍｍｅｔｒｉｃ  ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ）システムとすることが可能である。あるいは、単一プロセッサ・システムを用いてもよい。
【０１０３】
オペレーティング・システム、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムのための命令は、ＨＤＤ５２６などのストレージ・デバイスに配置され、処理ユニット５０６による実行のため主メモリ５０８中にロードされる。本発明の例示的な実施形態のためのプロセスは、コンピュータ可用のプログラム・コードを用い、処理ユニット５０６によって行われ、これらプログラムは、例えば、主メモリ５０８、ＲＯＭ５２４、または例えば１つ以上の周辺デバイス５２６および５３０などのメモリ中に配置される。
【０１０４】
図９に示されたバス５３８またはバス５４０などのバス・システムは、１つ以上のバスで構成される。当然のことながら、バス・システムは、通信ファブリックまたはアーキテクチャに付随する各種のコンポーネントまたはデバイスの間でのデータの伝送を提供する任意の種類のファブリックまたはアーキテクチャを用いて実装することが可能である。図９のモデム５２２またはネットワーク・アダプタ５１２などの通信ユニットは、データを送信および受信するために使われる１つ以上のデバイスを含む。メモリは、例えば、図９中の主メモリ５０８、ＲＯＭ５２４、またはＮＢ／ＭＣＨ中に見られるようなキャッシュであってよい。
【０１０５】
当業者は、図８および９中に図示されたハードウェアは実装の如何によって変わり得ることを認識していよう。図８および９に示されたハードウェアに加えてまたはそれらに換えて、フラッシュ・メモリ、同等の不揮発性メモリ、または光ディスク・ドライブなど、他の内部ハードウェアまたは周辺デバイスを使用することが可能である。同様に、本発明の趣旨および範囲から逸脱することなく、該例示的な実施形態の諸プロセスを、前述したＳＭＰシステム以外のマルチプロセッサ・データ処理システムに適用することができる。
【０１０６】
さらに、データ処理システム５００は、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話または他の通信デバイス、携帯端末情報（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）などを含め、多くの様々なデータ処理システムの任意の形を取ることが可能である。いくつかの用例において、データ処理システム５００は、例えば、オペレーティング・システム・ファイルもしくはユーザ生成のデータまたはその両方を格納するための不揮発性メモリを提供するフラッシュ・メモリを使って構成された携帯型コンピューティング・デバイスであってよい。基本的には、データ処理システム５００は、アーキテクチャの限定なしに、任意の既知のまたは将来開発されるデータ処理システムであってよい。
【０１０７】
図１０は、認知システムの処理パイプラインを示し、この図示の例では、これは、本例示的な実施形態による、入力質問を処理するために使用される質問および回答（ＱＡ）システム・パイプラインである。上記で述べたように、本例示的な実施形態と共に利用可能な認知システムは、ＱＡシステムに限定されるものでなく、しかして、ＱＡシステム・パイプラインの使用に限定されない。図１０は、自然言語の入力への応答または結果を提供するための認知システムのオペレーションをリクエストする、該自然言語の入力を処理するために実装が可能な処理構造の単なる一例として提示されている。
【０１０８】
図１０のＱＡシステム・パイプラインは例えば、図８中の認知システム４００のＱＡパイプライン４０８として実装されてよい。図１０に示されたＱＡパイプラインのステージが、１つ以上のソフトウェア・エンジン、コンポーネントなどとして実装され、これらは、特定のステージに帰属する機能を実装するためのロジックで構成されることを認識すべきである。各ステージは、かかるソフトウェア・エンジン、コンポーネントなどの１つ以上を用いて実装される。これらソフトウェア・エンジン、コンポーネントなどは、１つ以上のデータ処理システムまたはデバイスの１つ以上のプロセッサ上で実行され、該１つ以上のデータ処理システム上の１つ以上のデータ・ストレージ・デバイス、メモリなどに格納されたデータを使用する、またはそれらに作動する。図１０のＱＡパイプラインは、例えば、後記で説明する本例示的な実施形態の改良されたメカニズムを実装するために、これらステージの１つ以上において拡張され、改良されたメカニズムを実装するために追加のステージが設けられ、あるいは、パイプライン６００とインターフェース接続し、本例示的な実施形態の改良された機能およびオペレーションを実装するために、パイプライン６００から分離されたロジックを設けることができる。
【０１０９】
図１０に示されるように、ＱＡパイプライン６００は、入力された質問を解析し、最終応答を生成するために、認知システムが通過する複数のステージ６１０〜６８０を含む。当初の質問入力ステージ６１０で、ＱＡパイプライン６００は、自然言語フォーマットで提出された入力質問を受信する。これは、ユーザ・インターフェースを介するユーザ入力であり、ユーザが回答を得ることを望む質問、例えば「ワシントンの最側近のアドバイザは誰ですか？」などといった入力質問である。入力質問の受信に応じ、ＱＡパイプライン６００の次のステージ、すなわち質問およびテーマ解析ステージ６２０は、入力質問から主要な特徴を抽出するために、自然言語処理（ＮＬＰ）技法を用いて、入力質問を構文解析し、それら主要特徴を、例えば名前、日付、または多数の他の定義されたテーマのいずれかなどの型に沿って分類する。例えば、上記の例の質問において、「誰」という用語は、求められている人の身元を示す「人物」に対するテーマに関連付けることができ、「ワシントン」は、質問に関連付けられた人の固有名詞として識別することができ、「最側近」は関係の近接さを示す語として識別することができ、また「アドバイザ」は名詞または他の言語テーマを示し得る。
【０１１０】
さらに、これら抽出された主要特徴は、質問の焦点、語彙的な回答の型（ＬＡＴ：ｌｅｘｉｃａｌ  ａｎｓｗｅｒ  ｔｙｐｅ）などの質問特性に分類されるキー語句を含む。本明細書で言う語彙的な回答の型（ＬＡＴ）とは、語へのセマンティクスの割り当てに関係なく、回答の型を示す、入力質問中の語または質問から推理される語である。例えば、質問「ゲームをスピード・アップするために１５００年代に発明された、同じ色の２つのピースを含む技は何ですか？」において、ＬＡＴは「技」である。質問の焦点とは、回答によって置き換えられた場合、質問を独立したステートメントにする質問の部分である。例えば、質問「比較的に少ない副作用でＡＤＤの症状を軽減するために、どのような薬品が示されていますか？」において、焦点は「薬品」である、というのは、例えば、語「薬品」を回答の「アデロール」に置き換えて使用することが可能で、この語が回答と置き換えられた場合、文「比較的に少ない副作用でＡＤＤの症状を軽減するために、アデロールが示されています」が生成される。この焦点は、常時ではないがしばしばＬＡＴを包含する。他方、多くの場合、焦点から意味あるＬＡＴを推理する事はできない。
【０１１１】
入力質問から抽出された特徴の分類は、例えば、ニューラル・ネットワーク・モデル、機械学習モデル、ディープ・ラーニング・モデル、他の型の人工知能ベースのモデルとして実装することが可能な１つ以上の訓練されたモデル６２５を使って行うことが可能である。上記で述べたように、かかる訓練されたモデル６２５による入力質問の抽出された特徴の分類に関しては、本例示的な実施形態のメカニズムは、質問およびテーマ解析ステージ６２０に実装することができる。すなわち、本例示的な実施形態は、勾配攻撃に対し、訓練されたモデル６２５を強化するために、訓練されたモデル６２５を訓練する強化モデル・エンジン６９０を備える。訓練されたモデル６２５は、入力データに対し、その通常の能力で作動し、例えば、抽出された特徴、すなわち入力データを分類するために入力質問から抽出された特徴に作動し、これにより、さらなる解析のため、ラベル付けされた特徴を質問分解ステージ６３０に出力する。しかして、訓練されたモデル６２５は、ＱＡシステム・パイプライン６００に沿った適正な分類ダウンストリームをなおたどるが、しかしながら、訓練されたモデル６２５に対して勾配ベースの攻撃を行おうとするいかなる攻撃者も、訓練されたモデル６２５に入力の誤分類をさせるような敵対的入力を生成可能にするため、訓練されたモデル６２５の損失表面を突き止めることができないことになる。
【０１１２】
いくつかの他の実施形態では、入力データは、構造化されたまたは非構造化のいずれであれ、定型化されたリクエストまたは質問である必要はなく、代わりに、単に、入力データ・セットをパイプライン６００によって処理することを暗に示すリクエストと共に入力された、入力データ・セットであればよいことを認識すべきである。例えば、パイプライン６００が画像解析認知オペレーションを行うように構成されている実施形態において、パイプライン６００への入力として入力画像を供することが可能で、該パイプラインは、入力画像の主要特徴を抽出し、それらを訓練されたモデル６２５によって分類し、後記で説明するように、パイプライン６００の他の処理を実行して、画像に示されたものに関する仮説を採点し、これにより最終結果の出力を生成する。また、他のケースでは、音声入力データも同様な仕方で解析されてよい。処理対象の入力データの性質の如何によらず、訓練されたモデル６２５を勾配ベースの攻撃に対し強化する訓練のため、本例示的な実施形態のメカニズムを用いることができる。
【０１１３】
再度図１０を参照すると、識別された主要な特徴は、１つ以上の仮説を生成するために、次いで、質問分解ステージ６３０の過程で用いられて、質問をデータ／情報のコーパス群６４５に適用される１つ以上のクエリに分解する。これらクエリは、構造化クエリ言語（ＳＱＬ：Ｓｔｒｕｃｔｕｒｅ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）など、任意の既知のまたは将来開発される言語で生成される。これらクエリは、データ／情報のコーパス群６４５を構成している、電子テキスト、文書、記事、ウェブサイトなどについての情報を格納している１つ以上のデータベースに適用される。すなわち、これらの様々な情報源自体、情報源の異なるコレクションなどは、コーパス群６４５内の相異なるコーパス６４７を表している。特定の実装の如何によって様々な基準に基づいて、文書の種々のコレクションに対し定義された種々のコーパス群６４７があってよい。例えば、種々のテーマ、主題カテゴリ、情報源などに対し種々のコーパス群が設定されてよい。一例として、第一コーパスは、ヘルスケア文書に関連付けることができ、一方、第二コーパスは財務文書に関連付けることができよう。あるいは、１つのコーパスは、米国エネルギー省によって発行された文書とすることができ、別のコーパスはＩＢＭ  Ｒｅｄｂｏｏｋｓ（ＩＢＭ社の登録商標）文書とすることができる。さらに、一部のコーパスは、画像データ、音声データなどから成ってよい。何らかの類似の属性を有するコンテンツのいかなるコレクションも、コーパス群６４５中のコーパス６４７であると見なすことができる。
【０１１４】
クエリは、例えば図８中のデータのコーパス４０６など、データ／情報のコーパスを構成する、電子テキスト、文書、記事、ウェブサイトなどについての情報を格納している１つ以上のデータベースに適用される。クエリは、入力質問に回答するための可能性のある仮説を識別する結果を生成するため、仮説生成ステージ６４０でデータ／情報のコーパスに適用される。すなわち、クエリのこの適用は、特定のクエリの基準に合致する、データ／情報のコーパスの部分の抽出をもたらす。次いで、コーパスのこれらの部分は、入力質問に回答するための仮説を生成するために、仮説生成ステージ６４０の過程で、解析され、使用される。これらの仮説は、本明細書では、入力質問に対する「回答候補」とも称される。何らかの入力質問に対し、このステージ６４０で、評価する必要のあり得る何百もの仮説または回答候補を生成することができる。
【０１１５】
ＱＡパイプライン６００は、次いでステージ６５０で、深層解析および入力質問の言語と各仮説または「回答候補」の言語との比較を行い、さらに、当該仮説が入力質問への適正な回答である尤度を評価するためのエビデンスの採点を行う。前述のように、これは複数の推論アルゴリズムの使用を伴い、それらの各々は、入力質問もしくはコーパスのコンテンツまたはその両方の言語の各別個の種類の解析を行い、これが当該仮説を肯定するまたは肯定しないエビデンスを提供する。各推論アルゴリズムは、それが行った解析に基づく評点を生成し、これは、クエリの適用によって抽出されたデータ／情報のコーパスの個々の部分の妥当性の指標、ならびに対応する仮説の正確さの指標、すなわち仮説の信頼度の指標を示す。行われる特定の解析の如何によって、かかる評点を生成する様々な仕方がある。また一方、一般に、これらのアルゴリズムは、対象となる語句またはパターンを示すテキストの特定の語句またはパターンを調べ、高程度の合致性に対し、低い程度の合致性よりも相対的に高い評点が与えられるように、合致性の程度を判断する。
【０１１６】
しかして、例えば、或るアルゴリズムは、入力質問中と同一の語または入力質問中のその用語の同義語、例えば、用語「映画」と同一の語またはその同義語を調べ、かかる同一の語または同義語の使用の頻度に基づいて評点を生成することができる。かかるケースにおいて、厳密な合致は、最高の評点を与えられることになり、一方、同義語は、主題の熟練者（特定の領域および使用用語の知識を備えた人）によって規定されるか、または当該領域に対応するコーパス中の当該同義語の使用頻度から自動的に決めることの可能な、同義語の相対的ランキングに基づいてより低い評点が与えられてよい。しかして、例えば、コーパスのコンテンツ中の用語「映画」の厳密な合致（エビデンス、またはエビデンス節とも言う）には最高の評点が与えられる。「動画」など映画の同義語には、より低い、だが同義語の類「フィルム」または「動写真ショー」よりはまだ高い評点が与えられてよい。各エビデンス節に対する厳密な合致語および同義語のインスタンスは編集され、エビデンス節の入力質問への合致の程度に対する評点を生成するため、定量関数の中で使用することができる。
【０１１７】
しかして、例えば、「最初の映画は何でしたか？」の入力質問に対する仮説または回答候補は「疾走中の馬（The Horse in Motion）」となる。エビデンス節が、ステートメント「かつて制作された最初の動画は、１８７８年のエドワード・マイブリッジによる「疾走中の馬（The Horse in Motion）」であった。これは走っている馬の映画であった。」とのステートメントを包含し、アルゴリズムが、入力質問の焦点、すなわち「映画」に対する正確な合致または同義語を調べている場合、「映画」への厳密な合致はエビデンス節の第二文中に見出され、「映画」に対する高評点の同義語、すなわち「動画」がこのエビデンス節の第一文中に見出される。これは、回答候補のテキストすなわち「疾走中の馬（The Horse in Motion）」が、エビデンス節の中にも存在することを識別するためのエビデンス節のさらなる解析と組み合わせることができる。これらの要因が組み合わされて、このエビデンス節に、回答候補「疾走中の馬（The Horse in Motion）」が適正な回答であることに対する裏付けエビデンスとしての相対的に高い評点を与えることができる。
【０１１８】
当然のことながら、これは、どのように採点を行うことができるかの１つの単なる簡単な例である。本発明の趣旨と範囲から逸脱することなく、回答候補およびエビデンスに対する評点を生成するために、様々の複雑な多くの他のアルゴリズムを用いることが可能である。
【０１１９】
合成ステージ６６０で、様々な推論アルゴリズムによって生成された多数の評点が、これら様々な仮説に対する信頼度評点または信頼尺度に合成される。このプロセスは、様々な評点に対し重みを適用することを含み、これらの重みは、ＱＡパイプライン６００により用いられている、もしくは動的に更新されているまたはその両方が行われている統計的モデルの訓練を通して決められる。例えば、厳密に合致する語および同義語を識別するアルゴリズムによって生成された評点に対する重みは、エビデンス節の発行日付を評価している他のアルゴリズムよりも相対的に高く設定されてよい。これら重み自体は、主題の熟練者によって規定することも、または、特徴的なエビデンス節の意味およびそれらの全体的回答候補生成に対する相対的重要性を評価する機械学習プロセスを通して学習することも可能である。
【０１２０】
重み付けされた評点は、個別の仮説または回答候補に対する信頼度評点または尺度を生成するために、これらの評点を組み合わせることが可能な仕方を識別している、ＱＡパイプライン６００の訓練を介して生成された統計的モデルに従って処理される。信頼度評点または尺度は、回答候補が入力質問に依って推理されたこと、すなわち、回答候補が入力質問に対する適正な回答であることのエビデンスについて、ＱＡパイプライン６００が有する信頼水準を集約している。
【０１２１】
得られた信頼度評点または尺度は、最終信頼度併合およびランキング・ステージ６７０によって処理され、該ステージは、信頼度評点または尺度を相互に比較し、これらを所定の閾値と対比し、またはこれら信頼度評点に対し任意の他の解析を実行して、いずれの仮説／回答候補が入力質問に対する適正な回答である可能性が最も高いかを判断する。仮説／回答候補のランク付けリストを生成するために、仮説／回答候補（以降、単に「回答候補」と言う）はこれらの比較に従ってランク付けされる。ステージ６８０で、回答候補のランク付けリストから、最終回答および信頼度評点、または最終回答候補のセットおよびそれらの信頼度評点が生成され、グラフィカル・ユーザ・インターフェースまたは情報を出力するための他のメカニズムを介して、当初の入力質問の提出者に向け出力される。
【０１２２】
図１０に示されるように、強化モデル・エンジン６９０は、訓練方法を実装する訓練ロジック６９８と、追加の出力ノードおよびノードの併合層を含むように、例えばニューラル・ネットワークなどオリジナルの訓練されたモデルを修改して、前述の３つの異なる訓練データ・セットを用いて前述の仕方で修改されたモデルを訓練するための前述したようなメカニズムと、を備えている。例えば、強化モデル・エンジン６９０は、訓練されたオリジナルのニューラル・ネットワーク・モデル６９２を受けて、拡張された出力ノード層６９４を備えたニューラル・ネットワークを生成することができる。次いで、前述したような仕方で、訓練データの異なるセットを用いて出力ノードの２つの異なるセットを訓練することが可能である。すなわち、出力ノードの第一のセットは、オリジナルの訓練データを用いて訓練され、さらにノイズ含有訓練データを誤分類するように訓練される。このノイズ含有訓練データの誤分類は、ノイズ含有訓練データに対する代替の分類、すなわち誤分類を選択するため、混同行列６９９上で作動する訓練ロジック６９８によって促進することができる。出力ノードの第二のセットは、敵対的訓練データを適正に分類するように訓練される。次いで、併合層６９６を備えた、訓練されたニューラル・ネットワークを生成するために、敵対的に且つノイズ含有で訓練された修改ニューラル・ネットワークに、併合ノードが導入される。この併合層は、出力ノードの２つの異なるセットの出力を併合する。得られた併合層ノードを備えた訓練されたニューラル・ネットワーク・モデル６９６は、次いで、パイプライン６００によって使われる対応する訓練されたモデル６２５と置き換えるのに用いることが可能で、これにより、回避攻撃などの勾配ベースの攻撃に対し訓練されたモデル６２５を強化する。
【０１２３】
図１１は、一つの例示的な実施形態による、勾配ベースの攻撃に対抗した、例えばニューラル・ネットワークなどの訓練モデルのための例示のオペレーションを梗概したフローチャートである。図１１に示されるように、本オペレーションは、当該技術分野で周知の仕方で訓練されたニューラル・ネットワークを生成することによって開始する（ステップ７１０）。次いで、この訓練されたニューラル・ネットワークは、出力ノードの複数のセットを含むように拡張され、例えば、出力ノードの２つのセットが前述した例示的な実施形態に装着される（ステップ７２０）。所与のオリジナルの訓練データ・セットから、異なる訓練データ・セットに対して異なる乗数による高速勾配符号法を用いるなどして、ノイズ含有訓練データ・セットおよび敵対的訓練データ・セットが生成される（ステップ７３０）。出力ノードの第一のセットは、オリジナルの（無撹乱の）訓練データ・セットおよびノイズ含有訓練データ・セットを用いて訓練される（ステップ７４０）。なお、前述したように、オリジナルの訓練データ・セットに基づく訓練は、既知の仕方で行われるが、ノイズ含有訓練データ・セットに基づいて行われる訓練は、混同行列などを使うなどして、意図的に、ニューラル・ネットワークまたはモデルにノイズ含有入力データを誤分類させるように行われる。出力ノードの第二のセットは、敵対的訓練データに基づいて訓練される（ステップ７５０）。
【０１２４】
訓練データの３つのセットを用いて、追加の出力ノードを備えた拡張ニューラル・ネットワークを訓練した後、該拡張ニューラル・ネットワークは、出力ノードの２つのセットの出力を併合する併合ノードを備える併合層を含むように修改される（ステップ７６０）。得られた修改された拡張、訓練されたニューラル・ネットワークは、新規の入力データに使用する展開のために準備が整い、勾配ベースの攻撃に対して強化されながら、入力データ上で作動する。しかして、修改された拡張、訓練されたニューラル・ネットワークは、入力データを処理し（ステップ７７０）、併合ノードで生成された併合出力中に示される識別された分類に従って、適切なラベルで入力データを拡張する（ステップ７８０）。その後、拡張された（ラベル付けされた）データ・セットは、認知コンピューティング・システムへの入力として供給され、該システムは、これらラベル付きデータ・セットを用いて認知オペレーションを実行する（ステップ７９０）。本オペレーションはここで終了する。
【０１２５】
当然のことながら、前述の説明は例示目的だけのためのものであり、本発明の趣旨および範囲を逸脱することなく、前述の実施形態に多くの修改を加えることが可能である。例えば、本例示的な実施形態中の勾配の正確な計算を妨げるために利用が可能な様々なメカニズムがある。例えば、ニューラル・ネットワーク中により多いまたは少ない層を用い、これにより、より簡単なまたはより複雑な実装を設けることができよう。例えば、実施形態は、出力の２つのセットの代わりにさらなる層を含むことが可能で、後者の層中の出力の併合を供給されてよい。いくつかの実施形態において、出力ノードの単一セットが設けられ、だがノイズ含有サンプルおよび複数の層を使って、勾配が局所最適部に向かうように複数の上り下りを有するたまねぎ様形状の損失表面を構成するように訓練される。また、いくつかの実施形態は、混同行列の有無にかかわらずノイズ含有サンプルを構築し、代わりに、ランダム・ラベル、または入力スペースに大きな差異のあるラベルを用いることができる（例えば、クラスから最も外れた画像のラベルを与える）。本発明の趣旨および範囲を逸脱することなく様々な他の種類の修改を用いることが可能である。
【０１２６】
上記で述べたように、当然のことながら、本例示的な実施形態は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態、またはハードウェアおよびソフトウェア構成要素の両方を包含する実施形態の形を取ることができる。一例において、本例示的な実施形態のメカニズムは、ソフトウェアまたはプログラム・コード中に実装され、これには、以下に限らないが、ファームウェア、常駐ソフトウェア、マイクロコードなどが含まれる。
【０１２７】
プログラム・コードを格納もしくは実行またはその両方を行うために適したデータ処理システムは、例えばシステム・バスなどの通信バスを介して直接または間接的にメモリ・エレメントに連結された少なくとも一つのプロセッサを含むことになる。メモリ・エレメントには、プログラム・コードの実際の実行の過程で用いられるローカル・メモリと、大容量ストレージと、実行の過程で大容量記憶装置からコードを読み出さなければならない回数を低減するために、少なくとも一部のプログラム・コードの一時的ストレージを提供するキャッシュ・メモリとを含めることが可能である。このメモリは、以下に限らないが、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ・メモリ、固体メモリなどを含む様々な種類であってよい。
【０１２８】
システムには、直接に、あるいは、介在する有線またはワイヤレスＩ／Ｏインターフェースもしくはコントローラまたはその両方などを介して、入力／出力またはＩ／Ｏデバイス（以下に限らないが、キーボード、ディスプレイ、ポインティング・デバイスなどを含む）を連結することができる。Ｉ／Ｏデバイスは、従来のキーボード、ディスプレイ、ポインティング・デバイスなど以外の、例えば、以下に限らないが、スマートフォン、タブレット・コンピュータ、タッチ・スクリーン・デバイス、音声認識デバイスなどを含む、有線またはワイヤレス接続を介して連結された通信デバイスなど、多くの種々の形を取ることが可能である。一切の既存のまたは将来開発されるＩ／Ｏデバイスが、該例示的な実施形態の範囲の内として意図されている。
【０１２９】
また、データ処理システムが、介在するプライベートまたは公衆ネットワークを介して他のデータ処理システム、または遠隔のプリンタもしくはストレージ・デバイスに連結できるようにするため、システムにネットワーク・アダプタが連結されてよい。モデム、ケーブル・モデム、およびイーサネット（登録商標）は、有線通信のため現在利用可能なネットワーク・アダプタの種類のほんの一部である。また、以下に限らないが、８０２．１１／ａ／ｂ／ｇ／ｎワイヤレス通信アダプタ、Ｂｌｕｅｔｏｏｔｈ（登録商標）ワイヤレス・アダプタなどを含め、ワイヤレス通信ベースのネットワーク・アダプタも利用が可能である。一切の既存のまたは将来開発されるネットワーク・アダプタが、本発明の趣旨および範囲の内として意図されている。
【０１３０】
本発明の記述は、例示および説明の目的で提示されたものであり、網羅的であることも、または本発明を開示した形態に限定することも意図されていない。当業者には、本例示的な実施形態の範囲および趣旨から逸脱することのない多くの修改および変形が明白であろう。実施形態は、本発明の原理、実際的な応用を最善に説明し、他の当業者が、意図する特定の用途に適したさまざまな修改を加えた様々な実施形態に関して、本発明を理解できるように選択し説明されたものである。本明細書で用いられた用語は、実施形態の原理、実際上の応用、または市販の技術の技術的な改良を最善に説明し、または他の当業者が本明細書に開示された実施形態を理解できるように選択されたものである。
【図１】
2021501414.tif 000004
【図２】
2021501414.tif 000005
【図３】
2021501414.tif 000006
【図４】
2021501414.tif 000007
【図５】
2021501414.tif 000008
【図６】
2021501414.tif 000009
【図７】
2021501414.tif 000010
【図８】
2021501414.tif 000011
【図９】
2021501414.tif 000012
【図１０】
2021501414.tif 000013
【図１１】
2021501414.tif 000014
【手続補正書】
【提出日】令和2年6月12日(2020.6.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサおよびメモリを含むデータ処理システムにおける方法であって、プロセッサが、
前記データ処理システム中で実行される強化ニューラル・ネットワークを、前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成するステップであって、前記内部の特徴表現中に導入された前記ノイズは、前記強化ニューラル・ネットワークの損失表面に関連する勾配計算の方向を逸らす、前記構成するステップと、
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを、前記強化ニューラル・ネットワークの敵対的に訓練された出力ノードの出力と、導入された前記ノイズに基づいて訓練された前記強化ニューラル・ネットワークの出力ノードとを結合するノードの併合層を実装するように構成するステップと、
前記強化ニューラル・ネットワークによって、前記強化ニューラル・ネットワークによる分類のための入力データを受信するステップと、
前記強化ニューラル・ネットワークによって、前記入力データに対する分類ラベルを生成するため前記入力データを処理し、これにより拡張された入力データを生成するステップと、
前記強化ニューラル・ネットワークによって、前記拡張された入力データを、コンピューティング・オペレーションを行うべく前記拡張された入力データを処理するため、コンピューティング・システムに出力するステップと、
を実行する、方法。
【請求項２】
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成するステップは、プロセッサが、前記ニューラル・ネットワークの訓練過程で、前記ニューラル・ネットワークによって行われる分類オペレーションの各クラスの中にノイズを導入するステップを実行する、請求項１に記載の方法。
【請求項３】
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成するステップは、プロセッサが、各クラスのクラスタに関連する前記損失表面に少なくとも１つのノイズ含有領域を導入するステップを実行し、前記各クラスのクラスタに関連する前記損失表面における勾配が前記少なくとも１つのノイズ含有領域に向かう方向を有する、請求項２に記載の方法。
【請求項４】
前記データ処理システム中で実行される前記強化ニューラル・ネットワークを前記強化ニューラル・ネットワークの内部の特徴表現の中にノイズを導入するように構成するステップは、プロセッサが、
オリジナルの訓練データに基づいて、入力データ・サンプルを複数の異なるクラスに分類するように、ニューラル・ネットワークを訓練するステップと、
前記ニューラル・ネットワークの前記損失表面に関連する勾配計算の方向を逸らすことによって、敵対的入力の生成から保護される前記強化ニューラル・ネットワークを生成するために、前記ニューラル・ネットワークに引き続き訓練を行うステップと、
を実行する、請求項１に記載の方法。
【請求項５】
前記引き続きの訓練は、プロセッサが、
前記ニューラル・ネットワークの出力ノードの第一セットに関し、前記オリジナルの訓練データのデータ・サンプルに対応する訓練データの第一セットに基づいて、前記ニューラル・ネットワークを訓練するステップと、
前記ニューラル・ネットワークの出力ノードの前記第一セットに関し、前記訓練データの第一セットから生成された、データ・サンプル中に導入された相対的に小さな撹乱を有する、ノイズ含有の前記データ・サンプルに対応する訓練データの第二セットに基づいて、前記ニューラル・ネットワークを訓練するステップと、
前記ニューラル・ネットワークの出力ノードの第二セットに関し、前記訓練データの第一セットから生成された、データ・サンプル中に導入された相対的に大きな撹乱を有する、敵対的な前記データ・サンプルに対応する訓練データの第三セットに基づいて、前記ニューラル・ネットワークを訓練するステップと、
を実行する、請求項４に記載の方法。
【請求項６】
前記相対的に小さな撹乱および相対的に大きな撹乱が、高速勾配符号関数に基づいて前記訓練データの第一セットの前記データ・サンプル中に導入され、前記相対的に小さな撹乱は、前記高速勾配符号関数において、前記相対的に大きい撹乱よりも相対的に小さな乗数を有する、請求項５に記載の方法。
【請求項７】
前記ニューラル・ネットワークの出力ノードの前記第一セットに関し、前記訓練データの第二セットに基づいて、前記ニューラル・ネットワークを訓練するステップが、プロセッサが、前記訓練データの第二セット中のデータ・サンプルを意図的に誤分類するように前記ニューラル・ネットワークを訓練するステップを実行する、請求項５に記載の方法。
【請求項８】
前記訓練データの第二セット中のデータ・サンプルを意図的に誤分類するように前記ニューラル・ネットワークを訓練するステップが、プロセッサが、混同行列データ構造体を利用して前記訓練データの第二セット中のデータ・サンプルに対する適正な分類の代替の分類を識別するステップを実行する、請求項７に記載の方法。
【請求項９】
前記混同行列データ構造体が、前記オリジナルの訓練データ中の各データ・サンプルに対し、前記ニューラル・ネットワークによって前記データ・サンプルが間違ったクラス中に誤分類された回数のカウントを含み、前記混同行列データ構造体を利用して前記訓練データの第二セット中のデータ・サンプルに対する前記適正な分類の代替の分類を識別するステップが、プロセッサが、前記訓練データの第二セット中の各データ・サンプルに対し、最小のカウントを有するクラスを選択するステップを実行する、請求項８に記載の方法。
【請求項１０】
前記コンピューティング・システムが認知システムであり、前記コンピューティング・オペレーションが認知オペレーションである、請求項１に記載の方法。
【請求項１１】
プロセッサに、請求項１から請求項９のいずれか一項に記載の方法における各ステップを実行させるためのコンピュータ・プログラム。
【請求項１２】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに連結された少なくとも１つのメモリと、
を含む装置であって、前記少なくとも１つのメモリは、前記少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに、
前記少なくとも１つのプロセッサ上で実行される強化ニューラル・ネットワークを、前記強化ニューラル・ネットワークの内部の特徴表現の中に、前記強化ニューラル・ネットワークの損失表面に関連する勾配計算の方向を逸らすノイズを導入するように構成させ、
前記少なくとも１つのプロセッサ上で実行される前記強化ニューラル・ネットワークを、前記強化ニューラル・ネットワークの敵対的に訓練された出力ノードの出力と、前記導入されたノイズに基づいて訓練された前記強化ニューラル・ネットワークの出力ノードとを結合するノードの併合層を実装するように構成させ、
前記強化ニューラル・ネットワークによって、前記強化ニューラル・ネットワークによる分類のための入力データを受信させ、
前記強化ニューラル・ネットワークによって、前記入力データに対する分類ラベルを生成するため前記入力データを処理し、これにより拡張された入力データを生成させ、且つ
前記強化ニューラル・ネットワークによって、前記拡張された入力データを、コンピューティング・オペレーションを行うべく前記拡張された入力データを処理するため、コンピューティング・システムに出力させる、
命令を含む、装置。
【国際調査報告】
2021501414.tif 000015
2021501414.tif 000016
2021501414.tif 000017