(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-20
(45)【発行日】2022-09-29
(54)【発明の名称】情報処理装置、情報処理方法およびプログラム
(51)【国際特許分類】
G06N 3/08 20060101AFI20220921BHJP
【FI】
G06N3/08
(21)【出願番号】P 2021005087
(22)【出願日】2021-01-15
【審査請求日】2021-01-15
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(国立研究開発法人新エネルギー・産業技術総合開発機構「高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発/革新的AIエッジコンピューティング技術の開発/ソフトテンソルプロセッサによる超広範囲センシングAIエッジ技術の研究開発」委託研究、産業技術力強化法第17条の適用を受ける特許出願)
(73)【特許権者】
【識別番号】000000295
【氏名又は名称】沖電気工業株式会社
(74)【代理人】
【識別番号】100140958
【氏名又は名称】伊藤 学
(74)【代理人】
【識別番号】100137888
【氏名又は名称】大山 夏子
(74)【代理人】
【識別番号】100190942
【氏名又は名称】風間 竜司
(72)【発明者】
【氏名】川村 聡志
(72)【発明者】
【氏名】加賀谷 素子
(72)【発明者】
【氏名】須崎 昌彦
【審査官】多賀 実
(56)【参考文献】
【文献】国際公開第2019/150813(WO,A1)
【文献】特開2011-203991(JP,A)
【文献】特表2019-527440(JP,A)
【文献】国際公開第2020/261183(WO,A1)
【文献】国際公開第2020/054551(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00- 3/12
G06N 7/08-99/00
(57)【特許請求の範囲】
【請求項1】
第1のラベル無しデータを取得する入力部と、
前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、
前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の推定ラベルを出力する識別部と、
前記第1の推定ラベルと一致する正解ラベルが対応付けられたラベル有りデータの特徴量と、前記第1のラベル無しデータの特徴量との距離に基づいて、前記第1の推定ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、
前記誤判定データが作業者に提示されるように制御する提示制御部と、
前記第1の推定ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、
を備える、情報処理装置。
【請求項2】
前記誤判定データ推定部は、前記第1の推定ラベルと一致する正解ラベルが対応付けられた複数のラベル有りデータの特徴量の平均値と、前記第1のラベル無しデータの特徴量との距離に基づいて、前記第1の信頼度を算出する、
請求項
1に記載の情報処理装置。
【請求項3】
第1のラベル無しデータを取得する入力部と、
前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、
前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の推定ラベルを出力する識別部と、
複数のラベル無しデータの度数を推定ラベルごとに算出し、前記第1の推定ラベルと一致する推定ラベルに対応する度数に基づいて、
前記第1の推定ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、
前記誤判定データが作業者に提示されるように制御する提示制御部と、
前記第1の推定ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、
を備える、情報処理装置。
【請求項4】
前記所定の条件は、前記第1の信頼度が、複数のラベル無しデータそれぞれの推定ラベルの信頼度の低いほうから所定の件数以内に入るという条件である、
請求項1~
3のいずれか一項に記載の情報処理装置。
【請求項5】
第1のラベル無しデータを取得する入力部と、
前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、
前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の表現ベクトルを出力する表現ベクトル抽出部と、
複数のラベル無しデータそれぞれの表現ベクトルに対するグループ化に基づいて、前記第1の表現ベクトルに第1の割当ラベルを付与し、前記第1の割当ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、
前記誤判定データが作業者に提示されるように制御する提示制御部と、
前記第1の割当ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、
を備える、情報処理装置。
【請求項6】
前記誤判定データ推定部は、前記第1の割当ラベルと一致する第2の割当ラベルが割り当てられた第2の表現ベクトルと、前記第1の表現ベクトルとの距離に基づいて、前記第1の信頼度を算出する、
請求項
5に記載の情報処理装置。
【請求項7】
前記誤判定データ推定部は、前記第1の割当ラベルと一致する第2の割当ラベルが割り当てられた複数の第2の表現ベクトルの平均値と、前記第1の表現ベクトルとの距離に基づいて、前記第1の信頼度を算出する、
請求項
6に記載の情報処理装置。
【請求項8】
前記誤判定データ推定部は、前記複数のラベル無しデータの度数を割当ラベルごとに算出し、前記第1の割当ラベルと一致する割当ラベルに対応する度数に基づいて、前記第1の信頼度を算出する、
請求項
5に記載の情報処理装置。
【請求項9】
前記所定の条件は、前記第1の信頼度が、前記複数のラベル無しデータそれぞれの割当ラベルの信頼度の低いほうから所定の件数以内に入るという条件である、
請求項
5~
8のいずれか一項に記載の情報処理装置。
【請求項10】
前記所定の件数は、前記作業者によって指定された値である、
請求項
4または
9に記載の情報処理装置。
【請求項11】
前記所定の件数は、あらかじめ決められた値である、
請求項
4または
9に記載の情報処理装置。
【請求項12】
前記所定の条件は、前記第1の信頼度が、閾値よりも低いという条件である、
請求項1
~11のいずれか一項に記載の情報処理装置。
【請求項13】
前記情報処理装置は、
前記誤判定データと前記修正データとに基づいて評価結果を得るラベル有りデータ評価部と、
前記評価結果に基づいて、前記第1のニューラルネットワークの重みパラメータの更新を行う更新部と、
を備える、請求項1~
12のいずれか一項に記載の情報処理装置。
【請求項14】
第1のラベル無しデータを取得する入力部と、
前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、
前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の推定ラベルを出力する識別部と、
前記第1の推定ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、
前記誤判定データが作業者に提示されるように制御する提示制御部と、
前記第1の推定ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、
前記誤判定データと前記修正データとに基づいて評価結果を得るラベル有りデータ評価部と、
前記評価結果に基づいて、前記第1のニューラルネットワークの重みパラメータの更新を行う更新部と、
を備える、情報処理装置。
【請求項15】
第1のラベル無しデータを取得することと、
前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出することと、
前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の推定ラベルを出力することと、
前記第1の推定ラベルと一致する正解ラベルが対応付けられたラベル有りデータの特徴量と、前記第1のラベル無しデータの特徴量との距離に基づいて、前記第1の推定ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定することと、
前記誤判定データが作業者に提示されるように制御することと、
前記第1の推定ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録することと、
を備える、情報処理方法。
【請求項16】
第1のラベル無しデータを取得することと、
前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出することと、
前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の推定ラベルを出力することと、
複数のラベル無しデータの度数を推定ラベルごとに算出し、前記第1の推定ラベルと一致する推定ラベルに対応する度数に基づいて、前記第1の推定ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定することと、
前記誤判定データが作業者に提示されるように制御することと、
前記第1の推定ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録することと、
を備える、情報処理方法。
【請求項17】
第1のラベル無しデータを取得することと、
前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出することと、
前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の表現ベクトルを出力することと、
複数のラベル無しデータそれぞれの表現ベクトルに対するグループ化に基づいて、前記第1の表現ベクトルに第1の割当ラベルを付与し、前記第1の割当ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定することと、
前記誤判定データが作業者に提示されるように制御することと、
前記第1の割当ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録することと、
を備える、情報処理方法。
【請求項18】
コンピュータを、
第1のラベル無しデータを取得する入力部と、
前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、
前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の推定ラベルを出力する識別部と、
前記第1の推定ラベルと一致する正解ラベルが対応付けられたラベル有りデータの特徴量と、前記第1のラベル無しデータの特徴量との距離に基づいて、前記第1の推定ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、
前記誤判定データが作業者に提示されるように制御する提示制御部と、
前記第1の推定ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、
を備える情報処理装置として機能させるプログラム。
【請求項19】
コンピュータを、
第1のラベル無しデータを取得する入力部と、
前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、
前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の推定ラベルを出力する識別部と、
複数のラベル無しデータの度数を推定ラベルごとに算出し、前記第1の推定ラベルと一致する推定ラベルに対応する度数に基づいて、前記第1の推定ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、
前記誤判定データが作業者に提示されるように制御する提示制御部と、
前記第1の推定ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、
を備える情報処理装置として機能させるプログラム。
【請求項20】
コンピュータを、
第1のラベル無しデータを取得する入力部と、
前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、
前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の表現ベクトルを出力する表現ベクトル抽出部と、
複数のラベル無しデータそれぞれの表現ベクトルに対するグループ化に基づいて、前記第1の表現ベクトルに第1の割当ラベルを付与し、前記第1の割当ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、
前記誤判定データが作業者に提示されるように制御する提示制御部と、
前記第1の割当ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、
を備える情報処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
ニューラルネットワーク(以下、「NN」とも表記する。)は、画像認識などにおいて高い性能を有する。NNの学習精度を高めるためには、膨大な入力データとそれに対応した教師データが必要となることが知られている。しかし、教師データの正解ラベルは人手によって付与される場合が多い。そのため、膨大な入力データに対して正解ラベルを付与する負担が作業者に掛かってしまう。
【0003】
近年、この課題を解決するため、収集した入力データのうち少量のデータに正解ラベルを付与し、残りのデータには正解ラベルを付与せずにNNの学習を行う半教師あり学習の研究、および、すべての入力データに正解ラベルを付与せずにNNの学習を行う教師無し学習の研究も盛んになっている。半教師あり学習および教師無し学習などによれば、作業者の負担が大きく削減され得る。
【0004】
非特許文献1に記載の手法は、特に画像認識における半教師あり学習の手法の一つであり、正解ラベルが付されていない画像に対して2種類のデータ拡張を施し、2種類のデータ拡張によって得られた2種類の画像同士を比較することに基づいて学習を行う手法である。これによって、学習精度を高めることが可能となる。
【0005】
非特許文献2に記載の手法は、特に画像認識における教師無し学習の手法の一つであり、複数の画像それぞれに対して2種類のデータ拡張を行い、2種類のデータ拡張によって得られた画像から特徴量を抽出し、同一画像間の特徴量を比較すること、および、異なる画像間の特徴量を比較することに基づいて、学習を行う手法である。これによって、学習精度を高めることが可能となる。
【0006】
非特許文献3に記載の手法は、正解ラベルが付与された入力データ(ラベル付きデータ)のみを用いて学習を行い、NNを用いてラベル無しデータに擬似的にラベルを付与する手法である。非特許文献3に記載の手法においては、擬似的に付与されたラベルの信頼度が低い場合は、人手によるラベルの修正が行われる。
【先行技術文献】
【非特許文献】
【0007】
【文献】Kihyuk Sohn、他8名、"FixMatch:Simplifying Semi-Supervised Learning with Consistencyand Confidence"、[online]、[令和2年12月24日検索]、インターネット<https://arxiv.org/abs/2001.07685>
【文献】Ting Chen、他6名、"BigSelf-Supervised Models are Strong Semi-Supervised Learners"、[online]、[令和2年12月24日検索]、インターネット<https://arxiv.org/abs/2006.10029>
【文献】Gokhan Tur、他2名、"Combiningactive and semi-supervised learning for spoken language understanding"、[online]、[令和2年12月24日検索]、インターネット<https://www.sciencedirect.com/science/article/abs/pii/S0167639304000962>
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、非特許文献1に記載されたような半教師あり学習においては、学習精度がラベルの付与に使う入力データに影響されやすい。また、非特許文献2に記載されたような教師なし学習においては、学習精度が学習に使う入力データに影響されやすい。また、ラベル付けが行われる入力データを人手によって決める場合には、ラベル付け作業とは別に、全部の入力データからラベル付けが行われる入力データの選定作業を行う必要がある。
【0009】
非特許文献3に記載された手法においては、ラベル付きデータのみを用いて学習が行われるため、ラベル付きデータの数が少ない場合には、十分に学習精度が上がらない可能性が高い。そのため、非特許文献3に記載された手法においては、ラベルの修正が必要なデータの数が多くなるため、ラベルの修正に掛かる作業者の負担が大きくなる可能性がある。
【0010】
そこで、学習精度の低下を抑制しつつ、作業者によるラベル付け作業の効率化を可能とする技術が提供されることが望まれる。
【課題を解決するための手段】
【0011】
上記問題を解決するために、本発明のある観点によれば、第1のラベル無しデータを取得する入力部と、前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の推定ラベルを出力する識別部と、前記第1の推定ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、前記誤判定データが作業者に提示されるように制御する提示制御部と、前記第1の推定ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、を備える、情報処理装置が提供される。
【0012】
前記誤判定データ推定部は、前記第1の推定ラベルと一致する正解ラベルが対応付けられたラベル有りデータの特徴量と、前記第1のラベル無しデータの特徴量との距離に基づいて、前記第1の信頼度を算出してもよい。
【0013】
前記誤判定データ推定部は、前記第1の推定ラベルと一致する正解ラベルが対応付けられた複数のラベル有りデータの特徴量の平均値と、前記第1のラベル無しデータの特徴量との距離に基づいて、前記第1の信頼度を算出してもよい。
【0014】
前記誤判定データ推定部は、複数のラベル無しデータの度数を推定ラベルごとに算出し、前記第1の推定ラベルと一致する推定ラベルに対応する度数に基づいて、前記第1の信頼度を算出してもよい。
【0015】
前記所定の条件は、前記第1の信頼度が、複数のラベル無しデータそれぞれの推定ラベルの信頼度の低いほうから所定の件数以内に入るという条件であってもよい。
【0016】
また、本発明の別の観点によれば、第1のラベル無しデータを取得する入力部と、前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の表現ベクトルを出力する表現ベクトル抽出部と、複数のラベル無しデータそれぞれの表現ベクトルに対するグループ化に基づいて、前記第1の表現ベクトルに第1の割当ラベルを付与し、前記第1の割当ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、前記誤判定データが作業者に提示されるように制御する提示制御部と、前記第1の割当ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、を備える、情報処理装置が提供される。
【0017】
前記誤判定データ推定部は、前記第1の割当ラベルと一致する第2の割当ラベルが割り当てられた第2の表現ベクトルと、前記第1の表現ベクトルとの距離に基づいて、前記第1の信頼度を算出してもよい。
【0018】
前記誤判定データ推定部は、前記第1の割当ラベルと一致する第2の割当ラベルが割り当てられた複数の第2の表現ベクトルの平均値と、前記第1の表現ベクトルとの距離に基づいて、前記第1の信頼度を算出してもよい。
【0019】
前記誤判定データ推定部は、前記複数のラベル無しデータの度数を割当ラベルごとに算出し、前記第1の割当ラベルと一致する割当ラベルに対応する度数に基づいて、前記第1の信頼度を算出してもよい。
【0020】
前記所定の条件は、前記第1の信頼度が、前記複数のラベル無しデータそれぞれの割当ラベルの信頼度の低いほうから所定の件数以内に入るという条件であってもよい。
【0021】
前記所定の件数は、前記作業者によって指定された値であってもよい。
【0022】
前記所定の件数は、あらかじめ決められた値であってもよい。
【0023】
前記所定の条件は、前記第1の信頼度が、閾値よりも低いという条件であってもよい。
【0024】
前記情報処理装置は、前記誤判定データと前記修正データとに基づいて評価結果を得るラベル有りデータ評価部と、前記評価結果に基づいて、前記第1のニューラルネットワークの重みパラメータの更新を行う更新部と、を備えてもよい。
【0025】
また、本発明の別の観点によれば、第1のラベル無しデータを取得することと、前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出することと、前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の推定ラベルを出力することと、前記第1の推定ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定することと、前記誤判定データが作業者に提示されるように制御することと、前記第1の推定ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録することと、を備える、情報処理方法が提供される。
【0026】
また、本発明の別の観点によれば、第1のラベル無しデータを取得することと、前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出することと、前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の表現ベクトルを出力することと、複数のラベル無しデータそれぞれの表現ベクトルに対するグループ化に基づいて、前記第1の表現ベクトルに第1の割当ラベルを付与し、前記第1の割当ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定することと、前記誤判定データが作業者に提示されるように制御することと、前記第1の割当ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録することと、を備える、情報処理方法が提供される。
【0027】
また、本発明の別の観点によれば、コンピュータを、第1のラベル無しデータを取得する入力部と、前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の推定ラベルを出力する識別部と、前記第1の推定ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、前記誤判定データが作業者に提示されるように制御する提示制御部と、前記第1の推定ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、を備える情報処理装置として機能させるプログラムが提供される。
【0028】
また、本発明の別の観点によれば、コンピュータを、第1のラベル無しデータを取得する入力部と、前記第1のラベル無しデータと、第1のニューラルネットワークとに基づいて、前記第1のラベル無しデータの特徴量を抽出する特徴抽出部と、前記第1のラベル無しデータの特徴量に基づいて、前記第1のラベル無しデータの第1の表現ベクトルを出力する表現ベクトル抽出部と、複数のラベル無しデータそれぞれの表現ベクトルに対するグループ化に基づいて、前記第1の表現ベクトルに第1の割当ラベルを付与し、前記第1の割当ラベルの第1の信頼度を算出し、前記第1の信頼度が所定の条件を満たす場合に、前記第1のラベル無しデータを誤判定データとして推定する誤判定データ推定部と、前記誤判定データが作業者に提示されるように制御する提示制御部と、前記第1の割当ラベルの修正データが前記作業者によって入力されたことに基づいて、前記修正データを前記誤判定データに対応付けて記録する記録制御部と、を備える情報処理装置として機能させるプログラムが提供される。
【発明の効果】
【0029】
以上説明したように本発明によれば、学習精度の低下を抑制しつつ、作業者によるラベル付け作業の効率化を可能とする技術が提供される。
【図面の簡単な説明】
【0030】
【
図1】本発明の第1の実施形態に係る学習装置の機能構成例を示す図である。
【
図2】同実施形態に係る学習装置によって実行される学習段階の動作例を示すフローチャートである。
【
図3】誤判定データの推定例について説明するための図である。
【
図4】作業者に推定ラベルを修正させるためのラベル修正画面の例を示す図である。
【
図5】同実施形態に係る学習装置によって実行される修正段階の動作例を示すフローチャートである。
【
図6】本発明の第2の実施形態に係る学習装置の機能構成例を示す図である。
【
図7】同実施形態に係る学習装置によって実行される学習段階の動作例を示すフローチャートである。
【
図8】誤判定データの推定例について説明するための図である。
【
図9】作業者に割当ラベルを修正させるためのラベル修正画面の例を示す図である。
【
図10】同実施形態に係る学習装置によって実行される修正段階の動作例を示すフローチャートである。
【
図11】学習装置の例としての情報処理装置のハードウェア構成を示す図である。
【発明を実施するための形態】
【0031】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【0032】
また、本明細書および図面において、実質的に同一の機能構成を有する複数の構成要素を、同一の符号の後に異なる数字を付して区別する場合がある。ただし、実質的に同一の機能構成を有する複数の構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。また、異なる実施形態の類似する構成要素については、同一の符号の後に異なるアルファベットを付して区別する場合がある。ただし、異なる実施形態の類似する構成要素等の各々を特に区別する必要がない場合、同一符号のみを付する。
【0033】
(0.実施形態の概要)
本発明の実施形態の概要について説明する。本発明の実施形態では、ニューラルネットワークの学習を行う学習装置について説明する。学習装置においては、学習用データに基づいてニューラルネットワークの学習が行われた後(学習段階)、学習時にラベル無しデータに付与されたラベルの修正が行われ(修正段階)、修正データに基づいて再度学習が行われる(再学習段階)。その後、識別装置において、学習済みのニューラルネットワークと識別用データ(テストデータ)とに基づいて推定ラベルが出力される。
【0034】
本発明の実施形態では、学習装置と識別装置とが同一のコンピュータによって実現される場合を主に想定する。しかし、学習装置と識別装置とは、別のコンピュータによって実現されてもよい。かかる場合には、学習装置によって生成された学習済みのニューラルネットワークが識別装置に提供される。例えば、学習済みのニューラルネットワークは、学習装置から識別装置に記録媒体を介して提供されてもよいし、通信を介して提供されてもよい。以下では、学習装置において実行される「学習段階」「修正段階」「再学習段階」について説明する。
【0035】
(1.第1の実施形態)
まず、本発明の第1の実施形態について説明する。本発明の第1の実施形態においては、学習装置によって半教師あり学習が行われる。
図1は、本発明の第1の実施形態に係る学習装置10の機能構成例を示す図である。
図1に示されるように、本発明の第1の実施形態に係る学習装置10は、入力部111と、誤判定データ推定部112と、提示制御部113と、提示部114と、記録制御部115と、操作部116と、特徴抽出部121と、識別部122と、ラベル有りデータ評価部131と、ラベル無しデータ評価部132と、更新部133とを備える。
【0036】
本発明の第1の実施形態では、特徴抽出部121と、識別部122とが、ニューラルネットワーク120に含まれる場合を主に想定する。すなわち、特徴抽出部121と、識別部122とは、ニューロンによって構築される計算グラフが処理順に接続されて構成されており、全体として1つのニューラルネットワークとみなされ得る。以下では、ニューラルネットワークを「NN」とも表記する。より詳細に、特徴抽出部121は、第1のニューラルネットワーク(以下、「特徴抽出NN」とも表記する。)を含み、識別部122は、第2のニューラルネットワーク(以下、「識別NN」とも表記する。)を含む。
【0037】
しかし、特徴抽出部121と、識別部122とは、具体的にどのような構成であってもよい。例えば、以下では、特徴抽出部121が特徴抽出NNを含み、識別部122が識別NNを含む場合を主に想定して説明する。しかし、識別部122は、識別NNを含まずに特定の識別アルゴリズムに基づいて識別を行ってもよい。
【0038】
特徴抽出部121および識別部122の他、入力部111、誤判定データ推定部112、提示制御部113、記録制御部115、ラベル有りデータ評価部131、ラベル無しデータ評価部132および更新部133などは、CPU(Central Processing Unit)またはGPU(Graphics Processing Unit)などの演算装置を含み、ROM(Read Only Memory)により記憶されているプログラムが演算装置によりRAMに展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、これらのブロックは、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。演算装置による演算に必要なデータは、図示しない記憶部によって適宜記憶される。
【0039】
ラベル付きデータセット101、ラベル無しデータセット102および重みパラメータ123は、図示しない記憶部によって記憶される。かかる記憶部は、RAM(Random Access Memory)、ハードディスクドライブまたはフラッシュメモリなどのメモリによって構成されてよい。
【0040】
初期状態において、重みパラメータ123には、初期値が設定されている。例えば、重みパラメータ123に設定される初期値は、ランダムな値であってよいが、どのような値であってもよい。例えば、重みパラメータ123に設定される初期値は、あらかじめ学習によって得られた学習済みの値であってもよい。
【0041】
(1-1.学習段階)
まず、本発明の第1の実施形態に係る学習装置10によって実行される「学習段階」について説明する。
【0042】
(ラベル付きデータセット101)
ラベル付きデータセット101は、複数の学習用データ(入力データ)と当該複数の学習用データそれぞれに対応付けられた正解ラベルとを含んで構成される。以下では、正解ラベルが対応付けられた学習用データを「ラベル有りデータ」とも言う。正解ラベルは、人手または図示しない機能によって付与される。
【0043】
なお、本発明の実施形態では、ラベル有りデータが画像データである場合(特に、静止画像データである場合)を主に想定する。しかし、ラベル有りデータの種類は特に限定されず、次元数調整によって画像データ以外もラベル有りデータとして用いられ得る。例えば、ラベル有りデータは、複数のフレームを含んだ動画像データであってもよいし、音響データであってもよい。
【0044】
(ラベル無しデータセット102)
ラベル無しデータセット102は、正解ラベルがそれぞれ対応付けられていない複数の学習用データ(入力データ)を含んで構成される。以下では、正解ラベルが対応付けられていない学習用データを「ラベル無しデータ」とも言う。なお、本発明の実施形態では、ラベル無しデータが画像データである場合(特に、静止画像データである場合)を主に想定する。しかし、ラベル無しデータの種類は、ラベル有りデータの種類と同様に限定されない。
【0045】
(入力部111)
入力部111は、ラベル付きデータセット101およびラベル無しデータセット102からラベル有りデータおよび正解ラベルの組み合わせとラベル無しデータとを順次に取得する。入力部111は、ラベル有りデータおよび正解ラベルの組み合わせとラベル無しデータとを順次に特徴抽出部121に出力する。入力部111よりも後段の各ブロックにおいては、前段のブロックからの入力に基づいて順次に各自の処理が繰り返し実行される。
【0046】
なお、入力部111が、ラベル有りデータおよび正解ラベルの全部の組み合わせを特徴抽出部121に出力し終わる場合が想定される。かかる場合には、入力部111は、当該組み合わせを取得し直して特徴抽出部121に再度出力する動作を所定の回数繰り返してよい。同様に、入力部111が、ラベル無しデータの全部を特徴抽出部121に出力し終わる場合が想定される。かかる場合には、入力部111は、ラベル無しデータを取得し直して特徴抽出部121に再度出力する動作を所定の回数繰り返してよい。かかる場合には、入力部111よりも後段のブロックにおいても、前段のブロックからの再度の入力に基づいて順次に各自の処理が繰り返し実行されてよい。
【0047】
(特徴抽出部121)
特徴抽出部121は、入力部111から出力されたラベル有りデータと特徴抽出NNとに基づいてラベル有りデータの特徴量を抽出する。より詳細に、特徴抽出部121は、重みパラメータ123から特徴抽出NNのニューロンに対応する重みパラメータを取得し、取得した重みパラメータが設定された特徴抽出NNにラベル有りデータを入力させたことに基づいて、特徴抽出NNから出力されるデータをラベル有りデータの特徴量として得る。特徴抽出部121は、ラベル有りデータの特徴量を識別部122に出力する。
【0048】
特徴抽出部121は、入力部111から出力されたラベル無しデータと特徴抽出NNとに基づいてラベル無しデータの特徴量を抽出する。より詳細に、特徴抽出部121は、重みパラメータが設定された特徴抽出NNにラベル無しデータを入力させたことに基づいて、特徴抽出NNから出力されるデータをラベル無しデータの特徴量として得る。特徴抽出部121は、ラベル無しデータの特徴量を識別部122に出力する。
【0049】
ここで、特徴抽出NNの具体的な構成は限定されない。例えば、特徴抽出NNとしては、畳み込み層およびプーリング層を主として構成されたニューラルネットワークが用いられてもよい。以下では、畳み込み層として、2次元畳み込み層が用いられる場合を主に想定するが、3次元畳み込み層が用いられてもよい。
【0050】
(識別部122)
識別部122は、特徴抽出部121によって抽出されたラベル有りデータの特徴量に基づいて、ラベル有りデータの推定ラベルを得る。より詳細に、識別部122は、重みパラメータ123から識別NNのニューロンに対応する重みパラメータを取得し、取得した重みパラメータが設定された識別NNにラベル有りデータの特徴量を入力させたことに基づいて、識別NNから出力されるデータをラベル有りデータの推定ラベルとして得る。識別部122は、ラベル有りデータの推定ラベルをラベル有りデータ評価部131に出力する。
【0051】
さらに、識別部122は、特徴抽出部121によって抽出されたラベル無しデータの特徴量に基づいて、ラベル無しデータの推定ラベルを得る。より詳細に、識別部122は、重みパラメータが設定された識別NNにラベル無しデータの特徴量を入力させたことに基づいて、識別NNから出力されるデータをラベル無しデータの推定ラベルとして得る。識別部122は、ラベル無しデータの推定ラベルをラベル無しデータ評価部132に出力する。
【0052】
識別部122は、ラベル無しデータの推定ラベルとして、半教師あり学習の枠組みに基づく2種類の推定ラベルをラベル無しデータ評価部132に出力する。ここで、2種類の推定ラベルを得るためのアルゴリズムは、特定のアルゴリズムに限定されず、半教師あり学習に用いられるアルゴリズムが用いられてよい。
【0053】
例えば、入力部111が、ラベル無しデータセット102から取得したラベル無しデータに基づいて2種類のラベル無しデータを得てもよい。一例として、入力部111は、ラベル無しデータに対して2種類のデータ拡張を施すことによって2種類のラベル無しデータを得てもよい。このとき、入力部111は、特徴抽出部121に対して2種類のラベル無しデータを出力し、特徴抽出部121は、2種類のラベル無しデータそれぞれの特徴量を出力し、識別部122は、2種類のラベル無しデータそれぞれの特徴量に対応する推定ラベルを出力する。
【0054】
あるいは、入力部111から特徴抽出部121に出力されるラベル無しデータは1種類であり、特徴抽出部121および識別部122において、2種類の重みパラメータを使用してもよい。一例として、特徴抽出部121および識別部122は、入力部111から出力されるラベル無しデータに対して、重みパラメータ123の全部を適用して得たデータおよび重みパラメータ123の一部を適用して得たデータを2種類の推定ラベルとして得てもよい。このとき、識別部122から2種類の推定ラベルが出力される。
【0055】
識別NNの具体的な構成は、特に限定されない。しかし、識別NNの出力の形式は、ラベル有りデータに対応する正解ラベルの形式と合わせて設定されているのがよい。例えば、正解ラベルが分類問題のクラスである場合、識別NNの出力は、クラス数分の長さを有するone-hotベクトルであるとよい。
【0056】
(ラベル有りデータ評価部131)
ラベル有りデータ評価部131は、入力部111によって取得されたラベル有りデータに対応する正解ラベルに基づいて、識別部122から出力されたラベル有りデータの推定ラベルを評価してラベル有りデータに対応する評価結果を得る。より詳細に、ラベル有りデータ評価部131は、ラベル有りデータに対応する正解ラベルとラベル有りデータの推定ラベルとに応じた損失関数をラベル有りデータに対応する評価結果として算出する。
【0057】
ここで、損失関数は特定の関数に限定されず、一般的なニューラルネットワークにおいて用いられる損失関数と同様の損失関数が用いられてよい。例えば、損失関数は、ラベル有りデータに対応する正解ラベルとラベル有りデータの推定ラベルとの差分に基づく平均二乗誤差であってもよいし、ラベル有りデータに対応する正解ラベルとラベル有りデータの推定ラベルとの差分に基づく交差エントロピー誤差であってもよい。ラベル有りデータ評価部131は、ラベル有りデータに対応する評価結果を更新部133に出力する。
【0058】
(ラベル無しデータ評価部132)
ラベル無しデータ評価部132は、2種類の推定ラベルの一方を擬似的にラベル無しデータに対応する正解ラベルとし、他方をラベル無しデータの推定ラベルとする。なお、2種類の推定ラベルのどちらを正解ラベルとするかは限定されない。例えば、より弱いデータ拡張によって得られた推定ラベルが正解ラベルとされてもよい。あるいは、重みパラメータ123の全部の適用によって得られたデータが正解ラベルとされてもよい。
【0059】
ラベル無しデータ評価部132は、ラベル無しデータに対応する正解ラベルに基づいて、ラベル無しデータの推定ラベルを評価してラベル無しデータに対応する評価結果を得る。より詳細に、ラベル無しデータ評価部132は、ラベル無しデータに対応する正解ラベルとラベル無しデータの推定ラベルとに応じた損失関数をラベル無しデータに対応する評価結果として算出する。ラベル有りデータに対応する評価結果が算出されるときと同様に、損失関数は特定の関数に限定されない。ラベル無しデータ評価部132は、ラベル無しデータに対応する評価結果を更新部133に出力する。
【0060】
(更新部133)
更新部133は、ラベル有りデータ評価部131から出力されたラベル有りデータに対応する評価結果とラベル無しデータ評価部132から出力されたラベル無しデータに対応する評価結果とに基づいて、重みパラメータ123の更新を行う。これによって、ラベル有りデータの推定ラベルがラベル有りデータに対応する正解ラベルに近づくように、かつ、ラベル無しデータの推定ラベルがラベル無しデータに対応する正解ラベルに近づくように、重みパラメータ123が訓練され得る。
【0061】
例えば、更新部133は、ラベル有りデータに対応する評価結果とラベル無しデータに対応する評価結果との重み付き和(以下、単に「重み付き和」とも言う。)に基づいて、重みパラメータ123の更新を行ってよい。また、重みパラメータ123は、ラベル有りデータに対応する評価結果とラベル無しデータに対応する評価結果との重み付き和に基づく誤差逆伝播法(バックプロパゲーション)によって更新されてよい。
【0062】
なお、更新部133は、重みパラメータ123の更新が終わるたびに、学習の終了条件が満たされたか否かを判断する。学習の終了条件が満たされていないと判断した場合には、入力部111によって次の入力データ(ラベル有りデータおよび正解ラベルの組み合わせ、および、ラベル無しデータ)が取得され、特徴抽出部121、ラベル有りデータ評価部131、ラベル無しデータ評価部132および更新部133それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、更新部133によって、学習の終了条件が満たされたと判断された場合には、学習が終了される。
【0063】
なお、学習の終了条件は特に限定されず、ニューラルネットワーク120の学習がある程度行われたことを示す条件であればよい。具体的に、学習の終了件は、当該重み付き和の値が閾値よりも小さいという条件を含んでもよい。あるいは、学習の終了条件は、当該重み付き和の値の変化が閾値よりも小さいという条件(当該重み付き和の値が収束状態になったという条件)を含んでもよい。あるいは、学習の終了条件は、重みパラメータ123の更新が所定の回数行われたという条件を含んでもよい。あるいは、正解ラベルと推定ラベルとに基づいて精度(例えば、正解率など)が算出される場合、学習の終了条件は、精度が所定の割合(例えば、90%など)を超えるという条件を含んでもよい。
【0064】
(学習段階の動作)
図2を参照しながら、本発明の第1の実施形態に係る学習装置10によって実行される「学習段階」の動作の流れについて説明する。
図2は、本発明の第1の実施形態に係る学習装置10によって実行される学習段階の動作例を示すフローチャートである。
【0065】
まず、入力データの一部に対して作業者によって正解ラベルが付与されると、図示しない記憶部は、正解ラベルと正解ラベルが付与された入力データ(ラベル有りデータ)とを対応付けてラベル付きデータセット101として記憶するとともに、正解ラベルが付与されなかった入力データ(ラベル無しデータ)をラベル無しデータセット102として記憶する(S101)。入力部111は、ラベル付きデータセット101およびラベル無しデータセット102からラベル有りデータおよび正解ラベルの組み合わせとラベル無しデータとを取得する。
【0066】
特徴抽出部121は、重みパラメータ123から特徴抽出NNのニューロンに対応する重みパラメータを取得し、取得した重みパラメータが設定された特徴抽出NNにラベル有りデータを入力させたことに基づいて、特徴抽出NNから出力されるデータをラベル有りデータの特徴量として得る(S102)。識別部122は、重みパラメータ123から識別NNのニューロンに対応する重みパラメータを取得し、取得した重みパラメータが設定された識別NNにラベル有りデータの特徴量を入力させたことに基づいて、識別NNから出力されるデータをラベル有りデータの推定ラベルとして得る(S103)。
【0067】
特徴抽出部121は、特徴抽出NNと1種類または2種類のラベル無しデータとに基づいて、特徴抽出NNから出力されるデータを2種類のラベル無しデータそれぞれの特徴量として得る(S104)。識別部122は、識別NNと2種類のラベル無しデータとに基づいて、識別NNから出力されるデータを2種類の推定ラベルとして得る(S105)。なお、上記したように、ラベル無しデータの種類の増加は、入力部111によって行われてもよいし、特徴抽出部121および識別部122によって行われてもよい。
【0068】
ラベル有りデータ評価部131は、入力部111によって取得されたラベル有りデータに対応する正解ラベルに基づいて、識別部122から出力されたラベル有りデータの推定ラベルを評価してラベル有りデータに対応する評価結果を得る。
【0069】
ラベル無しデータ評価部132は、入力部111によって取得された2種類の推定ラベルの一方を擬似的にラベル無しデータに対応する正解ラベルとし、他方をラベル無しデータの推定ラベルとする。そして、ラベル無しデータ評価部132は、ラベル無しデータに対応する正解ラベルに基づいて、ラベル無しデータの推定ラベルを評価してラベル無しデータに対応する評価結果を得る(S106)。
【0070】
更新部133は、ラベル有りデータ評価部131から出力されたラベル有りデータに対応する評価結果とラベル無しデータ評価部132から出力されたラベル無しデータに対応する評価結果とに基づいて、重みパラメータ123の更新を行う(S107)。
【0071】
更新部133は、学習用データに基づく更新が終わるたびに、学習の終了条件が満たされたか否かを判断する(S108)。学習の終了条件が満たされていないと判断した場合には(S108において「NO」)、S101に動作が移行され、入力部111によって次の入力データが取得され、特徴抽出部121、識別部122、ラベル有りデータ評価部131およびラベル無しデータ評価部132それぞれによって、当該次の入力データに基づく各自の処理が再度実行される。一方、更新部133によって、学習の終了条件が満たされたと判断された場合には(S108において「YES」)、学習が終了される。
【0072】
以上、本発明の第1の実施形態に係る学習装置10によって実行される「学習段階」の動作の流れについて説明した。
【0073】
(1-2.修正段階)
続いて、本発明の第1の実施形態に係る学習装置10によって実行される「修正段階」について説明する。なお、以下では、「学習段階」において推定ラベルが一度算出されているものの、「修正段階」において推定ラベルが算出され直される場合を主に想定する。これによって、推定ラベルを記憶しておくために確保すべきメモリ領域が低減され得る。しかし、「学習段階」において、算出された推定ラベルが、図示しない記憶部によって記憶されてもよい。かかる場合には、「修正段階」において、図示しない記憶部によって記憶されている推定ラベルが用いられればよい。
【0074】
さらに、以下では、「修正段階」が「学習段階」の後に実行される場合を主に想定する。しかし、「学習段階」が実行されずに、「修正段階」が実行され、後に説明する「再学習」が実行されてもよい。かかる場合であっても、「修正段階」において、作業者によって正解ラベル(推定ラベルの修正データ)が入力される。「修正段階」においても、学習段階と同様に、入力部111、特徴抽出部121および識別部122において各自の処理が実行される。
【0075】
(誤判定データ推定部112)
誤判定データ推定部112は、識別部122から出力されたラベル無しデータ(第1のラベル無しデータ)の推定ラベル(第1の推定ラベル)の信頼度(第1の信頼度)を算出する。そして、誤判定データ推定部112は、算出した信頼度が所定の条件を満たす場合に、識別部122から出力されたラベル無しデータを誤判定データとして推定する。
【0076】
まず、信頼度の算出例について説明する。誤判定データ推定部112は、ラベル有りデータの特徴量および正解ラベルの全部の組み合わせを特徴抽出部121から取得する。そして、誤判定データ推定部112は、正解ラベルごとにラベル有りデータの特徴量の平均値を算出する。
【0077】
ここで、ラベル有りデータの数をNLとし、各ラベル有りデータの番号をi∈{1,…,NL}とし、各ラベル有りデータの特徴量をzi
Lとし、各ラベル有りデータの正解ラベルをyiとすると、正解ラベルcのラベル有りデータの特徴量の平均値zc
L(ave)は、以下の式(1)のように表現され得る。
【0078】
【0079】
|Mc|は、Mcの数を示す。続いて、誤判定データ推定部112は、特徴抽出部121および識別部122からラベル無しデータの特徴量および推定ラベルの全部の組み合わせを順次に取得する。
【0080】
誤判定データ推定部112は、推定ラベル(第1の推定ラベル)と一致する正解ラベルが対応付けられたラベル有りデータの特徴量と、ラベル無しデータ(第1のラベル無しデータ)の特徴量との距離を算出する。
【0081】
ここで、誤判定データ推定部112によって算出される距離は、特定の距離に限定されない。例えば、誤判定データ推定部112によって算出される距離は、特徴量間のユークリッド距離であってもよいし、特徴量の類似度の算出に用いられるコサイン類似度であってもよい。そして、誤判定データ推定部112は、算出した距離に基づいて、推定ラベルの信頼度(第1の信頼度)を算出する。
【0082】
より詳細に、誤判定データ推定部112は、推定ラベルと一致する正解ラベルが対応付けられたラベル有りデータの特徴量の平均値を算出する。そして、誤判定データ推定部112は、算出した平均値とラベル無しデータの特徴量との距離に基づいて、推定ラベルの信頼度を算出する。ここでは、誤判定データ推定部112によって算出された距離が小さくなるほど、推定ラベルの信頼度が高くなる場合を想定する。
【0083】
さらに詳細に、ラベル無しデータの数をNUとし、各ラベル無しデータの番号をi∈{1,…,NU}とし、各ラベル無しデータの特徴量をzi
Uとし、各ラベル無しデータの推定ラベルをyi’とすると、推定ラベルyi’と一致する正解ラベルに対応するラベル有りデータの特徴量の平均値zyi
L(ave)とラベル無しデータの特徴量zi
Uとの距離diは、以下の式(2)のように表現され得る。
【0084】
【0085】
誤判定データ推定部112は、算出した距離diが所定の条件を満たす場合に、ラベル無しデータを誤判定データとして推定する。より詳細に、距離diが大きいほど、推定ラベルyi’が誤判定によって得られた可能性が高いと考えられる。
【0086】
そこで、誤判定データ推定部112は、各ラベル無しデータを距離diが降順になるように(距離が大きい順に)並び変えてよい。そして、誤判定データ推定部112は、所定の条件の例として、距離diが各距離の大きいほうから対象件数X個(所定の件数)以内に入るという条件(すなわち、信頼度が各ラベル無しデータの推定ラベルの信頼度の低いほうから対象件数以内に入るという条件)を満たすラベル無しデータを誤判定データとして推定してもよい。このとき、誤判定データ推定部112は、距離の降順を優先順位としてラベル無しデータの推定ラベルを修正対象としてよい。
【0087】
図3は、誤判定データの推定例について説明するための図である。
図3を参照すると、特徴空間F1が示されており、特徴空間F1の中に、一つ目の正解ラベルに対応するラベル有りデータの特徴量の平均値C11が存在している。同様に、二つ目の正解ラベルに対応するラベル有りデータの特徴量の平均値C12、および、三つ目の正解ラベルに対応するラベル有りデータの特徴量の平均値C13が存在している。
【0088】
また、特徴空間F1の中に、一つ目のラベル無しデータの特徴量A11が存在している。同様に、二つ目のラベル無しデータの特徴量A12、および、三つ目のラベル無しデータの特徴量A13が存在している。
【0089】
一つ目のラベル無しデータの推定ラベルは、ラベル有りデータの特徴量の平均値C11に対応する一つ目の正解ラベルと一致する。そして、一つ目のラベル無しデータの特徴量A11と一つ目の正解ラベルに対応するラベル有りデータの特徴量の平均値C11との距離が距離D11として示されている。
【0090】
二つ目のラベル無しデータの推定ラベルは、ラベル有りデータの特徴量の平均値C12に対応する二つ目の正解ラベルと一致する。そして、二つ目のラベル無しデータの特徴量A12と二つ目の正解ラベルに対応するラベル有りデータの特徴量の平均値C12との距離が距離D12として示されている。
【0091】
三つ目のラベル無しデータの推定ラベルは、ラベル有りデータの特徴量の平均値C13に対応する三つ目の正解ラベルと一致する。そして、三つ目のラベル無しデータの特徴量A13と三つ目の正解ラベルに対応するラベル有りデータの特徴量の平均値C13との距離が距離D13として示されている。
【0092】
距離D11~D13のうち、一番目に大きい距離は距離D11であり、二番目に大きい距離は距離D12であり、三番目に大きい距離は距離D13である。このとき、誤判定データ推定部112は、距離D11に対応する一つ目のラベル無しデータ、距離D12に対応する二つ目のラベル無しデータ、距離D13に対応する三つ目のラベル無しデータの順に、優先して推定ラベルを修正対象としてよい。
【0093】
(提示制御部113)
提示制御部113は、誤判定データ推定部112によって推定された誤判定データが提示部114によって提示されるように提示部114を制御する。これによって、作業者は、誤判定データ(すなわち、推定ラベルが誤判定されたラベル無しデータ)に基づいて、推定ラベルの修正が可能となる。
【0094】
(提示部114)
提示部114は、作業者に対して視覚的な情報を提示する表示部(ディスプレイ)である場合を主に想定する。しかし、提示部114の具体的な形態は限定されない。例えば、ラベル無しデータが音響データである場合などには、提示部114は、作業者に対して聴覚的な情報を提示する音声出力部(スピーカ)などであってもよい。これによって、提示部114は、ラベル無しデータを聴覚的な情報として知覚した結果に基づいて、推定ラベルを修正することが可能となる。
【0095】
図4は、作業者に推定ラベルを修正させるためのラベル修正画面の例を示す図である。
図4を参照すると、提示部114によって表示されるラベル修正画面W1が示されている。
図4を参照すると、提示制御部113は、入力データG1が提示部114によって表示されるように提示部114を制御している。入力データG1は、推定ラベルが誤判定されたラベル無しデータ(誤判定データ)である。なお、複数の誤判定データのうち最も優先順位が高い誤判定データが最初に表示されてよい。
【0096】
さらに、提示制御部113は、誤判定データ(入力データG1)の推定ラベルB22が提示部114によって表示されるように提示部114を制御している。作業者は、誤判定データ(入力データG1)および推定ラベルB22などを見ながら、各種操作を操作部116に対して入力することが可能である。
【0097】
(操作部116)
操作部116は、作業者によって入力される各種操作を受け付ける機能を有する。ここでは、操作部116がマウスおよびキーボードによって構成される場合を主に想定する。しかし、操作部116の具体的な形態は限定されない。例えば、操作部116は、他の入力デバイス(例えば、タッチパネルなど)によって構成されてもよい。
【0098】
一例として、操作部116に対して、作業者が誤判定データを前に戻す操作(例えば、ボタンB11を選択する操作)を入力すると、提示制御部113は、表示対象の誤判定データを前に切り替えてもよい。例えば、優先順位がより高い誤判定データに切り替えられてもよい。優先順位がより高い誤判定データがなければ、最も優先順位が低い誤判定データに切り替えられてもよい。このとき、推定ラベルB22も、切り替え後の誤判定データの推定ラベルに切り替えられてよい。
【0099】
他の一例として、操作部116に対して、作業者が誤判定データを先に進める操作(例えば、ボタンB12を選択する操作)を入力すると、提示制御部113は、表示対象の誤判定データを先に進めてもよい。例えば、優先順位がより低い誤判定データに切り替えられてもよい。優先順位がより低い誤判定データがなければ、最も優先順位が高い誤判定データに切り替えられてもよい。このとき、推定ラベルB22も、切り替え後の誤判定データの推定ラベルに切り替えられてよい。
【0100】
なお、全部の誤判定データが同時に表示される場合には、作業者が誤判定データを前に戻す操作、および、作業者が誤判定データを先に進める操作などは不要である。
【0101】
なお、作業者が誤判定データを前に戻す操作によって、2つ以上前の誤判定データに戻されてもよい。あるいは、幾つ前の誤判定データに戻すかを、作業者が選択可能であってもよい。同様に、作業者が誤判定データを先に進める操作によって、2つ以上先の誤判定データに進められてもよい。あるいは、幾つ先の誤判定データに進めるかを、作業者が選択可能であってもよい。
【0102】
作業者は、推定ラベルの修正データを入力することが可能である。より詳細に、ラベル修正画面W1には、正解ラベルの入力欄B23が含まれている。作業者は、現在表示されている誤判定データ(入力データG1)を見ながら、正解ラベルの入力欄B23に対して、現在表示されている誤判定データに対応する正解ラベル(すなわち、現在表示されている誤判定データの推定ラベルの修正データ)を入力することが可能である。
【0103】
なお、作業者は、対象件数を指定することが可能であってよい。より詳細に、ラベル修正画面W1には、対象件数の入力欄B21が含まれている。対象件数の入力欄B21には、現在の対象件数が表示されている。作業者は、対象件数の入力欄B21に対して、対象件数を入力することによって対象件数を指定することが可能である。このとき、誤判定データ推定部112は、作業者によって指定された対象件数に基づいて、誤判定データを推定し直してよい。あるいは、対象件数は、あらかじめ決められた値であってもよい。
【0104】
(記録制御部115)
記録制御部115は、推定ラベルの修正データを入力する操作に基づいて、当該修正データを正解ラベルとして現在表示されている誤判定データに対応付ける。そして、記録制御部115は、正解ラベルと誤判定データとの組み合わせを、正解ラベルとラベル有りデータとの組み合わせとして、図示しない記憶部に記録されているラベル付きデータセット101に追加する。
【0105】
より詳細に、操作部116に対して、作業者が修正を実行させる操作(例えば、ボタンB80を選択する操作)を入力すると、記録制御部115は、正解ラベルの入力欄B23において選択された値を修正データとして取得する。そして、記録制御部115は、取得した修正データと誤判定データとの組み合わせを、正解ラベルとラベル有りデータとの組み合わせとしてラベル付きデータセット101に追加する。
【0106】
一方、操作部116に対して、作業者が修正を取り消す操作(例えば、ボタンB70を選択する操作)を入力すると、提示制御部113は、現在表示されている誤判定データ(入力データG1)の推定ラベルの修正を実行しなくてよい。
【0107】
記録制御部115は、推定ラベルの修正の終了条件が満たされたか否かを判断する。記録制御部115は、推定ラベルの修正の終了条件が満たされていないと判断した場合には、引き続き推定ラベルの修正が行われる。一方、記録制御部115は、推定ラベルの修正の終了条件が満たされたと判断された場合には、推定ラベルの修正を終了する。
【0108】
なお、推定ラベルの修正の終了条件は特に限定されない。例えば、推定ラベルの修正の終了条件は、作業者によって推定ラベルの修正を終了させる操作(例えば、ラベル修正画面W1を閉じる操作など)が入力されたという条件であってもよい。あるいは、推定ラベルの修正の終了条件は、推定ラベルの修正がある程度行われたことを示す条件であってもよい。具体的に、推定ラベルの修正がある程度行われたことを示す条件は、誤判定データの推定ラベルの修正が全部終了したという条件を含んでもよい。
【0109】
(修正段階の動作)
図5を参照しながら、本発明の第1の実施形態に係る学習装置10によって実行される「修正段階」の動作の流れについて説明する。
図5は、本発明の第1の実施形態に係る学習装置10によって実行される修正段階の動作例を示すフローチャートである。
【0110】
入力部111は、ラベル付きデータセット101からラベル有りデータおよび正解ラベルの組み合わせを順次に取得する。特徴抽出部121は、重みパラメータ123から特徴抽出NNのニューロンに対応する重みパラメータを取得し、取得した重みパラメータが設定された特徴抽出NNにラベル有りデータを順次に入力させたことに基づいて、特徴抽出NNから出力されるデータをラベル有りデータの特徴量として得る(S111)。
【0111】
誤判定データ推定部112は、ラベル有りデータの特徴量の平均値を正解ラベルごとに算出する(S112)。
【0112】
続いて、入力部111は、ラベル無しデータセット102からラベル無しデータを順次に取得する。特徴抽出部121は、重みパラメータが設定された特徴抽出NNにラベル無しデータを順次に入力させたことに基づいて、特徴抽出NNから出力されるデータをラベル無しデータの特徴量として得る(S113)。
【0113】
識別部122は、重みパラメータ123から識別NNのニューロンに対応する重みパラメータを取得し、取得した重みパラメータが設定された識別NNにラベル無しデータの特徴量を入力させたことに基づいて、識別NNから出力されるデータをラベル無しデータの推定ラベルとして得る(S114)。
【0114】
誤判定データ推定部112は、ラベル無しデータの特徴量と推定ラベルに一致する正解ラベルが対応付けられたラベル有りデータの特徴量の平均値との距離を算出する(S115)。そして、誤判定データ推定部112は、作業者によって対象件数が指定された場合には、作業者によって指定された対象件数を取得する(S116)。
【0115】
誤判定データ推定部112は、対象件数のラベル無しデータを誤判定データとして推定する。提示制御部113は、対象件数のラベル無しデータを誤判定データとして距離が大きい順に表示されるように提示部114を制御する(S117)。記録制御部115は、作業者によって推定ラベルの修正データとして正解ラベルが入力された場合には、作業者によって入力された正解ラベルを取得する(S118)。
【0116】
記録制御部115は、作業者の操作に基づいて、取得した正解ラベルを現在表示されているラベル無しデータに対応付ける。そして、記録制御部115は、正解ラベルとラベル無しデータとの組み合わせを、ラベル付きデータセット101に保存する(S119)。推定ラベルの修正の終了条件が満たされていないと判断した場合には、引き続き推定ラベルの修正が行われる。一方、推定ラベルの修正の終了条件が満たされたと判断された場合には、推定ラベルの修正が終了する。
【0117】
以上、本発明の第1の実施形態に係る学習装置10によって実行される「修正段階」の動作の流れについて説明した。
【0118】
(1-3.再学習段階)
続いて、本発明の第1の実施形態に係る学習装置10によって実行される「再学習段階」について説明する。「再学習段階」においても、学習段階と同様にニューラルネットワーク120の学習が行われる。
【0119】
ただし、修正段階において、ラベル無しデータの推定ラベルが修正されており、ラベル付きデータセット101に存在するラベル付きデータ(正解ラベルに対応付けられたラベル有りデータ)が学習段階よりも増えている。そのため、再学習段階における学習精度は、学習段階における学習精度よりも向上することが期待される。
【0120】
以上、本発明の第1の実施形態に係る学習装置10によって実行される「再学習段階」について説明した。
【0121】
(1-4.第1の実施形態のまとめ)
以上に説明したように、本発明の第1の実施形態に係る学習装置10は、ラベル有りデータの特徴量とラベル無しデータの特徴量とに基づき、ラベルを付与すべき入力データを作業者に提示する機構を有する。かかる機構によって、作業者は、精度の向上に寄与することが期待される入力データに、効率的に正解ラベルを付与できるため、作業者によるラベル付与の負担が低減され得る。
【0122】
また、本発明の第1の実施形態によれば、半教師あり学習の枠組みを崩さずに、半教師あり学習の枠組みの外部に誤判定データを推定する機構を取り付けることが可能である。
【0123】
以上、本発明の第1の実施形態について説明した。
【0124】
(2.第2の実施形態)
続いて、本発明の第2の実施形態について説明する。本発明の第2の実施形態においては、学習装置によって教師なし学習が行われる。
図6は、本発明の第2の実施形態に係る学習装置20の機能構成例を示す図である。
図6に示されるように、本発明の第2の実施形態に係る学習装置20は、本発明の第1の実施形態に係る学習装置10と同様に、入力部111と、提示制御部113と、提示部114と、記録制御部115と、操作部116と、特徴抽出部121と、ラベル有りデータ評価部131と、更新部133とを備える。なお、ラベル有りデータ評価部131は再学習段階において用いられる。
【0125】
さらに、本発明の第2の実施形態に係る学習装置20は、誤判定データ推定部212と、表現ベクトル抽出部221と、ラベル無しデータ評価部232とを備える。以下では、誤判定データ推定部212、表現ベクトル抽出部221およびラベル無しデータ評価部232について主に説明を行う。
【0126】
本発明の第2の実施形態では、特徴抽出部121と、表現ベクトル抽出部221とが、ニューラルネットワーク120に含まれる場合を主に想定する。すなわち、特徴抽出部121と、表現ベクトル抽出部221とは、ニューロンによって構築される計算グラフが処理順に接続されて構成されており、全体として1つのニューラルネットワークとみなされ得る。表現ベクトル抽出部221は、第3のニューラルネットワーク(以下、「表現ベクトル抽出NN」とも表記する。)を含む。
【0127】
しかし、表現ベクトル抽出部221は、具体的にどのような構成であってもよい。例えば、以下では、表現ベクトル抽出部221が表現ベクトル抽出NNを含む場合を主に想定して説明する。しかし、表現ベクトル抽出部221は、表現ベクトル抽出NNを含まずに特定の表現ベクトル抽出アルゴリズムに基づいて表現ベクトルの抽出を行ってもよい。表現ベクトルについては後に詳細に説明する。
【0128】
また、本発明の第2の実施形態においては、初回の学習段階において、ラベル付きデータセット201は空である。すなわち、初回の学習段階において、ラベル付きデータセット201には、ラベル有りデータと正解ラベルとの組み合わせが存在しない。なお、このラベル付きデータセット201は、人手によって付与された正解ラベルを用いて再学習を行い、分類精度を上げる際に、利用することができる。
【0129】
誤判定データ推定部212、表現ベクトル抽出部221およびラベル無しデータ評価部232は、CPUまたはGPUなどの演算装置を含み、ROMにより記憶されているプログラムが演算装置によりRAMに展開されて実行されることにより、その機能が実現され得る。このとき、当該プログラムを記録した、コンピュータに読み取り可能な記録媒体も提供され得る。あるいは、これらのブロックは、専用のハードウェアにより構成されていてもよいし、複数のハードウェアの組み合わせにより構成されてもよい。演算装置による演算に必要なデータは、図示しない記憶部によって適宜記憶される。
【0130】
(2-1.学習段階)
まず、本発明の第2の実施形態に係る学習装置20によって実行される「学習段階」について説明する。
【0131】
入力部111は、ラベル無しデータセット102からラベル無しデータを順次に取得する。入力部111は、ラベル無しデータを順次に特徴抽出部121に出力する。入力部111よりも後段の各ブロックにおいては、前段のブロックからの入力に基づいて順次に各自の処理が繰り返し実行される。特徴抽出部121は、入力部111から出力されたラベル無しデータと特徴抽出NNとに基づいてラベル無しデータの特徴量を抽出する。特徴抽出部121は、ラベル無しデータの特徴量を表現ベクトル抽出部221に出力する。
【0132】
(表現ベクトル抽出部221)
表現ベクトル抽出部221は、特徴抽出部121によって抽出されたラベル無しデータの特徴量に基づいて、ラベル無しデータの表現ベクトルを得る。より詳細に、表現ベクトル抽出部221は、重みパラメータ123から表現ベクトル抽出NNのニューロンに対応する重みパラメータを取得し、取得した重みパラメータが設定された表現ベクトル抽出NNにラベル無しデータの特徴量を入力させたことに基づいて、表現ベクトル抽出NNから出力されるデータをラベル無しデータの表現ベクトルとして得る。
【0133】
表現ベクトル抽出部221は、ラベル無しデータの表現ベクトルをラベル無しデータ評価部132に出力する。表現ベクトルは、特徴抽出部121によって抽出された特徴量から重要な情報だけが抽出された結果として、特徴量の次元よりも次元が小さくなった情報であり、「潜在変数」とも表現される。
【0134】
さらに詳細に、表現ベクトル抽出部221は、ラベル無しデータの表現ベクトルとして、教師なし学習の枠組みに基づく2種類の表現ベクトルを得る。2種類の表現ベクトルを得るためのアルゴリズムは、特定のアルゴリズムに限定されず、教師なし学習に用いられるアルゴリズムが用いられてよい。
【0135】
例えば、入力部111が、ラベル無しデータセット102から取得したラベル無しデータに基づいて2種類のラベル無しデータを得てもよい。一例として、入力部111は、ラベル無しデータに対して2種類のデータ拡張を施すことによって2種類のラベル無しデータを得てもよい。このとき、入力部111は、特徴抽出部121に対して2種類のラベル無しデータを出力し、特徴抽出部121は、2種類のラベル無しデータそれぞれの特徴量を出力し、表現ベクトル抽出部221は、2種類のラベル無しデータそれぞれの特徴量に対応する表現ベクトルを出力する。
【0136】
あるいは、入力部111から特徴抽出部121に出力されるラベル無しデータは1種類であり、特徴抽出部121および表現ベクトル抽出部221において、2種類の重みパラメータを使用してもよい。一例として、特徴抽出部121および表現ベクトル抽出部221は、入力部111から出力されるラベル無しデータに対して、重みパラメータ123の全部を適用して得たデータおよび重みパラメータ123の一部を適用して得たデータを2種類の表現ベクトルとして得てもよい。このとき、表現ベクトル抽出部221から2種類の表現ベクトルが出力される。
【0137】
(ラベル無しデータ評価部232)
ラベル無しデータ評価部232は、教師なし学習の枠組みに基づいて2種類の表現ベクトルを評価してラベル無しデータに対応する評価結果を得る。ここで、2種類の表現ベクトルの評価アルゴリズムは特定のアルゴリズムに限定されず、教師なし学習に用いられるアルゴリズムが用いられてよい。例えば、2種類の表現ベクトルの評価アルゴリズムは、対照学習のように同一のデータに対する2つの表現ベクトルの距離は近いかどうかを評価し、異なるデータ間の2つの表現ベクトルの距離は遠いかどうかを評価するアルゴリズムでもあってもよい。
【0138】
ラベル無しデータ評価部232は、ラベル無しデータに対応する評価結果を更新部133に出力する。更新部133は、ラベル無しデータ評価部132から出力されたラベル無しデータに対応する評価結果に基づいて、重みパラメータ123の更新を行う。重みパラメータ123は、ラベル無しデータに対応する評価結果に基づく誤差逆伝播法(バックプロパゲーション)によって更新されてよい。
【0139】
(学習段階の動作)
図7を参照しながら、本発明の第2の実施形態に係る学習装置20によって実行される「学習段階」の動作の流れについて説明する。
図7は、本発明の第2の実施形態に係る学習装置20によって実行される学習段階の動作例を示すフローチャートである。
【0140】
まず、入力部111は、ラベル無しデータセット102からラベル無しデータを取得する。特徴抽出部121は、特徴抽出NNと1種類または2種類のラベル無しデータとに基づいて、特徴抽出NNから出力されるデータを2種類のラベル無しデータそれぞれの特徴量として得る。表現ベクトル抽出部221は、表現ベクトル抽出NNと2種類のラベル無しデータとに基づいて、表現ベクトル抽出NNから出力されるデータを2種類の表現ベクトルとして得る(S201)。なお、上記したように、ラベル無しデータの種類の増加は、入力部111によって行われてもよいし、特徴抽出部121および表現ベクトル抽出部221によって行われてもよい。
【0141】
ラベル無しデータ評価部232は、ラベル無しデータに対応する2種類の表現ベクトルに基づいて、2種類の表現ベクトルを評価してラベル無しデータに対応する評価結果を得る(S202)。更新部133は、ラベル無しデータ評価部232から出力されたラベル無しデータに対応する評価結果に基づいて、重みパラメータ123の更新を行う(S203)。
【0142】
更新部133は、学習用データに基づく更新が終わるたびに、学習の終了条件が満たされたか否かを判断する(S204)。学習の終了条件が満たされていないと判断した場合には(S204において「NO」)、S201に動作が移行される。一方、更新部133によって、学習の終了条件が満たされたと判断された場合には(S204において「YES」)、学習が終了される。
【0143】
以上、本発明の第2の実施形態に係る学習装置20によって実行される「学習段階」の動作の流れについて説明した。
【0144】
(2-2.修正段階)
続いて、本発明の第2の実施形態に係る学習装置20によって実行される「修正段階」について説明する。
【0145】
なお、本発明の第1の実施形態と同様に、「学習段階」が実行されずに、「修正段階」が実行され、後に説明する「再学習」が実行されてもよい。かかる場合であっても、「修正段階」において、作業者によって正解ラベル(割当ラベルの修正データ)が入力される。「修正段階」においても、学習段階と同様に、入力部111、特徴抽出部121および表現ベクトル抽出部221において各自の処理が実行される。
【0146】
(誤判定データ推定部212)
誤判定データ推定部212は、全部のラベル無しデータの表現ベクトルに対するグループ化に基づいて、各ラベル無しデータ(第1のラベル無しデータ)に割当ラベル(第1の割当ラベル)を付与する。そして、誤判定データ推定部212は、各ラベル無しデータに対応する割当ラベルの信頼度(第1の信頼度)を算出する。そして、誤判定データ推定部212は、算出した信頼度が所定の条件を満たす場合に、表現ベクトル抽出部221から出力されたラベル無しデータを誤判定データとして推定する。
【0147】
まず、信頼度の算出例について説明する。誤判定データ推定部212は、全部のラベル無しデータの表現ベクトルを表現ベクトル抽出部221から取得する。そして、誤判定データ推定部212は、全部のラベル無しデータの表現ベクトルに対するグループ化に基づいて、各表現ベクトルをCクラスに分類する。誤判定データ推定部212は、分類されたクラスを示す割当ラベルc∈{1,…,C}を各表現ベクトルに対応付ける。
【0148】
ここで、グループ化の手法は特定の手法に限定されず、教師なし学習に用いられるグループ化の手法が用いられてよい。例えば、グループ化の手法には、k近傍法またはk平均法などが用いられてもよい。続いて、誤判定データ推定部212は、割当ラベルcごとにラベル無しデータの表現ベクトルの平均値を算出する。
【0149】
ここで、ラベル無しデータの数をNUとし、各ラベル無しデータの番号をi∈{1,…,NU}とし、各ラベル無しデータの表現ベクトルをzi
Uとし、各ラベル無しデータの割当ラベルをyiとすると、割当ラベルcのラベル無しデータの表現ベクトルの平均値zc
U(ave)は、以下の式(3)のように表現され得る。
【0150】
【0151】
続いて、誤判定データ推定部212は、割当ラベル(第1の割当ラベル)と一致する割当ラベル(第2の割当ラベル)が対応付けられたラベル無しデータの表現ベクトル(第2の表現ベクトル)と、ラベル無しデータ(第1のラベル無しデータ)の表現ベクトル(第1の表現ベクトル)との距離を算出する。
【0152】
ここで、誤判定データ推定部212によって算出される距離は、特定の距離に限定されない。例えば、誤判定データ推定部212によって算出される距離は、特徴量間のユークリッド距離であってもよいし、特徴量の類似度の算出に用いられるコサイン類似度であってもよい。そして、誤判定データ推定部212は、算出した距離に基づいて、割当ラベル(第1の割当ラベル)の信頼度(第1の信頼度)を算出する。
【0153】
より詳細に、誤判定データ推定部212は、割当ラベル(第1の割当ラベル)と一致する割当ラベル(第2の割当ラベル)が対応付けられたラベル無しデータ(第2のラベル無しデータ)の表現ベクトルの平均値を算出する。そして、誤判定データ推定部212は、算出した平均値とラベル無しデータ(第1のラベル無しデータ)の表現ベクトルとの距離に基づいて、割当ラベル(第1の割当ラベル)の信頼度(第1の信頼度)を算出する。ここでは、誤判定データ推定部212によって算出された距離が小さくなるほど、割当ラベルの信頼度が高くなる場合を想定する。
【0154】
さらに詳細に、ラベル無しデータの数をNUとし、各ラベル無しデータの番号をi∈{1,…,NU}とし、各ラベル無しデータの表現ベクトルをzi
Uとし、各ラベル無しデータの割当ラベルをyi’とすると、割当ラベルyi’と一致する割当ラベルに対応するラベル無しデータの表現ベクトルの平均値zyi
U(ave)とラベル無しデータの表現ベクトルzi
Uとの距離diは、以下の式(4)のように表現され得る。
【0155】
【0156】
誤判定データ推定部212は、算出した距離diが所定の条件を満たす場合に、ラベル無しデータを誤判定データとして推定する。より詳細に、距離diが大きいほど、割当ラベルyi’が誤判定によって得られた可能性が高いと考えられる。
【0157】
そこで、誤判定データ推定部212は、各ラベル無しデータを距離diが降順になるように(距離が大きい順に)並び変えてよい。そして、誤判定データ推定部212は、所定の条件の例として、距離diが各距離の大きいほうから対象件数X個(所定の件数)以内に入るという条件(すなわち、信頼度が各ラベル無しデータの割当ラベルの信頼度の低いほうから対象件数以内に入るという条件)を満たすラベル無しデータを誤判定データとして推定してもよい。このとき、誤判定データ推定部212は、距離の降順を優先順位としてラベル無しデータに対応する割当ラベルを修正対象としてよい。
【0158】
図8は、誤判定データの推定例について説明するための図である。
図8を参照すると、表現ベクトル空間Z1が示されており、表現ベクトル空間Z1の中に、一つ目の割当ラベルに対応するラベル無しデータの表現ベクトルの平均値C21が存在している。同様に、二つ目の割当ラベルに対応するラベル無しデータの表現ベクトルの平均値C22、および、三つ目の割当ラベルに対応するラベル無しデータの特徴量の平均値C23が存在している。
【0159】
また、表現ベクトル空間Z1の中に、一つ目のラベル無しデータの表現ベクトルA21が存在している。同様に、二つ目のラベル無しデータの表現ベクトルA22、および、三つ目のラベル無しデータの表現ベクトルA23が存在している。
【0160】
一つ目のラベル無しデータに対応する割当ラベルは、ラベル無しデータの特徴量の平均値C21に対応する一つ目の割当ラベルと一致する。そして、一つ目のラベル無しデータの表現ベクトルA21と一つ目の割当ラベルに対応するラベル無しデータの表現ベクトルの平均値C21との距離が距離D21として示されている。
【0161】
二つ目のラベル無しデータに対応する割当ラベルは、ラベル無しデータの表現ベクトルの平均値C22に対応する二つ目の割当ラベルと一致する。そして、二つ目のラベル無しデータの表現ベクトルA22と二つ目の割当ラベルに対応するラベル無しデータの表現ベクトルの平均値C22との距離が距離D22として示されている。
【0162】
三つ目のラベル無しデータに対応する表現ベクトルは、ラベル無しデータの表現ベクトルの平均値C23に対応する三つ目の割当ラベルと一致する。そして、三つ目のラベル無しデータの表現ベクトルA23と三つ目の割当ラベルに対応するラベル無しデータの表現ベクトルの平均値C23との距離が距離D23として示されている。
【0163】
距離D21~D23のうち、一番目に大きい距離は距離D21であり、二番目に大きい距離は距離D22であり、三番目に大きい距離は距離D23である。このとき、誤判定データ推定部212は、距離D21に対応する一つ目のラベル無しデータ、距離D22に対応する二つ目のラベル無しデータ、距離D23に対応する三つ目のラベル無しデータの順に、優先して割当ラベルを修正対象としてよい。
【0164】
提示制御部113は、誤判定データ推定部112によって推定された誤判定データが提示部114によって提示されるように提示部114を制御する。これによって、作業者は、誤判定データ(すなわち、割当ラベルが誤判定されたラベル無しデータ)に基づいて、割当ラベルの修正が可能となる。
【0165】
図9は、作業者に割当ラベルを修正させるためのラベル修正画面の例を示す図である。
図9を参照すると、提示部114によって表示されるラベル修正画面W2が示されている。作業者は、誤判定データ(入力データG1)などを見ながら、各種操作を操作部116に対して入力することが可能である。
【0166】
作業者は、割当ラベルの修正データを入力することが可能である。より詳細に、ラベル修正画面W2には、正解ラベルの入力欄B23が含まれている。作業者は、現在表示されている誤判定データ(入力データG1)を見ながら、正解ラベルの入力欄B23に対して、現在表示されている誤判定データに対応する正解ラベル(すなわち、現在表示されている誤判定データに対応する割当ラベルの修正データ)を入力することが可能である。
【0167】
記録制御部115は、割当ラベルの修正データを入力する操作に基づいて、当該修正データを正解ラベルとして現在表示されている誤判定データに対応付ける。そして、記録制御部115は、正解ラベルと誤判定データとの組み合わせを、正解ラベルとラベル有りデータとの組み合わせとして、図示しない記憶部に記録されているラベル付きデータセット101に追加する。
【0168】
より詳細に、操作部116に対して、作業者が修正を実行させる操作(例えば、ボタンB80を選択する操作)を入力すると、記録制御部115は、正解ラベルの入力欄B23において選択された値を修正データとして取得する。そして、記録制御部115は、取得した修正データと誤判定データとの組み合わせを、正解ラベルとラベル有りデータとの組み合わせとしてラベル付きデータセット101に追加する。
【0169】
なお、本発明の第1の実施形態と同様に、記録制御部115は、割当ラベルの修正の終了条件が満たされたか否かを判断する。記録制御部115は、割当ラベルの修正の終了条件が満たされていないと判断した場合には、引き続き割当ラベルの修正が行われる。一方、記録制御部115は、割当ラベルの修正の終了条件が満たされたと判断された場合には、割当ラベルの修正を終了する。
【0170】
(修正段階の動作)
図10を参照しながら、本発明の第2の実施形態に係る学習装置20によって実行される「修正段階」の動作の流れについて説明する。
図10は、本発明の第2の実施形態に係る学習装置20によって実行される修正段階の動作例を示すフローチャートである。
【0171】
入力部111は、ラベル無しデータセット102からラベル無しデータを順次に取得する。特徴抽出部121は、重みパラメータが設定された特徴抽出NNにラベル無しデータを順次に入力させたことに基づいて、特徴抽出NNから出力されるデータをラベル無しデータの特徴量として得る。
【0172】
表現ベクトル抽出部221は、重みパラメータ123から表現ベクトル抽出NNのニューロンに対応する重みパラメータを取得し、取得した重みパラメータが設定された表現ベクトル抽出NNにラベル無しデータの特徴量を入力させたことに基づいて、表現ベクトル抽出NNから出力されるデータをラベル無しデータの表現ベクトルとして得る(S211)。
【0173】
誤判定データ推定部212は、各ラベル無しデータの表現ベクトルに対するグループ化に基づいて、各表現ベクトルを複数のクラスに分類する。そして、誤判定データ推定部212は、分類されたクラスを示す割当ラベルを各表現ベクトルに対応付ける。誤判定データ推定部212は、表現ベクトルの平均値を割当ラベルごとに算出する(S212)。
【0174】
誤判定データ推定部212は、ラベル無しデータの表現ベクトルと、当該ラベル無しデータの割当ラベルに一致する割当ラベルが対応付けられた表現ベクトルの平均値との距離を算出する(S213)。そして、誤判定データ推定部212は、作業者によって対象件数が指定された場合には、作業者によって指定された対象件数を取得する(S214)。
【0175】
誤判定データ推定部212は、対象件数のラベル無しデータを誤判定データとして推定する。提示制御部113は、対象件数のラベル無しデータを誤判定データとして距離が大きい順に表示されるように提示部114を制御する(S215)。記録制御部115は、作業者によって割当ラベルの修正データとして正解ラベルが入力された場合には、作業者によって入力された正解ラベルを取得する(S216)。
【0176】
記録制御部115は、作業者の操作に基づいて、取得した正解ラベルを現在表示されているラベル無しデータに対応付ける。そして、記録制御部115は、正解ラベルとラベル無しデータとの組み合わせを、ラベル付きデータセット101に保存する(S217)。割当ラベルの修正の終了条件が満たされていないと判断した場合には、引き続き割当ラベルの修正が行われる。一方、割当ラベルの修正の終了条件が満たされたと判断された場合には、割当ラベルの修正が終了する。
【0177】
以上、本発明の第2の実施形態に係る学習装置20によって実行される「修正段階」の動作の流れについて説明した。
【0178】
(2-3.再学習段階)
続いて、本発明の第2の実施形態に係る学習装置20によって実行される「再学習段階」について説明する。本発明の第2の実施形態に係る学習装置20によって実行される「再学習段階」は、本発明の第1の実施形態に係る学習装置10によって実行される「再学習段階」と同様である。
【0179】
以上、本発明の第2の実施形態に係る学習装置20によって実行される「再学習段階」について説明した。
【0180】
(2-4.第2の実施形態のまとめ)
以上に説明したように、本発明の第2の実施形態に係る学習装置20は、ラベル無しデータの表現ベクトルに基づき、ラベルを付与すべき入力データを作業者に提示する機構を有する。かかる機構によって、作業者は、精度の向上に寄与することが期待される入力データに、効率的に正解ラベルを付与できるため、作業者によるラベル付与の負担が低減され得る。
【0181】
また、本発明の第2の実施形態によれば、教師なし学習の枠組みを崩さずに、教師なし学習の枠組みの外部に誤判定データを推定する機構を取り付けることが可能である。
【0182】
以上、本発明の第2の実施形態について説明した。
【0183】
(3.ハードウェア構成例)
続いて、本発明の第1の実施形態に係る学習装置10のハードウェア構成例について説明する。なお、本発明の第2の実施形態に係る学習装置20のハードウェア構成は、本発明の第1の実施形態に係る学習装置10と同様に実現され得る。
【0184】
以下では、本発明の第1の実施形態に係る学習装置10のハードウェア構成例として、情報処理装置900のハードウェア構成例について説明する。なお、以下に説明する情報処理装置900のハードウェア構成例は、学習装置10のハードウェア構成の一例に過ぎない。したがって、学習装置10のハードウェア構成は、以下に説明する情報処理装置900のハードウェア構成から不要な構成が削除されてもよいし、新たな構成が追加されてもよい。
【0185】
図11は、本発明の第1の実施形態に係る学習装置10の例としての情報処理装置900のハードウェア構成を示す図である。情報処理装置900は、CPU(Central Processing Unit)901と、ROM(Read Only Memory)902と、RAM(Random Access Memory)903と、ホストバス904と、ブリッジ905と、外部バス906と、インタフェース907と、入力装置908と、出力装置909と、ストレージ装置910と、通信装置911と、を備える。
【0186】
CPU901は、演算処理装置および制御装置として機能し、各種プログラムに従って情報処理装置900内の動作全般を制御する。また、CPU901は、マイクロプロセッサであってもよい。ROM902は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM903は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一時記憶する。これらはCPUバス等から構成されるホストバス904により相互に接続されている。
【0187】
ホストバス904は、ブリッジ905を介して、PCI(Peripheral Component Interconnect/Interface)バス等の外部バス906に接続されている。なお、必ずしもホストバス904、ブリッジ905および外部バス906を分離構成する必要はなく、1つのバスにこれらの機能を実装してもよい。
【0188】
入力装置908は、マウス、キーボード、タッチパネル、ボタン、マイクロフォン、スイッチおよびレバー等ユーザが情報を入力するための入力手段と、ユーザによる入力に基づいて入力信号を生成し、CPU901に出力する入力制御回路等から構成されている。情報処理装置900を操作するユーザは、この入力装置908を操作することにより、情報処理装置900に対して各種のデータを入力したり処理動作を指示したりすることができる。
【0189】
出力装置909は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置、OLED(Organic Light Emitting Diode)装置、ランプ等の表示装置およびスピーカ等の音声出力装置を含む。
【0190】
ストレージ装置910は、データ格納用の装置である。ストレージ装置910は、記憶媒体、記憶媒体にデータを記録する記録装置、記憶媒体からデータを読み出す読出し装置および記憶媒体に記録されたデータを削除する削除装置等を含んでもよい。ストレージ装置910は、例えば、HDD(Hard Disk Drive)で構成される。このストレージ装置910は、ハードディスクを駆動し、CPU901が実行するプログラムや各種データを格納する。
【0191】
通信装置911は、例えば、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。また、通信装置911は、無線通信または有線通信のどちらに対応してもよい。
【0192】
以上、本発明の第1の実施形態に係る学習装置10のハードウェア構成例について説明した。
【0193】
(4.まとめ)
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【0194】
本発明の第1の実施形態および本発明の第2の実施形態では、誤判定データ推定部112が、所定の条件の例として、距離diが各距離の大きいほうから対象件数X個以内に入るという条件を満たすラベル無しデータを誤判定データとして推定する例について主に説明した。しかし、所定の条件は、かかる条件に限定されない。例えば、誤判定データ推定部112は、所定の条件の例として、信頼度(第1の信頼度)が閾値よりも低いという条件を満たすラベル無しデータを誤判定データとして推定してもよい。かかる構成によれば、各ラベル無しデータを距離diが降順になるように並び変える処理が不要になるため、誤判定データの推定に要する演算量が低減され得る。
【0195】
また、本発明の第1の実施形態では、誤判定データ推定部112が、推定ラベルと一致する正解ラベルが対応付けられたラベル有りデータの特徴量の平均値とラベル無しデータの特徴量との距離に基づいて、推定ラベルの信頼度を算出する例について主に説明した。しかし、信頼度の算出は、かかる例に限定されない。
【0196】
例えば、誤判定データ推定部112は、全部のラベル無しデータの度数を推定ラベルごとに算出し、信頼度(第1の推定ラベル)と一致する推定ラベルに対応する度数に基づいて、信頼度(第1の信頼度)を算出してもよい。一例として、推定ラベルに対応する度数が大きいほど信頼度が高くてもよい。すなわち、誤判定データ推定部112は、信頼度(第1の推定ラベル)と一致する推定ラベルに対応する度数が大きいほど、信頼度(第1の信頼度)を高くしてもよい。
【0197】
同様に、本発明の第2の実施形態では、誤判定データ推定部212は、割当ラベル(第1の割当ラベル)と一致する割当ラベル(第2の割当ラベル)が対応付けられたラベル無しデータ(第2のラベル無しデータ)の表現ベクトルの平均値とラベル無しデータ(第1のラベル無しデータ)の表現ベクトルとの距離に基づいて、割当ラベル(第1の割当ラベル)の信頼度(第1の信頼度)を算出する例について主に説明した。しかし、信頼度の算出は、かかる例に限定されない。
【0198】
例えば、誤判定データ推定部112は、全部のラベル無しデータの度数を割当ラベルごとに算出し、割当ラベル(第1の割当ラベル)と一致する割当ラベルに対応する度数に基づいて、信頼度(第1の信頼度)を算出してもよい。一例として、割当ラベルに対応する度数が大きいほど信頼度が高くてもよい。すなわち、誤判定データ推定部112は、割当ラベル(第1の割当ラベル)と一致する割当ラベルに対応する度数が大きいほど、信頼度(第1の信頼度)を高くしてもよい。
【符号の説明】
【0199】
10、20 学習装置
111 入力部
112、212 誤判定データ推定部
113 提示制御部
114 提示部
115 記録制御部
116 操作部
120 ニューラルネットワーク
121 特徴抽出部
122 識別部
131 ラベル有りデータ評価部
132、232 ラベル無しデータ評価部
133 更新部
221 表現ベクトル抽出部