(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-06-23
(54)【発明の名称】入力データに対して第1のニューラルネットワークを安全に使用するための方法及び第2のニューラルネットワークのパラメータを学習するための方法
(51)【国際特許分類】
G06N 3/0464 20230101AFI20230616BHJP
【FI】
G06N3/0464
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022570235
(86)(22)【出願日】2021-05-14
(85)【翻訳文提出日】2022-11-28
(86)【国際出願番号】 FR2021050842
(87)【国際公開番号】W WO2021234252
(87)【国際公開日】2021-11-25
(32)【優先日】2020-05-18
(33)【優先権主張国・地域又は機関】FR
(81)【指定国・地域】
(71)【出願人】
【識別番号】519110386
【氏名又は名称】アイデミア・アイデンティティ・アンド・セキュリティー・フランス
(74)【代理人】
【識別番号】110002077
【氏名又は名称】園田・小林弁理士法人
(72)【発明者】
【氏名】シャバンヌ, エアベ
(72)【発明者】
【氏名】グイガ, リンダ
(57)【要約】
本発明は、入力データに対して第1のニューラルネットワークを安全に使用するための方法において、(a)第1のニューラルネットワークに対応し、且つ恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークを受ける第2のニューラルネットワークを構築するステップ、(b)入力データに対して第2のニューラルネットワークを使用するステップを端末(2)のデータ処理手段(21)によって実装することを含むことを特徴とする方法に関する。本発明は、第2のニューラルネットワークのパラメータを学習するための方法にも関する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
入力データに対して第1のニューラルネットワークを安全に使用するための方法において、以下のステップ:
(a)恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークが前記第1のニューラルネットワーク内の標的層の入力において挿入される前記第1のニューラルネットワークに対応する第2のニューラルネットワークを構築するステップ、
(b)前記入力データに対して前記第2のニューラルネットワークを使用するステップ
を端末(2)のデータ処理手段(21)によって実装することを含むことを特徴とする方法。
【請求項2】
前記畳み込みニューラルネットワークは、前記標的層の入力サイズよりも小さい出力サイズを有して、前記標的層の特定の入力チャネルのみを近似する、請求項1に記載の方法。
【請求項3】
ステップ(a)は、前記第1のニューラルネットワークの層の中から前記第1のニューラルネットワークの前記標的層を選択するステップを含む、請求項1又は2に記載の方法。
【請求項4】
ステップ(a)は、前記標的層の前記入力チャネルの全ての中から、近似される前記標的層の入力チャネルを選択するステップを含む、請求項1~3の何れか一項に記載の方法。
【請求項5】
前記恒等関数を近似する前記少なくとも1つの畳み込みニューラルネットワークは、2つの整数の積に等しい出力サイズを有する、請求項1~4の何れか一項に記載の方法。
【請求項6】
前記第1のニューラルネットワーク及び前記恒等関数を近似する前記少なくとも1つの畳み込みニューラルネットワークのパラメータを得る予備ステップ(a0)を含む、請求項1~5の何れか一項に記載の方法。
【請求項7】
ステップ(a0)は、前記恒等関数を近似する畳み込みニューラルネットワークの組のパラメータを得るステップを含み、ステップ(a)は、挿入される前記恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークを前記組から選択するステップを含む、請求項6に記載の方法。
【請求項8】
ステップ(a)は、前記恒等関数を近似する選択された畳み込みニューラルネットワークごとに、前記第1のニューラルネットワークの前記層の中から前記第1のニューラルネットワークの前記標的層を選択するステップ及び/又は前記標的層の前記入力チャネルの全ての中から、近似される前記標的層の前記入力チャネルを選択するステップを含む、請求項7に記載の方法。
【請求項9】
ステップ(a)は、選択される前記組の前記恒等関数を近似する畳み込みニューラルネットワークの数を事前に選択するステップを更に含む、請求項7又は8に記載の方法。
【請求項10】
ステップ(a0)は、前記第1のニューラルネットワーク及び前記恒等関数を近似する前記少なくとも1つの畳み込みニューラルネットワークの前記パラメータを少なくとも1つの学習データベースから学習する、サーバ(1)のデータ処理手段(11)によって実装されるステップである、請求項6~9の何れか一項に記載の方法。
【請求項11】
前記第1のニューラルネットワーク及び前記恒等関数を近似する前記1つ又は複数の畳み込みニューラルネットワークは、ReLU関数等の活性化関数を有する交互の線形層及び非線形層を含む、請求項1~10の何れか一項に記載の方法。
【請求項12】
前記標的層は、線形層である、請求項11に記載の方法。
【請求項13】
前記恒等関数を近似する前記少なくとも1つの畳み込みニューラルネットワークは、例えば、サイズ5×5のフィルタ畳み込み層である2つ又は3つの線形層を含む、請求項11又は12に記載の方法。
【請求項14】
第2のニューラルネットワークのパラメータを学習するための方法において、以下のステップ:
(a)恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークが第1のニューラルネットワーク内の標的層の入力において挿入される前記第1のニューラルネットワークに対応する前記第2のニューラルネットワークを構築するステップ、
(a1)前記第2のニューラルネットワークの前記パラメータを学習データベースから学習するステップ
をサーバ(1)のデータ処理手段(11)によって実装することを含むことを特徴とする方法。
【請求項15】
入力データに対して第1のニューラルネットワークを安全に使用するための方法であって、請求項14に記載の方法に従って第2のニューラルネットワークのパラメータを学習するステップと、前記入力データに対して前記第2のニューラルネットワークを使用するステップ(b)を端末(2)のデータ処理手段(21)によって実装するステップとを含む方法。
【請求項16】
コンピュータプログラム製品であって、前記プログラムがコンピュータによって実行されるとき、第2のニューラルネットワークのパラメータを学習するために、又は入力データに対して第1のニューラルネットワークを安全に使用するために、請求項1~15の何れか一項に記載の方法を実行するためのコード命令を含むコンピュータプログラム製品。
【請求項17】
コンピュータ機器によって読み出され得る記憶媒体であって、コンピュータプログラム製品は、第2のニューラルネットワークのパラメータを学習するために、又は入力データに対して第1のニューラルネットワークを安全に使用するために、請求項1~15の何れか一項に記載の方法を実行するためのコード命令を含む、記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、人工知能の分野に関し、具体的には入力データに対して第1のニューラルネットワークを安全に使用するための方法に関する。
【背景技術】
【0002】
ニューラルネットワーク(又はNN)は、データを分類するために広く使用されている。
【0003】
(概して教師付きである、即ち既に分類されているデータの参照データベースに基づく)機械学習の段階後、ニューラルネットワークは、「学習」し、未知のデータに対して同じ分類を自然に適用できるようになる。より正確には、NNの重み及びパラメータの値は、目標とするタスクを実装可能になるまで漸進的に修正される。
【0004】
ニューラルネットワークのアーキテクチャ及び学習技法(具体的にはディープラーニング)の両方について、更に学習ベース(そのサイズ及び品質)について著しい進歩が近年見られ、過去に不可能であると考えられていたタスクは、今日では、卓越した信頼性と共にニューラルネットワークによって実行されている。
【0005】
これらの全ては、高性能のニューラルネットワーク及びその学習ベースが、今日、高い商業的価値を有し、保護すべき「企業秘密」として扱われていることを意味する。加えて、多くのデータベースは、秘密に保たれなければならない潜在的に個人的なデータ(例えば、指紋)を含む。
【0006】
不都合なことに、Cryptanalytic Extraction of Neural Network Models,Nicholas Carlini,Matthew Jagielski,Ilya Mironov https://arxiv.org/pdf/2003.04884v1.pdfの文献に記載されているように、任意のニューラルネットワークに十分な精選された要求を提出できることを条件として、任意のニューラルネットワークのパラメータ及びモデルを攻撃者が抽出することを可能にする「リバースエンジニアリング」技法が最近編み出されている。従って、(例えば、ウェブクライアントによる)入力及び出力に対してのみアクセスがある「ブラックボックス」動作においてさえ、ネットワークの内部が回復され得る。
【0007】
この概念は、ニューラルネットワークが、ReLU等の活性化関数を実装する交互の線形層及び非線形層を含むことを観察するものである。この非線形性は、勾配の跳ね上がりを伴う「臨界点」をもたらし、従って出力が臨界点にあるように、ネットワークの入力空間の超平面をニューロンごとに幾何学的に定めることができる。第2の層の超平面は、第1の層の超平面によって「フォールド」等される。
【0008】
攻撃者は、超平面の交点及び漸進的に全ニューラルネットワークを回復するために探索を使用し得る。
【0009】
ニューラルネットワークが直面する更なる課題は、「敵対的外乱」、即ちニューラルネットワークの入力に適用されるときに出力を著しく変更する、感知できない変更の存在である。Adi Shamir、Itay Safran、Eyal Ronen及びOrr Dunkelmanによる文献A Simple Explanation for the Existence of Adversarial Examples with Small Hamming Distance,https://arxiv.org/pdf/1901.10861v1.pdfは、例えば、猫の画像に適用された敵対的外乱が、どのようにグアカモーレの画像としてそれが誤分類されることを引き起こし得るかを開示している。
【0010】
より正確には、攻撃者が、上記で説明した超平面への分割を識別することに成功すると、その攻撃者は、入力空間内の点から超平面を交差可能にする、従って出力を修正できるようにするベクトルを決定することができる。
【0011】
従って、ニューラルネットワークを安全にすることに成功することは、必須であることが理解されるであろう。
【0012】
第1の手法は、攻撃者のタスクを複雑化するために、ネットワークのサイズ、層の数及びパラメータの数を増やすものである。この手法が機能する場合、この手法が行うのは、一方では攻撃者の速度を落とすことのみであり、ニューラルネットワークが不要に煩雑になり、訓練しにくくなるため、この手法は、何よりも性能を悪化させる。
【0013】
第2の手法は、ニューラルネットワークに提出可能な入力の数を制限するか、又は少なくとも疑わしい入力シーケンスを検出するものである。しかし、例えば、無制限アクセスの代金を支払っている攻撃者は、ニューラルネットワークに合法的にアクセスし得るため、この手法は、常に適用可能であるわけではない。
【発明の概要】
【発明が解決しようとする課題】
【0014】
従って、この状況は、更に改善され得る。
【課題を解決するための手段】
【0015】
第1の態様によれば、本発明は、入力データに対して第1のニューラルネットワークを安全に使用するための方法において、以下のステップ:
(a)恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークが挿入される第1のニューラルネットワークに対応する第2のニューラルネットワークを構築するステップ、
(b)前記入力データに対して第2のニューラルネットワークを使用するステップ
を端末のデータ処理手段によって実装することを含むことを特徴とする方法に関する。
【0016】
他の有利な且つ非限定的な特徴によれば、前記畳み込みニューラルネットワークは、第1のニューラルネットワークの標的層の入力において挿入される。
【0017】
前記標的層は、第1のニューラルネットワーク内の層である。
【0018】
前記畳み込みニューラルネットワークは、前記標的層の入力サイズよりも小さい出力サイズを有して、この標的層の特定の入力チャネルのみを近似する。
【0019】
ステップ(a)は、前記第1のニューラルネットワークの層の中から第1のニューラルネットワークの前記標的層を選択するステップを含む。
【0020】
ステップ(a)は、標的層の入力チャネルの全ての中から、近似される前記標的層の入力チャネルを選択するステップを含む。
【0021】
恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークは、2つの整数の積に等しい出力サイズを有する。
【0022】
この方法は、第1のニューラルネットワーク及び恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークのパラメータを得る予備ステップ(a0)を含む。
【0023】
ステップ(a0)は、恒等関数を近似する畳み込みニューラルネットワークの組のパラメータを得るステップを含む。
【0024】
ステップ(a)は、挿入される恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークを前記組から選択するステップを含む。
【0025】
ステップ(a)は、恒等関数を近似する選択された畳み込みニューラルネットワークごとに、前記第1のニューラルネットワークの層の中から第1のニューラルネットワークの前記標的層を選択する前記ステップ及び/又は標的層の入力チャネルの全ての中から、近似される前記標的層の入力チャネルを選択するステップを含む。
【0026】
ステップ(a)は、選択される前記組の恒等関数を近似する畳み込みニューラルネットワークの数を事前に選択するステップを更に含む。
【0027】
ステップ(a0)は、第1のニューラルネットワーク及び恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークのパラメータを少なくとも1つの学習データベースから学習する、サーバのデータ処理手段によって実装されるステップである。
【0028】
第1のニューラルネットワーク及び恒等関数を近似する1つ又は複数の畳み込みニューラルネットワークは、活性化関数を有する交互の線形層及び非線形層を含む。
【0029】
前記活性化関数は、ReLU関数である。
【0030】
前記標的層は、第1のニューラルネットワークの線形層である。
【0031】
恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークは、2つ又は3つの線形層を含む。
【0032】
畳み込みニューラルネットワークの線形層は、例えば、サイズ5×5のフィルタ畳み込み層である。
【0033】
第2の態様によれば、提案されるものは、第2のニューラルネットワークのパラメータを学習するための方法において、以下のステップ:
(a)恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークが挿入される第1のニューラルネットワークに対応する第2のニューラルネットワークを構築するステップ、
(a1)第2のニューラルネットワークのパラメータを学習データベースから学習するステップ
をサーバのデータ処理手段によって実装することを含むことを特徴とする方法である。
【0034】
第3の態様によれば、提案されるものは、入力データに対して第1のニューラルネットワークを安全に使用するための方法であって、第2の態様による方法に従って第2のニューラルネットワークのパラメータを学習するステップと、前記入力データに対して第2のニューラルネットワークを使用するステップ(b)を端末のデータ処理手段によって実装するステップとを含む方法である。
【0035】
第4の態様及び第5の態様によれば、本発明は、コンピュータプログラム製品であって、入力データに対して第1のニューラルネットワークを安全に使用するために、第1の態様若しくは第3の態様による方法を、又は第2のニューラルネットワークのパラメータを学習するために、第2の態様による方法を実行するためのコード命令を含むコンピュータプログラム製品と、コンピュータ機器によって読み出され得る記憶手段であって、コンピュータプログラム製品は、入力データに対して第1のニューラルネットワークを安全に使用するために、第1の態様若しくは第3の態様による方法を、又は第2のニューラルネットワークのパラメータを学習するために、第2の態様による方法を実行するためのコード命令を含む、記憶手段とに関する。
【0036】
1つの好ましい実施形態についての以下の説明を読むことで、本発明の他の特徴及び利点が明らかになる。この説明は、添付図面に関して与えられる。
【図面の簡単な説明】
【0037】
【
図1】本発明による方法を実装するためのアーキテクチャの図である。
【
図2a】本発明による、入力データに対して第1のニューラルネットワークを安全に使用するための方法の第1の実施形態のステップを概略的に示す。
【
図2b】本発明による、入力データに対して第1のニューラルネットワークを安全に使用するための方法の第2の実施形態のステップを概略的に示す。
【
図3】本発明による方法の実装において遭遇する第2のニューラルネットワークのアーキテクチャの一例を概略的に示す。
【発明を実施するための形態】
【0038】
アーキテクチャ
本発明の2つの補完的態様によれば、提案されるものは、
- 第1のニューラルネットワーク(第1のNN)を安全に使用するための方法、
- 第2のニューラルネットワーク(第2のNN)のパラメータを学習するための方法
である。
【0039】
これらの2種類の方法は、少なくとも1つのサーバ1及び1つの端末2により、[
図1]によって示すアーキテクチャ内で実装される。サーバ1は、(第2の方法を実装する)学習機器であり、端末2は、(第1の方法を実装する)ユーザ機器である。前記使用方法は、入力データに対して実装され、例えば分類NNである場合、複数のクラスの中からの入力データの分類である(しかし、分類が最も慣例的であるが、このタスクは、必ずしも分類ではない)。
【0040】
任意の種類のNNが、典型的には、σ(x)=max(0,x)に等しいReLU(正規化線形ユニット)活性化関数を有する交互の線形層及び非線形層を含むとしても、任意の種類のNNに特に制限を課さない。従って、線形層の出力がゼロに等しいように、各超平面が入力空間の点集合に対応することが理解されるであろう。かかるニューラルネットワークを示すために「ReLU NN」を使用する。
【0041】
何れにせよ、各機器1、2は、典型的には、データをやり取りするためにインターネット等の広域ネットワーク10に接続されるリモートコンピュータ機器である。それぞれがプロセッサ型のデータ処理手段11、21及びコンピュータメモリ、例えばハードディスク等のデータ記憶手段12、22を含む。
【0042】
サーバ1は、例えば、既に分類されているデータの学習データベース、即ち(処理することが明確に望まれる入力データとして知られるものとは対照的に)関連する出力が既に知られているデータの組を記憶する。これは、秘密を保つことが求められる高い商業的価値を有する学習ベースであり得る。
【0043】
機器1及び2が同じ機器であることが依然として可能であるか、又は学習ベースが更にパブリックベースであり得ることが理解されるであろう。
【0044】
本方法は、1種類のNN、従って1つの特定の種類のデータに限定されず、入力データ又は学習データは、画像、音声等を表し得ることに留意すべきである。第1のNNは、CNNであることが大いに考えられ得るが、本方法に関連して使用される専用CNNについて以下に記載する。
【0045】
1つの好ましい実施形態では、バイオメトリクデータが関与し、入力データ又は学習データは、典型的には、画像又は更に直接的にバイオメトリク特徴(顔、指紋、虹彩等)の画像若しくは直接的にバイオメトリク特徴から生じる前処理されたデータ(例えば、指紋の場合には特徴点の位置)を表す。
【0046】
原理
本発明は、人工超平面を使用して、NNを複雑にすることなく、攻撃者のタスクを複雑化することを提案する。換言すれば、NNをさもなければより煩雑にし、その性能を悪化させることなく、著しくよりロバストにすることにより、NNが安全にされる。
【0047】
便宜上、保護される元のNNを「第1のニューラルネットワーク」と呼び、修正され、従って安全にされるNNを「第2のニューラルネットワーク」と呼ぶ。以下で認められるように、第1のNNは、事後的に(学習されると)安全にすることができるか、又は最初から安全にされ得る(即ちNNの安全なバージョンが直接学習される)。
【0048】
より詳細には、第1のネットワークを第2のネットワークとして安全にすることは、恒等関数を近似する少なくとも1つの畳み込みニューラルネットワーク(CNN)(これを便宜上「恒等CNN」と呼ぶ)をそのアーキテクチャに組み込むことで構成される。
【0049】
この「寄生的」なCNNは、その出力がその入力とほぼ等しいため、NNの動作を修正しない。他方では、かかるCNNは、元の超平面構造を壊す。
【0050】
恒等関数を近似する概念は、実現するのが困難な不自然なタスクであるため、CNNにとって極めて斬新である。別の言い方をすれば、CNNが意味的に複雑な処理演算(例えば、画像分割等)を行い、自らの入力を再現するほど自明なタスクを決して行わないことが常に望ましい。
【0051】
加えて及び以下で認められるように、必要に応じて全て動的に且つ無作為に選択される特定のチャネルを含む様々な位置において、複数の恒等CNNを第1のNN内に挿入し、それにより攻撃者に機会を与えないことができる(人工超平面の下では、元の第1のNNを回復するために第2のNNに送信される想像を絶する数の要求が必要になる)。
【0052】
方法
第1の態様によれば、[
図2a]に関して提案されるものは、端末2のデータ処理手段21によって実装される、入力データに対して第1のNNを安全に使用するための方法の第1の実施形態である。
【0053】
この方法は、第1のNN及び少なくとも1つの恒等CNNのパラメータ、可能な場合には多様な恒等CNNの組を定めるように、具体的には様々なアーキテクチャの、様々な入力及び出力サイズの、様々なベースに基づいて訓練等される複数の恒等CNNのパラメータを得る「準備」ステップ(a0)から始まり、このステップは、後により詳細に認められる。
【0054】
このステップ(a0)は、専用学習ベースに基づいてネットワークのそれぞれ、具体的には第1のNNを訓練するステップであり得、好ましくはサーバ1のデータ処理手段11によってこの目的で実装されるが、ネットワーク(具体的には恒等CNN)は、既存でそのまま取られ得ることが理解されるであろう。何れにせよ、1つ又は複数の恒等CNNは、具体的には、任意のパブリック画像ベースに基づいて又は更に乱データに基づいて訓練され得る(場合により、雑音を別として、入力は、予期される出力でもあると想定されるため、それらのデータが注釈付けされる必要はない。以下を参照されたい)。そのようなステップ(a0)がない1つの代替的実施形態を以下で認めることができる。
【0055】
主たるステップ(a)は、恒等関数を近似する少なくとも1つの畳み込みニューラルネットワーク、具体的には1つ又は複数の選択された恒等CNNが挿入される第1のNNに対応する前記第2のNNを構築することを含む。換言すれば、ステップ(a)は、第1のNN内に1つ又は複数の恒等CNNを挿入するステップである。複数の選択された恒等CNNがある場合、それらは、順に挿入され得る。
【0056】
そのために、ステップ(a)は、前記恒等CNNの組の中から1つ又は複数の恒等CNNを例えば無作為に選択することを有利に含む。他の「挿入パラメータ」、具体的には第1のNN内の位置(標的層)及び/又は第1のNNの標的層のチャネルが選択され得、以下を参照されたい。何れにせよ、恒等CNNの組が1つのCNNのみを含むことが依然として可能であり、そのため、選択する必要がなく、更に恒等CNNをオンザフライで訓練する必要がない。
【0057】
挿入は、第1のNNの「標的」層の上流に恒等CNNの層を追加することを意味することが理解され、そのため、この層の入力は、少なくとも部分的には恒等CNNの出力である。換言すれば、恒等CNNは、標的層の入力の全て又は一部を自らの出力と置換するために「インタセプト」する。
【0058】
恒等CNNは、恒等関数を近似するため、その出力は、その入力とほぼ同一であり、そのため、標的層によって受信されるデータは、インタセプトされるデータとほぼ同一であることが理解されるであろう。
【0059】
標的層は、好ましくは、(例えば、活性化関数を有する非線形層ではなく)線形層であり、そのため、恒等CNNは、第1のNNの線形層の入力において挿入される。
【0060】
標的層は、好ましくは、第1のNN内の層、即ち1番目以外の(2番目の層と最後の層との間の)層である。特に好ましくは、標的層は、従って、第1のNN内の線形層である。
【0061】
有利には、恒等CNNは、前記線形層の入力サイズよりも小さい出力サイズを有して、この線形層の特定の入力チャネルのみ(即ち入力チャネルの全てではない)を近似する。入力/出力サイズは、入力/出力チャネルの数を意味することが理解されるであろう。
【0062】
これは、[
図3]の例で認められる内容であり、[
図3]は、(中央の隠れ層を含む)3つの線形層を有する第1のNNを示し、この中で、恒等CNNは、第2の層の入力において配置される。
【0063】
第1の層は、8つの入力チャネル(サイズ8)を有するのに対して、恒等CNNは、4つの入力/出力チャネルのみを有することが見て取れる(定義上、恒等関数を近似するCNNは、同じ入力及び出力の次元を有する)。従って、第1の線形層の8つの入力チャネルのうちの4つのみが近似され、残りの4つは、そのままである。チャネルの一部にのみ(即ちニューロンの全てではなく)作用することには、以下の3つの利点があり、その利点とは、即ち、CNNがより小さくなり得、従って実行時により少ない計算を伴うこと、層に対して部分的にのみ作用することが攻撃者にとって驚くべき混乱を発生させること及び更に層の下に複数のCNNを配置し、従って攻撃者にとっての超平面の混乱を更に高めることができることである。
【0064】
ステップ(a)は、説明したように、(該当する場合には事前に選択される)恒等CNNによって作用される標的層及び/又は標的層の入力チャネルを選択することも含み得る。例えば、
図3では、これらは、チャネル1、2、3及び4であるが、8つのチャネルのうちの任意の4チャネル、例えばチャネル1、3、5及び7の組を取ることもできる。
【0065】
この選択は、ここでも、無作為に且つ動的に行うことができ、即ち、新たなチャネルは、第1のNNを使用するための新たな要求ごとに、しかし、同様に順に又はさもなければコンテキストデータ、具体的には入力データに基づいて得られる。潜在的な攻撃者にとってのタスクを一層複雑化するためにエントロピーを追加するための複数の可能性の中の有効な選択肢がある限り、本発明は、とりわけ標的層/近似されるチャネル/1つ又は複数の恒等CNNを選択するいかなる方法にも限定されない。
【0066】
実際には、選択は、以下のプロトコルに従って行うことができる(各ステップは、任意選択的であり、各選択は、無作為又は既定であり得る):
1.挿入される恒等CNNの数を選択すること、
2.この数と同数の恒等CNNを(戻すことを伴って又は伴わずに)恒等CNNの組から得ること、
3.得た恒等CNNごとに、作用される(即ちその入力においてCNNが挿入される)標的層を第1のNNの層(具体的には線形及び/又は中間層)の中から選択すること、
4.得られた恒等CNNごとに、この恒等CNNの入力/出力チャネルの数と同数の関連標的層の入力チャネルを選択すること。
【0067】
点3に関して、同じ標的層に作用するように2つの恒等CNNが選択され得ることに留意すべきであり、即ち対象のチャネルが別々であり、問題がないか、又は少なくとも1つのチャネルが重複し、その場合、かかる重複を不所望であると判断する(得ることをやり直す)か、又は一方の恒等CNNが他方の上流にあることが受け入れられると判断することができ、従って標的層の入力に到達する前にチャネルが2回連続して近似され得る。
【0068】
点4に関して、恒等CNNは、典型的には、画像、即ち2次元オブジェクト(「矩形」)を扱うネットワークであり、従って2つの整数の積、即ちa
*bの形式に等しい入力/出力チャネルの数を有し、a及びbは、それぞれ2以上の整数であり、更に優先的には次元の「2乗」a
2であることに留意すべきである。3次元オブジェクトを扱う、従って3つの整数の積、即ちa
*b
*cの形式等に等しい入力/出力チャネルの数を有するCNNを使用することを想像することは、完全に可能である。
図3の例では、2×2の画像を扱う、従って4つの入力/出力チャネルを有する恒等CNNがある。
【0069】
最後に、選択及び構築のアクションは、部分的にネスト(従って同時に実装する)ことができ、即ち挿入される複数の恒等CNNがある場合、最初のものの挿入パラメータを決定し、それを挿入し、2番目のものの挿入パラメータを決定し、それを挿入すること等ができる。加えて、説明したように、標的層及び/又はチャネルは、ステップ(a)においてオンザフライで選択することができる。
【0070】
ステップ(a)の終了時に第2のNNが構築されていると想定される。次いで、ステップ(b)において、前記入力データに対してこの第2のNNを使用することができ、即ち第2のNNが入力データに適用され、これにより第1のNNに戻ることが可能であるいかなるリスクもなしに、端末2のユーザに与えられ得る出力データが得られる。
【0071】
恒等CNN
ReLU等の活性化関数を有する交互の畳み込み層(線形層)及び非線形層のみで構成される小さいCNNは、恒等の近似の品質及び第1のNNを別様により煩雑にすることなく、超平面を複雑化することの両方の点で非常に優れた結果を与える。
【0072】
例えば、恒等CNNは、(いかなるアーキテクチャに制限を課さなくても)2つ又は3つの畳み込み層のみを含む場合がある。
【0073】
1つの特に好ましい実施形態によれば、サイズ5×5の2つ又は3つのフィルタ畳み込み層を有する16×16までのサイズの平方入力/出力恒等CNNを取ることができる。
【0074】
各恒等CNNは、場合により、少量の雑音を別として、恒等を最良に近似することを目指すことに留意すべきである。そのために、予期される出力として入力を「そのまま」使用する代替策として、入力に雑音、好ましくは平均0のガウス雑音が加わったものを学習中に使用することができる。本出願人は、これが特に良好に機能すること(A Protection against the Extraction of Neural Network Models,Herve Chabanne,Vincent Despiegel,Linda Guiga,https://arxiv.org/pdf/2005.12782.pdfの文献を参照されたい)及び様々な雑音を追加することにより、恒等CNNの組に更に多くの変動性を追加することも加えて可能であることを見出した。
【0075】
当然のことながら、恒等CNNの組の全て又は一部においていかなる雑音も追加しないこと、即ち恒等関数を最良に近似することが可能である。
【0076】
試験
全結合ネットワーク(FCN)タイプの3つの隠れ層を有するReLU NNを第1のNNとして取って試験を行い、隠れ層は、512個、512個及び32個の入力チャネルをそれぞれ有し、このFCNは、手書き数字を認識するため(任意のサイズの入力画像の分類)に使用されている。この第1のNNは、MNIST(Mixed National Institute of Standards and Technology)学習ベースに基づいてこのタスクのために訓練することができ、97.9%の正分類率を示す。
【0077】
入力サイズ16×16(256チャネル)の上述の恒等CNNは、10000個の無作為画像に基づいて訓練することができ、かかる訓練は、入力と出力との間の0.0913%の平均絶対誤差を与える。
【0078】
第1のNNの第1又は第2の隠れ層の512個のうちの256個の入力チャネル上にこの恒等CNNを挿入することは、第2のNNの正分類率の低下を示さない。
【0079】
事後学習
第1のNN及び1つ又は複数の恒等CNNのパラメータを事前に得る代替策として、該当する場合には第2のNNのアーキテクチャを決定するための上述の選択を実装することにより、第1のNN及び恒等CNNのモデルから第2のNNを構築するステップ(a)から直接開始し、その後にのみ第1のNNの学習ベース(例えば、上述のNISTベース)に基づいて第2のNNのパラメータを学習することができる。これは、[
図2b]によって示されている実施形態であり、今回は構築及び学習がサーバ1側で実装されていることが理解されるであろう。
【0080】
この形態は、恒等CNNのパラメータを別々に学習しなければならないことを防ぎ、それは、残りのNNのパラメータと同時に自らのパラメータが自動で学習されるからである。
【0081】
結果は、均等であり、唯一の不都合は、学習を毎回再実行するのに時間がかかり過ぎるため、要求ごとに第2のNNを動的に「再構築」できないことである。
【0082】
従って、第2の態様によれば、本発明は、恒等関数を近似する少なくとも1つの畳み込みニューラルネットワークが挿入される第1のニューラルネットワークに対応する第2のニューラルネットワークを構築するステップ(a)、次いで第2のニューラルネットワークのパラメータをパブリック学習データベースから学習するステップ(a1)をやはり含む、サーバ1のデータ処理手段11によって実装される第2のニューラルネットワークのための学習方法に関する。
【0083】
本発明の第3の態様では、前記入力データに対して第2のNNを使用する同じステップ(b)を追加すること(今回は端末1のデータ処理手段21によって実装される)により、(第1の態様による方法と同様に)入力データに対して第1のニューラルネットワークを安全に使用するための方法の一部として、この学習方法を使用することができ、即ち第2のNNが入力データに適用され、これにより第1のNNに戻ることが可能であるいかなるリスクもなしに、端末2のユーザに与えられ得る出力データが得られる。
【0084】
コンピュータプログラム製品
第4の態様及び第5の態様によれば、本発明は、入力データに対して第1のニューラルネットワークを安全に使用するために、本発明の第1の態様若しくは第3の態様による方法を、又は第2のニューラルネットワークのパラメータを学習するために、本発明の第2の態様による方法を(具体的にはサーバ1又は端末2のデータ処理手段11、21上で)実行するためのコード命令を含むコンピュータプログラム製品と、また、このコンピュータプログラム製品が含まれる、コンピュータ機器によって読み出され得る記憶手段(サーバ1又は端末2のメモリ12、22)とに関する。
【国際調査報告】