JP6657137B2 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP6657137B2
JP6657137B2 JP2017071874A JP2017071874A JP6657137B2 JP 6657137 B2 JP6657137 B2 JP 6657137B2 JP 2017071874 A JP2017071874 A JP 2017071874A JP 2017071874 A JP2017071874 A JP 2017071874A JP 6657137 B2 JP6657137 B2 JP 6657137B2
Authority
JP
Japan
Prior art keywords
weight
neural network
data
updating
layers
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.)
Active
Application number
JP2017071874A
Other languages
English (en)
Other versions
JP2018173843A (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
Priority to JP2017071874A priority Critical patent/JP6657137B2/ja
Priority to CN201880019190.8A priority patent/CN110462639B/zh
Priority to PCT/JP2018/008445 priority patent/WO2018180263A1/ja
Priority to EP18776622.5A priority patent/EP3605400A4/en
Publication of JP2018173843A publication Critical patent/JP2018173843A/ja
Priority to US16/532,812 priority patent/US11461641B2/en
Application granted granted Critical
Publication of JP6657137B2 publication Critical patent/JP6657137B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • 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
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

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の態様は、情報処理装置である。この装置は、目的タスク学習用のデータを含む第1訓練データに基づいて、複数の層を備える第1ニューラルネットワークの各層の重みを更新する第1重み更新部と、前記第1ニューラルネットワークを構成する層の中から選択した1又はそれ以上の層の重みを、透かし埋め込みタスク用の第2ニューラルネットワークを構成する層の重みとして設定する透かし用重み設定部と、透かし検出用のデータ及びラベルを含む第2訓練データに対応付けて、前記第2ニューラルネットワークにおける重み更新の可否を定めるマスクデータを設定するマスク設定部と、前記第2訓練データに基づいて、前記第2ニューラルネットワークの重みのうち、前記マスクデータが更新を許可する箇所の重みを更新する第2重み更新部と、を備える。
前記第1重み更新部は、前記マスクデータが前記第2ニューラルネットワークの重みの更新を許可する箇所に対応する前記第1ニューラルネットワークの重みの更新を禁止してもよい。
前記マスク設定部は、異なる前記第2訓練データに対し、重み更新を禁止する箇所が異なるマスクデータを設定してもよい。
前記透かし用重み設定部は、前記第1ニューラルネットワークを構成する1又はそれ以上の層のうち、前記第1ニューラルネットワークの入力層に近い側に存在する層を優先して選択してもよい。
前記第1重み更新部は、前記第1ニューラルネットワークの各層の重みに対する前記目的タスク学習用のラベルの誤差を最小化した第1の勾配と、前記第2重み更新部によって生成された前記第2ニューラルネットワークの重みに対する透かし検出用ラベルの誤差を最小化した第2の勾配と、を加算した更新勾配に基づいて前記第1ニューラルネットワークの重みを更新してもよい。
本発明の第2の態様は、情報処理方法である。この方法は、プロセッサが、目的タスク学習用のデータを含む第1訓練データに基づいて、複数の層を備える第1ニューラルネットワークの各層の重みを更新するステップと、前記第1ニューラルネットワークを構成する層の中から1又はそれ以上の層を選択するステップと、選択した層を、透かし埋め込みタスク用の第2ニューラルネットワークを構成する層の重みとして設定するステップと、透かし検出用のデータ及びラベルを含む第2訓練データに対応付けて、前記第2ニューラルネットワークにおける重み更新の可否を定めるマスクデータを設定するステップと、前記第2訓練データに基づいて、前記第2ニューラルネットワークの重みのうち、前記マスクデータが更新を許可する箇所の重みを更新するステップと、を実行する。
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、目的タスク学習用のデータを含む第1訓練データに基づいて、複数の層を備える第1ニューラルネットワークの各層の重みを更新する機能と、前記第1ニューラルネットワークを構成する層の中から1又はそれ以上の層を選択する機能と、選択した層を、透かし埋め込みタスク用の第2ニューラルネットワークを構成する層の重みとして設定する機能と、透かし検出用のデータ及びラベルを含む第2訓練データに対応付けて、前記第2ニューラルネットワークにおける重み更新の可否を定めるマスクデータを設定する機能と、前記第2訓練データに基づいて、前記第2ニューラルネットワークの重みのうち、前記マスクデータが更新を許可する箇所の重みを更新する機能と、を実現させる。
本発明によれば、出所を特定することができる学習モデルを提供することができる。
畳み込みニューラルネットワークの一般的な機能構成を模式的に示す図である。 入力データと特徴マップとの畳み込みの関係を説明するための図である。 重みフィルタを用いた特徴マップの生成を説明するための図である。 N個の重みフィルタとN段の特徴マップとの関係を説明するための図である。 実施の形態に係る情報処理装置が実行する学習処理の概要を説明するための模式図である。 実施の形態に係る情報処理装置の機能構成を模式的に示す図である。 実施の形態に係る透かし用重み設定部による重み設定処理を説明するための図である。 第2ラベルとマスクデータとの関係を模式的に示す図である。 実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。
<畳み込みニューラルネットワーク>
実施の形態に係る情報処理装置は、ニューラルネットワークのうち、特に畳み込みニューラルネットワーク(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は畳み込み層である。同様に、第m層Lmが出力層となっている。畳み込みニューラルネットワークは、前方層における特定のユニットのみが、後方層のユニットへ結合されている。すなわち、畳み込みニューラルネットワークにおいては、前方層における全てのユニットが後方層のユニットへ結合されているものではない。
実施の形態に係るニューラルネットワークにおける学習は、訓練データに対する出力層からの出力値と訓練データのラベルとの誤差を用いて、各層の重みを最適に更新することを意味する。その誤差を算出するために、「損失関数」(loss function)が定義される。誤差は、「誤差逆伝播法」によって出力層側から入力層側へ向けて次々に伝播し、各層の重みを少しずつ更新していく。最終的に、誤差が小さくなるように、各層の重みを適切な値に調整する収束計算を実行する。具体的には、ニューラルネットワークにおける学習(すなわち、新規のモデルパラメータの生成段階)で、誤差を逆伝播させた勾配によって、モデルパラメータを更新する。
図2は、入力データと特徴マップとの畳み込みの関係を説明するための図である。図2における処理は、畳み込み層及び全結合層によって実行される。図2に示す例では、入力データに対して1個の重みフィルタをかけることにより、特徴マップを生成している。図2において、入力データ、重みフィルタ、及び特徴マップのサイズはそれぞれ以下のとおりである。
入力データ :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)等の大容量記憶装置によって構成される。情報処理装置1は、PC(Personal Computer)やワークステーション、サーバ等の単一の装置であってもよいし、クラウドサーバのように複数の装置から構成されてもよい。
図5は、実施の形態に係る情報処理装置が実行する学習処理の概要を説明するための模式図である。実施の形態に係る情報処理装置は、従来のニューラルネットワークと同様に、目的タスク学習用の第1データD1及び第1ラベルT1を含む第1訓練データに基づいて、複数の層Lを備える第1ニューラルネットワークN1の各層Lの重みを更新する。例えば、「猫検出」、「山検出」、「自動車検出」のように複数の目的タスクが存在する場合、各目的タスク用の第1データD1と、各第1データD1それぞれに異なる第1ラベルT1を割り当てたデータセットが、第1訓練データとなる。
また、実施の形態に係る情報処理装置は、第1ニューラルネットワークを構成する層Lの中から選択した1又はそれ以上の層Lから構成される第2ニューラルネットワークN2も備える。実施の形態に係る情報処理装置は、透かし検出用の第2データD2及び第2ラベルT2を含む第2訓練データに基づいて、第2ニューラルネットワークN2における層Lの重みを更新する。なお、図5は、第1ニューラルネットワークN1における第2層L2が、第2ニューラルネットワークN2における重みの更新対象として選択された場合の例を示している。
詳細は後述するが、実施の形態に係る情報処理装置は、第1ニューラルネットワークN1から選択した層Lに基づいて重み更新用ベクトルWを生成する。実施の形態に係る情報処理装置は、生成した重み更新用ベクトルWに対する全結合層の出力を、第2ニューラルネットワークN2の出力である第2出力O2とする。第2出力O2は、重み更新用ベクトルWに「透かしパラメータ行列X」を乗じて生成されるベクトルに相当する。実施の形態に係る情報処理装置は、第2出力O2と、第2ラベルT2との第2誤差E2に基づいて、重み更新用ベクトルWを更新する。
ここで、実施の形態に係る情報処理装置は、第2ニューラルネットワークN2における重み更新用ベクトルWに対して、重み更新の可否を定めるマスクデータMを設定する。実施の形態に係る情報処理装置は、マスクデータMが更新を許可する箇所の重みを更新の対象とし、マスクデータMが更新を禁止する箇所の重みは更新せずに維持する。図5に示す例では、マスクデータMにおいて黒色の矩形に白抜きの×印で示す部分が重み更新を禁止する箇所である。重み更新用ベクトルWのうちマスクデータMが重み更新を禁止する箇所、すなわち重み更新用ベクトルWにおいて黒色の丸で示される個所の重みは更新されない。
実施の形態に係る情報処理装置は、透かし検出用の第2ラベルT2が異なる場合、すなわち埋め込む透かしが異なる場合、重み更新を禁止する箇所が異なるマスクデータMを設定する。これにより、実施の形態に係る情報処理装置は、第1ニューラルネットワークを構成する層の中から選択した1又はそれ以上の層に対し、異なるマスクデータの数だけ異なる透かしを埋め込むことができる。
なお、実施の形態に係る情報処理装置は、従来のニューラルネットワークと同様に、第1ニューラルネットワークN1の最終層である第m層Lmの出力である第1出力O1と、第1ラベルT1との誤差である第1誤差E1に基づいて、各層Lの重みを更新することを基本とする。しかしながら、実施の形態に係る情報処理装置は、第2ニューラルネットワークN2を構成する重みとして選択した第2層L2に関しては、第1誤差E1と第2誤差E2とに基づいて重みを更新する。これにより、実施の形態に係る情報処理装置は、目的タスクのための学習と透かし埋め込みのための学習とを同時に実現することができる。
<実施の形態に係る情報処理装置の機能構成>
以下、実施の形態に係る情報処理装置についてより詳細に説明する。
図6は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部10と制御部20とを備える。制御部20は、第1重み更新部21、透かし用重み設定部22、マスク設定部23、及び第2重み更新部24を備える。
記憶部10は、情報処理装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や情報処理装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。
制御部20は、情報処理装置1のCPUやGPU等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによって第1重み更新部21、透かし用重み設定部22、マスク設定部23、及び第2重み更新部24として機能する。
第1重み更新部21は、目的タスク学習用の第1データD1及び第1ラベルT1を含む第1訓練データを記憶部10から読み出して取得する。第1重み更新部21は、取得した第1訓練データに基づいて、複数の層Lを備える第1ニューラルネットワークN1の各層Lの重みを更新する。
透かし用重み設定部22は、第1ニューラルネットワークN1を構成する層Lの中から選択した1又はそれ以上の層Lの重みを、透かし埋め込みタスク用の第2ニューラルネットワークN2を構成する層Lの重みとして設定する。ここで、第1重み更新部21は、第1ニューラルネットワークN1を構成する1又はそれ以上の層Lのうち、第1ニューラルネットワークN1の入力層Lに近い側に存在する層Lを優先して選択する。これにより、実施の形態に係る情報処理装置1が生成した学習モデルが事後的にファインチューニングによって改変されたとしても、透かしを埋め込んだ層Lが変更される可能性を減らすことができる。一般に、出力層に近い層Lであるほど、ファインチューニングによって改変される確率が高まるからである。
図7(a)―(c)は、実施の形態に係る透かし用重み設定部22による重み設定処理を説明するための図である。具体的には、図7(a)―(c)は、5×5×3個の要素からなる重みフィルタに基づいて、透かし用重み設定部22が重み更新用ベクトルWを生成する過程を示す図である。
図7(a)は、5×5×3個の要素からなる重みフィルタFを模式的に示す図である。透かし用重み設定部22は、5×5×3個の要素からなる重みフィルタを、まず縦5、横5合わせて25個の要素からなる3つの2次元重みフィルタ(F1、F2、及びF3)に分割する。図7(b)は、5×5×3個の要素からなる重みフィルタを分割して得られる第1重みフィルタF1、第2重みフィルタF2、及び第3重みフィルタF3を模式的に示す図である。
続いて、透かし用重み設定部22は、第1重みフィルタF1、第2重みフィルタF2、及び第3重みフィルタF3それぞれを、5×5=25個の要素からなる3つの列ベクトル(V1、V2、及びV3)に展開する。図7(c)は、第1重みフィルタF1、第2重みフィルタF2、及び第3重みフィルタF3それぞれを展開して得られる第1列ベクトルV1、第2列ベクトルV2、及び第3列ベクトルV3を模式的に示す図である。
最後に、透かし用重み設定部22は、第1列ベクトルV1、第2列ベクトルV2、及び第3列ベクトルV3を順に連結して25×3=75個の要素からなる一つの列ベクトルVを生成する。ここで、図4を参照して説明したように、透かし用重み設定部22が選択した層LがN個の重みフィルタNを備える場合、透かし用重み設定部22は、各フィルタを同様に列ベクトルに展開したうえで順番につなげ、75×N個の要素からなる新たな列ベクトルを生成する。透かし用重み設定部22は、生成した列ベクトルを重み更新用ベクトルWとする。
マスク設定部23は、透かし検出用の第2データD2及び第2ラベルT2を含む第2訓練データに対応付けて、第2ニューラルネットワークN2における重み更新の可否を定めるマスクデータMを設定する。ここで、マスク設定部23は、異なる第2訓練データに対し、重み更新を禁止する箇所が異なるマスクデータMを設定する。これは、一つの重み更新用ベクトルWを異なるマスクデータMの数だけ分割することに相当する。
図8(a)−(b)は、第2ラベルT2とマスクデータMとの関係を模式的に示す図である。図8(a)に示すように、マスクデータMの形状及びサイズは、第2ラベルT2の形状及びサイズと同一である。図8に示す重み更新用ベクトルWにおいて、一つの矩形は一つの重みパラメータを示している。
マスクデータMにおいて、斜線を付した矩形は、対応する重み更新用ベクトルWにおける重み更新を禁止する箇所を示し、白抜きの矩形は重みの更新を許可する箇所を示す。したがって、図8に示す例では、重み更新用ベクトルWの上部の6個の重み更新が許可されることになる。このため、第2ラベルT2のビット長も6ビットとなっている。なお、第2ラベルT2のビット長は6ビットに限られない。第2ラベルT2のビット長は、重み更新用ベクトルWの長さ、埋め込むべき透かしの数、及び透かしデータの複雑性等を勘案して定めればよい。
図8(b)は、3つの異なるマスクデータMと、それらに対応する3つの異なる第2ラベルT2を示す図である。より具体的には、図8(b)は、第1マスクデータM1、第2マスクデータM2、及び第3マスクデータM3と、各マスクデータMに対応する第2ラベルT2a、第2ラベルT2b、及び第2ラベルT2cを示している。
図8(b)に示すように、第1マスクデータM1、第2マスクデータM2、及び第3マスクデータM3は、それぞれ重み更新を許可する箇所が互いに排他的に異なる。マスク設定部23は、第2重み更新部24が異なる第2ラベルT2(すなわち、異なる透かし検出用の第2データD2)を学習する際には、異なるマスクデータMを設定する。
第2重み更新部24は、第2訓練データに含まれるデータ及び第2ラベルT2に基づいて、第2ニューラルネットワークの重みのうち、マスクデータMが更新を許可する箇所の重みを更新する。第2重み更新部24は、異なるマスクデータM毎に異なる第2ラベルT2に基づいて重み更新用ベクトルWの重みを更新することができる。これにより、第2重み更新部24は、一つの重み更新用ベクトルWに、マスクデータMの種類の数だけ異なる透かしを埋め込むことができる。
次に、第1重み更新部21が実行する第1ニューラルネットワークN1における学習と、第2重み更新部24が実行する第2ニューラルネットワークN2における学習との関係について説明する。
第1重み更新部21は、第1ニューラルネットワークN1の学習段階で、第1誤差E1を逆伝播させた第1の勾配によって、第1ニューラルネットワークN1の各層Lの重みを更新しようとする。このとき、第1重み更新部21は、第1ニューラルネットワークN1の各層Lの重みに対する第1ラベルT1の誤差(すなわち、第1誤差E1)を最小化した第1の勾配を算出する。
また、第2重み更新部24は、第2ニューラルネットワークN2の重みである重み更新用ベクトルWに対する透かし検出用ラベルの誤差(すなわち、第2誤差E2)を最小化した第2の勾配を算出する。第1重み更新部21は、第1の勾配と第2の勾配とを加算した更新勾配に基づいて、第1ニューラルネットワークの重みを更新する。これにより、第1ニューラルネットワークN1の層Lのうち、第2ニューラルネットワークN2の重みとして透かし用重み設定部22が選択した層Lに、透かしが埋め込まれることになる。
ここで、第1重み更新部21は、マスクデータMが第2ニューラルネットワークN2の重み(すなわち、重み更新用ベクトルW)の更新を許可する箇所に対応する第1ニューラルネットワークN1の重みの更新を禁止してもよい。この場合、透かし用重み設定部22が選択した層Lのうち、マスクデータMが重みの更新を許可する箇所に対応する箇所は、目的タスクの学習に寄与せずに透かしの埋め込みのためにのみ用いられることになる。目的タスクの学習に寄与する重みが減少する分、第1ニューラルネットワークN1の学習能力が減少することになるが、透かし用重み設定部22が選択した層Lよりも出力側に十分な数の層があれば、目的タスクの実質的な影響は少ないと考えられる。むしろ、マスクデータMが重みの更新を許可する箇所を透かしの埋め込み専用に割り当てることで、透かし埋め込みの信頼性を向上することができる。
<情報処理装置1が実行する情報処理の処理フロー>
図9は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
第1重み更新部21は、記憶部10から目的タスク学習用の第1データD1及び第1ラベルT1を読み出して取得する(S2)。第2重み更新部24は、記憶部10から透かし検出用の第2データD2及び第2ラベルT2を読み出して取得する(S4)。
透かし用重み設定部22は、第1ニューラルネットワークN1を構成する層Lの中から選択した1又はそれ以上の層Lの重みを、透かし埋め込みタスク用の第2ニューラルネットワークN2を構成する層Lの重みとして選択する(S6)。マスク設定部23は、透かし検出用の第2データD2及び第2ラベルT2を含む第2訓練データに対応付けて、第2ニューラルネットワークN2における重み更新の可否を定めるマスクデータMを設定する(S8)。
第2重み更新部24は、重み更新用ベクトルWに対する透かし検出用ラベルの誤差である第2誤差E2を最小化するように、重み更新用ベクトルWを更新する(S10)。第1重み更新部21は、第1ニューラルネットワークN1の出力と第1ラベルT1との誤差である第1誤差E1と、第2誤差E2とに基づいて、第1ニューラルネットワークの重みを更新する(S12)。
情報処理装置1は、第1誤差E1と第2誤差E2とのそれぞれが所定の閾値以下となるまで上記の重み更新を繰り返す。第1誤差E1と第2誤差E2とのそれぞれが所定の閾値以下となると、本フローチャートにおける処理は終了する。
<情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、出所を特定することができる学習モデルを提供することができる。特に、マスク設定部23は、透かし検出用の第2データD2及び第2ラベルT2を含む第2訓練データに対応付けて、第2ニューラルネットワークN2における重み更新の可否を定めるマスクデータMを設定するので、複数の透かしデータを埋め込むことができる。これにより、例えば、学習モデルのバージョンや権利保有者毎に異なる透かしを学習モデルに挿入できる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
上記では、マスク設定部23が設定するマスクデータMに基づいて重み更新の可否を制御する場合について説明した。ここで、マスク設定部23は、第1重み更新部21及び第2重み更新部24を直接制御して一部の重み更新制限するようにしてもよい。このように、マスク設定部23が21及び第2重み更新部24の重み更新処理に干渉して重み更新制限することも、「マスクデータM」を設定することによって重み更新の可否を制御することを実質的に同じであることは、当業者であれば理解できることである。
また、上記では、目的タスクとして教師あり学習について説明したが、目的タスクとしては教師あり学習以外の学習方法(例えば、強化学習、教師なし学習、半教師あり学習等)において本手法を適用し学習させてもよい。
1・・・情報処理装置
10・・・記憶部
20・・・制御部
21・・・第1重み更新部
22・・・透かし用重み設定部
23・・・マスク設定部
24・・・第2重み更新部

Claims (7)

  1. 目的タスク学習用のデータを含む第1訓練データに基づいて、複数の層を備える第1ニューラルネットワークの各層の重みを更新する第1重み更新部と、
    前記第1ニューラルネットワークを構成する層の中から選択した1又はそれ以上の層の重みを、透かし埋め込みタスク用の第2ニューラルネットワークを構成する層の重みとして設定する透かし用重み設定部と、
    透かし検出用のデータ及びラベルを含む第2訓練データに対応付けて、前記第2ニューラルネットワークにおける重み更新の可否を定めるマスクデータを設定するマスク設定部と、
    前記第2訓練データに基づいて、前記第2ニューラルネットワークの重みのうち、前記マスクデータが更新を許可する箇所の重みを更新する第2重み更新部と、
    を備える情報処理装置。
  2. 前記第1重み更新部は、前記マスクデータが前記第2ニューラルネットワークの重みの更新を許可する箇所に対応する前記第1ニューラルネットワークの重みの更新を禁止する、
    請求項1に記載の情報処理装置。
  3. 前記マスク設定部は、異なる前記第2訓練データに対し、重み更新を禁止する箇所が異なるマスクデータを設定する、
    請求項1又は2に記載の情報処理装置。
  4. 前記透かし用重み設定部は、前記第1ニューラルネットワークを構成する1又はそれ以上の層のうち、前記第1ニューラルネットワークの入力層に近い側に存在する層を優先して選択する、
    請求項1から3のいずれか一項に記載の情報処理装置。
  5. 前記第1重み更新部は、前記第1ニューラルネットワークの各層の重みに対する前記目的タスク学習用のラベルの誤差を最小化した第1の勾配と、前記第2重み更新部によって生成された前記第2ニューラルネットワークの重みに対する透かし検出用ラベルの誤差を最小化した第2の勾配と、を加算した更新勾配に基づいて前記第1ニューラルネットワークの重みを更新する、
    請求項1から4のいずれか一項に記載の情報処理装置。
  6. プロセッサが、
    目的タスク学習用のデータを含む第1訓練データに基づいて、複数の層を備える第1ニューラルネットワークの各層の重みを更新するステップと、
    前記第1ニューラルネットワークを構成する層の中から1又はそれ以上の層を選択するステップと、
    選択した層を、透かし埋め込みタスク用の第2ニューラルネットワークを構成する層の重みとして設定するステップと、
    透かし検出用のデータ及びラベルを含む第2訓練データに対応付けて、前記第2ニューラルネットワークにおける重み更新の可否を定めるマスクデータを設定するステップと、
    前記第2訓練データに基づいて、前記第2ニューラルネットワークの重みのうち、前記マスクデータが更新を許可する箇所の重みを更新するステップと、
    を実行する情報処理方法。
  7. コンピュータに、
    目的タスク学習用のデータを含む第1訓練データに基づいて、複数の層を備える第1ニューラルネットワークの各層の重みを更新する機能と、
    前記第1ニューラルネットワークを構成する層の中から1又はそれ以上の層を選択する機能と、
    選択した層を、透かし埋め込みタスク用の第2ニューラルネットワークを構成する層の重みとして設定する機能と、
    透かし検出用のデータを含む第2訓練データに対応付けて、前記第2ニューラルネットワークにおける重み更新の可否を定めるマスクデータを設定する機能と、
    前記第2訓練データに基づいて、前記第2ニューラルネットワークの重みのうち、前記マスクデータが更新を許可する箇所の重みを更新する機能と、
    を実現させるプログラム。

JP2017071874A 2017-03-31 2017-03-31 情報処理装置、情報処理方法、及びプログラム Active JP6657137B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2017071874A JP6657137B2 (ja) 2017-03-31 2017-03-31 情報処理装置、情報処理方法、及びプログラム
CN201880019190.8A CN110462639B (zh) 2017-03-31 2018-03-06 信息处理设备、信息处理方法及计算机可读存储介质
PCT/JP2018/008445 WO2018180263A1 (ja) 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 (1)

Application Number Priority Date Filing Date Title
JP2017071874A JP6657137B2 (ja) 2017-03-31 2017-03-31 情報処理装置、情報処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2018173843A JP2018173843A (ja) 2018-11-08
JP6657137B2 true JP6657137B2 (ja) 2020-03-04

Family

ID=63677312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017071874A Active JP6657137B2 (ja) 2017-03-31 2017-03-31 情報処理装置、情報処理方法、及びプログラム

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)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6657137B2 (ja) 2017-03-31 2020-03-04 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム
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
CN112750064A (zh) * 2019-10-29 2021-05-04 阿里巴巴集团控股有限公司 一种水印信息嵌入方法以及装置
CN115398425A (zh) * 2020-04-01 2022-11-25 瑞典爱立信有限公司 神经网络加水印
JP7339219B2 (ja) 2020-08-19 2023-09-05 Kddi株式会社 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
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
WO2016043734A1 (en) * 2014-09-17 2016-03-24 Hewlett Packard Enterprise Development Lp Neural network verification
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
JP6443290B2 (ja) 2015-10-07 2018-12-26 王子ホールディングス株式会社 脱墨古紙パルプの製造方法
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株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
EP3605400A4 (en) 2020-04-15
WO2018180263A1 (ja) 2018-10-04
CN110462639B (zh) 2023-09-22
US11461641B2 (en) 2022-10-04
US20190362232A1 (en) 2019-11-28
EP3605400A1 (en) 2020-02-05
CN110462639A (zh) 2019-11-15
JP2018173843A (ja) 2018-11-08

