JP6908553B2 - Information processing equipment, information processing methods, and programs - Google Patents

Information processing equipment, information processing methods, and programs Download PDF

Info

Publication number
JP6908553B2
JP6908553B2 JP2018075992A JP2018075992A JP6908553B2 JP 6908553 B2 JP6908553 B2 JP 6908553B2 JP 2018075992 A JP2018075992 A JP 2018075992A JP 2018075992 A JP2018075992 A JP 2018075992A JP 6908553 B2 JP6908553 B2 JP 6908553B2
Authority
JP
Japan
Prior art keywords
vector
watermark
weight
neural network
matrix
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
JP2018075992A
Other languages
Japanese (ja)
Other versions
JP2019185417A (en
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 JP2018075992A priority Critical patent/JP6908553B2/en
Publication of JP2019185417A publication Critical patent/JP2019185417A/en
Application granted granted Critical
Publication of JP6908553B2 publication Critical patent/JP6908553B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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).

また、上記の機械学習によって生成された学習モデルのモデルパラメータに出所や提供先等の電子透かしを埋め込むことで出所を特定するための技術も提案されている(非特許文献2参照)。 Further, a technique for identifying the source by embedding a digital watermark such as a source or a provider in the model parameter of the learning model generated by the above machine learning has also been proposed (see Non-Patent Document 2).

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.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. Yusuke Uchida, Yuki Nagai, Shigeyuki Sakazawa, and Shin’ichi Satoh. :Embedding Watermarks into Deep Neural Networks. In Proceedings of the 2017 ACM on International Conference on Multimedia Retrieval, ser. ICMR 2017 (pp.269-277), 2017.Yusuke Uchida, Yuki Nagai, Shigeyuki Sakazawa, and Shin’ichi Satoh.: Embedding Watermarks into Deep Neural Networks. In Proceedings of the 2017 ACM on International Conference on Multimedia Retrieval, ser. ICMR 2017 (pp.269-277), 2017.

非特許文献2に開示されている技術は、固定された非公開の透かし検出行列に、学習モデルのモデルパラメータの一部から構成されるベクトルに乗じて得られるベクトルを2値化処理したベクトルが、透かしベクトルとなるように学習モデルが生成される。透かし検出行列は非公開であるため、事後的に第三者によって本来の透かし検出行列とは異なる詐称の透かし行列が捏造される事態が起こり得る。 The technique disclosed in Non-Patent Document 2 is a vector obtained by binarizing a vector obtained by multiplying a fixed private watermark detection matrix by a vector composed of a part of model parameters of a learning model. , The training model is generated so that it becomes a watermark vector. Since the watermark detection matrix is not open to the public, it is possible that a third party may forge a fake watermark matrix different from the original watermark detection matrix after the fact.

本発明はこれらの点に鑑みてなされたものであり、出所を特定することができる学習モデルを提供するとともに、詐称透かしでないことを示すことができる技術を提供することを目的とする。 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 and to provide a technique capable of showing that the watermark is not a fake watermark.

本発明の第1の態様は、情報処理装置である。この装置は、目的タスク学習用の入力データを含む訓練データに基づいて、複数の層を備えるニューラルネットワークの各層の重みを更新する重み更新部と、前記ニューラルネットワークを構成する層の中から選択した1又はそれ以上の層の重みを要素とする重みベクトルを生成する重みベクトル生成部と、前記ニューラルネットワークに埋め込む透かしベクトルを検出するための透かし検出用行列を生成する行列生成部と、前記透かし検出用行列の成分を所定のハッシュ関数に入力して得られるベクトルを透かしベクトルとして生成する透かしベクトル生成部と、を備える。前記重み更新部は、前記重みベクトルと透かし検出用行列とから得られるベクトルと、透かしベクトルとの誤差を小さくすることを拘束条件として前記ニューラルネットワークの各層の重みを更新する。 The first aspect of the present invention is an information processing device. This device is selected from a weight update unit that updates the weight of each layer of a neural network having a plurality of layers and a layer that constitutes the neural network based on training data including input data for learning a target task. A weight vector generation unit that generates a weight vector having weights of one or more layers as elements, a matrix generation unit that generates a matrix for watermark detection for detecting a watermark vector to be embedded in the neural network, and the watermark detection. It includes a watermark vector generation unit that generates a vector obtained by inputting a component of a neural network into a predetermined hash function as a watermark vector. The weight update unit updates the weights of each layer of the neural network on the condition that the error between the vector obtained from the weight vector and the watermark detection matrix and the watermark vector is reduced as a constraint condition.

前記行列生成部は、前記ニューラルネットワークに関する付加情報を初期行列に埋め込むことにより、前記透かし検出用行列を生成してもよい。 The matrix generation unit may generate the watermark detection matrix by embedding additional information about the neural network in the initial matrix.

前記行列生成部は、前記ニューラルネットワークに関する付加情報自体を前記透かし検出用行列として生成してもよい。 The matrix generation unit may generate additional information itself regarding the neural network as the watermark detection matrix.

前記透かしベクトル生成部は、前記透かし検出用行列の成分を前記所定のハッシュ関数に入力して得られる前記ベクトルと、前記ニューラルネットワークに関する付加情報である付加ベクトルとの排他的論理和で得られるベクトルを、前記透かしベクトルとして設定してもよい。 The watermark vector generation unit is a vector obtained by the exclusive OR of the vector obtained by inputting the components of the watermark detection matrix into the predetermined hash function and the additional vector which is additional information about the neural network. May be set as the watermark vector.

前記情報処理装置は、検出対象のニューラルネットワークから生成した重みベクトルに透かし検出用行列を乗じた結果に2値化を適用したデータと前記付加ベクトルとの排他的論理和を取得することで、透かしベクトルを検出する透かし検出部をさらに備えてもよい。 The information processing device obtains the exclusive OR of the additional vector and the data obtained by multiplying the weight vector generated from the detection target neural network by the watermark detection matrix and applying binarization to the watermark. A watermark detection unit that detects a vector may be further provided.

前記行列生成部は、前記重みベクトルの長さをP、前記ハッシュ関数が出力するハッシュ値であるベクトルの長さをQとしたとき、列の長さがP、行の長さがQである行列を前記透かし検出用行列として生成してもよい。 When the length of the weight vector is P and the length of the vector which is the hash value output by the hash function is Q, the matrix generator has a column length of P and a row length of Q. The matrix may be generated as the watermark detection matrix.

本発明の第2の態様は、プロセッサが実行する情報処理方法である。この方法において、前記プロセッサが、目的タスク学習用のデータを含む訓練データに基づいて、複数の層を備えるニューラルネットワークの各層の重みを更新するステップと、前記ニューラルネットワークを構成する層の中から選択した1又はそれ以上の層の重みを要素とする重みベクトルを生成するステップと、前記ニューラルネットワークに埋め込む透かしを検出するための透かし検出用行列を生成するステップと、前記透かし検出用行列の成分を所定のハッシュ関数に入力して得られるベクトルを透かしベクトルとして生成するステップと、を含む。前記重みを更新するステップにおいて、前記重みベクトルと透かし検出用行列とから得られるベクトルと、透かしベクトルとの誤差を小さくすることを拘束条件として前記重みを更新する。 A second aspect of the present invention is an information processing method executed by a processor. In this method, the processor selects from a step of updating the weight of each layer of a neural network including a plurality of layers and a layer constituting the neural network based on training data including data for learning a target task. A step of generating a weight vector having the weight of one or more layers as an element, a step of generating a watermark detection matrix for detecting a watermark to be embedded in the neural network, and a component of the watermark detection matrix. It includes a step of generating a vector obtained by inputting into a predetermined hash function as a watermark vector. In the step of updating the weight, the weight is updated with the constraint condition that the error between the weight vector, the vector obtained from the watermark detection matrix, and the watermark vector is reduced.

