(57)【要約】【課題】ニューラルネットワークの性能の向上を可能とする学習方法、及び評価装置を提供する。【解決手段】入力層Ｌ１と、出力層Ｌｎと、を含む複数の層Ｌが結合されたニューラルネットワークを構築する学習方法であって、前記入力層Ｌ１に入力された学習データに基づき、複数の前記層Ｌの有するパラメータをそれぞれ更新する学習ステップと、複数の前記層Ｌに含まれる基準層から出力される実特徴量に基づき、前記基準層以降に結合された対象層の有する前記パラメータを更新する再学習ステップと、を備えることを特徴とする。【選択図】図１
2020009321.tif 000002
【特許請求の範囲】
【請求項１】
入力層と、出力層と、を含む複数の層が結合されたニューラルネットワークを構築する学習方法であって、
前記入力層に入力された学習データに基づき、複数の前記層の有するパラメータをそれぞれ更新する学習ステップと、
複数の前記層に含まれる基準層から出力される実特徴量に基づき、前記基準層以降に結合された対象層の有する前記パラメータを更新する再学習ステップと、
を備えること
を特徴とする学習方法。
【請求項２】
前記再学習ステップは、
前記実特徴量を用いて、確率分布関数を生成する生成ステップと、
前記確率分布関数に対応する値をランダムで算出し、疑似特徴量として抽出する抽出ステップと、
前記疑似特徴量と、前記実特徴量とに基づき、前記対象層の有する前記パラメータを更新するステップと、
を有すること
を特徴とする請求項１記載の学習方法。
【請求項３】
前記学習データは、
第１クラスデータと、
前記第１クラスデータよりもデータの数が少ない第２クラスデータと、
を有し、
前記生成ステップ及び前記抽出ステップは、前記第２クラスデータが前記入力層に入力されたときに行うこと
を特徴とする請求項２記載の学習方法。
【請求項４】
入力層と、出力層と、を含む複数の層が結合されたニューラルネットワークを構築する学習方法であって、
前記入力層に入力された学習データに基づき、複数の前記層の有するパラメータをそれぞれ更新する学習ステップと、
前記ニューラルネットワークとは異なる他のニューラルネットワークの含む層の有する他のパラメータを更新する再学習ステップと、
を備え、
前記再学習ステップは、
複数の前記層に含まれる基準層から出力される実特徴量を用いて、確率分布関数を生成する生成ステップと、
前記確率分布関数に対応する値をランダムで算出し、疑似特徴量として抽出する抽出ステップと、
前記疑似特徴量と、前記実特徴量とに基づき、前記他のパラメータを更新するステップと、
を有すること
を特徴とする学習方法。
【請求項５】
請求項１〜４の何れか１項記載の学習方法により構築された前記ニューラルネットワークを用いて、評価データを評価する評価部を備えること
を特徴とする評価装置。
【請求項６】
入力層と、出力層と、を含む複数の層が結合されたニューラルネットワークに基づき評価データを評価する評価装置であって、
前記ニューラルネットワークを構築する学習部を備え、
前記学習部は、
前記入力層に入力された学習データに基づき、複数の前記層の有するパラメータをそれぞれ更新する第１学習部と、
複数の前記層に含まれる基準層から出力される実特徴量に基づき、前記基準層以降に結合された対象層の有する前記パラメータを更新する第２学習部と、
を有すること
を特徴とする評価装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習方法、及び評価装置に関するものである。
【背景技術】
【０００２】
近年、機械学習に関する研究や開発が盛んに行われており、特にニューラルネットワークを用いた深層学習に関する技術は、様々な分野において注目を集めている。深層学習に関する技術では、例えばドロップアウト、バッチ正規化（Batch Normalization）、ＳＭＯＴＥ（Synthetic Minority Over-sampling Technique）等の方法による性能の向上が提案されている（例えば特許文献１、２、非特許文献１）。
【０００３】
例えば特許文献１では、バッチ正規化レイヤを含むニューラル・ネットワーク・システムを用いて入力を処理するための、コンピュータ記憶媒体で符号化されたコンピュータ・プログラムを含む方法、システム、および装置について開示されている。前記方法の１つは、前記バッチ内のトレーニング例ごとにそれぞれの第１のレイヤ出力を受信するステップと、前記第１のレイヤ出力からの前記バッチに対する複数の正規化統計値を計算するステップと、前記正規化統計値を用いて各第１のレイヤ出力の各成分を正規化して、前記バッチ内のトレーニング例ごとにそれぞれの正規化されたレイヤ出力を生成するステップと、前記正規化されたレイヤ出力からの前記トレーニング例の各々に対するそれぞれのバッチ正規化レイヤ出力を生成するステップと、前記バッチ正規化レイヤ出力を入力として前記第２のニューラル・ネットワーク・レイヤに提供するステップとを含む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１８−５０８８７９号公報
【特許文献２】国際公開第２０１４／１０５８６６号
【非特許文献】
【０００５】
【非特許文献１】https://www.svds.com/learning-imbalanced-classes/
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、深層学習を用いて性能の高いニューラルネットワークを構築するためには、大量のデータを必要とする。しかしながら、大量のデータを取得するには、分野によっては膨大な費用や時間を費やす場合がある。このため、常に大量のデータを取得することは困難であり、限られたデータの数を用いて深層学習を行う場合、ニューラルネットワークの性能を向上させることが難しい。この点、上述した特許文献等の開示技術では、十分なニューラルネットワークの性能の向上を得ることができない、という事情がある。
【０００７】
そこで本発明は、上述した問題点に鑑みて案出されたものであり、その目的とするところは、ニューラルネットワークの性能の向上を可能とする学習方法、及び評価装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明者らは、上述した問題を解決するために、入力層と、出力層と、を含む複数の層が結合されたニューラルネットワークを構築する学習方法、及びニューラルネットワークに基づき評価する評価装置を発明した。学習方法は、入力層に入力された学習データに基づき、複数の層の有するパラメータをそれぞれ更新する学習ステップと、複数の層に含まれる基準層から出力される実特徴量に基づき、基準層以降に結合された対象層の有するパラメータを更新する再学習ステップと、を備えることを特徴とする。
【０００９】
第１発明に係る学習方法は、入力層と、出力層と、を含む複数の層が結合されたニューラルネットワークを構築する学習方法であって、前記入力層に入力された学習データに基づき、複数の前記層の有するパラメータをそれぞれ更新する学習ステップと、複数の前記層に含まれる基準層から出力される実特徴量に基づき、前記基準層以降に結合された対象層の有する前記パラメータを更新する再学習ステップと、を備えることを特徴とする。
【００１０】
第２発明に係る学習方法は、第１発明において、前記再学習ステップは、前記実特徴量を用いて確率分布関数を生成する生成ステップと、前記確率分布関数に対応する値をランダムで算出し、疑似特徴量として抽出する抽出ステップと、前記疑似特徴量と、前記実特徴量とに基づき、前記対象層の有する前記パラメータを更新するステップと、を有することを特徴とする。
【００１１】
第３発明に係る学習方法は、第２発明において、前記学習データは、第１クラスデータと、前記第１クラスデータよりもデータの数が少ない第２クラスデータと、を有し、前記生成ステップ及び前記抽出ステップは、前記第２クラスデータが前記入力層に入力されたときに行うことを特徴とする。
【００１２】
第４発明に係る学習方法は、入力層と、出力層と、を含む複数の層が結合されたニューラルネットワークを構築する学習方法であって、前記入力層に入力された学習データに基づき、複数の前記層の有するパラメータをそれぞれ更新する学習ステップと、前記ニューラルネットワークとは異なる他のニューラルネットワークの含む層の有する他のパラメータを更新する再学習ステップと、を備え、前記再学習ステップは、複数の前記層に含まれる基準層から出力される実特徴量を用いて、確率分布関数を生成する生成ステップと、前記確率分布関数に対応する値をランダムで算出し、疑似特徴量として抽出する抽出ステップと、前記疑似特徴量と、前記実特徴量とに基づき、前記他のパラメータを更新するステップと、を有することを特徴とする。
【００１３】
第５発明に係る評価装置は、第１発明〜第４発明の何れかの学習方法により構築された前記ニューラルネットワークを用いて、評価データを評価する評価部を備えることを特徴とする。
【００１４】
第６発明に係る評価装置は、入力層と、出力層と、を含む複数の層が結合されたニューラルネットワークに基づき評価データを評価する評価装置であって、前記ニューラルネットワークを構築する学習部を備え、前記学習部は、前記入力層に入力された学習データに基づき、複数の前記層の有するパラメータをそれぞれ更新する第１学習部と、複数の前記層に含まれる基準層から出力される実特徴量に基づき、前記基準層以降に結合された対象層の有する前記パラメータを更新する第２学習部と、を有することを特徴とする。
【発明の効果】
【００１５】
上述した構成からなる本発明によれば、再学習ステップは、実特徴量に基づき、基準層以降に結合された対象層の有するパラメータを更新する。このため、学習に用いるデータの数が限られている場合においても、ニューラルネットワークの性能の向上を図ることが可能となる。
【００１６】
また、全ての層の有するパラメータを更新する場合に比べて、ニューラルネットワークの構築に費やす時間を大幅に削減することができる。これにより、学習時間の短縮を実現することが可能となる。
【００１７】
また、上述した構成からなる本発明によれば、再学習ステップは、疑似特徴量と、実特徴量とに基づき、対象層の有するパラメータを更新してもよい。すなわち、学習データの数を増加させる代わりに、疑似特徴量を用いる。このため、疑似特徴量を用いることで、学習データの数を増加させた場合と同様の状態で、対象層の有するパラメータを更新することができる。これにより、ニューラルネットワークの性能の向上を容易に実現することが可能となる。
【００１８】
また、上述した構成からなる本発明によれば、生成ステップ及び抽出ステップは、第２クラスデータが入力層に入力されたときに行う。このため、データの数が揃っていない不均衡データの学習データに対しても、均衡データに近い条件でニューラルネットワークを学習することができる。これにより、データの数が少ないクラスに対する認識率を向上させることが可能となる。
【００１９】
また、上述した構成からなる本発明によれば、評価部は、上述した方法によって学習されたニューラルネットワークを用いて、評価データを評価する。このため、得られる評価結果の精度を向上させることが可能となる。
【００２０】
また、上述した構成からなる本発明によれば、第２学習部は、実特徴量に基づき、基準層以降に結合された対象層の有するパラメータを更新する。このため、学習に用いるデータの数が限られている場合においても、ニューラルネットワークの性能の向上を図ることが可能となる。
【００２１】
また、全ての層の有するパラメータを更新する場合に比べて、ニューラルネットワークの構築に費やす時間を大幅に削減することができる。これにより、学習時間の短縮を実現することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】図１は、本発明を適用した学習方法により構築されるニューラルネットワークの一例を示す模式図である。
【図２】図２は、本発明を適用した学習方法の一例を示すフローチャートである。
【図３】図３は、再学習ステップの一例を示す模式図である。
【図４】図４（ａ）及び図４（ｂ）は、基準層及び対象層の一例を示す模式図である。
【図５】図５（ａ）は、本発明を適用した評価装置の構成の一例を示す模式図であり、図５（ｂ）は、本発明を適用した評価装置の機能の一例を示す模式図である。
【図６】図６は、本発明を適用した学習方法により構築されたニューラルネットワークの一例を示す模式図である。
【図７】図７は、本発明を適用した学習方法の第１変形例を示すフローチャートである。
【図８】図８は、生成ステップ及び抽出ステップの一例を示す模式図である。
【図９】図９は、オリジナルデータの集合及び疑似データの集合の一例を示す模式図である。
【図１０】図１０は、学習データの一例を示す模式図である。
【図１１】図１１は、本発明を適用した学習方法の第２変形例を示すフローチャートである。
【図１２】図１２は、第２変形例における再学習ステップを示す模式図である。
【図１３】図１３は、第１実施例において実施した認識精度の評価結果を示すグラフである。
【図１４】図１４（ａ）及び図１４（ｂ）は、第２実施例において実施した分類精度の評価結果を示すグラフである。
【発明を実施するための形態】
【００２３】
以下、本発明を適用した学習方法及び評価装置について図面を参照しながら詳細に説明をする。
【００２４】
（ニューラルネットワーク）
図１は、本発明を適用した学習方法によって構築されるニューラルネットワークの一例を示す模式図である。ニューラルネットワークは、学習データ等を学習させることにより構築され、任意の評価データの評価等に用いられる。構築されたニューラルネットワークは、例えば学習器や分類器等とも呼ばれるものである。
【００２５】
ニューラルネットワークは、入力層と、出力層とを含む複数の層Ｌが結合された構成で示される。図１では、入力層が第１層Ｌ１で示され、出力層が第ｎ層Ｌｎ（ｎは任意の整数）で示される。入力層と出力層との間の層は、隠れ層と呼ばれ、図１では第２層Ｌ２〜第ｎ−１層Ｌｎ−１で示される。
【００２６】
複数の層Ｌは、第１層Ｌ１及び第ｎ層Ｌｎを両端として１列に結合されている。各層Ｌは、１つ以上のノードにより形成される。各ノードは、隣接する層Ｌのノードに対して結合される重み変数等のパラメータを有する。パラメータは、例えばバイアスパラメータのほか、ステップ関数やシグモイド関数等のような活性化関数のパラメータを有する。このため、例えば評価データ等を第１層Ｌ１に入力した場合、各層Ｌの有するパラメータを介して評価（分類）された結果が、第ｎ層Ｌｎから出力される。このとき、各層Ｌからは特徴量が出力され、特徴量を出力した層Ｌの後に結合された他の層Ｌに、特徴量が入力される。特徴量は、出力した層Ｌが有するパラメータ、及び出力した層Ｌよりも前に結合された層Ｌが有するパラメータに基づき、評価データ等に対する算出結果として出力される。なお、パラメータは、例えば行列により表されてもよい。
【００２７】
構築するニューラルネットワークのモデルとして、例えばＲｅｓＮｅｔ（Residual Network）が用いられるほか、例えばＶＧＧモデルやＤｅｎｓｅＮｅｔ（Densely Connected Convolutional Network）モデル等のような公知のモデルが用いられてもよい。また、よりシンプルな、ＣＮＮ（Convolutional Neural Network）モデルや、ＲＮＮ（Recurrent Neural Network）モデル等が用いられてもよい。
【００２８】
（学習方法）
次に、本発明を適用した学習方法の一例について説明する。図２は、本発明を適用した学習方法の一例を示すフローチャートである。
【００２９】
＜学習ステップＳ１１０＞
先ず、第１層Ｌ１（入力層）に入力された学習データに基づき、複数の層Ｌの有するパラメータをそれぞれ更新する（学習ステップＳ１１０）。学習ステップＳ１１０では、例えば複数の画像データ等を含む学習データを第１層Ｌ１に入力し、各層Ｌの有するパラメータを更新する。学習ステップＳ１１０では、例えば公知の更新方法が用いられ、教師有り又は教師無しの何れの方法が用いられてもよい。また、パラメータの更新方法として、例えば誤差逆伝播法等が用いられる。
【００３０】
＜再学習ステップＳ１２０＞
次に、複数の層Ｌに含まれる基準層Ｌｒから出力される実特徴量に基づき、基準層Ｌｒ以降に結合された対象層Ｌｔの有するパラメータを更新する（再学習ステップＳ１２０）。再学習ステップＳ１２０では、例えば図３に示すように、第ｎ−１層Ｌｎ−１が基準層Ｌｒ（斜線の層）と設定された場合、第ｎ−１層Ｌｎ−１よりも後に結合された第ｎ層Ｌｎが、対象層Ｌｔ（点線の層）として設定される。なお、基準層Ｌｒの設定は、予めユーザ等によって設定されてもよく、後述するように、例えば複数の層Ｌが対象層Ｌｔとして設定されてもよい。
【００３１】
再学習ステップＳ１２０では、例えば基準層Ｌｒから出力された実特徴量に基づき、対象層Ｌｔの有するパラメータを更新する。この実特徴量は、学習ステップＳ１１０において取得され、メモリ等に保存されたものである。このため、再学習ステップＳ１２０は、ニューラルネットワーク全ての層Ｌの有するパラメータを更新する場合に比べて、短時間で実施することが可能となる。なお、再学習ステップＳ１２０では、例えば後述する評価装置１等で行われる場合、基準層Ｌｒから出力された実特徴量を取得したあと、後述する保存部１０４等のメモリに保存されてもよい。この再学習ステップＳ１２０では、対象層Ｌｔと基準層Ｌｒが結合された状態であるが、例えば対象層Ｌｔと基準層Ｌｒとを分離独立させた状態で再学習ステップＳ１２０を行ってもよい。この場合でも、基準層Ｌｒの特徴量の出力は、一旦メモリ等に保存され、対象層Ｌｔに入力されて対象層Ｌｔの有するパラメータのみを更新することができる。
【００３２】
再学習ステップＳ１２０では、例えば学習ステップＳ１１０における学習データを第１層Ｌ１にもう一度入力し、基準層Ｌｒ以前に結合された層Ｌの有するパラメータを固定した状態（更新しない状態）で、基準層Ｌｒよりも後に結合された対象層Ｌｔの有するパラメータを更新してもよい。この時、基準層Ｌｒ以前に結合された層Ｌのパラメータは固定されているので、対象層Ｌｔに入力されるデータは、基準層Ｌｒから出力された実特徴量に対応するデータとなる。この場合、対象層Ｌｔが基準層Ｌｒに結合された状態で、再学習ステップＳ１２０が実施される。
【００３３】
上記各ステップＳ１１０、Ｓ１２０を実施することにより、学習方法の動作が終了する。なお、再学習ステップＳ１２０の後、例えば対象層Ｌｔを基準層Ｌｒに結合されるほか、対象層Ｌｔを基準層Ｌｒから独立した状態で動作が終了してもよい（例えば図６の状態）。また、例えば各ステップＳ１１０、Ｓ１２０を複数実施してもよい。
【００３４】
本発明を適用した学習方法によれば、再学習ステップＳ１２０は、実特徴量に基づき、基準層Ｌｒ以降に結合された対象層Ｌｔの有するパラメータを更新する。このため、学習に用いるデータの数が限られている場合においても、ニューラルネットワークの性能の向上を図ることが可能となる。
【００３５】
また、本発明を適用した学習方法によれば、全ての層Ｌの有するパラメータを更新する場合に比べて、ニューラルネットワークの構築に費やす時間を大幅に削減することができる。これにより、学習時間の短縮を実現することが可能となる。
【００３６】
なお、例えば図４（ａ）に示すように、出力層（第ｎ層Ｌｎ）の直前の層Ｌ以外に基準層Ｌｒが設定された場合、基準層Ｌｒ（図４（ａ）では第ｎ−２層Ｌｎ−２）と結合された第ｎ−１層Ｌｎ−１、及び第ｎ−１層Ｌｎ−１と結合された第ｎ層Ｌｎが、対象層Ｌｔとして設定される。また、例えば図４（ｂ）に示すように、第１層Ｌ１が基準層Ｌｒとして設定された場合、第２層Ｌ２以降の層Ｌが、対象層Ｌｔとして設定される。すなわち、対象層Ｌｔとして設定される層Ｌの数は任意である。このため、上述した再学習ステップＳ１２０等では、基準層Ｌｒよりも後に結合されたすべての層Ｌ（すなわち対象層Ｌｔ）の有するパラメータを更新する。
【００３７】
（評価装置１）
次に、本発明を適用した評価装置１の一例について説明する。図５（ａ）は、本発明を適用した評価装置１の構成の一例を示す模式図であり、図５（ｂ）は、本発明を適用した評価装置１の機能の一例を示す模式図である。
【００３８】
評価装置１は、上述した学習方法により構築されたニューラルネットワークを用いて、評価データを評価するためのものである。評価装置１は、例えば上述した学習方法を実行するための機能が記憶される。
【００３９】
評価装置１として、例えばパーソナルコンピュータ（ＰＣ）等の電子機器が用いられる。評価装置１は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、保存部１０４と、Ｉ／Ｆ１０５〜１０７とを備える。各構成１０１〜１０７は、内部バス１１０により接続され、筐体１０内に格納される。
【００４０】
ＣＰＵ１０１は、評価装置１全体を制御する。ＲＯＭ１０２は、ＣＰＵ１０１の動作コードを格納する。ＲＡＭ１０３は、ＣＰＵ１０１の動作時に使用される作業領域である。保存部１０４は、後述する記憶部１５を介してニューラルネットワーク等の各種情報が保存される。保存部１０４としてデータ保存装置が用いられ、例えばＨＤＤ（Hard Disk Drive）、ＳＳＤ（solid state drive）等が用いられる。
【００４１】
Ｉ／Ｆ１０５は、公衆通信網４等と接続するためのインターフェース部品であり、例えばＩ／Ｆ１０５を介して図示しないサーバ等との各種情報の送受信が行われる。
【００４２】
Ｉ／Ｆ１０６は、入力部分１０８との情報の送受信を行うためのインターフェース部品である。入力部分１０８として、例えばキーボードが用いられ、評価装置１のユーザ等は、入力部分１０８を介して、評価装置１又は学習方法の制御コマンド等を入力できる。Ｉ／Ｆ１０７は、出力部分１０９との各種情報の送受信を行うためのインターフェース部品である。出力部分１０９は、保存部１０４に保存された各種情報、又は評価装置１の処理状況等を出力できる。出力部分１０９として、例えばディスプレイが用いられる。なお、評価装置１は、例えば図示しないＧＰＵ（Graphics Processing Unit）を有してもよい。
【００４３】
評価装置１は、学習部１１と、評価部１２と、入力部１３と、出力部１４と、記憶部１５とを有する。学習部１１、評価部１２、入力部１３、出力部１４、及び記憶部１５は、ＣＰＵ１０１がＲＡＭ１０３を作業領域として、保存部１０４等に保存されたプログラム（命令）を実行することにより実現される。
【００４４】
＜学習部１１＞
学習部１１は、ニューラルネットワークを構築する。学習部１１は、第１学習部１１ａと、第２学習部１１ｂとを有する。
【００４５】
第１学習部１１ａは、第１層Ｌ１（入力層）に入力された学習データ等に基づき、複数の層Ｌの有するパラメータを更新する。ここで、「更新」には、初期値としてランダムに設定されたパラメータを更新する場合のほか、例えば１度以上更新されたパラメータを更新する場合も含む。第１学習部１１ａは、例えば公知の機械学習方法により、パラメータを更新する。
【００４６】
第２学習部１１ｂは、基準層Ｌｒから出力可能な実特徴量に基づき、基準層Ｌｒ以降に結合された対象層Ｌｔの有するパラメータを更新する。第２学習部１１ｂは、基準層Ｌｒ以前の層Ｌの有するパラメータを更新しない状態で、対象層Ｌｔの有するパラメータのみを更新することができる。
【００４７】
第２学習部１１ｂは、例えば基準層Ｌｒから出力された実特徴量を取得し、記憶部１５を介して保存部１０４に実特徴量を保存し、必要に応じて取出してもよい。
【００４８】
すなわち、第１学習部１１ａは、上述した学習ステップＳ１１０を実現することができ、第２学習部１１ｂは、上述した再学習ステップＳ１２０を実現することができる。また、上述した学習方法は、例えば評価装置１に実装されたコンピュータ・プログラムを実行することにより実現することができる。これにより、例えば入力層に任意の評価データ等を入力し、出力層から評価データの評価結果を出力するためのニューラルネットワークを生成することができる。
【００４９】
＜評価部１２＞
評価部１２は、構築されたニューラルネットワークを参照し、評価対象のデータに基づく評価結果を生成する。このため、評価部１２は、上述した学習方法によりニューラルネットワークを構築したあとに用いられる。なお、評価装置１は、例えば外部の端末等において上述した学習方法により構築されたニューラルネットワークを取得し、評価部１２を用いて評価データを評価してもよい。この場合、評価装置１は、学習部１１を有しなくてもよい。
【００５０】
＜入力部１３＞
入力部１３は、外部から各種情報を取得する。入力部１３は、例えば公衆通信網４等を介して、ニューラルネットワークの構築に必要な学習データを取得するほか、例えばＩ／Ｆ１０６を介して、入力部分１０８から制御コマンド等を取得する。
【００５１】
＜出力部１４＞
出力部１４は、各種情報を外部に出力する。出力部１４は、例えば公衆通信網４等を介して、他の端末に評価結果等を出力するほか、例えばＩ／Ｆ１０７を介して、出力部分１０９に評価結果等を出力する。
【００５２】
＜記憶部１５＞
記憶部１５は、入力部１３が取得した学習データ等の各種情報を保存部１０４に記憶させる。記憶部１５は、例えば学習部１１で構築されたニューラルネットワークを保存部１０４に保存させ、評価等の必要に応じてニューラルネットワークを保存部１０４から取出す。
【００５３】
本発明を適用した評価装置１によれば、第２学習部１１ｂは、実特徴量に基づき、基準層Ｌｒ以降に結合された対象層Ｌｔの有するパラメータを更新する。このため、学習に用いるデータの数が限られている場合においても、ニューラルネットワークの性能の向上を図ることが可能となる。
【００５４】
また、本発明を適用した評価装置１によれば、全ての層Ｌの有するパラメータを更新する場合に比べて、ニューラルネットワークの構築に費やす時間を大幅に削減することができる。これにより、学習時間の短縮を実現することが可能となる。
【００５５】
また、本発明を適用した評価装置１によれば、評価部１２は、上述した方法によって学習されたニューラルネットワークを用いて、評価データを評価する。すなわち、性能の向上を可能にしたニューラルネットワークを用いた評価を実現することができる。このため、得られる評価結果の精度を向上させることが可能となる。
【００５６】
なお、本発明を適用した評価装置１では、例えば図６に示すように、基準層Ｌｒと対象層Ｌｔとが独立した状態で実装されてもよい。この場合、例えば評価部１２は、基準層Ｌｒから出力された特徴量を取得し、対象層Ｌｔに入力したあと、第ｎ層Ｌｎから評価結果を取得してもよい。この場合においても、得られる評価結果の精度を向上させることが可能となる。
【００５７】
（学習方法：第１変形例）
次に、本発明を適用した学習方法の第１変形例について説明する。図７は、本発明を適用した学習方法の第１変形例を示すフローチャートである。
【００５８】
上述した学習方法の一例と、第１変形例との違いは、再学習ステップＳ１２０が生成ステップＳ１２１と、抽出ステップＳ１２２とを有する点である。なお、上述した内容と同様の構成等については、説明を省略する。
【００５９】
＜生成ステップＳ１２１＞
第１変形例では、学習ステップＳ１１０の後、実特徴量を用いて、確率分布関数を生成する（生成ステップＳ１２１）。生成ステップＳ１２１では、例えば図８に示すように、基準層Ｌｒから出力された実特徴量を取得する。その後、実特徴量の分布を確率変数であると捉え、この実特徴量に基づく確率分布関数を計算する。
【００６０】
確率分布関数として、例えば各次元で独立なガウス分布関数が用いられるほか、例えば多変数確率分布関数が用いられる。多変数確率分布関数は、多次元の確率変数の相関を表すために用いられるため、各次元で独立なガウス分布関数に比べて、精度の高い結果を得ることができる。多変数確率分布関数として、例えば接合関数（コピュラ関数）を元にしたものが用いられ、好ましくは多変数ガウス分布関数が用いられる。多変数ガウス分布関数は、多変数確率分布関数の中でも比較的多く利用される関数であるため、容易に実装することができる。
【００６１】
生成ステップＳ１２１において、例えば実特徴量が２５６次元のベクトルで示される場合、２５６次元の平均ベクトルと、分散共分散行列（２５６次元×２５６次元の行列）とを用いて、多変数ガウス分布関数を生成できる。なお、実特徴量を示す次元は、任意であり、各層Ｌの有するパラメータの次元に依存する。
【００６２】
＜抽出ステップＳ１２２＞
次に、生成された確率分布関数に対応する値をランダムで算出し、疑似特徴量として抽出する（抽出ステップＳ１２２）。疑似特徴量は、実特徴量（オリジナルデータの特徴量）から生成された確率に基づいて抽出される。このため、例えば図９に示すように、オリジナルデータ（図９の黒丸）を囲む集合（破線）の境界を超えた疑似データ（白丸）に対応する疑似特徴量を抽出することができる。これは、深層学習等の決定境界（破線）を超えた外側の境界（１点鎖線）に含まれるデータに対応する特徴量を利用することができることを意味する。これにより、従来のＳＭＯＴＥ法等のような疑似データ生成方法に比べて、性能の向上を図ることが可能となる。
【００６３】
次に、疑似特徴量と、実特徴量とに基づき、対象層Ｌｔの有するパラメータを更新する。このとき、上述した学習方法と同様に、例えば基準層Ｌｒ以前の層Ｌが有するパラメータを更新しない状態で、対象層Ｌｔの有するパラメータを更新する。
【００６４】
その後、必要に応じて対象層Ｌｔを基準層Ｌｒに結合し、学習方法の動作が終了する。なお、上述した学習方法を評価装置１で行う場合、第２学習部１１ｂが生成ステップＳ１２１及び抽出ステップＳ１２２を行う。
【００６５】
本発明を適用した学習方法の第１変形例によれば、上述した例と同様に、再学習ステップＳ１２０は、実特徴量に基づき、基準層Ｌｒ以降に結合された対象層Ｌｔの有するパラメータを更新する。このため、学習に用いるデータの数が限られている場合においても、ニューラルネットワークの性能の向上を図ることが可能となる。
【００６６】
また、本発明を適用した学習方法の第１変形例によれば、上述した例と同様に、全ての層Ｌの有するパラメータを更新する場合に比べて、ニューラルネットワークの構築に費やす時間を大幅に削減することができる。これにより、学習時間の短縮を実現することが可能となる。
【００６７】
また、本発明を適用した学習方法の第１変形例によれば、再学習ステップＳ１２０は、疑似特徴量と、実特徴量とに基づき、対象層Ｌｔの有するパラメータを更新してもよい。すなわち、学習データの数を増加させる代わりに、疑似特徴量を用いる。このため、疑似特徴量を用いることで、学習データの数を増加させた場合と同様の状態で、対象層Ｌｔの有するパラメータを更新することができる。これにより、ニューラルネットワークの性能の向上を容易に実現することが可能となる。
【００６８】
なお、例えば図１０に示すように、学習データＤが複数のクラス（例えば第１クラスデータＣ１、第２クラスデータＣ２）を有する場合がある。各クラスに含まれるデータは、不均衡データ（データの数が不揃い）であり、例えば第２クラスデータＣ２（Minor Class）は、第１クラスデータＣ１（Major Class）よりもデータの数が少ない。このような場合、例えば第２クラスデータＣ２が入力層に入力されたときに、生成ステップＳ１２１及び抽出ステップＳ１２２が行われてもよい。すなわち、第２クラスデータＣ２のデータの数を増加させた場合と同様の状態で、対象層Ｌｔの有するパラメータを更新することができる。このため、第２クラスデータＣ２に対応する実特徴量（Real Features）に加えて、疑似特徴量（Pseudo-Features）を用いることで、第１クラスデータＣ１と対等な評価を実現することができる。これにより、クラス間における不均衡データ問題を解消することが可能となる。
【００６９】
上記より、本発明を適用した学習方法の第１変形例によれば、生成ステップＳ１２１及び抽出ステップＳ１２２は、第２クラスデータＣ２が入力層（第１層Ｌ１）に入力されたときに行ってもよい。このため、データの数が揃っていない不均衡データの学習データに対しても、均衡データに近い条件でニューラルネットワークを学習することができる。これにより、データの数が少ないクラスに対する認識率を向上させることが可能となる。
【００７０】
（学習方法：第２変形例）
次に、本発明を適用した学習方法の第２変形例について説明する。図１１は、本発明を適用した学習方法の第２変形例を示すフローチャートである。
【００７１】
上述した学習方法の第１変形例と、第２変形例との違いは、再学習ステップＳ１２０において、対象層Ｌｔの代わりに他のニューラルネットワークの含む層の有するパラメータを更新する点である。なお、上述した内容と同様の構成については、説明を省略する。
【００７２】
第２変形例では、上述した抽出ステップＳ１２２を実施した後、疑似特徴量と、実特徴量とに基づき、基準層Ｌｒの有するパラメータを更新する。第２変形例は、例えば図１２に示すように、基準層Ｌｒとして第ｎ層Ｌｎ（出力層）が選択された場合に実施される。この場合、基準層Ｌｒを含むニューラルネットワークの有するパラメータを更新しない状態で、他のニューラルネットワークの含む層の有するパラメータ（他のパラメータ）のみを更新することができる。その後、例えば第ｎ層Ｌｎの後に、他のニューラルネットワークを結合してもよい。なお、基準層Ｌｒとして、第ｎ層Ｌｎ以外の層Ｌが選択されてもよい。
【００７３】
また、基準層Ｌｒを含むニューラルネットワークに他のニューラルネットワークが結合された状態で学習ステップＳ１１０を実施した後、上述した他のニューラルネットワークの更新を行うほか、例えば基準層Ｌｒを含むニューラルネットワークのみの状態で学習ステップＳ１１０を実施した後、上述した他のニューラルネットワークの更新を行ってもよい。すなわち第２変形例の学習方法では、例えば学習ステップＳ１１０にて複数のニューラルネットワーク全体を学習した後、再学習ステップＳ１２０にて一部のネットワークのみを再学習するほか、複数のニューラルネットワークを順次学習してもよい。
【００７４】
本発明を適用した学習方法の第２変形例によれば、ニューラルネットワーク及び他のニューラルネットワークの含む全ての層の有するパラメータを更新する場合に比べて、各ニューラルネットワークの構築に費やす時間を大幅に削減することができる。これにより、学習時間の短縮を実現することが可能となる。
【００７５】
また、本発明を適用した学習方法の第２変形例によれば、再学習ステップＳ１２０は、疑似特徴量と、実特徴量とに基づき、他のニューラルネットワークの含む層の有する他のパラメータを更新する。すなわち、学習データの数を増加させる代わりに、疑似特徴量を用いる。このため、学習に用いるデータの数が限られている場合においても、疑似特徴量を用いることで、学習データの数を増加させた場合と同様の状態で、パラメータを更新することができる。これにより、ニューラルネットワークの性能の向上を図ることが可能となる。
【実施例】
【００７６】
＜第１実施例＞
次に、本発明の効果を確認する上で行った実験の結果について説明する（第１実施例）。この実験では、既存のデータセットを用いて、各評価条件において構築されたニューラルネットワークを用いた比較例１及び実施例１の認識精度を評価した。
【００７７】
第１実施例では、Ｃｉｆａｒ１００（Canadian Institute for Advanced Research）のデータセットを用いた。また、比較例１及び実施例１におけるニューラルネットワークのモデルとして、ＲｅｓＮｅｔを用い、それぞれ１１層、２０層、２９層、３８層、４７層、及び５６層の階層毎に評価した。ニューラルネットワークの構築においては、バッチサイズを１２８とし、最適化にはＡｄａｍ（Adaptive Moment Estimation）を用い、エポックを２００回とし、データ拡張にはＫｅｒａｓの関数を使用した。
【００７８】
実施例１は、上述した学習方法の一例に基づき学習したニューラルネットワークを示す。実施例１では、出力層の直前の層から出力された実特徴量に基づき、出力層におけるパラメータの更新（再学習）を行った。
【００７９】
比較例１は、上述したデータセットの画像データを学習したニューラルネットワークを示す。比較例１では、実施例１とは異なり、再学習を行わなかった。
【００８０】
図１３は、上述した各評価条件において比較例１及び実施例１の認識精度を評価した結果を示すグラフである。図１３において、横軸は、評価したニューラルネットワークの階層を示し（ResNet-Depth）、縦軸は、認識精度（０．００〜１．００）を示す。なお、認識精度として、１０回以上の平均を算出した結果を用いた。
【００８１】
図１３に示すように、比較例１におけるニューラルネットワークの階層が１１層、２０層、２９層、３８層、４７層、及び５６層のとき、それぞれの認識精度は、０．５７、０．６１、０．６３、０．６４、０．６４、及び０．６６であった。これに対し、実施例１におけるニューラルネットワークの階層が１１層、２０層、２９層、３８層、４７層、及び５６層のとき、それぞれの認識精度は、０．６４、０．６９、０．７１、０．７２、０．７２、及び０．７３であり、何れの場合においても、比較例１に比べて高い認識精度を示した。
【００８２】
また、比較例１及び実施例１におけるニューラルネットワークのモデルとして、ＲｅｓＮｅｔの代わりにＤｅｎｓｅＮｅｔを用いた評価も実施した。このとき、ニューラルネットワークの階層を４０層とし、Ｄｅｎｓｅブロックを３とし、成長率パラメータ（ｋ）を１２とした。
【００８３】
上述した条件の場合、比較例１の認識精度は、０．５９であった。これに対し、実施例１の認識精度は、０．７９であり、比較例１に比べて高い認識精度を示した。
【００８４】
また、Ｃｉｆａｒ１００のデータセットの代わりにＣｉｆａｒ１０のデータセットを用い、比較例１及び実施例１におけるニューラルネットワークのモデルとして、ＲｅｓＮｅｔを用いた評価も実施した。このとき、ニューラルネットワークの階層を５６層とした。
【００８５】
上述した条件の場合、比較例１の認識精度は、０．８８５であった。これに対し、実施例１の認識精度は、０．９２であり、比較例１に比べて高い認識精度を示した。
【００８６】
また、Ｃｉｆａｒ１００のデータセットの代わりにＣｉｆａｒ１０のデータセットを用い、比較例１及び実施例１におけるニューラルネットワークのモデルとして、ＲｅｓＮｅｔの代わりに上述した条件におけるＤｅｎｓｅＮｅｔを用いた評価も実施した。
【００８７】
上述した条件の場合、比較例１の認識精度は、０．８６であった。これに対し、実施例１の認識精度は、０．９１であり、比較例１に比べて高い認識精度を示した。
【００８８】
また、Ｃｉｆａｒ１００のデータセットを用い、比較例１及び実施例１におけるニューラルネットワークのモデルとして、ＲｅｓＮｅｔの代わりにＷｉｄｅＲｅｓＮｅｔ（Wide Residual Network）を用いた評価も実施した。ニューラルネットワークの構築においては、バッチサイズを１２８とし、最適化にはＡｄａｍを用い、エポックを２００回とした。
【００８９】
上述した条件により、ニューラルネットワークの階層を１６層〜８層の階層毎に評価した結果、比較例１の認識精度は、１６層〜１１層及び８層において０．７２、並びに、１０層及び９層において０．７３であった。これに対し、実施例１の認識精度は、１６層、１３層、１２層、及び８層において０．７３、並びに、１５層、１４層、及び１１層〜９層において０．７４であり、比較例１に比べて高い認識精度を示した。
【００９０】
上記より、第１実施例によれば、何れの条件においても、比較例１に比べて、実施例１の認識精度が高い結果を示した。このため、本発明を適用した学習方法では、従来の学習方法に比べて、性能の良いニューラルネットワークを構築でき、精度の高い評価結果を得られることを確認した。
【００９１】
＜第２実施例＞
次に、本発明の効果を確認する上で行った他の実験の結果について説明する（第２実施例）。この実験では、１０クラスの画像データを用意し、各評価条件において構築されたニューラルネットワークを用いた比較例２〜５及び実施例２の分類精度を評価した。
【００９２】
第２実施例では、Ｃｉｆａｒ１０のデータセットを用い、１０クラスのうちマイナークラスが１〜９クラス含まれる評価条件（９条件）毎における比較例２〜５及び実施例２の分類精度を評価した。マイナークラスの画像データは５００枚とし、メジャークラスの画像データは５，０００枚とした。また、ニューラルネットワークのモデルとして、５６層のＲｅｓＮｅｔを用いた。ニューラルネットワークの構築においては、バッチサイズを４３とし、最適化にはＡｄａｍを用い、エポックを１００回とし、データ拡張にはＫｅｒａｓの関数を使用した。
【００９３】
実施例２は、上述した変形例１の学習方法に基づき学習したニューラルネットワークを示す。実施例２では、出力層の直前の層から出力された実特徴量を用いて多変数ガウス分布関数を生成し、疑似特徴量を抽出した上で、疑似特徴量と実特徴量とに基づき、出力層におけるパラメータの更新（再学習）を行った。
【００９４】
比較例２は、各クラスの画像データを学習したニューラルネットワークを示す。比較例２では、画像データ及び特徴量に対する加工処理等を実施しないで学習を行った。
【００９５】
比較例３は、５，０００枚のメジャークラスの画像に対して、ランダムに４，５００枚の画像データを抜き取り、マイナークラスの画像データ数（５００枚）と等しくし、各クラスの画像データを学習したニューラルネットワークを示す。
【００９６】
比較例４は、マイナークラスの画像に対応する特徴量を対象に、ＳＭＯＴＥ法を用いて学習したニューラルネットワークを示す。比較例４では、出力層の直前の層から出力された特徴量を対象とし、ＳＭＯＴＥ法により疑似特徴データを作成し、疑似特徴データを加えて出力層の学習を行った。
【００９７】
比較例５は、マイナークラスの画像に対応する特徴量を対象に、摂動（ノイズ）を加えて学習したニューラルネットワークを示す。比較例５では、出力層の直前の層から出力された特徴量に直接摂動を加えた上で、出力層のパラメータの学習を行った。
【００９８】
図１４は、上述した各評価条件において比較例２〜５及び実施例２の分類精度を評価した結果を示すグラフである。図１４（ａ）及び図１４（ｂ）において、横軸は、１０クラスのうちマイナークラスが含まれる数を示す（#Minor）。図１４（ａ）の縦軸は、各条件における平均精度（０．００〜１．００）を示す。図１４（ｂ）の縦軸は、各条件における相乗平均精度（０．０〜１．０）を示す。なお、平均精度及び相乗平均精度は、４５回の分類結果を用いて算出した。
【００９９】
図１４（ａ）に示すように、マイナークラスが１つの場合、比較例３は０．５１を示し、比較例２、４、５はそれぞれ０．８０を示した。これに対し、実施例２は、０．８１を示し、比較例２〜５に比べて高い精度を示した。また、マイナークラスが９つの場合、比較例３は０．５０を示し、比較例２、４、５はそれぞれ０．５１を示した。これに対し、実施例２は、０．５４を示し、比較例２〜５に比べて高い精度を示した。マイナークラスが２つ〜８つの場合も同様に、実施例２は、比較例２〜５に比べて高い精度を示した。
【０１００】
図１４（ｂ）に示すように、マイナークラスが１つの場合、比較例３は０．４９を示し、比較例２は０．７８を示し、比較例４、５はそれぞれ０．７９を示した。これに対し、実施例２は、０．８０を示し、比較例２〜５に比べて高い精度を示した。また、マイナークラスが９つの場合、比較例２、４、５はそれぞれ０．４６を示し、比較例３は０．４９を示した。これに対し、実施例２は、０．５１を示し、比較例２〜５に比べて高い精度を示した。マイナークラスが２つ〜８つの場合も同様に、実施例２は、比較例２〜５に比べて高い精度を示した。
【０１０１】
上記より、第２実施例によれば、何れの条件においても、比較例２〜５に比べて、実施例２の分類精度が高い結果を示した。このため、本発明を適用した学習方法では、従来の学習方法に比べて、性能の良いニューラルネットワークを構築でき、精度の高い評価結果を得られることを確認した。
【０１０２】
以上で説明した本発明を適用した学習方法により構築されたニューラルネットワークは、性能の向上に伴い、例えば画像データ等の評価データに対する認識精度（分類精度）を向上させることが可能となる。
【０１０３】
本発明を適用した学習方法及び評価装置は、例えば十分なデータを確保できない分野や、不均衡なデータを対象とする分野において用いられた場合においても、十分な効果を発揮し得る。不均衡なデータを対象とする分野として、例えば自然現象、異常検知、気候現象等を観測する分野、クレジットカードの不正を評価する分野、医療画像を用いて診断する分野等が挙げられる。また、対象とするデータが複雑な場合においても、本発明を適用した学習方法及び評価装置は十分な効果を発揮し得る。
【０１０４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１０５】
１        ：評価装置
１０      ：筐体
１１      ：学習部
１１ａ    ：第１学習部
１１ｂ    ：第２学習部
１２      ：評価部
１３      ：入力部
１４      ：出力部
１５      ：記憶部
１０１    ：ＣＰＵ
１０２    ：ＲＯＭ
１０３    ：ＲＡＭ
１０４    ：保存部
１０５    ：Ｉ／Ｆ
１０６    ：Ｉ／Ｆ
１０７    ：Ｉ／Ｆ
１０８    ：入力部分
１０９    ：出力部分
１１０    ：内部バス
４        ：公衆通信網
Ｌ        ：層
Ｌｒ      ：基準層
Ｌｔ      ：対象層
Ｓ１１０  ：学習ステップ
Ｓ１２０  ：再学習ステップ
Ｓ１２１  ：生成ステップ
Ｓ１２２  ：抽出ステップ
【図１】
2020009321.tif 000003
【図２】
2020009321.tif 000004
【図３】
2020009321.tif 000005
【図４】
2020009321.tif 000006
【図５】
2020009321.tif 000007
【図６】
2020009321.tif 000008
【図７】
2020009321.tif 000009
【図８】
2020009321.tif 000010
【図９】
2020009321.tif 000011
【図１０】
2020009321.tif 000012
【図１１】
2020009321.tif 000013
【図１２】
2020009321.tif 000014
【図１３】
2020009321.tif 000015
【図１４】
2020009321.tif 000016