【文献】
Yusuke Uchida, et al.,Embedding Watermarks into Deep Neural Networks,arXiv,2017年04月20日,[オンライン], [検索日2021年06月01], インターネット <URL: https://arxiv.org/abs/1701.04082v2>
(58)【調査した分野】(Int.Cl.,DB名)
前記鍵生成部は、認証対象とするニューラルネットワークの各層の重みに基づいて生成した特徴量と前記補助データとの排他的論理和に誤り訂正処理を実行する誤り訂正部をさらに備え、
前記ハッシュ値生成部は、前記誤り訂正部の出力と、前記記憶部に記憶されているシードとの排他的論理和を入力とする前記ハッシュ関数の出力値を認証用の認証鍵として出力し、
前記情報処理装置は、
前記ハッシュ関数が出力した前記認証用の認証鍵と、前記記憶部に記憶されている認証鍵とが一致する場合、認証対象とするニューラルネットワークと、前記記憶部に記憶されている認証鍵に紐づけられているニューラルネットワークとが同一であると認証する認証部をさらに備える、
請求項4に記載の情報処理装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるために加工する前処理にも膨大な労力を要する。一方で、機械学習によって生成された学習モデルはデジタルデータであり、その複製は容易である。さらに、一般に学習モデル生成に用いられた学習データを、学習モデル自体から推測することは難しい。
【0005】
このため、学習モデルを生成した者は、その学習モデルが第三者によって不正に利用されたとしても、不正を立証することが難しい。収集した学習データと、学習データに基づいて生成された学習モデルとはそれぞれ労力をかけて取得した価値あるものであり、不正利用から学習モデルを守ることが望まれている。
【0006】
本発明はこれらの点に鑑みてなされたものであり、学習モデルの出所を特定することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様は、情報処理装置である。この装置は、目的タスクを検出するため複数の層を備えるニューラルネットワークの各層の重みを取得する重み取得部と、前記重みを所定の規則に従って縮約した縮約重みに基づいて特徴量を生成する特徴量生成部と、前記特徴量をファジーエクストラクタ(Fuzzy Extractors)に入力して得られた認証鍵を、前記ニューラルネットワークの出所を検証するための認証鍵として生成する鍵生成部と、前記ニューラルネットワークと前記認証鍵とを紐づけて記憶部に記憶させる認証鍵管理部と、を備える。
【0008】
前記特徴量生成部は、前記重みの絶対値が所定の丸め閾値未満の重みを0に置換する丸め部と、前記丸め部が置換した後の重みである丸め重みを複数のクラスタにクラスタリングするクラスタリング部と、前記複数のクラスタそれぞれに含まれる丸め重みの統計量を並べたベクトルを前記特徴量として生成する統計量算出部と、を備えてもよい。
【0009】
前記鍵生成部は、前記特徴量を入力とする所定のハッシュ関数の出力値を前記認証鍵として生成するハッシュ値生成部と、誤り訂正符号を発生させて前記特徴量との排他的論理和である補助データを生成する補助データ生成部と、を備えてもよく、前記認証鍵管理部は、前記ニューラルネットワーク、前記認証鍵、及び前記補助データを紐づけて前記記憶部に記憶させてもよい。
【0010】
前記鍵生成部は、異なるニューラルネットワーク毎に異なるシードを割り当てるシード割り当て部をさらに備えてもよく、前記ハッシュ値生成部は、前記特徴量と前記シードとの排他的論理和を入力とする前記ハッシュ関数の出力値を前記認証鍵として生成してもよく、前記認証鍵管理部は、前記ニューラルネットワーク、前記認証鍵、前記補助データに、さらに前記シードを紐づけて前記記憶部に記憶させてもよい。
【0011】
前記鍵生成部は、認証対象とするニューラルネットワークの各層の重みに基づいて生成した特徴量と前記補助データとの排他的論理和に誤り訂正処理を実行する誤り訂正部をさらに備えてもよく、前記ハッシュ値生成部は、前記誤り訂正部の出力と、前記記憶部に記憶されているシードとの排他的論理和を入力とする前記ハッシュ関数の出力値を認証用の認証鍵として出力してもよく、前記情報処理装置は、前記ハッシュ関数が出力した前記認証用の認証鍵と、前記記憶部に記憶されている認証鍵とが一致する場合、認証対象とするニューラルネットワークと、前記記憶部に記憶されている認証鍵に紐づけられているニューラルネットワークとが同一であると認証する認証部をさらに備えてもよい。
【0012】
本発明の第2の態様は、情報処理方法である。この方法において、プロセッサが、目的タスクを検出するため複数の層を備えるニューラルネットワークの各層の重みを取得するステップと、前記重みを所定の規則に従って縮約した縮約重みに基づいて特徴量を生成するステップと、前記ニューラルネットワークの出所を検証するための認証鍵を前記特徴量からファジーエクストラクタを用いて生成するステップと、前記ニューラルネットワークと前記認証鍵とを紐づけて記憶部に記憶させるステップと、を実行する。
【0013】
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、目的タスクを検出するため複数の層を備えるニューラルネットワークの各層の重みを取得する機能と、前記重みを所定の規則に従って縮約した縮約重みに基づいて特徴量を生成する機能と、前記ニューラルネットワークの出所を検証するための認証鍵を前記特徴量からファジーエクストラクタを用いて生成する機能と、前記ニューラルネットワークと前記認証鍵とを紐づけて記憶部に記憶させる機能と、を実現させる。
【発明の効果】
【0014】
本発明によれば、学習モデルの出所を特定することができる。
【発明を実施するための形態】
【0016】
<実施の形態の概要>
図1は、実施の形態の概要を説明するための図である。
図1を参照して、実施の形態の概要を述べる。
【0017】
実施の形態に係る情報処理装置の好適な処理対象は、ニューラルネットワークを用いて生成した学習モデルである。ニューラルネットワークのモデルパラメータは、例えばそのモデルパラメータを不正に入手した第三者がファインチューニングを施すことにより、学習モデルの性能をほとんど変えることなくモデルパラメータの値を改変することができる。このため、例えばバイナリコンペア等の単純な手法を用いて正当なモデルパラメータと不正利用が疑われるモデルパラメータとを比較しただけでは、モデルパラメータの作成者は、他者が用いているモデルパラメータが不正利用であることを立証するのは難しい。
【0018】
そこで、実施の形態に係る情報処理装置は、まず学習モデルを構成するモデルパラメータから、改変に対してロバストな特徴量を抽出する。詳細は後述するが、実施の形態に係る情報処理装置は、モデルパラメータを縮約することによってパラメータ間の変動を丸めることにより、改変に対してロバストな特徴量を抽出する。
【0019】
続いて、実施の形態に係る情報処理装置は、抽出した特徴量を既知のファジーエクストラクタに入力することにより、各学習モデルに固有の認証鍵を生成する。ファジーエクストラクタは生体情報等のノイズの多い信号から認証鍵を生成する技術である。実施の形態に係る情報処理装置は改変にロバストな特徴量をノイズ耐性が高いファジーエクストラクタに入力して認証鍵を生成するため、ファインチューニング等によってモデルパラメータの値が改変されたとしても、学習モデルの出所を精度高く検出することができる。
【0020】
<実施の形態に係る情報処理装置1の機能構成>
図2は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部2と制御部3とを備える。
【0021】
記憶部2は、情報処理装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や情報処理装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置である。
【0022】
制御部3は、情報処理装置1のCPUやGPU等のプロセッサであり、記憶部2に記憶されたプログラムを実行することによって重み取得部30、特徴量生成部31、鍵生成部32、認証鍵管理部33、認証部34として機能する。なお、詳細は後述するが、鍵生成部32と認証鍵管理部33とは、ファジーエクストラクタを構成する。
【0023】
図2は、情報処理装置1が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部3を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0024】
重み取得部30は、目的タスクを検出するため複数の層を備えるニューラルネットワークの各層の重みを取得する。ニューラルネットワークの学習モデルにおいては、ニューラルネットワークの各層の重みがモデルパラメータとなる。
【0025】
特徴量生成部31は、重み取得部30が取得した重みを所定の規則に従って縮約した縮約重みを生成する。なお、「所定の規則」の詳細は後述する。特徴量生成部31は、生成した縮約重みに基づいて特徴量を生成する。鍵生成部32は、特徴量生成部31が生成した特徴量をファジーエクストラクタに入力して得られた認証鍵を、ニューラルネットワークの出所を検証するための認証鍵として生成する。認証鍵管理部33は、ニューラルネットワークと認証鍵とを紐づけて記憶部2に記憶させる。これにより、情報処理装置1は、ニューラルネットワークの出所を精度よく特定するための認証鍵を生成することができる。
【0026】
図3は、実施の形態に係る特徴量生成部31の機能構成を模式的に示す図である。特徴量生成部31は、丸め部310、クラスタリング部311、及び統計量算出部312を含む。以下、
図3を参照して、特徴量生成部31が重みを縮約する際の「所定の規則」について説明する。
【0027】
丸め部310は、重み取得部30が取得した重みの絶対値が所定の丸め閾値未満である重みを0に置換する。ここで、「所定の丸め閾値」とは、丸め部310が重みを縮約する際に参照する縮約対象判定閾値である。所定の丸め閾値の値は、縮約対象の重みの平均値及び標準偏差等を勘案して実験により定めればよい。
【0028】
図4(a)−(d)は、実施の形態に係る特徴量生成部31が実行する特徴量生成処理を説明するための図である。
図4(a)−(b)は、1から3までの3つの番号が振られた3つのノードを含む層と、4から6までの3つの番号が振られた3つのノードを含む層との2層のネットワークを示している。以下、1から3までの3つの番号が振られた3つのノードを含む層を「第1層」、4から6までの3つの番号が振られた3つのノードを含む層を「第2層」と呼ぶ。
【0029】
図4(a)において、第1層と第2層とは全層結合している。
図4(a)には、各ノード間の重みw
ij(i=1,2,3、j=4,5,6)を表形式で図示している。ここで「ノード間の重み」とは、第1層のノードの出力を第2層のノードの入力に変換する際に乗じられる係数である。例えば、第1層のノードの出力をx
i、第2層の入力をy
jとすると、y
jは以下の式(1)で表される。
【0031】
図4(b)は、丸め部310が丸め閾値を1.0として重みw
ijを丸めた結果を示している。丸め部310に丸められた結果、w
15、w
16、w
24、w
25、及びw
36が削除されている。なお、
図4(a)に示す重みw
ijのうち、値にアンダーラインが付された重みw
ijは、丸め部310が丸める対象とした重みw
ijである。また、
図4(a)において、ノード間のつながりを破線で示している個所は、丸め部310が丸める対象とした個所を示している。
【0032】
このように、丸め部310が重みw
ijを閾値処理することにより、丸め閾値以下の小さな重みw
ijの変動は全て刈り取られることになる。これにより、重みw
ijの変動に対するロバスト性を高めることができる。
【0033】
特徴量生成部31中のクラスタリング部311は、丸め部310が置換した後の重みである丸め重みを複数のクラスタにクラスタリングする。
図4(c)は、クラスタリング部311によるクラスタリングの結果を示すための模式図である。クラスタリング部311は、丸め部310が丸めの対象としなかったw
14、w
26、w
34、及びw
35の4つの重みをクラスタリングの対象とする。なお、クラスタリング部311は、例えばk−means法などの既知のクラスタリング手法を用いて丸め重みをクラスタリングすればよい。
【0034】
図4(c)は、クラスタリング部311が、重みw
ijを、w
14とw
26とを含む第1クラスタC1、w
34を含む第2クラスタC2、及びw
35を含む第3クラスタc3の3つのクラスタに分類した場合の例を示している。
【0035】
統計量算出部312は、クラスタリング部311がクラスタリングした複数のクラスタそれぞれに含まれる丸め重みの統計量を並べたベクトルを特徴量として生成する。
図4(d)は、統計量算出部312が特徴量を生成するための統計量として、各クラスタに含まれる丸め重みの平均値を採用した場合の各クラスタの特徴量を示している。
【0036】
なお、統計量算出部312は、各クラスタに含まれる重みw
ijを代表するための値であれば、平均値以外の統計量を採用してもよい。例えば、統計量算出部312は、平均値に変えて、例えば最頻値や中央値を、特徴量を生成するための統計量として採用してもよい。
【0037】
このように、クラスタリング部311が重みw
ijをクラスタリングすることにより、重みw
ijに多少の変動があったとしても、重みw
ijは概ね同じクラスタにクラスタリングされる。さらに、統計量算出部312が各クラスタの統計量を特徴量とすることにより、重みw
ijに変動があったとしても統計処理によって丸められる。これにより、統計量算出部312は、重みw
ijの変動に対するロバスト性の高い特徴量を生成できる。
【0038】
以上より、特徴量生成部31は、ニューラルネットワークの各層の重みに基づいて特徴量を生成することができる。
【0039】
続いて、認証鍵の生成及び認証鍵を用いた認証について説明する。
図5は、実施の形態に係る鍵生成部32の機能構成を模式的に示す図である。鍵生成部32は、ハッシュ値生成部320、補助データ生成部321、シード割り当て部322、及び誤り訂正部323を含む。
【0040】
シード割り当て部322は、異なるニューラルネットワーク毎に異なるシードを割り当てる。ハッシュ値生成部320は、まず、特徴量生成部31が生成した特徴量と、シード割り当て部322が割り当てたシードとの排他的論理和を生成する。続いて、ハッシュ値生成部320は、生成した排他的論理和を入力とする所定のハッシュ関数の出力値を、認証鍵として生成する。ハッシュ関数は、MD5(Message Digest Algorithm 5)やSHA−2(Secure Hash Algorithm 2)等、既知のハッシュ関数を用いて実現できる。
【0041】
補助データ生成部321は、まず、誤り訂正符号を発生させる。続いて、補助データ生成部321は、発生させた誤り訂正符号と、特徴量生成部31が生成した特徴量との排他的論理和を生成する。補助データ生成部321が生成した誤り訂正符号と特徴量との排他的論理和は、ニューラルネットワークの出所を検証する際の補助データとして使用される。
【0042】
認証鍵管理部33は、特徴量生成の元となったニューラルネットワーク、ハッシュ値生成部320が生成した認証鍵、補助データ生成部321が生成した補助データ、及びシード割り当て部322が割り当てたシードを紐づけて記憶部2に記憶させる。以上より、鍵生成部32は、ニューラルネットワーク毎に異なる認証鍵を生成し、記憶部2に登録することができる。
【0043】
続いて、ニューラルネットワークの認証時の動作について説明する。
誤り訂正部323は、認証対象とするニューラルネットワークの各層の重みに基づいて生成した特徴量と、記憶部2から読み出した補助データとの排他的論理和に誤り訂正処理を実行する。ハッシュ値生成部320は、誤り訂正部323の出力と、記憶部2に記憶されているシードとの排他的論理和を入力とするハッシュ関数の出力値を認証用の認証鍵として出力する。
【0044】
認証部34は、ハッシュ関数が出力した認証用の認証鍵と、記憶部2に記憶されている認証鍵とが一致することを条件として、認証対象とするニューラルネットワークの正当性を認証する。これにより、情報処理装置1は、学習モデルの出所を特定することができる。
【0045】
上述したように、実施の形態に係る情報処理装置1における鍵生成部32と認証鍵管理部33とは、ファジーエクストラクタを構成している。
【0046】
図6(a)−(b)は、鍵生成部32と認証鍵管理部33とによって構成されるファジーエクストラクタの機能構成を模式的に示す図である。具体的には、
図6(a)は認証鍵の生成時の機能構成を示す図であり、
図6(b)は、認証時の機能構成を模式的に示す図である。
【0047】
図6(a)に示すように、認証鍵の登録時には、ニューラルネットワークから抽出された特徴量とシードとの排他的論理和がハッシュ関数に入力され、その出力が認証鍵となる。また、特徴量と誤り訂正符号との排他的論理和が補助データとなる。シード、認証鍵、及び補助データがニューラルネットワークと紐づけて記憶部2に登録される。
【0048】
図6(b)に示すように、認証鍵を用いた認証時には、認証対象のニューラルネットワークから抽出された特徴量と、記憶部2から読み出された補助データとの排他的論理和が、誤り訂正器に入力される。誤り訂正された排他的論理和と補助データとの排他的論理和に対し、さらに記憶部2から読み出されたシードとの排他的論理和が生成され、ハッシュ関数の入力となる。ハッシュ関数が出力した認証鍵が、記憶部2に登録されている認証鍵と一致する場合、認証部34は、認証対象のニューラルネットワークは、記憶部2に登録されているニューラルネットワークと一致すると判定する。
【0049】
このように、実施の形態に係る情報処理装置1において、ファジーエクストラクタの内部で誤り訂正処理が実行されるため、ノイズ耐性のある認証を実行することができる。また、ファジーエクストラクタに入力する特徴量も、閾値処理とクラスタリングによる代表値抽出とを用いてロバスト性を上げている。これにより、情報処理装置1は、ファインチューニング等によって学習モデルのモデルパラメータが改変されたとしても、学習モデルの出所を特定できる確率を高めることができる。
【0050】
<情報処理装置1が実行する学習方法の処理フロー>
図7は、実施の形態に係る情報処理装置1が実行する認証価値の登録処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
【0051】
重み取得部30は、目的タスクを検出するため複数の層を備えるニューラルネットワークの各層の重みを取得する(S2)。特徴量生成部31は、重み取得部30が取得した重みを所定の規則に従って縮約し、縮約重みを生成する(S4)。特徴量生成部31は、生成した縮約重みに基づいて特徴量を生成する(S6)。
【0052】
鍵生成部32は、特徴量生成部31が生成した特徴量をファジーエクストラクタに入力して得られた認証鍵を、特徴量のニューラルネットワークの出所を検証するための認証鍵として生成する(S8)。認証鍵管理部33は、ニューラルネットワークと認証鍵とを紐づけて記憶部2に記憶させる(S10)。
【0053】
認証鍵管理部33がニューラルネットワークと認証鍵とを紐づけて記憶部2に記憶させると、本フローチャートにおける処理は終了する。
【0054】
<実施の形態に係る情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、学習モデルの出所を特定することができる。
【0055】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【0056】
<変形例>
上記では、鍵生成部32がシード割り当て部322を備える場合、すなわちファジーエクストラクタがシードを利用する場合について説明した。ニューラルネットワーク毎に異なるシードを生成して登録することにより、認証の信頼性を高められる点で効果がある。しかしながら、ニューラルネットワークの出所を検証するという目的に対しては、シードは必ずしも必要ではない。
【0057】
図8(a)−(b)は、鍵生成部32と認証鍵管理部33とによって構成されるファジーエクストラクタの機能構成の別の例を示す模式図であり、シードを利用しない場合の例を示す図である。具体的には、
図8(a)は、シードを用いない場合の認証鍵の生成時の機能構成を示す図である。また、
図8(b)は、シードを利用しない場合の認証時の機能構成を模式的に示す図である。
【0058】
図8(a)に示すように、認証鍵の登録時において、ハッシュ値生成部320は、特徴量を入力とする所定のハッシュ関数の出力値を認証鍵として生成する。補助データ生成部321は、誤り訂正符号と特徴量との排他的論理和を補助データとして生成する。なお、認証鍵管理部33は、ニューラルネットワーク、認証鍵、及び補助データを紐づけて記憶部2に記憶させる。
【0059】
図8(b)に示すように、認証時には、認証対象のニューラルネットワークから抽出された特徴量と、記憶部2から読み出された補助データとの排他的論理和が、誤り訂正器に入力される。誤り訂正された排他的論理和と補助データとの排他的論理和が、ハッシュ関数の入力となる。ハッシュ関数が出力した認証鍵が、記憶部2に登録されている認証鍵と一致する場合、認証部34は、認証対象のニューラルネットワークは、記憶部2に登録されているニューラルネットワークと一致すると判定する。
【0060】
このように、ファジーエクストラクタ内でシードの割り当てをしなくても、ニューラルネットワークの出所を検証するための認証鍵の登録と、出所を検証するための認証を実施することができる。シードを利用する場合と比較して、登録に必要なデータを削減でき、また、認証時の演算を減らして高速化できる点で効果がある。