本発明の第3の態様は、コンピュータに情報処理機能を実現させるプログラムである。このプログラムは、前記コンピュータに、目的タスク学習用のデータを含む訓練データに基づいて、複数の層を備えるニューラルネットワークの各層の重みを更新する機能と、前記ニューラルネットワークを構成する層の中から選択した1又はそれ以上の層の重みを要素とする重みベクトルを生成する機能と、前記ニューラルネットワークに埋め込む透かしを検出するための透かし検出用行列を生成する機能と、前記透かし検出用行列の成分を所定のハッシュ関数に入力して得られるベクトルを透かしベクトルとして生成する機能と、を前記コンピュータに実現させる。前記重みを更新する機能は、前記重みベクトルと透かし検出用行列とから得られるベクトルと、透かしベクトルとの誤差を小さくすることを拘束条件として前記ニューラルネットワークの各層の重みを更新する。 A third aspect of the present invention is a program that causes a computer to realize an information processing function. This program has a function of updating the weight of each layer of a neural network having a plurality of layers based on training data including data for learning a target task on the computer, and a function of selecting from the layers constituting the neural network. A function of generating a weight vector having the weight of one or more layers as an element, a function of generating a watermark detection matrix for detecting a watermark embedded in the neural network, and a component of the watermark detection matrix. The computer realizes a function of generating a vector obtained by inputting into a predetermined hash function as a watermark vector. The function of updating the weight updates the weight of each layer of the neural network on the constraint condition that the error between the vector obtained from the weight vector and the watermark detection matrix and the watermark vector is reduced.

本発明によれば、出所を特定することができる学習モデルを提供するとともに、詐称透かしでないことを示すことができる技術を提供することができる。 According to the present invention, it is possible to provide a learning model capable of identifying the source and a technique capable of showing that the watermark is not a fake watermark.

畳み込みニューラルネットワークの一般的な機能構成を模式的に示す図である。It is a figure which shows typically the general functional structure of a convolutional neural network. 入力データと特徴マップとの畳み込みの関係を説明するための図である。It is a figure for demonstrating the relationship of the convolution of the input data and a feature map. 重みフィルタを用いた特徴マップの生成を説明するための図である。It is a figure for demonstrating the generation of a feature map using a weighting filter. N個の重みフィルタとN段の特徴マップとの関係を説明するための図である。It is a figure for demonstrating the relationship between N weight filters and N-stage feature map. 実施の形態に係る情報処理装置が実行する学習処理の概要を説明するための模式図である。It is a schematic diagram for demonstrating the outline of the learning process executed by the information processing apparatus which concerns on embodiment. 実施の形態に係る情報処理装置の機能構成を模式的に示す図である。It is a figure which shows typically the functional structure of the information processing apparatus which concerns on embodiment. 実施の形態に係る重みベクトル生成部による重み設定処理を説明するための図である。It is a figure for demonstrating the weight setting process by the weight vector generation part which concerns on embodiment. 透かしベクトルとは異なる付加情報の埋め込みを説明するための図である。It is a figure for demonstrating embedding of additional information different from a watermark vector. 実施の形態に係る情報処理装置が実行する情報処理の流れを説明するためのフローチャートである。It is a flowchart for demonstrating the flow of information processing executed by the information processing apparatus which concerns on embodiment.

<畳み込みニューラルネットワーク>
実施の形態に係る情報処理装置は、ニューラルネットワークのモデルパラメータに透かし情報を埋め込むための装置であり、特に畳み込みニューラルネットワーク(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 neural network, and a convolutional neural network (CNN) is particularly suitable. Therefore, as a prerequisite technology 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 has 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 FIG. 1, the first layer L1 is an input layer, and the second layer L2 is a convolution layer. Similarly, the m-th layer Lm is the 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.

実施の形態に係るニューラルネットワークにおける学習は、訓練データに対する出力層からの出力値と訓練データのラベルとの誤差を用いて、各層の重みを最適に更新することを意味する。その誤差を算出するために、「損失関数」(loss function)が定義される。誤差は、「誤差逆伝播法」によって出力層側から入力層側へ向けて次々に伝播し、各層の重みを少しずつ更新していく。最終的に、誤差が小さくなるように、各層の重みを適切な値に調整する収束計算を実行する。具体的には、ニューラルネットワークにおける学習(すなわち、新規のモデルパラメータの生成段階)で、誤差を逆伝播させた勾配によって、モデルパラメータを更新する。 Learning in the neural network according to the 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 backpropagation 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 convolution 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 filled with element 0 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 backpropagation 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. Further, the information processing device according to the embodiment is a device that can indicate that the device that detects the electronic watermark is not created later.

実施の形態に係る情報処理装置は、CPUやGPU等のプロセッサ、DRAM(Dynamic Random Access Memory)等の作業メモリ、及びHDD(Hard Disk Drive)やSSD(Solid State Drive)等の大容量記憶装置によって構成される。情報処理装置1は、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 1 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及び第1ラベルT1を含む訓練データに基づいて、複数の層Lを備える第1ニューラルネットワークN1の各層Lの重みを更新する。例えば、「猫検出」、「山検出」、「自動車検出」のように複数の目的タスクが存在する場合、各目的タスク用の入力データDと、各入力データDそれぞれに異なる第1ラベル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 input data D for learning the target task and the first label T1, similarly to the conventional neural network. The weight of each layer L of is updated. For example, when there are a plurality of target tasks such as "cat detection", "mountain detection", and "automobile detection", the input data D for each target task and the first label T1 different for each input data D are assigned. The assigned data set becomes training data.

また、実施の形態に係る情報処理装置は、第1ニューラルネットワークを構成する層Lの中から選択した1又はそれ以上の層Lを入力データとする第2ニューラルネットワークN2も備える。第2ニューラルネットワークN2は、第1ニューラルネットワークを構成する層Lの中から選択した層Lに透かしベクトルを埋め込むためのニューラルネットワークである。なお、図5は、第1ニューラルネットワークN1における第2層L2が、第2ニューラルネットワークN2における重みの更新対象として選択された場合の例を示している。 Further, the information processing apparatus according to the embodiment also includes a second neural network N2 having one or more layers L selected from the layers L constituting the first neural network as input data. The second neural network N2 is a neural network for embedding a watermark vector in the layer L selected from the layers L constituting the first neural network. 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.

詳細は後述するが、実施の形態に係る情報処理装置は、第1ニューラルネットワークN1から選択した層Lに基づいて重みベクトルWを生成する。実施の形態に係る情報処理装置は、生成した重みベクトルWに対する全結合層の出力を、第2ニューラルネットワークN2の出力である第2出力O2とする。すなわち、第2出力O2は、重みベクトルWに「透かし検出用行列X」を乗じて生成されるベクトルにバイアス値を足して活性化関数を適用したものに相当する。ここでは、第2ニューラルネットワークN2が単層パーセプトロンであることを想定して説明するが、多層パーセプトロンやその他ネットワークでも透かし検出用行列を複数用意すれば良く、適用可能である。 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 output of the fully connected layer with respect to the generated weight vector W as the second output O2, which is the output of the second neural network N2. That is, the second output O2 corresponds to a vector generated by multiplying the weight vector W by the “watermark detection matrix X”, the bias value is added, and the activation function is applied. Here, the description is made on the assumption that the second neural network N2 is a single-layer perceptron, but it can be applied to a multi-layer perceptron and other networks as long as a plurality of watermark detection matrices are prepared.

実施の形態に係る情報処理装置は、第2出力O2に活性化関数sを適用した値と、第2ラベルT2との第2誤差E2に基づいて、重みベクトルWを更新する。情報処理装置は、バイアス値を0とすると、重みベクトルWに透かし検出用行列Xを乗じて生成されるベクトルに活性化関数sを適用した値S(XW)が第2ラベルT2となるように学習するため、第2ラベルT2が埋め込みたい透かしベクトルとなる。したがって、以下本明細書において、「第2ラベルT2」と「埋め込みたい透かしベクトル」とは、同一のベクトルを示すものとする。以下、埋め込みたい透かしベクトルを第2ラベルT2と同じ符号を用いて「透かしベクトルT2」とも記載する。なお、検出される透かしベクトルはD2で表記する。 The information processing apparatus according to the embodiment updates the weight vector W based on the value obtained by applying the activation function s to the second output O2 and the second error E2 with the second label T2. When the bias value is 0, the information processing apparatus sets the value S (XW) obtained by multiplying the weight vector W by the watermark detection matrix X and applying the activation function s to the vector generated so that the second label T2 is obtained. For learning, the second label T2 becomes the watermark vector to be embedded. Therefore, in the present specification, the "second label T2" and the "watermark vector to be embedded" shall indicate the same vector. Hereinafter, the watermark vector to be embedded is also described as “watermark vector T2” using the same code as the second label T2. The detected watermark vector is represented by D2.

ここで、実施の形態に係る情報処理装置において、透かし検出用行列Xと第2ラベルT2とは第1のニューラルネットワークの学習開始前から固定されている。さらに、透かし検出用行列Xと第2ラベルT2とは互いに独立しておらず、第2ラベルT2は、透かし検出用行列Xを所定のハッシュ関数Hに入力して生成されるハッシュ値H(X)となっている。実施の形態に係る情報処理装置は、透かし検出時に、モデルパラメータから取り出した重みベクトルに透かし検出用行列を乗じ閾値処理を行うことで、モデルパラメータに埋め込んだ透かしベクトルD2を取り出すことができる。実施の形態に係る情報処理装置は、透かしベクトルD2と透かし検出行列のハッシュ値H(X)が等しいことを、学習後に捏造した透かしや透かし検出行列でないことの根拠とする。 Here, in the information processing apparatus according to the embodiment, the watermark detection matrix X and the second label T2 are fixed before the start of learning of the first neural network. Further, the watermark detection matrix X and the second label T2 are not independent of each other, and the second label T2 is a hash value H (X) generated by inputting the watermark detection matrix X into a predetermined hash function H. ). The information processing apparatus according to the embodiment can extract the watermark vector D2 embedded in the model parameter by multiplying the weight vector extracted from the model parameter by the watermark detection matrix and performing the threshold processing at the time of watermark detection. The information processing apparatus according to the embodiment is based on the fact that the watermark vector D2 and the hash value H (X) of the watermark detection matrix are equal to each other, which is the basis for not being a watermark or a watermark detection matrix forged after learning.

