JP6778670B2 - Information processing device, information processing method, and program - Google Patents
Information processing device, information processing method, and program Download PDFInfo
- Publication number
- JP6778670B2 JP6778670B2 JP2017177514A JP2017177514A JP6778670B2 JP 6778670 B2 JP6778670 B2 JP 6778670B2 JP 2017177514 A JP2017177514 A JP 2017177514A JP 2017177514 A JP2017177514 A JP 2017177514A JP 6778670 B2 JP6778670 B2 JP 6778670B2
- Authority
- JP
- Japan
- Prior art keywords
- weight
- vector
- watermark
- learning
- neural network
- 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
Links
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Description
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program.
近年、CPU(Central Processing Unit)及びGPU(Graphics Processing Unit)の高速化、メモリの大容量化、及び機械学習技術が急速に進んできている。このため、数十万から百万といったオーダーの学習データを用いる機械学習が可能となり、精度の高い識別技術や分類技術が確立されつつある(非特許文献1参照)。 In recent years, the speed of CPU (Central Processing Unit) and GPU (Graphics Processing Unit) has been increased, the capacity of memory has been increased, and machine learning technology has been rapidly advanced. For this reason, machine learning using learning data on the order of hundreds of thousands to millions has become possible, and highly accurate identification technology and classification technology are being established (see Non-Patent Document 1).
大量の学習データに基づく機械学習を実行するためには大量の計算コストがかかる。また、大量の学習データを用意すること、及び用意した学習データを機械学習に用いるために加工する前処理にも膨大な労力を要する。一方で、機械学習によって生成された学習モデルはデジタルデータであり、その複製は容易である。さらに、一般に学習モデル生成に用いられた学習データを、学習モデル自体から推測することは難しい。 A large amount of computational cost is required to perform machine learning based on a large amount of learning data. In addition, a huge amount of labor is required for preparing a large amount of learning data and preprocessing for processing the prepared learning data for use in machine learning. On the other hand, the learning model generated by machine learning is digital data, and its duplication is easy. Furthermore, it is difficult to infer the learning data generally used for learning model generation from the learning model itself.
このため、学習モデルを生成した者は、その学習モデルが第三者によって不正に利用されたとしても、不正を立証することが難しい。収集した学習データと、学習データに基づいて生成された学習モデルとはそれぞれ労力をかけて取得した価値あるものであり、不正利用から学習モデルを守ることが望まれている。 Therefore, it is difficult for the person who generated the learning model to prove the fraud even if the learning model is fraudulently used by a third party. The collected learning data and the learning model generated based on the learning data are valuable ones acquired by effort, and it is desired to protect the learning model from unauthorized use.
本発明はこれらの点に鑑みてなされたものであり、出所を特定することができる学習モデルを提供することを目的とする。 The present invention has been made in view of these points, and an object of the present invention is to provide a learning model capable of identifying the source.
本発明の第1の態様は、情報処理装置である。この装置は、目的タスク学習用の訓練データと透かしラベルとを取得する訓練データ取得部と、前記訓練データに基づいて、複数の層を備えるニューラルネットワークの各層の重みを更新する重み更新部と、前記ニューラルネットワークを構成する層の中から選択した層の重みのうち少なくとも一部の重みを成分とするベクトルである重みベクトルを生成する重みベクトル生成部と、アダマール行列を前記重みベクトルに乗じて透かし用ベクトルに変換するベクトル変換部と、を備える。ここで、前記重み更新部は、前記目的タスク学習用に設定された第1損失関数に、前記透かし用ベクトルと前記透かしラベルとを用いて定められた第2損失関数を加算した損失関数に基づいて、前記重みを更新する。 The first aspect of the present invention is an information processing device. This device includes a training data acquisition unit that acquires training data and a watermark label for learning a target task, a weight update unit that updates the weight of each layer of a neural network having a plurality of layers based on the training data, and a weight update unit. A weight vector generator that generates a weight vector, which is a vector whose components are at least a part of the weights of the layers selected from the layers constituting the neural network, and a Hadamard matrix are multiplied by the weight vector to open a watermark. It is provided with a vector conversion unit for converting to a vector for use. Here, the weight update unit is based on a loss function obtained by adding a second loss function determined by using the watermark vector and the watermark label to the first loss function set for the target task learning. Then, the weight is updated.
前記情報処理装置は、前記透かしラベルの長さ以上の行の長さを持つアダマール行列を選択する行列選択部と、前記透かしラベルの長さが選択された前記アダマール行列の行の長さと同じ長さとなるように、前記透かしラベルをパディングするサイズ調整部と、をさらに備えてもよい。 The information processing apparatus has a matrix selection unit for selecting a Hadamard matrix having a row length equal to or longer than the length of the watermark label, and the length of the watermark label having the same length as the row length of the selected Hadamard matrix. A size adjusting unit for padding the watermark label may be further provided so as to be.
前記重みベクトル生成部は、前記ニューラルネットワークを構成する層の中から選択した層の重みのうち、前記アダマール行列における行の長さと同じ数の重みを選択して前記重みベクトルを生成してもよい。 The weight vector generation unit may generate the weight vector by selecting the same number of weights as the row length in the Hadamard matrix from the weights of the layers selected from the layers constituting the neural network. ..
前記情報処理装置は、複数の異なるラベルを連結して前記透かしラベルを生成する透かしラベル生成部をさらに備えてもよい。 The information processing apparatus may further include a watermark label generation unit that connects a plurality of different labels to generate the watermark label.
前記情報処理装置は、前記目的タスク学習用の訓練データに基づいて、あらかじめ前記ニューラルネットワークの各層の重みを更新することによって前記各層の重みの変動を記録する変動記録部をさらに備えてもよく、前記重みベクトル生成部は、前記変動の小さい重みを、前記変動の大きい重みよりも優先して前記重みベクトルの成分として選択してもよい。 The information processing device may further include a fluctuation recording unit that records fluctuations in the weights of each layer by updating the weights of each layer of the neural network in advance based on the training data for learning the target task. The weight vector generation unit may select the weight having a small fluctuation as a component of the weight vector in preference to the weight having a large fluctuation.
本発明の第2の態様は、情報処理方法である。この方法において、プロセッサが、目的タスク学習用の訓練データと透かしラベルとを取得するステップと、複数の層を備えるニューラルネットワークを構成する層の中から選択した層の重みのうち少なくとも一部の重みを成分とするベクトルである重みベクトルを生成するステップと、アダマール行列を前記重みベクトルに乗じて得られる透かし用ベクトルに変換するステップと、前記訓練データと、前記目的タスク学習用に設定された第1損失関数に前記透かし用ベクトルと前記透かしラベルとを用いて定められた第2損失関数を加算した損失関数と、に基づいて、前記ニューラルネットワークの各層の重みを更新するステップと、を実行する。 A second aspect of the present invention is an information processing method. In this method, the processor obtains training data and a watermark label for learning the target task, and at least a part of the weights of the layers selected from the layers constituting the neural network having a plurality of layers. A step of generating a weight vector which is a vector having the above as a component, a step of converting an Adamard matrix into a watermark vector obtained by multiplying the weight vector, the training data, and a first set for learning the target task. 1 A loss function obtained by adding a second loss function determined by using the watermark vector and the watermark label to the loss function, and a step of updating the weight of each layer of the neural network based on the loss function are executed. ..
本発明の第3の態様は、プログラムである。このプログラムは、コンピュータに、目的タスク学習用の訓練データと透かしラベルとを取得する機能と、複数の層を備えるニューラルネットワークを構成する層の中から選択した層の重みのうち少なくとも一部の重みを成分とするベクトルである重みベクトルを生成する機能と、アダマール行列を前記重みベクトルに乗じて得られる透かし用ベクトルに変換する機能と、前記訓練データと、前記目的タスク学習用に設定された第1損失関数に前記透かし用ベクトルと前記透かしラベルとを用いて定められた第2損失関数を加算した損失関数と、に基づいて、前記ニューラルネットワークの各層の重みを更新する機能と、を実現させる。 A third aspect of the present invention is a program. This program has a function to acquire training data and watermark labels for learning the target task on a computer, and weights of at least a part of the layers selected from the layers constituting the neural network having multiple layers. A function of generating a weight vector which is a vector having the above as a component, a function of converting an Adamard matrix into a watermark vector obtained by multiplying the weight vector, the training data, and a third set for the objective task learning. A loss function obtained by adding a second loss function determined by using the watermark vector and the watermark label to one loss function, and a function of updating the weight of each layer of the neural network based on the loss function are realized. ..
本発明によれば、出所を特定することができる学習モデルを提供することができる。 According to the present invention, it is possible to provide a learning model capable of identifying the source.
<畳み込みニューラルネットワーク>
実施の形態に係る情報処理装置は、ニューラルネットワークのうち、特に畳み込みニューラルネットワーク(Convolutional Neural Network;CNN)のモデルパラメータに透かし情報を埋め込むための装置である。そこで、実施の形態に係る情報処理装置の前提技術として、まず畳み込みニューラルネットワークについて簡単に説明する。
<Convolutional neural network>
The information processing device according to the embodiment is a device for embedding watermark information in a model parameter of a convolutional neural network (CNN) among neural networks. Therefore, as a prerequisite technique of the information processing apparatus according to the embodiment, first, a convolutional neural network will be briefly described.
図1は、畳み込みニューラルネットワークの一般的な機能構成を模式的に示す図である。
現在、様々な構成のニューラルネットワークが提案されているが、これらの基本構成は共通である。ニューラルネットワークの基本構成は、複数種類の層の重ね合わせ(又はグラフ構造)で表現される。ニューラルネットワークは、入力データに対する出力結果が適切な値になるようにモデルパラメータを学習する。言い換えると、ニューラルネットワークは、入力データに対する出力結果が適切な値になるように定義された損失関数を最小化するようにモデルパラメータを学習する。
FIG. 1 is a diagram schematically showing a general functional configuration of a convolutional neural network.
Currently, neural networks with various configurations have been proposed, but these basic configurations are common. The basic configuration of a neural network is represented by a superposition (or graph structure) of a plurality of types of layers. The neural network learns the model parameters so that the output result for the input data is an appropriate value. In other words, the neural network learns the model parameters to minimize the loss function defined so that the output result for the input data is an appropriate value.
図1において、順伝播型ニューラルネットワークとして、入力層(input layer)と、隠れ層(hidden layer)と、出力層(output layer)との3つの層から構成され、入力層から出力層へ向けて一方向に伝播する。隠れ層は、グラフ状に複数の層から構成することができる。各層は、複数のユニット(ニューロン)を持つ。各層において、前方層のユニットから後方層のユニットへつなぐ関数のパラメータを、「重み(weight)」と称す。本明細書における学習とは、この関数のパラメータとして、適切な「重み」を算出することである。 In FIG. 1, as a feedforward neural network, it is composed of three layers, an input layer, a hidden layer, and an output layer, from the input layer to the output layer. Propagate in one direction. The hidden layer can be composed of a plurality of layers in a graph shape. Each layer has multiple units (neurons). In each layer, the parameter of the function that connects the unit in the front layer to the unit in the rear layer is called "weight". Learning in the present specification is to calculate an appropriate "weight" as a parameter of this function.
図1は、畳み込みニューラルネットワークを図示している。畳み込みニューラルネットワークは、入力層と、畳み込み層(convolutional layer)と、プーリング層(pooling layer)と、全結合層(full-connected layer)と、出力層とから構成される。畳み込みニューラルネットワークは、前方層における特定のユニットのみが、後方層のユニットへ結合されている。すなわち、畳み込みニューラルネットワークにおいては、前方層における全てのユニットが後方層のユニットへ結合されているものではない。なお、図1において、第1層L1が入力層であり、第2層L2は畳み込み層である。同様に、第m層Lmが出力層となっている。 FIG. 1 illustrates a convolutional neural network. A convolutional neural network is composed of an input layer, a convolutional layer, a pooling layer, a full-connected layer, and an output layer. In a convolutional neural network, only specific units in the anterior layer are connected to units in the posterior layer. That is, in the convolutional neural network, not all the units in the front layer are connected to the units in the rear layer. In FIG. 1, the first layer L1 is an input layer, and the second layer L2 is a convolutional layer. Similarly, the m-th layer Lm is the output layer.
本実施の形態に係るニューラルネットワークにおける学習は、訓練データに対する出力層からの出力値と訓練データのラベルとの誤差を用いて、各層の重みを最適に更新することを意味する。その誤差を算出するために、「損失関数」(loss function)が定義される。誤差は、「誤差逆伝播法」によって出力層側から入力層側へ向けて次々に伝播し、各層の重みを少しずつ更新していく。最終的に、誤差が小さくなるように、各層の重みを適切な値に調整する収束計算を実行する。具体的には、ニューラルネットワークにおける学習(すなわち、新規のモデルパラメータの生成段階)で、誤差を逆伝播させた勾配によって、モデルパラメータを更新する。 The learning in the neural network according to the present embodiment means that the weight of each layer is optimally updated by using the error between the output value from the output layer and the label of the training data with respect to the training data. A "loss function" is defined to calculate the error. The error is propagated one after another from the output layer side to the input layer side by the "error back propagation method", and the weight of each layer is updated little by little. Finally, a convergence calculation is performed that adjusts the weights of each layer to the appropriate values so that the error is small. Specifically, in learning in a neural network (that is, in the generation stage of a new model parameter), the model parameter is updated by the gradient in which the error is back-propagated.
図2は、入力データと特徴マップとの畳み込みの関係を説明するための図である。図2における処理は、畳み込み層及び全結合層によって実行される。図2に示す例では、入力データに対して1個の重みフィルタをかけることにより、特徴マップを生成している。図2において、入力データ、重みフィルタ、及び特徴マップのサイズはそれぞれ以下のとおりである。
入力データ :32×32×3個の要素
重みフィルタ:5×5×3個の要素 (モデルパラメータ)
特徴マップ :28×28個の要素
FIG. 2 is a diagram for explaining the convolutional relationship between the input data and the feature map. The process in FIG. 2 is performed by the convolutional layer and the fully connected layer. In the example shown in FIG. 2, a feature map is generated by applying one weight filter to the input data. In FIG. 2, the sizes of the input data, the weight filter, and the feature map are as follows.
Input data: 32 x 32 x 3 elements Weight filter: 5 x 5 x 3 elements (model parameters)
Feature map: 28 x 28 elements
重みフィルタはN個(Nは1以上の整数。)分用意され、これがモデルパラメータとなる。すなわち、「重み」とは、N個の重みフィルタを意味する。ただし、ここでは、バイアス項は考慮しないものとする。 N weight filters (N is an integer of 1 or more) are prepared, and these are model parameters. That is, "weight" means N weight filters. However, the bias term is not considered here.
図3は、重みフィルタを用いた特徴マップの生成を説明するための図である。
図3に示す例では、5×5×3個の要素からなる1個の重みフィルタを入力データにかけ、その各要素の積の和を特徴マップの1個の要素の値とする。そして、入力データに対して同じ重みフィルタを移動させることにより、1枚の特徴マップを生成する。ここで、重みフィルタを移動させる要素の数(移動量)を「ストライド(stride)」と称す。入力データの周囲の縁(ふち)には、要素0を埋めたゼロパディング(zero-padding)の領域を設ける。これによって、入力データの縁の要素にも、同数の重みフィルタをあてることができる。
FIG. 3 is a diagram for explaining the generation of the feature map using the weight filter.
In the example shown in FIG. 3, one weight filter composed of 5 × 5 × 3 elements is applied to the input data, and the sum of the products of the elements is used as the value of one element of the feature map. Then, by moving the same weight filter with respect to the input data, one feature map is generated. Here, the number of elements (movement amount) for moving the weight filter is referred to as "stride". A zero-padding area in which element 0 is filled is provided at the peripheral edge of the input data. As a result, the same number of weight filters can be applied to the edge elements of the input data.
図4は、N個の重みフィルタとN段の特徴マップとの関係を説明するための図である。図4に示す例では、重みフィルタの数はN個である。図2及び図3は、1個の重みフィルタによって生成された1枚の特徴マップが生成される場合の例が示されている。これに対し、図4に示す例は、N個の重みフィルタによってN段の特徴マップが生成される場合の例が示されている。ニューラルネットワークの学習では、ある層における特徴マップが、次の層における入力データとなる。ニューラルネットワークの学習を実行することにより、損失関数に基づく誤差が出力層側から入力層側へ向けて次々に伝播し、既知の誤差逆伝播法によって各層の重みが更新される。 FIG. 4 is a diagram for explaining the relationship between the N weight filters and the N-stage feature map. In the example shown in FIG. 4, the number of weight filters is N. 2 and 3 show an example in which one feature map generated by one weight filter is generated. On the other hand, the example shown in FIG. 4 shows an example in which an N-stage feature map is generated by N weight filters. In neural network learning, the feature map in one layer becomes the input data in the next layer. By executing the training of the neural network, the error based on the loss function is propagated one after another from the output layer side to the input layer side, and the weight of each layer is updated by the known error back propagation method.
<実施の形態の概要>
以上を前提として、実施の形態の概要を述べる。
実施の形態に係る情報処理装置は、ニューラルネットワークを用いて目的タスクを達成するための学習モデルを生成すると同時に、その学習モデルに対して電子的な透かしを埋め込むための装置である。
<Outline of the embodiment>
On the premise of the above, the outline of the embodiment will be described.
The information processing device according to the embodiment is a device for generating a learning model for achieving a target task by using a neural network and at the same time embedding an electronic watermark in the learning model.
実施の形態に係る情報処理装置は、CPUやGPU等のプロセッサ、DRAM(Dynamic Random Access Memory)等の作業メモリ、及びHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置によって構成される。実施の形態に係る情報処理装置は、PC(Personal Computer)やワークステーション、サーバ等の単一の装置であってもよいし、クラウドサーバのように複数の装置から構成されてもよい。 The information processing device according to the embodiment uses a processor such as a CPU or GPU, a work memory such as a DRAM (Dynamic Random Access Memory), and a large-capacity storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive). It is composed. The information processing device according to the embodiment may be a single device such as a PC (Personal Computer), a workstation, or a server, or may be composed of a plurality of devices such as a cloud server.
図5は、実施の形態に係る情報処理装置が実行する学習処理の概要を説明するための模式図である。実施の形態に係る情報処理装置は、従来のニューラルネットワークと同様に、目的タスク学習用データD及び目的タスク用ラベルT1を含む訓練データに基づいて、複数の層Lを備える第1ニューラルネットワークN1の各層Lの重みを更新する。例えば、「猫検出」、「山検出」、「自動車検出」のように複数の目的タスクが存在する場合、各目的タスク用の目的タスク学習用データDと、各目的タスク学習用データDそれぞれに異なる目的タスク用ラベルT1を割り当てたデータセットが、訓練データとなる。 FIG. 5 is a schematic diagram for explaining an outline of the learning process executed by the information processing apparatus according to the embodiment. The information processing apparatus according to the embodiment is the first neural network N1 having a plurality of layers L based on the training data including the target task learning data D and the target task label T1, similarly to the conventional neural network. The weight of each layer L is updated. For example, when there are a plurality of target tasks such as "cat detection", "mountain detection", and "automobile detection", the target task learning data D for each target task and the target task learning data D for each purpose task are assigned to each. The data set to which the label T1 for a different purpose task is assigned becomes the training data.
また、実施の形態に係る情報処理装置は、第1ニューラルネットワークN1を構成する層Lの中から選択した1又はそれ以上の層Lから構成される第2ニューラルネットワークN2も備える。実施の形態に係る情報処理装置は、透かし検出用の透かしラベルT2に基づいて第2ニューラルネットワークN2における層Lの重みを更新する。 The information processing apparatus according to the embodiment also includes a second neural network N2 composed of one or more layers L selected from the layers L constituting the first neural network N1. The information processing apparatus according to the embodiment updates the weight of the layer L in the second neural network N2 based on the watermark label T2 for watermark detection.
なお、図5は、第1ニューラルネットワークN1における第2層L2が、第2ニューラルネットワークN2における重みの更新対象として選択された場合の例を示している。以下、本明細書において、第1ニューラルネットワークN1と第2ニューラルネットワークN2とを区別しない場合には、単にニューラルネットワークNと記載する。 Note that FIG. 5 shows an example in which the second layer L2 in the first neural network N1 is selected as the weight update target in the second neural network N2. Hereinafter, in the present specification, when the first neural network N1 and the second neural network N2 are not distinguished, they are simply described as the neural network N.
詳細は後述するが、実施の形態に係る情報処理装置は、第1ニューラルネットワークN1から選択した層Lに基づいて重みベクトルWを生成する。実施の形態に係る情報処理装置は、生成した重みベクトルWにアダマール行列を乗じて得られたベクトルを、第2ニューラルネットワークN2の出力である第2出力O2とする。すなわち、実施の形態に係る情報処理装置において、重みベクトルWにアダマール行列を乗じることで得られる透かし用ベクトルが、第2ニューラルネットワークN2の出力である第2出力O2となる。 Although the details will be described later, the information processing apparatus according to the embodiment generates the weight vector W based on the layer L selected from the first neural network N1. The information processing apparatus according to the embodiment uses the vector obtained by multiplying the generated weight vector W by the Hadamard matrix as the second output O2, which is the output of the second neural network N2. That is, in the information processing apparatus according to the embodiment, the watermark vector obtained by multiplying the weight vector W by the Hadamard matrix becomes the second output O2 which is the output of the second neural network N2.
この意味で、本明細書において、重みベクトルWにアダマール行列を乗じることで得られる透かし用ベクトルを透かし用ベクトルO2と記載することもある。実施の形態に係る情報処理装置は、透かし用ベクトルO2と、透かしラベルT2との第2誤差E2に基づいて、重みベクトルWを更新する。 In this sense, in the present specification, the watermark vector obtained by multiplying the weight vector W by the Hadamard matrix may be described as the watermark vector O2. The information processing apparatus according to the embodiment updates the weight vector W based on the second error E2 between the watermark vector O2 and the watermark label T2.
アダマール行列は、各行がウォルシュ符号と呼ばれる互いに直交している符号によって構成され、行及び列の長さが2m(mは0以上の自然数)の正方行列である。ウォルシュ符号の成分は+1又は−1であるため、アダマール行列の成分も+1又は−1のいずれかである。これと対応して、透かしラベルT2及び透かし用ベクトルO2の成分も+1又は−1のいずれかとする。このため、重みベクトルWをアダマール変換した後に、シグモイド関数等による二値化処理も行われている。 The Adamar matrix is a square matrix in which each row is composed of orthogonal codes called Walsh codes, and the length of the rows and columns is 2 m (m is a natural number of 0 or more). Since the component of the Walsh code is +1 or -1, the component of the Hadamard matrix is also either +1 or -1. Correspondingly, the components of the watermark label T2 and the watermark vector O2 are also set to either +1 or -1. Therefore, after the weight vector W is Hadamard transformed, binarization processing by a sigmoid function or the like is also performed.
ここで、アダマール行列は実対称行列であり、かつ直交行列でもある。したがって、実施の形態に係る情報処理装置が生成した学習モデルのうち、透かしラベルT2の埋め込みに用いた重みから生成した重みベクトルWに学習で用いたアダマール行列を乗じると、透かしラベルT2又はそれと類似するラベルが再現される。 Here, the Hadamard matrix is both a real symmetric matrix and an orthogonal matrix. Therefore, among the learning models generated by the information processing apparatus according to the embodiment, when the weight vector W generated from the weights used for embedding the watermark label T2 is multiplied by the Hadamard matrix used in the learning, the watermark label T2 or similar to it. The label to be processed is reproduced.
学習モデルの管理者は、出所が不明な学習モデルを得た場合、透かしラベルT2の埋め込みに用いた重みから生成した重みベクトルWにアダマール行列を乗じた得られたベクトルが透かしラベルT2と一致するか否かを調べる。その結果、得られたベクトルが透かしラベルT2と一致又は類似する場合、学習モデルの管理者は、出所が不明な学習モデルが、管理者自身が管理する学習モデルと同じ出所の学習モデルであるか否かを検証することができる。 When the training model administrator obtains a training model of unknown source, the obtained vector obtained by multiplying the weight vector W generated from the weight used for embedding the watermark label T2 by the Hadamard matrix matches the watermark label T2. Check if it is. As a result, when the obtained vector matches or resembles the watermark label T2, the manager of the learning model asks whether the learning model of unknown source is a learning model of the same source as the learning model managed by the manager himself. It can be verified whether or not.
なお、実施の形態に係る情報処理装置は、従来のニューラルネットワークと同様に、第1ニューラルネットワークN1の最終層である第m層Lmの出力である第1出力O1と、目的タスク用ラベルT1との誤差である第1誤差E1に基づいて、各層Lの重みを更新することを基本とする。しかしながら、実施の形態に係る情報処理装置は、第2ニューラルネットワークN2を構成する重みとして選択した第2層L2に関しては、第1誤差E1と第2誤差E2とに基づいて重みを更新する。これにより、実施の形態に係る情報処理装置は、目的タスクのための学習と透かし埋め込みのための学習とを同時に実現することができる。 The information processing apparatus according to the embodiment includes a first output O1 which is an output of the mth layer Lm which is the final layer of the first neural network N1 and a label T1 for a target task, similarly to the conventional neural network. Basically, the weight of each layer L is updated based on the first error E1 which is the error of. However, the information processing apparatus according to the embodiment updates the weights of the second layer L2 selected as the weights constituting the second neural network N2 based on the first error E1 and the second error E2. As a result, the information processing apparatus according to the embodiment can simultaneously realize learning for the target task and learning for watermark embedding.
<実施の形態に係る情報処理装置の機能構成>
以下、実施の形態に係る情報処理装置についてより詳細に説明する。
図6は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部10と制御部20とを備える。制御部20は、訓練データ取得部21、重み更新部22、重みベクトル生成部23、ベクトル変換部24、行列選択部25、サイズ調整部26、透かしラベル生成部27、及び変動記録部28を備える。
<Functional configuration of information processing device according to the embodiment>
Hereinafter, the information processing apparatus according to the embodiment will be described in more detail.
FIG. 6 is a diagram schematically showing a functional configuration of the information processing device 1 according to the embodiment. The information processing device 1 includes a storage unit 10 and a control unit 20. The control unit 20 includes a training data acquisition unit 21, a weight update unit 22, a weight vector generation unit 23, a vector conversion unit 24, a matrix selection unit 25, a size adjustment unit 26, a watermark label generation unit 27, and a fluctuation recording unit 28. ..
記憶部10は、情報処理装置1を実現するコンピュータのBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)や情報処理装置1の作業領域となるRAM(Random Access Memory)、OS(Operating System)やアプリケーションプログラム、当該アプリケーションプログラムの実行時に参照される種々の情報を格納するHDDやSSD等の大容量記憶装置である。 The storage unit 10 includes a ROM (Read Only Memory) for storing the BIOS (Basic Input Output System) of the computer that realizes the information processing device 1, a RAM (Random Access Memory) that serves as a work area for the information processing device 1, and an OS (OS). An operating system), an application program, and a large-capacity storage device such as an HDD or SSD that stores various information referred to when the application program is executed.
制御部20は、情報処理装置1のCPUやGPU等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによって訓練データ取得部21、重み更新部22、重みベクトル生成部23、ベクトル変換部24、行列選択部25サイズ調整部26、透かしラベル生成部27、及び変動記録部28として機能する。 The control unit 20 is a processor such as a CPU or GPU of the information processing device 1, and by executing a program stored in the storage unit 10, the training data acquisition unit 21, the weight update unit 22, the weight vector generation unit 23, and the vector It functions as a conversion unit 24, a matrix selection unit 25, a size adjustment unit 26, a watermark label generation unit 27, and a fluctuation recording unit 28.
訓練データ取得部21は、目的タスク学習用の訓練データと透かしラベルT2とを記憶部10から取得する。訓練データ取得部21が取得する訓練データには、目的タスク学習用データD及び目的タスク用ラベルT1が含まれる。重み更新部22は、訓練データ取得部21が取得した訓練データに基づいて、複数の層を備えるニューラルネットワークNの各層の重みを更新する。上述したように、ニューラルネットワークNは、目的タスク学習用のニュースである第1ニューラルネットワークN1と、透かしラベル埋め込み用のニューラルネットワークである第2ニューラルネットワークN2とを含んでいる。 The training data acquisition unit 21 acquires the training data for learning the target task and the watermark label T2 from the storage unit 10. The training data acquired by the training data acquisition unit 21 includes the target task learning data D and the target task label T1. The weight updating unit 22 updates the weight of each layer of the neural network N including a plurality of layers based on the training data acquired by the training data acquisition unit 21. As described above, the neural network N includes a first neural network N1 which is news for learning a target task and a second neural network N2 which is a neural network for embedding a watermark label.
重みベクトル生成部23は、第1ニューラルネットワークN1を構成する層の中から選択した層の重みのうち少なくとも一部の重みを成分とするベクトルである重みベクトルWを生成する。ベクトル変換部24は、重みベクトル生成部23が生成した重みベクトルWにアダマール行列を乗じて透かし用ベクトルに変換する。 The weight vector generation unit 23 generates a weight vector W, which is a vector having at least a part of the weights of the layers selected from the layers constituting the first neural network N1 as components. The vector conversion unit 24 multiplies the weight vector W generated by the weight vector generation unit 23 by the Hadamard matrix and converts it into a watermark vector.
重み更新部22は、目的タスク学習用に設定された第1損失関数に、透かし用ベクトルO2と透かしラベルT2とを用いて定められた第2損失関数を加算した損失関数に基づいて、ニューラルネットワークNの重みを更新する。重みベクトル生成部23は、例えば既知のクロスエントロピーを用いて第2損失関数を構成すればよい。 The weight update unit 22 is a neural network based on a loss function obtained by adding a second loss function determined by using the watermark vector O2 and the watermark label T2 to the first loss function set for learning the target task. Update the weight of N. The weight vector generation unit 23 may construct the second loss function using, for example, known cross entropy.
ここで、アダマール行列は、情報処理装置1が生成する学習モデルの出所を特定するために利用する秘密鍵としての役割を果たす行列である。このため、情報処理装置1が学習する際に用いたアダマール行列は、学習モデルの管理者等の一部の者のみが管理し第三者には秘匿される。また、情報処理装置1を構成する重みのうち、重みベクトル生成部23がどの重みを用いて重みベクトルWを構成したかも秘匿される。 Here, the Hadamard matrix is a matrix that serves as a secret key used to identify the source of the learning model generated by the information processing apparatus 1. Therefore, the Hadamard matrix used when the information processing apparatus 1 learns is managed only by some persons such as the administrator of the learning model and is kept secret from a third party. Further, among the weights constituting the information processing apparatus 1, which weight is used by the weight vector generation unit 23 to form the weight vector W is also concealed.
アダマール変換は、特殊なフーリエ変換とみなすこともできる。すなわち、ベクトル変換部24がアダマール行列を用いて透かしラベルT2を変換することにより、透かしラベルT2の情報は周波数空間中に分散して埋め込まれると考えられる。 The Hadamard transform can also be regarded as a special Fourier transform. That is, it is considered that the vector conversion unit 24 converts the watermark label T2 using the Hadamard matrix, so that the information of the watermark label T2 is dispersed and embedded in the frequency space.
したがって、透かしラベルT2の改変ないし除去を試みる攻撃者は、まず、情報処理装置1を構成する重みのうちどの重みを用いて重みベクトルWが構成されているかを見極める必要がある。また、仮に、攻撃者が透かし用ベクトルO2を見出したとしても、学習に用いたアダマール行列を知らなければ、透かし用ベクトルO2から透かしラベルT2を算出することは難しい。 Therefore, an attacker who attempts to modify or remove the watermark label T2 must first determine which of the weights constituting the information processing apparatus 1 is used to form the weight vector W. Further, even if the attacker finds the watermark vector O2, it is difficult to calculate the watermark label T2 from the watermark vector O2 without knowing the Hadamard matrix used for learning.
このように、情報処理装置1が生成した学習モデルは出所を特定することができ、かつ出所を示す情報の堅牢性を担保することができる。 In this way, the learning model generated by the information processing device 1 can specify the source, and can ensure the robustness of the information indicating the source.
上述したように、情報処理装置1が学習に用いるアダマール行列は任意のサイズでは定義されず、サイズが離散的となる。具体的には、アダマール行列は、行及び列の長さが2m(mは正の整数)の正方行列となる。 As described above, the Hadamard matrix used for learning by the information processing apparatus 1 is not defined with an arbitrary size, and the size is discrete. Specifically, the Hadamard matrix is a square matrix with row and column lengths of 2 m (m is a positive integer).
図7は、アダマール行列、重みベクトルW、透かしラベルT2、及び透かし用ベクトルO2のサイズの関係を説明するための図である。透かしラベルT2は、学習モデルの出所判別に用いるための情報であるため、その長さは情報処理装置1を用いて学習モデルを作成した学習モデルの管理者等が任意に定めることができる。このため、透かしラベルT2の長さが2のべき乗と一致することは一般に保証されない。 FIG. 7 is a diagram for explaining the size relationship between the Hadamard matrix, the weight vector W, the watermark label T2, and the watermark vector O2. Since the watermark label T2 is information to be used for determining the source of the learning model, its length can be arbitrarily determined by the manager of the learning model who created the learning model using the information processing device 1. For this reason, it is generally not guaranteed that the length of the watermark label T2 matches the power of 2.
そこで、行列選択部25は、透かしラベルT2の長さL以上の行の長さを持つアダマール行列を選択する。図7では、透かしラベルT2の長さはLであり、2m−1<L≦2mであるとする。この場合、行列選択部25は、行の長さが2mであるアダマール行列を選択することになる。アダマール行列は正方行列あるため、行列選択部25が選択したアダマール行列の列のサイズも2mとなる。 Therefore, the matrix selection unit 25 selects a Hadamard matrix having a row length equal to or greater than the length L of the watermark label T2. In FIG. 7, the length of the watermark label T2 is L, and it is assumed that 2 m-1 <L ≦ 2 m . In this case, the matrix selection unit 25 selects the Hadamard matrix having a row length of 2 m . Since the Hadamard matrix is a square matrix, the size of the column of the Hadamard matrix selected by the matrix selection unit 25 is also 2 m .
ベクトル変換部24が重みベクトルWにアダマール行列を乗じて生成するベクトルが透かし用ベクトルO2であるから、L<2mである場合、透かしラベルT2と透かし用ベクトルO2との長さが異なることになる。そこで、サイズ調整部26は、透かしラベルT2の長さが行列選択部25が選択したアダマール行列の行の長さと同じ長さとなるように、透かしラベルT2をパディングする。 Since the vector generated by the vector conversion unit 24 by multiplying the weight vector W by the Hadamard matrix is the watermark vector O2, when L <2 m , the lengths of the watermark label T2 and the watermark vector O2 are different. Become. Therefore, the size adjusting unit 26 padding the watermark label T2 so that the length of the watermark label T2 is the same as the length of the row of the Hadamard matrix selected by the matrix selection unit 25.
ここで「パディング」とは、データの前又は後ろに適当なデータを追加して長さを合わせる処理をいう。上述したように、透かし用ベクトルO2の成分は+1又は−1のいずれかとするので、サイズ調整部26は、透かしラベルT2に+1又は−1のいずれかを追加して、透かしラベルT2をアダマール行列の行の長さと同じ長さとする。図7に示す例では、透かしラベルT2の末尾の斜線で示す領域が、サイズ調整部26がパディングをした領域である。これにより、情報処理装置1は、任意の長さの透かしラベルT2を学習モデルに埋め込むことができる。 Here, "padding" refers to a process of adding appropriate data before or after the data to adjust the length. As described above, since the component of the watermark vector O2 is either +1 or -1, the size adjusting unit 26 adds either +1 or -1 to the watermark label T2 to add the watermark label T2 to the Hadamard matrix. The length is the same as the length of the line. In the example shown in FIG. 7, the area indicated by the diagonal line at the end of the watermark label T2 is the area padded by the size adjusting unit 26. As a result, the information processing apparatus 1 can embed the watermark label T2 having an arbitrary length in the learning model.
重みベクトル生成部23は、第1ニューラルネットワークN1を構成する層Lの中から選択した層Lの重みのうち、行列選択部25が選択したアダマール行列における行の長さと同じ数の重みを選択して、重みベクトルWを生成する。このように、アダマール行列のサイズに応じて重みベクトル生成部23が重みベクトルWを生成することにより、行の長さが2のべき乗に規制されるアダマール行列を用いる場合であっても、情報処理装置1は、透かしラベルT2を学習モデルに埋め込むことができる。 The weight vector generation unit 23 selects the same number of weights as the row length in the Hadamard matrix selected by the matrix selection unit 25 among the weights of the layer L selected from the layers L constituting the first neural network N1. To generate the weight vector W. In this way, even when the Hadamard matrix whose row length is restricted to the power of 2 is used by generating the weight vector W by the weight vector generation unit 23 according to the size of the Hadamard matrix, information processing is performed. The device 1 can embed the watermark label T2 in the learning model.
このように、情報処理装置1は、任意の長さの透かしラベルT2を学習モデルに埋め込むことができるが、情報処理装置1が学習モデルに埋め込む透かしラベルT2は一種類でなくてもよい。具体的には、透かしラベルT2は、複数の異なるラベルを連結して生成されたデータであってもよい。 As described above, the information processing apparatus 1 can embed the watermark label T2 having an arbitrary length in the learning model, but the watermark label T2 embedded in the learning model by the information processing apparatus 1 does not have to be one type. Specifically, the watermark label T2 may be data generated by concatenating a plurality of different labels.
例えば、情報処理装置1が生成する学習モデルの生成に複数の作成者が関わっているとする。複数の作成者それぞれに異なるラベルを割り当てて管理する場合、情報処理装置1は、学習モデルに複数の異なるラベルを埋め込むことができれば便利である。そこで、透かしラベル生成部27は、複数の異なるラベルを連結して透かしラベルT2を生成する。 For example, it is assumed that a plurality of creators are involved in the generation of the learning model generated by the information processing device 1. When assigning different labels to each of the plurality of creators and managing them, it is convenient if the information processing apparatus 1 can embed a plurality of different labels in the learning model. Therefore, the watermark label generation unit 27 generates the watermark label T2 by concatenating a plurality of different labels.
図8(a)―(b)は、実施の形態に係る透かしラベル生成部27が作成する透かしラベルT2の構造を説明するための図である。具体的には、図8(a)は、第1透かしラベルT2a、第2透かしラベルT2b、及び第3透かしラベルT2cの3つの異なるラベルから構成されている透かしラベルT2を例示している。図8(a)において、黒塗りの正方形は「−1」、白抜きの正方形は「+1」を示している。図8(a)に示すように、第1透かしラベルT2a、第2透かしラベルT2b、及び第3透かしラベルT2cはそれぞれ異なるパターンであり、透かしラベルT2は、各ラベルを直列に連結されたデータとなっている。 8 (a)-(b) are diagrams for explaining the structure of the watermark label T2 created by the watermark label generation unit 27 according to the embodiment. Specifically, FIG. 8A illustrates a watermark label T2 composed of three different labels: a first watermark label T2a, a second watermark label T2b, and a third watermark label T2c. In FIG. 8A, the black-painted square indicates “-1” and the white square indicates “+1”. As shown in FIG. 8A, the first watermark label T2a, the second watermark label T2b, and the third watermark label T2c have different patterns, and the watermark label T2 is the data in which the labels are connected in series. It has become.
図8(b)は、透かしラベルT2から各透かしラベルを取り出すための演算を模式的に示す図である。図8(b)に示すように、情報処理装置1は、透かしラベルT2にアダマール行列を乗じることで、各透かしラベルを取り出すことができる。図8(b)に示すように、第1透かしラベルT2a、第2透かしラベルT2b、及び第3透かしラベルT2cの情報は、それぞれ共通の透かしラベルT2に埋め込まれることになる。そして、各透かしラベルは、透かしラベルT2にアダマール行列の対応する行を乗じることで取り出すことができる。 FIG. 8B is a diagram schematically showing an operation for extracting each watermark label from the watermark label T2. As shown in FIG. 8B, the information processing apparatus 1 can take out each watermark label by multiplying the watermark label T2 by the Hadamard matrix. As shown in FIG. 8B, the information of the first watermark label T2a, the second watermark label T2b, and the third watermark label T2c is embedded in the common watermark label T2, respectively. Each watermark label can then be retrieved by multiplying the watermark label T2 by the corresponding row of the Hadamard matrix.
ここで、アダマール行列の各行は互いに直交している。このため、実施の形態に係る情報処理装置1によれば、異なる透かしラベルを同一の透かしラベルT2に埋め込んでも、透かしラベル同士が埋め込みの際に互いに影響を及ぼすことを軽減できる。 Here, the rows of the Hadamard matrix are orthogonal to each other. Therefore, according to the information processing apparatus 1 according to the embodiment, even if different watermark labels are embedded in the same watermark label T2, it is possible to reduce the influence of the watermark labels on each other at the time of embedding.
以上、情報処理装置1が、第1ニューラルネットワークN1を構成する層Lの重みの一部を用いて作成した重みベクトルWに透かしラベルT2を埋め込むことにより、学習モデルに出所を特定可能な情報を埋め込むことについて説明した。次に、学習モデルに埋め込まれた透かしラベルT2について、第三者からの改変ないし除去の攻撃に対する耐性を高めるための重みの選択について説明する。 As described above, the information processing apparatus 1 embeds the watermark label T2 in the weight vector W created by using a part of the weights of the layer L constituting the first neural network N1 to provide information whose source can be specified in the learning model. I explained about embedding. Next, the selection of weights for the watermark label T2 embedded in the learning model to increase the resistance to the attack of modification or removal from a third party will be described.
実施の形態に係る情報処理装置1が利用する畳み込みニューラルネットワークの層の数は、数10層から100層のオーダーである。したがって、畳み込みニューラルネットワークの層の層を構成する重みの数は、膨大となる。一般に、このような多層のニューラルネットワークを構成する重みは冗長性があり、必ずしも全ての重みが均等に学習に寄与しているわけではない。学習における貢献度が大きい重みは、貢献度が小さい重みと比較して、学習過程における変動が大きいと考えられる。言い換えると、学習における貢献度が大きい重みは、貢献度が小さい重みよりも、活性化していると考えられる。 The number of layers of the convolutional neural network used by the information processing apparatus 1 according to the embodiment is on the order of several tens to 100 layers. Therefore, the number of weights constituting the layers of the convolutional neural network becomes enormous. In general, the weights that make up such a multi-layer neural network are redundant, and not all weights contribute equally to learning. Weights with a large degree of contribution in learning are considered to have a large variation in the learning process as compared with weights with a small degree of contribution. In other words, weights with a high degree of contribution in learning are considered to be more active than weights with a low degree of contribution.
また、仮に学習に関する貢献度が同程度の重みであっても、その重みが担う情報の質によって、学習過程における変動のしかたが変化すると考えられる。例えば、目的タスクが猫画像検出である場合、情報処理装置1は、多数の猫画像を訓練データとしてニューラルネットワークNに学習させる。このとき、多数の猫画像に共通する成分(一般的には低周波成分)を担う重みは、ひとたび学習が安定すると変動しにくくなると考えられる。これに対し、多くの猫のバリエーションを吸収するための重みは、猫間の違いに敏感に反応するため、ファインチューニングによって大きく変動すると考えられる。 Moreover, even if the degree of contribution to learning has the same weight, it is considered that the way of fluctuation in the learning process changes depending on the quality of the information carried by the weight. For example, when the target task is cat image detection, the information processing device 1 causes the neural network N to learn a large number of cat images as training data. At this time, it is considered that the weight, which bears a component (generally a low frequency component) common to many cat images, is less likely to fluctuate once learning is stable. On the other hand, the weight for absorbing many cat variations is considered to fluctuate greatly depending on fine tuning because it reacts sensitively to differences between cats.
ここで、透かしラベルT2を埋め込むための重みベクトルWを構成する重みを、学習過程における変動が少ない重みとすることにより、透かしラベルT2の攻撃者からの攻撃の耐性を高めることができる。なぜなら、攻撃者は学習モデルを再学習することによって透かしラベルT2のスクランブルを試みても、透かしラベルT2を埋め込んだ重みベクトルWを構成する重みは、学習過程における変動が小さいため、スクランブルの度合いも小さくなるからである。 Here, by setting the weights constituting the weight vector W for embedding the watermark label T2 to be weights with little fluctuation in the learning process, the resistance of the attack from the attacker of the watermark label T2 can be increased. This is because even if the attacker attempts to scramble the watermark label T2 by re-learning the learning model, the weights constituting the weight vector W in which the watermark label T2 is embedded have a small variation in the learning process, so that the degree of scramble is also high. Because it becomes smaller.
そのため、情報処理装置1は、目的タスク学習用の訓練データに基づいてあらかじめニューラルネットワークNの各層の重みを更新することによって各層Lの重みの変動を記録する変動記録部28を備える。 Therefore, the information processing device 1 includes a variation recording unit 28 that records the variation of the weight of each layer L by updating the weight of each layer of the neural network N in advance based on the training data for learning the target task.
図9は、学習過程における重みの変動の一例を模式的に示す図であり、変動記録部28が記録した重みの変動の一例を示す図である。図9では、重みW1、重みW2、重みW3、及び重みW4の4つの重みの変動を図示している。図9において、横軸は学習の反復回数を示し、縦軸は重みの値を示している。 FIG. 9 is a diagram schematically showing an example of weight fluctuation in the learning process, and is a diagram showing an example of weight fluctuation recorded by the fluctuation recording unit 28. FIG. 9 illustrates the variation of four weights, the weight W1, the weight W2, the weight W3, and the weight W4. In FIG. 9, the horizontal axis represents the number of learning iterations, and the vertical axis represents the weight value.
図9において、重みW1及び重みW4は、重みW2及び重みW3と比較して、学習過程における変動が大きい。また、重みW3は、重みW2よりも学習過程における変動が小さい。図9に示す例では、学習過程における重みの変動の大きさの順に並べると、W1≒W4>W2>W3となる。したがって、重みベクトルWを構成する重みとして採用する場合、攻撃耐性の高さの順序は、W3>W2>W1≒W4となる。 In FIG. 9, the weights W1 and W4 have a large variation in the learning process as compared with the weights W2 and W3. Further, the weight W3 has a smaller variation in the learning process than the weight W2. In the example shown in FIG. 9, W1 ≈ W4> W2> W3 when arranged in the order of the magnitude of the change in weight in the learning process. Therefore, when adopted as the weights constituting the weight vector W, the order of high attack resistance is W3> W2> W1 ≈ W4.
重みベクトル生成部23は、学習過程における変動の小さい重みを、変動の大きい重みよりも優先して重みベクトルWの成分として選択する。これにより、万が一攻撃者がファインチューニングによって透かしラベルT2のスクランブルを試みても、重みベクトルWは学習による変動が小さい重みが採用されているため、スクランブルの影響を抑えることができる。 The weight vector generation unit 23 selects a weight having a small fluctuation in the learning process as a component of the weight vector W in preference to a weight having a large fluctuation. As a result, even if an attacker attempts to scramble the watermark label T2 by fine tuning, the weight vector W adopts a weight with a small fluctuation due to learning, so that the influence of scrambling can be suppressed.
<情報処理装置1が実行する情報処理の処理フロー>
図10は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
<Processing flow of information processing executed by information processing device 1>
FIG. 10 is a flowchart for explaining the flow of information processing executed by the information processing apparatus 1 according to the embodiment. The process in this flowchart starts, for example, when the information processing device 1 is activated.
訓練データ取得部21は、目的タスク学習用データD及び目的タスク用ラベルT1を含む目的タスク学習用の訓練データと透かしラベルT2とを取得する(S2)。重みベクトル生成部23は、複数の層Lを備えるニューラルネットワークNを構成する層Lの中から選択した層Lの重みのうち少なくとも一部の重みを成分とするベクトルである重みベクトルWを生成する(S4)。 The training data acquisition unit 21 acquires the training data for target task learning including the target task learning data D and the target task label T1 and the watermark label T2 (S2). The weight vector generation unit 23 generates a weight vector W which is a vector having at least a part of the weights of the layer L selected from the layers L constituting the neural network N including the plurality of layers L as components. (S4).
ベクトル変換部24は、アダマール行列を重みベクトルWに乗じて得られる透かし用ベクトルO2に変換する(S6)。重み更新部22は、訓練データと、目的タスク学習用に設定された第1損失関数に透かし用ベクトルO2と透かしラベルT2とを用いて定められた第2損失関数を加算した損失関数と、に基づいて、ニューラルネットワークNの各層Lの重みを更新する(S8)。 The vector conversion unit 24 converts the Hadamard matrix into the watermark vector O2 obtained by multiplying the weight vector W (S6). The weight update unit 22 adds the training data and the second loss function determined by using the watermark vector O2 and the watermark label T2 to the first loss function set for learning the target task. Based on this, the weight of each layer L of the neural network N is updated (S8).
<実施の形態に係る情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、出所を特定することができる学習モデルを提供することができる。特に、実施の形態に係る情報処理装置1は、重みベクトルWにアダマール行列を乗じて透かしラベルT2を埋め込むため、攻撃者による透かしラベルT2のスクランブル攻撃に対する耐性を高めることができる。
<Effects of the information processing device 1 according to the embodiment>
As described above, according to the information processing apparatus 1 according to the embodiment, it is possible to provide a learning model capable of specifying the source. In particular, since the information processing device 1 according to the embodiment embeds the watermark label T2 by multiplying the weight vector W by the Hadamard matrix, it is possible to increase the resistance to the scramble attack of the watermark label T2 by the attacker.
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。特に、装置の分散・統合の具体的な実施の形態は以上に図示するものに限られず、その全部又は一部について、種々の付加等に応じて、又は、機能負荷に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。 Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various changes or improvements can be made to the above embodiments. In particular, the specific embodiment of the distribution / integration of the device is not limited to the one shown above, and any unit thereof may be used in whole or in part according to various additions or functional loads. It can be functionally or physically distributed and integrated.
1・・・情報処理装置
10・・・記憶部
20・・・制御部
21・・・訓練データ取得部
22・・・重み更新部
23・・・重みベクトル生成部
24・・・ベクトル変換部
25・・・行列選択部
26・・・サイズ調整部
27・・・透かしラベル生成部
28・・・変動記録部
1 ... Information processing device 10 ... Storage unit 20 ... Control unit 21 ... Training data acquisition unit 22 ... Weight update unit 23 ... Weight vector generation unit 24 ... Vector conversion unit 25 ... Matrix selection unit 26 ... Size adjustment unit 27 ... Watermark label generation unit 28 ... Fluctuation recording unit
Claims (6)
前記目的タスク学習用の訓練データに基づいて、あらかじめ複数の層を備えるニューラルネットワークの各層の重みを更新することによって前記各層の重みの変動を記録する変動記録部と、
前記訓練データに基づいて、前記ニューラルネットワークの各層の重みを更新する重み更新部と、
前記ニューラルネットワークを構成する層の中から選択した層の重みのうち少なくとも一部の重みを成分とするベクトルである重みベクトルを生成する重みベクトル生成部と、
アダマール行列を前記重みベクトルに乗じて透かし用ベクトルに変換するベクトル変換部と、を備え、
前記重み更新部は、前記目的タスク学習用に設定された第1損失関数に、前記透かし用ベクトルと前記透かしラベルとを用いて定められた第2損失関数を加算した損失関数に基づいて、前記重みを更新し、
前記重みベクトル生成部は、前記変動の小さい重みを、前記変動の大きい重みよりも優先して前記重みベクトルの成分として選択する、
情報処理装置。 A training data acquisition unit that acquires training data and watermark labels for objective task learning,
Based on the training data for learning the target task, a fluctuation recording unit that records the fluctuation of the weight of each layer by updating the weight of each layer of the neural network having a plurality of layers in advance.
A weight update unit that updates the weight of each layer of the neural network based on the training data,
A weight vector generation unit that generates a weight vector that is a vector having at least a part of the weights of the layers selected from the layers constituting the neural network.
It is provided with a vector conversion unit that multiplies the Hadamard matrix by the weight vector and converts it into a watermark vector.
The weight update unit is based on a loss function obtained by adding a second loss function determined by using the watermark vector and the watermark label to the first loss function set for learning the target task. Update the weights
The weight vector generation unit selects the weight having a small variation as a component of the weight vector in preference to the weight having a large variation.
Information processing device.
前記透かしラベルの長さが選択された前記アダマール行列の行の長さと同じ長さとなるように、前記透かしラベルをパディングするサイズ調整部と、
をさらに備える、請求項1に記載の情報処理装置。 A matrix selection unit that selects a Hadamard matrix having a row length greater than or equal to the length of the watermark label, and
A size adjuster for padding the watermark label so that the length of the watermark label is the same as the row length of the selected Hadamard matrix.
The information processing apparatus according to claim 1, further comprising.
請求項1又は2に記載の情報処理装置。 The weight vector generation unit generates the weight vector by selecting the same number of weights as the row length in the Hadamard matrix from the weights of the layers selected from the layers constituting the neural network.
The information processing device according to claim 1 or 2.
請求項1から3のいずれか一項に記載の情報処理装置。 A watermark label generation unit that concatenates a plurality of different labels to generate the watermark label is further provided.
The information processing device according to any one of claims 1 to 3.
目的タスク学習用の訓練データと透かしラベルとを取得するステップと、
前記目的タスク学習用の訓練データに基づいて、あらかじめ複数の層を備えるニューラルネットワークの各層の重みを更新することによって前記各層の重みの変動を記録するステップと、
前記ニューラルネットワークを構成する層の中から選択した層の重みのうち少なくとも一部の重みを成分とするベクトルである重みベクトルを生成するステップと、
アダマール行列を前記重みベクトルに乗じて得られる透かし用ベクトルに変換するステップと、
前記訓練データと、前記目的タスク学習用に設定された第1損失関数に前記透かし用ベクトルと前記透かしラベルとを用いて定められた第2損失関数を加算した損失関数と、に基づいて、前記ニューラルネットワークの各層の重みを更新するステップと、
を実行し、
前記重みベクトルを生成するステップにおいて、前記変動の小さい重みを、前記変動の大きい重みよりも優先して前記重みベクトルの成分として選択する、
情報処理方法。 The processor
Steps to acquire training data and watermark label for purpose task learning,
A step of recording the fluctuation of the weight of each layer by updating the weight of each layer of the neural network having a plurality of layers in advance based on the training data for learning the target task.
A step of generating a weight vector which is a vector having at least a part of the weights of the layers selected from the layers constituting the neural network as components.
A step of converting the Hadamard matrix into a watermark vector obtained by multiplying the weight vector,
Based on the training data and a loss function obtained by adding a second loss function determined by using the watermark vector and the watermark label to the first loss function set for learning the target task. Steps to update the weights of each layer of the neural network,
And run
In the step of generating the weight vector, the weight having a small variation is selected as a component of the weight vector in preference to the weight having a large variation.
Information processing method.
目的タスク学習用の訓練データと透かしラベルとを取得する機能と、
前記目的タスク学習用の訓練データに基づいて、あらかじめ複数の層を備えるニューラルネットワークの各層の重みを更新することによって前記各層の重みの変動を記録する機能と、
前記ニューラルネットワークを構成する層の中から選択した層の重みのうち少なくとも一部の重みを成分とするベクトルである重みベクトルを生成する機能と、
アダマール行列を前記重みベクトルに乗じて得られる透かし用ベクトルに変換する機能と、
前記訓練データと、前記目的タスク学習用に設定された第1損失関数に前記透かし用ベクトルと前記透かしラベルとを用いて定められた第2損失関数を加算した損失関数と、に基づいて、前記ニューラルネットワークの各層の重みを更新する機能と、
を実現させ、
前記重みベクトルを生成する機能は、前記変動の小さい重みを、前記変動の大きい重みよりも優先して前記重みベクトルの成分として選択させる、
プログラム。 On the computer
Ability to acquire training data and watermark labels for objective task learning,
A function of recording the fluctuation of the weight of each layer by updating the weight of each layer of the neural network having a plurality of layers in advance based on the training data for learning the target task.
A function to generate a weight vector which is a vector having at least a part of the weights of the layers selected from the layers constituting the neural network as components, and
A function to convert the Hadamard matrix into a watermark vector obtained by multiplying the weight vector,
Based on the training data and a loss function obtained by adding a second loss function determined by using the watermark vector and the watermark label to the first loss function set for learning the target task. The ability to update the weights of each layer of the neural network,
Realized,
The function of generating the weight vector causes the weight having a small variation to be selected as a component of the weight vector in preference to the weight having a large variation.
program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017177514A JP6778670B2 (en) | 2017-09-15 | 2017-09-15 | Information processing device, information processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017177514A JP6778670B2 (en) | 2017-09-15 | 2017-09-15 | Information processing device, information processing method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019053541A JP2019053541A (en) | 2019-04-04 |
JP6778670B2 true JP6778670B2 (en) | 2020-11-04 |
Family
ID=66014234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017177514A Active JP6778670B2 (en) | 2017-09-15 | 2017-09-15 | Information processing device, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6778670B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200167637A1 (en) * | 2018-11-26 | 2020-05-28 | Samsung Electronics Co., Ltd. | Neural network processor using dyadic weight matrix and operation method thereof |
WO2022145676A1 (en) * | 2020-12-30 | 2022-07-07 | 삼성전자주식회사 | Electronic device and method for controlling same |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112750064A (en) * | 2019-10-29 | 2021-05-04 | 阿里巴巴集团控股有限公司 | Watermark information embedding method and device |
CN111062599B (en) * | 2019-12-09 | 2022-06-14 | 莆田学院 | Human resource scheduling model training and scheduling method and device based on personnel relationship |
CN113496010A (en) * | 2020-03-18 | 2021-10-12 | 阿里巴巴集团控股有限公司 | Data processing method and device and neural network model infringement identification method |
CN111709789B (en) * | 2020-06-18 | 2023-12-19 | 腾讯科技(深圳)有限公司 | Method for determining user conversion rate and related equipment |
JP7339219B2 (en) * | 2020-08-19 | 2023-09-05 | Kddi株式会社 | Information processing device, information processing method, and program |
CN111898707B (en) * | 2020-08-24 | 2024-06-21 | 鼎富智能科技有限公司 | Text classification method, electronic device and storage medium |
CN113743440A (en) * | 2021-01-13 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | Information processing method and device and storage medium |
-
2017
- 2017-09-15 JP JP2017177514A patent/JP6778670B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200167637A1 (en) * | 2018-11-26 | 2020-05-28 | Samsung Electronics Co., Ltd. | Neural network processor using dyadic weight matrix and operation method thereof |
US11562046B2 (en) * | 2018-11-26 | 2023-01-24 | Samsung Electronics Co., Ltd. | Neural network processor using dyadic weight matrix and operation method thereof |
WO2022145676A1 (en) * | 2020-12-30 | 2022-07-07 | 삼성전자주식회사 | Electronic device and method for controlling same |
Also Published As
Publication number | Publication date |
---|---|
JP2019053541A (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6778670B2 (en) | Information processing device, information processing method, and program | |
JP6657137B2 (en) | Information processing apparatus, information processing method, and program | |
JP6741636B2 (en) | Information processing apparatus, information processing method, and program | |
US11704391B2 (en) | Machine learning model with watermarked weights | |
JP6823523B2 (en) | Information processing equipment, information processing methods, and programs | |
JP6908553B2 (en) | Information processing equipment, information processing methods, and programs | |
KR101922964B1 (en) | Apparatus and method for recovering image using image distortion detection | |
US20220301288A1 (en) | Control method and information processing apparatus | |
JP7042210B2 (en) | Learning model generator, learning model generation method, and program | |
CN104794223B (en) | A kind of subtitle matching process and system based on image retrieval | |
CN113077377A (en) | Color image steganography method based on generation countermeasure network | |
CN116883545A (en) | Picture data set expansion method, medium and device based on diffusion model | |
Daneshvar et al. | Hybrid camouflage pattern generation using neural style transfer method | |
JP6920263B2 (en) | Information processing equipment, information processing methods, and programs | |
JP6892844B2 (en) | Information processing device, information processing method, watermark detection device, watermark detection method, and program | |
JP2021099677A (en) | Learning device, learning method and program | |
Li et al. | Online alternate generator against adversarial attacks | |
JP6832307B2 (en) | Information processing equipment, information processing methods, and programs | |
Rigoni et al. | Metamodels for fast multi-objective optimization: trading off global exploration and local exploitation | |
JP6953376B2 (en) | Neural networks, information addition devices, learning methods, information addition methods, and programs | |
Rawat et al. | Steganalysis for clustering modification directions steganography | |
Patrick et al. | Automatic test image generation using procedural noise | |
WO2022208843A1 (en) | Training data processing device, training data processing method, and training data processing program | |
JP7405148B2 (en) | Information processing device, learning method, and program | |
CN115861099B (en) | Satellite cloud image restoration method introducing physical imaging priori knowledge constraint |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190802 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200519 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200709 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200818 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200914 |
|
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: 20200929 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201012 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6778670 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |