(57)【要約】【課題】ニューラルネットワークの学習をより効果的に行う。【解決手段】ニューラルネットワークの学習を行う。単一の学習用入力データに対応する、ニューラルネットワークからの２以上の異なる出力のそれぞれについての教師データを設定する。学習用入力データをニューラルネットワークに入力して得られる、２以上の異なる出力のそれぞれと、出力に対応する教師データと、の誤差に基づいて、ニューラルネットワークの学習を行う。学習後のニューラルネットワークは、入力データに対応する２以上の異なる出力を与え、２以上の異なる出力の統合結果が入力データに対する認識処理の結果を示す。【選択図】図１
2020042664.tif 000002
【特許請求の範囲】
【請求項１】
ニューラルネットワークの学習を行う学習装置であって、
単一の学習用入力データに対応する、ニューラルネットワークからの２以上の異なる出力のそれぞれについての教師データを設定する設定手段と、
前記学習用入力データを前記ニューラルネットワークに入力して得られる、前記２以上の異なる出力のそれぞれと、前記出力に対応する教師データと、の誤差に基づいて、前記ニューラルネットワークの学習を行う学習手段と、を備え、
学習後の前記ニューラルネットワークは、入力データに対応する２以上の異なる出力を与え、前記２以上の異なる出力の統合結果が前記入力データに対する認識処理の結果を示すことを特徴とする、学習装置。
【請求項２】
前記設定手段は、前記ニューラルネットワークの構造に基づいて、前記２以上の異なる出力のそれぞれについての教師データを設定することを特徴とする、請求項１に記載の学習装置。
【請求項３】
前記設定手段は、前記ニューラルネットワークの２以上の異なる階層からの出力のそれぞれについて、学習用入力データに対する教師データを設定することを特徴とする、請求項１又は２に記載の学習装置。
【請求項４】
前記設定手段は、前記ニューラルネットワークの１つの階層における２以上の異なるチャネル群からの出力のそれぞれについて、学習用入力データに対する教師データを設定することを特徴とする、請求項１又は２に記載の学習装置。
【請求項５】
前記入力データは画像データであり、前記入力データに対する認識処理の結果は、前記画像データの各画素の属性情報であることを特徴とする、請求項１から４のいずれか１項に記載の学習装置。
【請求項６】
前記設定手段は、前記２以上の異なる出力についての教師データを、前記２以上の異なる出力の解像度に基づいて設定することを特徴とする、請求項５に記載の学習装置。
【請求項７】
前記入力データに対する認識処理の結果は、前記入力データに対応する線画パターンであることを特徴とする、請求項５又は６に記載の学習装置。
【請求項８】
前記設定手段は、前記２以上の異なる出力のそれぞれに対応する幅を有する線画パターンを、前記２以上の異なる出力についての教師データとして設定することを特徴とする、請求項７に記載の学習装置。
【請求項９】
前記設定手段は、ぼかし処理が行われた線画パターンを、前記２以上の異なる出力についての教師データとして設定することを特徴とする、請求項７又は８に記載の学習装置。
【請求項１０】
前記設定手段は、前記２以上の異なる出力のそれぞれに対応する幅を有する誤差評価対象外領域が線画パターンの周囲に設定された、前記２以上の異なる出力についての教師データを設定することを特徴とする、請求項７に記載の学習装置。
【請求項１１】
前記設定手段は、前記学習用入力データに対応する線画パターンである基本教師データを用いて前記教師データを生成することを特徴とする、請求項７から１０のいずれか１項に記載の学習装置。
【請求項１２】
前記設定手段は、前記学習用入力データに対応する線画パターンである基本教師データに対してフィルタ処理を行うことにより、前記教師データを生成することを特徴とする、請求項７から９のいずれか１項に記載の学習装置。
【請求項１３】
学習されたニューラルネットワークの作成方法であって、
単一の学習用入力データに対応する、ニューラルネットワークからの２以上の異なる出力のそれぞれについての教師データを設定する設定工程と、
前記学習用入力データを前記ニューラルネットワークに入力して得られる、前記２以上の異なる出力のそれぞれと、前記出力に対応する教師データと、の誤差に基づいて、前記ニューラルネットワークの学習を行う学習工程と、を有し、
前記学習工程により前記学習されたニューラルネットワークのパラメータが作成され、前記学習されたニューラルネットワークは入力データに対応する２以上の異なる出力を与え、前記２以上の異なる出力の統合結果が前記入力データに対する認識処理の結果を示すことを特徴とする、作成方法。
【請求項１４】
請求項１３に記載の作成方法によって作成されたパラメータが設定された、ニューラルネットワーク。
【請求項１５】
請求項１４に記載のニューラルネットワークを用いて、入力データに対応する認識処理の処理結果を生成する処理手段を備える、情報処理装置。
【請求項１６】
コンピュータを、請求項１から１２のいずれか１項に記載の学習装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、パラメータの作成方法、ニューラルネットワーク及びこれを用いた情報処理装置に関し、より詳細には、例えば画像認識技術に関する。
【背景技術】
【０００２】
学習データを用いて階層型ネットワークの学習を行うことで、入力データを識別する識別器を生成する方法が知られている。一方、階層型ネットワークの層数が増えるにつれ、いわゆる勾配消失問題（重み係数の更新に必要なデルタを逆伝播させる際にデルタが消失又は発散してしまう）が顕在化し、学習の進行に障害が生じうることが知られている。
【０００３】
このような問題に対処するための方法として、deep supervisionと呼ばれる、ネットワークの中間層においても誤差評価及び誤差逆伝播を行う方法（以下、サイドアウト学習と呼ぶ）が知られている（非特許文献１）。また、画像の特徴量を抽出するように階層型ネットワークの学習を行うことに加えて、特定の特徴が存在する場合に特定のニューロンが活動するように学習を行うことにより、特徴に応じた的確な特徴量抽出を可能とする方法も知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−３１７４６号公報
【非特許文献】
【０００５】
【非特許文献１】Xie, S., Tu, Z. "Holistically-nested edge detection" ICCV, 1395-1403 (2015)
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１の方法においては、中間層からの出力に対する誤差評価の精度が低くなり、好ましい最終学習結果が得られない可能性があることが見出された。
【０００７】
本発明は、ニューラルネットワークの学習をより効果的に行うことを目的とする。
【課題を解決するための手段】
【０００８】
本発明の目的を達成するために、例えば、本発明の学習装置は以下の構成を備える。すなわち、
ニューラルネットワークの学習を行う学習装置であって、
単一の学習用入力データに対応する、前記ニューラルネットワークからの２以上の異なる出力のそれぞれについての教師データを設定する設定手段と、
前記学習用入力データを前記ニューラルネットワークに入力して得られる、前記２以上の異なる出力のそれぞれと、前記出力に対応する教師データと、の誤差に基づいて、前記ニューラルネットワークの学習を行う学習手段と、を備え、
学習後の前記ニューラルネットワークは、入力データに対応する２以上の異なる出力を与え、前記２以上の異なる出力の統合結果が前記入力データに対する認識処理の結果を示すことを特徴とする。
【発明の効果】
【０００９】
ニューラルネットワークの学習をより効果的に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る学習装置の一例を示す機能構成図。
【図２】一実施形態に係るパラメータ生成方法の一例を示すフローチャート。
【図３】サイドアウト学習を行う階層型ネットワークの一例を示す模式図。
【図４】サイドアウト出力とＧＴの関係を説明するための図。
【図５】従来技術に従ってサイドアウト学習を行う場合の課題を説明するための図。
【図６】一実施形態に係る適合的ＧＴの生成方法を説明する図。
【図７】一実施形態に係る適合的ＧＴの生成方法を説明する図。
【図８】一実施形態に係る適合的ＧＴの生成方法を説明する図。
【図９】一実施形態に係る適合的ＧＴの生成方法を説明する図。
【図１０】一実施形態に係る適合的ＧＴの生成方法を説明する図。
【図１１】一実施形態で用いられるコンピュータの概略ブロック図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、フローチャートと図面とを参照しながら具体的に説明する。なお、以下の具体例は本発明に係る実施形態の一例ではあるが、本発明は以下の具体的形態に限定されるものではない。本発明は、学習データを用いた階層型ネットワーク（以下、ニューラルネットワーク又は単にネットワークと呼ぶことがある）の学習に適用することができ、階層型ネットワークの学習が行われるいかなる手法にも適用可能である。
【００１２】
図１は、実施形態１に係る学習装置１００の機能構成の一例を示す。学習装置１００は、階層型ネットワークの学習を行う。基本データ記憶部１０１は、学習に用いる基本学習データを保持する。学習データとは、ネットワークの学習に用いられる教師データ（以下、ＧＴと呼ぶことがある）である。本実施形態においては、学習用入力データと、学習用入力データに対する判定結果を示す教師データ（学習データ）と、を用いてネットワークの学習が行われる。
【００１３】
例えば、一実施形態においては、ネットワークを用いて画像の各画素についての属性判定（ラベリング）を行うことができる。すなわち、入力データとして画像データをネットワークに入力すると、入力データに対する判定処理の結果として、画像データの各画素の属性情報（ラベル）が得られる。例えば、画像の輪郭抽出を行う具体的な一例において、入力データに対する判定処理の結果としては、入力データに対応する輪郭パターン（輪郭であるか否かを示す属性情報を画素値として有する画像）が得られる。このように、一実施形態において、入力データに対する処理結果は、入力データに対応する（輪郭パターンのような）線画パターンでありうる。
【００１４】
このような構成において、学習用入力データは画像データであり、学習データは学習用入力データの各画素についてのラベル（判定結果）を示すデータである。例えば、学習用入力データは、例えば文字又は図形等を含む画像でありうる。そして、画像の輪郭抽出を行う具体的な一例において、学習データは学習用入力データである画像中の輪郭を示す画像であり、例えばユーザ入力に従って作成されたものでありうる。基本データ記憶部は、学習データと組み合わせて、このような学習用入力データをさらに保持することができる。本明細書において、基本学習データ（基本教師データ）は設定部１０２による加工又は変形のような処理が行われる前の学習データ（教師データ）を指す。
【００１５】
設定部１０２は、ネットワークの学習に用いる学習データを設定する。また、適合的データ記憶部１０３は、設定部１０２により設定された学習データを保持する。一実施形態において、設定部１０２は、基本学習データに対して加工、変形、又はフィルタ処理のような処理を行うことにより、学習データを生成する。設定部１０２は、このように生成した学習データを適合的データ記憶部１０３に格納することにより、ネットワークの学習に用いる学習データ（以下、適合的学習データ、適合的教師データ、又は適合的ＧＴと呼ぶことがある）を設定する。設定部１０２は、さらに、元の基本学習データを適合的データ記憶部１０３に格納してもよい。後述するように、設定部１０２は、単一の学習用入力データに対応する、階層型ネットワークからの２以上の異なる出力のそれぞれについての学習データ（適合的教師データ）を設定する。
【００１６】
学習部１０４は、適合的データ記憶部１０３に格納された学習データを読み込み、ネットワークの学習処理を行う。また、学習部１０４は、学習により得られた最終的な学習結果（例えば、ネットワークのパラメータ）を、学習結果記憶部１０５に格納する。階層型ネットワークの学習方法としては、公知の方法を用いることができる。例えば、階層型ネットワークにおける順伝搬計算の結果得られた出力値の誤差をこのネットワークにおいて逆伝播させることにより、ネットワークの結合状態に対応する重み係数その他のパラメータを反復的に更新することができる。後述するように、本実施形態において学習部１０４は、学習用入力データをネットワークに入力して得られる、２以上の異なる出力のそれぞれと、出力に対応する学習データ（適合的教師データ）と、の誤差に基づいて、階層型ネットワークの学習を行う。
【００１７】
テストデータ記憶部１０６は、ネットワークの評価に用いるテストデータを保持する。評価部１０７は、テストデータを用いてネットワークの評価を行う。このようにして得られた学習後の階層型ネットワークは、後述するように、入力データに対応する２以上の異なる出力を与える。こうして得られた２以上の異なる出力の統合結果が、入力データに対する認識処理の結果を示す。
【００１８】
図２は本実施形態に係る学習方法のフローチャートである。以下、このフローチャートに沿って説明する。ステップＳ２１０において設定部１０２は、基本データ記憶部１０１から基本学習データを読み込む。ステップＳ２２０において、設定部１０２は、基本学習データに基づいて、適合的学習データを設定する。ここで、設定部１０２は、階層型ネットワークの構造に基づいて、２以上の異なる出力のそれぞれについての学習データ（適合的教師データ）を設定する。設定される適合的学習データは、階層型ネットワークを形成するユニットの構成又はそれらの結合状態に依存しうる。以下では、一例として、サイドアウト学習（最終層の出力誤差だけではなく、中間層の出力誤差にも基づいて学習を行う手法であり、詳細は後述する）を行う場合について説明する。
【００１９】
ステップＳ２３０において、学習部１０４は、ステップＳ２２０で設定された適合的学習データを用いて、階層的ネットワークの学習を行う。本実施形態で用いられるネットワークはサイドアウト（中間層からの出力）を有しており、このサイドアウトに基づいて判定結果を得ることができる。具体的な学習方法については後述する。
【００２０】
ステップＳ２４０において、学習部１０４は、ステップＳ２３０における学習を終了するか否かを判定する。例えば、学習部１０４は、ネットワークの学習結果が所定の基準に達した際に、学習を終了すると判定することができる。一例として、評価部１０７は、テストデータ記憶部１０６に格納されているテストデータ（評価用のデータ）を用いて、ネットワークの誤認識率を評価することができる。このテストデータは、例えば、基本データ記憶部１０１が格納しているデータとは異なる、学習用入力データと、学習用入力データに対する判定結果を示す教師データと、のセットでありうる。また、誤認識率は、評価に用いたテストデータ全体のうち、誤った認識結果が得られたテストデータの比率として定義することができる。そして、ネットワークの誤認識率が所定の閾値以下となっている場合に、学習部１０４は、学習を終了すると判定することができる。学習を終了しない場合、処理はステップＳ２３０に戻り、学習部１０４が再びネットワークの学習を行う。一方、学習を終了する場合、処理はステップＳ２５０に進み、ここで学習部１０４は最終的な学習結果（例えば、後述するようなネットワークの重みパラメータ及び中間層準出力の結合係数）を、学習結果記憶部１０５に格納する。
【００２１】
本実施形態に係る学習装置１００は、図１に示す機能構成を実現する装置によって実現することができる。例えば、学習装置１００は、各処理部を実現する専用のハードウェアを有していてもよい。一方で、一部又は全部の処理部が、コンピュータにより実現されてもよい。
【００２２】
図１１は、学習装置１００又はその処理部として動作可能なコンピュータの基本構成を示す図である。図１１においてプロセッサ１１１０は、例えばＣＰＵであり、コンピュータ全体の動作をコントロールする。メモリ１１２０は、例えばＲＡＭであり、プログラム及びデータ等を一時的に記憶する。コンピュータが読み取り可能な記憶媒体１１３０は、例えばハードディスク又はＣＤ−ＲＯＭ等であり、プログラム及びデータ等を長期的に記憶する。本実施形態においては、記憶媒体１１３０が格納している、各部の機能を実現するプログラムが、メモリ１１２０へと読み出される。そして、プロセッサ１１１０が、メモリ１１２０上のプログラムに従って動作することにより、各部の機能が実現される。また、メモリ１１２０又は記憶媒体１１３０は、基本データ記憶部１０１、適合的データ記憶部１０３、学習結果記憶部１０５、又はテストデータ記憶部１０６のような記憶部として動作することもできる。
【００２３】
図１１において、入力インタフェース１１４０は外部の装置から情報を取得するためのインタフェースである。また、出力インタフェース１１５０は外部の装置へと情報を出力するためのインタフェースである。バス１１６０は、上述の各部を接続し、データのやりとりを可能とする。
【００２４】
（階層型ネットワークの構成及び学習方法）
以下、本実施形態において使用可能な階層型ネットワークの例及びステップＳ２３０で行われるネットワークの学習について説明する。図３は、階層型ネットワークの一例を示す。図３のネットワークは、３つの中間層群３０２，３０３，３０４によって構成されている。それぞれの中間層群の具体的な構成は特に限定されないが、例えば、畳み込み層、プーリング層、及びフルコネクト層のうち１以上の組み合わせにより構成されていてもよい。
【００２５】
本実施形態において、階層型ネットワークからは、単一の入力データに対応する２以上の異なる出力が得られる。例えば、図３のネットワークにおいては、２以上の異なる階層から出力が得られる。すなわち、図３のネットワークにおいては、中間層群３０２，３０３，３０４のそれぞれから中間層準出力３０７，３０８，３０９が得られる。そして、中間層準出力３０７，３０８，３０９を統合することにより統合出力３０５が得られる。この統合出力３０５に基づいて、入力３０１に対する判定結果が得られる。すなわち、学習データを入力３０１として入力すると、中間層群３０２、中間層群３０３、中間層群３０４を経て、統合出力３０５が得られる。本実施形態では、一例として、中間層群３０２は２つの畳み込み層から、中間層群３０３は１つのプーリング層及び続く２つの畳み込み層から、中間層群３０４も１つのプーリング層及び続く２つの畳み込み層から構成されるものとする。
【００２６】
本実施形態において、ネットワークの学習は、それぞれの中間層群からのサイドアウト学習によって行われる。通常、階層型ネットワークを用いる場合、最終出力のみに対して誤差評価が行われ、そして誤差逆伝播法によってネットワークの学習が行われる。一方、サイドアウト学習においては、中間層群からの出力に対しても誤差評価が行われる。そして、誤差の情報を中間層群にも入力し、これを逆伝播させることができる。例えば、非特許文献１のＨＥＤ(Holistically-nested Edge Detection)は、階層型ネットワークを用いて輪郭抽出（入力対象画像中に含まれる物体の輪郭部分を抽出する）を行う方法を開示している。非特許文献１においては、サイドアウト学習を用いており、具体的には中間層部分においても学習データとの誤差評価を行い、誤差逆伝播法を用いてネットワークの学習を行っている。
【００２７】
本実施形態の場合、それぞれの中間層群３０２，３０３，３０４から、中間層準出力３０７，３０８，３０９がサイドアウト学習用に出力される。そして、それぞれ中間層準出力３０７，３０８，３０９と学習データ（ＧＴ）との誤差である、中間層誤差３１０，３１１，３１２が算出される。ここで、中間層誤差３１０はｌｓｉｄｅ１と、中間層誤差３１１はｌｓｉｄｅ２と、中間層誤差３１２はｌｓｉｄｅ３と、それぞれ表される。このように評価された中間層誤差３１０，３１１，３１２の総和を計算することにより、中間層全体での誤差評価値（式（１）のＬｓｉｄｅ）が得られる。
【数１】
2020042664.tif 000003
【００２８】
誤差の評価方法は特に限定されない。例えば、ＧＴのラベル値が０と１の２値である場合には、式（２）に示されるようにクロスエントロピーを用いて中間層ｍの誤差評価値Ｌｓｉｄｅｍを規定することができる。式（２）において、ｙｊｍは中間層ｍの各画素の出力値を表す。Ｙ＋ｍは、中間層ｍに与えるＧＴのうちポジティブ（ラベル値が１）である領域を、Ｙ−ｍは中間層ｍに与えるＧＴのうちネガティブ（ラベル値が０）である領域を、それぞれ表す。そして、Σは全画素についての和を意味する。βはＧＴのうちポジティブなものとネガティブなものとの比率のアンバランスを補正する係数であり、例えば、ＧＴ全体の画素数に対するネガティブな領域の画素数の比率として定義することができる。この値βは、ＧＴ毎に算出され設定されてもよいし、全ＧＴに対して同じ値（例えば、各ＧＴについての値βの平均値）が設定されてもよい。
【数２】
2020042664.tif 000004
【００２９】
また、統合出力３０５は、入力データに対応する２以上の異なる出力を統合することにより得ることができる。例えば、中間層準出力３０７，３０８，３０９の線形和を求めることにより、中間層準出力３０７，３０８，３０９を重ね合わせることができる。そして、こうして得られた線形和に対してさらにシグモイド関数のような活性化関数σを作用させることにより、統合出力３０５を得ることができる。ここで、中間層準出力３０７をＡｓｉｄｅ１と、中間層準出力３０８をＡｓｉｄｅ２と、中間層準出力３０９をＡｓｉｄｅ３と、それぞれ表すことができる。この場合、例えば式（３）に従うＹｆｕｓｅを、統合出力３０５として得ることができる。統合出力３０５を得る際に用いる各中間層準出力３０７，３０８，３０９の重みも、学習により決定することができる。例えば、式（３）に示される線形和の結合係数ｈｍも、学習により決定することができる。
【数３】
2020042664.tif 000005
【００３０】
本実施形態では、統合出力３０５とＧＴとの誤差である、統合誤差３１３も評価される。例えば、式（４）に従って、統合出力ＹｆｕｓｅとＧＴのラベル値Ｙとの誤差であるＬｆｕｓｅを、統合誤差３１３として得ることができる。式４においてＤｉｓｔ（）は、ＹとＹｆｕｓｅとの誤差評価に用いる距離関数を意味し、この関数としては例えばクロスエントロピーを用いることができる。
【数４】
2020042664.tif 000006
【００３１】
ネットワーク全体の誤差は、統合誤差３１３（Ｌｆｕｓｅ）と、各中間層誤差３１０，３１１，３１２の総和（Ｌｓｉｄｅ）と、にしたがって得ることができる。例えば、ネットワーク全体の誤差は、式（５）で示されるＬｔｏｔａｌでありうる。階層型ネットワーク内の各重みパラメータ及び上記中間層準出力の結合係数（ｈｍ）は、このネットワーク全体の誤差（Ｌｔｏｔａｌ）を最小化するように、学習によって決定することができる。
【数５】
2020042664.tif 000007
【００３２】
上記のような階層型ネットワークの構成及び学習方法は、例えば非特許文献１にも記載されている通りである。一方、本実施形態においては、中間層誤差３１０，３１１，３１２を得る際に、それぞれの中間層群３０２，３０３，３０４（又は中間層準出力３０７，３０８，３０９）に合わせて設定された、適合的学習データが用いられる。すなわち、中間層誤差３１０，３１１，３１２は、それぞれの中間層群３０２，３０３，３０４に合わせて設定された適合的ＧＴ３０６−１，３０６−２，３０６−３と、中間層準出力３０７，３０８，３０９と、の誤差として定義される。以下、この構成について説明する。
【００３３】
図４は、例えば階層型ネットワークを画像からの輪郭抽出に適用する場合における、ネットワークのサイドアウト学習について説明する図である。図４は、非特許文献１のように、同じＧＴ（基本学習データに相当）を用いて、各中間層準出力の誤差評価をする場合を、模式的に表している。図４は、統合出力３０５、及び中間層群３０２〜３０４からの中間層準出力３０７〜３０９と、ＧＴ３０６との関係を表す。
【００３４】
畳み込みニューラルネットワークのような階層型ネットワークにおいては、通常、畳み込み層の後にプーリング層が配置される。プーリング層を配置することにより、畳み込み層で抽出された特徴の位置感度が低下し、プーリング層からの出力が位置変化に対するロバストネスを得ることができる。
【００３５】
例えば、プーリング層においてストライド２の２×２ＭＡＸプーリングを行うと、プーリングにより２×２の４画素のうち最大値のみが出力される。上述のように、図３の例において中間層群３０３，３０４はそれぞれ１層のプーリング層を有している。したがって、例えば１２８×１２８サイズの学習用入力データである画像をネットワークに入力し、これらのプーリング層がストライド２の２×２ＭＡＸプーリングを行う場合、中間層群３０３からは６４×６４サイズの出力が得られる。また、中間層群３０４からは３２×３２サイズの出力が得られる。
【００３６】
一方、ＧＴ（基本学習データに相当）は通常、学習用入力データと同サイズの画像（例えば輪郭画像）である。したがって、中間層準出力をＧＴと比較して誤差評価するために、中間層準出力はＧＴと同じサイズの１２８×１２８サイズに拡大される。すると、図４に示されるように、中間層準出力における１画素が、誤差評価の段階では、中間層準出力３０８の場合には２×２のサイズに、中間層準出力３０９の場合には４×４のサイズに拡大される。したがって、例えば輪郭抽出の場合においては、中間層準出力３０７及びＧＴにおける輪郭線幅が１ピクセルサイズだったとしても、中間層準出力３０８の輪郭線幅は２ピクセルサイズに、中間層準出力３０９の輪郭線幅は４ピクセルサイズになる。したがって、誤差を評価する際には、中間層準出力３０８，３０９においては、線幅の違いによる誤差の過大評価が生じる可能性がある。
【００３７】
図５は、ＧＴと中間層準出力における線幅の相違によって、誤差が過大に評価される過程を模式的に示す。図５（Ａ）に示すように、中間層準出力３０７とＧＴ３０６において線幅の相違はないため、誤差評価においては、中間層群３０２から出力された輪郭パターンとＧＴ３０６のパターンとの相違が評価される。一方、図５（Ｂ）に示すように、中間層準出力３０８とＧＴ３０６との間には線幅の相違が存在するため、誤差評価においては、中間層群３０３から出力された輪郭パターンとＧＴ３０６のパターンとの相違の他に、線幅の相違に起因する誤差も評価される。さらに、図５（Ｃ）に示すように、中間層準出力３０９とＧＴ３０６との間にはより大きな線幅の相違が存在するため、線幅の相違に起因する誤差はより大きくなる。
【００３８】
図５（Ｄ）は、誤差が過大に評価される様子を模式的に示す。このように、中間層準出力に示される中間層群から出力された輪郭パターン５１０と、ＧＴ５２０と、の間に線幅の相違が存在する場合には、ＧＴに示される輪郭線の両側に正しく誤差評価がなされない領域５３０が存在する。輪郭抽出の問題において正しく評価したいのは、出力とＧＴとのパターンの相違であるため、線幅の相違のようなそれ以外の誤差が評価されてしまうと好ましい最終学習結果が得られない可能性が生じる。
【００３９】
非特許文献１には、中間層準出力の誤差に基づく学習に適した学習データを、基本学習データから生成するような処理は記載されていない。そして、最終的な統合出力の誤差に基づく学習データ（基本学習データに相当）と同一の学習データを用いて、各中間層準出力に基づくサイドアウト学習を行う場合、中間層準出力の誤差評価性能が低下し、学習の効率が低下する可能性があった。
【００４０】
このため、本実施形態において、設定部１０２は、単一の学習用入力データに対応する、ネットワークからの２以上の異なる出力のそれぞれについての教師データ（適合的ＧＴ）を設定する。例えば設定部１０２は、それぞれの中間層群（又は中間層準出力）ごとに適合的ＧＴを設定することができる。このような構成により、線幅のような他の影響を低減して本来評価したい誤差をより正しく評価することが可能となる。その結果、サイドアウト学習の収束性及び得られる階層型ネットワークの性能向上を図ることができる。
【００４１】
このために、設定部１０２は、それぞれの中間層群ごとに、元の基本学習データを加工して得られた適合的学習データを設定することができる。例えば、設定部１０２は、中間層群ごとに、中間層準出力における線幅と誤差評価に用いる適合的ＧＴの線幅とが近くなるように、又は少なくとも誤差評価が過大に行われないように、適合的学習データを生成することができる。このようにして、設定部１０２は、それぞれの中間層準出力に対して適切な誤差評価が行われるように、学習データを生成することができる。
【００４２】
一方で、基本データ記憶部１０１は、単一の学習用入力データに対応する、階層型ネットワークからの２以上の異なる出力のそれぞれについての学習データ（適合的教師データ）を格納していてもよい。この場合、設定部１０２は、基本データ記憶部１０１から適合的学習データを取得して適合的データ記憶部１０３に格納してもよい。
【００４３】
（適合的学習データの設定方法）
以下、ステップＳ２２０における適合的学習データの設定方法の具体例を説明する。
【００４４】
図６は、本実施形態における適合的学習データの設定方法を、図３の階層的ネットワークを用いる場合について説明する図である。図６（Ａ）は、中間層準出力３０７に示される輪郭パターンと、中間層準出力３０７の誤差評価用のＧＴ６０１に示されるポジティブ領域（輪郭パターンを表し、以下単にＧＴと呼ぶことがある）と、を示す。同様に、図６（Ｂ）及び図６（Ｃ）は、中間層準出力３０８，３０９に示される輪郭パターンと、中間層準出力３０８，３０９の誤差評価用のＧＴ６０２，６０３に示される輪郭パターンと、を示す。既に説明したように、中間層準出力３０８，３０９の解像度と、ＧＴの解像度とが一致するように、中間層準出力３０８，３０９はＧＴに合わせて拡大される。これに合わせて、中間層準出力３０８，３０９に示される輪郭パターンの線幅も大きくなる。
【００４５】
したがって、設定部１０２は、２以上の異なる出力についての教師データを、２以上の異なる出力の解像度に基づいて設定することができる。例えば、設定部１０２は、中間層準出力３０７〜３０９用のＧＴ６０１〜６０３を、中間層準出力３０７〜３０９の解像度に基づいて設定することができる。本実施形態において、設定部１０２は、２以上の異なる出力のそれぞれに対応する幅を有する線画パターンを、２以上の異なる出力についての教師データとして設定する。例えば、設定部１０２は、中間層準出力３０７〜３０９の解像度に対応する幅を有する線画パターンを示すＧＴ６０１〜６０３を、中間層準出力３０７〜３０９の評価用に設定することができる。
【００４６】
具体的には、中間層準出力とＧＴに示される、輪郭を表す線画パターンの線幅が近くなるように、中間層準出力３０８，３０９用のＧＴ６０２，６０３の線幅が大きくされる。より具体的には、図６の例において、中間層準出力３０７，３０８，３０９用のＧＴ６０１，６０２，６０３に示される輪郭パターンの線幅は、それぞれ１，２，４である。このように設定部１０２は、中間層準出力の解像度が大きい（画素数が多い）場合と比較して、解像度が小さい（画素数が少ない）場合に、線画パターンの線幅が大きくなるように、適合的ＧＴを設定することができる。例えば設定部１０２は、適合的ＧＴに示される線画パターンの線幅が、（基本学習データの解像度／中間層準出力の解像度）にほぼ一致するように、適合的ＧＴを設定することができる。
【００４７】
設定部１０２は、基本学習データを用いて、中間層準出力の誤差評価用の適合的学習データを生成することができる。本実施形態の場合、設定部１０２は、学習用入力データに対応する線画パターンである基本教師データを用いて適合的学習データを生成することができる。設定部１０２は、例えば図９（Ｄ）のフローチャートに従って、中間層準出力３０７〜３０９の誤差評価用の適合的学習データ（ＧＴ９１１〜９１３）を生成することができる。
【００４８】
ステップＳ９０１において設定部１０２は、基本データ記憶部１０１に格納された基本学習データ（ＧＴ９１２）を取得する。ステップＳ９０２において設定部１０２は、ＧＴ９１２にフィルタ処理を行うことにより、ＧＴ９１１及びＧＴ９１３を生成する。ステップＳ９０３において設定部１０２は、こうして得られたＧＴ９１１〜ＧＴ９１３を適合的データ記憶部１０３に格納することにより、各中間層準出力３０７〜３０９用のＧＴ９１１〜９１３を設定できる。
【００４９】
この例では、設定部１０２は、基本学習データに対してフィルタ処理を行うことにより、適合的学習データを生成した。すなわち、設定部１０２は、学習用入力データに対応する線画パターンである基本学習データ（ＧＴ９１２）に対して、中間層準出力ごとに異なるフィルタを作用させることにより、異なる適合的学習データ（ＧＴ９１１，９１３）を得ることができる。中間層準出力に示される輪郭パターンは、最終出力側に近づくにつれ、テクスチャを反映した細かな形態から、大まかな形態へと変化していく。基本学習データに対して変換を施すフィルタの効果により、このような変化をモデル化し、このような変化に合わせてＧＴの形態を変化させることができる。一例として、設定部１０２は、中間層準出力の解像度が大きい（画素数が多い）場合と比較して、解像度が小さい（画素数が少ない）場合に、線画パターンの線幅が大きくなるように、用いるフィルタを選択することができる。
【００５０】
フィルタの具体例としては、特定の周波数帯域のみを通過させるバンドバスフィルタが挙げられる。図９（Ａ）には、ＧＴ９１２に対して高周波パスフィルタを適用することにより得られたＧＴ９１１が示されている。図９（Ｂ）には、輪郭パターンの線幅が２であるＧＴ９１２が示され、中間層準出力３０８に対してはＧＴ９１２がそのまま用いられる。図９（Ｃ）には、ＧＴ９１２に対して低周波パスフィルタを適用することにより得られたＧＴ９１３が示されている。図９（Ａ）〜（Ｃ）からわかるように、ＧＴ９１１はＧＴ９１２よりも輪郭パターンの線幅が細く、ＧＴ９１３はＧＴ９１２よりも輪郭パターンの線幅が太い。なお、図９（Ａ）〜（Ｃ）に示される周波数と強度のグラフにおいて、灰色の部分はフィルタ処理で通過させる帯域を示している。なお、長さの短い輪郭パターン（例えば最大長さが１０ピクセル以下など）に対しては、フィルタ処理を省略し、又は輪郭パターンを消す処理を行ってもよい。このような処理によれば、例えば、ノイズの影響を抑える効果が期待できる。
【００５１】
別の例として、基本データ記憶部１０１は輪郭パターンを示すベクタデータを格納していてもよい。この場合、設定部１０２は、中間層群に対応する線幅を有するＧＴを生成することができる。
【００５２】
また、中間層準出力３０７〜３０９の誤差評価用の適合的学習データ（ＧＴ６０１〜６０３）は、予め基本データ記憶部１０１に格納されていてもよい。さらに、設定部１０２は、基本データ記憶部１０１に格納されているデータに基づいてＧＴ６０１〜６０３を生成してもよい。図６（Ｄ）は、基本データ記憶部１０１における、ＧＴ６０１〜６０３を生成するためのデータの格納方法の例を説明する図である。また、図６（Ｅ）は、図６（Ｄ）の縦線部分の拡大図である。図６（Ｄ）（Ｅ）に示されるように、統合出力３０５及び中間層準出力３０７の誤差評価用のＧＴ６０１としては、「１」で示される輪郭パターンが用いられ、より具体的にはＧＴ６０１のポジティブ領域は「１」で示される領域である。また、中間層準出力３０８の誤差評価用のＧＴ６０２としては、「１」及び「２」で示される輪郭パターンが用いられ、中間層準出力３０９の誤差評価用のＧＴ６０３としては、「１」及び「２」及び「３」で示される輪郭パターンが用いられる。すなわち、ＧＴ６０２のポジティブ領域は「１」及び「２」で表される領域であり、ＧＴ６０３のポジティブ領域は「１」及び「２」及び「３」で表される領域である。
【００５３】
この場合、設定部１０２は、基本データ記憶部１０１に格納されたデータを用いて、それぞれの中間層準出力３０７〜３０９の誤差評価用の適合的学習データ（ＧＴ６０１〜６０３）を生成及び設定することができる。このように、中間層準出力３０７〜３０９の誤差評価用のＧＴ６０１〜６０３における輪郭パターンの線幅を順次太くすることにより、パターンの相違以外に起因する誤差が過大に評価されるのを防ぎ、より効果的にサイドアウト学習を行うことができる。例えば、第１の中間層からの出力の誤差評価用のＧＴよりも、第１の中間層よりもプーリング層を通って下流にある第２の中間層からの出力の誤差評価用のＧＴの方が、輪郭パターンの線幅が太くなるように、ＧＴを設定することができる。
【００５４】
設定部１０２は、上記のように得られたそれぞれの中間層準出力用のＧＴに対して、ぼかし処理のようなさらなる画像処理を行って得られたＧＴを、適合的学習データとして設定してもよい。例えば図８（Ａ）〜（Ｃ）には、図６に示すＧＴ６０１〜６０３に対して、さらにガウシアンブラー（ガウス関数を用いて画像をぼかす処理）を適用した結果を示す。すなわち、図８（Ａ）には、統合出力３０５と中間層準出力３０７の誤差評価に用いるための、線幅１のＧＴ６０１にガウシアンブラーを作用させた後の断面８０１（輪郭パターンの幅方向の画素値分布）を示す。同様に、図８（Ｂ）（Ｃ）には、中間層準出力３０８，３０９の誤差評価に用いるための、線幅２，４のＧＴ６０２，６０３にガウシアンブラーを作用させた後の断面８０２，８０３を示す。それぞれのＧＴ６０１〜６０３に適用する処理は、同一の強さであってもよいし、中間層準出力の特性に合わせた異なる強さであってもよい。
【００５５】
このように設定部１０２は、ぼかし処理が行われた線画パターンを、２以上の異なる出力についての教師データとして設定することができる。学習用入力データに示される正しい輪郭パターンの位置と、ＧＴに示される輪郭パターンの位置とは、入力時の誤差のためにわずかにずれている可能性がある。ここで、ＧＴに対してぼかし処理（例えばガウシアンブラー処理）を行うことにより、真の位置を中心とした入力誤差（例えば、ガウシアン分布に従う入力誤差）をＧＴに反映させ、より効果的にサイドアウト学習を行うことができる。
【００５６】
ここまで、主にＧＴにおける輪郭パターンの線幅を、中間層準出力の特性に応じて変更する構成について説明したが、適合的学習データの設定方法はこのような方法に限られない。例えば、設定部１０２は、２以上の異なる出力のそれぞれに対応する幅を有する誤差評価対象外領域が線画パターンの周囲に設定された、２以上の異なる出力についての教師データを設定することができる。
【００５７】
このように、ＧＴに誤差評価を行わない誤差評価対象外領域を設定する方法について、図７を参照して説明する。図７（Ａ）は、中間層準出力３０７及び誤差評価用のＧＴ６０１を示し、これは図６（Ａ）と同様である。一方、図７（Ｂ）は、中間層準出力３０８、及び線幅１のＧＴ６０１（ＧＴのポジティブ領域）と線幅２の付帯領域７０２とで構成される中間層準出力３０８の誤差評価用のＧＴを表す。また、図７（Ｃ）は、中間層準出力３０９、及び線幅１のＧＴ６０１（ＧＴのポジティブ領域）と線幅４の付帯領域７０３とで構成される中間層準出力３０９の誤差評価用のＧＴを表す。ここで、付帯領域とは、誤差評価において評価を行わない、ポジティブ領域である輪郭パターンの両側に付属する領域のことを表す。この場合、式（２）を用いた評価において、Ｙ＋ｍは中間層ｍに与えるＧＴのうちポジティブ（例えばラベル値が１）な領域を表す。また、Ｙ−ｍは中間層ｍに与えるＧＴのうちネガティブ（例えばラベル値が０）である領域を表す。このネガティブな領域は、全体の領域からポジティブ領域と付帯領域（例えばラベル値が２）を除いた領域である。
【００５８】
このような付帯領域を有するＧＴは、例えば、図６（Ｄ）（Ｅ）に示されるデータに従って作成することができる。例えば、図７（Ｂ）に示すＧＴは、「１」の領域をポジティブ領域に、「２」の領域を付帯領域に、それぞれ設定することにより作成することができる。また、図７（Ｃ）に示すＧＴは、「１」の領域をポジティブ領域に、「２」及び「３」の領域を付帯領域に、それぞれ設定することにより作成することができる。また、上記のようなフィルタ処理を用いて付帯領域を設定することも可能である。このように、中間層準出力３０７〜３０９の誤差評価用のＧＴ６０１における付帯領域７０２，７０３の線幅を順次太くすることによっても、パターンの相違以外に起因する誤差が過大に評価されるのを防ぎ、より効果的にサイドアウト学習を行うことができる。
【００５９】
（様々なネットワーク構成への応用例）
ここまでは、それぞれの中間層群からの中間層準出力に基づいてサイドアウト学習を行う場合について説明したが、本実施形態に係る方法の適用例はこれに限られない。例えば、図１０に示すように、１つの中間層群からの複数の出力に基づいてサイドアウト学習を行うこともできる。図１０に示す構成においては、ネットワークの１つの中間層群における２以上の異なる中間層からの出力に基づいて、サイドアウト学習が行われる。図１０（Ａ）において、１つの中間層群１３００には、畳み込み層１３０１，１３０２，１３０３、及びプーリング１３０４層が含まれる。また、図１０（Ａ）には、畳み込み層１３０１〜１３０３の出力１３１１〜１３１３と、そこでの誤差評価に用いるＧＴ１３２１〜１３２３が示されている。図１０（Ｂ）には、ＧＴ１３２１〜１３２３における輪郭パターンの線幅の変化を示しており、次第に線幅が大きくなることがわかる。
【００６０】
この場合、設定部１０２は、ネットワークの１つの中間層群における２以上の異なる中間層からの出力のそれぞれについて、学習用入力データに対する教師データを設定することができる。例えば、出力１３１１〜１３１３の誤差評価用のＧＴ１３２１〜１３２３における輪郭パターンの線幅を順次太くすることができる。具体例として設定部１０２は、第１の中間層からの出力の誤差評価用のＧＴよりも、第１の中間層よりも畳み込み層を通って下流にある第２の中間層からの出力の誤差評価用のＧＴの方が、輪郭パターンの線幅が太くなるように、ＧＴを設定することができる。このような構成により、畳み込み層で順次フィルタを作用させていくことによる画素の空間的な相互依存範囲の拡大の影響を取り込み、パターンの相違以外に起因する誤差が過大に評価されるのを防ぐことができる。このために、より効果的にサイドアウト学習を行うことができる。
【００６１】
別の例として、図９（Ｅ）に示すように、ネットワークの１つの中間層からの複数の出力に基づいてサイドアウト学習を行うこともできる。一例として、図９（Ｅ）には、中間層群９５０が、畳み込み層９５１〜９５３及びプーリング層９５４で構成される場合を示す。図９（Ｅ）の例において、設定部１０２は、ネットワークの１つの階層における２以上の異なるチャネル群からの出力のそれぞれについて、学習用入力データに対する教師データを設定することができる。
【００６２】
例えば、設定部１０２は、基本学習データに示される画像を所定の条件に従って分離し、それぞれの部分画像を示す複数の適合的学習データを生成することができる。具体例として、ＧＴに示される輪郭パターンを特定の方向ごとに分離し、それぞれの輪郭パターンを用いて対応するネットワークの重み係数（畳み込みフィルタ）の学習を行ってもよい。ここで、サイドアウトを出力する畳み込み層９５１は、畳み込み層９６１と畳み込み層９６２に分割される。畳み込み層９６１及び畳み込み層９６２は、畳み込み層９５１における異なるチャネル群に相当する。ここで設定部１０２は、畳み込み層９６１，９６２のそれぞれに、異なる方向成分を有するＧＴを設定することができる。この場合、畳み込み層９６１，９６２のそれぞれの重み係数の学習は、異なる方向成分を有するＧＴを用いて行われる。例えば、畳み込み層９６１の学習は第１の方向の輪郭パターンを示すＧＴ９７１を用いて、畳み込み層９６２の学習は第１の方向とは異なる第２の方向の輪郭パターンを示すＧＴ９７２を用いて、それぞれ行うことができる。このように、それぞれの畳み込み層について特定のパターンを有するＧＴを用いた学習を集中的に行うことにより、全体の認識性能が向上することが期待される。このような構成は上記の各種の構成と組み合わせることができ、例えばＧＴに対してガウシアンブラー処理のようなさらなる画像処理を適用する場合と組み合わせてもよい。
【００６３】
ここまで、中間層準出力をＧＴに合わせて拡大することを前提として、中間層準出力ごとにＧＴを設定する場合について説明した。一方、設定部１０２は、中間層準出力のそれぞれのサイズに合わせたＧＴを設定してもよい。例えば、設定部１０２は、輪郭パターンを示すＧＴ（基本学習データ）を、中間層準出力のサイズに合わせて縮小してもよい。具体例としては、基本学習データに対してフィルタ処理を行うことにより適合的学習データを生成する方法が挙げられる。例えば、基本学習データが二値画像（「１」値が輪郭を表す）場合、２×２のＭＡＸプーリングをストライド２×２で行うことにより、基本学習データに示される輪郭パターンを維持しながら解像度が半分になった適合的学習データを得ることができる。このように、単に画素を間引きし又は繰り返すことにより基本学習データから適合的学習データを生成するのではなく、基本学習データに対してフィルタ処理のような画像処理を行って適合的学習データを生成することができる。このような方法によれば、中間層準出力に適した適合的学習データを生成することが可能となる。
【００６４】
以上説明した方法により階層型ネットワークの学習を行うことにより、階層型ネットワークのパラメータを作成することができる。また、一実施形態に係る情報処理装置は、このように作成されたパラメータが設定された階層型ネットワークを用いて、入力データに対応する認識処理の結果を生成する生成部を有している。このような階層型ネットワークは、プログラムにより実現することもできるし、パラメータを格納するメモリとＧＰＵのような演算部とを備える演算装置により実現することもできる。本実施形態に係る方法によれば、階層型ネットワークからの２以上の異なる出力のそれぞれが、従来のように同じ基本学習データを用いて評価する代わりに、それぞれに合った適合的学習データを用いて評価される。このため、学習によって得られるネットワークのパラメータは、従来とは異なり、より入力データに対する認識処理に適したものとなる。
【００６５】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６６】
１００：学習装置、１０２：設定部、１０４：学習部
【図１】
2020042664.tif 000008
【図２】
2020042664.tif 000009
【図３】
2020042664.tif 000010
【図４】
2020042664.tif 000011
【図５】
2020042664.tif 000012
【図６】
2020042664.tif 000013
【図７】
2020042664.tif 000014
【図８】
2020042664.tif 000015
【図９】
2020042664.tif 000016
【図１０】
2020042664.tif 000017
【図１１】
2020042664.tif 000018