実施の形態に係る情報処理装置は、従来のニューラルネットワークと同様に、第1ニューラルネットワークN1の最終層である第m層Lmの出力である第1出力O1と、第1ラベルT1との誤差である第1誤差E1に基づいて、各層Lの重みを更新することを基本とする。しかしながら、実施の形態に係る情報処理装置は、第2ニューラルネットワークN2を構成する重みとして選択した第2層L2に関しては、第1誤差E1と第2誤差E2とに基づいて重みを更新する。つまり、第2ニューラルネットワークN2を構成する重みとして選択した第2層L2に関しては実施の形態に係る情報処理装置は、透かし検出用行列Xを乗じて得られるベクトルが透かしベクトルとなることを拘束条件として、重みを更新することになる。 The information processing apparatus according to the embodiment has an error between the first output O1 which is the output of the mth layer Lm which is the final layer of the first neural network N1 and the first label T1 as in the conventional neural network. Basically, the weight of each layer L is updated based on a certain first error E1. 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. That is, with respect to the second layer L2 selected as the weight constituting the second neural network N2, the information processing apparatus according to the embodiment requires that the vector obtained by multiplying the watermark detection matrix X becomes the watermark vector. As a result, the weight will be updated.

これにより、実施の形態に係る情報処理装置は、目的タスクのための学習と透かし埋め込みのための学習とを同時に実現することができる。また、透かし検出用行列Xと透かしベクトルである第2ラベルT2とはハッシュ関数で結びついているため、学習が終了して重みベクトルが固定された後は、その重みベクトルに何らかの行列を乗じて所望の透かしベクトルT2atkを生成することは困難となる。これにより、事後的に第三者が自身の所有を主張するために透かし検出用行列Xと透かしベクトルとを捏造することを抑制できる。 As a result, the information processing apparatus according to the embodiment can simultaneously realize learning for the target task and learning for watermark embedding. Further, since the watermark detection matrix X and the second label T2 which is the watermark vector are connected by a hash function, it is desired to multiply the weight vector by some matrix after the learning is completed and the weight vector is fixed. It becomes difficult to generate the watermark vector T2 atk of. As a result, it is possible to prevent a third party from forging the watermark detection matrix X and the watermark vector in order to claim their ownership after the fact.

実施の形態に係る情報処理装置を用いてモデルパラメータを生成した者は、モデルパラメータから取り出した重みベクトルに透かし検出用行列を乗じ閾値処理を行うことで、モデルパラメータに埋め込んだ透かしベクトルを取り出すことができる。実施の形態に係る情報処理装置は、検出時に、モデルパラメータから取り出した重みベクトルに透かし検出用行列を乗じ閾値処理を行うことで、モデルパラメータに埋め込んだ透かしベクトルD2を取り出すことができる。実施の形態に係る情報処理装置は、透かしベクトルD2と透かし検出行列のハッシュ値H(X)が等しければ、学習後に捏造した透かしや透かし検出行列でないことを示すことができる。このように、実施の形態に係る情報処理装置は、出所を特定することができる学習モデルを提供することができるとともに、詐称透かしでないことを示すことができる。 A person who has generated a model parameter using the information processing apparatus according to the embodiment can extract the watermark vector embedded in the model parameter by multiplying the weight vector extracted from the model parameter by the watermark detection matrix and performing threshold processing. Can be done. At the time of detection, the information processing apparatus according to the embodiment can extract the watermark vector D2 embedded in the model parameter by multiplying the weight vector extracted from the model parameter by the watermark detection matrix and performing the threshold processing. If the watermark vector D2 and the hash value H (X) of the watermark detection matrix are equal to each other, the information processing apparatus according to the embodiment can indicate that the watermark or the watermark detection matrix is not forged after learning. As described above, the information processing apparatus according to the embodiment can provide a learning model capable of identifying the source and can show that it is not a fake watermark.

<実施の形態に係る情報処理装置の機能構成>
以下、実施の形態に係る情報処理装置についてより詳細に説明する。
図6は、実施の形態に係る情報処理装置1の機能構成を模式的に示す図である。情報処理装置1は、記憶部10と制御部11とを備える。制御部11は、重み更新部110、重みベクトル生成部111、行列生成部112、透かしベクトル生成部113、及び透かし検出部114を備える。
<Functional configuration of the 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 11. The control unit 11 includes a weight update unit 110, a weight vector generation unit 111, a matrix generation unit 112, a watermark vector generation unit 113, and a watermark detection unit 114.

記憶部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.

制御部11は、情報処理装置1のCPUやGPU等のプロセッサであり、記憶部10に記憶されたプログラムを実行することによって重み更新部110、重みベクトル生成部111、行列生成部112、及び透かしベクトル生成部113として機能する。 The control unit 11 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 weight update unit 110, the weight vector generation unit 111, the matrix generation unit 112, and the watermark It functions as a vector generator 113.

重み更新部110は、目的タスク学習用の入力データDを含む訓練データを記憶部10から読み出して取得する。重み更新部110は、取得した訓練データに基づいて、複数の層Lを備える第1ニューラルネットワークN1の各層Lの重みを更新する。 The weight update unit 110 reads out the training data including the input data D for learning the target task from the storage unit 10 and acquires it. The weight updating unit 110 updates the weight of each layer L of the first neural network N1 including the plurality of layers L based on the acquired training data.

重みベクトル生成部111は、第1ニューラルネットワークN1を構成する層Lの中から1又はそれ以上の層Lを選択する。重みベクトル生成部111は、選択した層Lの重みを要素とする重みベクトルWを生成する。 The weight vector generation unit 111 selects one or more layers L from the layers L constituting the first neural network N1. The weight vector generation unit 111 generates a weight vector W having the weight of the selected layer L as an element.

行列生成部112は、第1ニューラルネットワークN1に埋め込む透かしベクトルT2を検出するための透かし検出用行列Xを生成する。詳細は後述するが、透かし検出用行列Xは、透かし検出用行列X自体に透かしベクトルT2を埋め込むためにも用いられる。この意味で、透かし検出用行列Xは「透かし埋め込み兼透かし検出用行列」ともいえるが、以下では、単に「透かし検出用行列X」と記載する。 The matrix generation unit 112 generates a watermark detection matrix X for detecting the watermark vector T2 to be embedded in the first neural network N1. Although the details will be described later, the watermark detection matrix X is also used for embedding the watermark vector T2 in the watermark detection matrix X itself. In this sense, the watermark detection matrix X can be said to be a "watermark embedding and watermark detection matrix", but hereinafter, it is simply referred to as a "watermark detection matrix X".

第2ニューラルネットワークN2が全結合の単層パーセプトロンである場合、行列生成部112は、重みベクトルWの長さをP、透かしベクトルT2の長さをQとしたとき、列の長さがP、行の長さがQである行列を透かし検出用行列Xとして生成する。なお、行列生成部112は、重み更新部110が目的タスクを学習する前に一度だけ透かし検出用行列Xを生成する。以後、重み更新部110が目的タスクを学習している間、透かし検出用行列Xは固定されており、変更されることはない。 When the second neural network N2 is a fully connected single-layer perceptron, the matrix generator 112 has a column length of P, where P is the length of the weight vector W and Q is the length of the watermark vector T2. A matrix having a row length of Q is generated as a watermark detection matrix X. The matrix generation unit 112 generates the watermark detection matrix X only once before the weight update unit 110 learns the target task. After that, while the weight update unit 110 is learning the target task, the watermark detection matrix X is fixed and is not changed.

透かしベクトル生成部113は、透かし検出用行列Xの成分を所定のハッシュ関数に入力して得られるハッシュ値を透かしベクトルT2として生成する。したがって、透かしベクトルT2の長さQは、ハッシュ関数が出力するハッシュ値であるベクトルの長さに等しく、その長さはハッシュ関数に依存する。 The watermark vector generation unit 113 generates a hash value obtained by inputting the components of the watermark detection matrix X into a predetermined hash function as the watermark vector T2. Therefore, the length Q of the watermark vector T2 is equal to the length of the vector, which is the hash value output by the hash function, and the length depends on the hash function.

重み更新部110は、重みベクトルWに透かし検出用行列Xを乗じ、活性化関数sを適用して得られるベクトルO2と透かしベクトルT2との誤差が少なくなることを拘束条件として、第1ニューラルネットワークN1の各層Lの重みを更新する。これにより、第1ニューラルネットワークN1の学習が終了すると、透かし検出部114は、透かしを検出する対象とするニューラルネットワークから生成した重みベクトルWに透かし検出用行列Xを乗じ、2値化すると透かしベクトルD2が検出できる。もし、透かしが正しく埋め込めていればD2=T2となる。この結果、情報処理装置1は、詐称されにくい透かしで出所を特定することができる学習モデルを提供することができる。なお、透かし検出部114は、透かしを検出する対象とするニューラルネットワークから生成した重みベクトルWに透かし検出用行列Xを乗じて得られたデータに対して、例えば活性化関数sを適用することによって2値化する。 The weight update unit 110 multiplies the weight vector W by the watermark detection matrix X, and applies the activation function s to the first neural network on the condition that the error between the vector O2 and the watermark vector T2 is reduced. The weight of each layer L of N1 is updated. As a result, when the learning of the first neural network N1 is completed, the watermark detection unit 114 multiplies the weight vector W generated from the neural network for which the watermark is detected by the watermark detection matrix X, and binarizes the watermark vector. D2 can be detected. If the watermark is embedded correctly, D2 = T2. As a result, the information processing device 1 can provide a learning model that can identify the source with a watermark that is hard to be spoofed. The watermark detection unit 114 applies, for example, an activation function s to the data obtained by multiplying the weight vector W generated from the neural network for which the watermark is detected by the watermark detection matrix X. Binarize.

なお、透かしベクトル生成部113は、透かし検出用行列Xのハッシュ値と第1付加情報I1とから「透かしベクトルT2」を作成しても良い。例えば、透かし検出用行列Xのハッシュ値と第1付加情報I1の排他的論理和を透かしベクトルT2としても良い。透かしベクトルT2の長さQにあわせて第1付加情報I1は0をパディングしたり同一情報を繰り返し用いたりしてもよい。この場合、透かし検出部114は、透かし検出用行列Xのハッシュ値と検出した透かしベクトルD2をとの排他的論理和を計算することで権利関連情報を取りだすことができ、透かし検出用行列Xが後から詐称した行列でないことと権利関連情報とを同時に示すことができる。 The watermark vector generation unit 113 may create a "watermark vector T2" from the hash value of the watermark detection matrix X and the first additional information I1. For example, the exclusive OR of the hash value of the watermark detection matrix X and the first additional information I1 may be the watermark vector T2. The first additional information I1 may pad 0 or use the same information repeatedly according to the length Q of the watermark vector T2. In this case, the watermark detection unit 114 can extract the right-related information by calculating the exclusive OR of the hash value of the watermark detection matrix X and the detected watermark vector D2, and the watermark detection matrix X can be used. It is possible to show at the same time that it is not a spoofed matrix later and rights-related information.

図7(a)―(c)は、実施の形態に係る重みベクトル生成部111による重み設定処理を説明するための図である。具体的には、図7(a)―(c)は、5×5×3個の要素からなる重みフィルタに基づいて、重みベクトル生成部111が重みベクトルWを生成する過程を示す図である。 7 (a)-(c) are diagrams for explaining the weight setting process by the weight vector generation unit 111 according to the embodiment. Specifically, FIGS. 7A to 7C are diagrams showing a process in which the weight vector generation unit 111 generates the weight vector W based on the weight filter composed of 5 × 5 × 3 elements. ..

図7(a)は、5×5×3個の要素からなる重みフィルタFを模式的に示す図である。重みベクトル生成部111は、5×5×3個の要素からなる重みフィルタを、まず縦5、横5合わせて25個の要素からなる3つの2次元重みフィルタ(F1、F2、及びF3)に分割する。図7(b)は、5×5×3個の要素からなる重みフィルタを分割して得られる第1重みフィルタF1、第2重みフィルタF2、及び第3重みフィルタF3を模式的に示す図である。 FIG. 7A is a diagram schematically showing a weight filter F composed of 5 × 5 × 3 elements. The weight vector generation unit 111 first converts a weight filter consisting of 5 × 5 × 3 elements into three two-dimensional weight filters (F1, F2, and F3) consisting of 25 elements in total of 5 in the vertical direction and 5 in the horizontal direction. To divide. FIG. 7B is a diagram schematically showing a first weight filter F1, a second weight filter F2, and a third weight filter F3 obtained by dividing a weight filter composed of 5 × 5 × 3 elements. be.

続いて、重みベクトル生成部111は、第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を模式的に示す図である。 Subsequently, the weight vector generation unit 111 uses the first weight filter F1, the second weight filter F2, and the third weight filter F3 as three column vectors (V1, V2, etc.) composed of 5 × 5 = 25 elements, respectively. And V3). FIG. 7C shows a first column vector V1, a second column vector V2, and a third column vector V3 obtained by expanding each of the first weight filter F1, the second weight filter F2, and the third weight filter F3. Is a diagram schematically showing.

最後に、重みベクトル生成部111は、第1列ベクトルV1、第2列ベクトルV2、及び第3列ベクトルV3を順に連結して25×3=75個の要素からなる一つの列ベクトルVを生成する。ここで、図4を参照して説明したように、重みベクトル生成部111が選択した層LがN個の重みフィルタNを備える場合、重みベクトル生成部111は、各フィルタを同様に列ベクトルに展開したうえで順番につなげ、75×N個の要素からなる新たな列ベクトルを生成する。重みベクトル生成部111は、生成した列ベクトルを重みベクトルWとする。この場合、重みベクトルの長さPは、P=75×Nとなる。 Finally, the weight vector generation unit 111 connects the first column vector V1, the second column vector V2, and the third column vector V3 in order to generate one column vector V composed of 25 × 3 = 75 elements. do. Here, as described with reference to FIG. 4, when the layer L selected by the weight vector generation unit 111 includes N weight filters N, the weight vector generation unit 111 similarly converts each filter into a column vector. After expanding and connecting them in order, a new column vector consisting of 75 × N elements is generated. The weight vector generation unit 111 uses the generated column vector as the weight vector W. In this case, the length P of the weight vector is P = 75 × N.

透かし検出用行列Xも、図7(c)を参照して説明した方法と同様の方法でベクトル化することができる。ここで、ハッシュ関数をHとし、ベクトル化した透かし検出用行列Xをハッシュ関数の引数として得られるベクトルをH(X)とすると、透かしベクトルT2は、以下の式(1)で表せる。
T2=H(X) (1)
The watermark detection matrix X can also be vectorized by the same method as described with reference to FIG. 7 (c). Here, assuming that the hash function is H and the vector obtained by using the vectorized watermark detection matrix X as an argument of the hash function is H (X), the watermark vector T2 can be expressed by the following equation (1).
T2 = H (X) (1)

また、重みベクトルWに透かし検出用行列Xを乗じ、活性化関数sを適用すると第2出力O2となり、閾値処理を行うと検出した透かしベクトルD2となる。正しく検出できる場合、透かしベクトルT2となるから、以下の式(2)及び式(3)が成り立つ。
s(XW)=O2 (2)
th(O2)=T2 (3)
ここでth()は閾値処理を示す。
Further, when the weight vector W is multiplied by the watermark detection matrix X and the activation function s is applied, the second output O2 is obtained, and when the threshold value processing is performed, the detected watermark vector D2 is obtained. If it can be detected correctly, the watermark vector T2 is obtained, so that the following equations (2) and (3) are established.
s (XW) = O2 (2)
th (O2) = T2 (3)
Here, th () indicates threshold processing.

式(1)、式(2)、及び式(3)より、式(4)を得る。
th(s(XW))=H(X) (4)
なお、検出時には活性化関数sの適用を省略できる場合も多い。
Equation (4) is obtained from equations (1), (2), and (3).
th (s (XW)) = H (X) (4)
In many cases, the application of the activation function s can be omitted at the time of detection.

式(4)より、重みベクトルWは、透かし検出用行列Xによって拘束される。 From equation (4), the weight vector W is constrained by the watermark detection matrix X.

図5の例では、重み更新部110は、第2層L2の値が式(4)を満たす重みベクトルWとなるという拘束条件の下、選択した層L及び他の層の重みを更新することを意味する。一般に、多層のニューラルネットワークは多くの冗長性を持っており、仮にいくつかの層Lの重みの自由度が拘束されていたとしても、他の層Lの重みで学習データを学習できると考えられる。 In the example of FIG. 5, the weight updating unit 110 updates the weights of the selected layer L and other layers under the constraint condition that the value of the second layer L2 becomes the weight vector W satisfying the equation (4). Means. In general, a multi-layer neural network has a lot of redundancy, and even if the degrees of freedom of the weights of some layers L are constrained, it is considered that the training data can be learned by the weights of other layers L. ..

透かし検出用行列Xは詐称でなければ固定されているので、式(4)を満たすような重みベクトルWを決定する際の自由度が小さい。 Since the watermark detection matrix X is fixed if it is not spoofed, the degree of freedom in determining the weight vector W that satisfies the equation (4) is small.

ここで、モデルパラメータを不正に入手した第三者が、モデルパラメータから詐称用透かしベクトルT2atkを検出しようとする状況を考える。 Here, consider a situation in which a third party who illegally obtains the model parameters tries to detect the watermark vector T2 atk for spoofing from the model parameters.

まず、第1のケースを考える。攻撃用透かしベクトルT2atkを検出したい場合、第1ニューラルネットワークN1から取得した重みベクトルWを入力とし、攻撃用透かしベクトルT2atkを出力とした偽の検出器行列Xatkを学習により求める。第三者は、重みベクトルWと攻撃用透かしベクトルT2atkとが固定されたとき、th(s(Xatk・W))=T2atk又はth(Xatk・W)=T2atkを満たすXatkを見つけることは容易であろう。また、この時、重みベクトルWに再学習等の改変を行わず偽の検出器行列Xatkを変更するため、第1のタスクの正答率は低下しない。しかしながら、偽の検出器行列Xatkから取得したH(Xatk)を透かしベクトルT2として埋め込むことは難しいだろう。なぜならば、偽の検出器行列Xatkを学習により更新しようとすると、埋め込みたい透かしベクトルT2=H(Xatk)は違う値となってしまい、偽の検出器行列Xatkを学習により求めることが難しいからである。またハッシュ関数の特性から偶然T2atk=H(Xatk)を満たす偽の検出器行列Xatkが得られる確率は極めて低い。 First, consider the first case. If you want to detect attacks watermark vector T2 atk, the weight vector W obtained from the first neural network N1 as input, obtains by learning detector matrix X atk fake was output attack watermark vector T2 atk. Third party, when the the attack watermark vector T2 atk the weight vector W is fixed, th (s (X atk · W)) = T2 atk or th (X atk · W) = T2 atk satisfy X atk Will be easy to find. Further, at this time, since the false detector matrix X atk is changed without modifying the weight vector W such as re-learning, the correct answer rate of the first task does not decrease. However, it would be difficult to embed H (X atk ) obtained from the fake detector matrix X atk as the watermark vector T2. This is because when the false detector matrix X atk is updated by learning, the watermark vector T2 = H (X atk ) to be embedded becomes a different value, and the fake detector matrix X atk can be obtained by learning. Because it is difficult. Moreover, the probability that a false detector matrix X atk satisfying T2 atk = H (X atk ) is obtained by chance from the characteristics of the hash function is extremely low.

次に、第2のケースを考える。第2のケースでは、第三者が、th(s(Xatk・W))=T2atk=H(Xatk)を満たすXatk値を固定した後、Xatkのハッシュ値を計算し、その値T2atkを埋め込むために重みベクトルWを変更したとする。この場合、重みベクトルWの要素はニューラルネットワークの層Lの重みでもあるため、ニューラルネットワークの正答率が下がってしまうと考えられる。この場合、第三者がモデルパラメータを利用する価値も下がる。 Next, consider the second case. In the second case, after the third party fixes the X atk value satisfying th (s (X atk · W)) = T2 atk = H (X atk ), the hash value of X atk is calculated and the hash value is calculated. Suppose the weight vector W is changed to embed the value T2 atk. In this case, since the element of the weight vector W is also the weight of the layer L of the neural network, it is considered that the correct answer rate of the neural network is lowered. In this case, the value of using the model parameters by a third party is also reduced.

以上より、第三者が事後的に別の透かしベクトルをモデルパラメータから検出することを抑制できる。 From the above, it is possible to prevent a third party from detecting another watermark vector from the model parameters after the fact.

<第1付加情報I1の透かしベクトルT2への埋め込みと検出>
続いて、透かしベクトルT2に第1付加情報I1を埋め込むことと、埋め込んだ第1付加情報I1を検出する方法とについて説明する。
<Embedding and detection of the first additional information I1 in the watermark vector T2>
Subsequently, the method of embedding the first additional information I1 in the watermark vector T2 and the method of detecting the embedded first additional information I1 will be described.

