(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-28
(45)【発行日】2024-04-05
(54)【発明の名称】学習装置、学習方法、及び学習プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240329BHJP
【FI】
G06N20/00 130
(21)【出願番号】P 2020014223
(22)【出願日】2020-01-30
【審査請求日】2023-01-06
(73)【特許権者】
【識別番号】516231419
【氏名又は名称】ソフトバンクロボティクスグループ株式会社
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100180806
【氏名又は名称】三浦 剛
(74)【代理人】
【識別番号】100160716
【氏名又は名称】遠藤 力
(72)【発明者】
【氏名】馬目 信人
(72)【発明者】
【氏名】篠原 修二
【審査官】福西 章人
(56)【参考文献】
【文献】特表平08-505758(JP,A)
【文献】特開平03-273444(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
入力特徴量が入力された学習モデルによって出力された予測ラベルと前記入力特徴量に関連付けられた教師ラベルとが一致した頻度を少なくとも示す共起頻度情報、プロトタイプラベル、及び前記プロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部と、
前記入力特徴量を示す入力特徴量データと、前記教師ラベルを示す教師ラベルデータとを含む学習データを取得する学習データ取得部と、
前記学習モデルを使用して、前記予測ラベルを取得する予測ラベル取得部と、
少なくとも前記教師ラベルと前記予測ラベルとの間の一致度に基づいて、前記共起頻度情報を変更する共起頻度変更部と、
前記プロトタイプ特徴量を更新するときに使用される学習率を、変更された前記共起頻度情報に基づいて更新する学習率更新部と、
前記学習率に基づいて、前記プロトタイプ特徴量を更新するプロトタイプ特徴量更新部と、
を有することを特徴とする学習装置。
【請求項2】
前記共起頻度情報は、
前記予測ラベルが前記教師ラベルに一致した頻度を示す第1共起頻度と、
前記予測ラベルが前記教師ラベルに一致しなかった頻度を示す第2共起頻度と、
を含む、請求項1に記載される学習装置。
【請求項3】
前記学習率更新部は、前記第1共起頻度と前記第2共起頻度の合計の頻度における前記第1共起頻度の比率が増加するに従って前記学習率が低下するように、前記学習率を更新する、請求項2に記載される学習装置。
【請求項4】
前記第1共起頻度は、前記学習モデルが予測する予測ラベルが前記プロトタイプラベルに一致し、且つ、前記予測ラベルが前記教師ラベルに一致した頻度を示し、
前記第2共起頻度は、前記学習モデルが予測する予測ラベルが前記プロトタイプラベルに一致し、且つ、前記予測ラベルが前記教師ラベルに一致しなかった頻度を示し、
前記共起頻度情報は、
前記学習モデルが予測する予測ラベルが前記プロトタイプラベルに一致せず、且つ、前記予測ラベルが前記教師ラベルに一致した頻度を示す第3共起頻度と、
前記学習モデルが予測する予測ラベルが前記プロトタイプラベルに一致せず、且つ、前記予測ラベルが前記教師ラベルに一致しなかった頻度を示す第4共起頻度と、
を更に含む、請求項2に記載される学習装置。
【請求項5】
前記学習率更新部は、前記第1共起頻度、前記第2共起頻度、前記第3共起頻度及び前記第4共起頻度の合計の頻度における前記第1共起頻度及び
前記第4共起頻度の合計の比率が増加するに従って前記学習率が低下するように、前記学習率を更新する、請求項4に記載される学習装置。
【請求項6】
前記学習率更新部は、
変更された前記共起頻度情報に基づいて、前記入力特徴量と関連付けられた前記教師ラベルを、前記入力特徴量の入力に応じて前記学習モデルが前記予測ラベルとして出力する確度を示す確信度を演算する確信度演算部と、
前記確信度から、前記学習モデルが学習するときに使用される学習率を演算する学習率演算部と、
を有する請求項1~5の何れか一項に記載される学習装置。
【請求項7】
前記学習率演算部は、前記確信度が上昇するに従って前記学習率が低下するように前記学習率を演算する、請求項6に記載される学習装置。
【請求項8】
前記プロトタイプ特徴量更新部は、前記複数のプロトタイプの全てに対応する前記学習率を変更する、請求項1~5の何れか一項に記載される学習装置。
【請求項9】
入力特徴量が入力された学習モデルによって出力された予測ラベルと前記入力特徴量に関連付けられた教師ラベルとが一致した頻度を少なくとも示す共起頻度情報、プロトタイプラベル、及び前記プロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部を有する学習装置に学習モデルを学習させる学習方法であって、
入力特徴量を示す入力特徴量データと、前記入力特徴量と関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得し、
前記学習モデルを使用して、前記予測ラベルを取得し、
少なくとも前記教師ラベルと前記予測ラベルとの間の一致度に基づいて、前記共起頻度情報を変更し、
前記プロトタイプ特徴量を更新するときに使用される学習率を、変更された前記共起頻度情報に基づいて更新し、
前記学習率に基づいて、前記プロトタイプ特徴量を更新する、
ことを含むことを特徴とする学習方法。
【請求項10】
入力特徴量が入力された学習モデルによって出力された予測ラベルと前記入力特徴量に関連付けられた教師ラベルとが一致した頻度を少なくとも示す共起頻度情報、プロトタイプラベル、及び前記プロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部を有する学習装置に学習モデルを学習させる制御プログラムであって、
入力特徴量を示す入力特徴量データと、前記入力特徴量と関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得し、
前記学習モデルを使用して、前記予測ラベルを取得し、
少なくとも前記教師ラベルと前記予測ラベルとの間の一致度に基づいて、前記共起頻度情報を変更し、
前記プロトタイプ特徴量を更新するときに使用される学習率を、変更された前記共起頻度情報に基づいて更新し、
前記学習率に基づいて、前記プロトタイプ特徴量を更新する、
処理を前記学習装置に実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、学習方法、及び学習プログラムに関する。
【背景技術】
【0002】
従来から、画像処理及び音声処理等において、学習ベクトル量子化(Learning Vector Quantization,LVQ)を使用して情報を符号化することが知られている。LVQは、入力ベクトルxをラベルL(x)に割り当てるプロトタイプベクトルを学習する教師あり学習モデルであり、例えば、特許文献1に示すように、入力ベクトルxに対するラベルを出力する分類器として使用可能なのでパターン認識等に活用される。
【0003】
LVQを使用した機械学習において、入力層、競合層及び出力層を有するLVQニューラルネットワークが用いられる。入力層は、入力ベクトルxを格納する。競合層は、各ラベルを代表する特徴ベクトルであるプロトタイプベクトルmiとラベルL(mi)を有し、入力層から得られた入力ベクトルxと最近傍にあるプロトタイプベクトルを出力する。出力層は、競合層から得られたプロトタイプベクトルのラベルLを線形に出力する。
【0004】
非特許文献1に示すように、LVQニューラルネットワークによる学習アルゴリズムでは、例えば、以下の(1)~(4)の手順で実行される。
(1)学習データの入力特徴量に相当する入力ベクトルxが入力層に入力される。
(2)競合層において、入力層から得られた入力ベクトルxと最近傍にあるプロトタイプベクトルのラベルLが「勝者」に決定される。
(3)入力ベクトルxのラベルL(x)と「勝者」に決定されたプロトタイプベクトルのラベルLとが同一であった場合は、プロトタイプベクトルを学習率に応じて入力ベクトルに近づける。入力ベクトルxのラベルL(x)と「勝者」に決定されたプロトタイプベクトルのラベルLとが異なる場合はプロトタイプベクトルを学習率に応じて入力ベクトルから遠ざける。
(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】
さらに、本発明に係る学習装置では、共起頻度情報は、予測ラベルが教師ラベルに一致した頻度を示す第1共起頻度と、予測ラベルが教師ラベルに一致しなかった頻度を示す第2共起頻度とを含むことが好ましい。
【0011】
学習率更新部は、第1共起頻度と第2共起頻度の合計の頻度における第1共起頻度の比率が増加するに従って学習率が低下するように、学習率を更新することが好ましい。
【0012】
さらに、本発明に係る学習装置では、第1共起頻度は、学習モデルが予測する予測ラベルがプロトタイプラベルに一致し、且つ、予測ラベルが教師ラベルに一致した頻度を示し、第2共起頻度は、学習モデルが予測する予測ラベルがプロトタイプラベルに一致し、且つ、予測ラベルが教師ラベルに一致しなかった頻度を示し、共起頻度情報は、学習モデルが予測する予測ラベルがプロトタイプラベルに一致せず、且つ、予測ラベルが教師ラベルに一致した頻度を示す第3共起頻度と、学習モデルが予測する予測ラベルがプロトタイプラベルに一致せず、且つ、予測ラベルが教師ラベルに一致しなかった頻度を示す第4共起頻度と、を更に含むことが好ましい。
【0013】
学習率更新部は、第1共起頻度、第2共起頻度、第3共起頻度及び第4共起頻度の合計の頻度における第1共起頻度及び第4共起頻度の合計の比率が増加するに従って学習率が低下するように、学習率を更新することが好ましい。
【0014】
さらに、本発明に係る学習装置では、学習率更新部は、変更された共起頻度情報に基づいて、入力特徴量と関連付けられた教師ラベルを、入力特徴量の入力に応じて学習モデルが予測ラベルとして出力する確度を示す確信度を演算する確信度演算部と、確信度から、学習モデルが学習するときに使用される学習率を演算する学習率演算部と、を有することが好ましい。
【0015】
さらに、本発明に係る学習装置では、学習率演算部は、確信度が上昇するに従って学習率が低下するように学習率を演算することが好ましい。
【0016】
さらに、本発明に係る学習装置では、プロトタイプ特徴量更新部は、複数のプロトタイプの全てに対応する前記学習率を変更することが好ましい。
【0017】
また、本発明に係る学習方法は、入力特徴量が入力された学習モデルによって出力された予測ラベルと入力特徴量に関連付けられた教師ラベルとが一致した頻度を少なくとも示す共起頻度情報、プロトタイプラベル、及びプロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部を有する学習装置に学習モデルを学習させる学習方法であって、入力特徴量を示す入力特徴量データと、入力特徴量と関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得し、学習モデルを使用して、予測ラベルを取得し、少なくとも教師ラベルと予測ラベルとの間の一致度に基づいて、共起頻度情報を変更し、プロトタイプ特徴量を更新するときに使用される学習率を、変更された共起頻度情報に基づいて更新し、学習率に基づいて、プロトタイプ特徴量を更新することを含む。
【0018】
本発明に係る制御プログラムは、入力特徴量が入力された学習モデルによって出力された予測ラベルと入力特徴量に関連付けられた教師ラベルとが一致した頻度を少なくとも示す共起頻度情報、プロトタイプラベル、及びプロトタイプラベルに対応するプロトタイプ特徴量をそれぞれが含む複数のプロトタイプを記憶する記憶部を有する学習装置に学習モデルを学習させる制御プログラムであって、入力特徴量を示す入力特徴量データと、入力特徴量と関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得し、学習モデルを使用して、予測ラベルを取得し、少なくとも教師ラベルと予測ラベルとの間の一致度に基づいて、共起頻度情報を変更し、プロトタイプ特徴量を更新するときに使用される学習率を、変更された共起頻度情報に基づいて更新し、学習率に基づいて、プロトタイプ特徴量を更新する処理を学習装置に実行させる。
【発明の効果】
【0019】
本発明に係る学習装置、学習方法、及び学習プログラムは、学習率を自律して更新できる。
【図面の簡単な説明】
【0020】
【
図1】実施形態に係る学習装置の概要を説明するための説明図である。
【
図2】実施形態に係る学習装置のブロック図である。
【
図4】
図2に示すプロトタイプテーブルを示す図である。
【
図6】
図2に示す学習装置による学習処理を示すフローチャートである。
【
図7】
図6に示すS103の処理のより詳細な処理を示すフローチャートである。
【
図8】
図6に示すS104の処理のより詳細な処理を示すフローチャートである。
【発明を実施するための形態】
【0021】
以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
【0022】
(実施形態に係る学習装置の概要)
図1は、実施形態に係る学習装置の概要を説明するための説明図である。実施形態に係る学習装置は、例えば、パーソナル・コンピュータ(Personal Computer、PC)である。実施形態に係る学習装置は、サーバ装置、タブレット端末又はタブレットPC等の電子計算機であってもよい。
【0023】
学習装置1は、入力特徴量を示す入力特徴量データと、入力特徴量と関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを使用して、記憶部に記憶されるプロトタイプ特徴量を更新することで学習モデルを学習させる学習処理を実行する。より詳細には、学習装置1は、取得した学習データから予測ラベルを取得し、教師ラベルと予測ラベルとの一致度に基づいて学習モデルの共起頻度情報を変更する。共起頻度情報は、入力特徴量が入力された学習モデルによって出力された予測ラベルと入力特徴量に関連付けられた教師ラベルとが一致した頻度を少なくとも示す。学習装置1は、変更した共起頻度情報から学習率を変更し、変更された学習率を用いて学習モデルのプロトタイプ特徴量を更新して学習モデルを学習させる。学習装置1が実行する学習処理は、オンライン機械学習として実行可能である。
【0024】
以下、学習装置1が、LVQニューラルネットワークを学習モデルとして使用する学習アルゴリズムを例に、学習モデルを更新する学習処理の概略について説明する。
【0025】
学習装置1の記憶部は、「りんご」、「みかん」、「ぶどう」及び「なし」のそれぞれに対応する4つのプロトタイプを記憶する。4つのプロトタイプのそれぞれは、プロトタイプラベルL(mi)と、プロトタイプラベルに対応するプロトタイプベクトルmi、及び共起頻度情報(ai、bi、ci及びdi)を含む。ここで、添え字「i」は、1~4の数字であり、添え字「1」は「りんご」に対応し、添え字「2」は「みかん」に対応し、添え字「3」は「ぶどう」に対応し、添え字「4」は「なし」に対応する。また、プロトタイプベクトルmiは、プロトタイプ特徴量の一例である。
【0026】
学習モデル120は、入力ベクトルxが入力されることに応じて予測ラベルL(mj)を出力する。
【0027】
共起頻度情報は、第1共起頻度ai、第2共起頻度bi、第3共起頻度ci及び第4共起頻度diを含む。第1共起頻度aiは、学習モデル120が予測する予測ラベルがプロトタイプラベルに一致し、且つ、予測ラベルが教師ラベルに一致した回数を示す。第2共起頻度biは、学習モデル120が予測する予測ラベルがプロトタイプラベルに一致し、且つ、予測ラベルが教師ラベルに一致しなかった回数を示す。第3共起頻度ciは、学習モデル120が予測する予測ラベルがプロトタイプラベルに一致せず、且つ、予測ラベルが教師ラベルに一致した回数を示す。第4共起頻度diは、学習モデ120ルが予測する予測ラベルがプロトタイプラベルに一致せず、且つ、予測ラベルが教師ラベルに一致しなかった回数を示す。
【0028】
「りんご」、「みかん」、「ぶどう」及び「なし」に対応する共起頻度情報は、教師ラベルL(x)と、プロトタイプラベルL(mi)と、予測ラベルL(mj)との間の一致度に基づいて、「1」が加算される。例えば、教師ラベルL(x)、プロトタイプラベルL(mi)及び予測ラベルL(mj)の全てが「りんご」であるとき、「りんご」に対応する第1共起頻度a1に「1」が加算される。また、教師ラベルL(x)及びプロトタイプラベルL(mi)が「りんご」であり、予測ラベルL(mj)が「みかん」であるとき、「りんご」に対応する第2共起頻度b1に「1」が加算される。また、教師ラベルL(x)及び予測ラベルL(mj)が「りんご」であり、プロトタイプラベルL(mi)が「みかん」であるとき、「みかん」に対応する第3共起頻度c2に「1」が加算される。また、教師ラベルL(x)及び予測ラベルL(mj)が「りんご」であり、プロトタイプラベルL(mi)が「みかん」であるとき、「みかん」に対応する第4共起頻度d2に「1」が加算される。
【0029】
まず、学習装置1は、入力ベクトルxを示す入力特徴量データと、入力ベクトルxと関連付けられた教師ラベルL(x)を示す教師ラベルデータとを含む学習データを取得する。ここでは、入力ベクトルxは「りんご」の画像に対応し、教師ラベルL(x)は「りんご」である。次いで、学習装置1は、学習モデル120を使用して、予測ラベルL(mj)を取得する。ここでは、予測ベクトルL(mj)は、教師ラベルL(x)と同一の「りんご」である。
【0030】
次いで、学習装置1は、教師ラベルL(x)、プロトタイプラベルL(mi)及び予測ラベルL(mj)との一致度に基づいて共起頻度情報を変更する。教師ラベルL(x)及び予測ベクトルL(mj)は「りんご」であるので、「りんご」に係る第1共起頻度a1は「1」が加算され、第2共起頻度b1~第4共起頻度d1は同一値を維持する。
【0031】
プロトタイプベクトルが「りんご」ではない「みかん」、「ぶどう」及び「なし」に係る共起頻度では、第4共起頻度d2、d3及びd4は「1」が加算される。一方、「みかん」、「ぶどう」及び「なし」に係る共起頻度では、第1共起頻度a2、a3及びa4、第2共起頻度b2、b3及びb4並びに第3共起頻度c2、c3及びc4は同一値を維持する。
【0032】
次いで、学習装置1は、変更された共起頻度に基づいて、確信度Riを、「りんご」、「みかん」、「ぶどう」及び「なし」のそれぞれについて式(1)を使用して演算する。確信度Riは、入力特徴量と関連付けられた教師ラベルL(x)を学習モデル120が入力特徴量の入力に応じて予測ラベルL(mj)として出力する確度を示す。式(1)は、第1共起頻度ai及び第2共起頻度biを第3共起頻度ci及び第4共起頻度diよりも重み付けして確信度Riを演算することを示す。。
【0033】
次いで、学習装置1は、学習モデルが学習するときに使用される学習率αiを、「りんご」、「みかん」、「ぶどう」及び「なし」のそれぞれについて式(2)を使用して確信度Riから演算する。式(2)は、確信度Riが上昇するに従って学習率αiが低下することを示すので、学習率αiは、学習が進展して確信度Riが上昇するに伴って低下する。
【0034】
次いで、学習装置1は、演算された学習率に基づいて、「りんご」、「みかん」、「ぶどう」及び「なし」のそれぞれについて式(3)を使用してプロトタイプベクトルmi、を更新する。ここでは、予測ラベルL(mj)に一致する「りんご」のプロトタイプベクトルm1は更新され、予測ラベルL(mj)に一致しない「みかん」、「ぶどう」及び「なし」のプロトタイプベクトルm2~m4は更新されない。
【0035】
学習装置1は、確信度Riを使用して自律的に学習率αiを更新するので、学習精度を向上させるために適切な学習率を設定するために学習処理を繰り返す必要がなく、学習効率が向上する。
【0036】
(実施形態に係る学習装置の構成及び機能)
図2は、学習装置1のブロック図である。
【0037】
学習装置1は、通信部11と、記憶部12と、入力部13と、出力部14と、処理部20とを有する。学習装置1は、入力特徴量を示す入力特徴量データと、入力特徴量と関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを使用して、記憶部に記憶されるプロトタイプ特徴量を更新することで学習モデルを学習させる学習処理を実行する。通信部11、記憶部12、入力部13、出力部14及び処理部20は、バス15を介して通信可能に接続される。
【0038】
通信部11は、Bluetooth(登録商標)の通信方式に従った近距離無線通信を行い、外部装置との間で端末間無線通信を確立させて、直接無線通信を行う。近距離無線通信の通信方式は、Bluetooth(登録商標)に限定されず、例えば、Bluetooth Low Energy等でもよい。また、通信部11は、近距離無線通信を行うためのものに限定されず、例えば、赤外線通信等による各種信号を受信するものでもよい。この場合、通信部11は、外部装置から受信した所定の電波を特定の信号に変調してデータを生成してもよい。また、通信部11は、USB(Universal Serial Bus)等と接続するためのインタフェース、有線又は無線のLAN(Local Area Network)の通信インターフェース等を含む、通信インターフェースでもよい。
【0039】
記憶部12は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)等の半導体メモリ装置、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。記憶部12は、処理部20での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、制御プログラム及びデータ等を記憶する。記憶部12に記憶されるドライバプログラムは、通信部11を制御する通信デバイスドライバプログラム、入力部13を制御する入力デバイスドライバプログラム、及び、出力部14を制御する出力デバイスドライバプログラム等である。記憶部12に記憶される制御プログラムは、後述する各種処理を実行するためのアプリケーションプログラム等である。記憶部12に記憶される各種プログラムは、例えばCD-ROM、DVD-ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部12にインストールされてもよい。
【0040】
記憶部12は、例えば学習モデル120、複数のプロトタイプを示すプロトタイプテーブル121、及び学習率テーブル122を記憶する。また、記憶部12は、所定の処理に係るデータを一時的に記憶してもよい。
【0041】
【0042】
学習モデル120は、入力層、競合層及び出力層を有し、入力特徴量の一例である入力ベクトルxが入力されることに応じて予測ラベルを出力する。入力層、競合層及び出力層は、少なくとも1つの人工ニューロン(以下、単に「ニューロン」と称する)が設定される。
【0043】
入力層は、学習データに含まれる入力特徴量データに対応する入力ベクトルxが入力される。入力特徴量データは、所定のデータ配列にしたがった複数のデータを含むデータ群である。入力特徴量データが総ピクセル数nの画像データであるとき、入力ベクトルx{x1,x2,・・・xn}は、当該画像データの各ピクセルの色の値等を示すx1,x2,・・・xnである。入力ベクトルxは、どのようなベクトルでもよい。例えば、入力特徴量データが花に関する4種類の属性パラメータ値である場合、入力ベクトルx{x1,x2,x3,x4}は、花びらの長さの値x1、花びらの幅の値x2、萼片の長さの値x3、及び萼片の幅の値x4である。
【0044】
競合層は、プロトタイプベクトルに対応するニューロンを含む。競合層に含まれるニューロンの数は、予め設定された複数のラベルの数(k)以上である。例えば、複数のラベルのうちのi番目のラベルのプロトタイプベクトルは、mi{μ1,μ2,・・・μn}である。競合層のk個のニューロンのそれぞれにおいて、入力層から入力された入力ベクトルx{x1,x2,・・・xn}とプロトタイプベクトルmi{μ1,μ2,・・・μn}との間の距離が算出される。なお、プロトタイプベクトルmiの次元数は、入力ベクトルxの次元数と同一であり、プロトタイプベクトルmiにおけるμ1,μ2,・・・μnの初期値は、どのような値でもよい。
【0045】
出力層は、競合層の各ニューロンから出力された距離の中で最も短い距離に対応するプロトタイプラベルを、予測ラベルL(mj)として出力する。
【0046】
図4は、プロトタイプテーブル121を示す図である。
【0047】
プロトタイプテーブル121は、プロトタイプラベルL(mi)、プロトタイプベクトルmi、及び共起頻度情報(ai、bi、ci及びdi)のそれぞれをプロトタイプ毎に識別子に関連付けて記憶する。識別子「1」に関連付けられるプロトタイプは「りんご」に対応し、識別子「2」に関連付けられるプロトタイプは「みかん」に対応する。また、識別子「3」に関連付けられるプロトタイプは「ぶどう」に対応し、識別子「4」に関連付けられるプロトタイプは「なし」に対応する。なお、プロトタイプテーブル121は、4つのプロトタイプを記憶するが、プロトタイプテーブルに記憶されるプロトタイプの数は、複数であればよい。また、プロトタイプが記憶部12に記憶される態様は、プロトタイプテーブル121に限定されない。
【0048】
【0049】
学習率テーブル122は、学習率αiをプロトタイプ毎に、学習率テーブル122の識別子と同一の識別子に関連付けて記憶する。識別子「1」に関連付けられる学習率α1は「りんご」に対応する学習率であり、識別子「2」に関連付けられる学習率α2は「みかん」に対応する学習率である。また、識別子「3」に関連付けられる学習率α3は「ぶどう」に対応する学習率であり、識別子「4」に関連付けられる学習率α4は「なし」に対応する学習率である。なお、学習率テーブル122は、4つの学習率αiを記憶するが、学習率テーブルに記憶される学習率αiの数は、プロトタイプテーブルに記憶されるプロトタイプの数と同一であればよい。
【0050】
入力部13は、例えば、キーボード、マウス、又は、タッチパネル等のポインティングデバイスである。ユーザは、入力部13を用いて、文字、数字及び記号、若しくは、出力部14の表示画面上の位置等を入力することができる。入力部13は、ユーザにより操作されると、その操作に対応する信号を発生する。そして、発生した信号は、ユーザの指示として処理部20に供給される。
【0051】
出力部14は、液晶ディスプレイである。なお、出力部14は、有機EL(Electro-Luminescence)ディスプレイ等でもよい。出力部14は、処理部20から供給された映像データに応じた映像や、画像データに応じた画像等を表示する。
【0052】
処理部20は、一又は複数個のプロセッサ及びその周辺回路を備える。処理部20は、学習装置1の全体的な動作を統括的に制御するものであり、例えば、CPU(Central Processing Unit)である。処理部20は、記憶部12に記憶されているプログラム及びユーザによる入力部13の操作に応じて入力された各種指示等に基づいて、各種情報処理を適切な手順で実行し、且つ、通信部11及び出力部14の動作を制御する。処理部20は、記憶部12に記憶されているオペレーティングシステムプログラム、ドライバプログラム及び制御プログラムに基づいて各種情報処理を実行する。また、処理部20は、複数のプログラムを並列に実行することができる。
【0053】
処理部20は、学習データ取得部21と、予測ラベル取得部22と、共起頻度変更部23と、学習率更新部24と、プロトタイプ特徴量更新部25とを有する。学習率更新部24は、確信度演算部26と、学習率演算部27とを有する。これらの各部は、処理部20が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとして学習装置1に実装されてもよい。
【0054】
(学習装置1による学習処理)
図6は、学習装置1による学習処理を示すフローチャートである。
図6に示す学習処理は、予め記憶部12に記憶されている制御プログラムに基づいて、主に処理部20により、学習装置1の各要素と協働して実行される。
【0055】
まず、学習データ取得部21は、入力特徴量を示す入力特徴量データと、入力特徴量と関連付けられた教師ラベルを示す教師ラベルデータとを含む学習データを取得する(S101)。具体的には、学習データ取得部21は、入力ベクトルxを示す入力特徴量データと、入力ベクトルxと関連付けられた教師ラベルL(x)を示す教師ラベルデータとを含む学習データを取得する。
【0056】
次いで、予測ラベル取得部22は、学習モデル120を使用して、予測ラベルを取得する(S102)。予測ラベル取得部22は、学習モデル120の入力層に入力ベクトルxを入力して、学習モデル120から出力されるラベルを予測ラベルL(mj)として取得する。
【0057】
次いで、共起頻度変更部23は、教師ラベルL(x)、予測ラベルL(mj)及びプロトタイプラベルL(mi)の間の一致度に基づいて、共起頻度情報を変更する(S103)。共起頻度変更部23は、教師ラベルL(x)、予測ラベルL(mj)及びプロトタイプラベルL(mi)が一致するか否かを示す情報を共起頻度情報に反映するように共起頻度情報を変更する。
【0058】
図7は、
図6に示すS103の処理のより詳細な処理を示すフローチャートである。
【0059】
まず、共起頻度変更部23は、識別子iに関連付けられたプロトタイプラベルL(mi)をプロトタイプテーブル121から取得する(S201)。次いで、共起頻度変更部23は、S201で取得したプロトタイプラベルL(mi)とS102の処理で取得された予測ラベルL(mj)とが一致するか否かを判定する(S202)。
【0060】
共起頻度変更部23は、プロトタイプラベルL(mi)と予測ラベルL(mj)とが一致すると判定する(S202-YES)と、予測ラベルL(mj)とS101で取得した教師ラベルL(x)とが一致するか否かを判定する(S203)。
【0061】
共起頻度変更部23は、予測ラベルL(mj)と教師ラベルL(x)とが一致すると判定する(S203-YES)と第1共起頻度aiに数値「1」を加算する(S204)。共起頻度変更部23は、予測ラベルL(mj)と教師ラベルL(x)とが一致しないと判定する(S203-NO)と第2共起頻度biに数値「1」を加算する(S205)。
【0062】
共起頻度変更部23は、プロトタイプラベルL(mi)と予測ラベルL(mj)とが一致しないと判定する(S202-NO)と、予測ラベルL(mj)とS101で取得した教師ラベルL(x)とが一致するか否かを判定する(S206)。
【0063】
共起頻度変更部23は、予測ラベルL(mj)と教師ラベルL(x)とが一致すると判定する(S206-YES)と第3共起頻度ciに数値「1」を加算する(S207)。共起頻度変更部23は、予測ラベルL(mj)と教師ラベルL(x)とが一致しないと判定する(S206-NO)と第4共起頻度diに数値「1」を加算する(S208)。
【0064】
S103の処理が終了すると、学習率更新部24は、S103の処理で変更された共起頻度に基づいて、プロトタイプテーブル121に記憶されるプロトタイプ特徴量を更新するときに使用される学習率を更新する(S104)。
【0065】
図8は、
図6に示すS104の処理のより詳細な処理を示すフローチャートである。
【0066】
まず、確信度演算部26は、S103の変更された共起頻度情報に基づいて、確信度Riを演算する(S301)。確信度演算部26は、2つの事象の因果関係を示す式である因果推論モデルを使用して確信度Riを演算する。具体的には、確信度演算部26は、以下の式(1)を使用して、プロトタイプテーブル121に記憶される共起頻度毎に確信度Riを演算する。
【0067】
【0068】
次いで、学習率演算部27は、S301の処理で演算された確信度Riから学習率αiを演算し(S302)、演算した学習率αiを学習率テーブル122に記憶する。具体的には、学習率演算部27は、以下の式(2)を使用して、プロトタイプテーブル121に記憶される共起頻度情報毎に学習率αiを演算する。
【0069】
【0070】
S104の処理が終了すると、学習率更新部24は、学習率テーブル122において識別子に関連付けられて記憶された全ての学習率αiを更新したか否かを判定する(S105)。学習率更新部24によって学習率テーブル122において識別子に関連付けられて記憶された全ての学習率αiを更新したと判定される(S105-YES)まで、S103~S105の処理が繰り返される。S103~S105の処理が繰り返されることで、「りんご」、「みかん」、「ぶどう」及び「なし」のそれぞれに対応する学習率α1~α4が順次更新される。
【0071】
学習率テーブル122の全ての学習率αiを更新したと判定される(S105-YES)と、プロトタイプ特徴量更新部25は、S104の処理で更新された学習率に基づいて、プロトタイプテーブル121に記憶されたプロトタイプ特徴量を更新する(S106)。具体的には、プロトタイプ特徴量更新部25は、プロトタイプテーブル121に記憶されるプロトタイプベクトルmiを、S104の処理で更新された学習率αiに基づいて、式(3)を使用して更新する。
【0072】
【0073】
プロトタイプ特徴量更新部25がプロトタイプ特徴量を更新することで、学習データを使用した学習モデル120の学習処理は終了する。
【0074】
(実施形態に係る学習装置の作用効果)
学習装置1は、確信度Riを使用して自律的に学習率αiを更新するので、学習精度を向上させるために適切な学習率を設定するために学習処理を繰り返す必要がなく、学習効率が向上する。
【0075】
また、学習装置1では、学習率αiは、学習が進展して確信度Riが上昇するに伴って低下するので、確信度Riが略100%になると学習率αiは略0%になり、学習装置1は、学習を停止させることなく、確信度Riが高い予測ラベルL(mj)を出力可能になる。
【0076】
また、学習装置1では、1つの学習データに基づいて、全てのプロトタイプに対応する学習率αiが更新されるので、学習装置1は、より少ない学習データで確信度Riが高い予測ラベルL(mj)を出力可能になる。
【0077】
(実施形態に係る学習装置の変形例)
学習装置1は、LVQニューラルネットワークを学習モデルとして使用するが、実施形態に係る学習装置は、学習率を使用してオンライン機械学習が可能な学習モデルを学習モデルとして使用してもよい。また、学習装置1は、学習モデル120を記憶部12に記憶するが、実施形態に係る学習装置は、使用する学習モデルを記憶部に記憶せずにインターネット及びLAN等の通信網を介して通信可能に接続されたサーバに記憶された学習モデルを使用してもよい。
【0078】
また、学習装置1は、式(1)を使用して確信度Riを演算するが、実施形態に係る学習装置は、少なくとも教師ラベルL(x)と予測ラベルL(mj)との間の一致度に基づいて、前記共起頻度を変更すればよい。
【0079】
例えば、確信度Riは、以下の式(4)を使用して演算されてもよい。
【0080】
【0081】
式(4)を使用して確信度Riを演算するとき、第1共起頻度aiは予測ラベルが前記教師ラベルに一致した回数を示し、第2共起頻度biは予測ラベルが前記教師ラベルに一致した回数を示してもよい。
【0082】
また、確信度Riは、以下の式(5)~(7)の何れかを使用して演算されてもよい。
【0083】
【0084】
【0085】
【0086】
また、学習装置1は、式(2)を使用して学習率αiを演算するが、実施形態に係る学習装置は、確信度Riが上昇するに従って学習率αiが低下するように前記学習率を演算すればよい。例えば、学習装置1は、第1共起頻度と第2共起頻度の合計の頻度における第1共起頻度の比率が増加するに従って学習率が低下するように、学習率を更新してもよい。また、第1共起頻度、第2共起頻度及び第3共起頻度の合計の頻度における第1共起頻度の比率が増加するに従って学習率が低下するように、学習率を更新してもよい。さらに、第1共起頻度、第2共起頻度、第3共起頻度及び第4共起頻度の合計の頻度における第1共起頻度及び前記第4共起頻度の合計の比率が増加するに従って学習率が低下するように、学習率を更新してもよい。
【0087】
また、学習装置1は、式(1)及び(2)を使用して共起頻度情報から学習率αiを演算するが、実施形態に係る学習装置は、共起頻度情報から確信度Riを演算することなく学習率αiを直接演算してもよい。
【0088】
なお、学習装置1では、第1共起頻度ai、第2共起頻度bi、第3共起頻度ci及び第4共起頻度diは回数として規定されたが、実施形態に係る学習装置では、それぞれの事象が発生する頻度を示すパラメータと規定されればよい。
【符号の説明】
【0089】
1 学習装置
21 学習データ取得部
22 予測ラベル取得部
23 共起頻度変更部
24 学習率更新部
25 プロトタイプ特徴量更新部
26 確信度演算部
27 学習率演算部
120 学習モデル