JP2019125014A - 学習装置、学習方法、および学習プログラム - Google Patents
学習装置、学習方法、および学習プログラム Download PDFInfo
- Publication number
- JP2019125014A JP2019125014A JP2018003384A JP2018003384A JP2019125014A JP 2019125014 A JP2019125014 A JP 2019125014A JP 2018003384 A JP2018003384 A JP 2018003384A JP 2018003384 A JP2018003384 A JP 2018003384A JP 2019125014 A JP2019125014 A JP 2019125014A
- Authority
- JP
- Japan
- Prior art keywords
- learning
- output data
- neural network
- image data
- 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.)
- Pending
Links
Landscapes
- Image Analysis (AREA)
Abstract
【課題】GANの学習がうまくいっているか否かを学習中に評価して学習効率を向上できる学習装置を提供する。【解決手段】本発明の学習装置は、入力データ310から出力データ330を生成するとともに、出力データ330の評価値に基づいて学習する第1のニューラルネットワーク210と、出力データ330の評価値を出力するとともに、評価値に基づいて学習する第2のニューラルネットワーク220と、入力データ310および出力データ330を記憶する記憶部と、複数の入力データ310間にばらつきがある一方で、複数の出力データ330間にばらつきがない場合、第1のニューラルネットワーク210が学習に失敗していると判断する判断部230を有する。【選択図】図2
Description
本発明は、学習装置、学習方法、および学習プログラムに関する。
近年、ディープラーニング(深層学習)に関する技術の進展が著しい。ディープラーニングは、ディープニューラルネットワーク(DNN:Deep Neural Network)と称される人間の脳を模して作られたアルゴリズムにより実現される。
ディープラーニングを用いた技術として、敵対的生成ネットワーク(GAN:Generative Adversarial Network)が知られている(非特許文献1)。GANは、生成器(Generator)と識別器(Discriminator)の2つのDNNを競合させながら学習させていく生成モデルであり、他の生成モデルと比較してくっきりとした画像が得られる傾向がある。その一方で、GANは、学習が不安定であり、学習に失敗すれば、生成器に異なる画像データを入力しても、出力される画像データが同じになる「Mode Collapse」と称される現象が起こり得る。
なお、GANを用いる技術としては、人の横顔を撮像して得られた横顔の画像データから、正面の顔の画像データを生成する技術が知られている(非特許文献2)。
Ian J. Goodfellow 外7名、「Generative Adversarial Networks」、ARXIV、eprint arXiv:1406.2661、2014年6月
Rui Huang 外3名、「Beyond Face Rotation: Global and Local Perception GAN for Photorealistic and Identity Preserving Frontal View Synthesis」、ARXIV、eprint arXiv:1704.04086、2017年4月
GANの学習には時間がかかるにも関わらず、GANの学習に成功したか否かは、学習の終了後、生成器の出力結果を人が確認するまで分からない。このため、学習に失敗していることが分かれば、学習の終了までに要した時間がすべて無駄となり、学習効率が悪いという問題がある。したがって、GANの学習がうまくいっているか否かを学習中に評価することが望まれている。
本発明は、上述した課題に鑑みてなされたものである。したがって、本発明の目的は、GANの学習がうまくいっているか否かを学習中に評価して学習効率を向上できる学習装置、学習方法、および学習プログラムを提供することである。
本発明の上記目的は、下記の手段によって達成される。
(1)入力データから出力データを生成するとともに、前記出力データの評価値に基づいて学習する第1のニューラルネットワークと、前記出力データの前記評価値を出力するとともに、前記評価値に基づいて学習する第2のニューラルネットワークと、前記入力データおよび前記出力データを記憶する記憶部と、複数の前記入力データ間にばらつきがある一方で、複数の前記出力データ間にばらつきがない場合、前記第1のニューラルネットワークが学習に失敗していると判断する判断部と、を有する学習装置。
(2)前記判断部により前記第1のニューラルネットワークが学習に失敗していると判断される場合、学習を中止する、または、学習のパラメーターを調整して再学習する、上記(1)に記載の学習装置。
(3)前記第1のニューラルネットワークが、前記入力データから前記出力データを生成し、当該出力データの評価値に基づいて学習する処理を所定回数繰り返した後、前記判断部は、前記第1のニューラルネットワークが学習に失敗しているか否かを判断する、上記(1)または(2)に記載の学習装置。
(4)前記入力データは、人の顔を撮像して得られた画像データであり、前記第1のニューラルネットワークは、顔の向きが補正された画像データを前記出力データとして生成し、前記判断部は、複数の前記入力データ間にばらつきがない一方で、複数の前記出力データ間にばらつきがある場合、前記第1のニューラルネットワークが学習に失敗しているとは判断しない、上記(1)〜(3)のいずれか1つに記載の学習装置。
(5)前記出力データが示す画像から顔を検出する検出部と、前記検出部による顔検出の信頼度を算出する第1算出部と、をさらに有し、学習時のエポック数が所定の閾値以上であり、かつ、前記信頼度が所定の閾値以下または前記検出部により顔が検出されない場合、前記判断部は、前記第1のニューラルネットワークが学習に失敗していると判断する、上記(4)に記載の学習装置。
(6)前記第1のニューラルネットワークによる補正後の顔の向きと同じ顔の向きになるように、前記入力データと同じ人の顔を撮像して得られた他の画像データが存在し、前記学習装置は、同一の入力データに対応する前記出力データと前記他の画像データとの類似度を算出する第2算出部をさらに有し、学習時のエポック数が所定の閾値以上であり、かつ、前記類似度が所定の閾値以下である場合、前記判断部は、前記第1のニューラルネットワークが学習に失敗していると判断する、上記(4)または(5)に記載の学習装置。
(7)入力データから出力データを生成するとともに前記出力データの評価値に基づいて学習する第1のニューラルネットワークと、前記出力データの前記評価値を出力するとともに前記評価値に基づいて学習する第2のニューラルネットワークとを有する学習装置において使用される学習方法であって、前記第1のニューラルネットワークに入力データを入力して出力データを生成させるステップ(a)と、前記入力データおよび前記出力データを記憶部に記憶させるステップ(b)と、前記第2のニューラルネットワークに前記出力データを入力して前記出力データの評価値を出力させるステップ(c)と、前記評価値に基づいて、前記第1のニューラルネットワークを学習させるステップ(d)と、複数の前記入力データ間にばらつきがある一方で、複数の前記出力データ間にばらつきがない場合、前記第1のニューラルネットワークが学習に失敗していると判断するステップ(e)と、を有する学習方法。
(8)入力データから出力データを生成するとともに前記出力データの評価値に基づいて学習する第1のニューラルネットワークと、前記出力データの前記評価値を出力するとともに前記評価値に基づいて学習する第2のニューラルネットワークとを有する学習装置において実行される学習プログラムであって、前記第1のニューラルネットワークに入力データを入力して出力データを生成させる手順(a)と、前記入力データおよび前記出力データを記憶部に記憶させる手順(b)と、前記第2のニューラルネットワークに前記出力データを入力して前記出力データの評価値を出力させる手順(c)と、前記評価値に基づいて、前記第1のニューラルネットワークを学習させる手順(d)と、複数の前記入力データ間にばらつきがある一方で、複数の前記出力データ間にばらつきがない場合、前記第1のニューラルネットワークが学習に失敗していると判断する手順(e)と、をコンピューターに実行させるための学習プログラム。
本発明によれば、GANの学習がうまくいっているか否かが学習中に評価されるため、学習効率が向上する。
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の一実施形態に係る学習装置の概略構成を示すブロック図である。学習装置100は、演算部110、記憶部120、表示部130、入力部140、および通信インターフェース150を備えており、これらは信号をやり取りするためのバス160を介して相互に接続されている。
演算部110は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)を含み、プログラムにしたがって、上記各部の制御や各種の演算処理を行う。
記憶部120は、予め各種プログラムや各種データを格納しておくROM(Read Only Memory)、作業領域として一時的にプログラムやデータを記憶するRAM(Random Access Memory)、各種プログラムや各種データを格納するハードディスク等からなる。
表示部130は、たとえば、液晶ディスプレイであり、各種の情報を表示する。
入力部140は、マウス等のポインティングデバイスやキーボードを含み、各種の入力を行うために使用される。
通信インターフェース150は、他の機器と通信するためのインターフェースであり、イーサネット(登録商標)、トークンリング、およびFDDI(Fiber Distributed Data Interface)等の規格が用いられる。
なお、学習装置100は、上記構成要素以外の構成要素を含んでいてもよく、あるいは、上記構成要素のうちの一部が含まれていなくてもよい。
次に、図2を参照して、学習装置100において用いられる敵対的生成ネットワーク(GAN)について説明する。
図2は、GAN(Conditional GAN)の概略構成を示すブロック図である。なお、以下では、学習装置100が、人の横顔を撮像して得られた画像データ(以下、「横顔画像データ」と称する)310から、正面の顔の画像データ(以下、「正面顔画像データ」と称する)330を生成する顔向き補正を行う場合を例に挙げて説明する。
図2に示すとおり、GAN200は、生成器(Generator)210、識別器(Discriminator)220、および確認器(Confirmor)230を備えている。生成器210および識別器220は、それぞれニューラルネットワークであり、個別に学習して進化する。本実施形態では、生成器210および識別器220の学習のために、横顔画像データ310と、横顔画像データ310の人物と同一人物の顔を正面から撮像して得られた正面顔画像データ320とが複数人分(たとえば、10000人分)用意されている。横顔画像データ310は、生成器210に入力される入力データである。正面顔画像データ320は、識別器220の学習に用いられる「本物」の正面顔画像データであり、訓練データとして、識別器220に入力される。
生成器210は、横顔画像データ310から正面顔画像データ330を生成するとともに、正面顔画像データ330が「本物」の正面顔画像データに近付くように学習する第1のニューラルネットワークである。本実施形態の生成器210は、エンコーダ・デコーダ型のディープニューラルネットワーク(DNN)であり、入力された横顔画像データ310に対してコンボリューションおよびデコンボリューション処理を行い、横顔画像データ310から正面顔画像データ330を生成する。また、本実施形態の生成器210は、正面顔画像データ330を出力することによって求まる生成器用の損失関数の値を最小化するように、誤差逆伝播法により重み係数を更新して学習する。なお、生成器210の学習処理と識別器220の学習処理とは交互に実行され、生成器210の学習と識別器220の学習とは個別に進む。
識別器220は、生成器210により生成された正面顔画像データ330が「本物」の正面顔画像データである確率(評価値)を出力するとともに、生成器210により生成された正面顔画像データ330と「本物」の正面顔画像データ320とを正確に分類できるように学習する第2のニューラルネットワークである。本実施形態の識別器220は、エンコーダ型のDNNであり、入力された画像データに対してコンボリューション処理を行い、正面顔画像データ330が「本物」の正面顔画像データである確率を出力する。識別器220の学習時、識別器220には、生成器210により生成された正面顔画像データ330および「本物」の正面顔画像データ320の一方が入力される。識別器220は、入力された正面顔画像データが「本物」の正面顔画像データである確率を出力することによって求まる識別器用の損失関数の値を最小化するように、誤差逆伝播法により重み係数を更新して学習する。なお、生成器210および識別器220が交互に学習を行って損失関数の値を最適化する処理自体は、GANにおける一般的な学習処理であるため、詳細な説明は省略する。
確認器230は、GAN200の学習中に、生成器210が学習に失敗しているか否かを判断する。確認器230は、判断部として、生成器210に入力された複数の横顔画像データ310のばらつき、および、生成器210により生成された複数の正面顔画像データ330のばらつきに基づいて、生成器210が学習に失敗しているか否かを判断する。また、確認器230は、検出部および第1算出部として、正面顔画像データ330が示す画像から顔を検出するとともに、顔検出の信頼度を算出する。また、確認器230は、第2算出部として、2つの正面顔画像データ320,330の類似度を算出する。
なお、生成器210、識別器220、および確認器230の機能は、学習装置100の演算部110が、記憶部120に記憶されているプログラムを実行することによって実現される。
以上のとおり構成される学習装置100では、GAN200の生成器210の学習処理が実行される場合、生成器210の学習がうまくいっているか否かが学習の途中で判断される。以下、図3および図4を参照して、生成器210の学習時における学習装置100の動作について説明する。
図3および図4は、学習装置100により実行される生成器学習処理の手順を示すフローチャートである。なお、図3および図4に示すフローチャートの処理は、予め用意された多数の横顔画像データ310を生成器210に入力して生成器210を学習させる処理を所定のエポック数だけ行う過程において繰り返し実行される。
まず、学習装置100は、学習用に用意された多数の横顔画像データ310の中から、所定のバッチサイズの横顔画像データ310を抽出し、抽出した横顔画像データ310を生成器210に入力する(ステップS101)。
次に、生成器210は、生成器210に入力された横顔画像データ310から正面顔画像データ330を生成する(ステップS102)。
次に、学習装置100は、生成器210に入力された横顔画像データ310と、生成器210により生成された正面顔画像データ330とを記憶部120に記憶させる(ステップS103)。
次に、学習装置100は、生成器210により生成された正面顔画像データ330を識別器220に入力する(ステップS104)。
次に、識別器220は、識別器220に入力された正面顔画像データ330が「本物」の正面顔画像データである確率を出力する(ステップS105)。識別器220により確率(0〜1のスカラー値)が出力されれば、生成器用の損失関数の値が算出される。
次に、生成器210は、生成器用の損失関数の値を最小化するように、重み係数を更新して学習する(ステップS106)。
次に、学習装置100は、生成器210の重み係数が所定回数更新されたか否かを判断する(ステップS107)。ここで、所定回数は、生成器210の学習がうまくいっているか否かを判断する処理を開始する際の基準となる値であり、たとえば、エポック数をバッチサイズで除算した値と等しい値に設定される。
生成器210の重み係数が所定回数更新されたと判断する場合(ステップS107:YES)、学習装置100は、ステップS108の処理に移る。
一方、生成器210の重み係数が所定回数更新されていないと判断する場合(ステップS107:NO)、学習装置100は、ステップS101の処理に戻る。そして、学習装置100は、生成器210の重み係数が所定回数更新されるまで、ステップS101〜S107の処理を繰り返す。
以上のとおり、図3のステップS101〜S107に示す処理によれば、生成器210により横顔画像データ310から正面顔画像データ330が生成され、横顔画像データ310および正面顔画像データ330が記憶部120に記憶される。また、識別器220により正面顔画像データ330が本物である確率が出力され、出力された確率に基づいて、生成器210が学習を行う。
そして、ステップS107に示す処理において、生成器210の重み係数が所定回数更新されたと判断される場合(ステップS107:YES)、確認器230が、記憶部120に記憶されている所定回数分の横顔画像データ310および正面顔画像データ330を読み出す(ステップS108)。
次に、確認器230は、複数の横顔画像データ310のばらつきを算出する(ステップS109)。より具体的には、確認器230は、記憶部120から読み出された複数の横顔画像データ310について、複数の顔が同一人物の顔である確率を求める顔検証(Face Verification)を行い、異なる複数の横顔画像データ310の顔が同一人物の顔である確率を、横顔画像データ310のばらつきとして算出する。なお、本実施形態の顔検証では、複数の顔が同一人物である確率が高いほど(つまり、横顔画像データ310のばらつきが小さいほど)小さな値が算出される。また、顔検証には、公知のアルゴリズムが用いられ得る。
次に、確認器230は、複数の正面顔画像データ330のばらつきを算出する(ステップS110)。より具体的には、確認器230が、記憶部120から読み出された複数の正面顔画像データ330について、ステップS109の処理と同様の顔検証を行い、異なる複数の正面顔画像データ330の顔が同一人物の顔である確率を、正面顔画像データ330のばらつきとして算出する。
次に、確認器230は、複数の横顔画像データ310のばらつきが所定の閾値以上であるか否かを判断する(ステップS111)。ここで、所定の閾値は、複数の横顔画像データ310間にばらつきがあると判断する際の基準となる値であり、実験等に基づいて適宜設定される。
横顔画像データ310のばらつきが閾値以上でないと判断する場合(ステップS111:NO)、学習装置100は、ステップS115の処理に移る。
一方、横顔画像データ310のばらつきが閾値以上であると判断する場合(ステップS111:YES)、確認器230は、複数の正面顔画像データ330のばらつきが所定の閾値以上であるか否かを判断する(ステップS112)。ここで、所定の閾値は、複数の正面顔画像データ330間にばらつきがあると判断する際の基準となる値であり、実験等に基づいて適宜設定される。
正面顔画像データ330のばらつきが閾値以上であると判断する場合(ステップS112:YES)、学習装置100は、ステップS115の処理に移る。
一方、正面顔画像データ330のばらつきが閾値以上でないと判断する場合(ステップS112:NO)、確認器230は、生成器210が学習に失敗していると判断する(ステップS113)。より具体的には、確認器230は、生成器210に異なる画像データを入力しても、出力される画像データが同じになる「Mode Collapse」が発生しているとして、生成器210が学習に失敗していると判断する。
次に、学習装置100は、再学習を行うために、パラメーターを調整し(ステップS114)、処理を終了する。本実施形態では、学習装置100が、損失関数を構成する式の各項の係数を調整し、処理を終了する。その後、学習装置100は、調整後のパラメーターを用いて、生成器210の学習を最初から再び行う。なお、学習を再び行う場合、ベイズ最適化等の自動チューニング処理を行ってパラメーターが調整されてもよい。
以上のとおり、図3および図4のステップS108〜S114に示す処理によれば、生成器210の重み係数が所定回数更新された場合、記憶部120に記憶された横顔画像データ310および正面顔画像データ330が読み出され、横顔画像データ310間および正面顔画像データ330間のばらつきがそれぞれ算出される。そして、複数の横顔画像データ310間にばらつきがある一方で、複数の正面顔画像データ330間にばらつきがない場合、生成器210が学習に失敗していると判断される。
一方、ステップS111に示す処理において、横顔画像データ310のばらつきが閾値以上でないと判断する場合(ステップS111:NO)、または、ステップS112に示す処理において、正面顔画像データ330のばらつきが閾値以上であると判断する場合(ステップS112:YES)、確認器230は、現在のエポック数が所定の閾値(たとえば、100)以上であるか否かを判断する(ステップS115)。
エポック数が閾値以上でないと判断する場合(ステップS115:NO)、学習装置100は、生成器210が学習に失敗していないとして、処理を終了する。その結果、生成器210の学習が継続され、生成器学習処理が繰り返し実行される。
一方、エポック数が閾値以上であると判断する場合(ステップS115:YES)、確認器230は、正面顔画像データ330の顔検出を行う(ステップS116)。より具体的には、確認器230は、記憶部120から読み出された複数の正面顔画像データ330について、各画像データ330が示す画像から人の顔を検出する顔検出処理を行う。
次に、確認器230は、顔検出の信頼度を算出する(ステップS117)。より具体的には、確認器230は、複数の正面顔画像データ330について、顔として検出された矩形領域のサイズや数に基づいて顔検出の信頼度をそれぞれ算出する。本実施形態では、顔検出の信頼度が高いほど大きな値が算出される。なお、顔検出および顔検出の信頼度の算出には、公知のアルゴリズムが用いられ得る。
次に、確認器230は、顔検出の信頼度が所定の閾値以下であるか否かを判断する(ステップS118)。より具体的には、確認器230は、たとえば、複数の正面顔画像データ330の信頼度の平均値が所定の閾値以下であるか否かを判断する。ここで、所定の閾値は、生成器210の学習がうまくいっているか否かを判断する際の基準となる値であり、実験等に基づいて適宜設定される。
顔検出の信頼度が閾値以下であると判断する場合(ステップS118:YES)、確認器230は、生成器210が学習に失敗していると判断する(ステップS113)。そして、学習装置100は、再学習を行うために、パラメーターを調整し(ステップS114)、処理を終了する。
以上のとおり、図4のステップS113〜S118に示す処理によれば、複数の横顔画像データ310間にばらつきがない場合、または、複数の横顔画像データ310間にばらつきがあり、かつ、複数の正面顔画像データ330間にばらつきがある場合、現在のエポック数が所定の閾値以上であるか否かが判断される。そして、エポック数が閾値以上であり、かつ、顔検出の信頼度が閾値以下である場合、生成器210が学習に失敗していると判断される。なお、正面顔画像データ330が示す画像から顔が検出されなかった場合も、生成器210が学習に失敗していると判断される。
一方、ステップS118に示す処理において、顔検出の信頼度が閾値以下でないと判断する場合(ステップS118:NO)、確認器230は、正面顔画像データの類似度を算出する(ステップS119)。より具体的には、確認器230は、複数の正面顔画像データ330のそれぞれについて、まず、生成器210に入力された横顔画像データ310と対となるように用意された「本物」の正面顔画像データ320を読み出す。そして、確認器230は、正面顔画像データ330と「本物」の正面顔画像データ320との各画素の差分のノルムを、正面顔画像データの類似度として算出する。なお、本実施形態では、正面顔画像データの類似度が高いほど大きな値が算出される。また、ノルムは、L1ノルムおよびL2ノルムのいずれであってもよく、ノルムの算出には、公知のアルゴリズムが用いられ得る。
次に、確認器230は、正面顔画像データの類似度が所定の閾値以下であるか否かを判断する(ステップS120)。より具体的には、確認器230は、たとえば、複数の正面顔画像データ330の類似度の平均値が所定の閾値以下であるか否かを判断する。ここで、所定の閾値は、生成器210の学習がうまくいっているか否かを判断する際の基準となる値であり、実験等に基づいて適宜設定される。
正面顔画像データの類似度が閾値以下であると判断する場合(ステップS120:YES)、確認器230は、生成器210が学習に失敗していると判断する(ステップS113)。そして、学習装置100は、再学習を行うために、パラメーターを調整し(ステップS114)、処理を終了する。
一方、正面顔画像データの類似度が閾値以下でないと判断する場合(ステップS120:NO)、確認器230は、生成器210が学習に失敗していないとして、処理を終了する。その結果、生成器210の学習が継続され、生成器学習処理が繰り返し実行される。
以上のとおり、図4のステップS113〜S114およびS119〜S120に示す処理によれば、エポック数が閾値以上であり、かつ、正面顔画像データの類似度が閾値以下である場合、生成器210が学習に失敗していると判断される。
以上のとおり、本実施形態の生成器学習処理によれば、生成器210の学習時、生成器210の重み係数が所定回数更新される度に、横顔画像データ310および正面顔画像データ330のばらつきが算出される。そして、複数の横顔画像データ310間にばらつきがある一方で、複数の正面顔画像データ330間にばらつきがない場合、生成器210が学習に失敗していると判断される。このような構成によれば、「Mode Collpase」というGANの学習の典型的な失敗が学習中に認識され、学習効率が向上する。なお、本実施形態の生成器学習処理では、複数の横顔画像データ310間にばらつきがない一方で、複数の正面顔画像データ330間にばらつきがある場合、生成器210が学習に失敗しているとは判断されない。
また、本実施形態の生成器学習処理によれば、生成器210の重み係数が所定回数更新された場合、生成器210の学習がうまくいっているか否かが判断されるため、所定回数を適切な値(たとえば、100回)に設定することにより、生成器210の学習がうまくいっているか否かを確認器230が誤って判断することを防止できる。
また、本実施形態の生成器学習処理によれば、画像データのばらつきに基づいて学習に失敗していないと判断された場合であっても、正面顔画像データ330の顔検出が行われ、顔検出の信頼度が閾値以下または顔が検出されない場合、学習に失敗していると判断される。このような構成によれば、出力結果が所望の分布にならない(見た目が崩れる)というGANの学習の失敗が学習中に認識され、学習効率が一層向上する。
また、本実施形態の生成器学習処理によれば、正面顔画像データ320,330の類似度が算出され、類似度が閾値以下の場合、学習に失敗していると判断される。このような構成によれば、出力にノイズが乗るというGANの学習の失敗が学習中に認識され、学習効率がより一層向上する。
なお、本実施形態の生成器学習処理では、生成器210が学習に失敗していると判断された場合、再学習を行うために、パラメーターが調整された。しかしながら、本実施形態とは異なり、生成器210が学習に失敗していると判断された場合、パラメーターを調整することなく、学習が中止されてもよい。また、調整されるパラメーターは、損失関数の式中の係数に限定されるものではなく、エポック数やバッチサイズが調整されてもよく、DNNの層数が調整されてもよい。あるいは、DNNの構造自体が変更されてもよい。
次に、図5を参照して、本実施形態の生成器学習処理の作用効果についてより具体的に説明する。
図5は、比較例として、一般的なGAN(Conditional GAN)の概略構成を示すブロック図である。一般的なGANは、生成器210および識別器220を備えている。
生成器210は、エンコーダ・デコーダ型のDNNであり、横顔画像データ310から正面顔画像データ330を生成する。生成器210の学習時、生成器210により生成された正面顔画像データ330が「本物」の正面顔画像データである確率を識別器220が出力する。そして、生成器210は、その確率より定まる生成器用の損失関数の値を最小化するように、誤差逆伝播法により重み係数を更新して学習する。
識別器220は、エンコーダ型のDNNであり、正面顔画像データが「本物」の正面顔画像データである確率を出力する。識別器220の学習時、識別器220には、生成器210により生成された正面顔画像データ330および「本物」の正面顔画像データ320の一方が入力される。識別器220は、入力された正面顔画像データが「本物」の正面顔画像データである確率を出力し、その確率より定まる識別器用の損失関数の値を最小化するように、誤差逆伝播法により重み係数を更新して学習する。
図5に示される一般的なGANでは、生成器210の学習時、生成器210の学習に成功したか失敗したかは、生成器210の学習の終了後、生成器210の出力結果を人が実際に確認するまで分からない。このため、一般的なGANでは、生成器210の学習に失敗していることが認識された場合、長時間の学習がすべて無駄になり、学習効率が悪い。
一方、本実施形態に係る学習装置100で用いられるGAN200では、確認器230により、生成器210の学習がうまくいっているか否かが学習中に評価されるため、学習の終了を待つことなく、学習に失敗していることが認識される。その結果、学習に失敗した場合、長時間の学習がすべて無駄になる一般的なGANと比較して、無駄時間が短縮され、学習効率が向上する。
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
たとえば、上述した実施形態では、複数の横顔画像データ310のばらつき、および、複数の正面顔画像データ330のばらつきは、画像データ間の顔検証を行って求められた。しかしながら、複数の画像データのばらつきは、生成器210の畳み込み層から得られる特徴量を用いて求められてもよい。
また、上述した実施形態では、本発明が、顔の向きを補正する画像処理に適用される場合を例に挙げて説明した。しかしながら、本発明は、顔の向きを補正する画像処理のみに適用されるものではなく、たとえば、人の全身の画像から関節の位置を検出する画像処理にも適用され得る。さらに、本発明は、画像処理に適用されるのみならず、テキストを処理する自然言語処理や音声を処理する音声処理にも適用され得る。
上述した実施形態に係る学習装置100における各種処理を行う手段および方法は、専用のハードウエア回路、またはプログラムされたコンピューターのいずれによっても実現することが可能である。上記プログラムは、たとえば、CD−ROM(Compact Disc Read Only Memory)等のコンピューター読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピューター読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、学習装置100の一機能としてその装置のソフトウエアに組み込まれてもよい。
100 学習装置、
110 演算部、
120 記憶部、
130 表示部、
140 入力部、
150 通信インターフェース、
160 バス、
200 敵対的生成ネットワーク、
210 生成器、
220 識別器、
230 確認器、
310 横顔画像データ、
320,330 正面顔画像データ。
110 演算部、
120 記憶部、
130 表示部、
140 入力部、
150 通信インターフェース、
160 バス、
200 敵対的生成ネットワーク、
210 生成器、
220 識別器、
230 確認器、
310 横顔画像データ、
320,330 正面顔画像データ。
Claims (8)
- 入力データから出力データを生成するとともに、前記出力データの評価値に基づいて学習する第1のニューラルネットワークと、
前記出力データの前記評価値を出力するとともに、前記評価値に基づいて学習する第2のニューラルネットワークと、
前記入力データおよび前記出力データを記憶する記憶部と、
複数の前記入力データ間にばらつきがある一方で、複数の前記出力データ間にばらつきがない場合、前記第1のニューラルネットワークが学習に失敗していると判断する判断部と、
を有する学習装置。 - 前記判断部により前記第1のニューラルネットワークが学習に失敗していると判断される場合、学習を中止する、または、学習のパラメーターを調整して再学習する、請求項1に記載の学習装置。
- 前記第1のニューラルネットワークが、前記入力データから前記出力データを生成し、当該出力データの評価値に基づいて学習する処理を所定回数繰り返した後、前記判断部は、前記第1のニューラルネットワークが学習に失敗しているか否かを判断する、請求項1または2に記載の学習装置。
- 前記入力データは、人の顔を撮像して得られた画像データであり、前記第1のニューラルネットワークは、顔の向きが補正された画像データを前記出力データとして生成し、
前記判断部は、複数の前記入力データ間にばらつきがない一方で、複数の前記出力データ間にばらつきがある場合、前記第1のニューラルネットワークが学習に失敗しているとは判断しない、請求項1〜3のいずれか1項に記載の学習装置。 - 前記出力データが示す画像から顔を検出する検出部と、
前記検出部による顔検出の信頼度を算出する第1算出部と、をさらに有し、
学習時のエポック数が所定の閾値以上であり、かつ、前記信頼度が所定の閾値以下または前記検出部により顔が検出されない場合、前記判断部は、前記第1のニューラルネットワークが学習に失敗していると判断する、請求項4に記載の学習装置。 - 前記第1のニューラルネットワークによる補正後の顔の向きと同じ顔の向きになるように、前記入力データと同じ人の顔を撮像して得られた他の画像データが存在し、
前記学習装置は、
同一の入力データに対応する前記出力データと前記他の画像データとの類似度を算出する第2算出部をさらに有し、
学習時のエポック数が所定の閾値以上であり、かつ、前記類似度が所定の閾値以下である場合、前記判断部は、前記第1のニューラルネットワークが学習に失敗していると判断する、請求項4または5に記載の学習装置。 - 入力データから出力データを生成するとともに前記出力データの評価値に基づいて学習する第1のニューラルネットワークと、前記出力データの前記評価値を出力するとともに前記評価値に基づいて学習する第2のニューラルネットワークとを有する学習装置において使用される学習方法であって、
前記第1のニューラルネットワークに入力データを入力して出力データを生成させるステップ(a)と、
前記入力データおよび前記出力データを記憶部に記憶させるステップ(b)と、
前記第2のニューラルネットワークに前記出力データを入力して前記出力データの評価値を出力させるステップ(c)と、
前記評価値に基づいて、前記第1のニューラルネットワークを学習させるステップ(d)と、
複数の前記入力データ間にばらつきがある一方で、複数の前記出力データ間にばらつきがない場合、前記第1のニューラルネットワークが学習に失敗していると判断するステップ(e)と、
を有する学習方法。 - 入力データから出力データを生成するとともに前記出力データの評価値に基づいて学習する第1のニューラルネットワークと、前記出力データの前記評価値を出力するとともに前記評価値に基づいて学習する第2のニューラルネットワークとを有する学習装置において実行される学習プログラムであって、
前記第1のニューラルネットワークに入力データを入力して出力データを生成させる手順(a)と、
前記入力データおよび前記出力データを記憶部に記憶させる手順(b)と、
前記第2のニューラルネットワークに前記出力データを入力して前記出力データの評価値を出力させる手順(c)と、
前記評価値に基づいて、前記第1のニューラルネットワークを学習させる手順(d)と、
複数の前記入力データ間にばらつきがある一方で、複数の前記出力データ間にばらつきがない場合、前記第1のニューラルネットワークが学習に失敗していると判断する手順(e)と、
をコンピューターに実行させるための学習プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018003384A JP2019125014A (ja) | 2018-01-12 | 2018-01-12 | 学習装置、学習方法、および学習プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018003384A JP2019125014A (ja) | 2018-01-12 | 2018-01-12 | 学習装置、学習方法、および学習プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019125014A true JP2019125014A (ja) | 2019-07-25 |
Family
ID=67398768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018003384A Pending JP2019125014A (ja) | 2018-01-12 | 2018-01-12 | 学習装置、学習方法、および学習プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019125014A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021137415A1 (ko) * | 2019-12-30 | 2021-07-08 | 포항공과대학교 산학협력단 | 머신 러닝에 기반한 이미지 처리 방법 및 장치 |
EP4109352A1 (en) | 2021-06-23 | 2022-12-28 | Fujitsu Limited | Computer-readable recording medium, information processing method, and information processing apparatus |
JP7571167B2 (ja) | 2022-01-27 | 2024-10-22 | ディープマインド テクノロジーズ リミテッド | 自動的に発見される不合格ケースを使用した、性能の向上したニューラルネットワーク |
-
2018
- 2018-01-12 JP JP2018003384A patent/JP2019125014A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021137415A1 (ko) * | 2019-12-30 | 2021-07-08 | 포항공과대학교 산학협력단 | 머신 러닝에 기반한 이미지 처리 방법 및 장치 |
EP4109352A1 (en) | 2021-06-23 | 2022-12-28 | Fujitsu Limited | Computer-readable recording medium, information processing method, and information processing apparatus |
JP7571167B2 (ja) | 2022-01-27 | 2024-10-22 | ディープマインド テクノロジーズ リミテッド | 自動的に発見される不合格ケースを使用した、性能の向上したニューラルネットワーク |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021027759A1 (en) | Facial image processing | |
CN106462724B (zh) | 基于规范化图像校验面部图像的方法和系统 | |
CN112927357A (zh) | 一种基于动态图网络的3d物体重建方法 | |
WO2020038254A1 (zh) | 一种用于目标识别的图像处理方法及装置 | |
JP2018200690A (ja) | 情報処理方法及び情報処理装置 | |
CN108205655A (zh) | 一种关键点预测方法、装置、电子设备及存储介质 | |
JP7263216B2 (ja) | ワッサースタイン距離を使用する物体形状回帰 | |
CN110706303B (zh) | 基于GANs的人脸图像生成方法 | |
CN110084193A (zh) | 用于面部图像生成的数据处理方法、设备和介质 | |
JP2020013563A (ja) | 意味的情報に基づいてフォトリアリスティックな合成画像を生成するためのシステムおよび方法 | |
JP2019197311A (ja) | 学習方法、学習プログラム、および学習装置 | |
CN109558904A (zh) | 图像局部特征的分类方法、装置和存储介质 | |
WO2021097156A1 (en) | Occlusion-aware indoor scene analysis | |
Wu et al. | Attentive evolutionary generative adversarial network | |
JP2019125014A (ja) | 学習装置、学習方法、および学習プログラム | |
KR102079027B1 (ko) | 딥러닝 기술을 이용한 위상최적설계 방법 | |
Ostonov et al. | Rlss: A deep reinforcement learning algorithm for sequential scene generation | |
CN104573737A (zh) | 特征点定位的方法及装置 | |
CN117671146A (zh) | 基于循环扩散模型的单视图三维重建方法 | |
US20230281981A1 (en) | Methods, devices, and computer readable media for training a keypoint estimation network using cgan-based data augmentation | |
KR20210018114A (ko) | 교차 도메인 메트릭 학습 시스템 및 방법 | |
EP3076370B1 (en) | Method and system for selecting optimum values for parameter set for disparity calculation | |
JP2023009344A (ja) | 生成方法、情報処理装置、プログラム、及び情報処理システム | |
US11393069B2 (en) | Image processing apparatus, image processing method, and computer readable recording medium | |
Unal et al. | Customized design of hearing aids using statistical shape learning |