図8(a)−(b)は、透かしベクトルT2に第1付加情報I1を埋め込む方法を説明するための図である。具体的には、図8(a)は、透かしベクトルT2に第1付加情報I1を埋め込む第1の方法を示す図である。 8 (a)-(b) are diagrams for explaining a method of embedding the first additional information I1 in the watermark vector T2. Specifically, FIG. 8A is a diagram showing a first method of embedding the first additional information I1 in the watermark vector T2.

図8(a)に示す方法では、透かしベクトル生成部113は、透かしベクトルT2のQビットのうち、a(a<Q)ビットとQ−aビットに分割し、aビットにハッシュ値を割り当て、著作権等の第1付加情報I1をQ−aビットに割り当てる。これにより、透かしベクトルT2に第1付加情報I1を埋め込むことができる。図8(a)では、透かしベクトルT2のうち、白丸で示す部分がハッシュ値を割り当てるビットであり、斜線が付された丸が第1付加情報I1を割り当てるビットである。 In the method shown in FIG. 8A, the watermark vector generation unit 113 divides the Q bits of the watermark vector T2 into a (a <Q) bits and Q-a bits, and assigns a hash value to the a bits. The first additional information I1 such as copyright is assigned to the Q-a bit. As a result, the first additional information I1 can be embedded in the watermark vector T2. In FIG. 8A, the portion of the watermark vector T2 indicated by a white circle is a bit to which a hash value is assigned, and the shaded circle is a bit to which the first additional information I1 is assigned.

図8(b)は、透かしベクトルT2に第1付加情報I1を埋め込む第2の方法を示す図である。第2の方法は、透かしベクトルT2のビットを有効活用しながら第1付加情報I1を埋め込む方法である。具体的には、透かしベクトル生成部113は、ハッシュ値をそのまま透かしベクトルT2とするのではなく、第1付加情報I1をハッシュ値の桁数と同じになるように繰り返しやゼロパディングした後、第1の付加情報とハッシュ値と所定の演算を行い、それを透かしベクトルT2とする。 FIG. 8B is a diagram showing a second method of embedding the first additional information I1 in the watermark vector T2. The second method is a method of embedding the first additional information I1 while effectively utilizing the bits of the watermark vector T2. Specifically, the watermark vector generation unit 113 does not use the hash value as it is as the watermark vector T2, but repeats or zero-pads the first additional information I1 so as to have the same number of digits as the hash value, and then the first Performs a predetermined calculation with the additional information of 1 and the hash value, and sets it as the watermark vector T2.

例えば、所定の演算を排他的論理和とする。この場合、透かしベクトル生成部113は、第1付加情報I1とハッシュ値H(X)との排他的論理和を取得し、それを透かしベクトルT2として採用する。検出時には、透かし検出部114は、重みベクトルWに透かし検出用行列Xを乗じて閾値処理を行う。透かし検出部114は、この検出した結果D2=th(s(X・W))又はth(X・W)に対し、透かし検出用行列Xのハッシュ値で排他的論理和を取得する。これにより、透かし検出部114は、第1付加情報I1も得ることができる。この場合、透かし検出部114は、検出した透かしから第1付加情報I1を得ると同時に、透かし検出用行列Xのハッシュ値で第1付加情報I1を復号できることをもって、第1付加情報I1を捏造していないことも示せる。 For example, a predetermined operation is an exclusive OR. In this case, the watermark vector generation unit 113 acquires the exclusive OR of the first additional information I1 and the hash value H (X), and adopts it as the watermark vector T2. At the time of detection, the watermark detection unit 114 multiplies the weight vector W by the watermark detection matrix X to perform threshold processing. The watermark detection unit 114 acquires an exclusive OR with the hash value of the watermark detection matrix X for the detection result D2 = th (s (X · W)) or th (X · W). As a result, the watermark detection unit 114 can also obtain the first additional information I1. In this case, the watermark detection unit 114 forges the first additional information I1 by obtaining the first additional information I1 from the detected watermark and at the same time decoding the first additional information I1 with the hash value of the watermark detection matrix X. You can also show that you haven't.

さらに、少ない埋め込みビットで透かし検出用行列Xのハッシュ値と第1付加情報I1とを埋め込むため、第1の方法と比較して透かしビットを有効利用できる。一般に、透かしビットは制限があったり、埋め込みビットが多くなるほど第1のタスクの精度劣化が起きたりするため、ビットの有効利用は有用である。なお、第1付加情報I1は、学習モデルの著作者情報やモデル提供先(不正流出元)などの出所情報、日付やURL(Uniform Resource Locator)等を埋め込むことが多いが、それに限らない。 Further, since the hash value of the watermark detection matrix X and the first additional information I1 are embedded with a small number of embedded bits, the watermark bits can be effectively used as compared with the first method. In general, the watermark bit is limited, and the accuracy of the first task deteriorates as the number of embedded bits increases, so that the effective use of the bit is useful. The first additional information I1 often embeds the author information of the learning model, the source information such as the model provider (illegal outflow source), the date, the URL (Uniform Resource Locator), and the like, but is not limited to this.

<第2付加情報I2を透かし検出用行列に埋め込む>
次に、透かし検出用行列Xに第2付加情報I2を埋め込むか、又は透かし検出用行列X自体を第2付加情報I2とする方法について説明する。
<Embed the second additional information I2 in the watermark detection matrix>
Next, a method of embedding the second additional information I2 in the watermark detection matrix X or using the watermark detection matrix X itself as the second additional information I2 will be described.

透かし検出用行列Xがランダムな値で意味を持たない場合、正当な透かし検出用行列Xであっても、一度漏洩や公開してしまえば、誰でも透かし検出用行列Xを用いて新たな第1ニューラルネットワークN1に透かしを埋め込むことができてしまう。つまり、新たな第1ニューラルネットワークモデルNatkや重みベクトルWatkをXの正当な持ち主になりすまして作成することも可能である。 If the watermark detection matrix X is a random value and has no meaning, even if it is a legitimate watermark detection matrix X, once it is leaked or made public, anyone can use the watermark detection matrix X to create a new first. 1 A watermark can be embedded in the neural network N1. That is, it is also possible to create a new first neural network model Natk and a weight vector Watk by impersonating the legitimate owner of X.

そこで、行列生成部112は、透かし検出用行列Xに第2付加情報I2を含ませてもよい。行列生成部112は、第2付加情報I2を初期行列に埋め込むことにより、透かし検出用行列Xを生成してもよいし、第2付加情報I2自体を透かし検出用行列Xとして生成してもよい。 Therefore, the matrix generation unit 112 may include the second additional information I2 in the watermark detection matrix X. The matrix generation unit 112 may generate the watermark detection matrix X by embedding the second additional information I2 in the initial matrix, or may generate the second additional information I2 itself as the watermark detection matrix X. ..

ここで、行列生成部112が透かし検出用行列Xに埋め込む第2付加情報I2は、透かし検出用行列Xを適応する予定の範囲のパラメータやプログラムに関する情報とする。具体的には、モデルパラメータの著作者名やモデル公開予定のURLの一部などが第2付加情報I2として有効である。 Here, the second additional information I2 embedded in the watermark detection matrix X by the matrix generation unit 112 is information about parameters and programs in the range to which the watermark detection matrix X is to be applied. Specifically, the author name of the model parameter, a part of the URL scheduled to be released to the model, and the like are effective as the second additional information I2.

行列生成部112は、文字列などの第2付加情報I2をそのまま倍精度浮動小数点数や単精度浮動小数点数等の数値型に型変換してものを透かし検出用行列Xとして用いてもよい。第2付加情報I2をそのまま倍精度浮動小数点数や単精度浮動小数点数等の数値型に変換したデータのランダム性に課題が出る場合には、行列生成部112は、透かし検出用行列Xの重み値の固定位置のビット(上位数ビットや下位数ビット等)に順番に型変換した値を適応してもよいし、第2付加情報I2を何等かの手法で鍵を用いたスクランブルやランダム化を行ってもよい。 The matrix generation unit 112 may use the second additional information I2 such as a character string as the watermark detection matrix X by converting the second additional information I2 into a numerical type such as a double-precision floating-point number or a single-precision floating-point number as it is. When there is a problem in the randomness of the data obtained by converting the second additional information I2 into a numerical type such as a double-precision floating-point number or a single-precision floating-point number, the matrix generation unit 112 sets the weight of the watermark detection matrix X. The type-converted values may be applied to the bits at a fixed position of the value (high-order number bits, low-order number bits, etc.) in order, or the second additional information I2 is scrambled or randomized using a key by some method. May be done.

