JP7283566B2 - モデル生成システム、方法およびプログラム - Google Patents

モデル生成システム、方法およびプログラム Download PDF

Info

Publication number
JP7283566B2
JP7283566B2 JP2021553902A JP2021553902A JP7283566B2 JP 7283566 B2 JP7283566 B2 JP 7283566B2 JP 2021553902 A JP2021553902 A JP 2021553902A JP 2021553902 A JP2021553902 A JP 2021553902A JP 7283566 B2 JP7283566 B2 JP 7283566B2
Authority
JP
Japan
Prior art keywords
data
fake
model
false
output value
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
JP2021553902A
Other languages
English (en)
Other versions
JPWO2021084580A1 (ja
JPWO2021084580A5 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2021084580A1 publication Critical patent/JPWO2021084580A1/ja
Publication of JPWO2021084580A5 publication Critical patent/JPWO2021084580A5/ja
Application granted granted Critical
Publication of JP7283566B2 publication Critical patent/JP7283566B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、モデル生成システム、モデル生成方法およびモデル生成プログラムに関し、特に、敵対的生成ネットワークにおけるモデルを生成するモデル生成システム、モデル生成方法およびモデル生成プログラムに関する。
敵対的生成ネットワークでは、与えられたデータが真データか偽データかを識別する識別器と、偽データを生成する生成器とを用いる。そして、敵対的生成ネットワークでは、生成器には、識別器を欺くような偽データを生成するように、生成器のモデルの学習を行わせ、識別器には、識別精度を向上させるように、識別器のモデルの学習を行わせる。
識別器のモデルの学習には、生成器が新たに生成した偽データが用いられる。
敵対的生成ネットワークは、例えば、特許文献1に記載されている。
また、非特許文献1には、敵対的生成ネットワークにおいて、過去に生成した画像を保存することが記載されている。
特開2019-46390号公報
Ashish Shrivastava、外5名、"Learning from Simulated and Unsupervised Images through Adversarial Training"、[2019年8月6日検索]、インターネット <URL : https://arxiv.org/pdf/1612.07828.pdf>
敵対的生成ネットワークには学習が不安定であるという問題がある。ここで、学習が不安定であるとは、必ずしも学習がうまくいくとは限らないことである。
敵対的生成ネットワークにおいて、学習が不安定となる例として、以下に示す例が挙げられる。
生成器は、ある程度、ランダムに偽データを生成する。そのため、生成器が、それまでと全く異なる偽データを生成し始める場合がある。そのような場合に、識別器が、その偽データを真データよりも真データらしいと識別したり、偽データらしさが非常に強い偽データであると識別したりすると、識別器に大きなペナルティが与えられる。その結果、その偽データに特化して識別精度が高くなるモデルが学習されてしまう。
そこで、本発明は、敵対的生成ネットワークにおける各モデルを良好に生成することができる(換言すれば、安定的に生成することができる)モデル生成システム、モデル生成方法およびモデル生成プログラムを提供することを目的とする。
本発明によるモデル生成システムは、保存しておくべき偽データを記憶する保存データ記憶部と、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、偽データ毎に計算された重み毎の勾配情報に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させる選択部とを備えることを特徴とする。
本発明によるモデル生成システムは、保存しておくべき偽データを記憶する保存データ記憶部と、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、偽データ毎に計算された距離に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させる選択部とを備えることを特徴とする。
本発明によるモデル生成方法は、コンピュータが、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、識別モデルが有する重み毎の更新量である勾配情報を算出し、偽データ毎に計算された重み毎の勾配情報に基づいて、第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させることを特徴とする。
本発明によるモデル生成方法は、コンピュータが、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、偽データ毎に計算された距離に基づいて、第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させることを特徴とする。
本発明によるモデル生成プログラムは、コンピュータを、保存しておくべき偽データを記憶する保存データ記憶部と、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、偽データ毎に計算された重み毎の勾配情報に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させる選択部とを備えるモデル生成システムとして機能させることを特徴とする。
本発明によるモデル生成プログラムは、コンピュータを、保存しておくべき偽データを記憶する保存データ記憶部と、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、偽データ毎に計算された距離に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させる選択部とを備えるモデル生成システムとして機能させることを特徴とする。
本発明によれば、敵対的生成ネットワークにおける各モデルを良好に生成することができる。
本発明の実施形態のモデル生成システムの例を示すブロック図である。 ディープニューラルネットワークである生成モデルおよび識別モデルの例を示す模式図である。 本発明の実施形態の処理経過の例を示すフローチャートである。 本発明の実施形態の処理経過の例を示すフローチャートである。 本発明の実施形態の処理経過の例を示すフローチャートである。 本発明の実施形態の処理経過の例を示すフローチャートである。 本発明の実施形態のモデル生成システムに係るコンピュータの構成例を示す概略ブロック図である。 本発明のモデル生成システムの概要を示すブロック図である。 本発明のモデル生成システムの概要の他の例を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。
図1は、本発明の実施形態のモデル生成システムの例を示すブロック図である。本実施形態のモデル生成システム1は、真データ入力部2と、真データ記憶部3と、保存データ記憶部4と、シード入力部5と、データ生成部6と、識別部7と、勾配情報算出部8と、選択部9と、識別モデル更新部10と、生成モデル更新部11とを備える。
以下の説明において、真データとは、予め真データとして定められたデータである。
真データ入力部2は、外部から複数個の真データの入力を受け付け、その複数個の真データを真データ記憶部3に記憶させる。
真データ記憶部3は、複数個の真データを記憶する記憶装置である。
外部から入力され真データ記憶部3に記憶された複数個の真データは、固定的に定められ、モデル生成システム1の処理の経過中に入れ替えられることはない。ただし、モデル生成システム1が処理を最初からやり直す場合には、真データ記憶部3が記憶する複数個の真データが入れ替えられてもよい。
保存データ記憶部4は、保存しておくべき偽データを記憶する記憶装置である。保存しておくべき偽データとは、データ生成部6によって生成された偽データのうち、選択部9によって選択された偽データである。保存データ記憶部4は、複数個の偽データを記憶する。保存データ記憶部4に真データが記憶されることはない。
真データおよび偽データは、例えば、画像データであってもよい。この場合、真データ記憶部3は、真データとして定められた画像データを記憶する。また、データ生成部6は、偽データに該当する画像データを生成する。
また、真データおよび偽データは、例えば、音声データであってもよい。この場合、真データ記憶部3は、真データとして定められた音声データを記憶する。また、データ生成部6は、偽データに該当する音声データを生成する。
なお、画像データや音声データは、真データおよび偽データの例であり、真データおよび偽データは、他の形式のデータであってもよい。
データ生成部6は、シードを用いて、生成モデルに基づいて、偽データを生成する。生成モデルは、偽データを生成するためのモデルである。データ生成部6は、生成モデルを有する。
シード入力部5は、データ生成部6にシードを入力する。シードとは、偽データを生成する際に生成モデルへの入力となるデータである。シードは、例えば、乱数の配列で表される。
識別部7は、真データであるか偽データであるかの識別対象となるデータが与えられ、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出する。識別部7は、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するための識別モデルに基づいて、出力値を導出する。識別部7は、与えられたデータを識別モデルへの入力として出力値を導出すればよい。識別部7は、識別モデルを有する。
ここでは、与えられたデータの真データらしさが高いほど(与えられたデータが真データである可能性が高いほど)、出力値が1に近い値となり、与えられたデータの偽データらしさが高いほど(与えられたデータが偽データである可能性が高いほど)、出力値が0に近い値となる場合を例にする。この場合、出力値の取り得る範囲は0~1となる。ただし、出力値の取り得る範囲として、0~1ではなく、他の数値範囲が定められていてもよい。
また、識別部7は、与えられたデータ(識別対象となるデータ)に対する出力値を導出するだけでなく、与えられたデータが真データか偽データであるかを識別する。識別部7は、与えられたデータを識別モデルへの入力として、与えられたデータが真データか偽データであるかを識別すればよい。
本実施形態では、生成モデルが、偽データを生成するためのニューラルネットワークであり、識別モデルが、出力値を導出するためのニューラルネットワークである場合を例にして説明する。より具体的には、生成モデルが、偽データを生成するためのディープニューラルネットワークであり、識別モデルが、出力値を導出するためのディープニューラルネットワークである場合を例にして説明する。
図2は、ディープニューラルネットワークである生成モデルおよび識別モデルの例を示す模式図である。以下、ディープニューラルネットワークを、DNNと記す。
DNNは、複数の層を有し、各層には1つ以上のノードが含まれている(図2参照)。図2では、層を角丸四角形で表し、ノードを円で表している。
DNN内の個々のノードにはそれぞれ重みが定められる。すなわち、DNNは、ノード毎に重みを有する。
生成モデルとなるDNNにおける層やノードの構成と、識別モデルとなるDNNにおける層やノードの構成とは、異なっていてよい。層やノードの構成とは、例えば、層の数や、層に含まれるノードの数等である。
データ生成部6は、偽データを生成する際に、複数個の偽データを生成する。この偽データの個数を第1の個数と記し、第1の個数をy’個と表すこととする。第1の個数は、複数個である。
データ生成部6が第1の個数(y’個)の偽データを生成した場合、モデル生成システム1は、識別モデルおよび生成モデルを更新するための動作と、保存データ記憶部4に記憶させる偽データを第1の個数(y’個)の偽データの中から選択する動作とを並行に行う。
勾配情報算出部8は、真データに対する出力値と偽データに対する出力値の距離を算出する。真データに対する出力値は、識別部7が真データを識別モデルに適用して導出する出力値である。偽データに対する出力値は、識別部7が偽データを識別モデルに適用して導出する出力値である
真データに対する出力値の数と、偽データに対する出力値の数がそれぞれ1つならば、勾配情報算出部8は、その2つの出力値の差の絶対値を、距離としてもよい。
真データに対する出力値の数と、偽データに対する出力値の数がそれぞれ複数ならば、勾配情報算出部8は、真データに対する出力値の平均値と、偽データに対する出力値の平均値との差の絶対値を距離としてもよい。
上記の距離の算出方法は例示であり、真データに対する出力値と偽データに対する出力値の距離の算出方法は、上記の例に限定されない。
勾配情報算出部8は、距離を算出した後、その距離を所定量増大させるように識別モデルが有する重み毎に勾配情報を算出する。勾配情報は、DNNの重みを更新することによってDNNを更新する場合における重み毎の更新量(変化量)である。勾配情報は、DNN内の重み毎(換言すれば、ノード毎)に算出される。
勾配情報算出部8は、距離を所定量増大させるように識別モデルが有する重み毎に勾配情報を算出する動作を、識別モデルおよび生成モデルを更新するための動作と、保存データ記憶部4に記憶させる偽データをy’個の偽データの中から選択する動作のそれぞれにおいて実行する。
識別モデルおよび生成モデルを更新するための動作では、識別モデルが有する重み毎に勾配情報が算出された後に、識別モデル更新部10が、識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、識別モデルを更新する。
保存データ記憶部4に記憶させる偽データをy’個の偽データの中から選択する動作では、勾配情報算出部8は、1つの真データとy’個の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値の距離を算出し、距離を所定量増大させるように識別モデルが有する重み毎に勾配情報を算出する動作を実行する。この結果、y’個の偽データ毎に、識別モデルが有する重み毎の勾配情報が得られる。選択部9は、y’個の偽データ毎に算出された、識別モデルが有する重み毎の勾配情報に基づいて、y’個(第1の個数)の偽データの中から保存データ記憶部4に記憶させる偽データを選択する。そして、選択部9は、選択した偽データを保存データ記憶部4に記憶させる。
例えば、勾配情報算出部8が、y’個の偽データ毎に、識別モデルが有する重み毎の勾配情報の絶対値の平均値を算出してもよい。そして、選択部9は、y’個の偽データ毎に算出されたその平均値に基づいて、y’個(第1の個数)の偽データの中から保存データ記憶部4に記憶させる偽データを選択してもよい。
また、識別モデルおよび生成モデルを更新するための動作の過程においても、データ生成部6は、複数個の偽データを生成する。この偽データの個数を第2の個数と記し、第2の個数をz’個と表すこととする。第2の個数は、複数個である。この場合、勾配情報算出部8は、真データに対する出力値と偽データに対する出力値の距離を算出し、その距離を所定量減少させるように生成モデルが有する重み毎(換言すれば、ノード毎)に勾配情報を算出する。そして、生成モデル更新部11が、生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、生成モデルを更新する。
真データ入力部2は、例えば、モデル生成プログラムに従って動作するコンピュータのCPU(Central Processing Unit )、および、入力デバイスによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からモデル生成プログラムを読み込み、そのモデル生成プログラムに従って、入力デバイスを用いて、真データ入力部2として動作すればよい。この入力デバイスは、例えば、記録媒体に記録された複数の真データを読み込むデータ読み込み装置等であってもよい。また、シード入力部5、データ生成部6、識別部7、勾配情報算出部8、選択部9、識別モデル更新部10および生成モデル更新部11は、例えば、モデル生成プログラムに従って動作するCPUによって実現される。例えば、CPUが上記のようにプログラム記録媒体からモデル生成プログラムを読み込み、そのモデル生成プログラムに従って、シード入力部5、データ生成部6、識別部7、勾配情報算出部8、選択部9、識別モデル更新部10および生成モデル更新部11として動作すればよい。真データ記憶部3および保存データ記憶部4は、例えば、コンピュータが備える記憶装置によって実現される。
次に、本発明の実施形態の処理経過について説明する。図3から図6までは、本発明の実施形態の処理経過の例を示すフローチャートである。なお、データ生成部6が有する生成モデル(DNN)の構成、および、識別部7が有する識別モデル(DNN)の構成は、予め定められているとする。DNNの構成は、例えば、層の数や、個々の層に含まれているノードの数等である。
また、保存データ記憶部4には、ある一定個数以上の偽データが既に記憶されているものとする。保存データ記憶部4に記憶されている偽データの数が上記の一定個数に達していない場合(すなわち、保存データ記憶部4に記憶されている偽データの数が十分でない場合)の動作については、後述する。
まず、データ生成部6が、生成モデルが有する各重みの値を初期化する(ステップS1)。データ生成部6は、例えば、生成モデルの各重みの値をランダムに定めることによって、重みの値を初期化してもよい。あるいは、データ生成部6は、他の方法で、各重みの値を初期化してもよい。
次に、識別部7が、識別モデルが有する各重みの値を初期化する(ステップS2)。識別部7は、例えば、識別モデルの各重みの値をランダムに定めることによって、重みの値を初期化してもよい。あるいは、識別部7は、他の方法で、各重みの値を初期化してもよい。
次に、真データ入力部2が、外部から複数個の真データの入力を受け付け、その複数個の真データを真データ記憶部3に記憶させる(ステップS3)。ステップS3の後、真データ記憶部3が記憶する複数個の真データが入れ替えられることはない。
次に、シード入力部5がデータ生成部6にシードを入力し、データ生成部6が、そのシードを生成モデルの入力として、第1の個数(y’個)の偽データを生成する(ステップS4)。
ステップS4の後、モデル生成システム1は、識別モデルおよび生成モデルを更新するための動作と、保存データ記憶部4に記憶させる偽データを第1の個数(y’個)の偽データの中から選択する動作とを並行に行う。
まず、保存データ記憶部4に記憶させる偽データを第1の個数(y’個)の偽データの中から選択する動作を、図4を参照して説明する。識別モデルおよび生成モデルを更新するための動作については、図5および図6を用いて後述する。
ステップS4の後、識別部7は、真データ入力部2に記憶されている複数個の真データの中から1つの真データを選択する。このとき、識別部7は、例えば、ランダムに1つの真データを選択してよい。そして、識別部7は、その1つの真データ、および、ステップS4で生成されたy’個の偽データそれぞれに対する出力値を、識別モデルに基づいて導出する(ステップS5、図4参照。)。
次に、勾配情報算出部8が、選択された1つの真データと、y’個の偽データそれぞれとの組合せ毎に、選択された真データに対する出力値と偽データに対する出力値との距離を算出する(ステップS6)。ステップS6において、勾配情報算出部8は、真データと偽データとの組合せ毎に、真データに対する出力値と偽データに対する出力値と差の絶対値を、距離として算出してもよい。ただし、ステップS6における距離の算出方法は、この例に限定されない。
ステップS6の結果、y’個の偽データそれぞれに関して、距離が得られることになる。
ステップS6の次に、勾配情報算出部8は、y’個の偽データ毎に、距離を所定量増大させるように、識別モデルが有する重み毎に勾配情報を算出する(ステップS7)。
ステップS7での勾配情報の計算では、重みを変数とする距離関数を用いる。以下に示す式(1)は、距離関数の例である。
Figure 0007283566000001
式(1)において、ytrueは真データであり、yfakeは偽データである。wは、重みである。D(ytrue;w)は、重みwのもとでの真データに対する出力値であり、D(yfake;w)は、重みwのもとでの偽データに対する出力値である。Ntrueは、距離の算出に用いた真データの数であり、Nfakeは、距離の算出に用いた偽データの数である。1つの真データに対する出力値と1つの偽データに対する出力値との距離を算出する場合には、Ntrue=1,Nfake=1である。
ある重みwに着目した場合、その重みの更新後の値をwn+1とする。この場合、その重みの勾配情報(▽wと記す。)は、式(1)に例示する距離関数を用いて、式(2)のように表される。
▽w=wn+1-w=-η▽E(w) ・・・(2)
ここで、dE(w)/dw=-ηであり、ηは固定値である。ηは、学習率(learning rate)と呼ばれる。
勾配情報算出部8は、ステップS7において、式(2)を用いて、識別モデルが有する各重みの勾配情報を算出すればよい。
このような勾配情報の計算は、誤差逆伝搬法による計算であるということができる。
勾配情報算出部8は、後述のステップS13で識別モデルの各重みの勾配情報を算出する場合や、後述のステップS18で生成モデルの各重みの勾配情報を算出する場合にも、上記のような誤差逆伝搬法によって勾配情報を算出すればよい。
ステップS7の結果、偽データ毎に、識別モデルの各重みそれぞれの勾配情報が得られる。ステップS7の次に、勾配情報算出部8が、y’個の偽データ毎に、重み毎の勾配情報の絶対値の平均値を算出する(ステップS8)。勾配情報の絶対値の平均値は、式(3)の計算によって求めることができる。
Σ|▽w|/N ・・・(3)
式(3)において、Nは、識別モデルが有する重みの個数である。
次に、選択部9が、y’個の偽データ毎に算出された勾配情報の絶対値の平均値に基づいて、y’個の偽データの中から偽データを選択する(ステップS9)。ステップS9で選択される偽データの数は複数であってよい。
ここでは、ステップS8で、勾配情報算出部8が、偽データ毎に勾配情報の絶対値の平均値を算出し、ステップS9で、選択部9が、勾配情報の絶対値の平均値に基づいて、偽データを選択する場合を例にして説明した。勾配情報の絶対値の平均値は、勾配情報の絶対値の大きさの指標の一例である。ステップS8では、勾配情報算出部8が、偽データ毎に、そのような指標を算出すればよく、ステップS9では、選択部9が、そのような指標に基づいて偽データを選択すればよい。勾配情報の絶対値の大きさの指標の他の例として、例えば、勾配情報の絶対値の総和等が挙げられる。
ステップS9では、勾配情報の絶対値の大きさの指標が大きい偽データを選択すればよい。本実施形態では、例えば、選択部9は、y’個の偽データの中から、勾配情報の絶対値の平均値が大きい順に、y’個の10%に相当する個数の偽データを選択してもよい。また、例えば、選択部9は、y’個の偽データの中から、勾配情報の絶対値の平均値が大きい順に、保存データ記憶部4に記憶されている偽データの個数の1/9に相当する個数の偽データを選択してもよい。ただし、上記の“10%”、“1/9”は例示であり、これらの割合に限定されるわけではない。
次に、選択部9は、ステップS9で選択した偽データを保存データ記憶部4に記憶させる(ステップS10)。
モデル生成システム1は、ステップS4(図3参照)を実行する毎に、ステップS5~S10(図4参照)を実行する。
次に、識別モデルおよび生成モデルを更新するための動作については、図5および図6を参照して説明する。
ステップS4(図3参照)の後、識別部7が、真データ記憶部3に記憶されている真データの部分集合に該当する複数個(x個とする。)の真データ、保存データ記憶部4に記憶されている偽データの部分集合に該当する複数個(y個とする。)の偽データ、および、ステップS4で生成されたy’個の偽データの部分集合に該当する複数個(y’’個とする。)の偽データのそれぞれに対する出力値を、識別モデルに基づいて導出する(ステップS11)。
なお、xおよびy+y’’は近い値であることが好ましいが、必ずしも、x=y+y’’である必要はない。
次に、勾配情報算出部8が、x個の真データに対する出力値と、y+y’’個の偽データに対する出力値との距離を算出する(ステップS12)。
例えば、勾配情報算出部8が、x個の真データに対する各出力値の平均値と、y+y’’個の偽データに対する各出力値の平均値との差の絶対値を、距離として算出すればよい。ただし、ステップS12における距離の算出方法は、上記の例に限定されない。
次に、勾配情報算出部8が、ステップS12で算出した距離を所定量増大させるように、識別モデルが有する重み毎に勾配情報を算出する(ステップS13)。勾配情報算出部8は、例えば、誤差逆伝搬法によって勾配情報を算出すればよい。
次に、識別モデル更新部10が、識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、識別モデルを更新する(ステップS14)。勾配情報は重みの更新量(変化量)であるので、識別モデル更新部10は、重みに対して、その重みに応じた勾配情報を加算すればよい。
次に、シード入力部5がデータ生成部6にシードを入力し、データ生成部6が、そのシードを生成モデルの入力として、第2の個数(z’個)の偽データを生成する(ステップS15)。
次に、識別部7が、真データ記憶部3に記憶されている真データの部分集合に該当する複数個(x’個とする。)の真データ、および、ステップS15で生成されたz’個の偽データの部分集合に該当する複数個(z’’個とする。)の偽データのそれぞれに対する出力値を、識別モデルに基づいて導出する(ステップS16、図6参照)。
なお、x’およびz’’は近い値であることが好ましいが、必ずしも、x’=z’’である必要はない。
次に、勾配情報算出部8が、x’個の真データに対する出力値と、z’’個の偽データに対する出力値との距離を算出する(ステップS17)。
例えば、勾配情報算出部8が、x’個の真データに対する各出力値の平均値と、z’’個の偽データに対する各出力値の平均値との差の絶対値を、距離として算出すればよい。ただし、ステップS17における距離の算出方法は、上記の例に限定されない。
次に、勾配情報算出部8が、ステップS17で算出した距離を所定量減少させるように、生成モデルが有する重み毎に勾配情報を算出する(ステップS18)。勾配情報算出部8は、例えば、誤差逆伝搬法によって勾配情報を算出すればよい。
ステップS4から後述のステップS20までの動作は、繰り返し処理となっている。ステップS18の後、例えば、データ生成部6は、このステップS4からの処理を繰り返すか否かを判定する(ステップS19)。
例えば、ステップS4およびステップS11~S20(図3、図5、図6を参照)の処理の繰り返し数が予め定められた閾値に達していなければ、ステップS4からの処理を繰り返すと判定し、その繰り返し数が閾値に達しているならば、ステップS4からの処理を繰り返さないと判定してもよい。ただし、ステップS19の判定の基準は上記の例に限定されない。例えば、ステップS12で算出された距離が閾値以上であるならば、ステップS4からの処理を繰り返すと判定し、その距離が閾値未満であるならば、ステップS4からの処理を繰り返さないと判定してもよい。
また、本例では、データ生成部6がステップS19の判定を行う場合を例にして説明したが、ステップS19の判定は、データ生成部6以外の要素が行ってもよい。
ステップS4からの処理を繰り返すと判定された場合(ステップS19のYes)、生成モデル更新部11が、生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、生成モデルを更新する(ステップS20)。勾配情報は重みの更新量(変化量)であるので、生成モデル更新部11は、重みに対して、その重みに応じた勾配情報を加算すればよい。
ステップS20の後、ステップS4(図3参照)に移行する。シード入力部5およびデータ生成部6が再度ステップS4を実行した場合、モデル生成システム1は、モデル生成システム1は、識別モデルおよび生成モデルを更新するための動作(ステップS11以降の動作)と、保存データ記憶部4に記憶させる偽データを第1の個数(y’個)の偽データの中から選択する動作(ステップS5~S10の動作)を並行に行う。
ステップS4からの処理を繰り返さないと判定された場合(ステップS19のNo)、識別部7が識別モデルを提供し、データ生成部6が生成モデルを提供する(ステップS21)。例えば、識別部7が識別モデルを外部の記憶装置(図示略)に記憶させ、データ生成部6も生成モデルを外部の記憶装置に記憶させる。この結果、モデル生成システム1の外部においても、識別モデルや生成モデルを利用可能となる。
以上の説明では、保存データ記憶部4に、ある一定個数以上の偽データが既に記憶されている場合を説明した。次に、保存データ記憶部4に記憶されている偽データの数が上記の一定個数に達していない場合(すなわち、保存データ記憶部4に記憶されている偽データの数が十分でない場合)について説明する。なお、既に説明した動作については、詳細な説明を省略する。この場合、モデル生成システム1は、ステップS1~S4を実行する。そして、ステップS4の終了時に、保存データ記憶部4に記憶されている偽データの数が一定個数に達していないとする。この場合、保存データ記憶部4に記憶されている偽データの数が一定個数に達するまで、モデル生成システム1は、ステップS4~S10の動作を繰り返す。ただし、このとき、モデル生成システム1は、ステップS4を実行しても、ステップS11以降の処理は実行しない。ステップS4~S10の動作を繰り返すことで、ステップS10毎に、保存データ記憶部4に偽データが追加されていくので、保存データ記憶部4に記憶される偽データの数が増加し、一定個数に達することになる。
保存データ記憶部4に記憶されている偽データの数が一定個数に達した後には、モデル生成システム1は、ステップS4の実行後に、ステップS11以降の動作と、ステップS5~S10の動作とを並行に行う。
また、保存データ記憶部4に記憶できる偽データの個数の上限値が定められていてもよい。そして、保存データ記憶部4に記憶された偽データの個数が上限値に達している場合、選択部9は、選択した偽データを保存データ記憶部4に記憶させるときに(ステップS10)、その選択した偽データと同数の偽データを、保存データ記憶部4から消去すればよい。そのような動作によって、保存データ記憶部4に記憶された偽データの個数が上限値に達した後、選択部9が、選択した偽データを保存データ記憶部4に記憶させるとしても、保存データ記憶部4に記憶される偽データの個数は、上限値に保たれる。選択部9は、保存データ記憶部4から消去する偽データをランダムに決定してもよい。あるいは、選択部9は、保存データ記憶部4から消去する偽データを、他の方法で決定してもよい。
本実施形態によれば、ステップS4で生成されたy’個の偽データの全てが保存データ記憶部4に記憶されるのではなく、例えば、勾配情報算出部8が、偽データ毎に、勾配情報の絶対値の平均値を算出し、選択部9が、偽データ毎に算出された勾配情報の絶対値の平均値に基づいて、y’個の偽データの中から偽データを選択し、選択した偽データを保存データ記憶部4に記憶させる。そして、保存データ記憶部4に記憶された偽データは、識別モデルの更新の際に用いられる。従って、識別モデルの識別精度が、極端に識別が容易なまたは困難な偽データに関してだけ特化して高くなってしまうような、好ましくない偽データが保存データ記憶部4に記憶されることが防止され、そのような好ましくない偽データが識別モデルの更新に用いられることが防止される。
その結果、本実施形態によれば、識別モデルおよび生成モデルを良好に(換言すれば、安定的に)生成することができる。また、データ生成部6および識別部7は、敵対的生成ネットワークにおける生成器および識別器に相当すると言える。従って、本実施形態によれば、敵対的生成ネットワークにおける識別モデルおよび生成モデルを良好に(換言すれば、安定的に)生成することができる。
さらに、本実施形態によれば、ステップS4およびステップS11~S20の処理(図3、図5、図6を参照)が繰り返し実行される。そして、この繰り返し処理には、識別モデルを更新する過程(ステップS11~S14)も含まれ、この識別モデルを更新する過程では、偽データとして、ステップS4で新たに生成された偽データだけでなく、保存データ記憶部4に記憶されている偽データも用いられる。具体的には、識別モデルを更新する過程(ステップS11~S14)では、偽データとして、保存データ記憶部4に記憶されている偽データの部分集合に該当する複数個(y個)の偽データ、および、ステップS4で生成されたy’個の偽データの部分集合に該当する複数個(y’’個)の偽データを用いる(図5に示すステップS11を参照)。
すなわち、識別モデルを更新する過程(ステップS11~S14)も繰り返し実行されるが、このとき、過去のステップS11~S14において用いられた偽データ(保存データ記憶部4に記憶されている偽データ)も、再度、用いられる。従って、例えば、データ生成部6が、識別モデルの識別精度が、直近のステップS4で生成された偽データに特化して高くなるようなことが防止される。
よって、本実施形態によれば、識別モデルおよび生成モデルを良好に(換言すれば、安定的に)生成することができるという効果をより高めることができる。
次に、本発明の実施形態の変形例を説明する。
上記の実施形態では、y’個(第1の個数)の偽データの中から、偽データを選択する場合に、勾配情報算出部8が、偽データ毎に、勾配情報の絶対値の大きさの指標(例えば、勾配情報の絶対値の平均値)を算出し、選択部9が、偽データ毎に算出されたその指標に基づいて、y’個のデータの中から偽データを選択する場合を説明した。
ステップS6において、選択された1つの真データと、y’個の偽データそれぞれとの組合せ毎に(換言すれば、y’個の偽データ毎に)算出される距離(選択された真データに対する出力値と偽データに対する出力値との距離)を、勾配情報の絶対値の大きさの指標として扱ってもよい。すなわち、勾配情報の絶対値の大きさの指標(例えば、勾配情報の絶対値の平均値)の代わりに、偽データ毎に算出された距離(選択された真データに対する出力値と偽データに対する出力値との距離)を用いてもよい。例えば、選択部9は、偽データ毎に算出された距離が大きい偽データを選択すればよい。選択部9は、例えば、y’個の偽データの中から、距離が大きい順に、y’個の10%に相当する個数の偽データを選択してもよい。ただし、上記の10%は例示であり、この割合に限定されるわけではない。
本変形例においては、ステップS6を実行するときの勾配情報算出部8は、距離算出部と称することができる。そして、ステップS6の後、ステップS9に移行し、ステップS9において、選択部9は、偽データ毎に算出された距離に基づいて、偽データを選択すればよい。
他の点は、上記の実施形態と同様である。
図7は、本発明の実施形態のモデル生成システム1に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、入力デバイス1005とを備える。
本発明の実施形態のモデル生成システム1は、コンピュータ1000によって実現される。モデル生成システム1の動作は、プログラム(モデル生成プログラム)の形式で、補助記憶装置1003に記憶されている。CPU1001は、プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのプログラムに従って、上記の実施形態で説明した処理を実行する。この場合、真データ入力部2は、CPU1001および入力デバイス1005によって実現される。シード入力部5、データ生成部6、識別部7、勾配情報算出部8、選択部9、識別モデル更新部10および生成モデル更新部11は、CPU1001によって実現される。真データ記憶部3および保存データ記憶部4は、例えば、補助記憶装置1003によって実現されてもよく、あるいは、他の記憶装置によって実現されてもよい。
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って上記の実施形態で説明した処理を実行してもよい。
また、各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組合せによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組合せによって実現されてもよい。
各構成要素の一部または全部が複数の情報処理装置や回路等により実現される場合には、複数の情報処理装置や回路等は集中配置されてもよいし、分散配置されてもよい。例えば、情報処理装置や回路等は、クライアントアンドサーバシステム、クラウドコンピューティングシステム等、各々が通信ネットワークを介して接続される形態として実現されてもよい。
次に、本発明の概要について説明する。図8は、本発明のモデル生成システムの概要を示すブロック図である。本発明のモデル生成システムは、保存データ記憶部4と、データ生成部6と、識別部7と、勾配情報算出部8と、選択部9とを備える。
保存データ記憶部4は、保存しておくべき偽データを記憶する。
データ生成部6は、偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数(例えば、y’個)の偽データを生成する。
識別部7は、与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する。
勾配情報算出部8は、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、識別モデルが有する重み毎の更新量である勾配情報を算出する。
選択部9は、偽データ毎に計算された重み毎の勾配情報に基づいて、第1の個数の偽データの中から保存データ記憶部4に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部4に記憶させる。
そのような構成により、敵対的生成ネットワークにおける識別モデルおよび生成モデルを良好に生成することができる。
図9は、本発明のモデル生成システムの概要の他の例を示すブロック図である。本発明のモデル生成システムは、保存データ記憶部4と、データ生成部6と、識別部7と、距離算出部18と、選択部9とを備えていてもよい。
図9に示す保存データ記憶部4、データ生成部6および識別部7は、図8に示す保存データ記憶部4、データ生成部6および識別部7と同様であり、説明を省略する。
距離算出部18(例えば、前述の実施形態の変形例において、ステップS6を実行するときの勾配情報算出部8)は、1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する。
選択部9は、偽データ毎に計算された距離に基づいて、第1の個数の偽データの中から保存データ記憶部4に記憶させるべき偽データを選択し、選択した偽データを保存データ記憶部に記憶させる。
そのような構成においても、敵対的生成ネットワークにおける識別モデルおよび生成モデルを良好に生成することができる。
上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
保存しておくべき偽データを記憶する保存データ記憶部と、
偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、
偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
ことを特徴とするモデル生成システム。
(付記2)
識別モデルを更新する識別モデル更新部と、
生成モデルを更新する生成モデル更新部とを備え、
識別部は、
予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
勾配情報算出部は、
前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出し、
前記識別モデル更新部は、
前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
データ生成部は、
第2の個数の偽データを生成し、
前記識別部は、
予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
前記勾配情報算出部は、
前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
前記生成モデル更新部は、
前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
付記1に記載のモデル生成システム。
(付記3)
勾配情報算出部は、
1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように識別モデルの重み毎の勾配情報を算出し、重み毎の勾配情報の絶対値の平均値を計算し、
選択部は、
偽データ毎に計算された前記平均値に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択する
付記1または付記2に記載のモデル生成システム。
(付記4)
保存しておくべき偽データを記憶する保存データ記憶部と、
偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、
偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
ことを特徴とするモデル生成システム。
(付記5)
識別モデルを更新する識別モデル更新部と、
生成モデルを更新する生成モデル更新部とを備え、
識別部は、
予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出する勾配情報算出部を備え、
前記識別モデル更新部は、
前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
データ生成部は、
第2の個数の偽データを生成し、
前記識別部は、
予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
前記勾配情報算出部は、
前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
前記生成モデル更新部は、
前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
付記4に記載のモデル生成システム。
(付記6)
選択部は、
保存データ記憶部に記憶されている偽データの数が所定数に達しているならば、選択した偽データを前記保存データ記憶部に記憶させるときに、前記選択した偽データと同数の偽データを前記保存データ記憶部から消去する
付記1から付記5のうちのいずれかに記載のモデル生成システム。
(付記7)
識別モデルおよび生成モデルは、ディープニューラルネットワークである
付記1から付記6のうちのいずれかに記載のモデル生成システム。
(付記8)
真データおよび偽データは、画像データまたは音声データである
付記1から付記7のうちのいずれかに記載のモデル生成システム。
(付記9)
コンピュータが、
偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、
与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、
1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出し、
偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる
ことを特徴とするモデル生成方法。
(付記10)
コンピュータが、
偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、
与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、
1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、
偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる
ことを特徴とするモデル生成方法。
(付記11)
コンピュータが、
予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように識別モデルの重み毎の勾配情報を算出し、
前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
第2の個数の偽データを生成し、
予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように生成モデルの重み毎の勾配情報を算出し、
前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
付記9または付記10に記載のモデル生成方法。
(付記12)
コンピュータを、
保存しておくべき偽データを記憶する保存データ記憶部と、
偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、
偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
モデル生成システムとして機能させるためのモデル生成プログラム。
(付記13)
コンピュータを、
識別モデルを更新する識別モデル更新部と、
生成モデルを更新する生成モデル更新部とを備え、
識別部は、
予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
勾配情報算出部は、
前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出し、
前記識別モデル更新部は、
前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
データ生成部は、
第2の個数の偽データを生成し、
前記識別部は、
予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
前記勾配情報算出部は、
前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
前記生成モデル更新部は、
前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
モデル生成システムとして機能させるための付記12に記載のモデル生成プログラム。
(付記14)
コンピュータを、
保存しておくべき偽データを記憶する保存データ記憶部と、
偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、
偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
モデル生成システムとして機能させるためのモデル生成プログラム。
(付記15)
コンピュータを、
識別モデルを更新する識別モデル更新部と、
生成モデルを更新する生成モデル更新部とを備え、
識別部は、
予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出する勾配情報算出部を備え、
前記識別モデル更新部は、
前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
データ生成部は、
第2の個数の偽データを生成し、
前記識別部は、
予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
前記勾配情報算出部は、
前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
前記生成モデル更新部は、
前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
モデル生成システムとして機能させるための付記14に記載のモデル生成プログラム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
本発明は、敵対的生成ネットワークにおけるモデルを生成するモデル生成システムに好適に適用される。
1 モデル生成システム
2 真データ入力部
3 真データ記憶部
4 保存データ記憶部
5 シード入力部
6 データ生成部
7 識別部
8 勾配情報算出部
9 選択部
10 識別モデル更新部
11 生成モデル更新部

Claims (10)

  1. 保存しておくべき偽データを記憶する保存データ記憶部と、
    偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
    与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
    1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、
    偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
    ことを特徴とするモデル生成システム。
  2. 識別モデルを更新する識別モデル更新部と、
    生成モデルを更新する生成モデル更新部とを備え、
    識別部は、
    予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
    勾配情報算出部は、
    前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出し、
    前記識別モデル更新部は、
    前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
    データ生成部は、
    第2の個数の偽データを生成し、
    前記識別部は、
    予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
    前記勾配情報算出部は、
    前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
    前記生成モデル更新部は、
    前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
    請求項1に記載のモデル生成システム。
  3. 勾配情報算出部は、
    1つの真データと、第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように識別モデルの重み毎の勾配情報を算出し、重み毎の勾配情報の絶対値の平均値を計算し、
    選択部は、
    偽データ毎に計算された前記平均値に基づいて、第1の個数の偽データの中から保存データ記憶部に記憶させるべき偽データを選択する
    請求項1または請求項2に記載のモデル生成システム。
  4. 保存しておくべき偽データを記憶する保存データ記憶部と、
    偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
    与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
    1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、
    偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
    ことを特徴とするモデル生成システム。
  5. 識別モデルを更新する識別モデル更新部と、
    生成モデルを更新する生成モデル更新部とを備え、
    識別部は、
    予め用意されている複数個の真データの部分集合に該当する複数個の真データ、保存データ記憶部に記憶されている偽データの部分集合に該当する複数個の偽データ、および、第1の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
    前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように前記識別モデルの重み毎の勾配情報を算出する勾配情報算出部を備え、
    前記識別モデル更新部は、
    前記識別モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記識別モデルを更新し、
    データ生成部は、
    第2の個数の偽データを生成し、
    前記識別部は、
    予め用意されている複数個の真データの部分集合に該当する複数個の真データ、および、前記第2の個数の偽データの部分集合に該当する複数個の偽データのそれぞれに対して、出力値を導出し、
    前記勾配情報算出部は、
    前記識別部によって導出された、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量減少させるように前記生成モデルの重み毎の勾配情報を算出し、
    前記生成モデル更新部は、
    前記生成モデルの個々の重みを、個々の重みに応じた勾配情報に基づいて更新することによって、前記生成モデルを更新する
    請求項4に記載のモデル生成システム。
  6. 選択部は、
    保存データ記憶部に記憶されている偽データの数が所定数に達しているならば、選択した偽データを前記保存データ記憶部に記憶させるときに、前記選択した偽データと同数の偽データを前記保存データ記憶部から消去する
    請求項1から請求項5のうちのいずれか1項に記載のモデル生成システム。
  7. コンピュータが、
    偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、
    与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、
    1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出し、
    偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる
    ことを特徴とするモデル生成方法。
  8. コンピュータが、
    偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成し、
    与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出し、
    1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、
    偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から、保存しておくべき偽データを記憶する保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる
    ことを特徴とするモデル生成方法。
  9. コンピュータを、
    保存しておくべき偽データを記憶する保存データ記憶部と、
    偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
    与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
    1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出し、当該距離を所定量増大させるように、前記識別モデルが有する重み毎の更新量である勾配情報を算出する勾配情報算出部と、
    偽データ毎に計算された重み毎の勾配情報に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
    モデル生成システムとして機能させるためのモデル生成プログラム。
  10. コンピュータを、
    保存しておくべき偽データを記憶する保存データ記憶部と、
    偽データを生成するためのニューラルネットワークである生成モデルに基づいて、第1の個数の偽データを生成するデータ生成部と、
    与えられたデータの真データらしさおよび偽データらしさを示す出力値を導出するためのニューラルネットワークである識別モデルに基づいて、与えられたデータに対する出力値を導出する識別部と、
    1つの真データと、前記第1の個数の偽データそれぞれとの組合せ毎に、真データに対する出力値と偽データに対する出力値との距離を算出する距離算出部と、
    偽データ毎に計算された前記距離に基づいて、前記第1の個数の偽データの中から前記保存データ記憶部に記憶させるべき偽データを選択し、選択した偽データを前記保存データ記憶部に記憶させる選択部とを備える
    モデル生成システムとして機能させるためのモデル生成プログラム。
JP2021553902A 2019-10-28 2019-10-28 モデル生成システム、方法およびプログラム Active JP7283566B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/042152 WO2021084580A1 (ja) 2019-10-28 2019-10-28 モデル生成システム、方法およびプログラム

Publications (3)

Publication Number Publication Date
JPWO2021084580A1 JPWO2021084580A1 (ja) 2021-05-06
JPWO2021084580A5 JPWO2021084580A5 (ja) 2022-06-22
JP7283566B2 true JP7283566B2 (ja) 2023-05-30

Family

ID=75715853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021553902A Active JP7283566B2 (ja) 2019-10-28 2019-10-28 モデル生成システム、方法およびプログラム

Country Status (3)

Country Link
US (1) US20240232578A9 (ja)
JP (1) JP7283566B2 (ja)
WO (1) WO2021084580A1 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
RADFORD, Alec et al.,Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks,arXiv [online],2016年01月07日,pp.1-16,https://arxiv.org/pdf/1511.06434.pdf

Also Published As

Publication number Publication date
US20240232578A9 (en) 2024-07-11
WO2021084580A1 (ja) 2021-05-06
JPWO2021084580A1 (ja) 2021-05-06
US20240135143A1 (en) 2024-04-25

Similar Documents

Publication Publication Date Title
CN111352656B (zh) 使用按位运算的神经网络设备和方法
US11886990B2 (en) Classification device, classification method, and computer program product
US20210406693A1 (en) Data sample analysis in a dataset for a machine learning model
CN110598837A (zh) 人工神经网络调整方法和装置
JP7527488B2 (ja) モデル訓練方法、データ強化方法、装置、電子機器及び記憶媒体
CN111178435B (zh) 一种分类模型训练方法、系统、电子设备及存储介质
WO2016095068A1 (en) Pedestrian detection apparatus and method
WO2020065908A1 (ja) パターン認識装置、パターン認識方法およびパターン認識プログラム
JP5989576B2 (ja) パターン識別装置、パターン識別方法、プログラム、学習装置および学習方法
CN110245700B (zh) 分类模型构建方法、分类模型及物体识别方法
CN109902167B (zh) 嵌入结果的解释方法和装置
US20190303714A1 (en) Learning apparatus and method therefor
CN114091597A (zh) 基于自适应组样本扰动约束的对抗训练方法、装置及设备
CN113657510A (zh) 一种有标注价值的数据样本的确定方法及装置
JP7283566B2 (ja) モデル生成システム、方法およびプログラム
JP2019028484A (ja) 属性識別装置、属性識別モデル学習装置、方法、及びプログラム
JP6984729B2 (ja) 意味推定システム、方法およびプログラム
JP6004014B2 (ja) 学習方法、情報変換装置および学習プログラム
JP2019185207A (ja) モデル学習装置、モデル学習方法、プログラム
CN115271045A (zh) 一种基于机器学习的神经网络模型优化方法及系统
JP6988991B2 (ja) 意味推定システム、方法およびプログラム
CN112036446A (zh) 目标识别特征融合的方法、系统、介质及装置
US20220067503A1 (en) Method for analyzing class similarities in a machine learning model
JP6877666B1 (ja) 分類装置、分類方法およびプログラム
US20240233357A1 (en) Learning apparatus and learning method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220414

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220414

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230501

R151 Written notification of patent or utility model registration

Ref document number: 7283566

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151