(57)【要約】【課題】学習の安定性向上と生成データの高品質化が可能な生成モデルを提供すること。【解決手段】コンピュータに、所定の入力からジェネレータにおいて生成データを生成させて出力させる生成機能と、訓練データ又は生成データに基づく識別対象データが入力され、識別対象データが訓練データに基づくものであるか生成データに基づくものであるかを複数のディスクリミネータのそれぞれに識別処理を実行させて識別結果を出力させる識別機能と、識別対象データをより高精度で識別できるように識別結果を出力したディスクリミネータを当該識別結果に基づいて更新し、さらに、当該ディスクリミネータが生成データに基づく識別対象データを訓練データに基づく識別対象データであると識別する確率が上がるようにジェネレータを更新する更新機能と、更新機能による更新をジェネレータと全てのディスクリミネータとの間で実行させる全体更新機能とを実現させる。【選択図】図１
2019056975.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
多層パーセプトロンの構成によって表現された関数に基づいて所定の入力から生成データを生成して出力するためのジェネレータにおいて生成データを生成させて出力させる生成機能と、
訓練データ及び／又は前記ジェネレータの出力した生成データに基づく識別対象データが入力され、多層パーセプトロンの構成によって表現された関数に基づいて前記識別対象データが前記訓練データに基づくものであるか前記生成データに基づくものであるかを識別する識別処理を行って識別結果を出力するための複数のディスクリミネータのそれぞれにおいて識別処理を実行させて識別結果を出力させる識別機能と、
識別対象データをより高精度で識別できるように識別結果を出力したディスクリミネータを当該識別結果に基づいて更新し、さらに、当該ディスクリミネータが生成データに基づく識別対象データを訓練データに基づく識別対象データであると識別する確率が上がるように前記ジェネレータを更新する更新機能と、
前記更新機能による更新を前記ジェネレータと全てのディスクリミネータとの間で実行させる全体更新機能と
を実現させる改良型敵対的生成ネットワーク実現プログラム。
【請求項２】
前記識別対象データは、訓練データそのもの及び／又は生成データそのものである
請求項１記載の改良型敵対的生成ネットワーク実現プログラム。
【請求項３】
コンピュータに、
前記複数のディスクリミネータのぞれぞれの前段において前記訓練データ及び／又は前記生成データに対して変形処理を行うための複数の変形オペレータのそれぞれにおいて変形処理を実行させ、変形処理によって得られた変形処理済訓練データ及び／又は変形処理済生成データを前記識別対象データとして各変形オペレータに対応するディスクリミネータに出力させる変形処理機能を実現させてから、前記識別機能を実現させるようにした
請求項１記載の改良型敵対的生成ネットワーク実現プログラム。
【請求項４】
前記複数の変形オペレータは、変形処理の内容が互いに異なるようにした
請求項３記載の改良型敵対的生成ネットワーク実現プログラム。
【請求項５】
前記複数の変形オペレータは、前記複数のディスクリミネータと同じ数だけ設け、変形オペレータとディスクリミネータが１対１となるように組み合わせた状態で前記変形処理機能と前記識別機能とをコンピュータに実現させるようにした
請求項３又は請求項４に記載の改良型敵対的生成ネットワーク実現プログラム。
【請求項６】
多層パーセプトロンの構成によって表現された関数に基づいて所定の入力から生成データを生成して出力するためのジェネレータにおいて生成データを生成させて出力させる生成部と、
訓練データ及び／又は前記ジェネレータの出力した生成データに基づく識別対象データが入力され、多層パーセプトロンの構成によって表現された関数に基づいて前記識別対象データが前記訓練データに基づくものであるか前記生成データに基づくものであるかを識別する識別処理を行って識別結果を出力するための複数のディスクリミネータのそれぞれにおいて識別処理を実行させて識別結果を出力させる識別部と、
識別対象データをより高精度で識別できるように識別結果を出力したディスクリミネータを当該識別結果に基づいて更新し、さらに、当該ディスクリミネータが生成データに基づく識別対象データを訓練データに基づく識別対象データであると識別する確率が上がるように前記ジェネレータを更新する更新部と、
前記更新機能による更新を前記ジェネレータと全てのディスクリミネータとの間で実行させる全体更新部と
を備えた改良型敵対的生成ネットワーク実現装置。
【請求項７】
前記複数のディスクリミネータのぞれぞれの前段において前記訓練データ及び／又は前記生成データに対して変形処理を行うための複数の変形オペレータのそれぞれにおいて変形処理を実行させ、変形処理によって得られた変形処理済訓練データ及び／又は変形処理済生成データを前記識別対象データとして各変形オペレータに対応するディスクリミネータに出力させる変形処理部を備えた
請求項６記載の改良型敵対的生成ネットワーク実現装置。
【請求項８】
多層パーセプトロンの構成によって表現された関数に基づいて所定の入力から生成データを生成して出力するためのジェネレータにおいて生成データを生成させて出力させる生成手順と、
訓練データ及び／又は前記ジェネレータの出力した生成データに基づく識別対象データが入力され、多層パーセプトロンの構成によって表現された関数に基づいて前記識別対象データが前記訓練データに基づくものであるか前記生成データに基づくものであるかを識別する識別処理を行って識別結果を出力するための複数のディスクリミネータのそれぞれにおいて識別処理を実行させて識別結果を出力させる識別手順と、
識別対象データをより高精度で識別できるように識別結果を出力したディスクリミネータを当該識別結果に基づいて更新し、さらに、当該ディスクリミネータが生成データに基づく識別対象データを訓練データに基づく識別対象データであると識別する確率が上がるように前記ジェネレータを更新する更新手順と、
前記更新手順による更新を前記ジェネレータと全てのディスクリミネータとの間で実行させる全体更新手順と
を含む学習済モデル生成方法。
【請求項９】
前記複数のディスクリミネータのぞれぞれの前段において前記訓練データ及び／又は前記生成データに対して変形処理を行うための複数の変形オペレータのそれぞれにおいて変形処理を実行させ、変形処理によって得られた変形処理済訓練データ及び／又は変形処理済生成データを前記識別対象データとして各変形オペレータに対応するディスクリミネータに出力させる変形処理手順を実行してから、前記識別手順を実行する
請求項８に記載の学習済モデル生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、敵対的生成ネットワーク（GAN）を改良した改良型敵対的生成ネットワークに関するものである。
【背景技術】
【０００２】
観測データからそのデータの特徴を自動的に学習する生成モデルに関する研究は、コンピュータビジョン、自然言語処理、音声処理を含む数多くの分野において重要である。これらの学習された特徴を利用することで、例えば、画像生成、超解像、フレーム補間、データ拡張、異常検知などの機械学習の多くの問題を効率的に解くことができる。
【０００３】
生成モデルとしては、Deep Boltzmann MachineやPixel Networksなどに代表される数多くのモデルが既に提案されているが、生成モデルの１つとして、Generative Adversarial Network（敵対的生成ネットワーク。以下GANという）が存在する。GANの特徴は、生成子（Generator）と識別子（Discriminator）と呼ばれる２つのネットワークを利用し、これらを互いに競わせることで、高精度な生成モデルを学習させる点にある。具体的には、生成子は、識別子をできるだけ騙すような本物そっくりの学習サンプルを適当な乱数から生成する。その一方で、識別子は、与えられたサンプルが生成子によって生成されたものであるのか学習サンプルそのものであるのかを識別する。これら２つのモデルを学習させることで、最終的に、生成子は限りなく本物に類似したサンプルを、乱数だけから生成できるようになる。
【０００４】
非特許文献１において、生成モデルの一手法としてのGANが提案されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】“Generative Adversarial Networks”  Ian J. Goodfellow et al.（２０１４）（https://arxiv.org/abs/1406.2661）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
GANは高品質なサンプルを生成できる点で他の生成モデルに対して優位性があるが、GANには大別して以下の２種類の問題が存在する。
【０００７】
１つ目は、学習の不安定性の問題である。従来の識別モデルの学習とは異なり、GANの学習は非常に不安定であることが知られており、良質な生成子を学習させるためには、生成子と識別子の両者の設計を注意深く行う必要がある。これに対処するための代表的なモデルとしてImproved GAN、Denoising GANなどが提案されているが、依然として完全に解決されているとは言い難い状況である。
【０００８】
２つ目は、高次元下における質の劣化の問題である。学習サンプル（訓練データ）の持つ次元数が非常に高い場合を考える。そのような性質を持つ学習サンプルとしては、例えば、音声（数万次元程度）や画像（数十万次元程度）などが挙げられる。このような超高次元の生成モデルの学習は困難であることが知られており、例えば、解像度を２倍に上げた画像を学習サンプルとして利用した場合、その生成される画像の質は一般に悪化するといえる。
【０００９】
本発明は、上記問題点に鑑みなされたものであり、学習の安定性向上と生成データの高品質化が可能な生成モデルを提供するための改良型敵対的生成ネットワーク実現プログラム、改良型敵対的生成ネットワーク実現装置及び学習済モデル生成方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る改良型敵対的生成ネットワーク実現プログラムは、コンピュータに、多層パーセプトロンの構成によって表現された関数に基づいて所定の入力から生成データを生成して出力するためのジェネレータにおいて生成データを生成させて出力させる生成機能と、訓練データ及び／又は前記ジェネレータの出力した生成データに基づく識別対象データが入力され、多層パーセプトロンの構成によって表現された関数に基づいて前記識別対象データが前記訓練データに基づくものであるか前記生成データに基づくものであるかを識別する識別処理を行って識別結果を出力するための複数のディスクリミネータのそれぞれにおいて識別処理を実行させて識別結果を出力させる識別機能と、識別対象データをより高精度で識別できるように識別結果を出力したディスクリミネータを当該識別結果に基づいて更新し、さらに、当該ディスクリミネータが生成データに基づく識別対象データを訓練データに基づく識別対象データであると識別する確率が上がるように前記ジェネレータを更新する更新機能と、前記更新機能による更新を前記ジェネレータと全てのディスクリミネータとの間で実行させる全体更新機能とを実現させることを特徴とする。
【００１１】
また、本発明に係る改良型敵対的生成ネットワーク実現プログラムは、前記識別対象データは、訓練データそのもの及び／又は生成データそのものであることを特徴とする。
【００１２】
また、本発明に係る改良型敵対的生成ネットワーク実現プログラムは、コンピュータに、前記複数のディスクリミネータのぞれぞれの前段において前記訓練データ及び／又は前記生成データに対して変形処理を行うための複数の変形オペレータのそれぞれにおいて変形処理を実行させ、変形処理によって得られた変形処理済訓練データ及び／又は変形処理済生成データを前記識別対象データとして各変形オペレータに対応するディスクリミネータに出力させる変形処理機能を実現させてから、前記識別機能を実現させるようにしたことを特徴とする。
【００１３】
また、本発明に係る改良型敵対的生成ネットワーク実現プログラムは、前記複数の変形オペレータは、変形処理の内容が互いに異なるようにしたことを特徴とする。
【００１４】
また、本発明に係る改良型敵対的生成ネットワーク実現プログラムは、前記複数の変形オペレータは、前記複数のディスクリミネータと同じ数だけ設け、変形オペレータとディスクリミネータが１対１となるように組み合わせた状態で前記変形処理機能と前記識別機能とをコンピュータに実現させるようにしたことを特徴とする。
【００１５】
本発明に係る改良型敵対的生成ネットワーク実現装置は、多層パーセプトロンの構成によって表現された関数に基づいて所定の入力から生成データを生成して出力するためのジェネレータにおいて生成データを生成させて出力させる生成部と、訓練データ及び／又は前記ジェネレータの出力した生成データに基づく識別対象データが入力され、多層パーセプトロンの構成によって表現された関数に基づいて前記識別対象データが前記訓練データに基づくものであるか前記生成データに基づくものであるかを識別する識別処理を行って識別結果を出力するための複数のディスクリミネータのそれぞれにおいて識別処理を実行させて識別結果を出力させる識別部と、識別対象データをより高精度で識別できるように識別結果を出力したディスクリミネータを当該識別結果に基づいて更新し、さらに、当該ディスクリミネータが生成データに基づく識別対象データを訓練データに基づく識別対象データであると識別する確率が上がるように前記ジェネレータを更新する更新部と、前記更新機能による更新を前記ジェネレータと全てのディスクリミネータとの間で実行させる全体更新部とを備えたことを特徴とする。
【００１６】
また、本発明に係る改良型敵対的生成ネットワーク実現装置は、前記複数のディスクリミネータのぞれぞれの前段において前記訓練データ及び／又は前記生成データに対して変形処理を行うための複数の変形オペレータのそれぞれにおいて変形処理を実行させ、変形処理によって得られた変形処理済訓練データ及び／又は変形処理済生成データを前記識別対象データとして各変形オペレータに対応するディスクリミネータに出力させる変形処理部を備えたことを特徴とする。
【００１７】
本発明に係る学習済モデル生成方法は、多層パーセプトロンの構成によって表現された関数に基づいて所定の入力から生成データを生成して出力するためのジェネレータにおいて生成データを生成させて出力させる生成手順と、訓練データ及び／又は前記ジェネレータの出力した生成データに基づく識別対象データが入力され、多層パーセプトロンの構成によって表現された関数に基づいて前記識別対象データが前記訓練データに基づくものであるか前記生成データに基づくものであるかを識別する識別処理を行って識別結果を出力するための複数のディスクリミネータのそれぞれにおいて識別処理を実行させて識別結果を出力させる識別手順と、識別対象データをより高精度で識別できるように識別結果を出力したディスクリミネータを当該識別結果に基づいて更新し、さらに、当該ディスクリミネータが生成データに基づく識別対象データを訓練データに基づく識別対象データであると識別する確率が上がるように前記ジェネレータを更新する更新手順と、前記更新手順による更新を前記ジェネレータと全てのディスクリミネータとの間で実行させる全体更新手順とを含むことを特徴とする。
【００１８】
また、本発明に係る学習済モデル生成方法は、前記複数のディスクリミネータのぞれぞれの前段において前記訓練データ及び／又は前記生成データに対して変形処理を行うための複数の変形オペレータのそれぞれにおいて変形処理を実行させ、変形処理によって得られた変形処理済訓練データ及び／又は変形処理済生成データを前記識別対象データとして各変形オペレータに対応するディスクリミネータに出力させる変形処理手順を実行してから、前記識別手順を実行することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、１つのジェネレータに対して複数のディスクリミネータを用意し、かつ複数のディスクリミネータにおいて識別させる生成データと訓練データに対して変形処理を行ったものを識別対象データとすべく複数の変形オペレータを用意して、複数の変形オペレータにおいて様々な変形処理によって元データを変形させてから複数のディスクリミネータのそれぞれに入力し、ジェネレータと複数のディスクリミネータのそれぞれとの間で更新を行うようにしたので、従来のジェネレータとディスクリミネータを１対１で対応させていた場合と比較して学習の安定性を向上させることができ、また、超高次元の生成モデルを学習させたときにも高品質の生成データを生成することができる。また、複数の変形オペレータにおける変形処理の内容を様々に異ならせることにより、ジェネレータは種々の変形処理に対応した生成データを生成するように学習が進行するため、学習の安定性向上と生成データの高品質化に有効である。
【図面の簡単な説明】
【００２０】
【図１】本発明に係る改良型敵対的生成ネットワークの構成を表した概念図である。
【図２】改良型敵対的生成ネットワーク実現装置２０の構成を表したブロック図である。
【図３】改良型敵対的生成ネットワーク実現装置２０における処理の流れを表したフローチャート図である。
【図４】改良型敵対的生成ネットワーク実現装置２０において処理を実行する場合の各部の関係性を表したブロック図である。
【発明を実施するための形態】
【００２１】
［第１の実施の形態］
以下、図面を参照しながら、第１の実施の形態に係る改良型敵対的生成ネットワーク実現装置の例について説明する。図１は、本発明に係る改良型敵対的生成ネットワークの構成を表した概念図である。なお、敵対的生成ネットワークを実現するための構成は、専用マシンとして設計した改良型敵対的生成ネットワーク実現装置であってもよいが、一般的なコンピュータによって実現可能なものであるものとする。この場合に用いられるコンピュータは、一般的なコンピュータが通常備えているであろうＣＰＵ（Central Processing Unit：中央演算処理装置）、ＧＰＵ（Graphics Processing Unit：画像処理装置）、メモリ、ハードディスクドライブ等のストレージを具備しているものとする（図示省略）。また、これらの一般的なコンピュータにおいて改良型敵対的生成ネットワークを機能させるためにはプログラムよって各種処理が実行されることは言うまでもない。
【００２２】
図１に示すように、本例における改良型敵対的生成ネットワーク１０は、ジェネレータ１１と、複数の変形オペレータ１２ａ〜１２ｎと、複数のディスクリミネータ１３ａ〜１３ｎとによって構成されていることを特徴とする。非特許文献１において提案された従来のGANはジェネレータとディスクリミネータが１つずつで構成されているが、本例は１つのジェネレータに対して複数のディスクリミネータを用いている点が特徴である。
【００２３】
ここで従来のGANについて説明を行う。従来のGANは、１つのジェネレータ（Generator）と１つのディスクリミネータ（Discriminator）で構成され、以下の数式１で表される目的関数について、ディスクリミネータは目的関数を最大化するように更新を行い、ジェネレータは目的関数を最小化するように更新を行う。
【数１】
2019056975.tif 000003
【００２４】
上記の数式１において、データxに対するジェネレータの分布pgを知るために、入力ノイズ変数pz（z）を事前に定義し、データ空間へのマッピングをG（z;θg）と表す。ここで、Gは、パラメータθgを有する多層パーセプトロンによって表される微分可能なジェネレータに関する関数である。また、単一のスカラーを出力する第２の多層パーセプトロンD（x; θd）を定義する。D（x）は、パラメータθdを有する多層パーセプトロンによって表される微分可能なディスクリミネータに関する関数であり、出力されるスカラー値はxがpgではなく訓練データから来る確率を表す。
【００２５】
学習の過程においては、訓練データとGが生成した生成データを正確に識別する確率を最大にするためにディスクリミネータの関数Dを更新する。Dの更新は、パラメータθdを更新することで行う。同時に、log(1-D(G(z)))を最小にするためにジェネレータの関数Gを更新する。Gの更新は、パラメータθgを更新することで行う。このような、DとGの更新を交互に行うことで、ディスクリミネータが生成データを訓練データと間違って識別してしまう程度に訓練データに近似した生成データを生成可能なジェネレータを得ることができる。
【００２６】
図１に示す本例における改良型敵対的生成ネットワーク１０において、ジェネレータ１１の更新やディスクリミネータ１３ａ〜１３ｎの更新という場合には、上記に説明した数式１に基づく更新処理と同様の処理が非特許文献１に開示された理論に基づいて実行されるが、本例では、上記数式１で示した目的関数に基づいて交互に更新を行う更新処理を、１つのジェネレータ１１と複数のディスクリミネータ１３ａ〜１３ｎのそれぞれとの間で行うことを特徴とする。また、複数のディスクリミネータ１３ａ〜１３ｎのそれぞれの前段において、訓練データ及び／又は生成データに対して変形処理を行って識別対象データを出力する複数の変形オペレータ１２ａ〜１２ｎを設けたことを特徴とする。以下、詳細に説明を行う。
【００２７】
図２は、本例に係る改良型敵対的生成ネットワーク実現装置２０の構成を表したブロック図である。この図２に示すように、改良型敵対的生成ネットワーク実現装置２０は、生成部２１と、変形処理部２２と、識別部２３と、更新部２４と、全体更新部２５と、記憶部２６とを備えている。
【００２８】
生成部２１は、多層パーセプトロンの構成によって表現された関数に基づいて所定の入力から生成データを生成して出力するためのジェネレータ１１において生成データを生成させて出力させる機能を有する。ジェネレータ１１に対する所定の入力は、例えば、ノイズ発生器等によって生成されるノイズであってもよい。
【００２９】
変形処理部２２は、複数のディスクリミネータ１３ａ〜１３ｎのぞれぞれの前段において訓練データ及び／又は生成データに対して変形処理を行うための複数の変形オペレータ１２ａ〜１２ｎのそれぞれにおいて変形処理を実行させ、変形処理によって得られた変形処理済訓練データ及び／又は変形処理済生成データを識別対象データとして各変形オペレータ１２ａ〜１２ｎに対応するディスクリミネータ１３ａ〜１３ｎに出力させる機能を有する。変形処理の内容は、変形オペレータ１２ａ〜１２ｎのそれぞれで異なる処理を行うように設定することが好ましい。変形オペレータ１２ａ〜１２ｎにおける変形処理は、どのようなものであってもよいが、例えば、画像生成の場合には縮小処理、ぼかし処理、コントラストの変更などが挙げられ、音声生成の場合にはサンプリングレート変更、リバーブ処理などが挙げられる。また、変形処理の内容はどのようなものであってもよいが、超高次元の生成モデルの学習を適切に実現させるために、縮小処理のような元データの情報量を縮減させる変形処理を含むものであることが好ましい。なお、必ずしも変形処理の内容を全て異ならせる必要はなく、２以上の変形オペレータに同じ内容の変形処理を担当させるものであってもよい。
【００３０】
識別部２３は、訓練データ又は生成データに基づく識別対象データが入力され、多層パーセプトロンの構成によって表現された関数に基づいて識別対象データが訓練データに基づくものであるか生成データに基づくものであるかを識別する識別処理を行って識別結果を出力するための複数のディスクリミネータ１３ａ〜１３ｎのそれぞれにおいて識別処理を実行させて識別結果を出力させる機能を有する。訓練データ又は生成データに基づく識別対象データは、本例においては、変形処理部２２において変形処理が行われた後の変形処理済訓練データ又は変形処理済生成データである。ディスクリミネータ１３ａ〜１３ｎのそれぞれが出力する識別結果は、例えば０〜１の間の値をとり、１に近いほど識別対象データが訓練データに基づくものである確率が高いことを示すものとすることが考えられる。
【００３１】
更新部２４は、識別対象データをより高精度で識別できるように識別結果を出力したディスクリミネータを当該識別結果に基づいて更新し、さらに、当該ディスクリミネータが生成データに基づく識別対象データを訓練データに基づく識別対象データであると識別する確率が上がるようにジェネレータ１１を更新する機能を有する。この更新部２４におけるディスクリミネータに対する更新処理とジェネレータに対する更新処理は、非特許文献１と同様に行われるものである。具体的には、ディスクリミネータが表す関数Dについてのパラメータθdを更新する処理であり、ジェネレータが表す関数Gについてのパラメータθgを更新する処理である。これらのパラメータの更新は、例えば、確率的勾配降下法によって行い、最小化又は最大化の目的に近づくように関数の勾配を更新する。
【００３２】
全体更新部２５は、更新部２４による更新処理をジェネレータ１１と全てのディスクリミネータ１３ａ〜１３ｎとの間で実行させる機能を有する。
【００３３】
記憶部２６は、改良型敵対的生成ネットワーク１０の構成を記憶させるとともに改良型敵対的生成ネットワーク実現装置２０の各種処理において必要な情報を記憶させる機能を有する。記憶させる情報の一例としては、ジェネレータ１１に生成させたい内容を訓練するために予め用意された訓練データ、ジェネレータ１１の多層パーセプトロンの構成、ジェネレータ１１が生成した生成データ、ディスクリミネータ１３ａ〜１３ｎのそれぞれの多層パーセプトロンの構成、ディスクリミネータ１３ａ〜１３ｎが出力した識別結果、変形オペレータ１２ａ〜１２ｎにおける変形処理の内容の情報、変形オペレータ１２ａ〜１２ｎによる変形処理後の変形処理済生成データ及び変形処理済訓練データ、更新処理時の各種パラメータの情報などが挙げられる。
【００３４】
次に、本例に係る改良型敵対的生成ネットワーク実現装置２０における処理の流れについて説明する。図３は、改良型敵対的生成ネットワーク実現装置２０における処理の流れを表したフローチャート図である。この図３に示すように、先ず、ｎ＝１とし（ステップＳ０１）、ジェネレータ１１において生成データを生成して出力させる（ステップＳ０２）。ｎ番目の変形オペレータ１２ｎにおいて生成データと訓練データに対して変形処理を行って出力させる（ステップＳ０３）。そして、ｎ番目のディスクリミネータ１３ｎにおいて変形処理済生成データと変形処理済訓練データについて識別処理を行って識別結果を出力させる（ステップＳ０４）。このようにして得られた識別結果に基づいてｎ番目のディスクリミネータ１３ｎについて更新処理を行う（ステップＳ０５）。続いてジェネレータ１１について更新処理を行う（ステップＳ０６）。ｎ番目のディスクリミネータ１３ｎとジェネレータ１１について更新処理を行ったが、ディスクリミネータ１３ｎが最後のディスクリミネータであったか否か、すなわちｎが最大であったか否かを判別する（ステップＳ０７）。ｎが最大ではなかった場合（ステップＳ０７−Ｎ）、ｎ＝ｎ＋１として（ステップＳ０８）、次のディスクリミネータに移行してステップＳ０２〜Ｓ０６の処理を実行する。全てのディスクリミネータとジェネレータとの間で更新処理を行って最大となった段階（ステップＳ０７−Ｙ）で処理を終了する。
【００３５】
なお、改良型敵対的生成ネットワーク実現装置２０によって生成モデルを学習させる場合には、図３のフローチャート図におけるＳＴＡＲＴからＥＮＤまでの流れを１セットとしたとき、所望の生成データを生成可能な学習済モデル（学習後のジェネレータ１１）を得るためには、複数セットを繰り返し実行する必要がある場合があることは言うまでもない。また、複数用意したディスクリミネータ１３ａ〜１３ｎを少なくとも１回は全て利用するまでの流れを１セットとして図３において説明したが、学習を終了するタイミングはセット毎である必要はなく、ユーザの任意のタイミングで学習を終了可能としてもよい。
【００３６】
図４は、改良型敵対的生成ネットワーク実現装置２０において処理を実行する場合の各部の関係性を表したブロック図である。この図４は、図２に示す改良型敵対的生成ネットワーク実現装置２０のブロック図における各部が、図３に示すフローチャートの処理を実行する際にどのように関連しながら処理を行うかについての一例を表したブロック図である。この図４に示すように各部が関連して機能することで生成モデルの学習処理が実行される。
【００３７】
以上のように、本発明に係る改良型敵対的生成ネットワーク実現装置２０によれば、１つのジェネレータ１１に対して複数のディスクリミネータ１３ａ〜１３ｎを用意し、かつ複数のディスクリミネータ１３ａ〜１３ｎにおいて識別させる生成データと訓練データに対して変形処理を行ったものを識別対象データとすべく複数の変形オペレータ１２ａ〜１２ｎを用意して、複数の変形オペレータ１２ａ〜１２ｎにおいて様々な変形処理によって元データの情報量を縮減させてから複数のディスクリミネータ１３ａ〜１３ｎのそれぞれに入力し、ジェネレータ１１と複数のディスクリミネータ１３ａ〜１３ｎのそれぞれとの間で更新を行うようにしたので、従来のジェネレータとディスクリミネータを１対１で対応させていた場合と比較して学習の安定性を向上させることができ、また、超高次元の生成モデルを学習させたときにも高品質の生成データを生成することができる。また、複数の変形オペレータ１２ａ〜１２ｎにおける変形処理の内容を様々に異ならせることにより、ジェネレータ１１は種々の変形処理に対応した生成データを生成するように学習が進行するため、学習の安定性向上と生成データの高品質化に有効である。
【００３８】
［第２の実施の形態］
前記第１の実施の形態においては、改良型敵対的生成ネットワーク実現装置２０として説明を行ったが、コンピュータに対して改良型敵対的生成ネットワーク実現装置２０と同様の機能を実現させるための改良型敵対的生成ネットワーク実現プログラムであってもよい。すなわち、多層パーセプトロンの構成によって表現された関数に基づいて所定の入力から生成データを生成して出力するためのジェネレータにおいて生成データを生成させて出力させる生成機能と、前記複数のディスクリミネータのぞれぞれの前段において訓練データ及び／又は前記生成データに対して変形処理を行うための複数の変形オペレータのそれぞれにおいて変形処理を実行させ、変形処理によって得られた変形処理済訓練データ及び／又は変形処理済生成データを前記識別対象データとして各変形オペレータに対応するディスクリミネータに出力させる変形処理機能と、前記訓練データ及び／又は前記ジェネレータの出力した生成データに基づく識別対象データが入力され、多層パーセプトロンの構成によって表現された関数に基づいて前記識別対象データが前記訓練データに基づくものであるか前記生成データに基づくものであるかを識別する識別処理を行って識別結果を出力するための複数のディスクリミネータのそれぞれにおいて識別処理を実行させて識別結果を出力させる識別機能と、識別対象データをより高精度で識別できるように識別結果を出力したディスクリミネータを当該識別結果に基づいて更新し、さらに、当該ディスクリミネータが生成データに基づく識別対象データを訓練データに基づく識別対象データであると識別する確率が上がるように前記ジェネレータを更新する更新機能と、前記更新機能による更新を前記ジェネレータと全てのディスクリミネータとの間で実行させる全体更新機能とを実現させる改良型敵対的生成ネットワーク実現プログラムであっても、第１の実施の形態における改良型敵対的生成ネットワーク実現装置２０と同様の効果が得られる。
【００３９】
［第３の実施の形態］
前記第１の実施の形態においては、改良型敵対的生成ネットワーク実現装置２０として説明を行ったが、改良型敵対的生成ネットワークを用いた学習済モデル生成方法の発明としても記載できる。すなわち、多層パーセプトロンの構成によって表現された関数に基づいて所定の入力から生成データを生成して出力するためのジェネレータにおいて生成データを生成させて出力させる生成手順と、前記複数のディスクリミネータのぞれぞれの前段において訓練データ及び／又は前記生成データに対して変形処理を行うための複数の変形オペレータのそれぞれにおいて変形処理を実行させ、変形処理によって得られた変形処理済訓練データ及び／又は変形処理済生成データを前記識別対象データとして各変形オペレータに対応するディスクリミネータに出力させる変形処理手順と、前記訓練データ及び／又は前記ジェネレータの出力した生成データに基づく識別対象データが入力され、多層パーセプトロンの構成によって表現された関数に基づいて前記識別対象データが前記訓練データに基づくものであるか前記生成データに基づくものであるかを識別する識別処理を行って識別結果を出力するための複数のディスクリミネータのそれぞれにおいて識別処理を実行させて識別結果を出力させる識別手順と、識別対象データをより高精度で識別できるように識別結果を出力したディスクリミネータを当該識別結果に基づいて更新し、さらに、当該ディスクリミネータが生成データに基づく識別対象データを訓練データに基づく識別対象データであると識別する確率が上がるように前記ジェネレータを更新する更新手順と、前記更新手順による更新を前記ジェネレータと全てのディスクリミネータとの間で実行させる全体更新手順とを含む学習済モデル生成方法であっても、第１の実施の形態における改良型敵対的生成ネットワーク実現装置２０と同様の効果が得られる。これらの手順で学習が進められた際のジェネレータは、訓練データに近似した生成データを生成可能な生成モデルとなるため、これを学習済モデルとして利用することが可能となる。
【００４０】
前記第１の実施の形態では、変形オペレータ１２ａ〜１２ｎとディスクリミネータ１３ａ〜１３ｎとが同数で構成され、変形オペレータとディスクリミネータの対応関係が１対１であるものとして説明を行ったが、これに限定されるものではない。例えば、１つの変形オペレータの後段に複数のディスクリミネータが配置される構成であってもよい。すなわち、同じ変形処理を１つの変形オペレータにおいて行うが、その先の識別処理に関しては複数のディスクリミネータで異なる更新処理を行うという構成とすることも可能であり、このような構成とした場合であっても、従来のGANに比較して学習の安定性向上と生成データの高品質化の効果が得られる点は第１の実施の形態と同様である。
【００４１】
前記第１乃至第３の実施の形態では、ジェネレータと複数のディスクリミネータの間に複数の変形オペレータを配置する構成に基づいて説明を行っていたが、変形オペレータを用いずに、ジェネレータと複数のディスクリミネータで構成したものであってもよい。この場合の各ディスクリミネータは、訓練データそのもの又は生成データそのものを識別対象データとして識別処理を行う。このような構成であっても、従来のジェネレータとディスクリミネータを１対１で対応させていた場合に比較して学習の安定性向上の効果が期待できる。
【符号の説明】
【００４２】
１０            改良型敵対的生成ネットワーク
１１            ジェネレータ
１２ａ〜１２ｎ        変形オペレータ
１３ａ〜１３ｎ        ディスクリミネータ
２０            改良型敵対的生成ネットワーク実現装置
２１            生成部
２２            変形処理部
２３            識別部
２４            更新部
２５            全体更新部
２６            記憶部
【図１】
2019056975.tif 000004
【図２】
2019056975.tif 000005
【図３】
2019056975.tif 000006
【図４】
2019056975.tif 000007