Similar Documents

Publication Publication Date Title
JP6657137B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6823523B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6778670B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2019527447A (ja) ニューラルネットワーク学習ベースの変種悪性コードを検出するための装置、そのための方法及びこの方法を実行するためのプログラムが記録されたコンピュータ読み取り可能な記録媒体
JP7291670B2 (ja) 推論方法、推論プログラム、モデル生成方法、モデル生成プログラム、推論装置及び学習装置
JP6741636B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7042210B2 (ja) 学習モデル生成装置、学習モデル生成方法、及びプログラム
JP6908553B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2019091436A (ja) 3d配置のタイプに応じた2d画像の分類
US20200272946A1 (en) Electronic device and control method thereof
CN112819151A (zh) 用于识别图像的方法和设备以及训练方法
TWI758223B (zh) 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體
JP6937782B2 (ja) 画像処理方法及びデバイス
CN116523725A (zh) 一种神经网络模型的水印处理方法和装置
TW202329042A (zh) 三維建模方法、三維建模系統和非暫態電腦可讀取儲存媒體
KR20200052411A (ko) 영상 분류 장치 및 방법
JP6953376B2 (ja) ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラム
JP7241009B2 (ja) 学習装置、学習方法及びプログラム
JP6920263B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US20220012551A1 (en) Machine learning apparatus, machine learning method, and computer-readable recording medium
JP7388566B2 (ja) データ生成プログラム、方法及び装置
JP7339219B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN116755714B (zh) 深度神经网络模型的运行方法、装置、设备和存储介质
JP7323219B2 (ja) 構造最適化装置、構造最適化方法、及びプログラム
WO2023204041A1 (ja) 情報処理装置、情報処理方法、情報処理プログラム、ソフトウェア作成装置、ソフトウェア作成方法、及びソフトウェア作成プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190304

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: 20200121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200205

R150 Certificate of patent or registration of utility model

Ref document number: 6657137

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150