(57)【特許請求の範囲】
【請求項１】
２つのニューラルネットワークのモデルから、それぞれ、層構造と、各層のパラメータとを読み込むことと、
前記２つのニューラルネットワークのモデルについて、隠れ層でグラフ状に構成された各層を、入力層から順に幅優先探索又は深さ優先探索で比較し、各層同士の類似度に基づいて、前記２つのニューラルネットワークのモデルの一致度を判定することと、
を含む、情報処理方法。
【請求項２】
前記２つのニューラルネットワークのモデルの一致度を判定することは、比較する層同士の種類が異なる場合、前記類似度を０とし、当該層から後段の層における比較を実行しないことを含む、請求項１に記載の情報処理方法。
【請求項３】
前記２つのニューラルネットワークのモデルの一致度を判定することは、畳み込み層同士を比較する場合、
畳み込み層の重みフィルタについて真のフィルタサイズを推定することと、
比較する重みフィルタのパラメータを推定された真のフィルタサイズに修正することと、
各重みフィルタのパラメータを１つのベクトルとして、畳み込み層をベクトル集合で表現することと、
比較する畳み込み層同士のベクトル集合間の類似度を、畳み込み層同士の類似度とすることと、
を含む、請求項１に記載の情報処理方法。
【請求項４】
前記真のフィルタサイズを推定することは、
前記重みフィルタにおける各チャンネルのパラメータの絶対値を累積することと、
累積した値が所定閾値以上となる箇所を全て含む最小の矩形を、真のフィルタサイズとして推定することと、
を含む、請求項３に記載の情報処理方法。
【請求項５】
前記２つのニューラルネットワークのモデルの一致度を判定することは、全結合層同士を比較する場合、
全結合層に対する重みを特徴ベクトルとして全結合層をベクトル集合で表現することと、
比較する全結合層同士のベクトル集合間の類似度を、全結合層同士の類似度とすることと、を含む請求項１に記載の情報処理方法。
【請求項６】
前記ベクトル集合間の類似度は、
距離が所定閾値以下となる特徴ベクトルのペアを算出することによって二部グラフを構成することと、
前記二部グラフから最大マッチング問題を解くことによって最大のマッチ数を算出することと、
により求められる、請求項３又は５に記載の情報処理方法。
【請求項７】
前記ベクトル集合間の類似度は、
各特徴ベクトルを量子化することと、
量子化ヒストグラム間の類似度を求めることと、
により求められる、請求項３又は５に記載の情報処理方法。
【請求項８】
前記２つのニューラルネットワークのモデルの一致度を判定することは、活性化層同士を比較する場合、
活性化層の種類が同じであり、パラメータ同士の距離が所定閾値以下であると、当該距離を類似度とし、それ以外の場合には、類似度を０とすることを含む、請求項１に記載の情報処理方法。
【請求項９】
前記活性化層の種類は、線形結合、シグモイド関数、ハードシグモイド関数、ｔａｎｈ関数(hyperbolic tangent function)、ソフトサイン関数、ソフトプラス関数、又は、ＲｅＬＵ(Rectified Linear Unit)である、請求項８に記載の情報処理方法。
【請求項１０】
前記２つのニューラルネットワークのモデルの一致度を判定することは、プーリング層同士を比較する場合、
プーリング層の種類が同じであり、パラメータ同士の距離が所定閾値以下であると、当該距離を類似度とし、それ以外の場合には、類似度を０とすることを含む、請求項１に記載の情報処理方法。
【請求項１１】
前記プーリング層の種類は、最大値プーリング、又は、平均値プーリングであり、
前記パラメータは、フィルタサイズ、及び、フィルタを適用する間隔である、請求項１０に記載の情報処理方法。
【請求項１２】
２つのニューラルネットワークのモデルから、それぞれ、層構造と、各層のパラメータとを読み込む読込手段と、
前記２つのニューラルネットワークのモデルについて、隠れ層でグラフ状に構成された各層を、入力層から順に幅優先探索又は深さ優先探索で比較し、各層同士の類似度に基づいて、前記２つのニューラルネットワークのモデルの一致度を判定する判定手段と、
を備えている、情報処理装置。
【請求項１３】
プログラムを格納したコンピュータ可読記憶媒体であって、
前記プログラムは、コンピュータの１つ以上のプロセッサで実行されると、前記コンピュータに、
２つのニューラルネットワークのモデルから、それぞれ、層構造と、各層のパラメータとを読み込むことと、
前記２つのニューラルネットワークのモデルについて、隠れ層でグラフ状に構成された各層を、入力層から順に幅優先探索又は深さ優先探索で比較し、各層同士の類似度に基づいて、前記２つのニューラルネットワークのモデルの一致度を判定することと、
を実行させる、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワーク(Neural Network)におけるモデルパラメータの改変を判定する技術に関する。
【背景技術】
【０００２】
近年、画像認識や音声認識、自然言語処理の分野において、ニューラルネットワークが注目されている。ニューラルネットワークとは、生体の脳における特性を計算機上のシミュレーションによって表現することを目指した数学モデルをいう。シナプスの結合によってネットワークを形成した人工ニューロン（ユニット）が、学習によってシナプスの結合強度を変化させ、問題解決能力を持つようなモデル全般をいう。【０００３】
特許文献１〜３及び非特許文献１〜３は、ニューラルネットワークの構造を最適化する技術を開示している。また、特許文献２は、大規模な畳み込みニューラルネットワークの重みを効率的に設定する技術を開示している。更に、特許文献３は、ニューラルネットワークを用いて、音響イベントを検出する技術を開示している。更に、非特許文献１及び２は、画像認識に適した畳み込みニューラルネットワークを開示している。更に、非特許文献３は、ニューラルネットワークを用いて、単語の品詞を推定する技術を開示している。【０００４】
大規模なニューラルネットワークのモデルパラメータに対しては、長時間の学習が必要となる。例えば、非特許文献２は、４つのＧＰＵ(Graphics Processing Unit)を用いて２〜３週間の学習が必要であることを開示している。このため、非特許文献４及び５は、予め学習済みのモデルパラメータの一部を流用することや、予め学習済のモデルパラメータを初期値として再学習することを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１１５１０号公報
【特許文献２】特開２０１５−５２８３２号公報
【特許文献３】特開２０１５−５７６３０号公報
【非特許文献】
【０００６】
【非特許文献１】A. Krizhevsky, I. Sutskever and G. E. Hinton, "ImageNet Classification with Deep Convolutional Neural Networks," NIPS'12.
【非特許文献２】K. Simonyan and A. Zisserman, "Very Deep Convolutional Networks for Large-Scale Image Recognition," ICLR'15.
【非特許文献３】X. Ma and E. Hovy, "End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF," ACL'16.
【非特許文献４】S. Ren, K. He, R. Girshick, and J. Sun, "Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks," NIPS'15.
【非特許文献５】W. Liu, et al., "SSD: Single Shot MultiBox Detector," ECCV'16.
【非特許文献６】P.-T. Yu, H.-H. Tsai, and J.-S. Lin, "Digital watermarking based on neural networks for color images," in Signal Processing, vol. 81, no. 3,2001.
【非特許文献７】M. Elarbi, C. B. Amar, and H. Nicolas, "Video Watermarking Based on Neural Networks," in Proc. of ICME, 2006.
【非特許文献８】Fei-Fei Li & Andrej Karpathy & Justin Johnson、Lecture 7、Convolutional Neural Networks、27 Jan 2016、[online]、［平成２９年１月４日検索］、インターネット＜URL:http://cs231n.stanford.edu/slides/winter1516_lecture7.pdf＞
【非特許文献９】正則化、[online]、［平成２９年１月５日検索］、インターネット＜URL:https://ja.wikipedia.org/wiki/%E6%AD%A3%E5%89%87%E5%8C%96＞
【非特許文献１０】A. Krogh and J. A. Hertz, "A Simple Weight Decay Can Improve Generalization," in Proc. of NIPS, 1992.
【非特許文献１１】Caffe、[online]、［平成２９年１月５日検索］、インターネット＜URL:http://caffe.berkeleyvision.org/＞
【非特許文献１２】TensorFlow、[online]、［平成２９年１月５日検索］、インターネット＜URL:https://www.tensorflow.org/＞
【非特許文献１３】Chainer、[online]、［平成２９年１月５日検索］、インターネット＜URL:http://chainer.org/＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述したように、大規模なニューラルネットワークを用いて、全てのモデルパラメータを最初から学習する場合、大量の計算コストや労力が必要となる。そのため、研究機関が、学習済みのモデルパラメータを、流用可能なライセンス形態で、配布する場合もある。【０００８】
しかしながら、商用サービスにおいては、学習済みのモデルパラメータ自体が、そのサービスにおけるコアな技術であり、一般には流用が禁止される。【０００９】
例えば画像等の不正利用であれば、目視による発見が容易である。しかしながら、モデルパラメータの不正利用を目視により発見することは容易ではない。【００１０】
本発明は、ニューラルネットワークのモデルの一部が改変又は再学習されたとしても、改変を検出する技術を提供するものである。
【課題を解決するための手段】
【００１１】
本発明の一態様によると、情報処理方法は、２つのニューラルネットワークのモデルから、それぞれ、層構造と、各層のパラメータとを読み込むことと、前記２つのニューラルネットワークのモデルについて、隠れ層でグラフ状に構成された各層を、入力層から順に幅優先探索又は深さ優先探索で比較し、各層同士の類似度に基づいて、前記２つのニューラルネットワークのモデルの一致度を判定することと、を含んでいる。
【発明の効果】
【００１２】
本発明によれば、ニューラルネットワークのモデルの一部が改変又は再学習されたとしても、改変を検出することができる。【００１３】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１４】
【図１】ニューラルネットワークの一般的な機能構成図。
【図２】一実施形態による情報処理方法の説明図。
【図３】複数の層がグラフ状に構成されたニューラルネットワークを表す説明図。
【図４】入力データと特徴マップとの畳み込みの関係を表す説明図。
【図５】重みフィルタを用いた特徴マップの生成を表す説明図。
【図６】Ｎ個の重みフィルタとＮ段の特徴マップとの関係を表す説明図。
【図７】畳み込み層の重みフィルタから推定された真のフィルタサイズの説明図。
【図８】畳み込み層同士の比較方法の説明図。
【図９】一実施形態による情報処理装置の構成図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を用いて詳細に説明する。
【００１６】
図１は、ニューラルネットワークの一般的な機能構成図である。
【００１７】
ニューラルネットワークには、様々な構成があるが、ニューラルネットワークは、基本的には複数種類の層の重ね合わせ（又はグラフ構造）で表現される。ニューラルネットワークには、入力データと正解ラベルとが対応付けられた教師データが入力される。そして、ニューラルネットワークは、入力データに対する最終的な出力結果が正解ラベルと一致するように、モデルパラメータを学習する（タスクに応じて入力に対する出力を近似させる）。
【００１８】
図１によれば、順伝播型ニューラルネットワークは、入力層(input layer)と、隠れ層(hidden layer)と、出力層(output layer)との３つの層を有し、入力されたデータは、入力層から出力層へ向けて一方向に伝播する。隠れ層は、複数の層から構成され得る。各層は、複数のユニット（ニューロン）を持ち、前方層のユニットから後方層のユニットへの入力に対するパラメータを、「重み(weight)」と称す。学習とは、この入力に対するパラメータとして、適切な「重み」を算出することにある。図１には、順伝播型ニューラルネットワークとして、畳み込みニューラルネットワーク(Convolutional Neural Network, CNN)も示されている。
【００１９】
学習とは、入力データに対する出力層からの出力データと、当該入力データに対する正解ラベルとの誤差を用いて、各層の重みを最適に更新することをいう。その誤差を算出するために、「損失関数」(loss function)が定義される。誤差は、「誤差逆伝播法」によって、出力層側から入力層側へ向けて次々に伝播され、これにより各層の重みを少しずつ更新していく。最終的に、誤差が小さくなるように、各層の重みを適切な値に調整する収束計算を実行する。
【００２０】
また、図１には、ニューラルネットワークの中で学習されたモデルが表されている。「モデル」とは、隠れ層に内在する層毎に、「層構造」、「パラメータ」を対応付けて記憶したものである。層構造は、層の種類やフィルタサイズ、フィルタ数等により示される。パラメータは、学習された重み（重みフィルタ）の要素である。
【００２１】
図２は、本実施形態における情報処理装置が実行する情報処理方法の説明図である。
【００２２】
本実施形態の情報処理装置は、２つのニューラルネットワークのモデルの比較を行う。情報処理装置は、以下の２つのステップを実行する。
【００２３】
（Ｓ１）各ニューラルネットワークのモデルから、各層について層構造とパラメータとを読み込む。モデルとしては、深層学習フレームワークによって、様々な形式がある。例えば、Caffeの場合、ネットワーク構成がprototxtファイルで記述され、学習済みのパラメータはcaffemodelファイルに保存される（非特許文献１１参照）。また、TensorFlowの場合、学習済みのモデルはckptファイルに保存される（非特許文献１２参照）。更に、Chainerの場合、HDF5フォーマットにて学習済みのモデルが保存される（非特許文献１３参照）。これらニューラルネットワークのモデルは、異なる形式であっても、本質的には、「層構造」及び「パラメータ」によって表現される。Ｓ１では、これら異なる形式のモデルを読み込み、内部的には共通のフォーマットで記憶する。Ｓ１では、これら様々な形式のモデルを比較可能な形式で読み込む。
【００２４】
（Ｓ２）２つのニューラルネットワークのモデルの層構造及びパラメータを比較して同一か否かを判定する。両方のモデルについて、同一と判定された場合、一方のモデルが改変または再学習されて、他方のモデルが生成された可能性がある。
【００２５】
図３は、複数の層がグラフ状に構成されたニューラルネットワークを表す説明図である。
【００２６】
図３によれば、複数の層がグラフ状に、順伝播型として構成されている。隠れ層の種類としては、例えば以下のようなものがある。
畳み込み層(convolutional layer)
活性化層(activation function)
プーリング層(pooling layer)
全結合層(full-connected layer)
【００２７】
Ｓ２によれば、隠れ層でグラフ状に構成された各層同士を、入力層（最下層）から順に「幅優先探索」又は「深さ優先探索」で辿って比較していく。幅優先探索(breadth first search)とは、入力層に近い層から順に探索するものである。深さ優先探索(depth first search)とは、入力層から繋がる限り出力層まで探索するものである。
【００２８】
＜比較する層同士の種類の判定＞
一形態によると、層同士の「種類」が異なる場合、類似度を０とし、当該層から後段の層における比較を実行しない。即ち、層同士の種類が異なると、モデル同士の関係として改変された可能性はない（モデルの非同一判定）と判定することができる。具体的には、２つのモデルについて、入力層（最下位層）から順に層同士の種類を比較して、同一か否かを判定する。両モデルについて、幅優先探索又は深さ優先探索によって辿りながら、次の層同士を選択して比較していく。
【００２９】
また、層同士の「種類」が異なっていても、当該層について、入力と出力とが同一である場合、その層は同一のものであるとして、その比較をスキップすることもできる。例えば、入力の順序を入れ替えて出力するだけの層も、入力と出力とが同一であるとする。例えば、入力の順序を入れ替えるだけの全結合層や、１×１のプーリング層が該当する。
【００３０】
例えば、比較する層同士の「種類」が異なる場合（例えば畳み込み層と活性化層）、２つの層は不一致であると判定される。但し、畳み込み層は、全結合層の一種と考えることができるために、畳み込み層と同一の出力を出力する全結合層は、同一と判定することができる。
【００３１】
上記のとおり、最も簡単な方法としては、層同士の「種類」のみを判定する。しかしながら、層同士は同じ種類のものであっても、モデルの層構造及びパラメータが改変される場合もある。そこで、比較する層同士の種類が同一である場合、更に、層構造及びパラメータを比較して、層同士の同一判定を実行する。具体的には、層同士の種類が同一である場合、更に、層構造やパラメータの類似度から、最終的に、層同士のモデルの同一判定を実行する。以下では、同じ種類の層同士の同一判定について、具体的に詳述する。
【００３２】
＜畳み込み層同士の比較＞
最初に、畳み込み層における層構造（フィルタ数）及びパラメータ（重みフィルタ）について説明する。
【００３３】
図４は、入力データと特徴マップとの畳み込みの関係を表す説明図である。
【００３４】
図４における処理は、畳み込み層（全結合層も同様）によって実行される。図４によれば、入力データに対して、１個の重みフィルタを使用することで１つの特徴マップを生成している。なお、本実施形態において、入力データ、重みフィルタ及び特徴マップのサイズは以下の通りである。
入力データ  ：３２×３２×３個の要素
重みフィルタ：５×５×５個の要素  （パラメータ）
特徴マップ  ：２８×２８個の要素
重みフィルタは、Ｎ個分用意され、これがパラメータとなる。即ち、「重み」とは、Ｎ個の重みフィルタを意味する。但し、ここでは、バイアス項は考慮しないものとする。
【００３５】
図５は、重みフィルタを用いた特徴マップの生成を表す説明図である。
【００３６】
図５に示す様に、５×５×３個の要素からなる１個の重みフィルタを、入力データに充てて、その各要素の積の和を、特徴マップの１個の要素の値とする。そして、同じ重みフィルタを、入力データに対して移動させて、１枚の特徴マップを生成する。ここで、移動させる要素の数（移動量）を「ストライド(stride)」と称す。入力データの周囲の縁（ふち）には、要素０を埋めたゼロパディング(zero-padding)の領域を設けることもできる。これによって、入力データの縁の要素にも、同数の重みフィルタをあてることができる。
【００３７】
図６は、Ｎ個の重みフィルタとＮ段の特徴マップとの関係を表す説明図である。
【００３８】
重みフィルタは、Ｎ個から構成される。図４及び図５によれば、１個の重みフィルタから１枚の特徴マップが生成されている。したがって、図６に示す様に、Ｎ個の重みフィルタからＮ段の特徴マップが生成される。
【００３９】
前述した図４及び図５によれば、３２×３２（画像サイズ）×３（ＲＧＢチャンネル）の入力に対し、５×５×３のフィルタ１つを適用している。このフィルタは５×５×３＋１＝７６個のパラメータを持つ。通常、畳み込み層では、Ｎ個（複数）のフィルタを用いて畳み込みを実行する。例えば、１２８個のフィルタを持つ畳み込み層は、７６×１２８個のパラメータを持つ。最も単純には、このパラメータを特徴ベクトルとして、何らかの尺度を用いて距離を計算し、一定以下の距離であれば一致したと判定することができる。
【００４０】
しかしながら、重みフィルタの効果を維持したまま、意図的にフィルタの構造を変更することで、モデルの再利用（改変）を行うことができる。例えば、（１）フィルタのサイズを大きくしたり、（２）フィルタの順序を変更したり、（３）フィルタを追加削除する、ように改変することができる。これに対し、本実施形態によれば、重みフィルタの構造が変更された場合であっても、同一判定をすることができる。
【００４１】
畳み込み層同士を比較する場合、重みフィルタのパラメータによって判定するべく、以下のＳ２１１〜Ｓ２１４のステップを実行する。
【００４２】
（Ｓ２１１）畳み込み層の重みフィルタについて真の（実際の）フィルタサイズを推定する。具体的には、重みフィルタにおける各チャンネル（例えばＲＧＢ＝３）のパラメータの絶対値を累積する。その累積値が所定閾値以上となる箇所（パラメータ）を全て含む最小の矩形を、真のフィルタサイズとして推定する。
【００４３】
図７は、畳み込み層の重みフィルタから真のフィルタサイズを推定する処理の説明図である。
【００４４】
例えばフィルタが５×５のサイズであれば、真のフィルタサイズは、２×２，３×３，４×４である可能性がある。図７によれば、複数のチャンネル（例えばＲＧＢ）を持つ入力に対するフィルタとしては、５×５×３の重みフィルタが適用されている。この場合、各チャンネルに対する５×５のパラメータそれぞれについて絶対値を取り、３つのチャネルに対応する各フィルタの同一位置の３つの絶対値を加算する。図７のように、中心の３×３以外のパラメータの絶対値が小さい場合、真のフィルタサイズは３×３であると推定することができる。これは、フィルタの各パラメータの絶対値について、閾値以上となる最小の矩形から推定される。図７では、閾値を０．２とし、これにより、真のフィルタサイズを３×３であると推定している。
【００４５】
（Ｓ２１２）比較する重みフィルタのパラメータを推定された真のフィルタサイズに修正する。比較する畳み込み層同士における真のフィルタサイズが一致しなかった場合、畳み込み層同士は同一でないと判定される。例えば一方の畳み込み層のフィルタサイズが３×３×３であり、他方の畳み込み層のフィルタサイズが５×５×３である場合、これら畳み込み層同士は、一致しないと判定される。
【００４６】
（Ｓ２１３）比較する畳み込み層同士について、真のフィルタサイズが一致する場合、次にパラメータ同士を比較する。このとき、各重みフィルタのパラメータを１つのベクトルとみなして、各畳み込み層をベクトル集合として表現する。例えば、一方の畳み込み層のフィルタサイズが５×５×３、フィルタ数が１２８であり、他方の畳み込み層のフィルタサイズが５×５×３、フィルタ数が６４である場合を想定する。
【００４７】
図８は、畳み込み層同士の真のフィルタサイズ内のパラメータを比較する説明図である。
【００４８】
パラメータ同士の比較は、各フィルタのパラメータを特徴ベクトルとみなし、一方の畳み込み層の特徴ベクトルの集合と、他方の畳み込み層の特徴ベクトルの集合との間の距離を算出する。例えば、２つの特徴ベクトル集合間について、距離が所定閾値以下となる特徴ベクトルのペアを算出することによって「二部グラフ」を構成する。そして、二部グラフから最大マッチング問題を解くことによって算出した最大のマッチ数を、類似度とする。また、画像認識におけるBag-of-Visual Wordsを用いて、各特徴ベクトルを量子化し、量子化ヒストグラムを畳み込み層の特徴ベクトルとし、その距離を用いることもできる。更に、各特徴ベクトルを量子化し、量子化ヒストグラム間の類似度を、ベクトル集合間の類似度とすることもできる。
【００４９】
二部グラフとは、頂点（パラメータ）集合を２つの部分集合に分割し、各集合内の頂点同士の間には辺が無いようにしたものである。２つの頂点集合Ｖ１，Ｖ２に分割したとき、Ｖ１同士・Ｖ２同士の頂点間には辺が存在しないが、Ｖ１とＶ２間の任意の２点間に辺が存在するグラフである。マッチ数とは、辺集合に属するいずれの２辺も隣接していない数を言い、最大マッチングとは、辺集合のうち辺の数が最大のものをいう。
【００５０】
（Ｓ２１４）比較する畳み込み層同士のベクトル集合間の類似度を、畳み込み層同士の類似度とする。そして、畳み込み層同士の類似度が、所定閾値以上である場合、２つの畳み込み層は、同一であると判定することができる。
【００５１】
＜全結合層同士の比較＞
全結合層同士を比較する場合、全結合層に対する重みを特徴ベクトルとみなして、全結合層をベクトル集合として表現する。そして、比較する全結合層同士のベクトル集合間の類似度（例えばベクトル集合間の距離）を、全結合層同士の類似度とする。そして、全結合層同士の類似度が、所定閾値以上である場合、２つの全結合層は、同一であると判定することができる。
【００５２】
全結合層がバイアス項を含む場合、全結合層は、出力次元数×（入力次元数＋１）のパラメータで表現される（バイアス項を含まない場合は、出力次元数×入力次元数）。このパラメータに対し、（入力次元数＋１）次元の重み（入力に対する係数）を、特徴ベクトルとみなし、この特徴ベクトルの集合として全結合層を表現する。
【００５３】
＜活性化層同士の比較＞
活性化層同士を比較する場合、活性化層の種類が同じであり、パラメータ同士の距離が所定閾値以下である場合、当該距離を類似度として算出する。それ以外の場合、類似度を０とする。そして、活性化層同士の類似度が、所定閾値以上である場合、２つの活性化層は、同一であると判定することができる。活性化層の種類は、線形結合、シグモイド関数、ハードシグモイド関数、ｔａｎｈ関数(hyperbolic tangent function)、ソフトサイン関数、ソフトプラス関数、ＲｅＬＵ(Rectified Linear Unit)のいずれかである。
【００５４】
＜プーリング層同士の比較＞
プーリング層同士を比較する場合、プーリング層の種類が同じであり、パラメータ同士の距離が所定閾値以下である場合、当該距離を類似度として算出する。それ以外の場合、類似度を０とする。そして、プーリング層同士の類似度が、所定閾値以上である場合、２つのプーリング層は、同一であると判定することができる。プーリング層の種類は、最大値(max)プーリング、平均値(average)プーリングのいずれかである。パラメータは、フィルタサイズ及びストライド（フィルタを適用する間隔）である。
【００５５】
そして、一方のニューラルネットワークにおいて比較が行われなかった層がなく、比較が行われた各層の比較結果がすべて一致した場合、一方のニューラルネットワークは、他方のニューラルネットワークが改変又は再学習されたものと判定することができる。
【００５６】
また、多層ニューラルネットワークにおいては、他のニューラルネットワークの一部だけを再利用することがあり得る。したがって、所定数以上の層が一致すると、一方のニューラルネットワークは、他方のニューラルネットワークが改変又は再学習されたものと判定することができる。なお、所定数は１以上とすることができる。また、ニューラルネットワーク全体の改変を判定するのではなく、層単位で一致・不一致を判定し、判定結果を出力する構成とすることもできる。つまり、一方のニューラルネットワークのある層が、他方のニューラルネットワークにおいて流用されているかを判定する構成とすることもできる。
【００５７】
また、たとえば、一致する畳み込み層が所定数以上あると、一方のニューラルネットワークは、他方のニューラルネットワークの一部が改変又は再学習されたものと判定するといった様に、層の種類を判定条件に使用することができる。なお、所定数は１とすることができる。
【００５８】
また、比較した各層について一致、不一致を判定するのではなく、類似度を合計して、一方のニューラルネットワークと他方のニューラルネットワークの類似度を判定するものとすることもできる。
【００５９】
以上、詳細に説明したように、本実施形態によれば、ニューラルネットワークのモデルの一部が改変又は再学習されたとしても、モデル同士を比較することによって改変を検出することができる。
【００６０】
図９は、本実施形態による情報処理装置の構成図である。読込部１０は、比較対象の２つのニューラルネットワークのモデルの各層について、層構造とパラメータとを読み込む。判定部２０は、読込部１０が読み込んだ、２つのニューラルネットワークのモデルの層構造及びパラメータを比較して改変を判定する。
【００６１】
また、上述した情報処理方法又は情報処理装置は、コンピュータプログラムにより実現することもできる。当該プログラムは、コンピュータの１つ以上のプロセッサで実行されると、当該コンピュータに、上述した情報処理方法を実行させる。或いは、当該プログラムは、コンピュータの１つ以上のプロセッサで実行されると、当該コンピュータを上述した情報処理装置として機能させる。コンピュータプログラムは、一時的ではないコンピュータ可読記憶媒体に記憶される。
【００６２】
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【００６３】
本願は、２０１７年１月１３日提出の日本国特許出願特願２０１７−００３８４９を基礎として優先権を主張するものであり、その記載内容の全てを、ここに援用する。
【図１】
0006708755.tif 000002
【図２】
0006708755.tif 000003
【図３】
0006708755.tif 000004
【図４】
0006708755.tif 000005
【図５】
0006708755.tif 000006
【図６】
0006708755.tif 000007
【図７】
0006708755.tif 000008
【図８】
0006708755.tif 000009
【図９】
0006708755.tif 000010