(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-07
(45)【発行日】2024-10-16
(54)【発明の名称】学習装置、学習方法、及び学習プログラム
(51)【国際特許分類】
G06N 3/09 20230101AFI20241008BHJP
G06F 18/2325 20230101ALI20241008BHJP
G06F 18/2413 20230101ALI20241008BHJP
【FI】
G06N3/09
G06F18/2325
G06F18/2413
(21)【出願番号】P 2020183106
(22)【出願日】2020-10-30
【審査請求日】2023-08-23
(73)【特許権者】
【識別番号】516231419
【氏名又は名称】ソフトバンクロボティクスグループ株式会社
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100180806
【氏名又は名称】三浦 剛
(74)【代理人】
【識別番号】100160716
【氏名又は名称】遠藤 力
(72)【発明者】
【氏名】馬目 信人
(72)【発明者】
【氏名】篠原 修二
【審査官】多賀 実
(56)【参考文献】
【文献】特開平03-260862(JP,A)
【文献】特開2001-331839(JP,A)
【文献】特開平05-012449(JP,A)
【文献】特開2009-042997(JP,A)
【文献】中国特許出願公開第110443267(CN,A)
【文献】Lydia Fischer et al.,'Certainty-based Prototype Insertion/Deletion for Classification with Metric Adaptation',ESANN 2015 proceedings, 23rd European Symposium on Artificial Neural Networks,[online],2015年,ES2015-88: pp.7-12,[令和6年6月13日検索], インターネット:<URL: https://www.esann.org/sites/default/files/proceedings/legacy/es2015-88.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 18/00-18/40
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
プロトタイプラベル、及び前記プロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部と、
入力特徴量を示す入力特徴量データと、前記入力特徴量に関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得する学習データ取得部と、
前記入力特徴量が入力された学習モデルによって出力された予測ラベルを取得する予測ラベル取得部と、
前記入力特徴量と関連付けられた前記教師ラベルを、前記入力特徴量の入力に応じて前記学習モデルが前記予測ラベルとして出力する確度を示す確信度、前記教師ラベル、及び前記予測ラベルに基づいて、プロトタイプを前記記憶部に追加するか否かを決定するプロトタイプ追加部と、
を有することを特徴とする学習装置。
【請求項2】
プロトタイプ追加部は、前記予測ラベルが前記教師ラベルに一致せず、且つ、
前記確信度が所定のしきい値より大きいときに、前記学習データをプロトタイプとして追加することを決定する、請求項1に記載の学習装置。
【請求項3】
追加される前記プロトタイプに含まれる前記プロトタイプラベルは、前記入力特徴量に関連付けられた教師ラベルである、請求項1又は2に記載の学習装置。
【請求項4】
前記複数のプロトタイプのそれぞれは、前記学習モデルによって出力された予測ラベルと前記入力特徴量に関連付けられた教師ラベルとが一致した頻度を少なくとも示す共起頻度情報を更に含み、
前記確信度は、前記共起頻度情報から演算される、請求項1に記載の学習装置。
【請求項5】
前記プロトタイプ追加部がプロトタイプを追加すると決定しなかったときに、少なくとも前記教師ラベルと前記予測ラベルとの間の一致度に基づいて、前記共起頻度情報を変更する共起頻度変更部と、
変更された前記共起頻度情報に基づいて、前記確信度を演算する確信度演算部と、
を更に有する、請求項4に記載の学習装置。
【請求項6】
前記確信度から、前記学習モデルが学習するときに使用される学習率を演算する学習率演算部と、
前記学習率に基づいて、前記プロトタイプ特徴量を更新するプロトタイプ特徴量更新部と、
を更に有する、請求項5に記載の学習装置。
【請求項7】
プロトタイプラベル、及び前記プロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部を有する学習装置に学習モデルを学習させる学習方法であって、
入力特徴量を示す入力特徴量データと、前記入力特徴量に関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得し、
前記入力特徴量が入力された学習モデルによって出力された予測ラベルを取得し、
前記入力特徴量と関連付けられた前記教師ラベルを、前記入力特徴量の入力に応じて前記学習モデルが前記予測ラベルとして出力する確度を示す確信度、前記教師ラベル、及び前記予測ラベルに基づいて、プロトタイプを記憶部に追加するか否かを決定する、
ことを含むことを特徴とする学習方法。
【請求項8】
プロトタイプラベル、及び前記プロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部を有する学習装置に学習モデルを学習させる制御プログラムであって、
入力特徴量を示す入力特徴量データと、前記入力特徴量に関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得し、
前記入力特徴量が入力された学習モデルによって出力された予測ラベルを取得し、
前記入力特徴量と関連付けられた前記教師ラベルを、前記入力特徴量の入力に応じて前記学習モデルが前記予測ラベルとして出力する確度を示す確信度、前記教師ラベル、及び前記予測ラベルに基づいて、プロトタイプを記憶部に追加するか否かを決定する、
処理を前記学習装置に実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法、及び学習プログラムに関する。
【背景技術】
【0002】
従来から、画像処理及び音声処理等において、学習ベクトル量子化(Learning Vector Quantization,LVQ)を使用して情報を符号化することが知られている。LVQは、入力ベクトルをラベルに割り当てるプロトタイプベクトルを学習する教師あり学習モデルであり、例えば、特許文献1に示すように、入力ベクトルに対するラベルを出力する分類器として使用可能なのでパターン認識等に活用される。
【0003】
LVQを使用した機械学習において、入力層、競合層及び出力層を有するLVQニューラルネットワークが用いられる。入力層は、入力ベクトルを格納する。競合層は、各ラベルを代表する特徴ベクトルであるプロトタイプベクトルとラベルを有し、入力層から得られた入力ベクトルと最近傍にあるプロトタイプベクトルを出力する。出力層は、競合層から得られたプロトタイプベクトルのラベルを線形に出力する。
【0004】
非特許文献1に示すように、LVQニューラルネットワークによる学習アルゴリズムでは、例えば、以下の(1)~(4)の手順で実行される。
(1)学習データの入力特徴量に相当する入力ベクトルが入力層に入力される。
(2)競合層において、入力層から得られた入力ベクトルと最近傍にあるプロトタイプベクトルのラベルが「勝者」に決定される。
(3)入力ベクトルのラベルと「勝者」に決定されたプロトタイプベクトルのラベルとが同一であった場合は、プロトタイプベクトルを学習率に応じて入力ベクトルに近づける。入力ベクトルxのラベルと「勝者」に決定されたプロトタイプベクトルのラベルとが異なる場合はプロトタイプベクトルを学習率に応じて入力ベクトルから遠ざける。
(4)上記(1)~(3)の処理を繰り返してプロトタイプベクトルを学習する。
【先行技術文献】
【特許文献】
【0005】
【非特許文献】
【0006】
【文献】T. Kohonen, “Improved versions of learning vector quantization,” in Proceedings of the IEEE International Joint Conference on Neural Networks, pp.545-550, 1990
【発明の概要】
【発明が解決しようとする課題】
【0007】
LVQ等のように学習率を使用してオンライン機械学習が可能な学習モデルでは、学習装置に記憶されるプロトタイプは、学習精度に応じてオペレータにより順次追加される。しかしながら、学習装置に記憶されるプロトタイプの数が少ない場合、学習精度が低くなる。一方、学習装置に記憶されるプロトタイプの数が多い場合、又は学習装置に多くのプロトタイプが追加される場合、学習装置が記憶可能な容量を超えると学習装置による学習が不能になるおそれがある。また、学習装置に記憶されるプロトタイプの数が多い場合、又は学習装置に多くのプロトタイプが追加される場合、学習装置による学習処理に要する時間が長くなり学習効率が低下するおそれがある。
【0008】
本発明は、このような課題を解決すべくなされたものであり、プロトタイプを自律して追加可能な学習装置、学習方法、及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明に係る学習装置は、プロトタイプラベル、及びプロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部と、入力特徴量を示す入力特徴量データと、入力特徴量に関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得する学習データ取得部と、入力特徴量が入力された学習モデルによって出力された予測ラベルを取得する予測ラベル取得部と、入力特徴量と関連付けられた教師ラベルを、入力特徴量の入力に応じて学習モデルが予測ラベルとして出力する確度を示す確信度、教師ラベル、及び予測ラベルに基づいて、プロトタイプを記憶部に追加するか否かを決定するプロトタイプ追加部とを有する。
【0010】
さらに、本発明に係る学習装置では、プロトタイプ追加部は、予測ラベルが教師ラベルに一致せず、且つ、教師データの確信度が所定のしきい値より大きいときに、学習データをプロトタイプとして追加することを決定することが好ましい。
【0011】
さらに、本発明に係る学習装置では、追加されるプロトタイプに含まれるプロトタイプラベルは、入力特徴量に関連付けられた教師ラベルであることが好ましい。
【0012】
さらに、本発明に係る学習装置は、複数のプロトタイプのそれぞれは、入力特徴量が入力された学習モデルによって出力された予測ラベルと入力特徴量に関連付けられた教師ラベルとが一致した頻度を少なくとも示す共起頻度情報を更に含み、確信度は、共起頻度情報から演算されることが好ましい。
【0013】
さらに、本発明に係る学習装置は、プロトタイプ追加部がプロトタイプを追加しなかったときに、少なくとも教師ラベルと予測ラベルとの間の一致度に基づいて、共起頻度情報を変更する共起頻度変更部と、変更された共起頻度情報に基づいて、確信度を演算する確信度演算部とを更に有することが好ましい。
【0014】
さらに、本発明に係る学習装置は、確信度から、学習モデルが学習するときに使用される学習率を演算する学習率演算部と、学習率に基づいて、プロトタイプ特徴量を更新するプロトタイプ特徴量更新部とを更に有することが好ましい。
【0015】
また、本発明に係る学習方法は、プロトタイプラベル、及びプロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部を有する学習装置に学習モデルを学習させる学習方法であって、入力特徴量を示す入力特徴量データと、入力特徴量に関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得し、学習モデルによって出力された予測ラベルを取得し、入力特徴量と関連付けられた教師ラベルを、入力特徴量の入力に応じて学習モデルが予測ラベルとして出力する確度を示す確信度及び教師ラベルと予測ラベルとが一致したか否かに基づいて、プロトタイプを追加するか否かを決定する。
【0016】
本発明に係る制御プログラムは、プロトタイプラベル、及びプロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部を有する学習装置に学習モデルを学習させる制御プログラムであって、入力特徴量を示す入力特徴量データと、入力特徴量に関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得し、学習モデルによって出力された予測ラベルを取得し、入力特徴量と関連付けられた教師ラベルを、入力特徴量の入力に応じて学習モデルが予測ラベルとして出力する確度を示す確信度及び教師ラベルと予測ラベルとが一致したか否かに基づいて、プロトタイプを追加するか否かを決定する処理を学習装置に実行させる。
【発明の効果】
【0017】
本発明に係る学習装置、学習方法、及び学習プログラムは、プロトタイプを自律して追加できる。
【図面の簡単な説明】
【0018】
【
図1】実施形態に係る学習装置の概要を説明するための説明図である。
【
図2】実施形態に係る学習装置のブロック図である。
【
図4】
図2に示すプロトタイプテーブルを示す図である。
【
図7】
図2に示す学習装置による学習処理を示すフローチャートである。
【
図8】
図7に示すS106の処理のより詳細な処理を示すフローチャートである。
【
図9】実施形態に係る学習装置の適用例を説明するための図(その1)であり、(a)は使用したデータを示す図であり、(b)はしきい値が0.5の場合の第1実施例であり、(c)はしきい値が0.8の場合の第2実施例である。
【
図10】実施形態に係る学習装置の適用例を説明するための図(その2)であり、(a)は使用したデータを示す図であり、(b)はしきい値が0.5の場合の第1実施例であり、(c)はしきい値が0.8の場合の第2実施例である。
【発明を実施するための形態】
【0019】
以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【0020】
(実施形態に係る学習装置の概要)
図1は、実施形態に係る学習装置の概要を説明するための説明図である。実施形態に係る学習装置は、例えば、パーソナル・コンピュータ(Personal Computer、PC)である。実施形態に係る学習装置は、サーバ装置、タブレット端末又はタブレットPC等の電子計算機であってもよい。
【0021】
学習装置は、入力特徴量を示す入力特徴量データと、入力特徴量と関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを使用して、記憶部に記憶されるプロトタイプ特徴量を更新しながら学習モデルを学習させる学習処理を実行する。学習装置は、入力特徴量と関連付けられた教師ラベルを、入力特徴量の入力に応じて学習モデルが予測ラベルとして出力する確度を示す確信度、教師ラベル、及び予測ラベルに基づいて、新たなプロトタイプを記憶部に追加するか否かを決定する。より詳細には、学習装置は、教師ラベルの確信度が所定のしきい値より大きく、且つ、予測ラベルが教師ラベルに一致しなかったときに、学習データを新たなプロトタイプとして記憶部に追加することを決定する。学習装置は、確信度及び予測ラベルに基づいて新たなプロトタイプを追加するか否かを決定することで、プロトタイプを自律して追加することができる。
【0022】
以下、学習装置が、LVQニューラルネットワークを学習モデルとして使用する学習アルゴリズムを例に、プロトタイプを追加する処理の概略について説明する。
【0023】
学習装置が有する記憶部は、「りんご」、「みかん」、「ぶどう」及び「なし」のそれぞれに対応する4つのプロトタイプ及び確信度R
iを記憶する。4つのプロトタイプのそれぞれは、プロトタイプラベルL(m
i)と、プロトタイプラベルに対応するプロトタイプベクトルm
iとを含む。プロトタイプベクトルm
iは、プロトタイプ特徴量の一例である。
図1に示す例では、「りんご」のプロトタイプに含まれるプロトタイプベクトルm
iに対応する画像は、「りんご」として一般的な皮の色が赤色である「赤りんご」の画像である。
【0024】
確信度Riは、入力ベクトルxと関連付けられた教師ラベルL(x)を、入力ベクトルxの入力に応じて学習モデルが予測ラベルL(mj)として出力する確度を示す数値である。「りんご」の確信度Riは、一例では「0.5」であり、好ましくは「0.8」である所定のしきい値RTHよりも大きい値になっている。
【0025】
まず、学習装置は、入力ベクトルxを示す入力ベクトルデータと、教師ラベルL(x)を示す教師ラベルデータとを含む学習データを取得する。次いで、学習装置は、学習モデルを使用して、予測ラベルL(mj)を取得する。学習モデルは、入力ベクトルxが入力されることに応じて予測ラベルL(mj)を出力する。
【0026】
図1に示す例では、りんごを示す教師ラベルL(x)に関連付けられた入力ベクトルxである画像が学習モデルに入力される。学習モデルに入力される入力ベクトルxに対応する画像は、「りんご」のプロトタイプに含まれるプロトタイプベクトルm
iに対応する「赤りんご」の画像とは異なる皮の色が青色である「青りんご」の画像である。
【0027】
学習モデルは、「りんご」のプロトタイプに含まれるプロトタイプベクトルmiに対応する画像とは異なる「青りんご」の画像を示す入力ベクトルxが入力され、予測ラベルL(mj)を教師ラベルL(x)に対応する「りんご」ではなく「なし」として出力する。
【0028】
次いで、学習装置は、確信度Riがしきい値RTHより大きく、且つ、予測ラベルL(mj)が教師ラベルL(x)に一致しないと判定し、プロトタイプを追加する。追加されるプロトタイプのプロトタイプラベルは「りんご」を示す教師ラベルL(x)であり、プロトタイプベクトルは「青りんご」の画像を示す入力ベクトルxである。
【0029】
実施形態に係る学習装置は、プロトタイプを自律して追加するので、既存の学習装置と比べて長期間に亘って逐次的に継続して学習処理を実行することができる。
【0030】
また、実施形態に係る学習装置は、確信度Riがしきい値RTHより大きく、且つ、予測ラベルL(mj)が教師ラベルL(x)に一致しないと判定したときに、学習モデルに学習させないので、プロトタイプベクトルを誤って学習することはない。例えば、「赤りんご」の画像を示すプロトタイプベクトルmiに「青りんご」の画像を示すベクトルを教師ベクトルxとして学習させた場合、「りんご」のプロトタイプベクトルmiは、青色と赤色の中間の黄色のベクトルに誤って学習される。実施形態に係る学習装置は、確信度Riがしきい値RTHより大きく、且つ、予測ラベルL(mj)が教師ラベルL(x)に一致しないときに、学習モデルに学習させないことで、学習モデルが誤って学習することを防止できる。
【0031】
実施形態に係る学習装置は、確信度Riがしきい値RTHより大きく、且つ、予測ラベルL(mj)が教師ラベルL(x)に一致しないときに、新たなプロトタイプを追加することで、同一のラベルに関連づけられた複数のプロトタイプを有することができる。例えば、「赤りんご」及び「青りんご」の画像を示すプロトタイプベクトルmiを有することで、学習モデルは、「りんご」は、皮の色が赤色である「赤りんご」だけではなく、皮の色が青色の「青りんご」があるという追加の知識を取得することができる。
【0032】
(実施形態に係る学習装置の構成及び機能)
図2は、学習装置1のブロック図である。
【0033】
学習装置1は、通信部11と、記憶部12と、入力部13と、出力部14と、処理部20とを有する。学習装置1は、入力特徴量を示す入力特徴量データと、入力特徴量と関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを使用して、記憶部に記憶されるプロトタイプ特徴量を更新することで学習モデルを学習させる学習処理を実行する。通信部11、記憶部12、入力部13、出力部14及び処理部20は、バス15を介して通信可能に接続される。
【0034】
通信部11は、Bluetooth(登録商標)の通信方式に従った近距離無線通信を行い、外部装置との間で端末間無線通信を確立させて、直接無線通信を行う。近距離無線通信の通信方式は、Bluetooth(登録商標)に限定されず、例えば、Bluetooth(登録商標) Low Energy等でもよい。また、通信部11は、近距離無線通信を行うためのものに限定されず、例えば、赤外線通信等による各種信号を受信するものでもよい。この場合、通信部11は、外部装置から受信した所定の電波を特定の信号に変調してデータを生成してもよい。また、通信部11は、USB(Universal Serial Bus)等と接続するためのインタフェース、有線又は無線のLAN(Local Area Network)の通信インターフェース等を含む、通信インターフェースでもよい。
【0035】
記憶部12は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)等の半導体メモリ装置、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。記憶部12は、処理部20での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、制御プログラム及びデータ等を記憶する。記憶部12に記憶されるドライバプログラムは、通信部11を制御する通信デバイスドライバプログラム、入力部13を制御する入力デバイスドライバプログラム、及び、出力部14を制御する出力デバイスドライバプログラム等である。記憶部12に記憶される制御プログラムは、後述する各種処理を実行するためのアプリケーションプログラム等である。記憶部12に記憶される各種プログラムは、例えばCD-ROM、DVD-ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部12にインストールされてもよい。
【0036】
記憶部12は、例えば学習モデル16、複数のプロトタイプを示すプロトタイプテーブル17、確信度テーブル18、及び学習率テーブル19を記憶する。また、記憶部12は、所定の処理に係るデータを一時的に記憶してもよい。
【0037】
【0038】
学習モデル16は、入力層、競合層及び出力層を有し、入力特徴量の一例である入力ベクトルxが入力されることに応じて予測ラベルを出力する。入力層、競合層及び出力層は、少なくとも1つの人工ニューロン(以下、単に「ニューロン」と称する)が設定される。
【0039】
入力層は、学習データに含まれる入力特徴量データに対応する入力ベクトルxが入力される。入力特徴量データは、所定のデータ配列にしたがった複数のデータを含むデータ群である。入力特徴量データが総ピクセル数nの画像データであるとき、入力ベクトルx{x1,x2,・・・xn}は、当該画像データの各ピクセルの色の値等を示すx1,x2,・・・xnである。入力ベクトルxは、どのようなベクトルでもよい。例えば、入力特徴量データが花に関する4種類の属性パラメータ値である場合、入力ベクトルx{x1,x2,x3,x4}は、花びらの長さの値x1、花びらの幅の値x2、萼片の長さの値x3、及び萼片の幅の値x4である。
【0040】
競合層は、プロトタイプベクトルに対応するニューロンを含む。競合層に含まれるニューロンの数は、予め設定された複数のラベルの数(k)以上である。例えば、複数のラベルのうちのi番目のラベルのプロトタイプベクトルは、mi{μ1,μ2,・・・μn}である。競合層のk個のニューロンのそれぞれにおいて、入力層から入力された入力ベクトルx{x1,x2,・・・xn}とプロトタイプベクトルmi{μ1,μ2,・・・μn}との間の距離が算出される。なお、プロトタイプベクトルmiの次元数は、入力ベクトルxの次元数と同一であり、プロトタイプベクトルmiにおけるμ1,μ2,・・・μnの初期値は、どのような値でもよい。
【0041】
出力層は、競合層の各ニューロンから出力された距離の中で最も短い距離に対応するプロトタイプラベルを、予測ラベルL(mj)として出力する。
【0042】
【0043】
プロトタイプテーブル17は、プロトタイプラベルL(mi)、プロトタイプベクトルmi、及び共起頻度情報(ai、bi、ci及びdi)のそれぞれをプロトタイプ毎に識別子に関連付けて記憶する。識別子「1」に関連付けられるプロトタイプは「りんご」に対応し、識別子「2」に関連付けられるプロトタイプは「みかん」に対応する。また、識別子「3」に関連付けられるプロトタイプは「ぶどう」に対応し、識別子「4」に関連付けられるプロトタイプは「なし」に対応する。なお、プロトタイプテーブル17は、4つのプロトタイプを記憶するが、プロトタイプテーブルに記憶されるプロトタイプの数は、複数であればよい。また、プロトタイプが記憶部12に記憶される態様は、プロトタイプテーブル17に限定されない。
【0044】
【0045】
確信度テーブル18は、確信度Riをプロトタイプ毎に、プロトタイプテーブル17の識別子と同一の識別子に関連付けて記憶する。識別子「1」に関連付けられる確信度R1は「りんご」に対応する学習率であり、識別子「2」に関連付けられる確信度R2は「みかん」に対応する学習率である。また、識別子「3」に関連付けられる確信度R3は「ぶどう」に対応する学習率であり、識別子「4」に関連付けられる確信度R4は「なし」に対応する学習率である。なお、確信度テーブル18は、4つの確信度Riを記憶するが、確信度テーブル18に記憶される確信度Riの数は、プロトタイプテーブル17に記憶されるプロトタイプの数と同一であればよい。
【0046】
【0047】
学習率テーブル19は、学習率αiをプロトタイプ毎に、プロトタイプテーブル17及び確信度テーブル18の識別子と同一の識別子に関連付けて記憶する。識別子「1」に関連付けられる学習率α1は「りんご」に対応する学習率であり、識別子「2」に関連付けられる学習率α2は「みかん」に対応する学習率である。また、識別子「3」に関連付けられる学習率α3は「ぶどう」に対応する学習率であり、識別子「4」に関連付けられる学習率α4は「なし」に対応する学習率である。なお、学習率テーブル19は、4つの学習率αiを記憶するが、学習率テーブル19に記憶される学習率αiの数は、プロトタイプテーブル17に記憶されるプロトタイプの数と同一であればよい。
【0048】
入力部13は、例えば、キーボード、マウス、又はタッチパネル等のポインティングデバイスである。ユーザは、入力部13を用いて、文字、数字及び記号、若しくは、出力部14の表示画面上の位置等を入力することができる。入力部13は、ユーザにより操作されると、その操作に対応する信号を発生する。そして、発生した信号は、ユーザの指示として処理部20に供給される。
【0049】
出力部14は、液晶ディスプレイである。なお、出力部14は、有機EL(Electro-Luminescence)ディスプレイ等でもよい。出力部14は、処理部20から供給された映像データに応じた映像や、画像データに応じた画像等を表示する。
【0050】
処理部20は、一又は複数個のプロセッサ及びその周辺回路を備える。処理部20は、学習装置1の全体的な動作を統括的に制御するものであり、例えば、CPU(Central Processing Unit)である。処理部20は、記憶部12に記憶されているプログラム及びユーザによる入力部13の操作に応じて入力された各種指示等に基づいて、各種情報処理を適切な手順で実行し、且つ、通信部11及び出力部14の動作を制御する。処理部20は、記憶部12に記憶されているオペレーティングシステムプログラム、ドライバプログラム及び制御プログラムに基づいて各種情報処理を実行する。また、処理部20は、複数のプログラムを並列に実行することができる。
【0051】
処理部20は、学習データ取得部21と、予測ラベル取得部22と、プロトタイプ追加部23と、共起頻度変更部24と、確信度演算部25と、学習率演算部26と、プロトタイプ特徴量更新部27とを有する。これらの各部は、処理部20が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして学習装置1に実装されてもよい。
【0052】
(学習装置1による学習処理)
図7は、学習装置1による学習処理を示すフローチャートである。
図7に示す学習処理は、予め記憶部12に記憶されている制御プログラムに基づいて、主に処理部20により、学習装置1の各要素と協働して実行される。
【0053】
まず、学習データ取得部21は、入力特徴量を示す入力特徴量データと、入力特徴量と関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得する(S101)。具体的には、学習データ取得部21は、入力ベクトルxを示す入力特徴量データと、入力ベクトルxと関連付けられた教師ラベルL(x)を示す教師ラベルデータとを含む学習データを取得する。
【0054】
次いで、予測ラベル取得部22は、学習モデル16を使用して、予測ラベルL(mj)を取得する(S102)。予測ラベル取得部22は、学習モデル16の入力層に入力ベクトルxを入力して、学習モデル16から出力されるラベルを予測ラベルL(mj)として取得する。
【0055】
次いで、プロトタイプ追加部23は、S102の処理で予測された予測ラベルL(mj)が、S101で取得された教師ラベルL(x)に一致するか否かを判定する(S103)。
【0056】
プロトタイプ追加部23は、予測ラベルL(mj)が教師ラベルL(x)に一致しないと判定する(S103-NO)と、教師ラベルL(x)の確信度Riが所定のしきい値RTHより大きいか否かを判定する(S104)。プロトタイプ追加部23は、確信度Ri、教師ラベルL(mj)、及び予測ラベルL(x)に基づいて、プロトタイプを記憶部12に追加するか否かを決定する。
【0057】
プロトタイプ追加部23は、確信度Riが所定のしきい値RTHより大きいと判定する(S104-YES)と、新たなプロトタイプを追加する(S105)。追加するプロトタイプのプロトタイプベクトルは、S101の処理で取得された入力特徴量データに対応する入力ベクトルxである。また、追加するプロトタイプのプロトタイプラベルは、S101の処理で取得された教師ラベルデータに対応する教師ラベルL(x)である。S105の処理が終了すると、S106~S110の処理を実行することなく、学習装置1による学習処理は終了する。
【0058】
S103の処理で予測ラベルL(mj)が教師ラベルL(x)に一致すると判定される(S103-YES)、又は確信度Riが所定のしきい値RTH以下であると判定する(S104-NO)と、処理はS106に進む。
【0059】
次いで、共起頻度変更部24は、教師ラベルL(x)、予測ラベルL(mj)及びプロトタイプラベルL(mi)の間の一致度に基づいて、共起頻度情報を変更する(S106)。共起頻度変更部24は、教師ラベルL(x)、予測ラベルL(mj)及びプロトタイプラベルL(mi)が一致するか否かを示す情報を共起頻度情報に反映するように共起頻度情報を変更する。
【0060】
図8は、
図7に示すS106の処理のより詳細な処理を示すフローチャートである。
【0061】
まず、共起頻度変更部24は、識別子iに関連付けられたプロトタイプラベルL(mi)をプロトタイプテーブル17から取得する(S201)。次いで、共起頻度変更部24は、S201で取得したプロトタイプラベルL(mi)とS102の処理で取得された予測ラベルL(mj)とが一致するか否かを判定する(S202)。
【0062】
共起頻度変更部24は、プロトタイプラベルL(mi)と予測ラベルL(mj)とが一致すると判定する(S202-YES)と、予測ラベルL(mj)とS101で取得された教師ラベルL(x)とが一致するか否かを判定する(S203)。
【0063】
共起頻度変更部24は、予測ラベルL(mj)と教師ラベルL(x)とが一致すると判定する(S203-YES)と第1共起頻度aiに数値「1」を加算する(S204)。共起頻度変更部24は、予測ラベルL(mj)と教師ラベルL(x)とが一致しないと判定する(S203-NO)と第2共起頻度biに数値「1」を加算する(S205)。
【0064】
共起頻度変更部24は、プロトタイプラベルL(mi)と予測ラベルL(mj)とが一致しないと判定する(S202-NO)と、予測ラベルL(mj)とS101で取得した教師ラベルL(x)とが一致するか否かを判定する(S206)。
【0065】
共起頻度変更部24は、予測ラベルL(mj)と教師ラベルL(x)とが一致すると判定する(S206-YES)と第3共起頻度ciに数値「1」を加算する(S207)。共起頻度変更部24は、予測ラベルL(mj)と教師ラベルL(x)とが一致しないと判定する(S206-NO)と第4共起頻度diに数値「1」を加算する(S208)。
【0066】
S106の処理が終了すると、確信度演算部25は、S106の変更された共起頻度情報に基づいて、確信度Riを演算する(S107)。確信度演算部25は、2つの事象の因果関係を示す式である因果推論モデルを使用して確信度Riを演算する。具体的には、確信度演算部25は、以下の式(1)を使用して、プロトタイプテーブル17に記憶される共起頻度毎に確信度Riを演算する。
【0067】
【0068】
次いで、学習率演算部26は、S107の処理で演算された確信度Riから学習率αiを演算し(S108)、演算した学習率αiを学習率テーブル19に記憶する。具体的には、学習率演算部26は、以下の式(2)を使用して、プロトタイプテーブル17に記憶される共起頻度情報毎に学習率αiを演算する。
【0069】
【0070】
S107の処理が終了すると、学習率演算部26は、学習率テーブル19において識別子に関連付けられて記憶された全ての学習率αiを更新したか否かを判定する(S109)。学習率演算部26によって学習率テーブル19において識別子に関連付けられて記憶された全ての学習率αiを更新したと判定される(S109-YES)まで、S106~S109の処理が繰り返される。S106~S109の処理が繰り返されることで、「りんご」、「みかん」、「ぶどう」及び「なし」のそれぞれに対応する学習率α1~α4が順次更新される。
【0071】
学習率テーブル19の全ての学習率αiを更新したと判定される(S109-YES)と、プロトタイプ特徴量更新部27は、S108の処理で更新された学習率に基づいて、プロトタイプテーブル17に記憶されたプロトタイプ特徴量を更新する(S110)。具体的には、プロトタイプ特徴量更新部27は、プロトタイプテーブル17に記憶されるプロトタイプベクトルmiを、S107の処理で更新された学習率αiに基づいて、式(3)を使用して更新する。
【0072】
【0073】
プロトタイプ特徴量更新部27がプロトタイプ特徴量を更新することで、学習データを使用した学習モデル16の学習処理は終了する。
【0074】
(実施形態に係る学習装置の作用効果)
学習装置1は、プロトタイプを自律して追加するので、既存の学習装置と比べて長期間に亘って逐次的に継続して学習処理を実行することができる。
【0075】
また、学習装置1は、確信度Riがしきい値RTHより大きく、且つ、予測ラベルL(mj)が教師ラベルL(x)に一致しないと判定したときに、学習モデルに学習させないので、プロトタイプベクトルを誤って学習することはない。
【0076】
また、学習装置1は、確信度Riがしきい値RTHより大きく、且つ、予測ラベルL(mj)が教師ラベルL(x)に一致しないときに、新たなプロトタイプを追加することで、同一のラベルに関連づけられた複数のプロトタイプを有することができる。
【0077】
また、学習装置1は、確信度Riを使用して自律的に学習率αiを更新するので、学習精度を向上させるために適切な学習率を設定するために学習処理を繰り返すことなく、学習効率が向上する。
【0078】
また、学習装置1では、学習率αiは、学習が進展して確信度Riが上昇するに伴って低下するので、確信度Riが略100%になると学習率αiは略0%になり、学習装置1は、学習を停止させることなく、確信度Riが高い予測ラベルL(mj)を出力可能になる。
【0079】
また、学習装置1では、1つの学習データに基づいて、全てのプロトタイプに対応する学習率αiが更新されるので、学習装置1は、より少ない学習データで確信度Riが高い予測ラベルL(mj)を出力可能になる。
【0080】
(実施形態に係る学習装置の変形例)
学習装置1は、LVQニューラルネットワークを学習モデルとして使用するが、実施形態に係る学習装置は、学習率を使用してオンライン機械学習が可能な学習モデルを学習モデルとして使用してもよい。また、学習装置1は、学習モデル16を記憶部12に記憶するが、実施形態に係る学習装置は、使用する学習モデルを記憶部に記憶せずにインターネット及びLAN等の通信網を介して通信可能に接続されたサーバに記憶された学習モデルを使用してもよい。
【0081】
また、学習装置1は、式(1)を使用して確信度Riを演算するが、実施形態に係る学習装置は、少なくとも教師ラベルL(x)と予測ラベルL(mj)との間の一致度に基づいて、前記共起頻度を変更すればよい。
【0082】
例えば、確信度Riは、以下の式(4)を使用して演算されてもよい。
【0083】
【0084】
式(4)を使用して確信度Riを演算するとき、第1共起頻度aiは予測ラベルが前記教師ラベルに一致した回数を示し、第2共起頻度biは予測ラベルが前記教師ラベルに一致した回数を示してもよい。
【0085】
また、確信度Riは、以下の式(5)~(7)の何れかを使用して演算されてもよい。
【0086】
【0087】
【0088】
【0089】
また、学習装置1は、式(2)を使用して学習率αiを演算するが、実施形態に係る学習装置は、確信度Riが上昇するに従って学習率αiが低下するように前記学習率を演算すればよい。例えば、学習装置1は、第1共起頻度と第2共起頻度の合計の頻度における第1共起頻度の比率が増加するに従って学習率が低下するように、学習率を更新してもよい。また、第1共起頻度、第2共起頻度及び第3共起頻度の合計の頻度における第1共起頻度の比率が増加するに従って学習率が低下するように、学習率を更新してもよい。さらに、第1共起頻度、第2共起頻度、第3共起頻度及び第4共起頻度の合計の頻度における第1共起頻度及び前記第4共起頻度の合計の比率が増加するに従って学習率が低下するように、学習率を更新してもよい。
【0090】
なお、学習装置1では、第1共起頻度ai、第2共起頻度bi、第3共起頻度ci及び第4共起頻度diは回数として規定されたが、実施形態に係る学習装置では、それぞれの事象が発生する頻度を示すパラメータと規定されればよい。
【0091】
(実施形態に係る学習装置の適用例)
図9及び10は、実施形態に係る学習装置の適用例を説明するための図である。
図9は第1適用例を説明するための図であり、
図10は第2適用例を説明するための図である。
図9及び10において、(a)は使用したデータを示す図であり、(b)はしきい値R
THが0.5の場合の第1実施例であり、(c)はしきい値R
THが0.8の場合の第2実施例である。
図9及び10において、横軸は第1の数値xを示し、縦軸は第2の数値yを示す。
【0092】
図9に示す第1適用例は、ドーナツ状にデータが配置された第1群101と、第1群101の周囲を囲むように配置された第2群102と、正弦状に配置された第3群103と、円形状に配置された第4群104及び第5群105とを有する。
図9(b)及び9(c)において、第1群101に対応するプロトタイプベクトルは丸印で示され、第2群102に対応するプロトタイプベクトルは三角印で示され、第3群103に対応するプロトタイプベクトルは四角印で示される。また、第4群104に対応するプロトタイプベクトルはひし形印で示され、第5群105に対応するプロトタイプベクトルはバツ印で示される。
【0093】
しきい値RTHが0.5である第1実施例において、第1群101に対応する第1プロトタイプベクトル111は、第1群101の配置に対応する領域に略ドーナツ状に配置される。また、第2群102に対応する第2プロトタイプベクトル112は、第2群102の配置に対応する領域に第1プロトタイプベクトル111の周囲を囲むように配置される。第3群103に対応する第3プロトタイプベクトル113は、xの座標が0.0~0.6でありyの座標が0.4~0.9である領域に正弦状に配置される。また、第3群103に対応する第3プロトタイプベクトル113は、xの座標が0.6~1.0でありyの座標が0.0~0.4である領域に一点のみ配置される。
【0094】
第4群104に対応する第4プロトタイプベクトル114は、第4群104に対応する領域に第3プロトタイプベクトル113との境界を明確にするように配置される。第5群105に対応する第5プロトタイプベクトル115は、第5群105に対応する領域に1点のみ配置される。
【0095】
しきい値RTHが0.8である第2実施例において、第1群101に対応する第1プロトタイプベクトル121は、第1群101の配置に対応する領域に1点のみ配置される。また、第2群102に対応する第2プロトタイプベクトル122は、第2群102の配置に対応する領域に第1プロトタイプベクトル121の周囲を囲むように配置される。第3群103に対応する第3プロトタイプベクトル123は、xの座標が0.0~0.6でありyの座標が0.4~0.9である領域に正弦状に配置される。また、第3群103に対応する第3プロトタイプベクトル123は、xの座標が0.6~1.0でありyの座標が0.0~0.4である領域に一点のみ配置される。
【0096】
第4群104に対応する第4プロトタイプベクトル124は、第4群104に対応する領域に第3プロトタイプベクトル123との境界を明確にするように配置される。第5群105に対応する第5プロトタイプベクトル125は、第5群105に対応する領域に1点のみ配置される。
【0097】
図10に示す第2適用例は、第1群201、第2群202及び第3群203のそれぞれが円形状の領域に配置される。第1群201は、xの座標が0.2~0.8でありyの座標が0.4~0.9である領域に配置される。第2群202は、xの座標が0.0~0.5でありyの座標が0.1~0.6である領域に配置される。第3群203は、xの座標が0.5~1.0でありyの座標が0.1~0.6である領域に配置される。
【0098】
しきい値RTHが0.5である第1適用例において、第1群201に対応する第1プロトタイプベクトル211は、第1群201に対応する領域に配置される。第1プロトタイプベクトル211は、第2群202に対応する第2プロトタイプベクトル212及び第3群203に対応する第3プロトタイプベクトル213との境界を形成するように配置される。第2群202に対応する第2プロトタイプベクトル212は、第2群202に対応する領域にする第1プロトタイプベクトル211との境界を形成するように配置される。第3群203に対応する第3プロトタイプベクトル213は、第3群203に対応する領域にする第1プロトタイプベクトル211との境界を形成するように配置される。
【0099】
しきい値RTHが0.8である第2適用例において、第1群201に対応する第1プロトタイプベクトル221は、第1群201の配置に対応する領域に3点配置される。第2群202に対応する第2プロトタイプベクトル222は、第2群202の配置に対応する領域に1点のみ配置される。第3群203に対応する第3プロトタイプベクトル223は、第3群203の配置に対応する領域に1点のみ配置される。
【0100】
しきい値RTHが0.8である第2適用例は、しきい値RTHが0.5である第1適用例よりもプロトタイプベクトルの数が少ないため、学習精度が第1適用例よりも低いが、より少ないプロトタイプベクトルの数で学習モデルを形成できる。
【0101】
また、実施形態に係る学習装置は、ガラスおよび電離層のレーダの分類、並びに乳がんの診断等の種々のタスクに適用可能である。ガラスの分類は、犯罪捜査に活用可能であり、RTH=0.5とした際の学習装置は、ガラスに含まれる9の成分を特徴量として持つ6種類にラベリングされる214のガラスを20個程度のプロトタイプにより適切に分類することが可能である。
【0102】
電離層のレーダの分類は、電離層内の自由電子の分布の調査に活用可能であり、RTH=0.5とした際の学習装置は、システム上で確認できた34のパルスを特徴量として持つ2種類にラベリングされる351のレーダの品質を50個程度のプロトタイプにより適切に分類することが可能である。乳がんの診断は、医療補助に活用可能であり、RTH=0.5とした際の学習装置は、各細胞核の半径、面積等を含む30の情報を特徴量として持つ2種類にラベリングされる569の乳房腫瘤の穿刺吸引のデジタル画像を70個程度のプロトタイプにより適切に分類することが可能である。
【0103】
実施形態に係る学習装置は、予測ラベルが教師ラベルに一致せず且つ教師ラベルの確信度が大きいときに学習データを新たなプロトタイプとして追加することで、同一のラベルを有し且つ特徴量が異なる複数のプロトタイプを、必要十分な量で記憶できる。
【符号の説明】
【0104】
1 学習装置
21 学習データ取得部
22 予測ラベル取得部
23 プロトタイプ追加部
24 共起頻度変更部
25 確信度演算部
26 学習率演算部
27 プロトタイプ特徴量更新部
16 学習モデル