なお、行列生成部112による透かし検出用行列Xへの第2付加情報I2の埋め込みと、重みベクトル生成部111による重みベクトルWへの第1付加情報I1の埋め込みとは併用することができる。この場合、透かし検出部114は、第1ニューラルネットワークN1の学習済みモデルが検出対象である正当なモデルであることを示した上で、検出した第1付加情報I1が後から詐称した情報でないことも示すことができる。結果として、透かしへの信頼性を向上させることができる。 The embedding of the second additional information I2 in the watermark detection matrix X by the matrix generation unit 112 and the embedding of the first additional information I1 in the weight vector W by the weight vector generation unit 111 can be used together. In this case, the watermark detection unit 114 indicates that the trained model of the first neural network N1 is a legitimate model to be detected, and the detected first additional information I1 is not information that has been spoofed later. Can also be shown. As a result, the reliability of the watermark can be improved.

<実施の形態に係る情報処理装置1が実行する情報処理の処理フロー>
図9は、実施の形態に係る情報処理装置1が実行する情報処理の流れを説明するためのフローチャートである。本フローチャートにおける処理は、例えば情報処理装置1が起動したときに開始する。
<Processing flow of information processing executed by the information processing device 1 according to the embodiment>
FIG. 9 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.

行列生成部112は、第1ニューラルネットワークN1に埋め込む透かしベクトルT2を検出するための透かし検出用行列Xを生成する(S2)。透かしベクトル生成部113は、透かし検出用行列Xの成分をハッシュ関数に入力して得られるベクトルを透かしベクトルT2として生成する(S4)。 The matrix generation unit 112 generates a watermark detection matrix X for detecting the watermark vector T2 to be embedded in the first neural network N1 (S2). The watermark vector generation unit 113 generates a vector obtained by inputting the components of the watermark detection matrix X into the hash function as the watermark vector T2 (S4).

重み更新部110は、目的タスク学習用データ及びラベルを記憶部10から読み出して取得する(S6)。重みベクトル生成部111は、第2ニューラルネットワークN2の入力層とするための層Lを、第1ニューラルネットワークN1を構成する層Lの中から選択する(S8)。重みベクトル生成部111は、選択した層Lの重みを要素とする重みベクトルWを生成する(S10)。 The weight update unit 110 reads out the target task learning data and the label from the storage unit 10 and acquires them (S6). The weight vector generation unit 111 selects a layer L to be used as an input layer of the second neural network N2 from the layers L constituting the first neural network N1 (S8). The weight vector generation unit 111 generates a weight vector W having the weight of the selected layer L as an element (S10).

重み更新部110は、重みベクトルWに透かし検出用行列Xを乗じて得られるベクトルが透かしベクトルT2となることを拘束条件として、第1ニューラルネットワークN1の各層Lの重みを更新する(S12)。重み更新部110が、第1ニューラルネットワークN1の各層Lの重みの更新を終えると、本フローチャートにおける処理は終了する。 The weight updating unit 110 updates the weights of each layer L of the first neural network N1 on the condition that the vector obtained by multiplying the weight vector W by the watermark detection matrix X becomes the watermark vector T2 (S12). When the weight updating unit 110 finishes updating the weight of each layer L of the first neural network N1, the process in this flowchart ends.

<実施の形態に係る情報処理装置1が奏する効果>
以上説明したように、実施の形態に係る情報処理装置1によれば、出所を特定し、詐称でないことを示すことができる学習モデルを提供することができる。
<Effects of the information processing device 1 according to the embodiment>
As described above, according to the information processing device 1 according to the embodiment, it is possible to provide a learning model capable of identifying the source and showing that it is not a spoofing.

以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。 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, and various modifications and changes can be made within the scope of the gist thereof. be. For example, the specific embodiment of the distribution / integration of the device is not limited to the above embodiment, and all or a part thereof may be functionally or physically distributed / integrated in any unit. Can be done. Also included in the embodiments of the present invention are new embodiments resulting from any combination of the plurality of embodiments. The effect of the new embodiment produced by the combination has the effect of the original embodiment together.

<変形例>
上記の説明では、情報処理装置1が畳み込みニューラルネットワークに透かしを埋め込む場合について主に説明した。しかしながら、畳み込みニューラルネットワーク以外の他のニューラルネットワークにも本発明は適用できることは、当業者であれば容易に理解できることである。
<Modification example>
In the above description, the case where the information processing apparatus 1 embeds the watermark in the convolutional neural network has been mainly described. However, those skilled in the art can easily understand that the present invention can be applied to neural networks other than convolutional neural networks.

1・・・情報処理装置
10・・・記憶部
11・・・制御部
110・・・重み更新部
111・・・重みベクトル生成部
112・・・行列生成部
113・・・透かしベクトル生成部
114・・・透かし検出部

1 ... Information processing device 10 ... Storage unit 11 ... Control unit 110 ... Weight update unit 111 ... Weight vector generation unit 112 ... Matrix generation unit 113 ... Watermark vector generation unit 114・ ・ ・ Watermark detection unit

Claims (8)

