JP6953376B2 - ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラム - Google Patents

ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラム Download PDF

Info

Publication number
JP6953376B2
JP6953376B2 JP2018182610A JP2018182610A JP6953376B2 JP 6953376 B2 JP6953376 B2 JP 6953376B2 JP 2018182610 A JP2018182610 A JP 2018182610A JP 2018182610 A JP2018182610 A JP 2018182610A JP 6953376 B2 JP6953376 B2 JP 6953376B2
Authority
JP
Japan
Prior art keywords
input
output
information
value
data
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
JP2018182610A
Other languages
English (en)
Other versions
JP2020052813A (ja
Inventor
茂之 酒澤
茂之 酒澤
絵美 明堂
絵美 明堂
和之 田坂
和之 田坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KDDI Corp filed Critical KDDI Corp
Priority to JP2018182610A priority Critical patent/JP6953376B2/ja
Publication of JP2020052813A publication Critical patent/JP2020052813A/ja
Application granted granted Critical
Publication of JP6953376B2 publication Critical patent/JP6953376B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラムに関する。
近年、CPU(Central Processing Unit)の高速化およびメモリの大容量化等が進歩し、これに伴い、機械学習技術が急速に進んできている。例えば、数十万から百万といったオーダーの学習データを用いる機械学習が可能となり、精度の高い識別技術および分類技術が確立されつつある(非特許文献1参照)。また、伝達すべきデータを他のデータに埋め込んで第三者からデータを隠蔽する、ステガノグラフィといった情報ハイディング技術が知られている。
Yangqing Jia, Evan Shelhamer, Jeff Donahue, Sergey Karayev, Jonathan Long, Ross Girshick, Sergio Guadarrama, and Trevor Darrell. Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the 22nd ACM international conference on Multimedia (pp. 675-678). ACM.
一般的に、データ構造に伝達すべきデータを埋め込む場合、埋め込むデータの量が多くなると、第三者によるデータ解析が容易になってしまうことがある。また、データ解析を困難にすべく、より複雑なデータ構造を用いたくても、適切なデータ構造を探すことは困難であった。また、複雑なデータ構造の中にデータを埋め込んでも、CPUの進歩等により、時間をかければデータ構造が解明されてしまうリスクが伴う。
一方、機械学習によって生成された学習モデルは、数千万個以上のパラメータを有することもある。即ち、第三者がこのような学習モデルを不正に取得しても、それぞれのパラメータの詳細を解析することは現実的ではない。また、学習モデルは、再学習および微調整等によってパラメータが更新されることがあるので、埋め込んだデータが改変されて解析が物理的に不可能となることもある。したがって、学習済みの学習モデルにデータを埋め込むことができれば、より多くの情報を秘匿し、また、秘匿したデータの漏洩を困難にする技術の実現が期待される。
そこで、本発明はこれらの点に鑑みてなされたものであり、より多くの情報を容易に秘匿し、また、秘匿したデータの漏洩を困難にすることを目的とする。
本発明の第1の態様においては、ニューラルネットワークであって、前記ニューラルネットワークの1または複数のノード間に情報要素を備え、前記情報要素は、1または複数の第1入力ノードを有する第1入力部と、1または複数の第1出力ノードを有する第1出力部と、前記第1入力部および前記第1出力部の間に設けられ、入力側および出力側の接続に重み係数が設定される複数の第1隠れノードとを有し、前記第1入力部が受け取る第1入力データと、前記第1入力データに応じて前記第1出力部が出力する第1出力データとが一致し、前記重み係数は、前記ニューラルネットワークの学習とは関連のない伝達情報に基づく値を含む、ニューラルネットワークを提供する。
前記重み係数の総数Nのうち、(N−1)個以下の重み係数は、前記伝達情報に含まれる値であり、残りの1以上の重み係数は、前記第1入力データおよび前記第1出力データが一致するように前記伝達情報に含まれる値から算出される値でよい。前記重み係数のうち、前記(N−1)個以下の重み係数の少なくとも1つの重み係数は、誤り訂正符号を含んでよい。
少なくとも2つの前記第1隠れノードは、正規化線形関数(Rectified Linear Unit)を活性化関数とした入出力特性を有し、前記第1入力部から前記第1出力部までデータを伝達する全ての経路のそれぞれは、第1グループおよび第2グループのいずれか一方に属し、前記第1グループに属する経路は、前記第1入力データの値が0以上の場合に、前記第1隠れノードの出力を0以上の値にさせ、また、前記第1入力データおよび前記第1出力データを一致させる重み係数を有し、前記第2グループに属する経路は、前記第1入力データの値が0未満の場合に、前記第1隠れノードの出力を0以上の値にさせ、また、前記第1入力データおよび前記第1出力データを一致させる重み係数を有してよい。
前記第1グループの前記重み係数の総数Lのうち、(L−1)個以下の重み係数は、前記伝達情報に含まれる値であり、残りの1以上の重み係数は、前記第1入力データおよび前記第1出力データが一致するように前記伝達情報に含まれる値から算出される値であり、前記第2グループの前記重み係数の総数Mのうち、(M−1)個以下の重み係数は、前記伝達情報に含まれる値であり、残りの1以上の重み係数は、前記第1入力データおよび前記第1出力データが一致するように前記伝達情報に含まれる値から算出される値でよい。前記重み係数のうち、前記(L−1)個以下の重み係数の少なくとも1つの重み係数、および、前記(M−1)個以下の重み係数の少なくとも1つの重み係数は、誤り訂正符号を含んでよい。
本発明の第2の態様においては、コンピュータが実行する第1の態様のニューラルネットワークの学習方法であって、前記情報要素内の経路の重み係数は更新せずに、前記情報要素には含まれない重み係数を更新することにより、前記ニューラルネットワークを学習する、学習方法を提供する。
本発明の第3の態様においては、ニューラルネットワークの情報を取得する第1取得部と、前記ニューラルネットワークの学習とは関連のない伝達情報を取得する第2取得部と、前記伝達情報に基づき、情報要素を生成する生成部と、前記ニューラルネットワークの1または複数のノード間に、生成した情報要素を埋め込む埋め込み部とを備え、前記情報要素は、1または複数の第1入力ノードを有する第1入力部と、1または複数の第1出力ノードを有する第1出力部と、前記第1入力部および前記第1出力部の間に設けられ、入力側および出力側の接続に重み係数が設定される複数の第1隠れノードとを有し、前記第1入力部が受け取る第1入力データと、前記第1入力データに応じて前記第1出力部が出力する第1出力データとが一致し、前記重み係数は、前記伝達情報に基づく値を含む、情報付加装置を提供する。
本発明の第4の態様においては、ニューラルネットワークの情報を取得するステップと、前記ニューラルネットワークの学習とは関連のない伝達情報を取得するステップと、前記伝達情報に基づき、情報要素を生成するステップと、前記ニューラルネットワークの1または複数のノード間に、生成した情報要素を埋め込むステップとを備え、前記情報要素は、1または複数の第1入力ノードを有する第1入力部と、1または複数の第1出力ノードを有する第1出力部と、前記第1入力部および前記第1出力部の間に設けられ、入力側および出力側の接続に重み係数が設定される複数の第1隠れノードとを有し、前記第1入力部が受け取る第1入力データと、前記第1入力データに応じて前記第1出力部が出力する第1出力データとが一致し、前記重み係数は、前記伝達情報に基づく値を含む、情報付加方法を提供する。
本発明の第5の態様においては、実行されると、コンピュータを第3の態様の情報付加装置として機能させる、プログラムを提供する。
本発明によれば、より多くの情報を容易に秘匿し、また、秘匿したデータの漏洩を困難にするという効果を奏する。
本実施形態に係るニューラルネットワーク10の構成例を示す。 本実施形態に係る情報要素100の第1構成例を示す。 本実施形態に係る情報要素100の第2構成例を示す。 本実施形態に係る情報要素100の第3構成例を示す。 本実施形態に係る情報要素100の第4構成例を示す。 本実施形態に係る情報付加装置300の構成例を示す。 本実施形態に係る情報付加装置300の動作フローの一例を示す。
<ニューラルネットワーク10の構成例>
図1は、本実施形態に係るニューラルネットワーク10の構成例を示す。ニューラルネットワーク10は、入力したデータをノード間に伝播させ、入力データに応じたデータを出力する。ニューラルネットワーク10は、ノード間の接続、重み係数、パラメータ、および活性化関数等の設定および学習等により、画像認識、文字認識、および音声認識等に利用される。ニューラルネットワーク10は、入力層20と、複数のノード30と、出力層40とを備える。
入力層20は、当該ニューラルネットワーク10への入力データを受け取る。入力データは、1つのまたは複数のデータ値を含む。入力層20は、1つのまたは複数の入力ノード22を有する。入力ノード22は、入力データに含まれるデータ値が入力される。また、入力ノード22は、入力されたデータ値を当該入力ノード22に接続された1つのまたは複数のノード30に供給する。
ノード30は、入力層20および出力層40の間に複数設けられる。複数のノード30は、隠れ層または中間層として機能する。ノード30は、入力ノード22、他のノード30、自身のノード30、および出力層40等と接続され、入力側の接続から出力側の接続へと予め定められた方向にデータ値を伝播させる。
ノード30は、例えば、入力側に接続されたノード間に重み係数wが設定され、当該ノード30に向けて伝播されるデータ値uに当該重み係数を乗じた値w・uが入力される。ノード30は、入力側にn個の複数のノードが接続された場合、n個の接続によって当該ノード30に伝播されるn個のデータ値uに、接続ごとに設定された重み係数wをそれぞれ乗じたn個の値w・uが入力される。
ノード30は、例えば、入力されるデータ値w・uの総和Σw・uを出力側の接続へと伝播させる。ノード30は、総和Σw・uにバイアスパラメータbを加えた値Σw・u+bを伝播させてもよい。また、ノード30は、値Σw・uまたは値Σw・u+bを予め定められた関数f()に入力して算出された値を伝播させてもよい。
出力層40は、入力データに応じた出力データを出力する。出力層40は、1つのまたは複数の出力ノード42を有する。出力層40は、当該出力層40に含まれる出力ノード42から出力されるデータ値を、出力データとして出力する。出力ノード42は、当該出力ノード42に接続された1つのまたは複数のノード30から受け取るデータ値に基づく値を出力する。出力ノード42は、例えば、ノード30と同様に、ノード間の重み係数、バイアスパラメータ、および関数等を用いて算出された値を出力する。
以上のニューラルネットワーク10は、画像認識、文字認識、および音声認識等といった目的に応じて、入力ノード22、ノード30、および出力ノード42の数、接続、重み係数等のパラメータが設定される。そして、ニューラルネットワーク10は、教師あり学習、教師なし学習、および強化学習等の学習データに基づく機械学習により、重み係数等のパラメータが更新され、高い精度の識別機能および分類機能を有する学習モデルとして用いることができる。
このようなニューラルネットワーク10は、複雑で高度な機能を有するので、内部のパラメータは数千万個を超えることがある。したがって、パラメータのそれぞれを解析するには膨大な時間がかかり、学習動作とは無関係なデータが埋め込まれても、第三者が判別することは困難である。即ち、ニューラルネットワーク10は、データを秘匿するには適度に複雑なデータ構造を有するといえる。そこで、本実施形態に係るニューラルネットワーク10は、第三者に秘匿する情報を含めた情報要素をノード間に設け、学習モデルとは無関係なデータを容易に埋め込み可能とする。
図1は、ニューラルネットワーク10が情報要素100をノード間に備える例を示す。図1は、情報要素100が単一のノード30の置き換えとして設けられた例を示す。このような情報要素100について次に説明する。
<情報要素100の構成例>
図2は、本実施形態に係る情報要素100の第1構成例を示す。情報要素100は、第1入力部110と、複数の第1隠れノード120と、第1出力部130とを有する。
第1入力部110は、ニューラルネットワーク10の1つのまたは複数のノード30から伝播される値が入力される。ここで、第1入力部110に入力される1つのまたは複数の値xを、第1入力データとする。第1入力部110は、1つのまたは複数の第1入力ノード112を有する。第1入力ノード112のそれぞれは、複数の第1隠れノード120に接続され、接続された複数の第1隠れノード120へと第1入力データxを伝播させる。図2は、第1入力部110が1つの第1入力ノード112を有する例を示す。
複数の第1隠れノード120は、第1入力部110および第1出力部130の間に設けられる。第1隠れノード120は、例えば、入力側が第1入力ノード112と接続され、出力側が第1出力部130と接続される。また、第1隠れノード120の入力側および出力側は、他の第1隠れノード120に接続されてもよい。第1隠れノード120は、ニューラルネットワーク10のノード30と同様に、入力側の接続から出力側の接続へと予め定められた方向にデータ値を伝播させる。
第1隠れノード120は、例えば、入力側に接続されたノード間に重み係数wが設定され、当該第1隠れノード120に向けて伝播されるデータ値xに当該重み係数を乗じた値w・xが入力される。第1隠れノード120は、入力側にn個の複数のノードが接続された場合、n個の接続によって当該第1隠れノード120に伝播されるn個のデータ値xinに、接続ごとに設定された重み係数wをそれぞれ乗じたn個の値w・xinが入力される。また、第1隠れノード120は、一例として、値w・xinの総和Σw・xinを出力側に接続されたノードに伝播させる。
図2は、情報要素100が2つの第1隠れノード120を有し、2つの第1隠れノード120の入力側が1つの第1入力ノード112にそれぞれ接続される例を示す。また、図2は、2つの第1隠れノード120のうち一方の第1隠れノード120と、第1入力ノード112との間の重み係数をwとし、他方の第1隠れノード120と、第1入力ノード112との間の重み係数をwとした例を示す。
また、2つの第1隠れノード120の出力側は、第1出力部130に接続される。図2は、一方の第1隠れノード120が値w・xを第1出力部130に伝播し、他方の第1隠れノード120が値w・xを第1出力部130に伝播する例を示す。
第1出力部130は、情報要素100の内部から外部の1つのまたは複数のノード30へと値を伝播する。ここで、第1出力部130が出力する1つのまたは複数の値yを、第1出力データとする。第1出力部130は、1つのまたは複数の第1出力ノード132を有する。第1出力ノード132は、複数の第1隠れノード120に接続され、接続された複数の第1隠れノード120から伝播される値に基づく第1出力データを出力する。第1出力ノード132は、例えば、第1隠れノード120と同様に、ノード間の重み係数を用いて算出された値を出力する。このように、第1隠れノード120は、出力側に接続されたノード間にも重み係数wが設定される。
図2は、第1出力部130が1つの第1出力ノード132を有し、当該1つの第1出力ノード132が2つの第1隠れノード120の出力側とそれぞれ接続する例を示す。また、図2は、2つの第1隠れノード120のうち一方の第1隠れノード120と、第1出力ノード132との間の重み係数をwとし、他方の第1隠れノード120と、第1出力ノード132との間の重み係数をwとした例を示す。そして、第1出力ノード132は、値w・w・x+w・w・xを第1出力データyとして出力する。
以上の情報要素100においては、第1入力部110が受け取る第1入力データxと、第1入力データに応じて第1出力部130が出力する第1出力データyとが一致する。このような入力値と入力値に応じた出力値とが一致する性質を有する対応関係を、恒等写像と呼ぶ。情報要素100は、恒等写像の性質を有するように、重み係数が予め定められる。図2の例の場合、w・w・x+w・w・x=xより、次式を得る。
(数1)
・w+w・w=1
ここで、一例として、w≠0とすると、次式が成立する。
(数2)
=(1−w・w)/w
(数2)式より、w,w,およびwは、wの表現可能な数値の精度範囲において、自由な値を設定できることがわかる。即ち、複数の重み係数は、ニューラルネットワーク10の学習とは関連のない伝達情報に基づく値を含ませることができる。なお、(数2)式は、wをw,w,およびwを用いて表現した例であり、これに限定されることはない。w,w,およびwのいずれか1つの重み係数は、他の3つの重み係数で(数2)式のように表現できる。即ち、4個の重み係数のうちのいずれか3個の重み係数は、残りの1個の重み係数の表現可能な数値の精度範囲において、自由な値を設定できる。
したがって、4個の重み係数のうち3個の重み係数の値を、伝達すべき情報の値にして、残りの1個の重み係数の値を、(数1)式が成立するように、他の3個の重み係数の値から算出される値にできる。このように、情報要素100は、恒等写像の性質を有しつつ、伝達すべき情報の値を重み係数として直接埋め込むことができる。
以上の情報要素100は、入力データおよび出力データが一致するので、図1に示すようなニューラルネットワーク10のノード30として埋め込まれても、当該ニューラルネットワーク10の入出力応答にほとんど影響を与えない。したがって、ニューラルネットワーク10は、入力データに対して学習済みの動作を施して、対応する出力データを出力できる。ニューラルネットワーク10は、学習動作とは関連のない伝達情報を埋め込んだまま学習済みの動作を実行できるので、伝達情報が含まれていることを第三者が把握することを困難にさせる。
また、仮に、ニューラルネットワーク10を不正に取得した第三者が、当該ニューラルネットワーク10に伝達情報が含まれていることを知得しても、膨大なパラメータを解析することは困難であり、現実的ではない。また、ニューラルネットワーク10は、再学習および微調整により、重み係数を更新して使用することが一般的なので、第三者が不正に入手した時点で、伝達情報が改変されて物理的に解析不能になっていることもある。また、第三者自身が学習モデルを使用して、伝達情報を改変することもある。
一方、ニューラルネットワーク10を正当に取得したユーザは、このようなニューラルネットワーク10の具体的な設計および構成等を知り得るので、不用意に情報要素100に含まれる重み係数を微調整することはない。例えば、ユーザは、情報要素100内の経路の重み係数は更新せずに、情報要素100には含まれない重み係数を更新することにより、当該ニューラルネットワーク10を学習すればよい。また、ユーザは、学習前のニューラルネットワーク10に情報要素100を埋め込んだ後、情報要素100内の経路の重み係数は変更せずに、当該ニューラルネットワーク10を学習してもよい。したがって、本実施形態に係る情報要素100は、正当なユーザによるニューラルネットワーク10の微調整を実行可能とする一方で、第三者への情報漏洩を困難にさせることができる。
なお、図2に示す情報要素100は、第1隠れノード120を2つ有する例であり、これに限定されることはない。情報要素100は、より多くの伝達情報を埋め込む目的で、第1隠れノード120をより多く有することが望ましい。そこで、第1構成例の情報要素100よりも第1隠れノード120を増加させた例を次に示す。
<情報要素100の第1変形例>
図3は、本実施形態に係る情報要素100の第2構成例を示す。図3に示す第2構成例の情報要素100において、図2に示された情報要素100の動作と略同一のものには同一の符号を付け、説明を省略する。第2構成例の情報要素100は、3つの第1隠れノード120を有する例を示す。
図3は、3つ目の第1隠れノード120の第1入力ノード112との間の重み係数をwとし、第1出力ノード132との間の重み係数をwとした例を示す。このような情報要素100は、恒等写像の性質を有するように、w・w・x+w・w・x+w・w・x=xより、次式を得る。
(数3)
・w+w・w+w・w=1
ここで、一例として、w≠0とすると、次式が成立する。
(数4)
=(1−w・w−w・w)/w
(数4)式より、wからwまでの重み係数は、自由な値を設定できる。このように、情報要素100は、第1隠れノード120の数を増加させて、より多くの情報を埋め込むことができる。この場合、情報要素100は、重み係数の総数Nのうち、(N−1)個以下の重み係数を、伝達情報に含まれる値とすることができる。なお、残りの1以上の重み係数は、第1入力データおよび第1出力データが一致するように伝達情報に含まれる値から算出される値となる。
以上のように、情報要素100は、第1隠れノード120の数を増加させても、単純な式で解析的に重み係数を定めることができる。したがって、情報要素100は、より多くの情報を容易に埋め込むことができる。これに代えて、または、これに加えて、ニューラルネットワーク10の複数のノード間に情報要素100を設けることで、埋め込む情報量を更に増加させてもよい。また、同一の情報要素100を複数埋め込んで、正確な情報を伝達させる確率を高めてもよい。
情報要素100をニューラルネットワーク10に複数埋め込むことにより、ネットワークの構成は複雑になり、第三者による解析は困難となる。また、ニューラルネットワーク10の学習動作を実行する場合に、情報要素100の重み係数を調節する可能性を高めるので、第三者への情報漏洩は、より困難になる。したがって、情報要素100は、ニューラルネットワーク10の計算処理に影響を与えない程度の範囲で、より多くの数が埋め込まれることが望ましい。
なお、ニューラルネットワーク10を微調整する場合、出力層40に近い位置の重み係数を調整することが多い。したがって、ニューラルネットワーク10は、出力層40に近い位置により多くの情報要素100が配置されてよい。例えば、ニューラルネットワーク10に含まれる複数のノード30を、入力層20に近い第1ノード群と、出力層40に近い第2ノード群の2つに分割した場合に、第1ノード群に設けられた情報要素100の数よりも、第2ノード群に設けられた情報要素100の数の方を多くする。
この場合、更に、ニューラルネットワーク10の入力層20から出力層40に向けて、情報要素100の密度が増加するように、情報要素100が配置されてよい。これにより、第三者がニューラルネットワーク10を微調整する場合に、情報要素100に含まれる重み係数を微調整する確率を高めることができる。
なお、図3に示す情報要素100は、複数の第1隠れノード120が第1入力部110および第1出力部130にそれぞれ接続される例を示す。即ち、複数の第1隠れノード120が一層の隠れ層を構成する例を示すが、これに限定されることはなく、複数の第1隠れノード120が複数の隠れ層を構成してもよい。この場合、異なる第1隠れノード120同士が接続されてよい。
以上の本実施形態に係るニューラルネットワーク10は、伝達情報の値を埋め込んだ情報要素100を、1つまたは複数のノード間に設ける例を説明したが、これに限定されることはない。情報要素100は、伝達情報の値に基づく値が埋め込まれてもよい。情報要素100は、例えば、伝達情報の値を更に暗号化した値が埋め込まれてもよい。また、情報要素100は、重み係数のうち、(N−1)個以下の重み係数の少なくとも1つの重み係数が、誤り訂正符号を含んでもよい。
以上の本実施形態に係る情報要素100は、第1隠れノード120が、入力値w・xinの総和Σw・xinを出力側に接続されたノードに伝播させる例を説明したが、これに限定されることはない。第1隠れノード120は、総和Σw・xinを活性化関数に入力した結果を、出力側のノードに伝播させてもよい。このような情報要素100の例を次に説明する。
<情報要素100の第2変形例>
図4は、本実施形態に係る情報要素100の第3構成例を示す。図4に示す第3構成例の情報要素100において、図2に示された情報要素100の動作と略同一のものには同一の符号を付け、説明を省略する。
第3構成例の複数の第1隠れノード120は、正規化線形関数(ReLU:Rectified Linear Unit)を活性化関数とした入出力特性を有する例を説明する。ここで、正規化線形関数φ(x)は、次式で示される。即ち、φ(x)は、xの値が0未満の場合に値が0となり、xの値が0以上の場合に値がxと同じになる関数である。
(数5)
φ(x)=max(0,x)
このように、活性化関数が0を境界として特性が変化するので、情報要素100のデータを伝達する経路および重み係数も、対応して、0を境界として動作する2つのグループが設けられている。例えば、情報要素100の第1入力部110から第1出力部130までデータを伝達する全ての経路のそれぞれは、第1グループおよび第2グループのいずれか一方に属する。ここで、入出力特性に活性化関数を有する第1隠れノード120は、2つにグループのそれぞれに属するので、少なくとも2つの第1隠れノード120を情報要素100が有することになる。
この場合、第1グループに属する経路は、第1入力データの値が0以上の場合に、第1隠れノード120の出力を0以上の値にさせ、また、第1入力データおよび第1出力データを一致させる重み係数を有する。図4は、第1経路210が第1グループに属する例を示す。第1隠れノード120は、(数5)式より、入力する値が0以上の場合に、0以上の値を出力し、入力する値が0未満の場合に、0を出力する。ここで、第1経路210の第1隠れノード120に入力する値は、w・xである。したがって、第1入力データの値xが0以上の場合、第1隠れノード120の出力を0以上の値にする重み係数wの条件は、w・x≧0より、w≧0である。
そして、第1入力データの値xが0以上の場合に、第1経路210が恒等写像の特性を有するには、w・w・x=xとなり、w・w=1となる。したがって、wおよびwのいずれか一方は、w≧0の条件において自由な値を設定できることがわかる。即ち、第1グループの重み係数の総数Lのうち、(L−1)個以下の重み係数は、伝達情報に含まれる値であり、残りの1以上の重み係数は、第1入力データおよび第1出力データが一致するように伝達情報に含まれる値から算出される値である。
同様に、第2グループに属する経路は、第1入力データの値が0未満の場合に、第1隠れノード120の出力を0以上の値にさせ、第1入力データおよび前記第1出力データを一致させる重み係数を有する。図4は、第2経路220が第2グループに属する例を示す。第2経路220の第1隠れノード120に入力する値は、w・xである。したがって、第1入力データの値xが0未満の場合、第1隠れノード120の出力を0以上の値にする重み係数wの条件は、w・x≧0より、w<0である。
そして、第1入力データの値xが0未満の場合に、第2経路220が恒等写像の特性を有するには、w・w・x=xとなり、w・w=1となる。したがって、wおよびwのいずれか一方は、w<0の条件において自由な値を設定できることがわかる。即ち、第2グループの重み係数の総数Mのうち、(M−1)個以下の重み係数は、伝達情報に含まれる値であり、残りの1以上の重み係数は、第1入力データおよび第1出力データが一致するように伝達情報に含まれる値から算出される値である。
一例として、図4の4つの重み係数をw=3,w=1/3,w=−2,w=−1/2とすることにより、情報要素100は、恒等写像の性質を有しつつ、伝達情報の値を重み係数として直接埋め込むことができる。この場合、伝達情報の値は、3または1/3と、−2または1/2である。
以上の第1隠れノード120は、(数5)式で示す正規化線形関数φ(x)を用いた例を説明したが、これに限定されることはない。第1隠れノード120は、例えば、正規化線形関数φ’(x)=min(0,x)を用いてもよい。即ち、φ’(x)は、xの値が0以上の場合に値が0となり、xの値が0未満の場合に値がxと同じになる関数である。
この場合においても、データを伝達する経路を2つのグループに分けて、重み係数を定めることができる。例えば、第1経路210の第1隠れノード120が正規化線形関数φ(x)を用い、第2経路220の第1隠れノード120が正規化線形関数φ’(x)を用いる場合、第1経路210を第1グループに、第2経路220を第2グループにする。一例として、図4の4つの重み係数をw=2,w=1/2,w=3,w=1/3とすることにより、恒等写像の性質を有しつつ、伝達情報の値を重み係数として直接埋め込んだ当該情報要素100を実現できる。
以上の活性化関数を用いた情報要素100において、第1グループに属する経路および第2グループに属する経路には、第1隠れノード120がそれぞれ1つ含まれる構成を例として説明したが、これに限定されることはない。第1グループおよび第2グループは、それぞれ複数の第1隠れノード120を含んでよい。
この場合においても、第1グループに属する経路は、第1入力データの値が0以上の場合に、第1隠れノード120の出力を0以上の値にさせ、また、第1入力データおよび第1出力データを一致させる重み係数を有する。また、第2グループに属する経路は、第1入力データの値が0未満の場合に、第1隠れノード120の出力を0以上の値にさせ、第1入力データおよび前記第1出力データを一致させる重み係数を有する。
このような情報要素100の一例を図5に示す。図5は、第1グループに2つの第1隠れノード120が含まれる例を示す。この場合、第1経路210の2つの第1隠れノード120に入力する値は、それぞれw11・x,w12・xである。したがって、第1入力データの値xが0以上の場合、2つの第1隠れノード120の出力を0以上の値にする重み係数w11,w12の条件は、w11≧0,w12≧0である。
そして、第1入力データの値xが0以上の場合に、第1経路210が恒等写像の特性を有するには、w11・w21・x+w12・w22・x=xとなり、w11・w21+w12・w22=1となる。したがって、4つの重み係数w11,w21,w12,およびw22のうちいずれか3つの重み係数は、w11≧0,w12≧0の条件において自由な値を設定できることがわかる。即ち、図5の第1経路210は、L=4とした場合の例であり、(L−1)=3個以下の重み係数は、伝達情報に含まれる値であり、残りの1以上の重み係数は、第1入力データおよび第1出力データが一致するように伝達情報に含まれる値から算出される値である。
以上の活性化関数を用いた情報要素100においても、伝達情報の値に基づく値が埋め込まれてもよい。例えば、重み係数のうち、(L−1)個以下の重み係数の少なくとも1つの重み係数、および、(M−1)個以下の重み係数の少なくとも1つの重み係数は、誤り訂正符号を含んでよい。
以上のように、本実施形態に係る情報要素100は、活性化関数を用いた第1隠れノード120を用いることができる。これにより、情報要素100に含まれる第1隠れノード120は、ニューラルネットワーク10のノード30の動作とより近い動作とすることができる。したがって、第三者が、ニューラルネットワーク10を解析しても、情報要素100の発見をより困難にさせることができる。
以上の本実施形態に係るニューラルネットワーク10は、情報要素100が埋め込まれることにより、より多くの情報を秘匿し、また、秘匿したデータの漏洩を困難にすることができる。このようなニューラルネットワーク10を生成する装置について次に説明する。
<情報付加装置300の構成例>
図6は、本実施形態に係る情報付加装置300の構成例を示す。情報付加装置300は、学習済みまたは学習前のニューラルネットワーク10に情報要素100を埋め込む。情報付加装置300は、第1取得部310と、第2取得部320と、記憶部330と、生成部340と、埋め込み部350と、出力部360とを備える。
第1取得部310は、ニューラルネットワーク10の情報を取得する。第1取得部310は、例えば、外部のデータベース50等から学習済みのニューラルネットワーク10の情報を取得する。第1取得部310は、例えば、ネットワーク60を介して、データベース50等にアクセスする。また、第1取得部310は、情報付加装置300の内部でニューラルネットワーク10を学習した場合、学習済みのニューラルネットワーク10の情報を記憶部330等から取得してもよい。
第2取得部320は、ニューラルネットワーク10の学習とは関連のない伝達情報を取得する。第2取得部320は、例えば、外部のデータベース50等から伝達情報を取得する。また、第2取得部320は、入力デバイス等を介して、ユーザから入力される伝達情報を取得してもよい。伝達情報は、ユーザが伝達したい情報であり、例えば、予め定められたビット数の複数のデータ値を含む。伝達情報は、正負の符号、誤り訂正符号等を含んでもよい。
記憶部330は、第1取得部310が取得したニューラルネットワーク10の情報を記憶する。また、記憶部330は、第2取得部320が取得した伝達情報を記憶する。また、記憶部330は、情報付加装置300の設定値等を記憶してよい。また、記憶部330は、情報付加装置300が動作の過程で生成する(または利用する)中間データ、算出結果、閾値、およびパラメータ等をそれぞれ記憶してもよい。また、記憶部330は、情報付加装置300内の各部の要求に応じて、記憶したデータを要求元に供給してもよい。
生成部340は、伝達情報に基づき、情報要素100を生成する。生成部340は、図2から図4で説明した情報要素100を生成する。生成部340は、例えば、伝達情報のデータ値の数に応じて、第2構成例または第3構成例の情報要素100を生成する。また、生成部340は、複数の情報要素100を生成してもよい。生成部340は、1つまたは複数の情報要素100に含まれる重み係数に、全ての伝達情報のデータ値が埋め込まれるように情報要素100を生成する。
埋め込み部350は、生成部340が生成した情報要素100を、ニューラルネットワーク10のノード間に埋め込む。出力部360は、埋め込み部350が情報要素100を埋め込んだニューラルネットワーク10を出力する。出力部360は、例えば、外部のデータベース50等にニューラルネットワーク10を出力する。
<情報付加装置300の動作フロー>
以上の本実施形態に係る情報付加装置300の動作について次に説明する。図7は、本実施形態に係る情報付加装置300の動作フローの一例を示す。情報付加装置300は、図7のS410からS450の動作を実行することにより、情報要素100を生成して学習済みまたは学習前のニューラルネットワーク10に埋め込む。
まず、S410において、第1取得部310は、ニューラルネットワーク10の情報を取得する。第1取得部310は、例えば、学習モデルのノードの接続およびパラメータ等の情報を取得する。第1取得部310は、一例として、学習済みのニューラルネットワーク10の情報を取得する。記憶部330は、第1取得部310が取得したニューラルネットワーク10の情報を記憶する。
次に、S420において、第2取得部320は、伝達情報を取得する。第2取得部320は、例えば、K個のデータ値を含む伝達情報を取得する。記憶部330は、第2取得部320が取得した伝達情報を記憶する。なお、情報付加装置300は、S410およびS420の動作を、逆の順番に実行してもよい。
次に、S430において、生成部340は、情報要素100を生成する。生成部340は、一例として、K/2個よりも多い数の第1隠れノード120を有する第2構成例の情報要素100を生成する。これに代えて、生成部340は、K個よりも多い数の第1隠れノード120を有する第3構成例の情報要素100を生成する。
ここで、生成部340が、J個の情報要素100を生成する例を説明する。生成部340は、例えば、全ての情報要素100に含まれる重み係数の数Hが、データ値の数KをJ個以上超えるように(H≧K+J)、情報要素100を生成する。この場合、生成部340は、1つの情報要素100に含まれる重み係数の数hが、1つの情報要素100に含めるデータ値の数kを超えるように(h>k)、情報要素100を生成する。生成部340は、h個の重み係数のうち、k個の重み係数の値を、それぞれk個のデータ値の値とする。そして、生成部340は、情報要素100が恒等写像の性質を有するように、残りのh−k個の重み係数の値を算出する。
次に、S440において、埋め込み部350は、ニューラルネットワーク10のノード間に、生成した情報要素100を埋め込む。生成部340が1つの情報要素100を生成した場合、埋め込み部350は、図1に示すように、ニューラルネットワーク10の1つのノード間に当該1つの情報要素100を埋め込む。また、生成部340が複数の情報要素100を生成した場合、埋め込み部350は、ニューラルネットワーク10の複数のノード間に当該複数の情報要素100を埋め込む。
埋め込み部350は、例えば、予め定められた複数のノード間に、予め定められた順番で複数の情報要素100を埋め込む。なお、ニューラルネットワーク10の出力層40により近いノード間を、情報要素100を埋め込むノード間として予め定めることが望ましい。また、ニューラルネットワーク10の出力層40により近いノード間を、より早い順番に予め定めることが望ましい。
次に、S450において、出力部360は、情報要素100を埋め込んだニューラルネットワーク10を外部に出力する。出力部360は、ネットワーク60を介してニューラルネットワーク10を出力する。
以上のように、情報付加装置300は、学習済みまたは学習前の学習モデルに伝達情報を容易に埋め込むことができる。このような情報付加装置300の少なくとも一部は、例えば、コンピュータ等で構成される。この場合、記憶部330は、一例として、当該情報付加装置300を実現するコンピュータ等のBIOS(Basic Input Output System)等を格納するROM(Read Only Memory)、および作業領域となるRAM(Random Access Memory)を含む。また、記憶部330は、OS(Operating System)、アプリケーションプログラム、および/または当該アプリケーションプログラムの実行時に参照されるデータベースを含む種々の情報を格納してよい。即ち、記憶部330は、HDD(Hard Disk Drive)および/またはSSD(Solid State Drive)等の大容量記憶装置を含んでよい。
また、情報付加装置300は、例えば、制御部を含む。制御部は、CPU等のプロセッサであり、記憶部330に記憶されたプログラムを実行することによって、第1取得部310、第2取得部320、生成部340、埋め込み部350、および出力部360として機能する。制御部は、GPU(Graphics Processing Unit)等を含んでもよい。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されず、その要旨の範囲内で種々の変形及び変更が可能である。例えば、装置の分散・統合の具体的な実施の形態は、以上の実施の形態に限られず、その全部又は一部について、任意の単位で機能的又は物理的に分散・統合して構成することができる。また、複数の実施の形態の任意の組み合わせによって生じる新たな実施の形態も、本発明の実施の形態に含まれる。組み合わせによって生じる新たな実施の形態の効果は、もとの実施の形態の効果を合わせ持つ。
10 ニューラルネットワーク
20 入力層
22 入力ノード
30 ノード
40 出力層
42 出力ノード
50 データベース
60 ネットワーク
100 情報要素
110 第1入力部
112 第1入力ノード
120 第1隠れノード
130 第1出力部
132 第1出力ノード
210 第1経路
220 第2経路
300 情報付加装置
310 第1取得部
320 第2取得部
330 記憶部
340 生成部
350 埋め込み部
360 出力部

Claims (10)

  1. ニューラルネットワークであって、
    前記ニューラルネットワークの1または複数のノード間に情報要素を備え、
    前記情報要素は、
    1または複数の第1入力ノードを有する第1入力部と、
    1または複数の第1出力ノードを有する第1出力部と、
    前記第1入力部および前記第1出力部の間に設けられ、入力側および出力側の接続に重み係数が設定される複数の第1隠れノードと
    を有し、
    前記第1入力部が受け取る第1入力データと、前記第1入力データに応じて前記第1出力部が出力する第1出力データとが一致し、
    前記重み係数は、前記ニューラルネットワークの学習とは関連のない伝達情報に基づく値を含む、
    ニューラルネットワーク。
  2. 前記重み係数の総数Nのうち、
    (N−1)個以下の重み係数は、前記伝達情報に含まれる値であり、
    残りの1以上の重み係数は、前記第1入力データおよび前記第1出力データが一致するように前記伝達情報に含まれる値から算出される値である、
    請求項1に記載のニューラルネットワーク。
  3. 前記重み係数のうち、前記(N−1)個以下の重み係数の少なくとも1つの重み係数は、誤り訂正符号を含む、請求項2に記載のニューラルネットワーク。
  4. 少なくとも2つの前記第1隠れノードは、正規化線形関数(Rectified Linear Unit)を活性化関数とした入出力特性を有し、
    前記第1入力部から前記第1出力部までデータを伝達する全ての経路のそれぞれは、第1グループおよび第2グループのいずれか一方に属し、
    前記第1グループに属する経路のうち前記第1入力部から前記第1隠れノードまでの経路は、前記第1入力データの値との積が前記第1隠れノードの入力値となり、前記第1入力データの値が0以上の場合に、前記第1隠れノードの入力値を0以上にして前記第1隠れノードの出力を0以上の値にさせる重み係数を有し
    前記第1グループに属する経路のうち前記第1隠れノードから前記第1出力部までの経路は、前記第1隠れノードの出力値との積が前記第1出力データの値となり、前記第1入力データの値が0以上の場合に、前記第1入力データおよび前記第1出力データを一致させる重み係数を有し、
    前記第2グループに属する経路のうち前記第1入力部から前記第1隠れノードまでの経路は、前記第1入力データの値との積が前記第1隠れノードの入力値となり、前記第1入力データの値が0未満の場合に、前記第1隠れノードの入力値を0以上にして前記第1隠れノードの出力を0以上の値にさせる重み係数を有し
    前記第2グループに属する経路のうち前記第1隠れノードから前記第1出力部までの経路は、前記第1隠れノードの出力値との積が前記第1出力データの値となり、前記第1入力データの値が0未満の場合に、前記第1入力データおよび前記第1出力データを一致させる重み係数を有する、
    請求項1に記載のニューラルネットワーク。
  5. 前記第1グループの前記重み係数の総数Lのうち、
    (L−1)個以下の重み係数は、前記伝達情報に含まれる値であり、
    残りの1以上の重み係数は、前記第1入力データおよび前記第1出力データが一致するように前記伝達情報に含まれる値から算出される値であり、
    前記第2グループの前記重み係数の総数Mのうち、
    (M−1)個以下の重み係数は、前記伝達情報に含まれる値であり、
    残りの1以上の重み係数は、前記第1入力データおよび前記第1出力データが一致するように前記伝達情報に含まれる値から算出される値である、
    請求項4に記載のニューラルネットワーク。
  6. 前記重み係数のうち、前記(L−1)個以下の重み係数の少なくとも1つの重み係数、および、前記(M−1)個以下の重み係数の少なくとも1つの重み係数は、誤り訂正符号を含む、請求項5に記載のニューラルネットワーク。
  7. コンピュータが実行する請求項1から6のいずれか一項に記載のニューラルネットワークの学習方法であって、前記情報要素内の経路の重み係数は更新せずに、前記情報要素には含まれない重み係数を更新することにより、前記ニューラルネットワークを学習する、学習方法。
  8. ニューラルネットワークの情報を取得する第1取得部と、
    前記ニューラルネットワークの学習とは関連のない伝達情報を取得する第2取得部と、
    前記伝達情報に基づき、情報要素を生成する生成部と、
    前記ニューラルネットワークの1または複数のノード間に、生成した情報要素を埋め込む埋め込み部と
    を備え、
    前記情報要素は、
    1または複数の第1入力ノードを有する第1入力部と、
    1または複数の第1出力ノードを有する第1出力部と、
    前記第1入力部および前記第1出力部の間に設けられ、入力側および出力側の接続に重み係数が設定される複数の第1隠れノードと
    を有し、
    前記第1入力部が受け取る第1入力データと、前記第1入力データに応じて前記第1出力部が出力する第1出力データとが一致し、
    前記重み係数は、前記伝達情報に基づく値を含む、
    情報付加装置。
  9. ニューラルネットワークの情報を取得するステップと、
    前記ニューラルネットワークの学習とは関連のない伝達情報を取得するステップと、
    前記伝達情報に基づき、情報要素を生成するステップと、
    前記ニューラルネットワークの1または複数のノード間に、生成した情報要素を埋め込むステップと
    を備え、
    前記情報要素は、
    1または複数の第1入力ノードを有する第1入力部と、
    1または複数の第1出力ノードを有する第1出力部と、
    前記第1入力部および前記第1出力部の間に設けられ、入力側および出力側の接続に重み係数が設定される複数の第1隠れノードと
    を有し、
    前記第1入力部が受け取る第1入力データと、前記第1入力データに応じて前記第1出力部が出力する第1出力データとが一致し、
    前記重み係数は、前記伝達情報に基づく値を含む、
    情報付加方法。
  10. 実行されると、コンピュータを請求項8に記載の情報付加装置として機能させる、プログラム。
JP2018182610A 2018-09-27 2018-09-27 ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラム Active JP6953376B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018182610A JP6953376B2 (ja) 2018-09-27 2018-09-27 ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018182610A JP6953376B2 (ja) 2018-09-27 2018-09-27 ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2020052813A JP2020052813A (ja) 2020-04-02
JP6953376B2 true JP6953376B2 (ja) 2021-10-27

Family

ID=69997296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018182610A Active JP6953376B2 (ja) 2018-09-27 2018-09-27 ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP6953376B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113792339A (zh) * 2021-09-09 2021-12-14 浙江数秦科技有限公司 一种双向隐私保密的神经网络模型共享方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0383158A (ja) * 1989-08-28 1991-04-09 Toshiba Corp ニューラルネット
WO2016043734A1 (en) * 2014-09-17 2016-03-24 Hewlett Packard Enterprise Development Lp Neural network verification
JP6727340B2 (ja) * 2017-01-12 2020-07-22 Kddi株式会社 情報処理装置、方法及びコンピュータ可読記憶媒体

Also Published As

Publication number Publication date
JP2020052813A (ja) 2020-04-02

Similar Documents

Publication Publication Date Title
US11704391B2 (en) Machine learning model with watermarked weights
JP6657137B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP7312906B2 (ja) リソース制約付きニューラルネットワークアーキテクチャ検索
CN108629193B (zh) 一种针对人工神经网络模型的加密保护系统及方法
WO2018179765A1 (ja) 情報処理装置、情報処理方法、及びコンピュータ可読記憶媒体
CN108920981B (zh) 涉及数据迭代加密的神经网络模型加密保护系统及方法
JPWO2018131405A1 (ja) 情報処理装置、方法及びコンピュータ可読記憶媒体
TWI655587B (zh) 神經網路及神經網路訓練的方法
JP7140317B2 (ja) 原本データとマークデータとを合成してマーキング済みデータを生成するデータエンベディングネットワークを学習する方法、及びテストする方法、並びに、それを利用した学習装置
US20200364538A1 (en) Method of performing, by electronic device, convolution operation at certain layer in neural network, and electronic device therefor
CN108665055A (zh) 一种图说生成方法及装置
Kaul et al. FatNet: A feature-attentive network for 3D point cloud processing
JP6741636B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6953376B2 (ja) ニューラルネットワーク、情報付加装置、学習方法、情報付加方法、およびプログラム
JP2019185417A (ja) 情報処理装置、情報処理方法、及びプログラム
TWI758223B (zh) 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體
US11574020B1 (en) Identifying similar content in a multi-item embedding space
JP6926045B2 (ja) ニューラルネットワーク、学習装置、学習方法、およびプログラム
US20240028986A1 (en) Apparatus and method for generation an action validation protocol
CN116050235A (zh) 一种云边环境下工作流数据布局的方法及存储介质
RU2718409C1 (ru) Система восстановления трехмерной структуры образца породы
Shen et al. Coordinated attacks against federated learning: A multi-agent reinforcement learning approach
JP6920263B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN110852348A (zh) 特征图处理方法、图像处理方法及装置
KR102247769B1 (ko) 원본 데이터와 마크 데이터를 합성하여 마킹된 데이터를 생성하는 데이터 임베딩 네트워크를 학습하는 방법 및 테스트하는 방법, 그리고 이를 이용한 학습 장치 및 테스트 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200730

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210906

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210929

R150 Certificate of patent or registration of utility model

Ref document number: 6953376

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150