(57)【要約】【課題】学習用画像が少ない場合であっても、精度よくクラスが識別できる画像識別器を学習できる。【解決手段】画像識別器について、画像識別器が出力した画像の各クラスへの帰属確率と画像の所与の教師帰属確率との類似度が高いほど小さい値を出力する第一の損失関数と、画像識別器に入力された画像が実画像である場合には、画像識別器の出力する入力された画像の人工画像らしさを表す推定真偽確率が小さいほど小さい値を出力し、画像識別器に入力された画像が人工画像である場合には、画像識別器の出力する推定真偽確率が大きければ大きいほど小さい値を出力する第二の損失関数とを用い、第一の損失関数及び第二の損失関数の値が小さくなるように画像識別器のパラメータの反復学習を行う。【選択図】図１
2020016935.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像の各クラスへの帰属確率、及び入力された画像の人工画像らしさを表す推定真偽確率を出力する画像識別器を備える画像認識学習装置であって、
前記画像識別器について、
前記画像識別器が出力した画像の前記各クラスへの帰属確率と前記画像の所与の教師帰属確率との類似度が高いほど小さい値を出力する第一の損失関数と、
前記画像識別器に入力された画像が実画像である場合には、前記画像識別器の出力する前記推定真偽確率が小さいほど小さい値を出力し、前記画像識別器に入力された画像が人工画像である場合には、前記画像識別器の出力する前記推定真偽確率が大きければ大きいほど小さい値を出力する第二の損失関数とを用い、
前記第一の損失関数及び前記第二の損失関数の値が小さくなるように前記画像識別器のパラメータの反復学習を行う学習部、
を含む画像認識学習装置。
【請求項２】
前記教師帰属確率は、各クラスへの所望の帰属確率、あるいは、前記反復学習の学習途中における反復学習回数の異なる前記画像識別器が前記画像について出力した各クラスへの帰属確率である請求項１に記載の画像認識学習装置。
【請求項３】
前記人工画像は、少なくとも一つ以上の乱数を用いて人工画像を出力する画像生成器により生成され、
前記学習部は、前記画像生成器について、
前記第一の損失関数及び前記第二の損失関数の値が大きくなるように前記画像生成器のパラメータの反復学習を行う請求項１又は請求項２に記載の画像認識学習装置。
【請求項４】
請求項１〜３の何れか１項に記載の画像認識学習装置によりパラメータが学習された前記画像識別器を用いて、入力された画像について各クラスへの帰属確率を求め、クラスの認識結果を出力する画像認識装置。
【請求項５】
入力された画像の各クラスへの帰属確率、及び入力された画像の人工画像らしさを表す推定真偽確率を出力する画像識別器を備える画像認識学習装置における画像認識学習方法であって、
学習部が、
前記画像識別器について、
前記画像識別器が出力した画像の前記各クラスへの帰属確率と前記画像の所与の教師帰属確率との類似度が高いほど小さい値を出力する第一の損失関数と、
前記画像識別器に入力された画像が実画像である場合には、前記画像識別器の出力する前記推定真偽確率が小さいほど小さい値を出力し、前記画像識別器に入力された画像が人工画像である場合には、前記画像識別器の出力する前記推定真偽確率が大きければ大きいほど小さい値を出力する第二の損失関数とを用い、
前記第一の損失関数及び前記第二の損失関数の値が小さくなるように前記画像識別器のパラメータの反復学習を行うステップ、
を含む画像認識学習方法。
【請求項６】
請求項５に記載の画像認識学習装置によりパラメータが学習された前記画像識別器を用いて、入力された画像について各クラスへの帰属確率を求め、クラスの認識結果を出力する画像認識方法。
【請求項７】
コンピュータを、請求項１〜請求項３のいずれか１項に記載の画像認識学習装置、又は請求項４に記載の画像認識装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像認識学習装置、画像認識装置、方法、及びプログラムに係り、特に、画像のクラスを識別するための画像認識学習装置、画像認識装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
画像認識は、入力された画像に対して、画像の内容に関するクラスを出力する問題である。クラスは様々なものがあり得るが、多くは画像中に写る物体や場所、シーンの名称などが代表的である。例えば犬が写る画像が入力された場合、画像認識技術は「犬」というクラスラベルを出力することが期待される。
【０００３】
画像認識技術の性能は、入力された画像に対して、いかに正確に正しいクラスラベルを出力できるかにより議論され、より正しいラベルを出力できるものほど高精度であるとされる。
【０００４】
画像はＲＧＢの画素を要素としたテンソルにより構成されているが、このような低レベル（物理信号レベル）な情報と、高レベルな意味のあるクラスラベルとの間には大きな隔たりがあるため、画像を入力としてそのまま高精度な認識を実行すること、つまり、正確なラベルを出力するような認識器を学習することは困難だと考えられていた。しかしながら、2011年頃、深い畳み込みニューラルネットワーク（Convolutional Neural Network: CNN）を認識器として用いることで、このような画素の配列から直接クラスラベルを出力するような学習をしても、高精度な認識ができることが実証された（非特許文献１）。これ以降、画像認識の精度はCNNによって飛躍的な改善が報告され続けている。
【０００５】
一般に、CNNによる画像認識の認識精度は様々な要因に依存することが知られている。一つ、精度に大きく作用する要因としてCNNの構造が挙げられる。通常、CNNは、比較的単純な処理を行う数種類の作用素（層、レイヤなどと呼ばれる）を、幾層にも積み重ねて実現される。例えば、代表的なもので言えば畳み込み層やプーリング層、全結合層などが存在する。詳細は非特許文献１などに譲るが、畳み込み層とは、その名の通り、入力されたテンソルに対して、高さ×幅方向に一定の大きさを持つ畳み込みフィルタを適用する層である。何種類のフィルタを持つかは任意であり、通常は設計者により指定される。畳み込み層はパラメータとして畳み込みフィルタの重みを有しており、これはデータに基づいて学習される。一方、一般に学習すべきパラメータを持たない層としてプーリング層が知られている。入力テンソルに対して高さ×幅方向に一定の大きさを持つ“フィルタ”を適用する点では畳み込み層と同様であるが、プーリング層は当該大きさの範囲に対して、例えば最大の値を出力する（最大値プーリング）、あるいは、平均値を出力する（平均値プーリング）など、固定的かつ単純な作用を適用する点で異なる。特に、パラメータ数を増加させずに入力テンソルの大きさを減少させたい場合などに利用される。CNNの性能は、このような畳み込み層やプーリング層をどのように構成し、配置するかによって左右される。
【０００６】
他方、通常の画像認識においては、事前に認識したいクラスについて、それが正解となるような画像の集合（以下、学習用画像と呼ぶ）を基に認識器を学習する必要がある。したがって当然のことながら認識精度は学習用画像の質と量に依存すると言って差し支えない。一般に、認識器の複雑度に応じて、複雑な認識器を用いる場合ほどより多くの学習用画像を用いる必要があることが知られているが、特に、CNNは非常に表現能力の高い複雑なモデルであり、非常に大量の学習用画像によって学習して初めてその性能が発揮されると言っても過言ではない。すなわち、現在のCNNの成功は、良質なCNNの構成と大量の学習用画像の双方が相まって初めて成し得たものとも見ることができる。
【０００７】
しかしながら、大量の学習用画像を得ることは容易ではない。なぜならば、多くの場合、撮影したばかりの画像にはその物体がなんであるかを表すようなクラスラベルはなんらついておらず、それを学習用画像足らしめるためには、人間がその内容を確認し、物体がなんであるかを付与する「ラベリング」を行わなければならないからである。CNNによる画像認識において最も良く知られる学習用画像データセットであるILSVRCデータ（非特許文献１参照）は、実に120万枚もの学習用画像を含んでいる。仮に1枚当たり5秒で、休みなくラベリングできたとしても、全ての画像にラベルを付けるのに2か月を超える期間が必要である。もちろん、１人の人間により判断したクラスは必ずしも信頼できるものであるとは限らないことから、通常は複数人による合議が取られるため、実際の工数はこれよりもさらに数倍は大きい。また、これほどの規模となると、そもそもラベリングの対象とする画像を撮影・収集すること自体も全く簡単ではない。この学習用画像構築のコストは、CNNによる画像認識技術を導入・利用する上で、重大な障壁となっている。
【０００８】
この課題を解決すべく、従来様々な発明がなされている。
【０００９】
例えば、非特許文献２では、画像生成を用いた認識器の学習手法が開示されている。認識器として構成されたCNNとは別に、画像を生成するCNNである生成器を用意する。認識器には、通常のクラスラベルを回答する役割の他に、画像の真偽（実際の画像か、生成器が生成した偽画像か）を見極めるような学習も要請し、反対に、生成器には、可能な限り実画像と見まがうような画像、すなわち、認識器が真偽判断を誤るような画像を生成するように学習することを要請する。このような構成により、真の画像に近しい“偽画像”を生成し、この画像を補助的な学習用画像として用いることで、ラベリングされた画像が少数しかない場合であっても認識器の学習を可能にしている。
【００１０】
非特許文献３では、画像変換を用いた認識器の学習手法が開示されている。実現方法は非特許文献２に記載の方法に類似しており、真の画像に近しい“偽画像”を生成するという発想は同一であるが、違いは、非特許文献２では画像を生成する生成器を利用していたのに対し、本技術ではコンピュータグラフィクス（ＣＧ）により生成したＣＧ画像を、実画像に見まがうように変換する変換器が導入されている点にある。
【００１１】
また、特許文献１に開示されている技術は、少数の学習用画像から意味のある認識結果を出力できるようにするべく、画像に写る物体に関する様々な属性を推定し、属性からクラスラベルを推定する方法を開示している。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１８−０３２３４０号公報
【非特許文献】
【００１３】
【非特許文献１】Alex Krizhevsky, Ilya Sutskever, Geoffrey E. Hinton, "ImageNet Classification with Deep Convolutional Neural Networks." In Proc. Advances in Neural Information Processing Systems (NIPS), Pages. 1097-1105, 2012.
【非特許文献２】Tim Salimans, Ian Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, and Xi Chen, "Improved Techniques for Training GANs." In Proc. Advances in Neural Information Processing Systems 29 (NIPS), Pages. 2226-2234, 2016.
【非特許文献３】Ashish Shrivastava, Tomas Pfister, Oncel Tuzel, Josh Susskind, Wenda Wang, and Russ Webb, "Learning from Simulated and Unsupervised Images through Adversarial Training." In Proc. Conference on Computer Vision & Pattern Recognition (CVPR), Pages. 2242-2251, 2017.
【発明の概要】
【発明が解決しようとする課題】
【００１４】
非特許文献２、及び、非特許文献３の技術は、学習用画像の不足分を、人工的な画像の生成または変換により補おうとするものであり、この着想は合理的である。しかしながら、いずれの技術においても、人工的な画像は、実際の画像に近づくように生成され、変換されるべきであるという基準のみに基づいて生成され、変換されている。しかしながら、画像認識精度を改善させるという本来の目的を鑑みれば、生成され、変換される人工的な画像は、実画像に近いだけでなく、学習する上で有益な画像であるべきである。
【００１５】
また、特許文献１に開示されている技術は、属性という中間的かつ意味的な表現によりラベルを表現することで、学習用画像の削減を狙っているが、属性の構成法は自明ではなく、また、画像認識精度の観点で最適な属性を選定する方法も自明ではない。
【００１６】
以上概観するに、従来の技術はいずれも画像認識精度の観点から必ずしも最適な方法にはなっていないという問題がある。
【００１７】
本発明は、上記事情を鑑みて成されたものであり、学習用画像が少ない場合であっても、精度よくクラスが識別できる画像識別器を学習できる画像認識学習装置、方法、及びプログラムを提供することを目的とする。
【００１８】
また、学習用画像が少ない場合であっても、学習した画像識別器を用いて、精度よくクラスが識別できる画像認識装置、方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記目的を達成するために、第１の発明に係る画像認識学習装置は、入力された画像の各クラスへの帰属確率、及び入力された画像入力された画像の人工画像らしさを表す推定真偽確率を出力する画像識別器を備える画像認識学習装置であって、前記画像識別器について、前記画像識別器が出力した画像の前記各クラスへの帰属確率と前記画像の所与の教師帰属確率との類似度が高いほど小さい値を出力する第一の損失関数と、前記画像識別器に入力された画像が実画像である場合には、前記画像識別器の出力する前記推定真偽確率が小さいほど小さい値を出力し、前記画像識別器に入力された画像が人工画像である場合には、前記画像識別器の出力する前記推定真偽確率が大きければ大きいほど小さい値を出力する第二の損失関数とを用い、前記第一の損失関数及び前記第二の損失関数の値が小さくなるように前記画像識別器のパラメータの反復学習を行う学習部、を含んで構成されている。
【００２０】
また、第１の発明に係る画像認識学習装置において、前記教師帰属確率は、各クラスへの所望の帰属確率、あるいは、前記反復学習の学習途中における反復学習回数の異なる前記画像識別器が前記画像について出力した各クラスへの帰属確率であるようにしてもよい。
【００２１】
また、第１の発明に係る画像認識学習装置において、前記人工画像は、少なくとも一つ以上の乱数を用いて人工画像を出力する画像生成器により生成され、前記学習部は、前記画像生成器について、前記第一の損失関数及び前記第二の損失関数の値が大きくなるように前記画像生成器のパラメータの反復学習を行うようにしてもよい。
【００２２】
第２の発明に係る画像認識装置は、第１の発明に記載の画像認識学習装置によりパラメータが学習された前記画像識別器を用いて、入力された画像について各クラスへの帰属確率を求め、クラスの認識結果を出力する。
【００２３】
第３の発明に係る画像認識学習方法は、入力された画像の各クラスへの帰属確率、及び入力された画像の人工画像らしさを表す推定真偽確率を出力する画像識別器を備える画像認識学習装置における画像認識学習方法であって、学習部が、前記画像識別器について、前記画像識別器が出力した画像の前記各クラスへの帰属確率と前記画像の所与の教師帰属確率との類似度が高いほど小さい値を出力する第一の損失関数と、前記画像識別器に入力された画像が実画像である場合には、前記画像識別器の出力する前記推定真偽確率が小さいほど小さい値を出力し、前記画像識別器に入力された画像が人工画像である場合には、前記画像識別器の出力する前記推定真偽確率が大きければ大きいほど小さい値を出力する第二の損失関数とを用い、前記第一の損失関数及び前記第二の損失関数の値が小さくなるように前記画像識別器のパラメータの反復学習を行うステップ、を含んで実行することを特徴とする。
【００２４】
第４の発明に係る画像認識方法は、第１の発明に記載の画像認識学習装置によりパラメータが学習された前記画像識別器を用いて、入力された画像について各クラスへの帰属確率を求め、クラスの認識結果を出力する。
【００２５】
第５の発明に係るプログラムは、コンピュータを、第１の発明に記載の画像認識学習装置、又は第２の発明に記載の画像認識装置として機能させるためのプログラムである。
【発明の効果】
【００２６】
本発明の画像認識学習装置、方法、及びプログラムによれば、画像識別器について、画像識別器が出力した画像の各クラスへの帰属確率と画像の所与の教師帰属確率との類似度が高いほど小さい値を出力する第一の損失関数と、画像識別器に入力された画像が実画像である場合には、画像識別器の出力する入力された画像の人工画像らしさを表す推定真偽確率が小さいほど小さい値を出力し、画像識別器に入力された画像が人工画像である場合には、画像識別器の出力する推定真偽確率が大きければ大きいほど小さい値を出力する第二の損失関数とを用い、第一の損失関数及び第二の損失関数の値が小さくなるように画像識別器のパラメータの反復学習を行うことにより、学習用画像が少ない場合であっても、精度よくクラスが識別できる画像識別器を学習できる、という効果が得られる。
また、本発明の画像認識装置、方法、及びプログラムによれば、学習した画像識別器を用いて、精度よくクラスが識別できる、という効果が得られる。
【図面の簡単な説明】
【００２７】
【図１】本発明の実施形態に係る画像認識学習装置の構成を示すブロック図である。
【図２】本発明の実施形態に係る画像認識装置の構成を示すブロック図である。
【図３】本発明の実施形態に係る画像認識学習装置における画像認識学習処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００２９】
＜本発明の実施形態に係る画像認識学習装置の構成＞
【００３０】
次に、本発明の実施形態に係る画像認識学習装置の構成について説明する。図１は、本発明の実施形態に係る画像認識学習装置１００の構成の一例を示す機能ブロック図である。図１に示すように、本発明の実施形態に係る画像認識学習装置１００は、ＣＰＵと、ＲＡＭと、後述する画像認識学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この画像認識学習装置１００は、機能的には図１に示すように、学習用画像集合１１０、並びに参照用画像集合１２０を外部から入力として受け付け、学習した画像識別器１０１のパラメータを記憶部１３０に格納することを目的とした装置である。
【００３１】
学習用画像集合１１０は、所望のクラスラベルが与えられた実画像の集合であり、参照用画像集合１２０は所望のクラスラベルの与えられていない実画像の集合である。両者の違いは所望のクラスラベルが付随しているか否かであり、学習用画像集合１１０の一部又は全ての画像を参照用画像集合１２０に含めても構わない。
【００３２】
画像識別器１０１は、画像を入力として受け取り、入力された画像に対する各クラスへの帰属確率（以下、推定帰属確率）、並びに、入力された画像の人工画像らしさを表す確率（以下、推定真偽確率）を出力することができるパラメータを持つ関数であって、パラメータに対して微分可能であるものであれば、任意のものを用いることができる。本発明ではCNNを用いるのが好適であるため、本実施形態の説明においては、以降CNNを利用するものとして説明する。なお、後述の画像生成器１０２についてもCNNを用いるものとする。
【００３３】
なお、学習用画像集合１１０、参照用画像集合１２０、記憶部１３０は、画像認識学習装置１００の内部にあっても外部にあっても構わず、本発明の効果を享受する上では、本質的ではない。以降、本実施形態においては、以降図１の内部にある構成を採るものとして説明する。すなわち、学習用画像集合１１０、及び、参照用画像集合１２０は画像認識学習装置１００の外部にあり、通信を用いて接続、入力される。通信手段は任意の公知ものを用いることができるが、本実施形態においては、インターネット、ＴＣＰ／ＩＰにより通信するよう接続されているものとする。また、記憶部１３０は画像認識学習装置１００の内部にあり、バスで接続されている。
【００３４】
画像認識学習装置１００が備える各部は、演算処理装置、記憶装置等を備えたコンピュータやサーバ等により構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムは画像認識学習装置１００が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリ等の記録媒体に記録することも、ネットワークを通して提供することも可能である。もちろん、その他いかなる構成要素についても、単一のコンピュータやサーバによって実現しなければならないものではなく、ネットワークによって接続された複数のコンピュータに分散して実現しても構わない。
【００３５】
≪処理部の説明≫
以下、本実施の形態における画像認識学習装置１００の各処理部について説明する。なお、各処理部の具体的な処理については、後述する各処理の詳細において説明する。
【００３６】
［処理部の動作］
画像識別器１０１は、入力された画像の推定帰属確率、及び入力された画像の推定真偽確率を出力する。推定帰属確率は画像が各クラスに帰属する尤もらしさを表す確率である。推定真偽確率は人工画像らしさを表す確率である。画像識別器１０１は、識別の度に、記憶部１３０のパラメータを読み込んで識別を行う。
【００３７】
画像生成器１０２は、内包する乱数生成器によって生成した一つ以上の乱数を用いて人工画像を生成し、出力する。画像生成器１０２は、人工画像の生成の度に、記憶部１３０のパラメータを読み込んで生成を行う。
【００３８】
識別損失評価部１０３は、ある画像（実画像でも人工画像でも、画像の形を取っているものであればよい）と、当該画像が実画像か人工画像であるかのフラグと、当該画像に対して画像識別器１０１が出力した推定帰属確率と、当該画像に対する所望の帰属確率（以下、教師帰属確率と記載する）とを入力として与えられると、それらの差異を表す第一の損失関数である識別損失関数の値を求める。教師帰属確率とは、学習の際に正解となるクラスラベルに応じた帰属確率である。識別損失関数は、ある反復学習回数での画像生成器１０２が出力した人工画像について画像識別器１０１が出力した推定帰属確率と、画像生成器１０２が出力した人工画像について画像識別器１０１が出力した推定帰属確率との差異を表す損失関数を更に含んでいてもよい。なお、教師帰属確率は、画像が人工画像の場合には後述する学習途中段階に関する帰属確率ｔ＊とする。
【００３９】
生成損失評価部１０４は、ある画像と、当該画像が実画像か人工画像であるかのフラグと、当該画像に対して画像識別器１０１が出力した推定真偽確率とを入力として与えられると、それらの差異を表す第二の損失関数である生成損失関数の値を求める。
【００４０】
学習部１０５は、識別損失評価部１０３、及び生成損失評価部１０４で求められた識別損失関数及び生成損失関数の値を用いて、識別損失関数及び生成損失関数の値が小さくなるように画像識別器１０１のパラメータの反復学習を行い、学習の度に画像識別器１０１のパラメータを記憶部１３０に格納する。また、識別損失関数及び生成損失関数の値が大きくなるように画像生成器１０２のパラメータの反復学習を行い、学習の度に画像識別器１０１のパラメータを記憶部１３０に格納する。
【００４１】
＜本発明の実施形態に係る画像認識装置の構成＞
【００４２】
次に、本発明の実施形態に係る画像認識装置の構成について説明する。画像認識装置２００で画像識別器１０１を学習し、記憶部１３０にそのパラメータが格納された後、実際に画像認識に用いる場合には、図２に示すように、画像認識装置２００において、画像識別器２０１と、学習された画像識別器２０１のパラメータが格納された記憶部２３０のみさえあれば画像認識処理を実施することが可能である。
【００４３】
画像認識装置２００は、画像２４０の入力を受け付けると、画像識別器２０１を適用して、記憶部２３０のパラメータθを読み出し、入力された画像２４０について推定帰属確率を求め、クラスの認識結果２５０を出力する。なお、画像認識装置２００の作用においても、同様に上記の処理を行うステップを実行するようにすればよい。
【００４４】
＜本発明の実施形態に係る画像認識学習装置の作用＞
【００４５】
次に、本発明の実施形態に係る画像認識学習装置１００の作用について説明する。画像認識学習装置１００は、学習用画像集合１１０、及び参照用画像集合１２０を受け付けて、図３に示す画像認識学習処理ルーチンを実行する。
【００４６】
まず、ステップＳ３０１では、一つ以上の学習用画像集合１１０、参照用画像集合１２０を読み込む。
【００４７】
次に、ステップＳ３０２では、記憶部１３０の画像生成器１０２のパラメータを読み込み、一つ以上の乱数を発生させて画像生成器１０２に入力し、一つ以上の人工画像からなる人工画像集合を生成する。
【００４８】
ステップＳ３０３では、記憶部１３０の画像識別器１０１のパラメータを読み込み、読み込んだ学習用画像集合１１０の学習用画像、参照用画像集合１２０の参照用画像、及び、生成した人工画像の各々に対して画像識別器１０１を適用し、識別損失関数値、及び、生成損失関数値を求める。
【００４９】
ステップＳ３０４では、ステップＳ３０３で求めた識別損失関数値、及び、生成損失関数値に基づいて、画像識別器１０１、及び、画像生成器１０２のパラメータの値をそれぞれ更新する。
【００５０】
ステップＳ３０５では、ステップＳ３０４で更新された、画像識別器１０１、及び、画像生成器１０２のパラメータを記憶部１３０に格納する。
【００５１】
ステップＳ３０６では、終了条件を満たすかを判定し、終了条件を満たしていれば処理を終了し、終了条件を満たしていなければステップＳ３０１に戻って処理を繰り返す。
【００５２】
上記のステップＳ３０４〜Ｓ３０６の反復学習により、画像識別器１０１については、画像識別器１０１が出力した画像の推定帰属確率と画像の所与の教師帰属確率との類似度が高いほど小さい値を出力する識別損失関数と、画像識別器１０１に入力された画像が実画像である場合には、画像識別器１０１の出力する推定真偽確率が小さいほど小さい値を出力し、画像識別器１０１に入力された画像が人工画像である場合には、画像識別器１０１の出力する推定真偽確率が大きければ大きいほど小さい値を出力する生成損失関数とを用い、識別損失関数及び生成損失関数の値が小さくなるように画像識別器１０１のパラメータを学習する。また、画像生成器１０２については、識別損失関数及び生成損失関数の値が大きくなるように画像生成器１０２のパラメータを学習する。
【００５３】
［各処理の処理詳細］
次に画像認識学習装置１００の各処理部の処理の詳細について説明する。
【００５４】
［画像生成処理］
ステップＳ３０２に係る、画像生成器１０２による画像生成処理について説明する。画像生成器１０２は、一つ以上の乱数（すなわち乱数ベクトル）ｚを入力として受け取り、人工画像ｖを出力する、パラメータφを持つような以下（１）式の関数を用いることにより実現する。
【００５５】
【数１】
2020016935.tif 000003
・・・（１）
【００５６】
このような関数Ｇを実現する手段は様々なものがあるが、本発明の実施形態の一例においては、CNNを利用する。より具体的な例としては、例えば非特許文献４に記載のGenerator Networkと呼ばれるCNNを用いることができる。
【００５７】
［非特許文献４］Tim Salimans, Ian J. Goodfellow, Wojciech Zaremba, Vicki Cheung, Alec Radford, Xi Chen, " Improved Techniques for Training GANs." In Proc. Advances in Neural Information Processing Systems (NIPS), Pages. 2226-2234, 2016.
【００５８】
このようなCNNにより構成したＧは、φに対して微分可能であるという良好な性質を持つ。
【００５９】
［識別損失関数値の評価］
ステップＳ３０３に係る、識別損失評価部１０３の識別損失関数値の評価処理について説明する。
【００６０】
識別損失関数は、画像識別器１０１が出力した画像の推定帰属確率と画像の所与の教師帰属確率との類似度が高いほど小さい値を出力するものであり、後述する（４）式、及び（５）式に対応する。また、値は、識別損失関数の値に対応するものである。
【００６１】
画像識別器１０１は画像ｘを入力として、推定帰属確率ｙを出力する、パラメータθを持つ関数として表現できる。このような関数は、一般的に確率関数として下記（２）式のように表すことができる。
【００６２】
【数２】
2020016935.tif 000004
・・・（２）
【００６３】
（２）式はθ、及び、ｘが与えられた下でのｙが出現する確率である。望ましい画像識別器１０１は、学習用画像ｓが与えられたとき、各クラスへの教師帰属確率ｔが出現するようなものである。すなわち、正解となるクラスが識別可能な帰属確率が求められる画像識別器１０１である。学習用画像ｓと、対応する教師帰属確率ｔの出現確率をｐ（ｓ、ｔ）とすると、学習は下記（３）式が小さくなるようにパラメータθを決定できればよい。
【００６４】
【数３】
2020016935.tif 000005
・・・（３）
【００６５】
Ｅｂ[ａ]は、ａの確率ｂに対する期待値である。本発明の実施形態の場合は、学習用画像は学習用画像集合から取得されるので、期待値は下記（４）式のように総和の形で近似的に置き換えられる。
【００６６】
【数４】
2020016935.tif 000006
・・・（４）
【００６７】
なお、Ｓ，Ｔは、それぞれ１つ以上の画像と、対応する教師帰属確率の集合である。（４）式が本発明の実施形態の一例における識別損失関数であり、これを任意のＳ,Ｔに対して評価した値が識別損失関数値である。
【００６８】
（４）式をθについて小さくすることで、ｓに対してｔを出力できるような望ましい画像識別器１０１を得ることができる。このようなθを求める方法は様々存在するが、単純には、画像識別器１０１を表す確率関数ｐがθに対して微分可能である場合、局所最小化できることが知られているので、本発明の実施形態の一例においては、画像識別器１０１として、画像ｘを入力された下でその画像の推定帰属確率ｙを出力できる関数であり、かつ、θに対して微分可能であるような関数を選ぶ。
【００６９】
この性質を満たすものであれば任意の公知の関数を用いることができるが、本発明の実施形態の一例では、例えばCNNを用いる。本発明の実施形態の一例ではCNNを用いる。CNNは画像識別性能が高く、好適である。
【００７０】
CNNの構造は任意のものを用いることができるが、例えば非特許文献１に記載のものを用いればよい。θを求める処理も非特許文献１に記載の通り誤差逆伝搬法を用いればよい。誤差逆伝搬法は、（４）式に基づいて学習を実行する場合、ｐがθで微分可能である場合に利用できる方法である。端的には、（４）式をθに対して微分した値を求め、これに係数（通常１以下の小さい値を用いる）を掛けた値をθから減算することにより、θを更新していくことにより、（４）式の値を小さくするようなθを求めることができる。
【００７１】
なお、（４）式の識別損失関数は、学習用画像ではない画像、すなわち、参照用画像ｕや人工画像ｖに対しても評価可能である。人工画像ｖを例に採って説明する。ある学習途中段階での画像識別器１０１のパラメータをθ＊と表すこととし、このとき、この画像識別器１０１に人工画像ｖ＝Ｇ（ｚ；φ）を入力した際の出力となる所望の帰属確率をｔ＊と表す。ｔ＊〜ｐ（ｔ|Ｇ（ｚ；φ）;θ＊）は、学習途中の、つまり反復学習回数の異なる画像識別器１０１が出力した人工画像に対する推定帰属確率である。このｔ＊を人工画像ｖに対する所望の帰属確率である教師帰属確率と捉えれば、対応する識別損失関数は以下（５）式のように表せる。
【００７２】
【数５】
2020016935.tif 000007
・・・（５）
【００７３】
ここで、Ｚは人工画像を生成するために発生させた乱数ベクトルｚの集合である。当然のことながら、（５）式は（４）式の場合と同様、θに対して微分可能であり、（５）式を小さくするようなθを求めることが可能である。すなわち、（５）式によって、人工画像ｖ＝Ｇ（ｚ；φ）に対して、ある時点での推定帰属確率を出力させるような画像識別器１０１を学習することができるということである。本実施の形態では、識別損失関数が、上記（４）式の関数と上記（５）式の関数とを含む。
【００７４】
さらに特筆すべきは、画像生成器１０２のＧがφに対して微分可能であるならば、（５）式はφに対しても微分可能であるということである。先に述べたような構成方法の一例により構成したＧはφに対して微分可能である。したがって、（５）式を用いて画像生成器１０２のＧ（つまりφ）も学習可能であることを意味する。この事実は後程利用するため、ここで述べておく。
【００７５】
［生成損失関数値の評価］
同じくステップＳ３０３に係る、生成損失評価部１０４の生成損失関数値の評価処理について説明する。
【００７６】
生成損失関数は、画像識別器１０１に入力された画像が実画像である場合には、画像識別器１０１の出力する推定真偽確率が小さいほど小さい値を出力し、画像識別器１０１に入力された画像が人工画像である場合には、画像識別器１０１の出力する推定真偽確率が大きければ大きいほど小さい値を出力するものであり、後述する（６）式に対応する。
【００７７】
人工画像ｖは、当然のことながら実際の画像、すなわち、学習用画像ｓや参照用画像ｕに見まがうようなものであることが好ましい。これを実現するため、本発明の実施形態の一例では、画像識別器１０１に、推定帰属確率だけでなく、実画像か人工画像かを判定する推定真偽確率を出力させる。
【００７８】
この推定真偽確率を出力させるために、画像識別器１０１を構成するCNNに特別な機能を導入する必要はない。例えば、非特許文献４に開示されているような方法を採ればよい。仮に画像識別器１０１が識別したいクラスの数がＫ個であるとする（帰属確率の次元がＫ）と、さらにもう１クラス追加してＫ＋１個のクラスがあると考え、Ｋ＋１番目の確率を偽である確率、すなわち、人工画像である確率として扱えばよい。
【００７９】
もし仮に、画像識別器１０１に人工画像が入力された場合には、当該人工画像はそもそも実画像ではないため、Ｋ個のクラスのいずれにも属すると判定されるべきではない。したがって、Ｋ個のクラスのいずれでもない、すなわち、Ｋ＋１番目の確率値が高くなるよう推定されるべきである。反対に、もし実画像が入力された場合には、Ｋ個のクラスのいずれかに属すると判断されるべきであるから、Ｋ＋１番目の確率値が低くなるように推定されるべきである。
【００８０】
以上のことを要請する損失関数は、下記（６）式のように設計できる。
【００８１】
【数６】
2020016935.tif 000008
・・・（６）
【００８２】
Ｕは参照用画像の集合である。第一項は参照用画像についての項であり、画像識別器１０１が入力された画像が実画像であると正しく判定できた場合、すなわち、ｐ（ｙ＝Ｋ＋１｜ｕ；θ）が小さい値となった場合に、小さな値を取る。反対に、第二項は人工画像についての項であり、画像が人工画像であると正しく判定できた場合に小さくなる。
【００８３】
したがって、（６）式を小さくするようなθを求めることにより、画像識別器１０１は入力された画像が実画像であるか、それとも人工画像であるかを判定することができるようになるのである。言うまでもなく、（６）式はθに関して微分可能であるので、このような学習は先の説明と同様、誤差逆伝搬法などを用いて実現できる。
【００８４】
一方、画像生成器１０２に着目すれば、画像識別器１０１に正しい判断をさせないような人工画像、すなわち、参照用画像に見まがうような人工画像を生成できるように学習すれば、望ましい画像を生成できることになる。このような学習は、（６）式を大きくするようなφを求めることで実現できる。（６）式はφについても微分可能であることから、微分値を用いて（６）式を大きくする方向、すなわち、通常の誤差逆伝搬法の正負を入れ替えて更新することで、このような学習が実現可能である。本実施の形態では、生成損失関数が、上記（６）式を含む。
【００８５】
［学習処理］
ステップＳ３０４に係る学習部１０５の学習処理について説明する。これまでの所、識別損失関数、及び、生成損失関数の評価方法、及び、これらの損失関数を用いて画像識別器１０１、並びに、画像生成器１０２が学習可能であることを説明してきた。
【００８６】
ここでは、これらの損失関数を用いて、画像識別器１０１と画像生成器１０２を学習する処理の詳細を説明する。
【００８７】
本発明の実施形態の一例においては、識別損失関数と生成損失関数の双方の和を用いて、画像識別器１０１、及び画像生成器１０２を学習する。具体的には（７）式の問題を解く。
【００８８】
【数７】
2020016935.tif 000009
・・・（７）
【００８９】
αは０以上の所与の数値であり、例えば０．３などとして設定すればよい。これまで説明してきた通り、Ｌ１、Ｌ２、Ｌ３いずれもθ、φに対して微分可能であるから、（７）式のように和になったとしても微分可能であることは変わらない。画像識別器１０１について、（７）式のパラメータθの値が小さくなるように、画像生成器１０２については、（７）式のパラメータφが大きくなるように、θ、φの値を繰り返し更新し、学習していく。
【００９０】
上記の学習により期待される効果を説明する。まず、Ｌ１をθについて最小化することは、一般の画像認識の学習と同様、学習用画像に基づいて認識精度を改善させる効果を産む。また、Ｌ３をθについて最小化、及び、φについて最大化することは、画像生成器１０２が実画像に見まがうような人工画像を生成できるようになる効果を産む。
【００９１】
最も重要であるのはＬ２である。これをφについて最大化することは、画像生成器１０２に対してさらに、画像識別器１０１が識別困難であるような人工画像を生成することを要請する。すなわち、（７）式により学習した画像生成器１０２は、実画像に見まがうようなものであり、かつ、画像識別器１０１が識別困難な画像を生成することができるようになるのである。
【００９２】
さらに、これをθについて最小化するということは、画像識別器１０１に対して、実画像に近しく、かつ、識別困難であるような人工画像に対しても、正しいと推測されるクラスへと識別することを要請することになる。このような要請は、認識精度を改善するという観点から望ましい性質である。実画像とかけ離れたような人工画像を認識できるようにしても実用上の効果が期待できず、また、例え実画像に近しくとも、容易に認識可能な画像をいくら生成しても、画像認識精度を改善することにはつながりにくい。本発明の実施形態の一例における（７）式に基づく学習処理は、その双方を考慮した人工画像の生成と、それに基づく画像識別器１０１の学習を要請したものであり、画像認識精度の改善効果の高い学習を実現できるのである。以上のような学習は、例えば非特許文献４に開示のような、単に実画像に見まがうような人工画像を生成できる技術を用いただけでは実現できない効果である。先述の通り、人工画像は乱数から生成されるのであり、乱数は際限なく生成できると考えて差支えないから、このような人工画像も際限なく生成することができる。したがって、学習用画像が少数しか得られないような場合であっても、人工画像により補完して学習処理を実行することができるのである。
【００９３】
この学習処理を、終了条件が満たされるまで繰り返せばよい。
【００９４】
終了条件については任意のものを用いてよいが、例えば、「所定の回数を繰り返すまで」、「目的関数の値が一定以上変化しなくなるまで」、「精度の値が一定以上になるまで」、「学習データとは別に用意された検証用データを用いた場合の精度の値が一定以上変化しなくなるまで」、「学習データとは別に用意された検証用データを用いた場合の精度の値が一定以上になるまで」などとすればよい。
【００９５】
以上が、処理動作の一例である。
【００９６】
以上説明したように、本発明の実施の形態に係る画像認識学習装置、方法、プログラムによれば、画像識別器１０１について、画像識別器１０１が出力した学習用画像の推定帰属確率と学習用画像の所与の教師帰属確率との類似度が高いほど小さい値を出力する識別損失関数と、画像識別器１０１に入力された画像が実画像である場合には、画像識別器１０１の出力する推定真偽確率が小さいほど小さい値を出力し、画像識別器に入力された画像が人工画像である場合には、画像識別器１０１の出力する推定真偽確率が大きければ大きいほど小さい値を出力する生成損失関数とを用い、識別損失関数及び生成損失関数の値が小さくなるように画像識別器１０１のパラメータの反復学習を行うことにより、学習用画像が少ない場合であっても、精度よくクラスが識別できる画像識別器１０１を学習できる。
【００９７】
また、実画像と人工画像を用いて画像識別器１０１を学習する構成を採ることにより、少数の教師有り画像データからでも高精度な画像識別器１０１を実現できる画像認識学習装置、画像認識方法、及びプログラムを提供できる。
【００９８】
学習においては、識別損失関数と、生成損失関数とを用いる。画像生成器１０２は、これらの値が大きくなるように学習されるのであり、結果、画像識別器１０１が実画像と見まがうようなものでありながらも、画像識別器１０１がクラスラベルを誤りやすい画像を生成することができるようになる。一方で、画像識別器１０１はこれらが小さくなるように学習される。結果として、実画像は正しく分類しつつも、人工画像の中でもより実画像に近いと見做すことができるものについては、これらも所望の帰属確率に近づくように学習することができる。このような画像識別器１０１と画像生成器１０２の相互作用により、画像識別器１０１は、画像生成器１０２が生成した実画像に近しく、かつ、より現在の画像識別器１０１が認識しにくい画像を使って学習することができるようになるのであり、結果として、少数の教師有り画像データからでも、非常に高精度な画像識別器１０１を実現できるのである。
【００９９】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１００】
例えば、上述した実施形態では、画像認識学習装置と画像認識装置とを異なる装置によって構成する場合を例に説明したが、これに限定されるものではなく、同一の装置によって構成するようにしてもよい。この場合には、学習処理は、画像識別器を利用して画像認識する前に、少なくとも一度実行しておけばよい。
【符号の説明】
【０１０１】
１００ 画像認識学習装置
１０１ 画像識別器
１０２ 画像生成器
１０３ 識別損失評価部
１０４ 生成損失評価部
１０５ 学習部
１１０ 学習用画像集合
１２０ 参照用画像集合
１３０ 記憶部
２００ 画像認識装置
２０１ 画像識別器
２３０ 記憶部
２４０ 画像
２５０ 認識結果
【図１】
2020016935.tif 000010
【図２】
2020016935.tif 000011
【図３】
2020016935.tif 000012