【文献】
Zhang, Jialong et al.,"Protecting Intellectual Property of Deep Neural Networks with Watermarking",ASIACCS'18: Proceedings of the 2018 on Asia Conference on Computer and Communications Security,米国,Association for Computing Machinery,2018年 5月,pp.159-172
(58)【調査した分野】(Int.Cl.,DB名)
入力された画像データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルを出力するように機械学習された学習モデルを取得するモデル取得部と、
前記学習モデルに埋め込むための透かしパターンを取得する透かしパターン取得部と、
前記学習モデルに前記透かしパターンを埋め込むための再学習に用いる再学習用学習データを構成する透かし用画像データセットを取得する画像取得部と、
前記透かし用画像データセットに含まれる画像データと同数のパターンであって、各パターンの重ね合わせが前記透かしパターンとなる複数のパターンを取得する重畳用パターン取得部と、
前記透かし用画像データセットに含まれる画像データと前記複数のパターンとの組み合わせを前記再学習用学習データとして生成する学習用データ生成部と、
を備える情報処理装置。
透かし検出の対象とする学習モデルであって、入力された画像データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルを出力するように機械学習された学習モデルを取得するモデル取得部と、
学習モデルに埋め込まれた透かしを検出するための透かし用画像データセットを取得する画像取得部と、
前記透かし用画像データセットに含まれる画像データそれぞれを入力とする前記学習モデルの出力である複数の識別ラベルを取得するモデル適用部と、
前記複数の識別ラベルを重ね合わせて生成されるパターンを出力するパターン出力部と、
を備える透かし検出装置。
【発明の概要】
【発明が解決しようとする課題】
【0004】
大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるために加工する前処理にも膨大な労力を要する。一方で、機械学習によって生成された学習モデルはデジタルデータであり、その複製は容易である。さらに、一般に学習モデル生成に用いられた学習データを、学習モデル自体から推測することは難しい。
【0005】
このため、学習モデルを生成した者は、その学習モデルが第三者によって不正に利用されたとしても、不正を立証することが難しい。収集した学習データと、学習データに基づいて生成された学習モデルとはそれぞれ労力をかけて取得した価値あるものであり、不正利用から学習モデルを守ることが望まれている。
【0006】
本発明はこれらの点に鑑みてなされたものであり、学習モデルの出所を特定できるようにする技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の態様は、情報処理装置である。この装置は、入力された画像データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルを出力するように機械学習された学習モデルを取得するモデル取得部と、前記学習モデルに埋め込むための透かしパターンを取得する透かしパターン取得部と、前記学習モデルに前記透かしパターンを埋め込むための再学習に用いる再学習用学習データを構成する透かし用画像データセットを取得する画像取得部と、前記透かし用画像データセットに含まれる画像データと同数のパターンであって、各パターンの重ね合わせが前記透かしパターンとなる複数のパターンを取得する重畳用パターン取得部と、前記透かし用画像データセットに含まれる画像データと前記複数のパターンとの組み合わせを前記再学習用学習データとして生成する学習用データ生成部と、を備える。
【0008】
前記情報処理装置は、前記透かし用画像データセットに含まれる画像データそれぞれを入力とする前記学習モデルの出力である複数の識別ラベルを取得するモデル適用部をさらに備えてもよく、前記重畳用パターン取得部は、前記モデル適用部が取得した複数の識別ラベルの重ね合わせが前記透かしパターンとなるように、前記複数の識別ラベルのうちの少なくとも一部の識別ラベルを修正した識別ラベルを前記パターンとして取得してもよく、前記学習用データ生成部は、各識別ラベルと当該識別ラベルに対応する前記画像データとの組み合わせを前記再学習用学習データとして生成してもよい。
【0009】
前記情報処理装置は、前記再学習用学習データを用いて前記学習モデルを再学習する学習実行部をさらに備えてもよい。
【0010】
前記識別ラベルは、前記複数の識別対象と同数の要素から構成されるベクトルであってもよく、前記透かしパターンは、前記識別ラベルの要素と同数の画素から構成される画像であってもよく、前記学習用データ生成部は、前記複数の識別ラベルそれぞれの要素を所定の手順にしたがって2次元データに変換する変換部と、前記変換部が変換した複数の2次元データのそれぞれと前記透かしパターンとに基づいて、前記2次元データそれぞれを修正する修正部と、を備えてもよく、前記変換部は、修正された前記2次元データを前記識別ラベルの形式に変換してもよい。
【0011】
前記学習用データ生成部は、前記変換部が変換した2次元データと前記透かしパターンとの差異が所定の除外条件を満たす場合、当該2次元データに対応する画像データを前記透かし用画像データセットから除外する画像選択部をさらに備えてもよい。
【0012】
前記透かしパターン取得部は、前記学習モデルに埋め込むための2以上の異なる透かしパターンを取得してもよく、前記画像取得部は、前記異なる透かしパターンそれぞれに対応する複数の前記透かし用画像データセットを取得してもよく、前記学習用データ生成部は、前記異なる透かしパターンそれぞれに対応する前記再学習用学習データを生成してもよい。
【0013】
本発明の第2の態様は、情報処理方法である。この方法において、プロセッサが、入力された画像データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルを出力するように機械学習された学習モデルを取得するステップと、前記学習モデルに埋め込むための透かしパターンを取得するステップと、前記学習モデルに前記透かしパターンを埋め込むための再学習に用いる再学習用学習データを構成する透かし用画像データセットを取得するステップと、前記透かし用画像データセットに含まれる画像データと同数のパターンであって、各パターンの重ね合わせが前記透かしパターンとなる複数のパターンを取得するステップと、前記透かし用画像データセットに含まれる画像データと前記複数のパターンとの組み合わせを前記再学習用学習データとして生成するステップと、を実行する。
【0014】
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、入力された画像データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルを出力するように機械学習された学習モデルを取得する機能と、前記学習モデルに埋め込むための透かしパターンを取得する機能と、前記学習モデルに前記透かしパターンを埋め込むための再学習に用いる再学習用学習データを構成する透かし用画像データセットを取得する機能と、前記透かし用画像データセットに含まれる画像データと同数のパターンであって、各パターンの重ね合わせが前記透かしパターンとなる複数のパターンを取得する機能と、前記透かし用画像データセットに含まれる画像データと前記複数のパターンとの組み合わせを前記再学習用学習データとして生成する機能と、を実現させる。
【0015】
本発明の第4の態様は、透かし検出装置である。この装置は、透かし検出の対象とする学習モデルであって、入力された画像データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルを出力するように機械学習された学習モデルを取得するモデル取得部と、学習モデルに埋め込まれた透かしを検出するための透かし用画像データセットを取得する画像取得部と、前記透かし用画像データセットに含まれる画像データそれぞれを入力とする前記学習モデルの出力である複数の識別ラベルを取得するモデル適用部と、前記複数の識別ラベルを重ね合わせて生成されるパターンを出力するパターン出力部と、を備える。
【0016】
前記透かし検出装置は、検証対象となる透かしパターンを取得する透かしパターン取得部と、前記パターン出力部が出力したパターンと前記透かしパターンとを比較可能な態様で提示するパターン提示部と、を備えてもよい。
【0017】
本発明の第5の態様は、透かし検出方法である。この方法において、プロセッサが、透かし検出の対象とする学習モデルであって、入力された画像データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルを出力するように機械学習された学習モデルを取得するステップと、学習モデルに埋め込まれた透かしを検出するための透かし用画像データセットを取得するステップと、前記透かし用画像データセットに含まれる画像データそれぞれを入力とする前記学習モデルの出力である複数の識別ラベルを取得するステップと、前記複数の識別ラベルを重ね合わせて生成されるパターンを出力するステップと、を実行する。
【0018】
本発明の第6の態様は、プログラムである。このプログラムは、コンピュータに、透かし検出の対象とする学習モデルであって、入力された画像データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルを出力するように機械学習された学習モデルを取得する機能と、学習モデルに埋め込まれた透かしを検出するための透かし用画像データセットを取得する機能と、前記透かし用画像データセットに含まれる画像データそれぞれを入力とする前記学習モデルの出力である複数の識別ラベルを取得する機能と、前記複数の識別ラベルを重ね合わせて生成されるパターンを出力する機能と、を実現させる。
【0019】
上記のプログラムを提供するため、あるいはプログラムの一部をアップデートするために、このプログラムを記録したコンピュータ読み取り可能な記録媒体が提供されてもよく、また、このプログラムが通信回線で伝送されてもよい。
【0020】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0021】
本発明によれば、学習モデルの出所を特定できるようにする技術を提供することができる。
【発明を実施するための形態】
【0023】
<実施の形態の概要>
以下、
図1、
図2、及び
図3を参照して、実施の形態の概要を述べる。
【0024】
図1(a)−(b)は、画像判別用の学習モデルを説明するための模式図である。実施の形態に係る情報処理装置は、例えばニューラルネットワークやSVM(Support Vector Machine)等の既知の機械学習技術を用いて作成された画像判別用の学習モデルに、透かしデータを埋め込むための装置である。また、実施の形態に係る透かし検出装置は、情報処理装置が透かしを埋め込んだ学習モデルから、埋め込まれた透かしを検出するための装置である。
【0025】
図1(a)−(b)において、学習モデルMは複数の動物を識別対象とするモデルである。
図1(a)−(b)に示す例では、学習モデルMは、猫、猿、犬、象、羊、キリン等を含む100種類の動物を識別することができる。学習モデルMに画像データを入力すると、学習モデルMは、入力データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルLを出力する。限定はしないが、学習モデルMが出力する識別ラベルLは、識別対象である100種類の動物それぞれに対応する100種類の値を並べたデータであり、典型的には100個の要素を持つベクトルデータである。識別ラベルLの各要素は0以上1以下の値を取り、学習モデルMに入力された画像データが100種類の動物それぞれである蓋然性を示している。
【0026】
例えば、学習モデルMに猫画像Icを入力したときに学習モデルMが出力する識別ラベルLcは、「猫」に対応する要素が大きな値となり、その他の要素は小さな値となる。
図1(a)−(b)では、識別ラベルの要素の値が大きいほど黒く、小さいほど白くなるように図示している。このため、
図1(a)に示す識別ラベルLcでは、「猫」に対応する要素は黒くそれ以外の要素は白くなっている。同様に、学習モデルMに猿画像Imを入力した時に学習モデルMが出力する識別ラベルLmは、「猿」に対応する要素は黒くそれ以外の要素は白くなっている。
【0027】
一般に、学習モデルMが識別対象としていない被写体が写っている画像データを学習モデルMに入力した場合、学習モデルMが出力する識別ラベルLの各要素は、予測することが難しいランダムな値となる。
図1(b)では、学習モデルMが識別対象としていない風景画像Ilを学習モデルMに入力すると、学習モデルMは、各要素がランダムな値である識別ラベルLlを出力したことを示している。同様に、学習モデルMが識別対象としていない雪だるま画像Isを学習モデルMに入力しても、学習モデルMは、各要素がランダムな値である識別ラベルLsを出力する。ここで、
図1(b)に示すように、学習モデルMに入力する画像データが異なると、出力される識別ラベルLのパターンも異なる。
【0028】
実施の形態に係る情報処理装置は、まず、学習モデルに埋め込むための透かし画像と、透かし画像を埋め込む対象とする学習モデルとを取得する。次に、情報処理装置は、学習モデルMが識別対象としていない被写体が写っている画像データセットを用意する。最後に、情報処理装置は、画像データセットを構成する複数の画像データそれぞれを学習モデルMに入力したときに出力される複数の識別ラベルLを重ね合わせることで透かし画像となるように、学習モデルMを再学習(ファインチューニング;Fine-tuning)する。
【0029】
図2は、学習モデルMのファインチューニングを説明するための模式図である。
図1(b)に示す風景画像Ilと雪だるま画像Isとはともに、透かし埋め込み及び透かし検出用として情報処理装置が取得した画像データセットIwの一部である。
【0030】
実施の形態に係る情報処理装置は、画像データセットIwと同数のランダム画像であって、各ランダム画像を重ね合わせると透かし画像Wとなるランダム画像群を用意する。情報処理装置は、各ランダム画像の要素から構成されるベクトルを生成して教師用識別ラベルLtとする。情報処理装置は、教師用識別ラベルLtと画像データセットIwを構成する画像データとを対応づけた再学習用学習データを生成する。
【0031】
情報処理装置は、学習モデルMに画像データを入力すると、その画像データに対応づけられた識別ラベルを出力するように、学習モデルMをファインチューニングする。例えば、学習モデルMがニューラルネットワークを用いて生成されている場合、画像データセットIwを構成する画像データを学習モデルMに入力したときの出力と、その画像データに対応づけた教師用識別ラベルLtとの誤差を取得する。情報処理装置は、取得した誤差に基づいて誤差逆伝播法により、学習モデルMのパラメータを更新する。
【0032】
なお、情報処理装置は、再学習前の学習モデルMに画像データを入力したときに出力される識別ラベルと類似した識別ラベルを、その画像データと対応づけて再学習用学習データを生成してもよい。これにより、画像データセットIwを構成する画像データを学習モデルMに入力したときの出力と、その画像データに対応づけた教師用識別ラベルLtとの誤差が小さくなるため、再学習の収束を早めることが期待できる。
【0033】
図3は、複数の識別ラベルLを重ね合わせることで透かし画像Wが形成される様子を模式的に示す図である。実施の形態に係る透かし検出装置は、画像データセットIwを構成する各画像データを再学習された学習モデルMに入力し、出力される複数の識別ラベルLoを取得する。識別ラベルLoは100行1列のベクトルであるが、透かし検出装置は、
図3に示すように、各識別ラベルLoの要素を並べ替えて10行10列の画像データを生成する。透かし検出装置は、識別ラベルLoの要素を並べ替えて生成した画像を重ね合わせることにより、透かし画像Wを取得する。
図3は、透かし画像がアルファベットの「au」という文字が描かれた画像である場合の例を示している。
【0034】
情報処理装置は、学習モデルMのファインチューニングに用いた画像データセットIwと透かし画像Wとを、情報処理装置も含めて外部から改竄できない安全な保管場所に保管する。透かし検出装置は、透かし検出の対象となる学習モデルMを取得した場合、保管場所から画像データセットIwを取得して透かし検出の対象となる学習モデルMに入力する。透かし検出装置は、学習モデルMが出力した識別ラベルLoを重ね合わせて生成した画像と、保管場所から取得した透かし画像Wとを比較する。比較の結果、画像が一致すれば、透かし検出装置は、透かし検出の対象となる学習モデルMは、情報処理装置1が透かし画像を埋め込んだ学習モデルMであると判定する。
【0035】
このように、実施の形態に係る情報処理装置は、学習モデルMに透かし画像Wを埋め込むことができる。また、実施の形態に係る透かし検出装置は、透かし画像Wが埋め込まれた学習モデルMから透かし画像Wを取り出すことができる。このように、実施の形態に係る情報処理装置及び透かし検出装置は、学習モデルMの出所を特定できるようにすることができる。
【0036】
<実施の形態に係る情報処理装置1の機能構成>
図4は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部10と制御部11とを備える。
図4において、矢印は主なデータの流れを示しており、
図4に示していないデータの流れがあってもよい。
図4において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図4に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に別れて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0037】
記憶部10は、情報処理装置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)等の大容量記憶装置である。
【0038】
制御部11は、情報処理装置1のCPUやGPU等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによって、モデル取得部110、透かしパターン取得部111、画像取得部112、重畳用パターン取得部113、学習用データ生成部114、モデル適用部115、及び学習実行部116として機能する。
【0039】
なお、
図4は、情報処理装置1が単一の装置で構成されている場合の例を示している。しかしながら、情報処理装置1は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部11を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。
【0040】
モデル取得部110は、学習モデルMを取得する。モデル取得部110が取得する学習モデルMは、画像が入力されると識別ラベルLを出力するように機械学習された学習モデルMである。ここで、学習モデルMが出力する識別ラベルLは、入力された画像データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルである。
【0041】
透かしパターン取得部111は、学習モデルMに埋め込むための透かしパターンを取得する。透かしパターン取得部111が取得する透かしパターンは、例えば上述した透かし画像Wである。しかしながら、透かしパターン取得部111が取得する透かしパターンは画像データに限らず、例えば1次元のベクトルであってもよい。
【0042】
画像取得部112は、学習モデルMに透かしパターンを埋め込むための再学習に用いる再学習用学習データを構成する透かし用画像データセットを取得する。画像取得部112が取得する透かし用画像データセットの具体例は、上述した画像データセットIwである。
【0043】
重畳用パターン取得部113は、透かし用画像データセットに含まれる画像データと同数のパターンであって、各パターンの重ね合わせが透かしパターンとなる複数のパターンを取得する。重畳用パターン取得部113が取得する複数のパターンの詳細は後述する。
【0044】
学習用データ生成部114は、透かし用画像データセットに含まれる画像データと複数のパターンとの組み合わせを再学習用学習データとして生成する。これにより、情報処理装置1は、透かしパターンを埋め込む対象とする学習モデルMに透かしパターンを埋め込むためのファインチューニングで用いる再学習用学習データを生成することができる。このため、情報処理装置1は、学習モデルMの出所を特定できるようにすることができる。
【0045】
ここで、モデル適用部115は、透かし用画像データセットに含まれる画像データそれぞれを入力とする学習モデルMの出力である複数の識別ラベルLを取得する。重畳用パターン取得部113は、モデル適用部115が取得した複数の識別ラベルの重ね合わせが透かしパターンとなるように、複数の識別ラベルLのうちの少なくとも一部の識別ラベルを修正した識別ラベルを上述のパターンとして取得する。学習用データ生成部114は、各識別ラベルとその識別ラベルに対応する画像データとの組み合わせを再学習用学習データとして生成する。
【0046】
図5(a)−(b)は、実施の形態に係る学習用データ生成部114による識別ラベルの修正の一例を説明するための図である。また、
図6は、実施の形態に係る学習用データ生成部114の内部構成を模式的に示す図である。
【0047】
上述したように、学習モデルMが出力する識別ラベルLは、学習モデルMが識別可能な複数の識別対象と同数の要素から構成されるベクトルである。透かしパターンが透かし画像Wである場合、透かし画像Wは識別ラベルLの要素と同数の画素から構成される画像である。
【0048】
識別ラベルを修正するため、学習用データ生成部114は、変換部1140と修正部1141とを備えている。変換部1140は、複数の識別ラベルそれぞれの要素を所定の手順にしたがって透かしパターンである透かし画像Wの画素配列と同じ配列の2次元データに変換する。
図5(a)−(b)において、符号Lが付された画像は、変換部1140が識別ラベルLから変換した画像である。
図5(a)−(b)に示すように、透かし用画像データセットに含まれる画像データは学習モデルMの識別対象ではないため、画像に変換された識別ラベルLは、ノイズ画像のような画像となっている。
【0049】
修正部1141は、変換部1140が変換した複数の2次元データのそれぞれと透かしパターンである透かし画像Wとに基づいて、各2次元データを修正する。具体的には、
図5(a)−(b)において、白抜きの丸で示す記号はアダマール積を表す。変換部1140は、透かし画像Wと画像化した識別ラベルLとのアダマール積を、上述のパターン(すなわち、再学習に用いる教師用識別ラベルLt)とする。これにより、モデル適用部115は、各識別ラベルLの特徴を残しつつ、かつ透かし画像Wの特徴を含めた教師用識別ラベルLtを取得することができる。
【0050】
なお、透かし画像Wの背景(
図3の例では「au」という文字以外の領域)の画素値を0とした場合、教師用識別ラベルLtの背景に対応する領域も0となる。透かし画像Wの背景の画素値を0に近い実数とすると、教師用識別ラベルLtの背景に対応する領域も0以外の値を持つことになる。
図3は、透かし画像Wの背景の画素値が0以外の値である場合の例を示している。
【0051】
図4の説明に戻る。学習実行部116は、学習用データ生成部114が生成した再学習用学習データを用いて学習モデルMをファインチューニングによって再学習する。これにより、学習実行部116は、学習モデルMに透かし画像Wを埋め込むことができる。
【0052】
ここで、学習実行部116は、学習モデルMの再学習時における学習率(学習モデルMのモデルパラメータの更新幅)を、学習モデルMの生成時における学習率より小さくしてもよい。これにより、学習実行部116は、再学習用学習データによって学習モデルMが過学習されることを抑制できる。
【0053】
また、学習実行部116は、学習モデルMの再学習時に、学習用データ生成部114が生成した再学習用学習データに加えて、学習モデルMの生成時に用いた学習データを加えたデータを用いて、学習モデルMを再学習してもよい。このとき、学習実行部116は、再学習用学習データによって学習モデルMが過学習されることを抑制するために、学習用データ生成部114が生成した再学習用学習データに加える画像データの数が、学習用データ生成部114が生成した再学習用学習データに含まれる画像データよりも多くなるようにしてもよい。学習用データ生成部114が生成した再学習用学習データの数と、加算する学習用データの数との比率は、過学習の抑制と再学習にかかるコスト等を勘案して実験により定めればよいが、例えば1対10である。これにより、学習実行部116は、再学習用学習データによって学習モデルMが過学習されることを抑制できる。
【0054】
図2を参照して説明したように、学習実行部116は、再学習用学習データを入力とした場合に学習モデルMが出力する識別ラベルLと、教師用識別ラベルLtとの誤差に基づいて、誤差逆伝播法に基づいて学習モデルMのパラメータを更新する。このため、識別ラベルLと教師用識別ラベルLtとの誤差が小さい方が再学習の収束が早く、かつ再学習後の学習モデルMが学習前に持っていた識別性能を維持しやすいと考えられる。
【0055】
そのため、学習用データ生成部114は、画像選択部1142も備えている。画像選択部1142は、変換部1140が変換した2次元データと透かしパターンである透かし画像Wとの差異が所定の除外条件を満たす場合、その2次元データに対応する画像データを透かし用画像データセットから除外する。
【0056】
ここで「所定の除外条件」とは、画像選択部1142が再学習用画像データを構成する画像データを選択する際に参照する「画像選択条件」である。所定の除外条件の具体的な内容は、学習の収束性や透かし画像Wの特徴等を考慮して定めればよい。一例としては、2次元データと透かし画像Wとの差分画像の強度(例えば差分画像の画素値の絶対値の和や、差分画像の画素値の二乗和)が、透かし画像Wの強度の半分以上となることを、所定の除外条件としてもよい。
【0057】
これにより、学習用データ生成部114は、学習実行部116による学習モデルMのファインチューニングの収束性を向上することができ、再学習にかかるコストを低減することができる。
【0058】
以上、学習モデルMに埋め込む透かしパターンが1つであることを前提として説明したが、透かしパターンは複数であってもよい。この場合、透かしパターン取得部111は、学習モデルMに埋め込むための2以上の異なる透かしパターンを取得することになる。画像取得部112は、異なる透かしパターンそれぞれに対応する複数の透かし用画像データセットを取得する。これにより、学習用データ生成部114は、異なる透かしパターンそれぞれに対応する再学習用学習データを生成することができる。モデル適用部115は、学習用データ生成部114が生成した再学習用学習データを用いて学習モデルMをファインチューニングすることにより、学習モデルMに複数種類の透かしパターンを埋め込むことができる。
【0059】
以上、情報処理装置1が学習モデルMに透かしパターンを埋め込む工程について説明した。続いて、透かしパターンが埋め込まれた学習モデルMから透かしパターンを検出する工程について説明する。
【0060】
<実施の形態に係る透かし検出装置2の機能構成>
図7は、実施の形態に係る透かし検出装置2の機能構成を模式的に示す図である。透かし検出装置2は、記憶部20と制御部21とを備える。
図7において、矢印は主なデータの流れを示しており、
図7に示していないデータの流れがあってもよい。
図7において、各機能ブロックはハードウェア(装置)単位の構成ではなく、機能単位の構成を示している。そのため、
図7に示す機能ブロックは単一の装置内に実装されてもよく、あるいは複数の装置内に別れて実装されてもよい。機能ブロック間のデータの授受は、データバス、ネットワーク、可搬記憶媒体等、任意の手段を介して行われてもよい。
【0061】
記憶部20は、透かし検出装置2を実現するコンピュータのBIOS等を格納するROMや透かし検出装置2の作業領域となるRAM、OSやアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。
【0062】
制御部21は、透かし検出装置2のCPUやGPU等のプロセッサであり、記憶部20に記憶されたプログラムを実行することによって、モデル取得部210、画像取得部211、モデル適用部212、パターン出力部213、透かしパターン取得部214、及びパターン提示部215として機能する。
【0063】
なお、
図7は、透かし検出装置2が単一の装置で構成されている場合の例を示している。しかしながら、透かし検出装置2は、例えばクラウドコンピューティングシステムのように複数のプロセッサやメモリ等の計算リソースによって実現されてもよい。この場合、制御部11を構成する各部は、複数の異なるプロセッサの中の少なくともいずれかのプロセッサがプログラムを実行することによって実現される。また、透かし検出装置2の機能の少なくとも一部又は全部を、情報処理装置1が備えていてもよい。
【0064】
モデル取得部210は、透かし検出の対象とする学習モデルMを取得する。学習モデルMは、入力された画像データが複数の識別対象それぞれの画像データである蓋然性を示す複数の指標値から構成される識別ラベルLを出力するように機械学習された学習モデルである。
【0065】
画像取得部211は、学習モデルMに埋め込まれた透かしを検出するための透かし用画像データセットを取得する。具体的には、画像取得部211が取得する透かし用画像データセットは、モデル適用部115が学習モデルMをファインチューニングする際に使用した再学習用学習データを構成する透かし用画像データセットと同一である。
【0066】
モデル適用部212は、透かし用画像データセットに含まれる画像データそれぞれを入力とする学習モデルMの出力である複数の識別ラベルLを取得する。パターン出力部213は、複数の識別ラベルLを重ね合わせて生成されるパターンを出力する。
【0067】
図8(a)−(e)は、実施の形態に係るパターン出力部213が出力するパターンの一例を示す図である。具体的には、
図8(a)は、60個の異なる識別ラベルLを重ね合わせてできるパターンを示す図であり、
図8(b)は、240個の異なる識別ラベルLを重ね合わせてできるパターンを示す図である。同様に、
図8(c)は、約2000個の異なる識別ラベルLを重ね合わせてできるパターンを示す図であり、
図8(d)は、3000個の異なる識別ラベルLを重ね合わせてできるパターンを示す図である。なお、
図8(e)は、透かし画像Wの元画像である。
図8(d)に示すパターンに2値化処理を施すと、
図8(e)に示す画像と一致する。
【0068】
図8(a)−(d)に示すように、パターン出力部213が重ね合わせる識別ラベルLの数が少ないときは、識別ラベルLを重ね合わせても透かし画像Wを再現することができない。これにより、万が一透かし用画像データセットに含まれる画像データの一部が第三者に漏洩したとしても、漏洩した画像データの数が少なければ、第三者は透かし画像Wを特定することが困難である。このため、実施の形態に係る情報処理装置1は、第三者が推定することが困難な態様で学習モデルMに透かしパターンを埋め込むことができる。
【0069】
図7の説明に戻る。透かしパターン取得部214は、検証対象となる透かしパターンを取得する。上述したように、透かしパターンである透かし画像Wは、透かし用画像データセットとともに外部から改竄できない安全な保管場所に保管されている。透かしパターン取得部214は、この保管場所から透かし画像Wを読み出して取得する。
【0070】
パターン提示部215は、パターン出力部213が出力したパターンと透かしパターン取得部214が取得した透かしパターンとを比較可能な態様で提示する。
図9は、実施の形態に係るパターン提示部215が提示する比較画面の一例を模式的に示す図である。
図9は、学習モデルMに「透かしA」と「透かしB」との2種類の透かしパターンが埋め込まれている場合の例を示している。
図9において、「透かしA」はアルファベットの「au」という文字が描かれた画像であり、「透かしB」は人の顔が描かれた画像である。
【0071】
図9に示すように、パターン提示部215は、情報処理装置1が学習モデルMに埋め込んだ透かしパターンである透かし画像Wと、透かし検出装置2が透かし検出の対象とする学習モデルMから検出した画像とを並べて表示部Dに表示する。これにより、透かし検出装置2のユーザは、透かし検出の対象とする学習モデルMから検出した画像が透かし画像Wと一致するか否かを一見して確認することができる。
【0072】
また、パターン提示部215は、透かし検出の対象とする学習モデルMから検出した画像と透かし画像Wとが一致するか否かを演算によって判定し、その結果を表示部Dに提示するようにしてもよい。具体的には、パターン提示部215は透かし検出の対象とする学習モデルMから検出した画像と透かし画像Wとの差分画像の強度が所定の条件(例えば、透かし画像Wの強度の10%以下となること)を満たす場合、両者が一致すると判定すればよい。パターン提示部215が算出した判定結果を表示部Dに表示させることにより、透かし検出装置2のユーザは、透かし検出の対象とする学習モデルMから検出した画像と透かし画像Wとが一致するか否かの判断の一助とすることができる。
【0073】
<情報処理装置1が実行する学習方法の処理フロー>
図10は、実施の形態に係る情報処理装置1が実行する処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
【0074】
モデル取得部110は、透かしパターンの埋め込み対象とする学習モデルMを取得する(S2)。透かしパターン取得部111は、学習モデルMに埋め込むための透かしパターンを取得する(S4)。画像取得部112は、学習モデルMに透かしパターンを埋め込むための再学習に用いる再学習用学習データを構成する透かし用画像データセットを取得する(S6)。
【0075】
重畳用パターン取得部113は、透かし用画像データセットに含まれる画像データと同数のパターンであって、各パターンの重ね合わせが透かしパターンを再現するように構成された複数のパターンを取得する(S8)。学習用データ生成部114は、透かし用画像データセットに含まれる画像データと複数のパターンとの組み合わせを再学習用学習データとして生成する(S10)。
【0076】
学習実行部116は、再学習用学習データを用いてファインチューニングにより学習モデルMを再学習する(S12)。これにより、学習実行部116は、学習モデルMに透かしパターンを埋め込むことができる。学習実行部116が再学習を実行すると、本フローチャートにおける処理は終了する。
【0077】
<実施の形態に係る情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、学習モデルMの出所を特定できるようにすることができる。
【0078】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
【0079】
<第1の変形例>
上記では、情報処理装置1が学習モデルMに透かしパターンを埋め込む場合について説明した。ここで、透かしパターンは一つの独立した図柄でなくてもよく、例えば、一つの画像を2以上の部分画像に分割し、各部分画像をそれぞれ透かしパターンとしてもよい。このとき、情報処理装置1は、少なくとも1つの部分画像を学習モデルMに埋め込まずに保管用画像として保管する。この場合、透かし検出装置2は、学習モデルMから各透かしパターンを検出した上でそれらを組み合わせ、かつ保管用画像と組み合わせることで初めて完全な画像を得る。各部分画像は、いわば電子的な「割符」として機能する。これにより、万が一第三者に透かしパターンの一部が漏洩したとしても、第三者はその透かしパターンから全体画像を構成することは困難であるため、安全性をより向上することができる。
【0080】
<第2の変形例>
上記では、学習用データ生成部114が、複数の識別ラベルLそれぞれの要素を所定の手順にしたがって透かしパターンの画素配列と同じ配列の2次元データに変換し、変換した複数の2次元データのそれぞれと透かしパターンとに基づいて、2次元データそれぞれを修正する場合について説明した。これに替えて、学習用データ生成部114は、透かしパターンの画素配列を所定の手順に従って識別ラベルLと同じ配列の1次元データに変換し、変換した複数の1次元データのそれぞれと透かしパターンとに基づいて、識別ラベルLを修正してもよい。
【0081】
<第3の変形例>
上記では、変換部1140が、透かし画像Wと画像化した識別ラベルLとのアダマール積を、再学習に用いる教師用識別ラベルLtとする場合について説明した。しかしながら、教師用識別ラベルLtの取得方法は上記に限られない。例えば、変換部1140は、透かし画像Wと画像化した識別ラベルLとのアダマール積の結果、画素値を大きい順に所定の数だけ選択し、残りは0又は0に近い実数(例えば、選択した画素値の中の最小値の10%)としてもよい。さらに、変換部1140は、選択した画素の値を1とし、それ以外の画素の値は0又は0に近い実数として教師用識別ラベルLtを2値化してもよい。