(57)【要約】  複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、生成目標の画像である実画像に相当する画像を生成する画像生成部（２）と、画像生成部（２）により生成された画像が実画像であるか否かを識別する画像識別部（３）と、画像識別部（３）の識別結果を用いて、複数の畳み込みフィルタのフィルタ係数を更新するフィルタ係数更新部（４）と、複数の畳み込みフィルタの重要度に基づいて、複数の畳み込みフィルタの中の１つ以上の畳み込みフィルタを削除するフィルタ削除部（６）とを備え、画像生成部（２）は、フィルタ係数更新部（４）によりフィルタ係数が更新された複数の畳み込みフィルタのうち、フィルタ削除部（６）により削除されずに残っている畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、実画像に相当する画像を生成するように、画像生成装置を構成した。
2020105144.tif 000002
【特許請求の範囲】
【請求項１】
複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、生成目標の画像である実画像に相当する画像を生成する画像生成部と、
前記画像生成部により生成された画像が前記実画像であるか否かを識別する画像識別部と、
前記画像識別部の識別結果を用いて、前記複数の畳み込みフィルタのフィルタ係数を更新するフィルタ係数更新部と、
前記複数の畳み込みフィルタの重要度に基づいて、前記複数の畳み込みフィルタの中の１つ以上の畳み込みフィルタを削除するフィルタ削除部とを備え、
前記画像生成部は、前記フィルタ係数更新部によりフィルタ係数が更新された複数の畳み込みフィルタのうち、前記フィルタ削除部により削除されずに残っている畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、前記実画像に相当する画像を生成することを特徴とする画像生成装置。
【請求項２】
前記画像生成部は、
前記畳み込みニューラルネットワークにおけるそれぞれの畳み込み層において、
当該畳み込み層に含まれる複数の畳み込みフィルタのそれぞれを用いて、入力信号に対するフィルタ処理をそれぞれ実施したのち、フィルタ処理後のそれぞれの入力信号に対して、それぞれのスケーリング係数を乗算し、
当該畳み込み層が最終段の畳み込み層でなければ、当該畳み込み層に含まれる複数の畳み込みフィルタが、スケーリング係数乗算後のそれぞれの入力信号を次段の畳み込み層に出力し、
当該畳み込み層が最終段の畳み込み層であれば、当該畳み込み層に含まれる複数の畳み込みフィルタが、生成した画像として、スケーリング係数乗算後のそれぞれの入力信号を前記画像識別部に出力することを特徴とする請求項１記載の画像生成装置。
【請求項３】
前記画像識別部は、前記画像生成部により生成された画像が前記実画像であるか否かの識別結果と、それぞれのスケーリング係数とから、前記画像生成部における前記畳み込みニューラルネットワークの学習誤差を算出し、
前記フィルタ係数更新部は、前記画像識別部により算出された学習誤差が小さくなるように、前記複数の畳み込みフィルタのフィルタ係数を更新することを特徴とする請求項１記載の画像生成装置。
【請求項４】
前記画像識別部により算出された学習誤差が小さくなるように、それぞれのスケーリング係数を更新するスケーリング係数更新部を備えたことを特徴とする請求項３記載の画像生成装置。
【請求項５】
前記フィルタ削除部は、前記スケーリング係数更新部による更新後のそれぞれのスケーリング係数に基づいて、前記複数の畳み込みフィルタの重要度を算出することを特徴とする請求項４記載の画像生成装置。
【請求項６】
前記画像識別部は、複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、前記画像生成部により生成された画像が前記実画像であるか否かを識別することを特徴とする請求項１記載の画像生成装置。
【請求項７】
前記画像生成部、前記画像識別部及び前記フィルタ係数更新部におけるそれぞれの処理と、前記フィルタ削除部の処理とを交互に繰り返すことで、前記畳み込みニューラルネットワークが有する畳み込みフィルタを段階的に削除することを特徴とする請求項１記載の画像生成装置。
【請求項８】
画像生成部が、複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、生成目標の画像である実画像に相当する画像を生成し、
画像識別部が、前記画像生成部により生成された画像が前記実画像であるか否かを識別し、
フィルタ係数更新部が、前記画像識別部の識別結果を用いて、前記複数の畳み込みフィルタのフィルタ係数を更新し、
フィルタ削除部が、前記複数の畳み込みフィルタの重要度に基づいて、前記複数の畳み込みフィルタの中の１つ以上の畳み込みフィルタを削除するものであり、
前記画像生成部は、前記フィルタ係数更新部によりフィルタ係数が更新された複数の畳み込みフィルタのうち、前記フィルタ削除部により削除されずに残っている畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、前記実画像に相当する画像を生成することを特徴とする画像生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、生成対象の画像である実画像に相当する画像を生成する画像生成装置及び画像生成方法に関するものである。
【背景技術】
【０００２】
以下の非特許文献１には、敵対的生成ネットワーク（ＧＡＮ：Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋ）を用いて、低次元のノイズベクトルから写実的な画像を生成する画像生成装置が開示されている。
ＧＡＮを用いる画像生成装置は、畳み込みニューラルネットワークを用いる生成器と、畳み込みニューラルネットワークを用いる識別器とを備えている。
生成器は、畳み込みニューラルネットワークを用いて、ノイズベクトルから、生成目標の画像（以下、「実画像」と称する）に近い画像（以下、「生成画像」と称する）を生成する。
識別器は、何らかの画像が入力されると、畳み込みニューラルネットワークを用いて、入力された画像が、生成器により生成された生成画像であるのか、実画像であるのかを識別する。【０００３】
ＧＡＮでは、生成器と識別器が、互いに敵対しながら、畳み込みニューラルネットワークの学習を行う。
具体的には、生成器は、識別器を騙せるように、出来るだけ、実画像であるか否かの識別が困難な写実的な画像が生成されるように、畳み込みニューラルネットワークの学習を行う。
一方、識別器は、生成器に騙されないように、入力された画像が、生成器により生成された生成画像であるのか、実画像であるのかを識別できるように学習を行う。
生成器と識別器が学習を繰り返すことで、生成器により最終的に生成される画像は、実画像であるか否かの識別が困難な画像になる。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ａｌｅｃ  Ｒａｄｆｏｒｄ，  Ｌｕｋｅ  Ｍｅｔｚ，ａｎｄ  Ｓｏｕｍｉｔｈ  Ｃｈｉｎｔａｌａ，“Ｕｎｓｕｐｅｒｖｉｓｅｄ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎ  Ｌｅａｒｎｉｎｇ  ｗｉｔｈ  Ｄｅｅｐ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｇｅｎｅｒａｔｉｖｅ  Ａｄｖｅｒｓａｒｉａｌ  Ｎｅｔｗｏｒｋｓ，”  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｌｅａｒｎｉｎｇ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ（２０１６）．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＧＡＮを用いる画像生成装置の生成器は、実画像であるか否かの識別が困難な生成画像を得るために、大規模な畳み込みニューラルネットワークを用いることがある。
生成器が用いる畳み込みニューラルネットワークの規模と、生成器の演算量とは正比例するため、生成器が大規模な畳み込みニューラルネットワークを用いる場合、生成器の演算量が極めて大きくなることがあるという課題があった。
なお、生成器の演算量が大きい場合、高速の画像生成が必要とされる組み込み機器、あるいは、メモリなどの計算資源が限られている組み込み機器などには、画像生成装置を適用することが困難である。【０００６】
この発明は上記のような課題を解決するためになされたもので、画像の生成に用いる畳み込みニューラルネットワークの規模を削減することができる画像生成装置及び画像生成方法を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る画像生成装置は、複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、生成目標の画像である実画像に相当する画像を生成する画像生成部と、画像生成部により生成された画像が実画像であるか否かを識別する画像識別部と、画像識別部の識別結果を用いて、複数の畳み込みフィルタのフィルタ係数を更新するフィルタ係数更新部と、複数の畳み込みフィルタの重要度に基づいて、複数の畳み込みフィルタの中の１つ以上の畳み込みフィルタを削除するフィルタ削除部とを備え、画像生成部が、フィルタ係数更新部によりフィルタ係数が更新された複数の畳み込みフィルタのうち、フィルタ削除部により削除されずに残っている畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、実画像に相当する画像を生成するようにしたものである。
【発明の効果】
【０００８】
この発明によれば、複数の畳み込みフィルタの重要度に基づいて、複数の畳み込みフィルタの中の１つ以上の畳み込みフィルタを削除するフィルタ削除部を備え、画像生成部が、フィルタ係数更新部によりフィルタ係数が更新された複数の畳み込みフィルタのうち、フィルタ削除部により削除されずに残っている畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、実画像に相当する画像を生成するように、画像生成装置を構成した。したがって、この発明に係る画像生成装置は、画像の生成に用いる畳み込みニューラルネットワークの規模を削減することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る画像生成装置を示す構成図である。
【図２】実施の形態１に係る画像生成装置のハードウェアを示すハードウェア構成図である。
【図３】画像生成装置がソフトウェア又はファームウェアなどで実現される場合のコンピュータのハードウェア構成図である。
【図４】画像生成装置がソフトウェア又はファームウェアなどで実現される場合の処理手順である画像生成方法を示すフローチャートである。
【図５】畳み込みニューラルネットワークの概念を示す説明図である。
【図６】複数の畳み込みフィルタの出力に対するスケーリング係数α０，α１，α２，・・・，αＪ−１の乗算を示す説明図である。
【図７】畳み込みフィルタＦ１を段階的に削除する画像生成装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
【００１１】
実施の形態１．
図１は、実施の形態１に係る画像生成装置を示す構成図である。図２は、実施の形態１に係る画像生成装置のハードウェアを示すハードウェア構成図である。
図１及び図２において、画像生成装置は、画像処理部８及び制御部９を備えている。
画像処理部８は、入力部１、画像生成部２、画像識別部３、フィルタ係数更新部４、スケーリング係数更新部５、フィルタ削除部６及び出力部７を備えている。
入力部１は、例えば、図２に示す入力回路１１によって実現される。
入力部１は、入力信号として、ランダム数値列などのノイズベクトル、あるいは、生成目標の画像（以下、「実画像」と称する）と異なる画像などの入力を受け付ける。また、入力部１は、実画像の入力を受け付ける。
入力部１は、入力信号を画像生成部２に出力し、実画像を画像識別部３に出力する。
【００１２】
画像生成部２は、例えば、図２に示す画像生成回路１２によって実現される。
画像生成部２は、複数の畳み込みフィルタＦ１を有する畳み込みニューラルネットワークＮ１を用いて、入力信号から、実画像に相当する画像（以下、「生成画像」と称する）を生成する。
画像生成部２は、生成画像を画像識別部３及び出力部７のそれぞれに出力する。
画像生成部２において、実画像であるか否かの識別が困難な写実的な画像が、生成画像として生成されるように、畳み込みニューラルネットワークＮ１の学習が行われ、フィルタ係数更新部４によって、複数の畳み込みフィルタＦ１のフィルタ係数が更新される。
【００１３】
画像識別部３は、例えば、図２に示す画像識別回路１３によって実現される。
画像識別部３は、複数の畳み込みフィルタＦ２を有する畳み込みニューラルネットワークＮ２を用いて、生成画像が実画像であるか否かの識別処理を実施する。
画像識別部３は、生成画像が実画像であるか否かの識別結果と、スケーリング係数更新部５から出力されたそれぞれのスケーリング係数とから、画像生成部２における畳み込みニューラルネットワークＮ１の学習誤差を算出する。
画像識別部３は、学習誤差をフィルタ係数更新部４及びスケーリング係数更新部５のそれぞれに出力する。
画像識別部３において、生成画像と実画像が高精度に識別されるように、畳み込みニューラルネットワークＮ２の学習が行われ、フィルタ係数更新部４によって、複数の畳み込みフィルタＦ２のフィルタ係数が更新される。
【００１４】
フィルタ係数更新部４は、例えば、図２に示すフィルタ係数更新回路１４によって実現される。
フィルタ係数更新部４は、画像識別部３の識別結果を用いて、複数の畳み込みフィルタＦ１のフィルタ係数を更新する。
具体的には、フィルタ係数更新部４は、画像識別部３により算出された学習誤差が小さくなるように、複数の畳み込みフィルタＦ１のフィルタ係数を更新する。
フィルタ係数更新部４は、複数の畳み込みフィルタＦ１の更新後のフィルタ係数を画像生成部２に出力する。
また、フィルタ係数更新部４は、画像識別部３によって、生成画像と実画像が高精度に識別されるように、複数の畳み込みフィルタＦ２のフィルタ係数を更新し、複数の畳み込みフィルタＦ２の更新後のフィルタ係数を画像識別部３に出力する。
【００１５】
スケーリング係数更新部５は、例えば、図２に示すスケーリング係数更新回路１５によって実現される。
スケーリング係数更新部５は、画像識別部３により算出された学習誤差が小さくなるように、複数のスケーリング係数を更新する。スケーリング係数は、例えば、０〜１の係数である。
スケーリング係数更新部５は、更新後の複数のスケーリング係数を画像生成部２、画像識別部３及びフィルタ削除部６のそれぞれに出力する。
【００１６】
フィルタ削除部６は、例えば、図２に示すフィルタ削除回路１６によって実現される。
フィルタ削除部６は、スケーリング係数更新部５による更新後のそれぞれのスケーリング係数に基づいて、複数の畳み込みフィルタＦ１の全てについて、各畳み込みフィルタＦ１の重要度を算出する。
フィルタ削除部６は、複数の畳み込みフィルタＦ１の重要度に基づいて、複数の畳み込みフィルタＦ１の中の１つ以上の畳み込みフィルタを削除する。
【００１７】
出力部７は、例えば、図２に示す出力回路１７によって実現される。
出力部７は、画像生成部２から出力された生成画像を外部に出力する。
制御部９は、例えば、図２に示す制御回路１８によって実現される。
制御部９は、画像処理部８の処理を制御する。また、制御部９は、学習結果として、畳み込みフィルタＦ１のフィルタ係数及びスケーリング係数などを保存する。
【００１８】
図１では、画像生成装置の構成要素である入力部１、画像生成部２、画像識別部３、フィルタ係数更新部４、スケーリング係数更新部５、フィルタ削除部６、出力部７及び制御部９のそれぞれが、図２に示すような専用のハードウェアで実現されるものを想定している。即ち、画像生成装置が、入力回路１１、画像生成回路１２、画像識別回路１３、フィルタ係数更新回路１４、スケーリング係数更新回路１５、フィルタ削除回路１６、出力回路１７及び制御回路１８で実現されるものを想定している。
ここで、入力回路１１、画像生成回路１２、画像識別回路１３、フィルタ係数更新回路１４、スケーリング係数更新回路１５、フィルタ削除回路１６、出力回路１７及び制御回路１８のそれぞれは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又は、これらを組み合わせたものが該当する。
【００１９】
画像生成装置の構成要素は、専用のハードウェアで実現されるものに限るものではなく、画像生成装置がソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせで実現されるものであってもよい。
ソフトウェア又はファームウェアは、プログラムとして、コンピュータのメモリに格納される。コンピュータは、プログラムを実行するハードウェアを意味し、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、あるいは、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）が該当する。
図３は、画像生成装置がソフトウェア又はファームウェアなどで実現される場合のコンピュータのハードウェア構成図である。
【００２０】
画像生成装置がソフトウェア又はファームウェアなどで実現される場合、入力部１、画像生成部２、画像識別部３、フィルタ係数更新部４、スケーリング係数更新部５、フィルタ削除部６、出力部７及び制御部９の処理手順をコンピュータに実行させるためのプログラムがメモリ３１に格納される。そして、コンピュータのプロセッサ３２がメモリ３１に格納されているプログラムを実行する。
図４は、画像生成装置がソフトウェア又はファームウェアなどで実現される場合の処理手順である画像生成方法を示すフローチャートである。
また、図２では、画像生成装置の構成要素のそれぞれが専用のハードウェアで実現される例を示し、図３では、画像生成装置がソフトウェア又はファームウェアなどで実現される例を示している。しかし、これは一例に過ぎず、画像生成装置における一部の構成要素が専用のハードウェアで実現され、残りの構成要素がソフトウェア又はファームウェアなどで実現されるものであってもよい。
【００２１】
次に、図１に示す画像生成装置の動作について説明する。
まず、入力部１は、入力信号の入力を受け付けるほか、実画像の入力を受け付ける。
入力部１は、受け付けた入力信号を画像生成部２に出力し、受け付けた実画像を画像識別部３に出力する。
【００２２】
フィルタ係数更新部４は、複数の畳み込みフィルタＦ１のフィルタ係数の初期値を画像生成部２に出力する。フィルタ係数の初期値は、例えば、乱数を用いて決定される。
スケーリング係数更新部５は、複数のスケーリング係数α０，α１，α２，・・・，αＪ−１の初期値を画像生成部２に出力する。スケーリング係数α０，α１，α２，・・・，αＪ−１の初期値は、例えば、１に決定される。
【００２３】
画像生成部２は、入力部１から入力信号を受けると、複数の畳み込みフィルタＦ１を有する畳み込みニューラルネットワークＮ１を用いて、入力信号から実画像に相当する生成画像を生成する（図４のステップＳＴ１）。
画像生成部２は、生成画像を画像識別部３に出力する。
【００２４】
以下、画像生成部２による生成画像の生成処理を具体的に説明する。
図５は、畳み込みニューラルネットワークの概念を示す説明図である。
畳み込みニューラルネットワークは、図５に示すように、複数の畳み込みフィルタによって複数の畳み込み層が構成されて、複数の畳み込み層が積み重ねられたものである。
まず、画像生成部２は、それぞれの畳み込み層において、当該畳み込み層に含まれる複数の畳み込みフィルタのフィルタ係数を用いて、入力信号に対するフィルタ処理をそれぞれ実施することで、入力信号の特徴を抽出する。
【００２５】
次に、画像生成部２は、図６に示すように、抽出した特徴を示している複数の畳み込みフィルタの出力であるフィルタ処理後のそれぞれの入力信号に対して、それぞれのスケーリング係数α０，α１，α２，・・・，αＪ−１を乗算する。
図６は、複数の畳み込みフィルタの出力に対するスケーリング係数α０，α１，α２，・・・，αＪ−１の乗算を示す説明図である。
画像生成部２は、当該畳み込み層が、最終段の畳み込み層でなければ、複数の畳み込みフィルタの出力として、スケーリング係数乗算後のそれぞれの入力信号を次段の畳み込み層に出力する。
当該畳み込み層が、最終段の畳み込み層であれば、スケーリング係数乗算後のそれぞれの入力信号は、画像生成部２により生成された生成画像に相当し、画像生成部２は、生成画像を画像識別部３に出力する。
【００２６】
画像識別部３は、複数の畳み込みフィルタＦ２を有する畳み込みニューラルネットワークＮ２を用いて、画像生成部２から出力された生成画像が、入力部１から出力された実画像であるか否かの識別処理を実施する（図４のステップＳＴ２）。
画像識別部３は、以下の式（１）に示すように、生成画像が実画像であるか否かの識別結果ｌＧＡＮと、複数の畳み込みフィルタＦ１の出力に対するスケーリング係数α０，α１，α２，・・・，αＪ−１とから、学習誤差Ｓｅを算出する（図４のステップＳＴ３）。
画像識別部３によって、生成画像が実画像であると識別された場合の識別結果ｌＧＡＮは、例えば、０であり、生成画像が実画像と異なる画像と識別された場合の識別結果ｌＧＡＮは、例えば、１である。
【００２７】
2020105144.tif 000003
式（１）において、ｇ（αｊ）は、例えば、スケーリング係数αｊの絶対値計算を行う関数である。Ｊは、複数の畳み込みフィルタＦ１のそれぞれに対応するスケーリング係数の数である。
λは、学習誤差Ｓｅに対するスケーリング係数αｊの影響度を調整するための変数であり、１０−５などの任意の値が用いられる。
画像識別部３は、学習誤差Ｓｅをフィルタ係数更新部４及びスケーリング係数更新部５のそれぞれに出力する。
【００２８】
フィルタ係数更新部４は、画像識別部３から学習誤差Ｓｅを受けると、学習誤差Ｓｅが小さくなるように、複数の畳み込みフィルタＦ１のフィルタ係数を更新する（図４のステップＳＴ４）。畳み込みフィルタＦ１のフィルタ係数の更新処理自体は、公知の技術であるため詳細な説明を省略する。
フィルタ係数更新部４は、複数の畳み込みフィルタＦ１の更新後のフィルタ係数を画像生成部２に出力する。
また、フィルタ係数更新部４は、画像識別部３によって、生成画像と実画像が高精度に識別されるように、複数の畳み込みフィルタＦ２のフィルタ係数を更新し、複数の畳み込みフィルタＦ２の更新後のフィルタ係数を画像識別部３に出力する。畳み込みフィルタＦ２のフィルタ係数の更新処理自体は、公知の技術であるため詳細な説明を省略する。
【００２９】
スケーリング係数更新部５は、画像識別部３から学習誤差Ｓｅを受けると、学習誤差Ｓｅが小さくなるように、複数のスケーリング係数αｊを更新する（図４のステップＳＴ５）。スケーリング係数αｊの更新処理自体は、公知の技術であるため詳細な説明を省略する。
スケーリング係数更新部５は、更新後の複数のスケーリング係数αｊを画像生成部２、画像識別部３及びフィルタ削除部６のそれぞれに出力する。
【００３０】
制御部９は、ステップＳＴ１〜ＳＴ５の処理が反復されるように、画像生成部２、画像識別部３、フィルタ係数更新部４及びスケーリング係数更新部５の動作を制御する。
ステップＳＴ１〜ＳＴ５の処理が反復されることで、徐々に、学習誤差Ｓｅが小さくなっていく。
具体的には、制御部９は、ステップＳＴ１〜ＳＴ５の処理の反復回数が閾値未満であれば（図４のステップＳＴ６：ＹＥＳの場合）、ステップＳＴ１〜ＳＴ５の処理を繰り返し実施させる。
制御部９は、ステップＳＴ１〜ＳＴ５の処理の反復回数が閾値に到達すると（図４のステップＳＴ６：ＮＯの場合）、ステップＳＴ１〜ＳＴ５の処理を終了させる。
制御部９は、ステップＳＴ１〜ＳＴ５の処理を終了させると、学習結果として、処理終了時における複数の畳み込みフィルタＦ１のフィルタ係数及び処理終了時における複数のスケーリング係数αｊのそれぞれを保存する（図４のステップＳＴ７）。
なお、閾値は、制御部９の内部メモリに記憶されているものであってもよいし、外部から与えられるものであってもよい。
【００３１】
フィルタ削除部６は、畳み込みニューラルネットワークＮ１が有する複数の畳み込みフィルタＦ１の中で、重要度が低い畳み込みフィルタＦ１を削除することで、畳み込みニューラルネットワークＮ１の規模を削減する（図４のステップＳＴ８）。
重要度が低い畳み込みフィルタＦ１は、画像の生成に大きな影響を与えない畳み込みフィルタを意味する。
以下、フィルタ削除部６による畳み込みニューラルネットワークＮ１の規模の削減処理を具体的に説明する。
【００３２】
フィルタ削除部６は、制御部９により保存されている複数のスケーリング係数αｊ（ｊ＝０，１，２，・・・，Ｊ−１）を取得する。
スケーリング係数αｊは、畳み込みフィルタＦ１の出力に乗算される係数であり、スケーリング係数αｊが大きい程、畳み込みフィルタＦ１の出力が大きくなる。出力が大きい畳み込みフィルタＦ１は、画像の生成に大きな影響を与え、出力が小さい畳み込みフィルタＦ１は、画像の生成に与える影響が小さい。
したがって、スケーリング係数αｊは、畳み込みフィルタＦ１の重要度を決定する要素となる。つまり、大きいスケーリング係数αｊが、出力に乗算される畳み込みフィルタＦ１は、重要度が高く、小さいスケーリング係数αｊが、出力に乗算される畳み込みフィルタＦ１は、重要度が低いと考えられる。
重要度が低い畳み込みフィルタＦ１は、画像の生成に与える影響が相対的に小さいため、削除されても、画像の生成精度に対する影響が相対的に小さい。
【００３３】
そこで、フィルタ削除部６は、以下の式（２）に示すように、スケーリング係数αｊに基づいて、スケーリング係数αｊが、出力に乗算される畳み込みフィルタＦ１の重要度Ｉｍｊを算出する。
2020105144.tif 000004
式（２）において、ｈ（αｊ）は、例えば、αｊが大きい程、大きな値を返す関数である。
【００３４】
フィルタ削除部６は、畳み込みニューラルネットワークＮ１が有する複数の畳み込みフィルタＦ１のうち、重要度Ｉｍｊが高い上位Ｘ％の畳み込みフィルタＦ１を残して、他の畳み込みフィルタＦ１を削除する。
あるいは、フィルタ削除部６は、複数の畳み込みフィルタＦ１のうち、重要度Ｉｍｊが設定値よりも高い畳み込みフィルタＦ１を残して、重要度Ｉｍｊが設定値以下の畳み込みフィルタＦ１を削除する。
ここで、上位Ｘ％及び設定値は、フィルタ削除部６の内部メモリに記憶されているものであってもよいし、外部から与えられるものであってもよい。
【００３５】
制御部９は、フィルタ削除部６による畳み込みニューラルネットワークＮ１の規模の削減処理が終了すると、規模削減後の学習結果として、削除されずに残っている畳み込みフィルタＦ１のフィルタ係数を保存する。また、制御部９は、削除されずに残っている畳み込みフィルタＦ１の出力に乗算するスケーリング係数αｊを保存する。
以上により、図１に示す画像生成装置の学習が完了する。
以降、入力部１が、入力信号の入力を受け付けると、画像生成部２が、学習が完了している畳み込みニューラルネットワークＮ１を用いて、入力信号から生成画像を生成する。
【００３６】
以下、画像生成部２による画像の生成処理を具体的に説明する。
まず、画像生成部２は、規模削減後の学習結果として、制御部９により保存されている畳み込みフィルタＦ１のフィルタ係数及びスケーリング係数αｊを取得する。
次に、画像生成部２は、取得したフィルタ係数及びスケーリング係数αｊを用いて、入力信号から生成画像を生成する。画像の生成処理自体は、学習時における画像の生成処理と同様である。
画像生成部２は、生成画像を出力部７に出力する。
出力部７は、画像生成部２から生成画像を受けると、生成画像を外部に出力する。
【００３７】
以上の実施の形態１は、複数の畳み込みフィルタＦ１の重要度に基づいて、複数の畳み込みフィルタＦ１の中の１つ以上の畳み込みフィルタを削除するフィルタ削除部６を備え、画像生成部２が、フィルタ係数更新部４によりフィルタ係数が更新された複数の畳み込みフィルタＦ１のうち、フィルタ削除部６により削除されずに残っている畳み込みフィルタを有する畳み込みニューラルネットワークＮ１を用いて、入力信号から、実画像に相当する画像を生成するように、画像生成装置を構成した。したがって、画像生成装置は、画像の生成に用いる畳み込みニューラルネットワークＮ１の規模を削減することができる。
【００３８】
図１に示す画像生成装置では、画像生成部２が、規模削減後の学習結果として、制御部９により保存されている畳み込みフィルタＦ１のフィルタ係数及びスケーリング係数αｊを用いて、入力信号から生成画像を生成している。
しかし、これは一例に過ぎず、画像生成部２が、入力信号から生成画像を生成する前に、画像生成装置が、畳み込みニューラルネットワークＮ１を再学習するようにしてもよい。
具体的には、画像生成装置が、フィルタ削除部６により削除されずに残っている畳み込みフィルタＦ１を用いて、図４のステップＳＴ１〜ＳＴ７の処理を実施することで、畳み込みニューラルネットワークＮ１を再学習するようにしてもよい。
制御部９は、再学習結果として、再学習に伴う畳み込みフィルタＦ１の更新後のフィルタ係数と、再学習に伴う更新後のスケーリング係数αｊとを保存する。
画像生成部２は、再学習結果として、制御部９により保存されている畳み込みフィルタＦ１のフィルタ係数及びスケーリング係数αｊを用いて、入力信号から生成画像を生成する。
画像生成装置が、畳み込みニューラルネットワークＮ１を再学習することで、学習精度が高まり、さらに、実画像に近い生成画像を生成することができる。
【００３９】
図１に示す画像生成装置では、フィルタ削除部６が、スケーリング係数αｊに基づいて、畳み込みフィルタＦ１の重要度Ｉｍｊを算出している。しかし、これは一例に過ぎず、例えば、複数の畳み込みフィルタＦ１の重要度が事前に設定されているものであってもよい。
【００４０】
実施の形態２．
実施の形態１の画像生成装置では、フィルタ削除部６が、畳み込みニューラルネットワークＮ１が有する畳み込みフィルタＦ１を１つ以上削除している。
しかし、フィルタ削除部６が、畳み込みフィルタＦ１を一度に大幅削減すると、畳み込みニューラルネットワークＮ１の再学習を失敗する可能性がある。
実施の形態２では、画像生成部２、画像識別部３、フィルタ係数更新部４、スケーリング係数更新部５及びスケーリング係数更新部５におけるそれぞれの処理と、フィルタ削除部６の処理とを交互に繰り返すことで、畳み込みフィルタＦ１を段階的に削除する画像生成装置について説明する。
【００４１】
図７は、畳み込みフィルタＦ１を段階的に削除する画像生成装置の動作を示すフローチャートである。実施の形態２の画像生成装置の構成は、実施の形態１の画像生成装置と同様に、図１である。
以下、図７を参照しながら、実施の形態２の画像生成装置の動作を説明する。
【００４２】
実施の形態２の画像生成装置は、実施の形態１の画像生成装置と同様に、図４のステップＳＴ１〜ＳＴ７の処理を実施することで、畳み込みニューラルネットワークＮ１の学習を行う（図７のステップＳＴ１１）。
フィルタ削除部６は、実施の形態１と同様に、制御部９により保存されている複数のスケーリング係数αｊ（ｊ＝０，１，２，・・・，Ｊ−１）を取得する。
フィルタ削除部６は、上記の式（２）に示すように、スケーリング係数αｊに基づいて、スケーリング係数αｊが、出力に乗算される畳み込みフィルタＦ１の重要度Ｉｍｊを算出する。
【００４３】
フィルタ削除部６は、畳み込みニューラルネットワークＮ１が有する複数の畳み込みフィルタＦ１の中で、例えば、重要度Ｉｍｊが最も低い畳み込みフィルタＦ１を削除する（図７のステップＳＴ１２）。
ここでは、複数の畳み込みフィルタＦ１の中で、重要度Ｉｍｊが最も低い畳み込みフィルタＦ１を削除している。しかし、畳み込みフィルタＦ１を段階的に削除するものであればよく、フィルタ削除部６が、例えば、複数の畳み込みフィルタＦ１の中で、重要度Ｉｍｊが最も低い畳み込みフィルタＦ１と、２番目に低い畳み込みフィルタＦ１とを削除するようにしてもよい。
【００４４】
実施の形態２の画像生成装置は、フィルタ削除部６により削除されずに残っている畳み込みフィルタＦ１を用いて、図４のステップＳＴ１〜ＳＴ７の処理を実施することで、畳み込みニューラルネットワークＮ１を再学習する（図７のステップＳＴ１３）。
フィルタ削除部６は、削除せずに残っている畳み込みフィルタＦ１の数が目標数よりも多ければ（図７のステップＳＴ１４：ＹＥＳの場合）、残っている畳み込みフィルタＦ１の中で、例えば、重要度Ｉｍｊが最も低い畳み込みフィルタＦ１を削除する（図７のステップＳＴ１２）。
目標数は、フィルタ削除部６の内部メモリに記憶されているものであってもよいし、外部から与えられるものであってもよい。
【００４５】
制御部９は、フィルタ削除部６により削除されずに残っている畳み込みフィルタＦ１の数が目標数以下であれば（図７のステップＳＴ１４：ＮＯの場合）、規模削減後の再学習結果として、削除されずに残っている畳み込みフィルタＦ１のフィルタ係数を保存する（図７のステップＳＴ１５）。また、制御部９は、削除されずに残っている畳み込みフィルタＦ１の出力に乗算するスケーリング係数αｊを保存する（図７のステップＳＴ１５）。
以上により、実施の形態２の画像生成装置の学習が完了する。
【００４６】
以上の実施の形態２は、画像生成部２、画像識別部３、フィルタ係数更新部４、スケーリング係数更新部５及びスケーリング係数更新部５におけるそれぞれの処理と、フィルタ削除部６の処理とを交互に繰り返すことで、畳み込みフィルタＦ１を段階的に削除するように、画像生成装置を構成した。したがって、実施の形態２の画像生成装置は、フィルタ削除部６が、畳み込みフィルタＦ１を一度に大幅削減する場合よりも、畳み込みニューラルネットワークＮ１の再学習を失敗する可能性を低減することができる。
【００４７】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００４８】
この発明は、複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、実画像に相当する画像を生成する画像生成装置及び画像生成方法に適している。
【符号の説明】
【００４９】
１  入力部、２  画像生成部、３  画像識別部、４  フィルタ係数更新部、５  スケーリング係数更新部、６  フィルタ削除部、７  出力部、８  画像処理部、９  制御部、１１  入力回路、１２  画像生成回路、１３  画像識別回路、１４  フィルタ係数更新回路、１５  スケーリング係数更新回路、１６  フィルタ削除回路、１７  出力回路、１８  制御回路、３１  メモリ、３２  プロセッサ。
【図１】
2020105144.tif 000005
【図２】
2020105144.tif 000006
【図３】
2020105144.tif 000007
【図４】
2020105144.tif 000008
【図５】
2020105144.tif 000009
【図６】
2020105144.tif 000010
【図７】
2020105144.tif 000011
【手続補正書】
【提出日】令和1年9月27日(2019.9.27)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
この発明に係る画像生成装置は、複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、生成目標の画像である実画像に相当する画像を生成する画像生成部と、画像生成部により生成された画像が実画像であるか否かを識別する画像識別部と、画像識別部の識別結果を用いて、複数の畳み込みフィルタのフィルタ係数を更新するフィルタ係数更新部と、複数の畳み込みフィルタの重要度に基づいて、複数の畳み込みフィルタの中の１つ以上の畳み込みフィルタを削除するフィルタ削除部とを備え、画像生成部が、フィルタ係数更新部によりフィルタ係数が更新された複数の畳み込みフィルタのうち、フィルタ削除部により削除されずに残っている畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、実画像に相当する画像を生成し、画像生成部、画像識別部及びフィルタ係数更新部におけるそれぞれの処理と、フィルタ削除部の処理とを交互に繰り返すことで、畳み込みニューラルネットワークが有する畳み込みフィルタを段階的に削除するようにしたものである。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、生成目標の画像である実画像に相当する画像を生成する画像生成部と、
前記画像生成部により生成された画像が前記実画像であるか否かを識別する画像識別部と、
前記画像識別部の識別結果を用いて、前記複数の畳み込みフィルタのフィルタ係数を更新するフィルタ係数更新部と、
前記複数の畳み込みフィルタの重要度に基づいて、前記複数の畳み込みフィルタの中の１つ以上の畳み込みフィルタを削除するフィルタ削除部とを備え、
前記画像生成部は、前記フィルタ係数更新部によりフィルタ係数が更新された複数の畳み込みフィルタのうち、前記フィルタ削除部により削除されずに残っている畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、前記実画像に相当する画像を生成し、
前記画像生成部、前記画像識別部及び前記フィルタ係数更新部におけるそれぞれの処理と、前記フィルタ削除部の処理とを交互に繰り返すことで、前記畳み込みニューラルネットワークが有する畳み込みフィルタを段階的に削除することを特徴とする画像生成装置。
【請求項２】
前記画像生成部は、
前記畳み込みニューラルネットワークにおけるそれぞれの畳み込み層において、
当該畳み込み層に含まれる複数の畳み込みフィルタのそれぞれを用いて、入力信号に対するフィルタ処理をそれぞれ実施したのち、フィルタ処理後のそれぞれの入力信号に対して、それぞれのスケーリング係数を乗算し、
当該畳み込み層が最終段の畳み込み層でなければ、当該畳み込み層に含まれる複数の畳み込みフィルタが、スケーリング係数乗算後のそれぞれの入力信号を次段の畳み込み層に出力し、
当該畳み込み層が最終段の畳み込み層であれば、当該畳み込み層に含まれる複数の畳み込みフィルタが、生成した画像として、スケーリング係数乗算後のそれぞれの入力信号を前記画像識別部に出力することを特徴とする請求項１記載の画像生成装置。
【請求項３】
前記画像識別部は、前記画像生成部により生成された画像が前記実画像であるか否かの識別結果と、それぞれのスケーリング係数とから、前記画像生成部における前記畳み込みニューラルネットワークの学習誤差を算出し、
前記フィルタ係数更新部は、前記画像識別部により算出された学習誤差が小さくなるように、前記複数の畳み込みフィルタのフィルタ係数を更新することを特徴とする請求項１記載の画像生成装置。
【請求項４】
前記画像識別部により算出された学習誤差が小さくなるように、それぞれのスケーリング係数を更新するスケーリング係数更新部を備えたことを特徴とする請求項３記載の画像生成装置。
【請求項５】
前記フィルタ削除部は、前記スケーリング係数更新部による更新後のそれぞれのスケーリング係数に基づいて、前記複数の畳み込みフィルタの重要度を算出することを特徴とする請求項４記載の画像生成装置。
【請求項６】
前記画像識別部は、複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、前記画像生成部により生成された画像が前記実画像であるか否かを識別することを特徴とする請求項１記載の画像生成装置。
【請求項７】
画像生成部が、複数の畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、生成目標の画像である実画像に相当する画像を生成し、
画像識別部が、前記画像生成部により生成された画像が前記実画像であるか否かを識別し、
フィルタ係数更新部が、前記画像識別部の識別結果を用いて、前記複数の畳み込みフィルタのフィルタ係数を更新し、
フィルタ削除部が、前記複数の畳み込みフィルタの重要度に基づいて、前記複数の畳み込みフィルタの中の１つ以上の畳み込みフィルタを削除するものであり、
前記画像生成部は、前記フィルタ係数更新部によりフィルタ係数が更新された複数の畳み込みフィルタのうち、前記フィルタ削除部により削除されずに残っている畳み込みフィルタを有する畳み込みニューラルネットワークを用いて、入力信号から、前記実画像に相当する画像を生成し、
前記画像生成部、前記画像識別部及び前記フィルタ係数更新部におけるそれぞれの処理と、前記フィルタ削除部の処理とを交互に繰り返すことで、前記畳み込みニューラルネットワークが有する畳み込みフィルタを段階的に削除することを特徴とする画像生成方法。
【国際調査報告】
2020105144.tif 000012
2020105144.tif 000013