特開2020-204909(P2020-204909A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アイシン精機株式会社の特許一覧

<>
  • 特開2020204909-機械学習装置 図000004
  • 特開2020204909-機械学習装置 図000005
  • 特開2020204909-機械学習装置 図000006
  • 特開2020204909-機械学習装置 図000007
  • 特開2020204909-機械学習装置 図000008
  • 特開2020204909-機械学習装置 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2020-204909(P2020-204909A)
(43)【公開日】2020年12月24日
(54)【発明の名称】機械学習装置
(51)【国際特許分類】
   G06N 20/00 20190101AFI20201127BHJP
【FI】
   G06N20/00 160
【審査請求】未請求
【請求項の数】5
【出願形態】OL
【全頁数】11
(21)【出願番号】特願2019-112260(P2019-112260)
(22)【出願日】2019年6月17日
(71)【出願人】
【識別番号】000000011
【氏名又は名称】アイシン精機株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】小久保 嘉人
(72)【発明者】
【氏名】末次 恵久
(72)【発明者】
【氏名】足立 淳
(72)【発明者】
【氏名】上田 康貴
(57)【要約】
【課題】学習モデルのフィードバック効率を向上させる。
【解決手段】実施形態の機械学習装置は、学習モデルに基づいて、学習用のデータに含まれている要素について、要素を分類する複数のクラス毎に、当該クラスに分類される確からしさを示した尤度を推定する推定部と、推定部によって推定されたクラス毎の尤度と、所定の損失関数と、に基づいて、尤度の誤りの度合いを示した損失値を算出する損失値算出部と、クラス毎に算出された尤度のうち、要素が真として分類されるべき第1クラスの第1の尤度と、要素が真として分類されるべきではない他のクラスの第2の尤度と、の比較結果に基づいて重みを算出する重み算出部と、損失値と、重みと、に基づいて、学習モデルを機械学習させる機械学習部と、を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
学習モデルに基づいて、学習用のデータに含まれている要素について、要素を分類する複数のクラス毎に、当該クラスに分類される確からしさを示した尤度を推定する推定部と、
前記推定部によって推定されたクラス毎の尤度と、所定の損失関数と、に基づいて、前記尤度の誤りの度合いを示した損失値を算出する損失値算出部と、
前記クラス毎に算出された尤度のうち、前記要素が真として分類されるべき第1クラスの第1の尤度と、前記要素が真として分類されるべきではない他のクラスの第2の尤度と、の比較結果に基づいて重みを算出する重み算出部と、
前記損失値と、前記重みと、に基づいて、前記学習モデルを機械学習させる機械学習部と、
を備える機械学習装置。
【請求項2】
前記重み算出部は、前記第1の尤度と、前記他のクラスの尤度のうち最も高い前記第2の尤度と、の比較結果に基づいて重みを算出する、
請求項1に記載の機械学習装置。
【請求項3】
前記重み算出部は、さらに、前記第1の尤度と、前記第2の尤度と、の差分に基づいて、前記重みを算出する、
請求項1又は2に記載の機械学習装置。
【請求項4】
前記重み算出部は、前記第1の尤度と前記第2の尤度との差分値pと、所定値γと、を下記式(1)に代入することで、重みWを算出する、
請求項3に記載の機械学習装置。
W=−(1−p)γlog(p)……(1)
【請求項5】
前記損失値算出部は、さらに、前記第1の尤度より前記第2の尤度が大きい場合、前記第1の尤度が前記第2の尤度より大きい場合に算出される重みと比べて大きい値を、重みとして設定する、
請求項1乃至4のいずれか一つに記載の機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、機械学習装置に関する。
【背景技術】
【0002】
従来から、機械学習で生成された学習モデルを用いて、データに含まれている要素を分類する技術が提案されている。
【0003】
そして、学習モデルを用いた分類結果に対して、損失関数を用いて損失値を計算し、当該損失値を用いて学習モデルの学習を行う技術が提案されている。近年、損失値の計算手法は、技術の発展とともに複雑化する傾向にある。特許文献1に記載された従来技術においては、各クラス毎の真値と推定値の尤度を比較して損失値を算出し、フィードバック効率を向上させる技術が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2015−1968号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術においては、推定値のうち最も尤度が高いクラスと、それ以外のクラスとの関係性が考慮されておらず、当該関係性を用いたフィードバック効率の向上にさらなる改善の余地が残されていた。
【課題を解決するための手段】
【0006】
実施形態の機械学習装置は、例えば、学習モデルに基づいて、学習用のデータに含まれている要素について、要素を分類する複数のクラス毎に、当該クラスに分類される確からしさを示した尤度を推定する推定部と、推定部によって推定されたクラス毎の尤度と、所定の損失関数と、に基づいて、尤度の誤りの度合いを示した損失値を算出する損失値算出部と、クラス毎に算出された尤度のうち、要素が真として分類されるべき第1クラスの第1の尤度と、要素が真として分類されるべきではない他のクラスの第2の尤度と、の比較結果に基づいて重みを算出する重み算出部と、損失値と、重みと、に基づいて、学習モデルを機械学習させる機械学習部と、を備える。この構成によれば、例えば、学習モデルを機械学習させる際に、損失値だけではなく、第1の尤度と第2の尤度との比較結果に基づいた重みを機械学習に用いることで、要素が真として分類されるべきではない他のクラスの尤度も考慮されるため、フィードバック効率を向上させることができる。
【0007】
実施形態の機械学習装置は、例えば、重み算出部は、第1の尤度と、他のクラスの尤度のうち最も高い第2の尤度と、の比較結果に基づいて重みを算出する。この構成によれば、例えば、他のクラスの尤度のうち最も高い第2の尤度を用いることで、フィードバック効率を向上させることができる。
【0008】
実施形態の機械学習装置は、例えば、重み算出部は、さらに、第1の尤度と、第2の尤度と、の差分に基づいて、重みを算出する。この構成によれば、例えば、第1の尤度と第2の尤度との差分に基づいた重みを機械学習に用いることで、推定値のうち最も尤度が高いクラスとそれ以外のクラスとの関係性も考慮されるため、フィードバック効率を向上させることができる。
【0009】
実施形態の機械学習装置は、例えば、重み算出部は、第1の尤度と第2の尤度との差分値pと、所定値γと、を、“W=−(1−p)γlog(p)”に代入することで、重みWを算出する。この構成によれば、例えば、式から重みを算出することで、第1の尤度と第2の尤度との差分が小さくなるにしたがって重みが大きくなるため、フィードバック効率を向上させることができる。
【0010】
実施形態の機械学習装置は、例えば、損失値算出部は、さらに、第1の尤度より第2の尤度が大きい場合、第1の尤度が第2の尤度より大きい場合に算出される重みと比べて大きい値を、重みとして設定する。この構成によれば、例えば、第1の尤度より第2の尤度が大きい場合には、重みが大きく設定されるので、フィードバック効率を向上させることができる。
【図面の簡単な説明】
【0011】
図1図1は、実施形態の機械学習装置のハードウェア構成の一例を示す図である。
図2図2は、実施形態の機械学習装置のソフトウェア構成を示したブロック図である。
図3図3は、実施形態の学習用の画像データの例を示した図である。
図4図4は、実施形態の推定部が学習モデルを用いて要素を分類する際の推定手法を例示した図である。
図5図5は、実施形態の重み算出部において、差分値に基づいて算出される重みを示したグラフである。
図6図6は、実施形態の機械学習装置によって実行される処理手順を示したフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の例示的な実施形態が開示される。以下に示される実施形態の構成、ならびに当該構成によってもたらされる作用、結果、および効果は、一例である。本発明は、以下の実施形態に開示される構成以外によっても実現可能であるとともに、基本的な構成に基づく種々の効果や、派生的な効果のうち、少なくとも一つを得ることが可能である。
【0013】
図1は、機械学習装置100のハードウェア構成の一例を示す図である。図1に示すように、機械学習装置100は、プロセッサ101、ROM102、RAM103、入力部104、表示部105、通信I/F106、HDD109を備える。この例では、機械学習装置100は、通常のコンピュータと同様のハードウェア構成を有している。なお、機械学習装置100が有するハードウェア要素は図1に例示したハードウェア要素に限られるものではなく、例えばカメラなどをさらに備える形態であっても構わない。
【0014】
プロセッサ101は、例えば、CPU、GPU、MPU、ASIC等で構成されるハードウェア回路であって、プログラムを実行することにより、機械学習装置100の動作を統括的に制御し、機械学習装置100が有する各種の機能を実現する。機械学習装置100が有する各種の機能については後述する。
【0015】
ROM102は、不揮発性のメモリであり、機械学習装置100を起動させるためのプログラムを含む各種データを記憶する。RAM103は、プロセッサ101の作業領域を有する揮発性のメモリである。
【0016】
入力部104は、機械学習装置100を使用するユーザが各種の操作を行うためのデバイスである。入力部104は、例えばマウス、キーボード、タッチパネル又はハードウェアキーで構成される。
【0017】
表示部105は、各種の情報を表示する。表示部105は、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイなどで構成される。なお、例えばタッチパネルのような形態で、入力部104と表示部105とが一体に構成されてもよい。通信I/F106はネットワークと接続するためのインタフェースとする。HDD(Hard Disk Drive)109は、様々なデータを格納する。
【0018】
図2は、本実施形態の機械学習装置100のソフトウェア構成を示したブロック図である。図2に示されるように機械学習装置100は、ROM102又はHDD109に記憶されているプログラムをプロセッサ101が実行することで、機械学習部201と、データ受付部202と、推定部203と、損失値算出部204と、重み設定部205と、が実現される。また、学習用データ記憶部206は、HDD109上に格納されている。
【0019】
学習用データ記憶部206は、学習用のデータが格納されている。学習用のデータは、当該データに含まれる要素(本実施形態では画素)をクラス毎に分類するための学習に用いられる。学習用のデータには、画像データの他に、画像データに含まれる各要素(本実施形態では画素)が、どのクラスに属しているのかを示す情報(以下に真値として示す)が含まれている。
【0020】
本実施形態は、学習用のデータが画像データの場合について説明するが、波形などの他のデータであってもよい。また、本実施形態は、分類対象となる要素が、画素の場合について説明するが、画素以外であってもよい。
【0021】
データ受付部202は、学習用データ記憶部206に記憶されている学習用のデータを受け付けるとともに、機械学習部201で機械学習された学習モデル210を受け付ける。
【0022】
学習モデル210は、どのような学習モデルを用いてもよく、例えば、画像解析用には、学習済みCNN(Convolutional Neural Network)モデルを用いることが考えられる。
【0023】
図3は、本実施形態の学習用の画像データの例を示した図である。図3に示される画像データは、空401と、路面402と、車両403と、人404と、地面405との5個のクラスで構成されている例とする。本実施形態は、例として、5クラス分類した場合について説明する。なお、本実施形態は、クラスの数を制限するものではなく、4クラス以下でも6クラス以上であってもよい。
【0024】
推定部203は、機械学習部201で機械学習された学習モデル210に基づいて、学習用のデータに含まれている各要素について、要素を分類するための複数のクラス毎に、当該クラスに分類される確からしさを示した推定尤度を算出する。
【0025】
具体的には、本実施形態の推定部203は、学習用の画像データの画素ごとに、5クラスの各々について推定尤度を算出する。本実施形態は、複数のクラスに分類する活性化関数として、ソフトマックス関数を用いる例とする。なお、本実施形態は、ソフトマックス関数を用いる手法に制限するものではなく、他の活性化関数を用いてもよい。ソフトマックス関数は、クラス毎にそれが真である確率(本実施形態の推定尤度)を出力する関数である。
【0026】
本実施形態の推定尤度は、0〜1の範囲に収まる値とし、“1”に近づくほど当該クラスである可能性が高いことを示している。具体的には、推定尤度が“0”であれば当該クラスである可能性が0パーセントであることを示し、推定尤度が“1”であれば当該クラスである可能性が100パーセントとして推定されたことを示している。
【0027】
図4は、本実施形態の推定部203が学習モデル210を用いて要素を分類する際の推定手法を例示した図である。図4に示されるように、推定部203が、学習用のデータに含まれる要素を分類するために、入力層301として、複数の入力パラメータが入力される。学習用のデータが画像データの場合には、入力パラメータとして、例えば、分類対象となる要素(画素)の値の他に、当該要素周辺の画素の値も入力される。
【0028】
図4に示されるように、複数の中間層302において、ニューロンが相互接続されている。本実施形態においては、学習モデル210に従って各ニューロンのパラメータ(例えば、重み、バイアス)が設定される。図4に示される例では、入力層301に入力された入力パラメータが複数の中間層302で相互接続されているニューロンを経由して、出力層303に存在する複数の出力パラメータとして出力する。本実施形態の出力パラメータの数は、要素を分類するクラスの数と一致する。換言すれば、出力層303の出力パラメータとして、クラス毎の推定尤度が算出される。
【0029】
また、本実施形態は多クラス分類を行う例について説明するが、多クラス分類に制限するものではなく、2値分類を行う場合に適用してもよい。
【0030】
本実施形態の推定部203によって出力された確率ベクトル(推定尤度の配列)を、[クラス1,クラス2,クラス3,クラス4,クラス5]と表すことができる。例えば、クラス1を“空”、クラス2を“路面”、クラス3を“車両”、クラス4を“人”、クラス5を“地面”とした場合、学習用データ記憶部206に記憶されている、図3の画素411は“空”を表しているため、当該画素411の真値は、[1、0、0、0、0]となる。
【0031】
そして、画素411の第1の推定例として、[0.40、0.50、0.05、0.05、0.00]を算出されたものとする。
【0032】
機械学習においては、第1の推定例に基づいた再学習が行われる。その結果、画素411の第2の推定例として、[0.40、0.30、0.10、0.10、0.10]が算出される。さらに、第2の推定例に基づいた再学習が行われる。その結果、画素411の第3の推定例として、[0.40、0.25、0.20、0.15、0.00]が算出される。なお、第1の推定例〜第3の推定例は、以下に示す説明のための一例であって、従来の機械学習又は本実施形態で算出されたか否かについて制限を行うものではない。
【0033】
第1の推定例では、真であるクラス1の推定尤度よりも、偽であるクラス2の推定尤度が大きくなっている。このため、第1の推定例は、真値と不一致となる。
【0034】
一方、第2の推定例、及び第3の推定例は、真であるクラス1の推定尤度が最も大きくなる点で真値と一致する。しかしながら、クラス2の推定尤度は、第2の推定例が“0.30”であり、第3の推定例が“0.25”である。このため、第2の推定例より、第3の推定例の方がより適切な分類が行われていると考えられる。
【0035】
ところで、従来の機械学習による損失値の演算、例えばクロスエントロピー関数では、真であるクラスの推定尤度のみを利用している。換言すれば、上述した第1の推定例〜第3の推定例においては、クラス1の“0.40”のみが機械学習用の損失値の演算に用いられる。つまり、真値と不一致か否かにかかわらず、同じ値で機械学習が行われるため、十分なフィードバックができないという問題があった。一方、全てのクラスの推定尤度を利用して機械学習を行う場合にはノイズが大きいという問題がある。
【0036】
そこで、本実施形態は、要素が真として分類されるべきクラスの推定尤度と、要素が偽として分類される他のクラスの推定尤度のうち最も高い推定尤度と、に基づいた重みづけを、損失値に対して行うこととした。
【0037】
損失値算出部204は、推定部203によって推定されたクラス毎の推定尤度と、所定の損失関数と、に基づいて、推定尤度の誤りの度合いを示した損失値を算出する。本実施形態では、所定の損失関数として、下記の式(1)に示したクロスエントロピー関数を用いて損失値Lを算出する。なお、変数iはクラスを示す数値とする。このため、本実施形態ではクラスが5個の場合のため、変数i=0〜4となる。tiは、クラスが真の場合に“1”となり、クラスが偽の場合に“0”とする。yiは、クラス(i)毎の推定尤度とする。
【0038】
【数1】
【0039】
重み設定部205は、損失値の重みを算出する。具体的には、重み設定部205は、各画素(要素)について、クラス毎に算出された推定尤度のうち、画素(要素)が真に分類されるべきクラス(真クラス)の推定尤度と、当該画素(要素)が偽である(真に分類されるべきではない)他のクラス(偽クラス)の推定尤度のうち最も高い推定尤度と、の比較結果に基づいて重みWを算出する。本実施形態では、比較結果として、真クラスの推定尤度と、偽クラスの最も高い推定尤度と、の差分から重みWを算出する。
【0040】
ただし、真クラスの推定尤度より、偽クラスの推定尤度が大きい場合、重み設定部205は、所定値を重みとして設定する。所定値は、実施態様に応じて適切な値を設定すればよいが、例えば、真クラスの推定尤度が、偽クラスの最も高い推定尤度より大きい場合に算出される重みより大きい値とする。
【0041】
具体的には、下記の式(2)を用いて、差分値pを算出する。なお、真クラスの推定尤度Vtargetとし、偽クラスの最も高い推定尤度Vrem_maxとする。
【0042】
p=max(0.01、Vtarget−Vrem_max)……(2)
【0043】
式(2)によって、真クラスの推定尤度より、偽クラスの最も高い推定尤度が大きい場合、差分値p=0.01となり、真クラスの推定尤度が、偽クラスの最も高い推定尤度より大きい場合、差分値p=Vtarget−Vrem_maxとなる。
【0044】
そして、重み設定部205は、算出した差分値pを、下記の式(3)に代入し、重みWを算出する。なお、所定値γは、実施態様に応じて適切な値が設定されるものとし、例えば、0〜5.0の間の数値を割り当られることが考えられる。
【0045】
W=−(1−p)γlog(p)……(3)
【0046】
図5は、重み設定部205において、差分値pに基づいて式(3)で算出される重みWを示したグラフである。図5に示されるように、差分値pは、0〜1の間の値をとる。そして、0に近づくほど重みWは大きくなる。
【0047】
例えば、第1の推定例[0.40、0.50、0.05、0.05、0.00]の場合、真クラスの推定尤度より、偽クラスの最も高い推定尤度が大きいため、差分値p1=0.01となる。この場合、重み設定部205は、座標503に対応する重みW3を算出する。
【0048】
一方、第2の推定例[0.40、0.30、0.10、0.10、0.10]の場合、差分値p2=0.1となる。この場合、重み設定部205は、座標502に対応する重みW2を算出する。第3の推定例[0.40、0.25、0.20、0.15、0.00]の場合、差分値p3=0.15となる。この場合、重み設定部205は、座標501に対応する重みW1を算出する。
【0049】
図5に示されるように、W3>W2>W1となる。つまり、本実施形態では、真クラスの推定尤度より、偽クラスの推定尤度が大きい場合に、大きい重みW3が設定される。そして、真クラスの推定尤度が、偽クラスの最も高い推定尤度より大きい場合には、図5に示されるように、推定尤度間の差分値が大きくなるに従って、重みWが小さくなるように設定される。換言すれば、推定尤度間の差分値が小さい場合には、大きな重みWが設定される。これによって、機械学習の効率を向上させることができる。
【0050】
このように、本実施形態においては、真クラスの推定尤度が同じであっても、差分値pに応じて異なる重みWが算出される。
【0051】
機械学習部201は、損失値Lと、重みWと、に基づいた機械学習を行って、学習モデル210へのフィードバックを行う。具体的には、本実施形態では、損失値Lと重みWとに基づいた機械学習として、従来のように損失値Lを用いる代わりに、下記の式(4)から算出される総合損失値LLを用いることとした。なお、総合損失値LLを用いて学習モデル210に機械学習を行わせるための手法は、従来と同様の手法を用いてもよいものとして、説明を省略する。
【0052】
L=L×W……(4)
【0053】
次に、本実施形態の機械学習装置100が実行する処理手順について説明する。図6は、本実施形態の機械学習装置100によって実行される処理手順を示したフローチャートである。
【0054】
本実施形態の機械学習装置100のデータ受付部202は、学習用データ記憶部206から学習用のデータ(画像データ)とともに、機械学習部201で機械学習された学習モデル210を受け付ける(S601)。
【0055】
次に、推定部203は、学習モデル210に基づいて、学習用のデータの各画素(要素)について、クラス毎に、推定尤度を算出する(S602)。
【0056】
そして、損失値算出部204は、画素(要素)毎に、推定部203によって推定された推定尤度と、所定の損失関数(例えばクロスエントロピー関数)と、に基づいて、損失値を算出する(S603)。
【0057】
さらに、重み設定部205は、画素(要素)毎に、真クラスの推定尤度と、偽クラスの最も高い推定尤度と、に基づいて、損失値の重みを算出する(S604)。
【0058】
そして、機械学習部201が、損失値及び重みを用いて機械学習を行うことで、学習モデル210へのフィードバックを行う(S605)。
【0059】
その後、機械学習部201が、機械学習が終了したか否かを判定する(S606)。機械学習が終了したか否かの判断基準は、どのような基準であってもよく、例えば、指定の学習回数に到達した場合や、学習モデル210が目標精度を超えた場合であってもよいし、全ての学習用のデータによる機械学習が完了した場合であってもよい。
【0060】
機械学習部201が、機械学習が終了していないと判断した場合(S606:No)、再びS601から処理を行う。一方、機械学習が終了したと判断した場合(S606:Yes)、処理を終了する。
【0061】
また、本実施形態においては、図6に示されるようなフローチャートで説明したが、学習モデル210を用いた機械学習について並列処理を行ってもよい。
【0062】
本実施形態は、損失値の算出手法として、クロスエントロピー関数を用いた例について説明したが、クロスエントロピー関数以外の損失関数を用いてもよい。例えば、最小二乗誤差等の手法を用いてもよい。さらに、損失値を算出するための算出手法を一つのみ用いる手法に制限するものではなく、複数の損失値の算出手法を組み合わせてもよい。
【0063】
また、複数の算出手法を用いて、画素(要素)毎に複数の損失値を算出した場合には、要素全体の損失値を1つに統合したうえで、機械学習を行ってもよい。このような場合に、損失値を統合するために平均や総和を用いることが考えられる。
【0064】
上述した実施形態においては、偽のクラスの推定尤度のうち最も高い推定尤度を、真のクラスの推定尤度と比較する例について説明した。しかしながら、本実施形態は、真のクラスの推定尤度との比較対象を、偽のクラスの推定尤度のうち最も高い推定尤度に制限するものではなく、偽のクラスの推定尤度の平均や、2番目に高い推定尤度等と比較してもよい。
【0065】
本実施形態においては、従来の損失値Lによる機械学習を行った場合と比べて、真クラスの推定尤度と、偽クラスの最も高い推定尤度と、に基づいた重みが設定されているため、学習モデル210へのフィードバック効率を向上させることができる。
【0066】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0067】
100…機械学習装置、201…機械学習部、202…データ受付部、203…推定部、204…損失値算出部、205…重み設定部、206…学習用データ記憶部。
図1
図2
図3
図4
図5
図6