WO2018180263A1 - 情報処理装置、情報処理方法、及びコンピュータ可読記憶媒体 - Google Patents
情報処理装置、情報処理方法、及びコンピュータ可読記憶媒体 Download PDFInfo
- Publication number
- WO2018180263A1 WO2018180263A1 PCT/JP2018/008445 JP2018008445W WO2018180263A1 WO 2018180263 A1 WO2018180263 A1 WO 2018180263A1 JP 2018008445 W JP2018008445 W JP 2018008445W WO 2018180263 A1 WO2018180263 A1 WO 2018180263A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- weights
- neural network
- gradient
- weight
- group
- Prior art date
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 48
- 238000003672 processing method Methods 0.000 title claims description 3
- 238000013528 artificial neural network Methods 0.000 claims description 103
- 239000013598 vector Substances 0.000 description 47
- 238000000034 method Methods 0.000 description 16
- 238000001514 detection method Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000013527 convolutional neural network Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Abstract
情報処理装置は、第1NNの複数の層の中から選択した選択層の複数の重みを、第2NNの複数の重みとして設定する手段と、選択層の複数の重みそれぞれを第1グループ又は第2グループに分類する手段と、第1NNの複数の層の各重みについての第1勾配を第1教師データに基づき判定する手段と、第2NNの複数の重みのうちの第1グループに属する重みについての第2勾配を第2教師データに基づき判定する第2判定手段と、選択層の複数の重みのうち、第1グループに属する重みについては、第1勾配と第2勾配と、に基づき更新し、選択層の複数の重みのうち、第2グループに属する重みと、第1NNの複数の層のうちの選択層とは異なる層の重みについては、第1勾配に基づき更新する更新手段と、を備えている。
Description
本発明は、情報処理装置、情報処理方法、及びコンピュータ可読記憶媒体に関する。
近年、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)の高速化、メモリの大容量化、及び機械学習技術が急速に進んできている。このため、数十万から百万といったオーダーの学習データを用いる機械学習が可能となり、精度の高い識別技術や分類技術が確立されつつある(非特許文献1参照)。
Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev,Jonathan Long, Ross Girshick, Sergio Guadarrama, and Trevor Darrell. Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the 22nd ACM international conference on Multimedia (pp. 675-678). ACM.
大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるために加工する前処理にも膨大な労力を要する。一方で、機械学習によって生成された学習モデルはデジタルデータであり、その複製は容易である。さらに、一般に学習モデル生成に用いられた学習データを、学習モデル自体から推測することは難しい。
このため、学習モデルを生成した者は、その学習モデルが第三者によって不正に利用されたとしても、不正を立証することが難しい。収集した学習データと、学習データに基づいて生成された学習モデルとはそれぞれ労力をかけて取得した価値あるものであり、不正利用から学習モデルを守ることが望まれている。
本発明の一態様によると、情報処理装置は、第1ニューラルネットワークの複数の層の中から選択した選択層の複数の重みを、第2ニューラルネットワークの複数の重みとして設定する重み設定手段と、前記選択層の複数の重みそれぞれを第1グループ又は第2グループに分類する分類手段と、前記第1ニューラルネットワークの複数の層の各重みについての第1勾配を第1教師データに基づき判定する第1判定手段と、前記第2ニューラルネットワークの複数の重みのうちの前記第1グループに属する重みについての第2勾配を第2教師データに基づき判定する第2判定手段と、前記選択層の複数の重みのうち、前記第1グループに属する重みについては、前記第1判定手段が判定した前記第1勾配と前記第2判定手段が判定した前記第2勾配と、に基づき更新し、前記選択層の複数の重みのうち、前記第2グループに属する重みと、前記第1ニューラルネットワークの複数の層のうちの前記選択層とは異なる層の重みについては、前記第1判定手段が判定した前記第1勾配に基づき更新する更新手段と、を備えている。
本発明によれば、ニューラルネットワークの出所を特定することができる。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
<畳み込みニューラルネットワーク>
実施の形態に係る情報処理装置は、ニューラルネットワーク(NN)のモデルパラメータに透かし情報を埋め込むための装置である。以下では、ニューラルネットワークが、畳み込みニューラルネットワーク(Convolutional Neural Network;CNN)であるものとして実施形態の説明を行う。まず畳み込みニューラルネットワークについて簡単に説明する。
実施の形態に係る情報処理装置は、ニューラルネットワーク(NN)のモデルパラメータに透かし情報を埋め込むための装置である。以下では、ニューラルネットワークが、畳み込みニューラルネットワーク(Convolutional Neural Network;CNN)であるものとして実施形態の説明を行う。まず畳み込みニューラルネットワークについて簡単に説明する。
図1は、畳み込みニューラルネットワークの一般的な機能構成を模式的に示す図である。現在、様々な構成のニューラルネットワークが提案されているが、これらの基本構成は共通である。ニューラルネットワークの基本構成は、複数種類の層の重ね合わせ(又はグラフ構造)で表現される。ニューラルネットワークは、入力データに対する出力結果が適切な値になるようにモデルパラメータを学習する。言い換えると、ニューラルネットワークは、入力データに対する出力結果が適切な値になるように定義された損失関数を最小化するようにモデルパラメータを学習する。
図1において、順伝播型ニューラルネットワークは、入力層(input layer)と、隠れ層(hidden layer)と、出力層(output layer)との3つの層から構成され、入力データは、入力層から出力層へ向けて一方向に伝播する。隠れ層は、グラフ状の複数の層から構成することができる。各層は、複数のユニット(ニューロン)を持つ。各層において、前方層のユニットから後方層のユニットへの入力値に適用するパラメータを、「重み(weight)」と称す。本明細書における学習とは、適切な「重み」を算出することである。
図1は、畳み込みニューラルネットワークを示している。畳み込みニューラルネットワークは、入力層と、畳み込み層(convolutional layer)と、プーリング層(pooling layer)と、全結合層(full-connected layer)と、出力層とから構成される。図1において、第1層L1が入力層であり、第2層L2は畳み込み層である。同様に、第n層Lnが出力層となっている。
実施の形態に係るニューラルネットワークにおける学習とは、教師データの入力データに対する出力層からの出力値と、当該入力データに対応する正解ラベル(以下、単に、ラベルとも呼ぶ。)との誤差を用いて、各層の重みを最適に更新することを意味する。その誤差を算出するために、「損失関数」(loss function)が定義される。誤差は、「誤差逆伝播法」によって出力層側から入力層側へ向けて次々に伝播され、各層の重みは、少しずつ更新される。最終的に、誤差が小さくなるように、各層の重みを適切な値に調整する収束計算を実行する。具体的には、ニューラルネットワークにおける学習(すなわち、新規のモデルパラメータの生成段階)で、誤差を逆伝播させた勾配によって、モデルパラメータを更新する。
図2は、入力データと特徴マップとの畳み込みの関係を説明するための図である。図2における処理は、畳み込み層及び全結合層によって実行される。図2に示す例では、入力データに対して1個の重みフィルタをかけることにより、1枚の特徴マップを生成している。図2において、入力データ、重みフィルタ、及び特徴マップのサイズはそれぞれ以下のとおりである。
入力データ :32×32×3個の要素
重みフィルタ:5×5×3個の要素 (モデルパラメータ)
特徴マップ :28×28個の要素
入力データ :32×32×3個の要素
重みフィルタ:5×5×3個の要素 (モデルパラメータ)
特徴マップ :28×28個の要素
重みフィルタはN個(Nは1以上の整数。)分用意され、これがモデルパラメータとなる。すなわち、「重み」とは、N個の重みフィルタそれぞれの重み(フィルタの要素の値)を意味する。ただし、ここでは、バイアス項は考慮しないものとする。
図3は、重みフィルタを用いた特徴マップの生成を説明するための図である。図3に示す例では、5×5×3個の要素からなる1個の重みフィルタを入力データにかけ、その各要素の積の和を特徴マップの1個の要素の値とする。そして、入力データに対して同じ重みフィルタを移動させることにより、1枚の特徴マップを生成する。ここで、重みフィルタを移動させる要素の数(移動量)を「ストライド(stride)」と称す。入力データの周囲の縁(ふち)には、要素0を埋めたゼロパディング(zero-padding)の領域を設ける。これによって、入力データの縁の要素にも、同数の重みフィルタをあてることができる。
図4は、N個の重みフィルタとN段の特徴マップとの関係を説明するための図である。図4に示す例では、重みフィルタの数はN個である。図2及び図3は、1個の重みフィルタによって1枚の特徴マップを生成する様子を示している。これに対し、図4に示す例は、N個の重みフィルタによってN段の特徴マップを生成する様子を示している。ニューラルネットワークの学習では、ある層における特徴マップが、次の層における入力データとなる。ニューラルネットワークの学習を実行することにより、損失関数に基づく誤差が出力層側から入力層側へ向けて次々に伝播し、既知の誤差逆伝播法によって各層の重みが更新される。
<実施の形態の概要>
以上を前提として、実施の形態の概要を述べる。実施の形態に係る情報処理装置は、ニューラルネットワークを用いて目的タスクを達成するための学習モデルを生成すると同時に、その学習モデルに対して電子的な透かしを埋め込むための装置である。
以上を前提として、実施の形態の概要を述べる。実施の形態に係る情報処理装置は、ニューラルネットワークを用いて目的タスクを達成するための学習モデルを生成すると同時に、その学習モデルに対して電子的な透かしを埋め込むための装置である。
実施の形態に係る情報処理装置は、CPUやGPU等のプロセッサ、DRAM(Dynamic Random Access Memory)等の作業メモリ、及びHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置によって構成される。情報処理装置は、PC(Personal Computer)やワークステーション、サーバ等の単一の装置であってもよいし、クラウドサーバのように複数の装置から構成されてもよい。
図5は、実施の形態に係る情報処理装置が実行する学習処理の概要を説明するための模式図である。実施の形態に係る情報処理装置は、従来のニューラルネットワークと同様に、目的タスク学習用の第1データD1及び第1ラベルT1を含む第1教師データに基づいて、複数の層を備える第1ニューラルネットワークN1の各層Lの各重みについて勾配(以下、第1勾配と呼ぶ。)を求める。例えば、「猫検出」、「山検出」、「自動車検出」のように複数の目的タスクが存在する場合、各目的タスク用の第1データD1と、各第1データD1それぞれに対応する第1ラベルT1を割り当てたデータセットが、第1教師データとなる。
また、実施の形態に係る情報処理装置は、第1ニューラルネットワークを構成する層Lの中から選択した1又はそれ以上の層Lから構成される第2ニューラルネットワークN2も備える。実施の形態に係る情報処理装置は、透かし検出用の第2データD2及び第2ラベルT2を含む第2教師データに基づいて、第2ニューラルネットワークN2における層Lの各重みについて勾配(以下、第2勾配と呼ぶ。)を求める。なお、第2教師データは、1つの第2データD2と、それに対応する第2ラベルT2とのペアである。第2ラベルT2が透かしである。したがって、埋め込む透かしを異ならせる場合、異なるペアを使用する。図5は、第1ニューラルネットワークN1における第2層L2が、第2ニューラルネットワークN2を構成する層として選択された場合の例を示している。
詳細は後述するが、実施の形態に係る情報処理装置は、第1ニューラルネットワークN1から選択した層L(本例では第2層L2)の重みフィルタを1次元に展開して重み更新用ベクトルWを生成する。実施の形態に係る情報処理装置は、透かし検出用の第2データD2と、生成した重み更新用ベクトルWとに対して所定の演算を行って第2ニューラルネットワークN2の出力である第2出力O2を求める。例えば、重み更新用ベクトルWがK個の重みを含むベクトルであり、第2ラベルT2をBビットとする。この場合、第2データD2は、B行K列の行列とすることができる。そして、第2ニューラルネットワークN2は、この行列と重み更新用ベクトルWとの積を求めて、Bビットの第2出力O2を求める。なお、B行K列の行列の要素の値と、第2ラベルT2の各ビットの値は、任意に選択することできる。実施の形態に係る情報処理装置は、第2出力O2と、第2ラベルT2との第2誤差E2に基づいて、誤差逆伝搬法により、重み更新用ベクトルの各重みについて第2勾配を求める。
ここで、実施の形態に係る情報処理装置は、第2ニューラルネットワークN2における重み更新用ベクトルWに対して、マスクデータMを設定する。マスクデータMは、重み更新用ベクトルWの各重みについて、第2勾配を強制的に0とするか否か、或いは、第2勾配を求めるか否かを示している。つまり、マスクデータは、重み更新用ベクトルWの重みそれぞれが第1グループに属するか第2グループに属するかを示すデータである。ここで、第1グループに属する重みは第2勾配を求める重みであり、第2グループに属する重みは第2勾配を求めない(或いは、第2勾配を強制的に0にする)重みである。図5に示す例では、マスクデータMにおいて黒色の矩形に白抜きの×印で示す部分が、第2勾配を求めない箇所である。
実施の形態に係る情報処理装置は、透かし検出用の第2ラベルT2が異なる場合、すなわち埋め込む透かしが異なる場合、重み更新を禁止する箇所が異なるマスクデータMを設定する。これにより、実施の形態に係る情報処理装置は、第1ニューラルネットワークを構成する層の中から選択した1又はそれ以上の層に対し、異なるマスクデータの数だけ異なる透かしを埋め込むことができる。
上述した様に、第1ニューラルネットワークN1については、総ての層の総ての重みについて第1教師データに基づき第1勾配が算出される。また、第2ニューラルネットワークN2を構成する層として選択された第2層L2の複数の重みのうち、マスクデータMが第1グループであると示している重みについては、第2ニューラルネットワークN2と第2教師データに基づき第2勾配が求められる。実施の形態に係る情報処理装置は、第1ニューラルネットワークN1の各層Lの重みのうち、第1勾配のみが求められた重みについては、第1勾配のみにより更新を行う。一方、第1ニューラルネットワークN1の複数の層のうち、第2ニューラルネットワークを構成する層として選択された層の重みのうち、第1勾配と第2勾配が求められた重みについては、第1勾配及び第2勾配に基づき、より詳しくは、第1勾配と第2勾配との和に基づき更新を行う。そして、第1ニューラルネットワークN1の各層Lの重みを更新すると、更新後の重みに基づき、再度、第2ニューラルネットワークN2の重み更新用ベクトルWを求める。実施の形態に係る情報処理装置は、第2ニューラルネットワークN2の重み更新用ベクトルWを求めることと、第1勾配の算出と、第2勾配の算出と、第1ニューラルネットワークN1の各重みの更新を繰り返すことで、目的タスクのための学習と透かし埋め込みのための学習とを同時に実現する。なお、最初に第2ニューラルネットワークN2の重み更新用ベクトルWを求めた後、重み更新用ベクトルWの重みについても、当該重みについて求めた第2勾配と、第1ニューラルネットワークN1において当該重みについて求めた第1勾配との和に基づき更新する構成とすることができる。この場合、実施の形態に係る情報処理装置は、第1勾配の算出と、第2勾配の算出と、第1ニューラルネットワークN1及び第2ニューラルネットワークN2の各重みの更新を繰り返すことになる。なお、以下では、前者の方法、つまり、第1ニューラルネットワークN1の重みのみを更新し、更新後、再度、第2ニューラルネットワークN2の重み更新用ベクトルWを求めるものとする。なお、この場合、第2ニューラルネットワークN2の重み更新用ベクトルWの元となる第1ニューラルネットワークの層(本例では、第2層L2)は、繰り返しにおいて同じものとする。
<実施の形態に係る情報処理装置の機能構成>
以下、実施の形態に係る情報処理装置についてより詳細に説明する。図6は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部10と制御部20とを備える。制御部20は、透かし用重み設定部21、マスク設定部22、勾配判定部23及び重み更新部24を備える。
以下、実施の形態に係る情報処理装置についてより詳細に説明する。図6は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部10と制御部20とを備える。制御部20は、透かし用重み設定部21、マスク設定部22、勾配判定部23及び重み更新部24を備える。
記憶部10は、情報処理装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や情報処理装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。記憶部10は、第1教師データ、第2教師データ、第1ニューラルネットワークN1の構成を示す情報、例えば、第1ニューラルネットワークN1の各重みフィルタの初期値等の情報を保持している。
制御部20は、情報処理装置1のCPUやGPU等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによって透かし用重み設定部21、マスク設定部22、勾配判定部23及び重み更新部24として機能する。
透かし用重み設定部21は、第1ニューラルネットワークN1を構成する層Lの中から選択した1又はそれ以上の層Lの重みを、透かし埋め込みタスク用の第2ニューラルネットワークN2を構成する層Lの重みとして設定する。ここで、透かし用重み設定部21は、第1ニューラルネットワークN1を構成する1又はそれ以上の層Lのうち、第1ニューラルネットワークN1の入力層Lに近い側に存在する層Lを優先して選択する。これにより、実施の形態に係る情報処理装置1が生成した学習モデルが事後的にファインチューニングによって改変されたとしても、透かしを埋め込んだ層Lが変更される可能性を減らすことができる。一般に、出力層に近い層Lであるほど、ファインチューニングによって改変される確率が高まるからである。
図7は、実施の形態に係る透かし用重み設定部21による重み設定処理を説明するための図である。具体的には、図7は、5×5×3個の要素からなる重みフィルタに基づいて、透かし用重み設定部21が重み更新用ベクトルWを生成する過程を示している。
参照符号50は、5×5×3個の要素からなる重みフィルタFを示している。透かし用重み設定部21は、5×5×3個の要素からなる重みフィルタを、まず縦5、横5合わせて25個の要素からなる3つの2次元重みフィルタ(F1、F2、及びF3)に分割する。参照符号51は、5×5×3個の要素からなる重みフィルタを分割して得られる第1重みフィルタF1、第2重みフィルタF2、及び第3重みフィルタF3を示している。
続いて、透かし用重み設定部21は、第1重みフィルタF1、第2重みフィルタF2、及び第3重みフィルタF3それぞれを、5×5=25個の要素からなる3つの列ベクトル(V1、V2、及びV3)に展開する。参照符号52は、第1重みフィルタF1、第2重みフィルタF2、及び第3重みフィルタF3それぞれを展開して得られる第1列ベクトルV1、第2列ベクトルV2、及び第3列ベクトルV3を模式的に示す図である。
最後に、透かし用重み設定部21は、第1列ベクトルV1、第2列ベクトルV2、及び第3列ベクトルV3を順に連結して25×3=75個の要素からなる一つの列ベクトルVを生成し、これを重み更新用ベクトルWとする。ここで、図4を参照して説明したように、透かし用重み設定部21が選択した層LがN個の重みフィルタNを備える場合、透かし用重み設定部21は、各フィルタを同様に列ベクトルに展開したうえで順番につなげ、75×N個の要素からなる新たな列ベクトルを生成する。透かし用重み設定部21は、生成した列ベクトルを重み更新用ベクトルWとする。
マスク設定部22は、マスクデータMを設定する。図8Aは、重み更新用ベクトルWと、マスクデータMと、第2ラベルT2との関係を示している。図8Aに示すように、マスクデータMの形状及びサイズは、重み更新用ベクトルWと、同じである。図8Aに示す重み更新用ベクトルWにおいて、一つの矩形は一つの重みを示している。
マスクデータMにおいて、白抜きの矩形は、対応する重みが第1グループであることを示し、斜線を付した矩形は、対応する重みが第2グループであることを示している。なお、第1グループの重みは第2勾配を求める重みであり、第2グループの重みは第2勾配を求めない、或いは、強制的に0にする重みである。なお、第1グループに属する重みの数は、例えば、第2ラベルT2のビット数と同じとする。図8Aに示す例では、重み更新用ベクトルWの上部の6個の重みについては、第2勾配と、第1ニューラルネットワークの対応する重みについての第1勾配との和に基づき更新されることになる。一方、重み更新用ベクトルWの上部の6個以外の重みについては、第2勾配を求めない、或いは、第2勾配を強制的に0とするため、第1ニューラルネットワークの対応する重みについての第1勾配のみに基づき更新されることになる。第2ラベルT2のビット長は、重み更新用ベクトルWの長さ、埋め込むべき透かしの数、及び透かしデータの複雑性等を勘案して定めればよい。
図8Bは、3つの異なるマスクデータMと、それらに対応する3つの異なる第2ラベルT2を示す図である。より具体的には、図8Bは、第1マスクデータM1、第2マスクデータM2、及び第3マスクデータM3と、各マスクデータMに対応する第2ラベルT2a、第2ラベルT2b、及び第2ラベルT2cを示している。この様に、マスク設定部23は、第2教師データが異なると、異なるマスクデータMを設定する。図8Bに示すように、第1マスクデータM1、第2マスクデータM2、及び第3マスクデータM3が示す第1グループの重みは重複しない。マスク設定部22は、異なる第2ラベルT2(すなわち、異なる透かし検出用の第2データD2)を学習する際には、異なるマスクデータMを設定する。この構成により、第1ニューラルネットワークN1に、第2ラベルT2aをまず埋め込み、その後、第1ニューラルネットワークN1のバージョンを更新する際に、第2ラベルT2bを埋め込むことができる。
勾配判定部23は、第1ニューラルネットワークN1の総ての層の各重みについて第1教師データに基づき第1勾配を求める。また、勾配判定部23は、第2ニューラルネットワークN2の重み更新用ベクトルWのうち、マスクデータが第1グループであると示している重みについて第2勾配を求める。或いは、勾配判定部23は、第2ニューラルネットワークN2の重み更新用ベクトルWの各重みについて第2勾配を求め、その後、第2グループの重みについては第2勾配を強制的に0とする。重み更新部24は、第1ニューラルネットワークN1の複数の層の各重みのうち、第1勾配のみが求められている重みについては第1勾配に基づき更新を行う。一方、重み更新部24は、第1ニューラルネットワークN1の複数の層の各重みのうち、第1勾配と第2勾配の両方が求められている重みについては第1勾配と第2勾配とに基づき更新を行う。第1ニューラルネットワークN1の更新後の重みは、透かし用重み設定部21に通知され、透かし用重み設定部21は、第1ニューラルネットワークN1の更新後の重みに基づき重み更新用ベクトルWを生成する。以後、この処理が繰り返される。なお、繰り返しにおいて、透かし用重み設定部21とマスク設定部22の処理は同じである。つまり、透かし用重み設定部21が重み更新用ベクトルWを生成するために使用する第1ニューラルネットワークN1の層と、当該層の重み更新用ベクトルWへの展開方法は同じである。また、マスク設定部22が生成するマスクデータMは同じである。
ここで、勾配判定部23は、マスクデータMが第1グループであると示している重み更新用ベクトルWの重みに対応する、第1ニューラルネットワークN1の重みについての第1勾配を強制的に0(或いは、第1勾配を求めない)としても良い。この場合、第1勾配を強制的に0とする(或いは、第1勾配を求めない)第1ニューラルネットワークN1の重みは、第2勾配のみより更新され、よって、目的タスクの学習に寄与せずに透かしの埋め込みのためにのみ用いられることになる。目的タスクの学習に寄与する重みが減少する分、第1ニューラルネットワークN1の学習能力が減少することになるが、透かし用重み設定部21が選択した層Lよりも出力側に十分な数の層があれば、目的タスクの実質的な影響は少ないと考えられる。むしろ、当該重みを透かしの埋め込み専用に割り当てることになり、透かし埋め込みの信頼性を向上させることができる。
また、第2ニューラルネットワークN2の出力である第2出力O2は、透かし検出用の第2データD2と、生成した重み更新用ベクトルWとに対して所定の演算を行って求めるものとした。このとき、マスクデータMが第2グループであると示している重み更新用ベクトルWの重みについては、その値が0であるものとして第2データD2との演算を行う構成とすることができる。この場合には、第2勾配を求める際にも、第2グループの重みを0にして、第2データD2との演算を行う。第2グループの重みは、第1勾配のみにより更新され、第2ラベルT2の生成には寄与しない。したがって、第2グループの重みを0として演算を行うことで、第2出力O2を第2ラベルT2に近づけることができる。
<情報処理装置1が実行する情報処理の処理フロー>
図9は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
図9は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
制御部20は、記憶部10から目的タスク学習用の第1データD1及び第1ラベルT1を読み出して取得する(S2)。制御部20は、記憶部10から透かし検出用の第2データD2及び第2ラベルT2を読み出して取得する(S4)。
透かし用重み設定部21は、第1ニューラルネットワークN1を構成する層Lの中から選択した1又はそれ以上の層Lの重みを、透かし埋め込みタスク用の第2ニューラルネットワークN2を構成する層Lの重みとして選択する(S6)。マスク設定部22は、マスクデータMを設定する(S8)。
勾配判定部23は、第2ニューラルネットワークN2の出力と透かし検出用ラベルの誤差である第2誤差E2を最小化するように、重み更新用ベクトルWの第1グループの重みについて第2勾配を求める。さらに、勾配判定部23は、第1ニューラルネットワークN1の出力と第1ラベルT1との誤差である第1誤差E1を最小化するように、第1ニューラルネットワークN1の各重みについて第1勾配を求める。重み更新部24は、上述した様に、第1ニューラルネットワークN1の複数の層それぞれの重みを更新する。(S12)。
情報処理装置1は、第1誤差E1と第2誤差E2とのそれぞれが所定の閾値以下となるまで、図9の処理を繰り返す。第1誤差E1と第2誤差E2とのそれぞれが所定の閾値以下となると、本フローチャートにおける処理は終了する。
<情報処理装置1が奏する効果>
例えば、あるニューラルネットワークが使用している重みフィルタから図7で説明した様に重み更新ベクトルWを生成し、この重み更新ベクトルWと第2データD2とに対して第2ニューラルネットワークN2で定義された所定の演算を行って第2出力O2を求める。この第2出力O2と第2ラベルT2とを比較することで、あるニューラルネットワークの出所を特定することができる。具体的には、例えば、第2出力O2と第2ラベルT2との対応する要素の差が総て閾値以内であると、ニューラルネットワークは、透かしである第2ラベルT2が埋め込まれたものと判定することができる。また、マスク設定部22は、透かし検出用の第2データD2及び第2ラベルT2を含む第2教師データに対応付けて、マスクデータMを設定するので、複数の透かしデータを埋め込むことができる。これにより、例えば、学習モデルのバージョンや権利保有者毎に異なる透かしを学習モデルに挿入できる。
例えば、あるニューラルネットワークが使用している重みフィルタから図7で説明した様に重み更新ベクトルWを生成し、この重み更新ベクトルWと第2データD2とに対して第2ニューラルネットワークN2で定義された所定の演算を行って第2出力O2を求める。この第2出力O2と第2ラベルT2とを比較することで、あるニューラルネットワークの出所を特定することができる。具体的には、例えば、第2出力O2と第2ラベルT2との対応する要素の差が総て閾値以内であると、ニューラルネットワークは、透かしである第2ラベルT2が埋め込まれたものと判定することができる。また、マスク設定部22は、透かし検出用の第2データD2及び第2ラベルT2を含む第2教師データに対応付けて、マスクデータMを設定するので、複数の透かしデータを埋め込むことができる。これにより、例えば、学習モデルのバージョンや権利保有者毎に異なる透かしを学習モデルに挿入できる。
また、上記では、目的タスクとして教師あり学習について説明したが、目的タスクとしては教師あり学習以外の学習方法(例えば、強化学習、教師なし学習、半教師あり学習等)において本手法を適用し学習させてもよい。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
本願は、2017年3月31日提出の日本国特許出願特願2017-071874を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。
Claims (7)
- 第1ニューラルネットワークの複数の層の中から選択した選択層の複数の重みを、第2ニューラルネットワークの複数の重みとして設定する重み設定手段と、
前記選択層の複数の重みそれぞれを第1グループ又は第2グループに分類する分類手段と、
前記第1ニューラルネットワークの複数の層の各重みについての第1勾配を第1教師データに基づき判定する第1判定手段と、
前記第2ニューラルネットワークの複数の重みのうちの前記第1グループに属する重みについての第2勾配を第2教師データに基づき判定する第2判定手段と、
前記選択層の複数の重みのうち、前記第1グループに属する重みについては、前記第1判定手段が判定した前記第1勾配と前記第2判定手段が判定した前記第2勾配と、に基づき更新し、前記選択層の複数の重みのうち、前記第2グループに属する重みと、前記第1ニューラルネットワークの複数の層のうちの前記選択層とは異なる層の重みについては、前記第1判定手段が判定した前記第1勾配に基づき更新する更新手段と、
を備える、情報処理装置。 - 前記第1判定手段は、前記第1ニューラルネットワークの前記選択層の複数の重みのうち、前記第1グループに属する重みについては、前記第1勾配を0にする、請求項1に記載の情報処理装置。
- 前記分類手段は、前記第2教師データに応じて前記選択層の複数の重みそれぞれを前記第1グループ又は前記第2グループに分類し、
異なる前記第2教師データに対して前記第1グループが示す前記選択層の重みは重複しない、請求項1又は2に記載の情報処理装置。 - 前記重み設定手段は、前記第1ニューラルネットワークの複数の層のうち、前記第1ニューラルネットワークの入力層に近い層を優先して前記選択層として選択する、請求項1から3のいずれか一項に記載の情報処理装置。
- 前記第2判定手段は、前記第2ニューラルネットワークの複数の重みのうち、前記第2グループに属する重みについてはその値を0として前記第2勾配を判定する、請求項1から4のいずれか一項に記載の情報処理装置。
- プロセッサが、
第1ニューラルネットワークの複数の層の中から選択層を選択することと、
前記選択層を、第2ニューラルネットワークを構成する層として設定することと、
前記選択層の複数の重みそれぞれを第1グループ又は第2グループに分類することと、
前記第1ニューラルネットワークの複数の層の各重みについての第1勾配を第1教師データに基づき判定することと、
前記第2ニューラルネットワークを構成する前記選択層の複数の重みのうち、前記第1グループに属する重みについての第2勾配を第2教師データに基づき判定することと、
前記選択層の複数の重みのうち、前記第1グループに属する重みについては、前記第1勾配と前記第2勾配と、に基づき更新し、前記選択層の複数の重みのうち、前記第2グループに属する重みと、前記第1ニューラルネットワークの複数の層のうちの前記選択層とは異なる層の重みについては、前記第1勾配に基づき更新することと、
を実行する、情報処理方法。 - プログラムを格納するコンピュータ可読記憶媒体であって、
前記プログラムは、1つ以上のプロセッサで実行されると、前記1つ以上のプロセッサに、
第1ニューラルネットワークの複数の層の中から選択層を選択することと、
前記選択層を、第2ニューラルネットワークを構成する層として設定することと、
前記選択層の複数の重みそれぞれを第1グループ又は第2グループに分類することと、
前記第1ニューラルネットワークの複数の層の各重みについての第1勾配を第1教師データに基づき判定することと、
前記第2ニューラルネットワークを構成する前記選択層の複数の重みのうち、前記第1グループに属する重みについての第2勾配を第2教師データに基づき判定することと、
前記選択層の複数の重みのうち、前記第1グループに属する重みについては、前記第1勾配と前記第2勾配と、に基づき更新し、前記選択層の複数の重みのうち、前記第2グループに属する重みと、前記第1ニューラルネットワークの複数の層のうちの前記選択層とは異なる層の重みについては、前記第1勾配に基づき更新することと、
を実行させる、コンピュータ可読記憶媒体。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201880019190.8A CN110462639B (zh) | 2017-03-31 | 2018-03-06 | 信息处理设备、信息处理方法及计算机可读存储介质 |
EP18776622.5A EP3605400A4 (en) | 2017-03-31 | 2018-03-06 | INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND COMPUTER READABLE STORAGE MEDIUM |
US16/532,812 US11461641B2 (en) | 2017-03-31 | 2019-08-06 | Information processing apparatus, information processing method, and computer-readable storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017-071874 | 2017-03-31 | ||
JP2017071874A JP6657137B2 (ja) | 2017-03-31 | 2017-03-31 | 情報処理装置、情報処理方法、及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/532,812 Continuation US11461641B2 (en) | 2017-03-31 | 2019-08-06 | Information processing apparatus, information processing method, and computer-readable storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018180263A1 true WO2018180263A1 (ja) | 2018-10-04 |
Family
ID=63677312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2018/008445 WO2018180263A1 (ja) | 2017-03-31 | 2018-03-06 | 情報処理装置、情報処理方法、及びコンピュータ可読記憶媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11461641B2 (ja) |
EP (1) | EP3605400A4 (ja) |
JP (1) | JP6657137B2 (ja) |
CN (1) | CN110462639B (ja) |
WO (1) | WO2018180263A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021083111A1 (zh) * | 2019-10-29 | 2021-05-06 | 阿里巴巴集团控股有限公司 | 一种水印信息嵌入方法以及装置 |
US11461641B2 (en) | 2017-03-31 | 2022-10-04 | Kddi Corporation | Information processing apparatus, information processing method, and computer-readable storage medium |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11531877B2 (en) * | 2017-11-10 | 2022-12-20 | University of Pittsburgh—of the Commonwealth System of Higher Education | System and method of deploying an artificial neural network on a target device |
JP6964066B2 (ja) * | 2018-12-17 | 2021-11-10 | Kddi株式会社 | 情報処理装置、透かし生成方法、及びプログラム |
BR112021010468A2 (pt) * | 2018-12-31 | 2021-08-24 | Intel Corporation | Sistemas de segurança que empregam inteligência artificial |
US11645586B2 (en) | 2019-10-10 | 2023-05-09 | Baidu Usa Llc | Watermark unit for a data processing accelerator |
US11709712B2 (en) * | 2019-10-10 | 2023-07-25 | Baidu Usa Llc | Method and system for artificial intelligence model training using a watermark-enabled kernel for a data processing accelerator |
US11775347B2 (en) * | 2019-10-10 | 2023-10-03 | Baidu Usa Llc | Method for implanting a watermark in a trained artificial intelligence model for a data processing accelerator |
US11740940B2 (en) * | 2019-10-10 | 2023-08-29 | Baidu Usa Llc | Method and system for making an artifical intelligence inference using a watermark-inherited kernel for a data processing accelerator |
US11443243B2 (en) | 2019-10-10 | 2022-09-13 | Baidu Usa Llc | Method and system for artificial intelligence model training using a watermark-enabled kernel for a data processing accelerator |
US11537689B2 (en) | 2019-10-10 | 2022-12-27 | Baidu Usa Llc | Method and system for signing an artificial intelligence watermark using a kernel |
US11645116B2 (en) * | 2019-10-10 | 2023-05-09 | Baidu Usa Llc | Method and system for making an artificial intelligence inference using a watermark-enabled kernel for a data processing accelerator |
CN115398425A (zh) * | 2020-04-01 | 2022-11-25 | 瑞典爱立信有限公司 | 神经网络加水印 |
JP7339219B2 (ja) | 2020-08-19 | 2023-09-05 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016043734A1 (en) * | 2014-09-17 | 2016-03-24 | Hewlett Packard Enterprise Development Lp | Neural network verification |
JP2017071874A (ja) | 2015-10-07 | 2017-04-13 | 王子ホールディングス株式会社 | 脱墨古紙パルプの製造方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438493B1 (en) * | 2000-09-29 | 2002-08-20 | Exxonmobil Upstream Research Co. | Method for seismic facies interpretation using textural analysis and neural networks |
US6560540B2 (en) * | 2000-09-29 | 2003-05-06 | Exxonmobil Upstream Research Company | Method for mapping seismic attributes using neural networks |
US6662112B2 (en) * | 2001-08-31 | 2003-12-09 | Exxonmobil Upstream Research Company | Method for classifying AVO data using an interpreter-trained neural network |
US9373059B1 (en) * | 2014-05-05 | 2016-06-21 | Atomwise Inc. | Systems and methods for applying a convolutional network to spatial data |
KR102305584B1 (ko) * | 2015-01-19 | 2021-09-27 | 삼성전자주식회사 | 언어 모델 학습 방법 및 장치, 언어 인식 방법 및 장치 |
WO2016145516A1 (en) * | 2015-03-13 | 2016-09-22 | Deep Genomics Incorporated | System and method for training neural networks |
US10438112B2 (en) * | 2015-05-26 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus of learning neural network via hierarchical ensemble learning |
US11017019B1 (en) * | 2015-08-14 | 2021-05-25 | Shutterstock, Inc. | Style classification for authentic content search |
US20170212829A1 (en) * | 2016-01-21 | 2017-07-27 | American Software Safety Reliability Company | Deep Learning Source Code Analyzer and Repairer |
WO2017176356A2 (en) * | 2016-02-11 | 2017-10-12 | William Marsh Rice University | Partitioned machine learning architecture |
US10922604B2 (en) * | 2016-09-09 | 2021-02-16 | Cylance Inc. | Training a machine learning model for analysis of instruction sequences |
US20180075347A1 (en) * | 2016-09-15 | 2018-03-15 | Microsoft Technology Licensing, Llc | Efficient training of neural networks |
US10546237B2 (en) * | 2017-03-30 | 2020-01-28 | Atomwise Inc. | Systems and methods for correcting error in a first classifier by evaluating classifier output in parallel |
JP6657137B2 (ja) | 2017-03-31 | 2020-03-04 | Kddi株式会社 | 情報処理装置、情報処理方法、及びプログラム |
-
2017
- 2017-03-31 JP JP2017071874A patent/JP6657137B2/ja active Active
-
2018
- 2018-03-06 EP EP18776622.5A patent/EP3605400A4/en not_active Withdrawn
- 2018-03-06 WO PCT/JP2018/008445 patent/WO2018180263A1/ja active Application Filing
- 2018-03-06 CN CN201880019190.8A patent/CN110462639B/zh active Active
-
2019
- 2019-08-06 US US16/532,812 patent/US11461641B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016043734A1 (en) * | 2014-09-17 | 2016-03-24 | Hewlett Packard Enterprise Development Lp | Neural network verification |
JP2017071874A (ja) | 2015-10-07 | 2017-04-13 | 王子ホールディングス株式会社 | 脱墨古紙パルプの製造方法 |
Non-Patent Citations (1)
Title |
---|
YANGQING JIAEVAN SHELHAMERJEFF DONAHUESERGEY KARAYEVJONATHAN LONGROSS GIRSHICKSERGIO GUADARRAMATREVOR DARRELL: "Proceedings of the 22nd ACM international conference on Multimedia", ACM, article "Caffe: Convolutional architecture for fast feature embedding", pages: 675 - 678 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461641B2 (en) | 2017-03-31 | 2022-10-04 | Kddi Corporation | Information processing apparatus, information processing method, and computer-readable storage medium |
WO2021083111A1 (zh) * | 2019-10-29 | 2021-05-06 | 阿里巴巴集团控股有限公司 | 一种水印信息嵌入方法以及装置 |
US11941721B2 (en) | 2019-10-29 | 2024-03-26 | Alibaba Group Holding Limited | Using watermark information and weight information to train an embedded neural network model |
Also Published As
Publication number | Publication date |
---|---|
EP3605400A4 (en) | 2020-04-15 |
CN110462639B (zh) | 2023-09-22 |
US11461641B2 (en) | 2022-10-04 |
US20190362232A1 (en) | 2019-11-28 |
EP3605400A1 (en) | 2020-02-05 |
JP6657137B2 (ja) | 2020-03-04 |
CN110462639A (zh) | 2019-11-15 |
JP2018173843A (ja) | 2018-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018180263A1 (ja) | 情報処理装置、情報処理方法、及びコンピュータ可読記憶媒体 | |
JP7186797B2 (ja) | 量子計算のための方法及びシステム | |
JP6823523B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US11836610B2 (en) | Concurrent training of functional subnetworks of a neural network | |
JP6778670B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP5864684B1 (ja) | 半導体装置 | |
JP7291670B2 (ja) | 推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置 | |
JP2018129036A (ja) | 画像の補完 | |
JP6908553B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6741636B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6643905B2 (ja) | 機械学習方法および機械学習装置 | |
KR102442055B1 (ko) | 전자 장치 및 그 제어 방법 | |
CN116883545A (zh) | 基于扩散模型的图片数据集扩充方法、介质及设备 | |
CN112819151A (zh) | 用于识别图像的方法和设备以及训练方法 | |
JP2022008236A (ja) | ニューロモルフィック装置及びニューラルネットワークを具現する方法 | |
TWI758223B (zh) | 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體 | |
CN116523725A (zh) | 一种神经网络模型的水印处理方法和装置 | |
JP6920263B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2019168911A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
WO2019064461A1 (ja) | 学習ネットワーク生成装置、及び学習ネットワーク生成プログラム | |
Mentor et al. | GENERATIVE MODELS FOR IMAGE RECONSTRUCTION OF HETEROGENEOUS MATERIALS | |
TW202338668A (zh) | 用於神經網路訓練的稀疏性掩蔽方法 | |
JP2022115518A (ja) | 情報処理プログラム,情報処理方法および情報処理装置 | |
KR20230055640A (ko) | 프루닝에 의한 손실이 보상된 신경망을 생성하는 방법 및 장치 | |
CN116310579A (zh) | 车辆损伤检测方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18776622 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2018776622 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2018776622 Country of ref document: EP Effective date: 20191031 |