(57)【要約】【課題】学習モデルのフィードバック効率を向上させる。【解決手段】実施形態の機械学習装置は、学習モデルに基づいて、学習用のデータに含まれている要素について、要素を分類する複数のクラス毎に、当該クラスに分類される確からしさを示した尤度を推定する推定部と、推定部によって推定されたクラス毎の尤度と、所定の損失関数と、に基づいて、尤度の誤りの度合いを示した損失値を算出する損失値算出部と、クラス毎に算出された尤度のうち、要素が真として分類されるべき第１クラスの第１の尤度と、要素が真として分類されるべきではない他のクラスの第２の尤度と、の比較結果に基づいて重みを算出する重み算出部と、損失値と、重みと、に基づいて、学習モデルを機械学習させる機械学習部と、を備える。【選択図】図２
2020204909.tif 000002
【特許請求の範囲】
【請求項１】
学習モデルに基づいて、学習用のデータに含まれている要素について、要素を分類する複数のクラス毎に、当該クラスに分類される確からしさを示した尤度を推定する推定部と、
前記推定部によって推定されたクラス毎の尤度と、所定の損失関数と、に基づいて、前記尤度の誤りの度合いを示した損失値を算出する損失値算出部と、
前記クラス毎に算出された尤度のうち、前記要素が真として分類されるべき第１クラスの第１の尤度と、前記要素が真として分類されるべきではない他のクラスの第２の尤度と、の比較結果に基づいて重みを算出する重み算出部と、
前記損失値と、前記重みと、に基づいて、前記学習モデルを機械学習させる機械学習部と、
を備える機械学習装置。
【請求項２】
前記重み算出部は、前記第１の尤度と、前記他のクラスの尤度のうち最も高い前記第２の尤度と、の比較結果に基づいて重みを算出する、
請求項１に記載の機械学習装置。
【請求項３】
前記重み算出部は、さらに、前記第１の尤度と、前記第２の尤度と、の差分に基づいて、前記重みを算出する、
請求項１又は２に記載の機械学習装置。
【請求項４】
前記重み算出部は、前記第１の尤度と前記第２の尤度との差分値ｐと、所定値γと、を下記式（１）に代入することで、重みＷを算出する、
請求項３に記載の機械学習装置。
Ｗ＝−（１−ｐ）γｌｏｇ（ｐ）……（１）
【請求項５】
前記損失値算出部は、さらに、前記第１の尤度より前記第２の尤度が大きい場合、前記第１の尤度が前記第２の尤度より大きい場合に算出される重みと比べて大きい値を、重みとして設定する、
請求項１乃至４のいずれか一つに記載の機械学習装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、機械学習装置に関する。
【背景技術】
【０００２】
従来から、機械学習で生成された学習モデルを用いて、データに含まれている要素を分類する技術が提案されている。
【０００３】
そして、学習モデルを用いた分類結果に対して、損失関数を用いて損失値を計算し、当該損失値を用いて学習モデルの学習を行う技術が提案されている。近年、損失値の計算手法は、技術の発展とともに複雑化する傾向にある。特許文献１に記載された従来技術においては、各クラス毎の真値と推定値の尤度を比較して損失値を算出し、フィードバック効率を向上させる技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−１９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術においては、推定値のうち最も尤度が高いクラスと、それ以外のクラスとの関係性が考慮されておらず、当該関係性を用いたフィードバック効率の向上にさらなる改善の余地が残されていた。
【課題を解決するための手段】
【０００６】
実施形態の機械学習装置は、例えば、学習モデルに基づいて、学習用のデータに含まれている要素について、要素を分類する複数のクラス毎に、当該クラスに分類される確からしさを示した尤度を推定する推定部と、推定部によって推定されたクラス毎の尤度と、所定の損失関数と、に基づいて、尤度の誤りの度合いを示した損失値を算出する損失値算出部と、クラス毎に算出された尤度のうち、要素が真として分類されるべき第１クラスの第１の尤度と、要素が真として分類されるべきではない他のクラスの第２の尤度と、の比較結果に基づいて重みを算出する重み算出部と、損失値と、重みと、に基づいて、学習モデルを機械学習させる機械学習部と、を備える。この構成によれば、例えば、学習モデルを機械学習させる際に、損失値だけではなく、第１の尤度と第２の尤度との比較結果に基づいた重みを機械学習に用いることで、要素が真として分類されるべきではない他のクラスの尤度も考慮されるため、フィードバック効率を向上させることができる。
【０００７】
実施形態の機械学習装置は、例えば、重み算出部は、第１の尤度と、他のクラスの尤度のうち最も高い第２の尤度と、の比較結果に基づいて重みを算出する。この構成によれば、例えば、他のクラスの尤度のうち最も高い第２の尤度を用いることで、フィードバック効率を向上させることができる。
【０００８】
実施形態の機械学習装置は、例えば、重み算出部は、さらに、第１の尤度と、第２の尤度と、の差分に基づいて、重みを算出する。この構成によれば、例えば、第１の尤度と第２の尤度との差分に基づいた重みを機械学習に用いることで、推定値のうち最も尤度が高いクラスとそれ以外のクラスとの関係性も考慮されるため、フィードバック効率を向上させることができる。
【０００９】
実施形態の機械学習装置は、例えば、重み算出部は、第１の尤度と第２の尤度との差分値ｐと、所定値γと、を、“Ｗ＝−（１−ｐ）γｌｏｇ（ｐ）”に代入することで、重みＷを算出する。この構成によれば、例えば、式から重みを算出することで、第１の尤度と第２の尤度との差分が小さくなるにしたがって重みが大きくなるため、フィードバック効率を向上させることができる。
【００１０】
実施形態の機械学習装置は、例えば、損失値算出部は、さらに、第１の尤度より第２の尤度が大きい場合、第１の尤度が第２の尤度より大きい場合に算出される重みと比べて大きい値を、重みとして設定する。この構成によれば、例えば、第１の尤度より第２の尤度が大きい場合には、重みが大きく設定されるので、フィードバック効率を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施形態の機械学習装置のハードウェア構成の一例を示す図である。
【図２】図２は、実施形態の機械学習装置のソフトウェア構成を示したブロック図である。
【図３】図３は、実施形態の学習用の画像データの例を示した図である。
【図４】図４は、実施形態の推定部が学習モデルを用いて要素を分類する際の推定手法を例示した図である。
【図５】図５は、実施形態の重み算出部において、差分値に基づいて算出される重みを示したグラフである。
【図６】図６は、実施形態の機械学習装置によって実行される処理手順を示したフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の例示的な実施形態が開示される。以下に示される実施形態の構成、ならびに当該構成によってもたらされる作用、結果、および効果は、一例である。本発明は、以下の実施形態に開示される構成以外によっても実現可能であるとともに、基本的な構成に基づく種々の効果や、派生的な効果のうち、少なくとも一つを得ることが可能である。
【００１３】
図１は、機械学習装置１００のハードウェア構成の一例を示す図である。図１に示すように、機械学習装置１００は、プロセッサ１０１、ＲＯＭ１０２、ＲＡＭ１０３、入力部１０４、表示部１０５、通信Ｉ／Ｆ１０６、ＨＤＤ１０９を備える。この例では、機械学習装置１００は、通常のコンピュータと同様のハードウェア構成を有している。なお、機械学習装置１００が有するハードウェア要素は図１に例示したハードウェア要素に限られるものではなく、例えばカメラなどをさらに備える形態であっても構わない。
【００１４】
プロセッサ１０１は、例えば、ＣＰＵ、ＧＰＵ、ＭＰＵ、ＡＳＩＣ等で構成されるハードウェア回路であって、プログラムを実行することにより、機械学習装置１００の動作を統括的に制御し、機械学習装置１００が有する各種の機能を実現する。機械学習装置１００が有する各種の機能については後述する。
【００１５】
ＲＯＭ１０２は、不揮発性のメモリであり、機械学習装置１００を起動させるためのプログラムを含む各種データを記憶する。ＲＡＭ１０３は、プロセッサ１０１の作業領域を有する揮発性のメモリである。
【００１６】
入力部１０４は、機械学習装置１００を使用するユーザが各種の操作を行うためのデバイスである。入力部１０４は、例えばマウス、キーボード、タッチパネル又はハードウェアキーで構成される。
【００１７】
表示部１０５は、各種の情報を表示する。表示部１０５は、例えば液晶ディスプレイ、有機ＥＬ（Electro  Luminescence）ディスプレイなどで構成される。なお、例えばタッチパネルのような形態で、入力部１０４と表示部１０５とが一体に構成されてもよい。通信Ｉ／Ｆ１０６はネットワークと接続するためのインタフェースとする。ＨＤＤ（Hard  Disk  Drive）１０９は、様々なデータを格納する。
【００１８】
図２は、本実施形態の機械学習装置１００のソフトウェア構成を示したブロック図である。図２に示されるように機械学習装置１００は、ＲＯＭ１０２又はＨＤＤ１０９に記憶されているプログラムをプロセッサ１０１が実行することで、機械学習部２０１と、データ受付部２０２と、推定部２０３と、損失値算出部２０４と、重み設定部２０５と、が実現される。また、学習用データ記憶部２０６は、ＨＤＤ１０９上に格納されている。
【００１９】
学習用データ記憶部２０６は、学習用のデータが格納されている。学習用のデータは、当該データに含まれる要素（本実施形態では画素）をクラス毎に分類するための学習に用いられる。学習用のデータには、画像データの他に、画像データに含まれる各要素（本実施形態では画素）が、どのクラスに属しているのかを示す情報（以下に真値として示す）が含まれている。
【００２０】
本実施形態は、学習用のデータが画像データの場合について説明するが、波形などの他のデータであってもよい。また、本実施形態は、分類対象となる要素が、画素の場合について説明するが、画素以外であってもよい。
【００２１】
データ受付部２０２は、学習用データ記憶部２０６に記憶されている学習用のデータを受け付けるとともに、機械学習部２０１で機械学習された学習モデル２１０を受け付ける。
【００２２】
学習モデル２１０は、どのような学習モデルを用いてもよく、例えば、画像解析用には、学習済みＣＮＮ（Convolutional  Neural  Network）モデルを用いることが考えられる。
【００２３】
図３は、本実施形態の学習用の画像データの例を示した図である。図３に示される画像データは、空４０１と、路面４０２と、車両４０３と、人４０４と、地面４０５との５個のクラスで構成されている例とする。本実施形態は、例として、５クラス分類した場合について説明する。なお、本実施形態は、クラスの数を制限するものではなく、４クラス以下でも６クラス以上であってもよい。
【００２４】
推定部２０３は、機械学習部２０１で機械学習された学習モデル２１０に基づいて、学習用のデータに含まれている各要素について、要素を分類するための複数のクラス毎に、当該クラスに分類される確からしさを示した推定尤度を算出する。
【００２５】
具体的には、本実施形態の推定部２０３は、学習用の画像データの画素ごとに、５クラスの各々について推定尤度を算出する。本実施形態は、複数のクラスに分類する活性化関数として、ソフトマックス関数を用いる例とする。なお、本実施形態は、ソフトマックス関数を用いる手法に制限するものではなく、他の活性化関数を用いてもよい。ソフトマックス関数は、クラス毎にそれが真である確率（本実施形態の推定尤度）を出力する関数である。
【００２６】
本実施形態の推定尤度は、０〜１の範囲に収まる値とし、“１”に近づくほど当該クラスである可能性が高いことを示している。具体的には、推定尤度が“０”であれば当該クラスである可能性が０パーセントであることを示し、推定尤度が“１”であれば当該クラスである可能性が１００パーセントとして推定されたことを示している。
【００２７】
図４は、本実施形態の推定部２０３が学習モデル２１０を用いて要素を分類する際の推定手法を例示した図である。図４に示されるように、推定部２０３が、学習用のデータに含まれる要素を分類するために、入力層３０１として、複数の入力パラメータが入力される。学習用のデータが画像データの場合には、入力パラメータとして、例えば、分類対象となる要素（画素）の値の他に、当該要素周辺の画素の値も入力される。
【００２８】
図４に示されるように、複数の中間層３０２において、ニューロンが相互接続されている。本実施形態においては、学習モデル２１０に従って各ニューロンのパラメータ（例えば、重み、バイアス）が設定される。図４に示される例では、入力層３０１に入力された入力パラメータが複数の中間層３０２で相互接続されているニューロンを経由して、出力層３０３に存在する複数の出力パラメータとして出力する。本実施形態の出力パラメータの数は、要素を分類するクラスの数と一致する。換言すれば、出力層３０３の出力パラメータとして、クラス毎の推定尤度が算出される。
【００２９】
また、本実施形態は多クラス分類を行う例について説明するが、多クラス分類に制限するものではなく、２値分類を行う場合に適用してもよい。
【００３０】
本実施形態の推定部２０３によって出力された確率ベクトル（推定尤度の配列）を、[クラス１，クラス２，クラス３，クラス４，クラス５]と表すことができる。例えば、クラス１を“空”、クラス２を“路面”、クラス３を“車両”、クラス４を“人”、クラス５を“地面”とした場合、学習用データ記憶部２０６に記憶されている、図３の画素４１１は“空”を表しているため、当該画素４１１の真値は、[1、0、0、0、0]となる。
【００３１】
そして、画素４１１の第１の推定例として、[0.40、0.50、0.05、0.05、0.00]を算出されたものとする。
【００３２】
機械学習においては、第１の推定例に基づいた再学習が行われる。その結果、画素４１１の第２の推定例として、[0.40、0.30、0.10、0.10、0.10]が算出される。さらに、第２の推定例に基づいた再学習が行われる。その結果、画素４１１の第３の推定例として、[0.40、0.25、0.20、0.15、0.00]が算出される。なお、第１の推定例〜第３の推定例は、以下に示す説明のための一例であって、従来の機械学習又は本実施形態で算出されたか否かについて制限を行うものではない。
【００３３】
第１の推定例では、真であるクラス１の推定尤度よりも、偽であるクラス２の推定尤度が大きくなっている。このため、第１の推定例は、真値と不一致となる。
【００３４】
一方、第２の推定例、及び第３の推定例は、真であるクラス１の推定尤度が最も大きくなる点で真値と一致する。しかしながら、クラス２の推定尤度は、第２の推定例が“0.3０”であり、第３の推定例が“0.25”である。このため、第２の推定例より、第３の推定例の方がより適切な分類が行われていると考えられる。
【００３５】
ところで、従来の機械学習による損失値の演算、例えばクロスエントロピー関数では、真であるクラスの推定尤度のみを利用している。換言すれば、上述した第１の推定例〜第３の推定例においては、クラス１の“0.40”のみが機械学習用の損失値の演算に用いられる。つまり、真値と不一致か否かにかかわらず、同じ値で機械学習が行われるため、十分なフィードバックができないという問題があった。一方、全てのクラスの推定尤度を利用して機械学習を行う場合にはノイズが大きいという問題がある。
【００３６】
そこで、本実施形態は、要素が真として分類されるべきクラスの推定尤度と、要素が偽として分類される他のクラスの推定尤度のうち最も高い推定尤度と、に基づいた重みづけを、損失値に対して行うこととした。
【００３７】
損失値算出部２０４は、推定部２０３によって推定されたクラス毎の推定尤度と、所定の損失関数と、に基づいて、推定尤度の誤りの度合いを示した損失値を算出する。本実施形態では、所定の損失関数として、下記の式（１）に示したクロスエントロピー関数を用いて損失値Ｌを算出する。なお、変数ｉはクラスを示す数値とする。このため、本実施形態ではクラスが５個の場合のため、変数ｉ＝０〜４となる。ｔiは、クラスが真の場合に“１”となり、クラスが偽の場合に“０”とする。ｙiは、クラス（ｉ）毎の推定尤度とする。
【００３８】
【数１】
2020204909.tif 000003
【００３９】
重み設定部２０５は、損失値の重みを算出する。具体的には、重み設定部２０５は、各画素（要素）について、クラス毎に算出された推定尤度のうち、画素（要素）が真に分類されるべきクラス（真クラス）の推定尤度と、当該画素（要素）が偽である（真に分類されるべきではない）他のクラス（偽クラス）の推定尤度のうち最も高い推定尤度と、の比較結果に基づいて重みＷを算出する。本実施形態では、比較結果として、真クラスの推定尤度と、偽クラスの最も高い推定尤度と、の差分から重みＷを算出する。
【００４０】
ただし、真クラスの推定尤度より、偽クラスの推定尤度が大きい場合、重み設定部２０５は、所定値を重みとして設定する。所定値は、実施態様に応じて適切な値を設定すればよいが、例えば、真クラスの推定尤度が、偽クラスの最も高い推定尤度より大きい場合に算出される重みより大きい値とする。
【００４１】
具体的には、下記の式（２）を用いて、差分値ｐを算出する。なお、真クラスの推定尤度Ｖtargetとし、偽クラスの最も高い推定尤度Ｖrem_maxとする。
【００４２】
ｐ＝ｍａｘ（０．０１、Ｖtarget−Ｖrem_max）……（２）
【００４３】
式（２）によって、真クラスの推定尤度より、偽クラスの最も高い推定尤度が大きい場合、差分値ｐ＝０．０１となり、真クラスの推定尤度が、偽クラスの最も高い推定尤度より大きい場合、差分値ｐ＝Ｖtarget−Ｖrem_maxとなる。
【００４４】
そして、重み設定部２０５は、算出した差分値ｐを、下記の式（３）に代入し、重みＷを算出する。なお、所定値γは、実施態様に応じて適切な値が設定されるものとし、例えば、０〜５．０の間の数値を割り当られることが考えられる。
【００４５】
Ｗ＝−（１−ｐ）γｌｏｇ（ｐ）……（３）
【００４６】
図５は、重み設定部２０５において、差分値ｐに基づいて式（３）で算出される重みＷを示したグラフである。図５に示されるように、差分値ｐは、０〜１の間の値をとる。そして、０に近づくほど重みＷは大きくなる。
【００４７】
例えば、第１の推定例[0.40、0.50、0.05、0.05、0.00]の場合、真クラスの推定尤度より、偽クラスの最も高い推定尤度が大きいため、差分値ｐ1＝０．０１となる。この場合、重み設定部２０５は、座標５０３に対応する重みＷ3を算出する。
【００４８】
一方、第２の推定例[0.40、0.30、0.10、0.10、0.10]の場合、差分値ｐ2＝0.1となる。この場合、重み設定部２０５は、座標５０２に対応する重みＷ2を算出する。第３の推定例[0.40、0.25、0.20、0.15、0.00]の場合、差分値ｐ3＝0.15となる。この場合、重み設定部２０５は、座標５０１に対応する重みＷ1を算出する。
【００４９】
図５に示されるように、Ｗ3＞Ｗ2＞Ｗ1となる。つまり、本実施形態では、真クラスの推定尤度より、偽クラスの推定尤度が大きい場合に、大きい重みＷ3が設定される。そして、真クラスの推定尤度が、偽クラスの最も高い推定尤度より大きい場合には、図５に示されるように、推定尤度間の差分値が大きくなるに従って、重みＷが小さくなるように設定される。換言すれば、推定尤度間の差分値が小さい場合には、大きな重みＷが設定される。これによって、機械学習の効率を向上させることができる。
【００５０】
このように、本実施形態においては、真クラスの推定尤度が同じであっても、差分値ｐに応じて異なる重みＷが算出される。
【００５１】
機械学習部２０１は、損失値Ｌと、重みＷと、に基づいた機械学習を行って、学習モデル２１０へのフィードバックを行う。具体的には、本実施形態では、損失値Ｌと重みＷとに基づいた機械学習として、従来のように損失値Ｌを用いる代わりに、下記の式（４）から算出される総合損失値ＬLを用いることとした。なお、総合損失値ＬLを用いて学習モデル２１０に機械学習を行わせるための手法は、従来と同様の手法を用いてもよいものとして、説明を省略する。
【００５２】
ＬL＝Ｌ×Ｗ……（４）
【００５３】
次に、本実施形態の機械学習装置１００が実行する処理手順について説明する。図６は、本実施形態の機械学習装置１００によって実行される処理手順を示したフローチャートである。
【００５４】
本実施形態の機械学習装置１００のデータ受付部２０２は、学習用データ記憶部２０６から学習用のデータ（画像データ）とともに、機械学習部２０１で機械学習された学習モデル２１０を受け付ける（Ｓ６０１）。
【００５５】
次に、推定部２０３は、学習モデル２１０に基づいて、学習用のデータの各画素（要素）について、クラス毎に、推定尤度を算出する（Ｓ６０２）。
【００５６】
そして、損失値算出部２０４は、画素（要素）毎に、推定部２０３によって推定された推定尤度と、所定の損失関数（例えばクロスエントロピー関数）と、に基づいて、損失値を算出する（Ｓ６０３）。
【００５７】
さらに、重み設定部２０５は、画素（要素）毎に、真クラスの推定尤度と、偽クラスの最も高い推定尤度と、に基づいて、損失値の重みを算出する（Ｓ６０４）。
【００５８】
そして、機械学習部２０１が、損失値及び重みを用いて機械学習を行うことで、学習モデル２１０へのフィードバックを行う（Ｓ６０５）。
【００５９】
その後、機械学習部２０１が、機械学習が終了したか否かを判定する（Ｓ６０６）。機械学習が終了したか否かの判断基準は、どのような基準であってもよく、例えば、指定の学習回数に到達した場合や、学習モデル２１０が目標精度を超えた場合であってもよいし、全ての学習用のデータによる機械学習が完了した場合であってもよい。
【００６０】
機械学習部２０１が、機械学習が終了していないと判断した場合（Ｓ６０６：Ｎｏ）、再びＳ６０１から処理を行う。一方、機械学習が終了したと判断した場合（Ｓ６０６：Ｙｅｓ）、処理を終了する。
【００６１】
また、本実施形態においては、図６に示されるようなフローチャートで説明したが、学習モデル２１０を用いた機械学習について並列処理を行ってもよい。
【００６２】
本実施形態は、損失値の算出手法として、クロスエントロピー関数を用いた例について説明したが、クロスエントロピー関数以外の損失関数を用いてもよい。例えば、最小二乗誤差等の手法を用いてもよい。さらに、損失値を算出するための算出手法を一つのみ用いる手法に制限するものではなく、複数の損失値の算出手法を組み合わせてもよい。
【００６３】
また、複数の算出手法を用いて、画素（要素）毎に複数の損失値を算出した場合には、要素全体の損失値を１つに統合したうえで、機械学習を行ってもよい。このような場合に、損失値を統合するために平均や総和を用いることが考えられる。
【００６４】
上述した実施形態においては、偽のクラスの推定尤度のうち最も高い推定尤度を、真のクラスの推定尤度と比較する例について説明した。しかしながら、本実施形態は、真のクラスの推定尤度との比較対象を、偽のクラスの推定尤度のうち最も高い推定尤度に制限するものではなく、偽のクラスの推定尤度の平均や、２番目に高い推定尤度等と比較してもよい。
【００６５】
本実施形態においては、従来の損失値Ｌによる機械学習を行った場合と比べて、真クラスの推定尤度と、偽クラスの最も高い推定尤度と、に基づいた重みが設定されているため、学習モデル２１０へのフィードバック効率を向上させることができる。
【００６６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６７】
１００…機械学習装置、２０１…機械学習部、２０２…データ受付部、２０３…推定部、２０４…損失値算出部、２０５…重み設定部、２０６…学習用データ記憶部。
【図１】
2020204909.tif 000004
【図２】
2020204909.tif 000005
【図３】
2020204909.tif 000006
【図４】
2020204909.tif 000007
【図５】
2020204909.tif 000008
【図６】
2020204909.tif 000009