(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-01
(45)【発行日】2024-07-09
(54)【発明の名称】機械学習モデルを堅牢化するための学習入力のプリプロセッシング
(51)【国際特許分類】
G06N 20/00 20190101AFI20240702BHJP
G06F 21/55 20130101ALI20240702BHJP
【FI】
G06N20/00
G06F21/55
(21)【出願番号】P 2022512377
(86)(22)【出願日】2020-08-18
(86)【国際出願番号】 EP2020073132
(87)【国際公開番号】W WO2021047866
(87)【国際公開日】2021-03-18
【審査請求日】2023-01-20
(32)【優先日】2019-09-10
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(72)【発明者】
【氏名】トラン、ンゴック、ミンー
(72)【発明者】
【氏名】シン、マシュー
(72)【発明者】
【氏名】ニコラーエ、マリア-イリーナ
(72)【発明者】
【氏名】ウィツバ、マルチン
(72)【発明者】
【氏名】ラワット、アンブリッシュ
(72)【発明者】
【氏名】ブェッサー、ビート
【審査官】多賀 実
(56)【参考文献】
【文献】Maria-Irina Nicolae et al.,"Adversarial Robustness Toolbox v0.4.0",arXiv.org [online],arXiv:1807.01069v3,米国,Cornell University,2019年01月,pp.1-41,[検索日 2023年12月21日], インターネット:<URL: https://arxiv.org/abs/1807.01069v3>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 21/12-21/16
G06F 21/50-21/57
(57)【特許請求の範囲】
【請求項1】
1つ又はそれ以上のプロセッサによりコンピューティング環境内の機械学習モデルを安全化するための方法であって、
1つ又はそれ以上の機械学習モデルから選択されたプリプロセッシング操作
の複数の組み合わせの1つ又はそれ以上、1つ又はそれ以上の前記機械学習モデルを堅牢化させるために使用するデータ・セット、複数のプリプロセッサのリスト、及び選択された数の学習器
を適用することにより、アドバーサリアル・アタックに対して安全化された1つ又はそれ以上の堅牢化された機械学習モデルを提供すること
を含む、方法。
【請求項2】
さらに、1つ又はそれ以上の前記機械学習モデル、1つ又はそれ以上の前記機械学習モデルを堅牢化させるために使用される前記データ・セット、複数の前記プリプロセッサのリスト、及び前記学習器の選択された数を受領することを含む、請求項1に記載の方法。
【請求項3】
さらに、選択されたプリプロセッシング操作の前記複数の組み合わせのそれぞれのアドバーサリアル堅牢性の程度を学習することを含む、請求項1に記載の方法。
【請求項4】
さらに、
前記データ・セットから1つ又はそれ以上のデータ・インスタンスを受領すること、及び
選択されたプリプロセッシング操作の前記複数の組み合わせの1つ又はそれ以上により、1つ又はそれ以上の変換を適用して1つ又はそれ以上の前記データ・インスタンスを変換すること
を含む、請求項1に記載の方法。
【請求項5】
さらに、1つ又はそれ以上の前記機械学習モデルにより使用される前に、選択されたプリプロセッシング操作の前記複数の組み合わせの1つ又はそれ以上を使用して、入来データをプリプロセッシングすることを含む、請求項1に記載の方法。
【請求項6】
さらに、1つ又はそれ以上の堅牢化された前記機械学習モデルについて、前記アドバーサリアル・アタックからのセキュリティのレベルを示すセキュリティ・スコアを判断することを含む、請求項1に記載の方法。
【請求項7】
さらに、
前記選択された数の学習器について1つ又はそれ以上のパラメータを学習すること、及び
1つ又はそれ以上の前記機械学習モデルを堅牢化する選択されたプリプロセッシング操作の前記複数の組み合わせのそれぞれを学習すること
を含む請求項1に記載の方法。
【請求項8】
コンピューティング環境内の機械学習モデルを安全化するためのシステムであって、
実行された場合に前記システムに対し下記、
1つ又はそれ以上の機械学習モデルから選択されたプリプロセッシング操作
の複数の組み合わせの1つ又はそれ以上、1つ又はそれ以上の前記機械学習モデルを堅牢化させるために使用するデータ・セット、複数のプリプロセッサのリスト、及び選択された数の学習器
を適用することにより、アドバーサリアル・アタックに対して安全化された1つ又はそれ以上の堅牢化された機械学習モデルを提供すること
を実行させる実行可能な命令を有する1つ又は複数のコンピュータを含む、システム。
【請求項9】
前記実行可能な命令は、さらに、1つ又はそれ以上の前記機械学習モデル、1つ又はそれ以上の前記機械学習モデルを堅牢化させるために使用される前記データ・セット、複数の前記プリプロセッサのリスト、及び前記学習器の選択された数を受領することを含む、請求項8に記載のシステム。
【請求項10】
前記実行可能な命令は、さらに、選択されたプリプロセッシング操作の前記複数の組み合わせのそれぞれのアドバーサリアル堅牢性の程度を学習することを含む、請求項8に記載のシステム。
【請求項11】
前記実行可能な命令は、さらに、
前記データ・セットから1つ又はそれ以上のデータ・インスタンスを受領すること、及び
選択されたプリプロセッシング操作の前記複数の組み合わせの1つ又はそれ以上により、1つ又はそれ以上の変換を適用して1つ又はそれ以上の前記データ・インスタンスを変換すること
を含む、請求項8に記載のシステム。
【請求項12】
前記実行可能な命令は、さらに、1つ又はそれ以上の前記機械学習モデルにより使用される前に、選択されたプリプロセッシング操作の前記複数の組み合わせの1つ又はそれ以上を使用して、入来データをプリプロセッシングすることを含む、請求項8に記載のシステム。
【請求項13】
前記実行可能な命令は、さらに、1つ又はそれ以上の堅牢化された前記機械学習モデルについて、前記アドバーサリアル・アタックからのセキュリティのレベルを示すセキュリティ・スコアを判断することを含む、請求項8に記載のシステム。
【請求項14】
前記実行可能な命令は、さらに、
前記選択された数の学習器について1つ又はそれ以上のパラメータを学習すること、及び
1つ又はそれ以上の前記機械学習モデルを堅牢化する選択された
プリプロセッシング操作の前記複数の組み合わせのそれぞれを学習すること
を含む請求項8に記載のシステム。
【請求項15】
プロセッサによりコンピューティング環境内の機械学習モデルを安全化するためのコンピュータ・プログラムであって、コンピュータに対し、
1つ又はそれ以上の機械学習モデルから選択されたプリプロセッシング操作
の複数の組み合わせの1つ又はそれ以上、1つ又はそれ以上の前記機械学習モデルを堅牢化させるために使用するデータ・セット、複数のプリプロセッサのリスト、及び選択された数の学習器
を適用することにより、アドバーサリアル・アタックに対して安全化された1つ又はそれ以上の堅牢化された機械学習モデルを提供すること
を実行させる、コンピュータ・プログラム。
【請求項16】
さらに、1つ又はそれ以上の前記機械学習モデル、1つ又はそれ以上の前記機械学習モデルを堅牢化させるために使用される前記データ・セット、複数の前記プリプロセッサのリスト、及び前記学習器の選択された数を受領することを実行させる、請求項15に記載のコンピュータ・プログラム。
【請求項17】
さらに、
選択されたプリプロセッシング操作の前記複数の組み合わせのそれぞれのアドバーサリアル堅牢性の程度を学習し、
前記アドバーサリアル・アタックからのセキュリティのレベルを示す、堅牢化された1つ又はそれ以上の前記機械学習モデルのためのセキュリティ・スコアを決定する
ことを実行させる、請求項15に記載のコンピュータ・プログラム。
【請求項18】
さらに、
前記データ・セットから1つ又はそれ以上のデータ・インスタンスを受領し、
選択されたプリプロセッシング操作の前記複数の組み合わせの1つ又はそれ以上により、1つ又はそれ以上の変換を適用して1つ又はそれ以上の前記データ・インスタンスを変換する
ことを実行させる、請求項15に記載のコンピュータ・プログラム。
【請求項19】
さらに、1つ又はそれ以上の機械学習モデルにより使用される前に、選択されたプリプロセッシング操作の複数の組み合わせの1つ又はそれ以上を使用して入来データをプリプロセッシングすることを実行させる、請求項15に記載のコンピュータ・プログラム。
【請求項20】
さらに、
前記選択された数の学習器について1つ又はそれ以上のパラメータを学習し、
1つ又はそれ以上の前記機械学習モデルを堅牢化する選択された
プリプロセッシング操作の前記複数の組み合わせのそれぞれを学習する
ことを実行させる、請求項15に記載のコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概ねコンピューティング・システムに関し、より具体的には、コンピューティング・プロセッサを使用して、コンピューティング・システム内におけるアドバーサリアルに対し、機械学習モデルを堅牢化するため、学習入力をプリプロセッシングするための種々の実施形態に関する。
【背景技術】
【0002】
コンピューティング・システムは、ワークプレース内、家庭内、又は学校内で見出すことができる。情報技術の最近の進歩及びインターネットの益々の普及により、コンピュータ・システムの広い多様性が機械学習において使用されてきている。機械学習は、コンピュータが経験的なデータに基づいて挙動を進化させることを可能とするために利用される人工知能の1つの形態である。機械学習は、確率分布の下でそれらの未知ではあるが、関心のある特徴を捕捉するためのトレーニング・イグザンプルを利用することができる。トレーニング・データは、観測された変数の間の関係を示す実施例としてみなすことができる。機械学習の研究の主な焦点は、データに基づいて複雑なパターンを認識し、知的な決定を行うことを自動的に学習することにある。
【発明の概要】
【0003】
コンピュータ・システム内の1つ又はそれ以上のプロセッサにより、機械学習モデルをアドバーサリアルに対して堅牢化するための学習入力をプリプロセッシングする、種々の実施形態が提供される。1つの実施形態においては、実施例としてのみの目的として、再度、プロセッサにより、機械学習モデルをアドバーサリに対して堅牢化するため、学習入力をプリプロセッシングする方法が提供される。アドバーサリアル・システムに対して安全化された1つ又はそれ以上の堅牢な機械学習モデルは、1つ又はそれ以上の機械学習モデルから選択されたプリプロセッシング操作、1つ又はそれ以上の機械学習モデルを堅牢化するために使用されるデータ・セット、プリプロセッサのリスト及び選択された数の学習器の、複数の組み合わせの1つ又はそれ以上により提供される。
1つの特徴によれば、1つ又はそれ以上のプロセッサにより、コンピューティング環境における機械学習モデルを安全化するための方法が提供され:1つ又はそれ以上の機械学習モデルから選択されたプリプロセッシング操作、1つ又はそれ以上の機械学習モデルを堅牢化するために使用されるデータ・セット、プリプロセッサのリスト及び選択された数の学習器の、複数の組み合わせの1つ又はそれ以上を適用することにより、アドバーサリアル・アタックに対する安全化された1つ又はそれ以上の堅牢化した機械学習モデルを提供することを含む。
もう1つの特徴によれば、コンピューティング環境における機械学習モデルの安全化のためのシステムが提供され:実行された場合に、システムをして1つ又はそれ以上の機械学習モデルから選択されたプリプロセッシング操作、1つ又はそれ以上の機械学習モデルを堅牢化するために使用されるデータ・セット、プリプロセッサのリスト及び選択された数の学習器の、複数の組み合わせの1つ又はそれ以上を適用することにより、アドバーサリアル・アタックに対する安全化した1つ又はそれ以上の堅牢化した機械学習モデルを提供させる、1つ又はそれ以上の実行可能な命令を有するコンピュータを含む。
もう1つの特徴によれば、コンピュータ環境における機械学習をプロプロセッサにより安全化するための、コンピュータ・プログラム製品が提供され、コンピュータ・プログラム製品は、その内部にコンピュータ可読なプログラム・コードの部分を有する非過渡的なコンピュータ可読な記録媒体を含み、このコンピュータ可読なプログラム・コードの部分は:1つ又はそれ以上の機械学習モデルから選択されたプリプロセッシング操作、1つ又はそれ以上の機械学習モデルを堅牢化するために使用されるデータ・セット、プリプロセッサのリスト及び選択された数の学習器の、複数の組み合わせの1つ又はそれ以上を適用することにより、アドバーサリアル・アタックに対する安全化された1つ又はそれ以上の堅牢化された機械学習モデルを提供する実行可能な部分を含む。
【0004】
本発明の好ましい実施形態を、実施例の目的において図面を参照しながら説明する。
【図面の簡単な説明】
【0005】
【
図1】
図1は、本発明の実施形態による、例示的なクラウド・コンピューティング・ノードを示すブロック図である。
【
図2】
図2は、本発明の実施形態による、例示的なクラウド・コンピューティング環境を示す追加的なブロック図である。
【
図3】本発明の実施形態による、抽象モデルレイヤを示す追加的なブロック図である。
【
図4A】
図4Aは、本発明のもう1つの実施形態による、アドバーサリアル・システムに対する機械学習モデルを堅牢化するための学習入力のプリプロセッシングについての例示的な操作を示すブロック図である。
【
図4B】
図4Bは、本発明のもう1つの実施形態による、アドバーサリアル・システムに対する機械学習モデルを堅牢化するための学習入力のプリプロセッシングについての例示的な操作を示すブロック図である。
【
図4C】
図4Cは、本本発明のもう1つの実施形態による、アドバーサリアル・システムに対する機械学習モデルを堅牢化するための学習入力のプリプロセッシングについての例示的な操作を示すブロック図である。
【
図4D】
図4Dは、本発明のもう1つの実施形態による、アドバーサリアル・システムに対する機械学習モデルを堅牢化するための学習入力のプリプロセッシングについての例示的な操作を示すブロック図である。
【
図5】
図5は、本発明の実施形態を実現することができるプロセッサによる、コンピューティング環境内でアドバーサリ/アドバーサリアル・システムに対して機械学習モデルを堅牢化するための学習入力をプリプロセッシングすることの例示的な方法を示すフローチャート図である。
【
図6】
図6は、本発明の実施形態を実現することができるプロセッサによる、コンピューティング環境内でアドバーサリ/アドバーサリアル・システムに対して機械学習モデルを堅牢化するための学習入力をプリプロセッシングすることの例示的な方法を示すフローチャート図である。
【発明を実施するための形態】
【0006】
本発明は、概ね、例えば、機械学習又はディープ・ラーニング又はそれら両方といった人工機能(“AI”)の分野に関する。ディープ・ラーニングは、データ・セットの特徴又は表現の、多数のレベルの学習に基づく機械学習アルゴリズムのクラスである。今日のディープ・ラーニング方法は、特徴抽出及び変換のための非線形の処理ユニットの多数のレイヤのカスケード的な使用を含む。特徴抽出は、測定データの初期セットを受領すること、及び引き続く学習及び一般化ステップを容易にするため、導出された値(又は特徴)を構築することを参照する。多くのケースでは、より高いレベルの特徴がより低いレベルの特徴から導出されて、測定データ及び特徴の階層的表現を生成する。
【0007】
さらに、ディープ・ラーニング・アルゴリズムは、分散表現に基づく。分散表現は、観測された(又は測定された)データは、1つ又はそれ以上のレイヤへと組織化されるべき、1つ又はそれ以上の要素の相互作用の結果である、という仮定のもとに操作される。概念的には、ディープ・ラーニングは、相互作用して提供される測定データを提供する事実のレイヤが抽象化又は構成要素のレベルを代表するという、追加的な仮定を導入する。この仮定の下で、多数のレイヤ及びレイヤ・サイズが抽象化の異なる量に対応する。
【0008】
全体的に、ディープ・ラーニングは、例えば、画像、オーディオ、ビデオ、及びテキストといった非構造化データから決定及びビジネス価値を最適化することにおいて、主な有効性をもたらしてきた。しかしながら、ディープ・ラーニングは、データ・タイプ及びタスクの広い多様性において計算能力の増大をもたらすが、ディープ・ニューラル・ネットワーク(DNNs)には、いくつかの課題又は脆弱性又はセキュリティ上の問題又はこれらの組み合わせが存在する。例えば、DNNsは、アドバーサリアル・アタックを受けやすく、アドバーサリアルは、その入力に知覚不可能な変化を形成することにより、DNNの挙動を完全に変えてしまう。さらに、アドバーサリアル/アドバーサリアル・システム(例えば、アドバーサリアル・アタックを実装する可能性がある。)は、また、実世界にマウントされる可能性があり、AIの配置及び例えば特に生体認証、サイバー・セキュリティ、自動運転自動車、ロボットなどといったセキュリティが決定的な用途のディープ・ラーニングに対して、現実の脅威をもたらしている。したがって、実世界におけるセキュリティが決定的な用途、及びより広くはAIシステムの持続的な信頼性において、アドバーサリアル・サンプルから機械学習/ディープ・ラーニングを保護し、かつ安全化することは、AI及びDLの安全な配置を保証するための本質である。
【0009】
したがって、本明細書においては、コンピューティング・システムにおいて、アドバーサリアル/アドバーサリアル・システムに対して機械学習モデルを堅牢化する、学習入力のプリプロセッシングのための種々の実施形態が提供される。アドバーサリアル/アドバーサリアル・システム(例えば、アドバーサリアル・アタック)に対して安全化された1つ又はそれ以上の堅牢化された機械学習モデルは、1つ又はそれ以上の機械学習モデルから選択されたプリプロセッシング操作、1つ又はそれ以上の機械学習モデルを堅牢化させるためのデータ・セット、複数のプロプロセッサのリスト及び選択された数の学習器の、複数の組み合わせの1つ又はそれ以上を適用することにより提供される。1つの実施形態では、アドバーサリ/アドバーサリアル・システムは、MLシステムの一体性又は処理上の目的に対し脅威を与えるか又は混乱させるか、又は権限又は同意なしにMLシステムを意図的又は意図せず操作する、如何なるシステム、アプリケーション、処理、操作又は他のI/Oとすることができる。簡略化して述べると、アドバーサリアル/アドバーサリアル・システムは、機械学習システムによっては検出することができず、かつ意図的又は意図せずに、機械学習をして錯誤又はエラーを生じさせるものである。
【0010】
1つの実施形態においては、機械学習モデルを堅牢化させる操作は、機械学習モデルをして、トレーニング・データを増加するか、入力データをプリプロセッシングするか、及び機械学習のモデル・アーキテクチャ又はトレーニング・アルゴリズムを変更するか、又はこれらの組み合わせの何れかによって、アドバーサリアルな外乱に対してより堅牢化させることを含む。1つの実施形態においては、入力データのプリプロセッシングは、機械学習モデルを堅牢化するために所与の機械学習モデルに直接一体化させるために提供され、かつ最も迅速なアドバーサリアルに対する防御操作を提供する(例えば、トレーニング/推定の間に、オーバーヘッドが僅かであるか、又はまったくない)。1つの実施形態においては、入力データをプリプロセッシングすることは、例えば、アドバーサリアル・トレーニング又はランタイム検出といった他のアドバーサリアル防御操作と効果的に組み合わせることができる。したがって、本発明は、好ましくは、機械学習モデルのアドバーサリアル/アドバーサリアル・システム(例えばアドバーサリアル・アタック)に対する防御能力を増大させるために、最適な仕方でプリプロセッシング操作の組み合わせを提供する。したがって、本発明の好ましい実施形態は、全体的なアドバーサリアル堅牢性を達成するための、プリプロセッシング技術の最適な組み合わせを、システム的に、かつプログラム的に提供する。このやり方において、本発明は、好ましくはアドバーサリアルの脅威に対して機械学習モデルを堅牢化し、かつ特にセキュリティが脅威となる用途(例えば、健康管理、保険、財務など)において、安全な機械学習モデルを配置することを可能とする。
【0011】
追加的な実施形態において、機械学習モデルは、アドバーサリアル/アドバーサリアル・システムに対して堅牢化され、複数のCPU、複数のGPU、サーバ、プリプロセッサ、学習器及びニューラル・ネットワークを含む。本発明は、好ましくは、1つ又は複数の以下のステップを実行することができる。ステップ1)で、堅牢化されるべき1つ又はそれ以上のモデル、堅牢化(機械学習モデルを堅牢化すること)のために使用されるデータ・セット、プリプロセッサのリスト及び使用される学習器の数を全部、入力データとして受領することができ、ステップ2)で、1つ又はそれ以上のプリプロセッサが入力としてデータ・セットからの1つ又はそれ以上のインスタンスを受領し、1つ又はそれ以上の変換を適用してデータ・インスタンスを変換することができる。ステップ3)で、トレーニングされ、堅牢化された機械学習モデルを防御する1つ又はそれ以上の学習器が機械学習モデルの入力をプロプロセッシングすることができる。ステップ4)では、堅牢化された機械学習モデルを、プロプロセッサの学習した組み合わせに基づく出力として提供/生成することができる。ステップ5)では、機械学習モデルの堅牢化の性能を記述する脅威スコアが決定、計算、又は報告され、又はそれらの組み合わせを行うことができる。機械学習モデルの堅牢化は、また、サービスとしてのクラウド・ベースの環境において提供することができることについて留意されるべきである。
【0012】
また、1つ又はそれ以上の計算は、1つ又はそれ以上の数学的操作を含む種々の数学的操作又は関数(例えば、変化/計算操作の評価を実行すること、微分方程式又は部分的な微分方程式を解析的に又は計算機的に解くこと、加算、除算、乗算、標準偏差、中央値、平均化、パーセンテイジ、最大値、最小値又は組み合わされた変数についての同様の閾値を見出すことにより、統計分布を使用する統計的モデリングなど)を使用して実行することができる。
【0013】
一般的に、本明細書で使用される“最適化”は、“最大化”、“最小化”又は1つ又はそれ以上の特定のターゲット、目的物、ゴール、又は強度を参照すること、又は定義すること又はそれらの組み合わせとすることができる。最適化は、また、ユーザに対する利益を最大化することを参照することができる(例えば、機械学習モデルの利益を最大化する)。最適化は、また、状況、機会、又はリソースを最も効果的、又は機能的に使用させることを参照することができる。
【0014】
追加的に、“最適化”は、最良のソリューション又は結果を参照する必要はないが、例えば、特定の用途に対して“十分良い”ソリューション、又は結果を参照することができる。いくつかの実装においては、目的は、プリプロセッシング操作(“プリプロセッサ)”又は機械学習モデル又はそれら両方の“最良”の組み合わせを示唆することであるが、そこにはプリプロセッシング操作(“プリプロセッサ”)又は機械学習モデル又はそれら両方の組み合わせの、より良好な結果を得るような代替的な示唆を与えることができる種々の要因が存在する。本明細書において、用語“最適化”は、最小(又は、どのパラメータが最適化問題に考慮されるかに応じては最大)に基づく、そのような結果を参照することができる。追加的な実施形態では、用語“最適”又は、“最適化”又はそれらの両方は、最適な結果が実際に達成されたか否かによらず、実行コストの削減又はリソース利用の増加、といった改善された結果を得るために実行される操作を参照することができる。同様に、用語“最適化”は、そのような改善操作を実行するためのコンポーネントを参照することができ、かつ用語“最適化された”は、そのような改善操作の結果を記述するために使用することができる。
【0015】
本開示は、前もってクラウド・コンピューティングについての詳細を含むが、本明細書内で参照した教示は、クラウド・コンピューティング環境に限定されることはないことが理解されるべきである。むしろ、本開示の環境は、現在知られ、又は将来開発される他の如何なるタイプのコンピューティング環境との組み合わせにおいても実装することができる。
【0016】
クラウド・コンピューティングは、最小限の管理労力又はサービス提供者との交流をもって、迅速に提供及び開放構成可能なコンピューティング資源(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン及びサービス)の共用されるプールにアクセスするための利便性のある、オンデマンドのネットワークアクセスのためのサービス提供のモデルである。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービスモデル、及び少なくとも4つの配置モデルを含むことができる。
【0017】
特徴は以下のとおりである:
オンデマンド・セルフサービス:クラウドのコンシューマは、サーバ時間、及びネットワーク・ストレージといったコンピューティング能力を、サービスの提供者との人間的交流を必要とすることなく必要なだけ自動的に一方向的に提供される。
広範なネットワークアクセス:能力は、ネットワーク上で利用可能であり、かつ異なったシン又はシッククライアント・プラットフォーム(例えば、モバイルホン、ラップトップ及びPDA)による利用を促す標準的な機構を通してアクセスされる。
リソースの共用:提供者のコンピューティング資源は、マルチテナント・モデルを使用し、動的に割当てられる必要に応じて再割り当てられる異なった物理的及び仮想化資源と共に多数の消費者に提供するべく共用される。コンシューマは概ね提供される資源の正確な位置(例えば、国、州、又はデータセンタ)に関する制御又は知識を有さず、抽象化の高度の階層において位置を特定することができるというように、位置非依存の感覚が存在する。
迅速な弾力性:機能は、迅速かつ弾力的に、場合によっては自動的に供給され素早くスケールアウトし、迅速に解放して素早くスケールインすることが可能である。コンシューマにとっては、供給のために利用可能な機能は、多くの場合、制限がないように見え、いつでも任意の量で購入することができる
計測されるサービス:クラウド・システムは、サービスの種類(例えば、ストレージ、処理、帯域幅、及びアクティブ・ユーザ・アカウント)に適したいくつかの抽象化レベルで計量機能を活用することによって、リソースの使用を自動的に制御し、最適化する。リソース使用量を監視し、制御し、報告することで、使用されているサービスのプロバイダ及びコンシューマの両方に対して透明性を提供することができる。
【0018】
サービスモデルは、以下のとおりである:
ソフトウェア・アズ・ア・サービス(SaaS):コンシューマに提供される機能は、クラウド・インフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションは、ウェブ・ブラウザ(例えば、ウェブベースの電子メール)のようなシン・クライアント・インターフェースを通じて、種々のクライアント・デバイスからアクセス可能である。コンシューマは、限定されたユーザ固有のアプリケーション構成設定を除いて、ネットワーク、サーバ、オペレーティング・システム、ストレージ、又は個々のアプリケーションの機能も含む、基盤となるクラウド・インフラストラクチャを管理又は制御することはない。
プラットフォーム・アズ・ア・サービス(PaaS):コンシューマに提供される能力は、プロバイダがサポートするプログラミング言語及びツールを用いて作成された、コンシューマが作成又は獲得したアプリケーションを、クラウド・インフラストラクチャ上に配置することである。コンシューマは、ネットワーク、サーバ、オペレーティング・システム、又はストレージを含む、基盤となるクラウド・インフラストラクチャを管理又は制御することはないが、配置されたアプリケーションを制御し、可能であればアプリケーション・ホスティング環境の構成を制御する。
インフラストラクチャ・アズ・ア・サービス(IaaS):コンシューマに提供される機能は、処理、ストレージ、ネットワーク、及びその他の基本的なコンピューティング・リソースの提供であり、コンシューマは、オペレーティング・システム及びアプリケーションを含むことができる任意のソフトウェアを配置し、実行させることが可能である。コンシューマは、基盤となるクラウド・インフラストラクチャを管理又は制御することはないが、オペレーティング・システム、ストレージ、配置されたアプリケーションの制御を有し、可能であれば選択ネットワーキング・コンポーネント(例えば、ホストのファイアウォール)の限定的な制御を有する。
【0019】
配置モデルは、以下の通りである:
プライベート・クラウド:クラウド・インフラストラクチャは、1つの組織のためだけに動作する。これは、その組織又は第三者によって管理することができオン・プレミス又はオフ・プレミスで存在することができる。
コミュニティ・クラウド:クラウド・インフラストラクチャは、いくつかの組織によって共有され、共通の利害関係(例えば、任務、セキュリティ要件、ポリシー、及びコンプライアンスの考慮事項)を有する特定のコミュニティをサポートする。これは、それらの組織又は第三者によって管理することができ、オン・プレミス又はオフ・プレミスに存在することができる。
パブリック・クラウド:クラウド・インフラストラクチャは、公衆又は大きな産業グループが利用可能できるようにされており、クラウド・サービスを販売する組織によって所有される。
ハイブリッド・クラウド:クラウド・インフラストラクチャは、2つ又はそれより多いクラウド(プライベート、コミュニティ、又はパブリック)を組み合わせたものであり、これらのクラウドは、固有のエンティティのままであるが、データ及びアプリケーションのポータビリティを可能にする標準化技術又は専有技術によって互いに結合される(例えば、クラウド間の負荷バランスのためのクラウド・バースティング)。
【0020】
クラウド・コンピューティング環境は、無国籍性、粗結合性、モジュール性、及び意味的相互運用性に焦点を合わせたサービス指向のものである。クラウド・コンピューティングの心臓部において、相互接続された複数のノードを含むものがインフラストラクチャである。
【0021】
図1を参照すると、例示的なクラウド・コンピューティング・ノードの概略が示される。クラウド・コンピューティング・ノード10は、好適なクラウド・コンピューティング・ノードの1つの実施例を示すだけのものであり、本明細書に記載する本発明の実施形態の使用又は機能の範囲を如何なるようにも限定するものではない。上記に関わらず、クラウド・コンピューティング・ノード10は、本明細書で上記した如何なる機能を実装することができ、又は実行することができ、又はそれら両方ができる。
【0022】
クラウド・コンピューティング・ノード10には、コンピュータ・サーバ12が存在し、これは数多くの他の汎用目的又は特定目的のコンピューティング・システムの環境又は構成と共に操作可能である。コンピュータ・システム/サーバ12と共に使用することに好適な周知のコンピューティング・システム、環境又は構成又はそれらの組み合わせは、これらに限定されることは無く、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルド又はラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサ・ベースのシステム、セットトップ・ボックス、プログラム可能なコンシューマ電子機器、ネットワークPC(複数)、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、及び上述のシステム又はデバイスなどのいずれをも含む、分散クラウド・コンピューティング環境を含む。
【0023】
コンピュータ・システム/サーバ12は、コンピュータ・システムにより実行されるプログラム・モジュールといったコンピュータ・システムが実行可能な命令の一般的なコンテキストにおいて記述することができる。一般には、プログラム・モジュールは、特定のタスクを遂行するか又は特定の抽象データ・タイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含むことができる。コンピュータ・システム/サーバ12は、タスクが通信ネットワークを通してリンクされたリモート処理システム・デバイスにより遂行される、分散クラウド・コンピューティング環境において実装することができる。分散クラウド・コンピューティング環境においては、プログラム・モジュールは、メモリ・ストレージデバイスを含む、ローカル又はリモート・コンピュータ・システムの記録媒体の両方に配置することができる。
【0024】
図1に示すように、クラウド・コンピューティング・ノード10のコンピュータ・システム/サーバ12は、汎用目的のコンピューティング・デバイスの形式で示されている。コンピュータ・システム/サーバ12のコンポーネントは、限定されることは無く、1つ又はそれ以上のプロセッサ又はプロセッシング・ユニット16と、システム・メモリ28と、システム・メモリ28を含む種々のシステム・コンポーネントをプロセッサ16に結合するバス18とを含む。
【0025】
バス18は、メモリ・バス又はメモリ・コントローラ、ペリフェラル・バス、グラフィックス・アクセラレータ・ポート、及びプロセッサ又は種々のバス・アーキテクチャの如何なるものを使用するローカル・バスを含む、1つ又はそれ以上のバス構造のいくつかのタイプの如何なるものも表す。例示の目的で、限定的でなく、そのようなアーキテクチャは、インダストリー・スタンダード・アーキテクチャ(ISA)バス、マイクロ-チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ・エレクトロニクス・スタンダード・アソシエーション(VESA)ローカル・バス、及びペリフェラル・インタコネクト(PCI)バスを含む。
【0026】
コンピュータ・システム/サーバ12は、典型的には、種々のコンピュータ可読な媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によりアクセス可能な利用可能な如何なる媒体とすることができ、揮発性及び不揮発性の媒体、取り外し可能及び取り外し不可能な媒体を含む。
【0027】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM)30といった揮発性メモリ又はキャッシュ・メモリ32又はそれら両方といったコンピュータ可読な媒体を含むことができる。コンピュータ・サーバ12は、さらに、他の取り外し可能/取り外し不可能、揮発性/不揮発性のコンピュータシステム・ストレージ媒体を含むことができる。例示の目的のみで、ストレージ・システム34は、取り外し不可能で、不揮発性の磁性媒体(示しておらず、かつ典型的には“ハードドライブ”と呼ばれる。)との間で読み込み及び書き込みのために提供することができる。示していないが、取り外し可能な不揮発性の磁気ディスク・ドライブ(例えば、“フロッピー・ディスク(登録商標)”)及びCD-ROM、DVD-ROM又は他の光学的媒体といった取り外し可能で不揮発性の光学ディスクとの間で読み込み及び書き込みが可能な光学ディスク・ドライブを提供することができる。そのような例においては、それぞれは、1つ又はそれ以上の媒体インタフェースによりバス18へと接続することができる。さらに図示し、かつ以下に説明するように、メモリ28は、本発明の実施形態の機能を遂行するように構成されたプログラム・モジュールのセット(少なくとも1つ)を有する少なくとも1つのプログラム製品を含むことができる。
【0028】
プログラム/ユーティリティ40は、プログラム・モジュール42のセット(少なくとも1つ)を有しており、実施例の目的で、非限定的に、オペレーティング・システムに加え、1つ又はそれ以上のアプリケーション・プログラム、他のプログラム・モジュール及びプログラム・データを、メモリ28内に格納することができる。オペレーティング・システム、1つ又はそれ以上のアプリケーション・プログラム、他のプログラム・モジュール及びプログラム・データ又はそれらのいくつかの組み合わせのそれぞれは、ネットワーク環境の実装を含むことができる。プログラム・モジュール42は、一般には、本明細書で説明したように本発明の実施形態の機能又は方法論又はそれら両方を遂行する。
【0029】
コンピュータ・システム/サーバ12は、また、キーボード、ポインティング・デバイス、ディスプレイ24など、1つ又はそれ以上の外部デバイス14と通信することができる;1つ又はそれ以上のデバイスは、ユーザを、コンピュータ・システム/サーバ12又はコンピュータ・システム/サーバ12を1つ又はそれ以上のコンピューティング・デバイスと通信を可能とする如何なるデバイス(例えばネットワーク・カード、モデムなど)、又はそれら両方に相互作用させることが可能である。そのような通信は、入力/出力(I/O)インタフェース22を介して発生することができる。さらに、コンピュータ・サーバ12は、ローカル・エリア・ネットワーク(LAN)、汎用ワイド・エリア・ネットワーク(WAN)、又は公衆ネットワーク(インターネット)又はそれらの組み合わせといった、1つ又はそれ以上のネットワークとネットワーク・アダプタ20を介して通信可能である。図示するように、ネットワーク・アダプタ20は、コンピュータ・システム/サーバ12の他のコンポーネントとバス18を介して通信する。図示しないが、他のハードウェア又はソフトウェア又はそれら両方のコンポーネントは、コンピュータ・システム/サーバ12との組み合わせで使用することができるであろうことは理解されるべきである。実施例は、限定することではないが、マイクロ・コード、デバイス・ドライバ、冗長処理ユニット、及び外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、及びデータ・アーカイブ・ストレージ・システムなどを含む。
【0030】
図2は、例示的なクラウド・コンピューティング環境50を示す。図示するように、クラウド・コンピューティング環境50は、1つ又はそれ以上のクラウド・コンピューティング・ノード10を含み、それらと共にクラウド・コンシューマにより使用される例えばパーソナル・デジタル・アシスタント(PDA)又はセルラ電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、又は自動車コンピュータ・システム54N又はこれらの組合せといったローカル・コンピューティング・デバイスが通信する。ノード10は、互いに通信することができる。これらは、上述したプライベート、コミュニティ、パブリック、又はハイブリッド・クラウド、又はそれらの組合せといった、1つ又はそれ以上のネットワーク内で、物理的又は仮想的にグループ化することができる(不図示)。これは、クラウド・コンピューティング環境50が、クラウド・コンシューマがローカルなコンピューティング・デバイス上のリソースを維持する必要を無くするための、インフラストラクチャ、プラットホーム、又はソフトウェア・アズ・ア・サービスを提供することを可能とする。
図2に示すコンピューティング・デバイス54A-Nのタイプは、例示を意図するためのみのものであり、コンピューティング・ノード10及びクラウド・コンピューティング環境50は、任意のタイプのネットワーク又はアドレス可能なネットワーク接続(例えばウェブ・ブラウザ)、又はそれらの両方を通じて、いかなるタイプのコンピュータ化デバイスとも通信することができることが理解される。
【0031】
ここで、
図3を参照すると、クラウド・コンピューティング環境50(
図2)により提供される機能的抽象レイヤのセットが示される。予め、
図3に示したコンポーネント、レイヤ、及び機能は、例示することのみを意図したものであり、本発明の実施形態は、これらに限定されることは無いことは理解されるべきである。図示したように、後述するレイヤ及び対応する機能が提供される。
【0032】
デバイス・レイヤ55は、クラウド・コンピューティング環境50内において埋め込まれるか又はスタンドアローンのエレクトロニクス、センサ、アクチュエータ、及び他の物体の物理的又は仮想的又はそれら両方のデバイスを含む。デバイス・レイヤ55内のデバイスはそれぞれ、他の機能的抽象レイヤへのネットワーク能力を含んでいて、デバイスにより得られた情報は、それらへと提供することができ、若しくは、他の抽象レイヤからの情報が、デバイスへと提供することができるか、それら両方ができる。1つの実施形態においては、デバイス・レイヤ55に含まれる種々のデバイスは、“インターネット・トウ・シング”(IoT)として総じて知られる、ネットワーク・エンティティを含むことができる。そのようなエンティティのネットワークは、データの相互通信、収集、及び配布を可能として、当業者が認識できるであろうように、膨大な種類の目的を達成する。
【0033】
示されたデバイス・レイヤ55は、示されるように、センサ52、アクチュエータ53、一体化された処理、センサ及びネットワーク・エレクトロニクスを有する“学習する”サーモスタット56、ネットワーク・エレクトロニクス、カメラ57、制御可能な家庭の出/入力コンセント58、及び制御可能な電気的スイッチ59を含む。他の可能なデバイスは、これらに限定されることはなく、種々の追加的なセンサ・デバイス、ネットワーク・デバイス、エレクトロニクス・デバイス(リモート・コントロール・デバイスといった)、いわゆる“スマート”機器といった冷蔵庫、又は洗濯機/乾燥機、及び幅広く多様な他の可能な相互接続できる物体といった追加的なアクチュエータ・デバイスを含むことができる。
【0034】
ハードウェア及びソフトウェアレイヤ60は、ハードウェア及びソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61;RISC(縮小命令セットコンピュータ)アーキテクチャに基づく複数のサーバ62;複数のサーバ63;複数のブレード・サーバ64;複数のストレージ・デバイス65;及びネットワーク及びネットワーキング・コンポーネント66を含むことができる。いくつかの実施形態ではソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67及びデータベース・ソフトウェア68を含む。
【0035】
可視化レイヤ70は、それから後述する仮想エンティティの実施例が提供される抽象レイヤ;仮想サーバ71;仮想ストレージ72;仮想プライベート・ネットワークを含む仮想ネットワーク73;仮想アプリケーション及びオペレーティング・システム74;及び仮想クライアント75を提供する。
【0036】
1つの実施例では、マネージメント・レイヤ80は、下記の機能を提供することができる。リソース提供部81は、コンピューティング資源及びクラウド・コンピューティング環境内でタスクを遂行するために用いられる他の資源の動的獲得を提供する。計測及び価格設定部82は、クラウド・コンピューティング環境内で資源が使用されるとコストの追跡を提供すると共に、これらの資源の消費に対する課金又は請求を提供する。1つの実施例では、これら資源としてはアプリケーション・ソフトウェア・ライセンスを含むことができる。セキュリティ部は、クラウト・コンシューマ及びタスクの同定及び認証と共にデータ及び他の資源の保護を提供する。ユーザ・ポータル部83は、コンシューマに対するクラウド・コンピューティング環境及びシステム・アドミニストレータへのアクセス性を提供する。サービスレベル・マネージメント部84は、クラウド・コンピューティング資源の割り当て及び管理を提供し、必要なサービス・レベルに適合させる。サービス・レベル・アグリーメント(SLA)プランニング・フルフィルメント部85は、SLAにしたがって将来的な要求が要求されるクラウド・コンピューティング資源の事前準備を行うと共にその獲得を行う。
【0037】
ワークロード・レイヤ90は、クラウド・コンピューティング環境を利用するための機能の例示を提供する。このレイヤによって提供されるワークロード及び機能の例としては、マッピング及びナビゲーション91;ソフトウェア開発及びライフタイム・マネージメント92;仮想教室教育伝達93;データ分析処理94;トランザクション・プロセッシング95;及びクラウド・コンピューティング環境において、アドバーサリ/アドバーサリアル・システムに対して機械学習モデルを堅牢化するための学習入力プロプロセッシングのための種々のワークロード及び機能96を含むことができる。加えて、ラウド・コンピューティング環境において、アドバーサリ/アドバーサリアル・システムに対して機械学習モデルを堅牢化するための学習入力プロプロセッシングのための種々のワークロード及び機能96は、分析、ディープ・ラーニングといった操作を含むことができ、さらに説明されるであろうユーザ及びデバイス管理機能を含むことができる。当業者は、ラウド・コンピューティング環境において、アドバーサリ/アドバーサリアル・システムに対して機械学習モデルを堅牢化するための学習入力プロプロセッシングのための種々のワークロード及び機能96は、また、ハードウェア及びソフトウェア60、可視化70、マネージメント80、及び他のワークロード90(例えば、データ分析処理94)種々の抽象レイヤの他の部分との組み合わせで動作することができ、本発明の例示的な実施形態の種々の目的を達成する。
【0038】
先に述べたように、本発明は、好ましい実施形態により、コンピューティング・システム内におけるアドバーサリアル/アドバーサリアル・システムに対して安全化され、堅牢化された機械学習モデルを提供するための新奇なソリューションを提供する。アドバーサリアルの脅威に対して安全化され、堅牢化された1つ又はそれ以上の機械学習モデルは、1つ又はそれ以上の機械学習モデルから選択されたプリプロセッシング操作、1つ又はそれ以上の機械学習モデルを堅牢化させるために使用されるデータ・セット、プリプロセッサのリスト及び学習器の選択された数から選択される複数の組み合わせの1つ又はそれ以上を適用することにより提供される。
【0039】
1つの実施形態においては、データ・セットは、入力データとして受領される。堅牢化することが必要な機械学習モデルを識別することができる。それぞれの事前に定義された変換器/プロプロセッサは、データ・インスタンスの形状を変えることなくデータ・セットのデータ・インスタンスをプリプロセッシングすることができる。データ・セットの変換されたデータ・インスタンスは、その後、機械学習モデルを使用して分類することができ、堅牢化する必要がある機械学習モデルを使用して分類されるべき変換されたデータ・インスタンスを形成するために使用する、事前定義された変換器/プリプロセッサの最適な組み合わせを学習することによって、アドバーサリ/アドバーサリ・システム(例えば、アドバーサリ・アタック)に対して堅牢化される。
【0040】
例えば、画像分類器(例えば機械学習モデル)が容易に攻撃されやすい画像データ・セットでトレーニングされたものと仮定すると(その入力画像への外乱により)、それがために、最適で、プリプロセッシング操作の学習されたセットが、機械学習モデルを堅牢化するために使用される。それぞれのプリプロセッサ(例えば、プリプロセシング操作)は、入力として画像(例えば、外乱を受けた可能性のある画像)を取得し、かつもう1つの画像を生成(例えば、部分的にクリーンにされた画像とすることができる)する機能とすることができる。入力画像が画像分類器により分類されようとする場合(例えば、機械学習モデル)、入力画像は、分類される前に、プリプロセッシング操作の学習された最適なセットにおいて1つ又はそれ以上の変換器によりプリプロセッシングされるべきである。したがって、プリプロセッシング操作の学習された最適なセットの1つ又はそれ以上の変換器は、機械学習モデルによる分類のための新たな画像を提供する。
【0041】
追加的な実施形態においては、入力データを受信することができる。入力データは、堅牢化されるべき、トレーニングデータ・セット、それぞれがインスタンスの形状を変えることなくデータ・セットの入力インスタンスを変換するプリプロセッサのセット、又は1つ又はそれ以上の学習器又はそれらの組み合わせを示すユーザ仕様を含むことができる。堅牢化操作(例えば、アドバーサリアル/アドバーサリアル・システムに対する)は、入力プリプロセッサのセットで入力データをプリプロセッシングする。トレーニング期間の間、1つ又はそれ以上のパラメータW1j及びネットワーク・パラメータ(例えばファイバ・チャネル“FC”レイヤ)が、すべての学習器をトレーニングするために使用することができる。テストのための時間的ポイントにおいて、全部の学習器の出力は、機械学習モデルを堅牢化するために結合される。
【0042】
ここで、転じて、
図4A~4Dは、本発明のいくつかの実施形態による、アドバーサリアル/アドバーサリアル・アタックに対して機械学習モデルを堅牢化する学習入力のプロプロセッシングのための例示的な操作についての、本発明のいくつかの実施形態による堅牢化された機械学習モデルシステム400を示す、機能的なブロック図である。1つの実施形態においては、
図1~3に記載された1つ又はそれ以上のコンポーネント、モジュール、サービス、アプリケーション、又は機能又はそれら両方を
図4において使用することができる。図示されるように、堅牢化された機械学習モデルシステム400は、堅牢化された画像分類器404(例えば、機械学習モデル)を含み、これはクラウド・コンピューティング・ノード10の内部又は外部又はこれらの両方、又は
図1のコンピューティング・システム12又はこれらの組み合わせとすることができる。
【0043】
堅牢化された画像分類器404は、例えばプリプロセッサ1~Nといった1つ又はそれ以上のプリプロセッサ、1つ又はそれ以上の学習器(例えば学習器1~m)、画像分類器420、又は1つ又はそれ以上のニューラル・ネットワーク430を含む。画像分類器420は、例えば畳み込みニューラル・ネットワーク(“CNN”)といった1つ又はそれ以上の機械学習モデルを含むことができる。1つ又はそれ以上のニューラル・ネットワーク430は、1つ又はそれ以上のFCレイヤ及びロジット1~Mといったロジットを含むことができる。
【0044】
一般には、堅牢化されるべき機械学習モデルは、例えばCNN、オート-エンコーダ、サポート・ベクトル・マシン(“SVM”)、リニア・リグレッションなどといった、機械学習モデルの如何なるタイプとでもすることができる。データ・セットは、例えば、画像、テキストなどといった非構造化データ、又はベクトル、アレイなどの構造化データを含むことができる。例えばプリプロセッサ1~Nといったプリプロセッサは、例えば、データ・セットの画像(“I”)410といったインスタンスに対して1つ又はそれ以上の変換を適用することができる。1つの実施形態では、この変換は、1つ又はそれ以上の数学的関数、信号処理関数、機械学習モデルなどを含むことができる。例えば、学習器1~mといった学習器は、例えば反復的にそれらの性能をブースティングさせる(例えば勾配ブースティング)ことでトレーニングされることができ、かつモデルの入力を処理することによって、ランタイムに機械学習モデル(例えば、CNN)を防御することができる。
【0045】
したがって、アドバーサリアル・アタックに対して機械学習モデルを堅牢化する学習入力のプリプロセッシングのための
図4A~4Dに記載された、下記操作415,425及び435を考慮する。図示されるように、
図4A~4Bの両方において、ステップ1)は、例えば画像(“I”)410といった入力データをプリプロセッシングする。すなわち、例えば画像410といったデータ・セットのデータ・インスタンスを、入力として受領することができる。プリプロセッシング機能を使用して、画像は、例えばプリプロセッサ1~Nといったプリプロセッサのセットへと提供されて(例えば、通過して渡される)、画像410がクリーンにされる。例えばプリプロセッサ1~Mといったプリプロセッサは、それぞれ、例えば画像I
1,I
2,及びI
nといったプリプロセッシングされた画像のセットを出力/提供する。
【0046】
ステップ2)は、
図4A及び
図4Cに示されるように、1つ又はそれ以上の学習器(例えば、学習器1,2,3及びM)がトレーニングされる。学習器の数は、学習されたデータ・プリプロセッサの精度の度合いを決定する。学習器がより多数になれば、最適な、又は向上された/高い精度を示すが、また学習プロセスのためのより大きな計算機リソースを示す。
【0047】
例えば、画像(例えば、ステップ1のプリプロセッシングされた画像のセット)、例えば11,I2,及びInを入力として使用すると、学習機能は、以下のように1つ又はそれ以上の学習器についてパラメータのトレーニングを実行することができる。まず、xパラメータW1j及びI1′及びロジット1を有する学習器1についてのニューラル・ネットワーク(NN)パラメータは式1で示されるとおりである:
【0048】
【0049】
次に、トレーニング・パラメータW2j及びI2′及びロジット2を有する学習器2についてのニューラル・ネットワーク(NN)パラメータは式2に記載されるとおりである:
【0050】
【0051】
第3に、トレーニング・パラメータW3j及びI3′及びロジット3を有する学習器3についてのニューラル・ネットワーク(NN)パラメータは式3に記載されるとおりである:
【0052】
【0053】
このパターンは、例えば画像I1,I2及びInといったプリプロセッシングされた画像のセットを完了し、最後の学習器が完了するまで、繰り返される。結果的に、例えば学習器1~Mといったトレーニングされた学習器が得られる。
【0054】
ステップ3)では、
図4Dに示されるように、1つ又はそれ以上の機械学習モデルが堅牢化される。分類されるべき画像410は、入力として使用することができる。堅牢化機能は、プリプロセッサ及び1つ又はそれ以上の機械学習モデルを堅牢化し、画像を分類するように、ステップ2でトレーニングされた学習器を使用する。したがって、1つ又はそれ以上の機械学習モデルは、推定されたラベル440を出力として提供する。ラベルを予測するためのロジットは、例えばロジット1~ロジットMまでの如何なる学習器でも取得することができる。
【0055】
また、
図4Cに示されるように、判断操作は、分類された画像のどのデータが失われたかを、ブロック450で識別/判断するために実行することができる。また、真のラベル460は、ブロック450で適用され、かつ使用される。
【0056】
ここで転じて
図5は、プロセッサを使用してアドバーサリアルに対して機械学習モデルを堅牢化する学習入力のプリプロセッシングのための方法500を記載しており、ここでは、種々の図示される実施例を実装することができる。機能500は、機械上で命令として実行される方法として実装することができ、ここで、命令は、少なくとも1つのコンピュータ可読な媒体上、又は非過渡的な機械可読な記録媒体上に含まれる。機能500は、ブロック502で開始することができる。
【0057】
1つ又はそれ以上の、堅牢化されるべきモデル、堅牢化のために使用されるデータ・セット、複数のプリプロセッサのリスト、及び使用される学習器の数は、ブロック504で受領することができる。1つ又はそれ以上のデータ・インスタンスを、1つ又はそれ以上のプリプロセッサにより入力としてデータ・セットから受領することができ、データ・インスタンスは、1つ又はそれ以上の変換を適用することにより変換され、変換されたデータ・インスタンスは、ブロック506のように出力として提供することができる。モデル入力をプリプロセッシングすることにより堅牢化されたモデル(例えば、堅牢化された機械学習モデル)を防御する1つ又はそれ以上の学習器は、ブロック508のようにトレーニングすることができる。1つ又はそれ以上の堅牢化されたモデルは、ブロック510のように学習されたプリプロセッサの組み合わせに基づいて提供される。機能500は、ブロック512のように終了する。
【0058】
転じて
図6には、プロセッサを使用してアドバーサリアルに対して機械学習モデルを堅牢化させる学習入力のプリプロセッシングのための方法600が示されており、ここでは種々の例示的な実施形態を実装することができる。機能600は、機械上の命令として実行される方法として実装することができ、ここで、命令は、少なくとも1つのコンピュータ可読な媒体上、又は非過渡的な機械可読な記録媒体上に含まれる。機能600は、ブロック602で開始する。
【0059】
アドバーサリアル・アタックに対して安全化され、堅牢化された1つ又はそれ以上の機械学習モデルは、ブロック604のように、1つ又はそれ以上の機械学習モデルから選択されたプリプロセッシング操作、1つ又はそれ以上の機械学習モデルを堅牢化させるために使用されるデータ・セット、複数のプリプロセッサのリスト、及び選択された数の学習器の複数の組み合わせの1つ又はそれ以上を適用することにより提供される。機能600は、ブロック606で終了することができる。
【0060】
1つの実施形態においては、
図5及び
図6の少なくとも1つのブロックを組み合わせるか又は部分として、又はそれらの両方において、操作500又は600又はそれら両方は以下のものそれぞれを含むことができる。操作500又は600又はそれら両方が1つ又はそれ以上の機械学習モデル、1つ又はそれ以上の機械学習モデルを堅牢化させるために使用されるデータ・セット、複数のプリプロセッサのリスト、及び学習器の選択された数を受領することができる。操作500又は600又はそれら両方が選択されたプリプロセッシング操作の複数の組み合わせのそれぞれのアドバーサリアル堅牢性の程度を学習することができる。
【0061】
操作500又は600又はそれら両方は、データ・セットから1つ又はそれ以上のデータ・インスタンスを受領することができるか、若しくは選択されたプリプロセッシング操作の複数の組み合わせの1つ又はそれ以上による1つ又はそれ以上の変換操作を適用することにより、1つ又はそれ以上のデータ・インスタンスを変換するか、又はそれらの両方を適用する。
【0062】
操作500又は600又はそれら両方は、1つ又はそれ以上の機械学習モデルによって使用される前に選択されたプリプロセッシング操作の1つ又はそれ以上の複数の組み合わせを使用して入来データをプロプロセッシングすることができる。操作500又は600又はそれら両方は、アドバーサリアル・アタックからのセキュリティのレベルを示す、1つ又はそれ以上の堅牢化された機械学習モデルに対するセキュリティ・スコアを決定することができる。
【0063】
操作500又は600又はそれら両方は、選択された数の学習器のそれぞれについて1つ又はそれ以上のパラメータを学習することができるか、若しくは1つ又はそれ以上の機械学習モデルを堅牢化する選択されたプリプロセッシング操作の複数の組み合わせのそれぞれを学習することができる。
【0064】
本発明は、システム、方法、又はコンピュータ・プログラム製品又はこれらの組み合わせとすることができる。コンピュータ・プログラム製品は、プロセッサに対して本発明の特徴を遂行させるためのコンピュータ可読なプログラム命令をそれ上に有するコンピュータ可読な記録媒体(又は複数の媒体)を含むことができる。
【0065】
コンピュータ可読な記録媒体は、命令実行デバイスが使用するための複数の命令を保持し格納することができる有形のデバイスとすることができる、コンピュータ可読な媒体は、例えば、これらに限定されないが、電気的記録デバイス、磁気的記録デバイス、光学的記録デバイス、電気磁気的記録デバイス、半導体記録デバイス又はこれらのいかなる好ましい組み合わせとすることができる。コンピュータ可読な記録媒体のより具体的な実施例は、次のポータブル・コンピュータ・ディスク、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去可能なプログラマブル・リード・オンリー・メモリ(EPROM又はフラッシュ・メモリ(登録商標))、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・イオンリー・メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、メモリ・スティック、フロッピー・ディスク(登録商標)、パンチ・カード又は命令を記録した溝内に突出する構造を有する機械的にエンコードされたデバイス、及びこれらの好ましい如何なる組合せを含む。本明細書で使用するように、コンピュータ可読な記録媒体は、ラジオ波又は他の自由に伝搬する電磁波、導波路又は他の通信媒体(例えば、光ファイバ・ケーブルを通過する光パルス)といった電磁波、又はワイヤを通して通信される電気信号といったそれ自体が一時的な信号として解釈されることはない。
【0066】
本明細書において説明されるコンピュータ・プログラム命令は、コンピュータ可読な記録媒体からそれぞれのコンピューティング/プロセッシング・デバイスにダウンロードでき、又は例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク又はワイヤレス・ネットワーク及びそれからの組み合わせといったネットワークを介して外部コンピュータ又は外部記録デバイスにダウンロードすることができる。ネットワークは、銅通信ケーブル、光通信ファイバ、ワイヤレス通信ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ及びエッジ・サーバ又はこれらの組み合わせを含むことができる。それぞれのコンピューティング/プロセッシング・デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インタフェースは、ネットワークからコンピュータ可読なプログラム命令を受領し、このコンピュータ可読なプログラム命令を格納するためにそれぞれのコンピューティング/プロセッシング・デバイス内のコンピュータ可読な記録媒体内に転送する。
【0067】
本発明の操作を遂行するためのコンピュータ可読なプログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械語命令、マシン依存命令、マイクロ・コード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は1つ又はそれ以上の、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、“C”プログラミング言語又は類似のプログラム言語といった手続き型プログラミング言語を含むプログラミング言語のいかなる組合せにおいて記述されたソース・コード又はオブジェクト・コードのいずれかとすることができる。コンピュータ可読なプログラム命令は、全体がユーザ・コンピュータ上で、部分的にユーザ・コンピュータ上でスタンドアローン・ソフトウェア・パッケージとして、部分的にユーザ・コンピュータ上で、かつ部分的にリモート・コンピュータ上で、又は全体がリモート・コンピュータ又はサーバ上で実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)を含むいかなるタイプのネットワークを通してユーザ・コンピュータに接続することができ、又は接続は、外部コンピュータ(例えばインターネット・サービス・プロバイダを通じて)へと行うことができる。いくつかの実施形態では、例えばプログラマブル論理回路、フィールド・プログラマブル・ゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電気回路がコンピュータ可読なプログラム命令を、コンピュータ可読なプログラム命令の状態情報を使用して、本発明の特徴を実行するために電気回路をパーソナライズして実行することができる。
【0068】
本明細書で説明した本発明の実施形態を、本発明の実施形態にしたがい、フローチャート命令及び方法のブロック図、又はそれらの両方、装置(システム)、及びコンピュータ可読な記録媒体及びコンピュータ・プログラムを参照して説明した。フローチャートの図示及びブロック図又はそれら両方及びフローチャートの図示におけるブロック及びブロック図、又はそれらの両方のいかなる組合せでもコンピュータ可読なプログラム命令により実装することができることを理解されたい。
【0069】
これらのコンピュータ可読なプログラム命令は、コンピュータのプロセッサ又は機械を生成するための他のプログラマブル・データ・プロセッシング装置に提供することができ、命令がコンピュータのプロセッサ又は他のプログラマブル・データ・プロセッシング装置により実行されて、フローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作を実装するための手段を生成する。これらのコンピュータ可読なプログラム命令は、またコンピュータ、プログラマブル・データ・プロセッシング装置及び他の装置又はこれらの組み合わせが特定の仕方で機能するように指令するコンピュータ可読な記録媒体に格納することができ、その内に命令を格納したコンピュータ可読な記録媒体は、フローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作の特徴を実装する命令を含む製造品を構成する。
【0070】
コンピュータ可読なプログラム命令は、またコンピュータ、他のプログラマブル・データ・プロセッシング装置、又は他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、又は他のデバイス上で操作ステップのシリーズに対してコンピュータ実装プロセスを生じさせることで、コンピュータ、他のプログラマブル装置又は他のデバイス上でフローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作を実装させる。
【0071】
図のフローチャート及びブロック図は、本発明の種々の実施形態にしたがったシステム、方法及びコンピュータ・プログラムのアーキテクチャ、機能、及び可能な実装操作を示す。この観点において、フローチャート又はブロック図は、モジュール、セグメント又は命令の部分を表すことかでき、これらは、特定の論理的機能(又は複数の機能)を実装するための1つ又はそれ以上の実行可能な命令を含む。いくつかの代替的な実装においては、ブロックにおいて記述された機能は、図示した以外で実行することができる。例えば、連続して示された2つのブロックは、含まれる機能に応じて、実際上1つのステップとして遂行され、同時的、実質的に同時的に、部分的又は完全に一時的に重ね合わされた仕方で実行することができ、又は複数のブロックは、時として逆の順番で実行することができる。またブロック図及びフローチャートの図示、又はこれらの両方及びブロック図中のブロック及びフローチャートの図示又はこれらの組み合わせは、特定の機能又は動作を実行するか又は特定の目的のハードウェア及びコンピュータ命令の組み合わせを遂行する特定目的のハードウェアに基づくシステムにより実装することができる。