JPWO2018131405A1 - 情報処理装置、方法及びコンピュータ可読記憶媒体 - Google Patents

情報処理装置、方法及びコンピュータ可読記憶媒体 Download PDF

Info

Publication number
JPWO2018131405A1
JPWO2018131405A1 JP2018561888A JP2018561888A JPWO2018131405A1 JP WO2018131405 A1 JPWO2018131405 A1 JP WO2018131405A1 JP 2018561888 A JP2018561888 A JP 2018561888A JP 2018561888 A JP2018561888 A JP 2018561888A JP WO2018131405 A1 JPWO2018131405 A1 JP WO2018131405A1
Authority
JP
Japan
Prior art keywords
neural network
weight
gradient
input values
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018561888A
Other languages
English (en)
Other versions
JP6727340B2 (ja
Inventor
祐介 内田
祐介 内田
茂之 酒澤
茂之 酒澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Publication of JPWO2018131405A1 publication Critical patent/JPWO2018131405A1/ja
Application granted granted Critical
Publication of JP6727340B2 publication Critical patent/JP6727340B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Abstract

第1のニューラルネットワークの重みに透かしビットを埋め込むための情報処理方法は、前記第1のニューラルネットワークの複数の重みから求めた複数の入力値を、第2のニューラルネットワークへ入力し、前記第2のニューラルネットワークの出力を得ることと、前記第2のニューラルネットワークの出力と前記透かしビットとの誤差に基づき、前記複数の入力値それぞれの第2勾配を求めることと、誤差逆伝播法に基づき求めた前記第1のニューラルネットワークの重みの第1勾配と、前記第2勾配とを加算した値に基づき、当該重みを更新することと、を含んでいる。

Description

本発明は、ニューラルネットワーク(Neural Network)に透かし情報を埋め込む技術に関する。
近年、画像認識や音声認識、自然言語処理の分野について、ニューラルネットワークが注目されている。ニューラルネットワークとは、生体の脳における特性を計算機上のシミュレーションによって表現することを目指した数学モデルをいう。シナプスの結合によってネットワークを形成した人工ニューロン(ユニット)が、学習によってシナプスの結合強度を変化させ、問題解決能力を持つようなモデル全般をいう。
特許文献1〜3及び非特許文献1〜3は、ニューラルネットワークの構造を最適化する技術を開示している。また、特許文献2は、大規模な畳み込みニューラルネットワークの重みを効率的に設定する技術を開示している。更に、特許文献3は、ニューラルネットワークを用いて、音響イベントを検出する技術を開示している。更に、非特許文献1及び2は、画像認識に適した畳み込みニューラルネットワークを開示している。更に、非特許文献3は、ニューラルネットワークを用いて、単語の品詞を推定する技術を開示している。
大規模なニューラルネットワークのモデルパラメータは、大規模なデータセットに対して、長時間の学習が必要となる。例えば、非特許文献2は、4つのGPU(Graphics Processing Unit)を用いて2〜3週間の学習が必要であるとしている。このため、非特許文献4及び5は、ニューラルネットワーク内部のモデルパラメータを学習することなく、予め学習済みのモデルパラメータの一部を流用したり、そのモデルパラメータを初期値として再学習したりすることを開示している。
特開2015−11510号公報 特開2015−52832号公報 特開2015−57630号公報
A. Krizhevsky, I. Sutskever and G. E. Hinton, "ImageNet Classification with Deep Convolutional Neural Networks," NIPS'12. K. Simonyan and A. Zisserman, "Very Deep Convolutional Networks for Large-Scale Image Recognition," ICLR'15. X. Ma and E. Hovy, "End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF," ACL'16. S. Ren, K. He, R. Girshick, and J. Sun, "Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks," NIPS'15. W. Liu, et al., "SSD: Single Shot MultiBox Detector," ECCV'16. P.-T. Yu, H.-H. Tsai, and J.-S. Lin, "Digital watermarking based on neural networks for color images," in Signal Processing, vol. 81, no. 3,2001. M. Elarbi, C. B. Amar, and H. Nicolas, "Video Watermarking Based on Neural Networks," in Proc. of ICME, 2006. Fei-Fei Li & Andrej Karpathy & Justin Johnson、Lecture 7、Convolutional Neural Networks、27 Jan 2016、[online]、[平成29年1月4日検索]、インターネット<URL:http://cs231n.stanford.edu/slides/winter1516_lecture7.pdf> 正則化、[online]、[平成29年1月5日検索]、インターネット<URL:https://ja.wikipedia.org/wiki/%E6%AD%A3%E5%89%87%E5%8C%96> A. Krogh and J. A. Hertz, "A Simple Weight Decay Can Improve Generalization," in Proc. of NIPS, 1992.
前述したように、大規模なニューラルネットワークを用いて、全てのモデルパラメータを最初から学習する場合、大量の計算コストや労力が必要となる。そのため、例えば研究の効率化を主な目的とし、研究機関によって、学習済みのモデルパラメータが、流用可能なライセンス形態で、配布される場合もある。
しかしながら、商用サービスにおいては、学習済みのモデルパラメータ自体が、そのサービスにおけるコアな技術であり、一般には流用を禁止するケースが多い。
例えば画像等の不正利用であれば、目視による発見が容易である。しかしながら、モデルパラメータの不正利用を目視により発見することは容易ではない。これは、利用対象のモデルパラメータの一部が修正された上で、利用対象のモデルパラメータを初期値として再学習が行われると、モデル構造及びモデルパラメータのどちらもオリジナルとは一致しなくなるからである。
非特許文献6、7は、動画像データに透かし情報を埋め込むために、ニューラルネットワークを用いる技術を提案している。これに対し、本願の発明者らは、ニューラルネットワークのモデルパラメータ自体に、透かし情報を埋め込むことはできないか、と考えた。即ち、一部が改変されたモデルパラメータを用いて再学習されたとしても、そのモデルパラメータから透かし情報を検出することができれば、不正利用となるモデルパラメータを検出することができるのではないか、と考えた。
そこで、本発明は、ニューラルネットワークに透かし情報を埋め込む技術を提供する。
本発明の一態様によると、情報処理方法は、第1ニューラルネットワークの重みに透かしビットを埋め込むための情報処理方法であって、前記第1のニューラルネットワークの複数の重みから求めた複数の入力値を、第2のニューラルネットワークへ入力し、前記第2のニューラルネットワークの出力を得ることと、前記第2のニューラルネットワークの出力と前記透かしビットとの誤差に基づき、前記複数の入力値それぞれの第2勾配を求めることと、誤差逆伝播法に基づき求めた前記第1のニューラルネットワークの重みの第1勾配と、前記第2勾配と、を加算した値に基づき、当該重みを更新することと、を含む。
本発明によれば、ニューラルネットワークに透かし情報を埋め込むことができる。
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
ニューラルネットワークの一般的な機能構成図である。 入力データと特徴マップとの畳み込みの関係を表す説明図である。 重みフィルタを用いた特徴マップの生成を表す説明図である。 N個の重みフィルタとN段の特徴マップとの関係を表す説明図である。 一実施形態による情報処理装置における情報処理方法の説明図である。 一実施形態による情報処理方法における処理ステップを表す説明図である。 一実施形態による第2のニューラルネットワークの構成図である。 一実施形態による平均重みフィルタの各重みと、各透かしビットとの対応を表す説明図である。 一実施形態による平均重みフィルタの各重みと、各透かしビットとの対応を表す説明図である。 一実施形態の第2のニューラルネットワークによる、他のニューラルネットワークの重みフィルタからの透かし情報の抽出を表す説明図である。 一実施形態による既存のニューラルネットワークの出力結果を教師データとして学習することを表す説明図である。 一実施形態による情報処理装置の構成図である。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
図1は、ニューラルネットワークの一般的な機能構成図である。
ニューラルネットワークとしては、様々な構成があるが、基本的には複数種類の層の重ね合わせ(又はグラフ構造)で表現される。ニューラルネットワークには、入力データと正解ラベルとが対応付けられた教師データが入力される。そして、ニューラルネットワークは、入力データに対する最終的な出力結果が、その正解ラベルと一致するように、モデルパラメータを学習する(タスクに応じて入力に対する出力を近似させる)。
図1によれば、順伝播型ニューラルネットワークは、入力層(input layer)と、隠れ層(hidden layer)と、出力層(output layer)との3つの層から構成され、入力データは、入力層から出力層へ向けて一方向に伝播する。隠れ層は、複数の層から構成することができる。各層は、複数のユニット(ニューロン)を持ち、前方層のユニットから後方層のユニットの入力それぞれには、「重み(weight)」と呼ばれるパラメータが対応付けられる。学習とは、適切な「重み」を算出することにある。
図1には、畳み込みニューラルネットワーク(Convolutional Neural Network, CNN)が表されている。畳み込みニューラルネットワークは、入力層と、畳み込み層(convolutional layer)と、プーリング層(pooling layer)と、全結合層(full-connected layer)と、出力層とから構成される。
学習とは、入力データに対する出力層からの出力データと、当該入力データに対する正解ラベルとの誤差を用いて、各層の重みを最適に更新することをいう。その誤差を算出するために、「損失関数」(loss function)が定義される。誤差は、「誤差逆伝播法」によって、出力層側から入力層側へ向けて次々に伝播され、これにより各層の重みを少しずつ更新していく。最終的に、誤差が小さくなるように、各層の重みを適切な値に調整する収束計算を実行する。
図2は、入力データと特徴マップとの畳み込みの関係を表す説明図である。
図2における処理は、畳み込み層及び全結合層によって実行される。図2によれば、入力データに対して、1個の重みフィルタを使用することで1つの特徴マップを生成している。なお、本実施形態において、入力データ、重みフィルタ及び特徴マップのサイズは以下の通りである。
入力データ :32×32×3個の要素
重みフィルタ:5×5×3個の要素(重み)
特徴マップ :28×28個の要素
なお、重みフィルタは、N個分用意され、これがモデルパラメータとなる。即ち、本例において、モデルパラメータとは、N個の重みフィルタを意味する。但し、ここでは、バイアス項は考慮しないものとする。
図3は、重みフィルタを用いた特徴マップの生成を表す説明図である。
図3によれば、5×5×3個の重みを有する1個の重みフィルタを、入力データに充てて、入力データと重みフィルタの対応する位置の値の積を積算した値を、特徴マップの1個の要素の値とする。そして、同じ重みフィルタを、入力データに対して移動させて、1枚の特徴マップを生成する。ここで、移動させる要素の数(移動量)を「ストライド(stride)」と称す。入力データの周囲の縁(ふち)には、要素0を埋めたゼロパディング(zero-padding)の領域を設けることができる。これによって、入力データの縁の要素にも、同数の重みフィルタをあてることができる。
図4は、N個の重みフィルタとN段の特徴マップとの関係を表す説明図である。
重みフィルタは、N個から構成される。図2及び図3によれば、1個の重みフィルタによって1枚の特徴マップが生成される。したがって、図4に示す様に、N個の重みフィルタによって、N段の特徴マップが生成される。
図5は、本実施形態による情報処理装置における情報処理方法の説明図である。
本実施形態においては、透かしビット、より詳しくは、透かしビットの数及び各ビットの値(0又は1)を予め定義する。以下の説明においては、透かしビットの数をBとする。図5に示す様に、情報処理装置は、目的タスク用の第1のニューラルネットワークと、第2のニューラルネットワークとを構成するための情報をそれぞれ保持している。目的タスクとは、例えば画像認識や音声認識、自然言語処理に基づくニューラルネットワークにおけるその利用用途に基づくタスクをいう。第2のニューラルネットワークは、第1のニューラルネットワークの重み(モデルパラメータ)に基づく値から透かしビットを抽出するためのニューラルネットワークである。なお、以下の説明において、第2のニューラルネットワークが抽出した透かしビットを、予め定義した透かしビットと区別するため、第2のニューラルネットワークが抽出(出力)した透かしビットを抽出透かしビットと呼ぶものとする。第2のニューラルネットワークに対しても、抽出透かしビットと、透かしビットとの誤差を評価するための損失関数が定義される。なお、第2のニューラルネットワークの構成及び各パラメータについては後述するが、そのパラメータ(重み)の値は予め決定した値で固定される。つまり、第2のニューラルネットワークは、第1のニューラルネットワークの重みに基づく値を入力とし、透かしビットと同じ数の抽出透かしビットを出力する固定的な関数でもある。
通常のニューラルネットワークの学習においては、各重みそれぞれについて、誤差逆伝播法により勾配を求め、各重みを対応する勾配に基づき更新することを繰り返す。本実施形態でも、第1のニューラルネットワークに入力データを入力し、その入力データに対する正解ラベルに基づき、第1のニューラルネットワークの各重みそれぞれについて第1の勾配ΔEを求める。また、このとき、第1のニューラルネットワークの各重みから求めた平均重みを第2のニューラルネットワークに入力して抽出透かしビットを出力させる。そして抽出透かしビットと透かしビットとの誤差に基づき、入力された平均重みそれぞれについて誤差逆伝播法により第2の勾配ΔAEを求める。なお、通常のニューラルネットワークでは、入力データではなく、変数である重みについての勾配を求める。しかしながら、上述したように、本実施形態において第2のニューラルネットワークのパラメータ(重み)は、固定値であり、本実施形態では、通常とは逆に、入力データであり、第1のニューラルネットワークの重みから計算される平均重みそれぞれについての第2の勾配を求める。これは、第1のニューラルネットワークの重みから求められる平均重みが、第2のニューラルネットワークのパラメータ(重み)であり、あらかじめ決定した固定的な値が、第2のニューラルネットワークへの入力データとして重みを更新しているのと等価である。そして、第1のニューラルネットワークの各重みについて求めた第1の勾配に、第2のニューラルネットワークの入力データである各平均重みについて求めた第2の勾配を加算し、第1のニューラルネットワークの各重みについては加算後の勾配に基づき調整を行う。以下、図6により、情報処理装置における情報処理方法について詳細に説明する。
図6は、情報処理方法の処理ステップを表す説明図である。
(S11)最初に、第1のニューラルネットワークの「重み」に基づく値を、第2のニューラルネットワークへ入力する。本実施形態では、N個の重みフィルタから平均重みフィルタを求め、平均重みフィルタの各重みを第2のニューラルネットワークへの入力とする。平均重みフィルタの各位置の重みは、N個の重みフィルタそれぞれの対応する位置の重みの平均値である。例えば、第1のニューラルネットワークの1つの「重みフィルタ」のサイズが、図2に示す様にM=5×5×3であると、平均重みフィルタは、図6に示す様に5×5×3の重みを有し、この合計75個の値が第2のニューラルネットワークに入力される。具体的には、第1のニューラルネットワークのn番目のフィルタ(nは1からNの整数)の位置w×h×cの重みをFnwhcと表記し、平均重みフィルタの位置w×h×cの重みをPwhcと表記すると、
whc=Σn=1 nwhc/N
である。
ここで、平均重みフィルタを第2のニューラルネットワークへの入力とする理由は、N個の重みフィルタに対して、入力データに充てる順序を入れ替える改変を考慮したからである。N個の重みフィルタの順序を入れ替えたとしても、本質的には同等のニューラルネットワークが構成される。したがって、個々の重みフィルタに透かし情報を埋め込むことができたとしても、重みフィルタを充てる順序を入れ替えることによって、簡単に透かし情報が破壊されてしまう。そのために、本発明によれば、N個の重みフィルタの重みを平均した「平均重みフィルタ」を生成し、第2のニューラルネットワークの入力としている。
(S12)第2のニューラルネットワークは、平均重みフィルタの各重みが入力されると、抽出透かしビットを出力し、これは、透かしビットと比較される。そして、本実施形態では、平均重みフィルタの各重みを変数とみなして誤差逆伝播法により、平均重みフィルタの各重みについて、第2の勾配ΔAEを求める。以下では、平均重みフィルタの重みPwhcについて求められる第2の勾配を、ΔAEwhcと表記する。第1のニューラルネットワークは、入力データが入力されると出力データを出力し、これは教師ラベルと比較される。そして、第1のニューラルネットワークについては、通常通り、誤差逆伝播法により、各重みについて第1の勾配ΔEが生成される。以下では、重みFnwhcについて求められる第1の勾配をΔEnwhcと表記する。
(S13)そして、第1のニューラルネットワークの重みFnwhcは、勾配ΔEnwhcとΔAEwhcとの和、又は、ΔAEwhcに所定の係数を乗じた値と勾配ΔEnwhcとの和に基づき更新される。例えば、第1のニューラルネットワークのフィルタ数がNであるため、ΔAEwhcに乗ずる所定の係数は、1/Nとすることができる。この様に、第1のニューラルネットワークの重みは、当該重みについて求めた第1の勾配と、当該重みから求めた第2のニューラルネットワークの入力について求めた第2の勾配との和に基づき更新される。
この様に、第1のニューラルネットワークの学習において、第1のニューラルネットワークの誤差を最小化すると同時に、第2のニューラルネットワークの誤差も最小化する。図6の処理を繰り返すことで、第1のニューラルネットワークの重みフィルタに透かし情報を埋め込むことができる。
図7は、本実施形態による第2のニューラルネットワークの一例を示している。
図7は、第2のニューラルネットワークの層構成を表している。図7は、第2のニューラルネットワークを、1層又は多層パーセプトロンで構成した例を示している。なお、この構成においては、上述した様に、第2のニューラルネットワークの各重みは予め決定され、決定された値で固定される。この様に、第2のニューラルネットワークは、入力データ(平均重みフィルタの重み)に対して所定の演算を行うものである。
一般に、損失関数は、畳み込み層及び全結合層のパラメータに対して、正則化を施し、過学習を防ぐために用いられる(例えば非特許文献9及び10参照)。これに対し、第2のニューラルネットワークでは、透かし情報を平均重みフィルタのパラメータに埋め込むために損失関数を定義しており、本質的な目的が全く異なっている。勿論、損失関数については、情報の埋め込み方法に応じて様々な実施形態を適用することができる。
「パーセプトロン」とは、入力値zに重み付けした値から、活性化関数を用いて、2値(0又は1)の一方を出力するモデルをいう。活性化関数は、脳のシナプスが、ある閾値を超えると発火するという動きを模倣したものである。活性化関数としては、例えば、シグモイド関数、線形結合関数、ハードシグモイド関数、tanh関数(hyperbolic tangent function)、ソフトサイン関数、ソフトプラス関数、ReLU(Rectified Linear Unit)を用いたものであってもよい。
第2のニューラルネットワークに基づく1層又は多層パーセプトロンは、例えば以下のような4つの実施形態のいずれであっても良い。
<第1の実施形態>
第2のニューラルネットワークに基づく1層又は多層パーセプトロンは、最終出力のための活性化関数としてシグモイド関数(sigmoid function)を用いる。また、誤差は、損失関数としてのバイナリ交差エントロピー(binary cross-entropy)によって計算する。シグモイド関数とは、入力値zとして実数全体(−∞〜+∞)を値域とし、出力値yとして0〜1を値域とする。
y=1/(1+e-z)
バイナリ交差エントロピーとは、2つのパターンについて、一方の確率がpのとき、他方の確率は1−pとなる。即ち、特定の確率分布に従って生成されたものを直交化したものである。すなわち、第2のニューラルネットワークの損失関数は、
−{tlogO+(1−t)log(1−O)}
とすることができる。ここで、
:bビット目の抽出透かしビット(bは1〜B)
:bビット目の透かしビット(bは1〜B)
即ち、通常のクラス分類タスクについて、2値に分類する場合と同様に損失関数を定義すればよい。更に、一般的には、全結合層に中間層を追加し、多層パーセプトロンを構成することによって、非線形に埋め込むこともできる。
<第2の実施形態>
第2のニューラルネットワークに基づく1層又は多層パーセプトロンは、入力となる平均重みの各重みから透かしビットと同じ個数の重みをそれぞれ、活性化関数の入力として用いて、最終出力を計算するものであってもよい。
<第3の実施形態>
第2のニューラルネットワークに基づく1層又は多層パーセプトロンは、入力となる平均重みの各重みから、透かし情報のビット数と同じ個数のペアを取り出し、各ペアの差分をそれぞれ、活性化関数の入力として用いて、最終出力を計算するものであってもよい。
<第4の実施形態>
第2のニューラルネットワークに基づく1層又は多層パーセプトロンのあらかじめ決定される固定的な重みは、特定の確率分布によって生成されたものであってもよい。特定の確率分布とは、一様分布又は正規分布である。また、多層パーセプトロンのあらかじめ決定される固定的な重みは、特定の確率分布に従って生成されたものを直交化したものであってもよい。
また、第2のニューラルネットワークは、B個の重みベクトルX〜Xを、あらかじめ決定された固定的な重みとして有するものとすることもできる。ここで、ベクトルX〜Xは、それぞれ、W×H×C個の固定値を要素として有する。そして、第2のニューラルネットワークは、入力データであるW×H×C個の重みをベクトルIとし、ベクトルX(bは1〜Bの整数)とベクトルIの内積を、抽出透かしビットOとして求めることができる。重みベクトルX〜Xは、例えば、何かしらの確率分布(例えば平均0分散1の正規分布)に従う乱数から生成することができる。
また、重みベクトルX〜Xは、正規直交基底となるように設定したものであってもよい。これは、例えば、平均0分散1の正規分布から重みベクトルXを生成し、それをグラムシュミットの直交化法等で直交化することによって実現できる。
更に単純には、図8Aに示す様に、重みベクトルXは、平均重みフィルタのW×H×C個の重みから、ランダムにB個を選択し、選択した重みを、それぞれ、透かしビットと1:1に対応付けるものであっても良い。選択した重みは、活性化関数の入力となり、活性化関数の出力が対応する透かしビットと比較される。更に、図8Bに示す様に、重みベクトルXは、平均重みフィルタのW×H×C個の重みから、B個のペア(組)をランダムに選択し、選択したペアを、それぞれ、透かしビットと1:1に対応付けるものであっても良い。そして、ペアの2つの重みの差が活性化関数の入力となり、活性化関数の出力が対応する透かしビットと比較される。
図9は、平均重みフィルタからの透かし情報の抽出を表す説明図である。図9によれば、N個の重みフィルタから、以下のステップによって、透かし情報を抽出する。(S21)最初に、N個の重みフィルタから平均重みフィルタを算出する。(S22)そして、第2のニューラルネットワークに平均重みフィルタの各重みを入力する。これにより、第2のニューラルネットワークは、抽出透かしビットを出力する。ここで、第2のニューラルネットワークが、1層又は多層パーセプトロンである場合、その出力が所定閾値(例えば0.5)以上であれば"1"を出力し、それ以外であれば"0"を出力することによって、透かしビットを抽出するものであってもよい。
抽出透かしビットと、透かしビットとの比較は、対応するビット列を比較し、それらのハミング距離が所定閾値以下であれば、抽出透かしビットは、透かしビットと一致する判定することができる。
図10は、既存のニューラルネットワークの出力結果を教師データとして学習することを表す説明図である。
図5は、新規に、モデルパラメータ(重み)を学習する際に透かし情報を埋め込むことを表しているのに対し、図10は、既に学習済みのモデルパラメータを初期値として用いて、再学習によって透かし情報を埋め込むことを表している。
既に学習済みのモデルパラメータを用いる場合、教師データとしての正解ラベルを利用できないことも当然に想定される。その場合、本発明によれば、教師データ無しに、既に学習済みの重みフィルタに透かし情報を埋め込むこともできる。
図10によれば、図5と比較して、教師データとしての出力データを得るために、目的タスク用に、既存のニューラルネットワーク及び第1のニューラルネットワークの2つを有する。第1のニューラルネットワークは、既存のニューラルネットワークで既に学習済みのモデルパラメータを(重みフィルタ)を初期値として設定した後、モデルパラメータの学習を実行する。ここでは、既存のニューラルネットワーク及び第1のニューラルネットワークの両方に、何らかの同一のデータが入力される。これに対し、第1のニューラルネットワークは、既に学習済みのモデルパラメータ(重みフィルタ)を用いて、データを出力する。第1のニューラルネットワークは、既に学習済みの既存のニューラルネットワークから出力されたデータを教師データの「正解ラベル」として、損失関数を最小化するように学習する。
前述では、畳み込み層に対するモデルパラメータに、透かし情報を埋め込むことについて説明した。尚、全結合層であっても、前方層の出力次元数のパラメータを持つ重みフィルタがN個あるものと考えることができる(バイアス項を除く)。この重みフィルタを畳み込み層と同様に平均化し、前方層の出力次元数の平均重みフィルタを算出することができる。畳み込み層への埋め込みと同様に、B個の出力を持つ1つ以上の全結合層を構築することで、全く同じく、透かし情報を埋め込むことができる。
図11は、本実施形態による情報処理装置の構成図である。保持部10は、第1のニューラルネットワーク及び第2のニューラルネットワークの構成を示す情報を保持している。平均重みフィルタ計算部30は、保持部10が保持する第1のニューラルネットワークの重みフィルタから、第2のニューラルネットワークへの入力データである平均重みフィルタを計算する。抽出透かしビット計算部40は、平均重みフィルタ計算部30が計算した平均重みフィルタと、保持部10が保持する第2のニューラルネットワークの構成を示す情報に基づき、抽出透かしビットを求める。勾配計算部50は、抽出透かしビット計算部40が求めた抽出透かしビットと、透かしビットと、第2のニューラルネットワークの損失関関数に基づき、平均重みフィルタの各重みについて第2の勾配を求める。学習部20は、保持部10が保持する第1のニューラルネットワークの学習を行う。具体的には、通常のニューラルネットワークの学習と同様に、教師データ群に基づき、各重みフィルタの各重みについて、第1の勾配を求める。そして、ある重みについては、当該重みについて求めた第1の勾配と、当該重みにより算出された平均重みフィルタの重みについて勾配計算部50が求めた第2の勾配との和に基づき、更新する。
以上、詳細に説明したように、本発明によると、ニューラルネットワークに透かし情報を埋め込むことができる。なお、本発明は、コンピュータの1つ以上のプロセッサで実行されることで、当該コンピュータを上記情報処理装置として機能させる、或いは、当該コンピュータに上記情報処理方法を実行させるプログラムとして実現することもできる。これら、プログラムは、コンピュータ可読記憶媒体に格納されて、或いは、ネットワーク経由で配布される。
本発明によれば、深層学習の畳み込みニューラルネットワークで用いられるモデルパラメータについて、その学習時に、モデルパラメータの改変を検出できる透かし情報を埋め込むことができる。特に、悪意の第三者によって改変(例えば重みフィルタの順序を入れ替える等)がなされたとしても、学習時におけるパラメータに関する損失関数を適切に設定することによって、透かし情報を埋め込むことができる。透かし情報が埋め込まれたモデルパラメータを作成することによって、著作者に無断で行われる流用配布や不正利用を検出することができる。
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
本願は、2017年1月12日提出の日本国特許出願特願2017−003041を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。

Claims (8)

  1. 第1のニューラルネットワークの重みに透かしビットを埋め込むための情報処理方法であって、
    前記第1のニューラルネットワークの複数の重みから求めた複数の入力値を、第2のニューラルネットワークへ入力し、前記第2のニューラルネットワークの出力を得ることと、
    前記第2のニューラルネットワークの出力と前記透かしビットとの誤差に基づき、前記複数の入力値それぞれの第2勾配を求めることと、
    誤差逆伝播法に基づき求めた前記第1のニューラルネットワークの重みの第1勾配と、前記第2勾配とを加算した値に基づき、当該重みを更新することと、
    を含む、情報処理方法。
  2. 前記第1のニューラルネットワークは、畳み込みに使用する複数の重みを有する重みフィルタをN個有し、
    前記複数の入力値は、N個の重みフィルタの同じ位置の重みの平均値である、請求項1に記載の情報処理方法。
  3. 前記第1のニューラルネットワークの前記重みフィルタの第1位置の重みは、当該重みについての前記第1勾配と、前記複数の入力値のうち、前記N個の重みフィルタの前記第1位値の重みの平均値である第1入力値についての前記第2勾配とを加算した値に基づき更新される、請求項2に記載の情報処理方法。
  4. 前記第2のニューラルネットワークは、前記複数の入力値に所定の演算を行った結果を出力する、請求項1から3のいずれか1項に記載の情報処理方法。
  5. 前記第2のニューラルネットワークは、前記複数の入力値から前記透かしビットと同じ数の入力値を選択し、選択した入力値それぞれを活性化関数の入力として出力を計算する、請求項4に記載の情報処理方法。
  6. 前記第2のニューラルネットワークは、前記複数の入力値から前記透かしビットと同じ数の入力値の組を選択し、選択した各組の入力値の差分それぞれを活性化関数の入力とし出力を計算する、請求項4に記載の情報処理方法。
  7. 第1のニューラルネットワークと第2のニューラルネットワークとを使用して前記第1のニューラルネットワークの重みに透かしビットを埋め込むための情報処理装置であって、
    前記第1のニューラルネットワークの複数の重みから複数の入力値を求める算出手段と、
    前記複数の入力値を前記第2のニューラルネットワークへ入力し、前記第2のニューラルネットワークの出力を得る出力算出手段と、
    前記第2のニューラルネットワークの出力と前記透かしビットとの誤差に基づき、前記複数の入力値それぞれの第2勾配を求める勾配算出手段と、
    前記第1のニューラルネットワークの学習を行う学習手段と、
    を備えており、
    前記学習手段は、誤差逆伝播法に基づき求めた前記第1のニューラルネットワークの重みの第1勾配と、前記第2勾配とを加算した値に基づき、当該重みを更新する、情報処理装置。
  8. プログラムを格納したコンピュータ可読記憶媒体であって、
    前記プログラムは、コンピュータの1つ以上のプロセッサで実行されると、前記コンピュータに、
    第1のニューラルネットワークの複数の重みから求めた複数の入力値を、第2のニューラルネットワークへ入力し、前記第2のニューラルネットワークの出力を得ることと、
    前記第2のニューラルネットワークの出力と前記透かしビットとの誤差に基づき、前記複数の入力値それぞれの第2勾配を求めることと、
    誤差逆伝播法に基づき求めた前記第1のニューラルネットワークの重みの第1勾配と、前記第2勾配とを加算した値に基づき、当該重みを更新することと、
    を実行させる、コンピュータ可読記憶媒体。
JP2018561888A 2017-01-12 2017-12-20 情報処理装置、方法及びコンピュータ可読記憶媒体 Active JP6727340B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017003041 2017-01-12
JP2017003041 2017-01-12
PCT/JP2017/045656 WO2018131405A1 (ja) 2017-01-12 2017-12-20 情報処理装置、方法及びコンピュータ可読記憶媒体

Publications (2)

Publication Number Publication Date
JPWO2018131405A1 true JPWO2018131405A1 (ja) 2019-07-25
JP6727340B2 JP6727340B2 (ja) 2020-07-22

Family

ID=62839839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018561888A Active JP6727340B2 (ja) 2017-01-12 2017-12-20 情報処理装置、方法及びコンピュータ可読記憶媒体

Country Status (5)

Country Link
US (1) US11521043B2 (ja)
EP (1) EP3570222B1 (ja)
JP (1) JP6727340B2 (ja)
CN (1) CN110168576B (ja)
WO (1) WO2018131405A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6727340B2 (ja) 2017-01-12 2020-07-22 Kddi株式会社 情報処理装置、方法及びコンピュータ可読記憶媒体
KR102107021B1 (ko) * 2018-08-10 2020-05-07 주식회사 딥핑소스 데이터를 식별 처리하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
JP6920263B2 (ja) * 2018-09-25 2021-08-18 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
JP6953376B2 (ja) * 2018-09-27 2021-10-27 Kddi株式会社 ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラム
JP6926045B2 (ja) * 2018-09-27 2021-08-25 Kddi株式会社 ニューラルネットワーク、学習装置、学習方法、およびプログラム
JP7028819B2 (ja) * 2019-03-13 2022-03-02 Kddi株式会社 付加情報埋込装置、付加情報検出装置、付加情報埋込方法、及びプログラム
CN110349071B (zh) * 2019-06-13 2022-11-08 西安理工大学 一种基于稠密网络对图像进行水印提取的方法
CN110569353B (zh) * 2019-07-03 2023-04-07 重庆大学 一种基于注意力机制的Bi-LSTM的标签推荐方法
US11521121B2 (en) * 2019-09-12 2022-12-06 Adobe Inc. Encoding machine-learning models and determining ownership of machine-learning models
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
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
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
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
CN112750064A (zh) * 2019-10-29 2021-05-04 阿里巴巴集团控股有限公司 一种水印信息嵌入方法以及装置
KR20210076691A (ko) * 2019-12-16 2021-06-24 삼성전자주식회사 프레임워크 간 뉴럴 네트워크의 학습을 검증하는 방법 및 장치
US11592828B2 (en) * 2020-01-16 2023-02-28 Nvidia Corporation Using neural networks to perform fault detection in autonomous driving applications
US11501136B2 (en) * 2020-05-29 2022-11-15 Paypal, Inc. Watermark as honeypot for adversarial defense
CN111800265B (zh) * 2020-07-07 2021-06-25 上海大学 一种基于隐私保护的材料逆向设计方法及系统
CN113222800B (zh) * 2021-04-12 2023-07-07 国网江苏省电力有限公司营销服务中心 一种基于深度学习的鲁棒图像水印嵌入与提取方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5966703A (ja) * 1982-10-08 1984-04-16 Fanuc Ltd 数値制御装置の加工制御情報保護方式
JP2013025356A (ja) * 2011-07-15 2013-02-04 Hitachi Solutions Ltd プログラムの流用検出方法
JP2014026389A (ja) * 2012-07-25 2014-02-06 Denso Corp モデル比較装置、識別子生成装置、モデル作成装置、モデル比較ツール、識別子生成ツール、及び、モデル作成ツール
WO2016043734A1 (en) * 2014-09-17 2016-03-24 Hewlett Packard Enterprise Development Lp Neural network verification

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6042274B2 (ja) 2013-06-28 2016-12-14 株式会社デンソーアイティーラボラトリ ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム
US9594983B2 (en) * 2013-08-02 2017-03-14 Digimarc Corporation Learning systems and methods
JP6235938B2 (ja) 2013-08-13 2017-11-22 日本電信電話株式会社 音響イベント識別モデル学習装置、音響イベント検出装置、音響イベント識別モデル学習方法、音響イベント検出方法及びプログラム
JP6192010B2 (ja) 2013-09-05 2017-09-06 国立大学法人 東京大学 重み設定装置および方法
CN104361548B (zh) * 2014-10-28 2017-10-20 河南师范大学 基于bp神经网络数字图像压缩的图像水印嵌入与提取方法
US9633306B2 (en) * 2015-05-07 2017-04-25 Siemens Healthcare Gmbh Method and system for approximating deep neural networks for anatomical object detection
JP6504396B2 (ja) 2015-06-12 2019-04-24 日立オートモティブシステムズ株式会社 油圧制御弁及び内燃機関のバルブタイミング制御装置
CN105389770B (zh) * 2015-11-09 2018-10-26 河南师范大学 基于bp和rbf神经网络的图像水印嵌入、提取方法与装置
US10755172B2 (en) * 2016-06-22 2020-08-25 Massachusetts Institute Of Technology Secure training of multi-party deep neural network
JP6727340B2 (ja) 2017-01-12 2020-07-22 Kddi株式会社 情報処理装置、方法及びコンピュータ可読記憶媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5966703A (ja) * 1982-10-08 1984-04-16 Fanuc Ltd 数値制御装置の加工制御情報保護方式
JP2013025356A (ja) * 2011-07-15 2013-02-04 Hitachi Solutions Ltd プログラムの流用検出方法
JP2014026389A (ja) * 2012-07-25 2014-02-06 Denso Corp モデル比較装置、識別子生成装置、モデル作成装置、モデル比較ツール、識別子生成ツール、及び、モデル作成ツール
WO2016043734A1 (en) * 2014-09-17 2016-03-24 Hewlett Packard Enterprise Development Lp Neural network verification

Also Published As

Publication number Publication date
EP3570222A1 (en) 2019-11-20
US20190294955A1 (en) 2019-09-26
CN110168576A (zh) 2019-08-23
WO2018131405A1 (ja) 2018-07-19
EP3570222B1 (en) 2023-02-08
EP3570222A4 (en) 2020-02-05
US11521043B2 (en) 2022-12-06
CN110168576B (zh) 2023-06-02
JP6727340B2 (ja) 2020-07-22

Similar Documents

Publication Publication Date Title
JP6727340B2 (ja) 情報処理装置、方法及びコンピュータ可読記憶媒体
JP6708755B2 (ja) 情報処理方法、情報処理装置及びコンピュータ可読記憶媒体
CA2941352C (en) Neural network and method of neural network training
KR102492318B1 (ko) 모델 학습 방법 및 장치, 및 데이터 인식 방법
CN109754078A (zh) 用于优化神经网络的方法
CN116635866A (zh) 用于挖掘少数类数据样本以训练神经网络的方法和系统
WO2018180263A1 (ja) 情報処理装置、情報処理方法、及びコンピュータ可読記憶媒体
KR20200048032A (ko) 이미지 생성 장치 및 방법과 생성 모델을 트레이닝시키는 장치 및 방법
CN110110372B (zh) 一种用户时序行为自动切分预测方法
CN112580728B (zh) 一种基于强化学习的动态链路预测模型鲁棒性增强方法
JP6908553B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN111222583B (zh) 一种基于对抗训练与关键路径提取的图像隐写分析方法
EP3832542A1 (en) Device and method with sensor-specific image recognition
CN112529057A (zh) 一种基于图卷积网络的图相似性计算方法及装置
CN116935128A (zh) 一种基于可学习提示的零样本异常图像检测方法
Barman et al. To predict possible profit/loss of a movie to be launched using MLP with back-propagation learning
KR102090109B1 (ko) 학습 및 추론 장치 및 그 방법
KR102116054B1 (ko) 심층 신경망 기반의 음성인식 시스템
CN113034472B (zh) 一种基于梯度网络架构搜索的空域隐写分析方法及系统
Wang et al. Constructing immune cover for secure steganography based on an artificial immune system approach
Gurunath et al. Insights into Artificial Neural Network techniques, and its Application in Steganography
Avalos et al. Convolutional neural networks architecture: A tutorial
Olanrewaju et al. Watermarking in safe region of frequency domain using complex-valued neural network
Fakhari et al. An image restoration architecture using abstract features and generative models
Singhal Comparative Analysis of Passive Image Forgery Detection between CNN and CNN-LSTM Models

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200520

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200630

R150 Certificate of patent or registration of utility model

Ref document number: 6727340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150