目的タスク学習用の入力データを含む訓練データに基づいて、複数の層を備えるニューラルネットワークの各層の重みを更新する重み更新部と、
前記ニューラルネットワークを構成する層の中から選択した1又はそれ以上の層の重みを要素とする重みベクトルを生成する重みベクトル生成部と、
前記ニューラルネットワークに埋め込む透かしベクトルを検出するための透かし検出用行列を生成する行列生成部と、
前記透かし検出用行列の成分を所定のハッシュ関数に入力して得られるベクトルを透かしベクトルとして生成する透かしベクトル生成部と、を備え、
前記重み更新部は、前記重みベクトルと透かし検出用行列とから得られるベクトルと透かしベクトルとの誤差を小さくすることを拘束条件として前記ニューラルネットワークの各層の重みを更新する情報処理装置。
A weight update unit that updates the weight of each layer of a neural network having a plurality of layers based on training data including input data for objective task learning.
A weight vector generation unit that generates a weight vector having the weight of one or more layers selected from the layers constituting the neural network as an element, and a weight vector generation unit.
A matrix generator that generates a watermark detection matrix for detecting the watermark vector to be embedded in the neural network,
A watermark vector generation unit that generates a vector obtained by inputting a component of the watermark detection matrix into a predetermined hash function as a watermark vector is provided.
The weight updating unit is an information processing device that updates the weights of each layer of the neural network on the condition that the error between the vector obtained from the weight vector and the watermark detection matrix and the watermark vector is reduced as a constraint condition.
前記行列生成部は、前記ニューラルネットワークに関する付加情報を初期行列に埋め込むことにより、前記透かし検出用行列を生成する、
請求項1に記載の情報処理装置。
The matrix generation unit generates the watermark detection matrix by embedding additional information about the neural network in the initial matrix.
The information processing device according to claim 1.
前記行列生成部は、前記ニューラルネットワークに関する付加情報自体を前記透かし検出用行列として生成する、
請求項1に記載の情報処理装置。
The matrix generation unit generates additional information itself regarding the neural network as the watermark detection matrix.
The information processing device according to claim 1.
前記透かしベクトル生成部は、前記透かし検出用行列の成分を前記所定のハッシュ関数に入力して得られる前記ベクトルと、前記ニューラルネットワークに関する付加情報である付加ベクトルとの排他的論理和で得られるベクトルを、前記透かしベクトルとして設定する、
請求項1から3のいずれか一項に記載の情報処理装置。
The watermark vector generation unit is a vector obtained by the exclusive OR of the vector obtained by inputting the components of the watermark detection matrix into the predetermined hash function and the additional vector which is additional information about the neural network. Is set as the watermark vector,
The information processing device according to any one of claims 1 to 3.
検出対象のニューラルネットワークから生成した重みベクトルに透かし検出用行列を乗じた結果に2値化を適用したデータと前記付加ベクトルとの排他的論理和を取得することで、透かしベクトルを検出する透かし検出部をさらに備える、
請求項4に記載の情報処理装置。
Watermark detection that detects the watermark vector by acquiring the exclusive OR of the data obtained by multiplying the weight vector generated from the detection target neural network by the watermark detection matrix and applying binarization to the additional vector. With more parts,
The information processing device according to claim 4.
前記行列生成部は、前記重みベクトルの長さをP、前記ハッシュ関数が出力するハッシュ値であるベクトルの長さをQとしたとき、列の長さがP、行の長さがQである行列を前記透かし検出用行列として生成する、
請求項1から5のいずれか1項に記載の情報処理装置。
When the length of the weight vector is P and the length of the vector which is the hash value output by the hash function is Q, the matrix generator has a column length of P and a row length of Q. Generate a matrix as the watermark detection matrix,
The information processing device according to any one of claims 1 to 5.
プロセッサが実行する情報処理方法であって、
目的タスク学習用のデータを含む訓練データに基づいて、複数の層を備えるニューラルネットワークの各層の重みを更新するステップと、
前記ニューラルネットワークを構成する層の中から選択した1又はそれ以上の層の重みを要素とする重みベクトルを生成するステップと、
前記ニューラルネットワークに埋め込む透かしを検出するための透かし検出用行列を生成するステップと、
前記透かし検出用行列の成分を所定のハッシュ関数に入力して得られるベクトルを透かしベクトルとして生成するステップと、を含み、
前記重みを更新するステップにおいて、前記重みベクトルと透かし検出用行列とから得られるベクトルと、透かしベクトルとの誤差を小さくすることを拘束条件として前記重みを更新する、
情報処理方法。
Information processing method executed by the processor
Objective A step of updating the weight of each layer of a neural network with multiple layers based on training data including data for learning tasks.
A step of generating a weight vector having the weight of one or more layers selected from the layers constituting the neural network as an element, and
A step of generating a watermark detection matrix for detecting a watermark embedded in the neural network, and
Including a step of inputting the components of the watermark detection matrix into a predetermined hash function and generating a vector obtained as a watermark vector.
In the step of updating the weight, the weight is updated with the constraint condition that the error between the weight vector, the vector obtained from the watermark detection matrix, and the watermark vector is reduced.
Information processing method.
コンピュータに情報処理機能を実現させるプログラムであって、
目的タスク学習用のデータを含む訓練データに基づいて、複数の層を備えるニューラルネットワークの各層の重みを更新する機能と、
前記ニューラルネットワークを構成する層の中から選択した1又はそれ以上の層の重みを要素とする重みベクトルを生成する機能と、
前記ニューラルネットワークに埋め込む透かしを検出するための透かし検出用行列を生成する機能と、
前記透かし検出用行列の成分を所定のハッシュ関数に入力して得られるベクトルを透かしベクトルとして生成する機能と、を前記コンピュータに実現させ、
前記重みを更新する機能は、前記重みベクトルと透かし検出用行列とから得られるベクトルと、透かしベクトルとの誤差を小さくすることを拘束条件として前記ニューラルネットワークの各層の重みを更新する、
プログラム。

A program that enables a computer to realize information processing functions
Objective A function to update the weight of each layer of a neural network with multiple layers based on training data including data for task learning, and
A function to generate a weight vector having the weight of one or more layers selected from the layers constituting the neural network as an element, and
A function to generate a watermark detection matrix for detecting a watermark embedded in the neural network, and
The computer realizes a function of inputting the components of the watermark detection matrix into a predetermined hash function and generating a vector obtained as a watermark vector.
The function of updating the weight updates the weight of each layer of the neural network on the constraint condition that the error between the vector obtained from the weight vector and the watermark detection matrix and the watermark vector is reduced.
program.

JP2018075992A 2018-04-11 2018-04-11 Information processing equipment, information processing methods, and programs Active JP6908553B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018075992A JP6908553B2 (en) 2018-04-11 2018-04-11 Information processing equipment, information processing methods, and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018075992A JP6908553B2 (en) 2018-04-11 2018-04-11 Information processing equipment, information processing methods, and programs

Publications (2)

Publication Number Publication Date
JP2019185417A JP2019185417A (en) 2019-10-24
JP6908553B2 true JP6908553B2 (en) 2021-07-28

Family

ID=68341361

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018075992A Active JP6908553B2 (en) 2018-04-11 2018-04-11 Information processing equipment, information processing methods, and programs

Country Status (1)

Country Link
JP (1) JP6908553B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111861849B (en) * 2020-07-15 2023-04-07 上海交通大学 Method for implanting watermark information into artificial intelligence model
JP7339219B2 (en) * 2020-08-19 2023-09-05 Kddi株式会社 Information processing device, information processing method, and program
CN113283426A (en) * 2021-04-30 2021-08-20 南京大学 Embedded target detection model generation method based on multi-target neural network search
CN114862650B (en) * 2022-06-30 2022-09-23 南京信息工程大学 Neural network watermark embedding method and verification method
CN116881871B (en) * 2023-09-06 2023-11-24 腾讯科技(深圳)有限公司 Model watermark embedding method, device, computer equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016043734A1 (en) * 2014-09-17 2016-03-24 Hewlett Packard Enterprise Development Lp Neural network verification

Also Published As

Publication number Publication date
JP2019185417A (en) 2019-10-24

Similar Documents

Publication Publication Date Title
JP6908553B2 (en) Information processing equipment, information processing methods, and programs
WO2018180263A1 (en) Information processing device, information processing method, and computer-readable storage medium
US11163860B2 (en) Protecting deep learning models using watermarking
JP6823523B2 (en) Information processing equipment, information processing methods, and programs
JP6727340B2 (en) Information processing apparatus, method, and computer-readable storage medium
JP6778670B2 (en) Information processing device, information processing method, and program
US20220012312A1 (en) Machine learning model with watermarked weights
Uchida et al. Embedding watermarks into deep neural networks
JP6741636B2 (en) Information processing apparatus, information processing method, and program
KR101986912B1 (en) Apparatus for detecting and extracting image having hidden data using artificial neural network, method thereof and computer recordable medium storing program to perform the method
Deeba et al. Digital watermarking using deep neural network
US10789551B2 (en) Method for training and testing data embedding network to generate marked data by integrating original data with mark data, and training device and testing device using the same
KR102028825B1 (en) Apparatus for processing watermarking using artificial neural network which identifies watermarking attack, method thereof and computer recordable medium storing program to perform the method
CN104794223B (en) A kind of subtitle matching process and system based on image retrieval
KR20200076461A (en) Method and apparatus for processing neural network based on nested bit representation
US20230214719A1 (en) Method for performing continual learning using representation learning and apparatus thereof
JP6892844B2 (en) Information processing device, information processing method, watermark detection device, watermark detection method, and program
KR102028824B1 (en) Apparatus for processing watermarking using artificial neural network which identifies objects, method thereof and computer recordable medium storing program to perform the method
CN116523725A (en) Watermark processing method and device of neural network model
JP7251609B2 (en) Processing device, processing method and program
JP6920263B2 (en) Information processing equipment, information processing methods, and programs
JP6906469B2 (en) Information processing equipment, information processing methods, and programs
JP6953376B2 (en) Neural networks, information addition devices, learning methods, information addition methods, and programs
Deeba et al. Protecting the intellectual properties of digital watermark using deep neural network
KR102045140B1 (en) Apparatus for drawing watermarking attack technique using artificial neural network, method thereof and computer recordable medium storing program to perform the method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210520

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210701

R150 Certificate of patent or registration of utility model

Ref document number: 6908553

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150