特許第6973625号(P6973625)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 日本電気株式会社の特許一覧

特許6973625学習装置、学習方法および学習プログラム
<>
  • 特許6973625-学習装置、学習方法および学習プログラム 図000002
  • 特許6973625-学習装置、学習方法および学習プログラム 図000003
  • 特許6973625-学習装置、学習方法および学習プログラム 図000004
  • 特許6973625-学習装置、学習方法および学習プログラム 図000005
  • 特許6973625-学習装置、学習方法および学習プログラム 図000006
  • 特許6973625-学習装置、学習方法および学習プログラム 図000007
  • 特許6973625-学習装置、学習方法および学習プログラム 図000008
  • 特許6973625-学習装置、学習方法および学習プログラム 図000009
  • 特許6973625-学習装置、学習方法および学習プログラム 図000010
  • 特許6973625-学習装置、学習方法および学習プログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6973625
(24)【登録日】2021年11月8日
(45)【発行日】2021年12月1日
(54)【発明の名称】学習装置、学習方法および学習プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20211118BHJP
【FI】
   G06N20/00 130
【請求項の数】10
【全頁数】19
(21)【出願番号】特願2020-509738(P2020-509738)
(86)(22)【出願日】2019年1月29日
(86)【国際出願番号】JP2019002867
(87)【国際公開番号】WO2019187594
(87)【国際公開日】20191003
【審査請求日】2020年9月14日
(31)【優先権主張番号】特願2018-63833(P2018-63833)
(32)【優先日】2018年3月29日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103090
【弁理士】
【氏名又は名称】岩壁 冬樹
(74)【代理人】
【識別番号】100124501
【弁理士】
【氏名又は名称】塩川 誠人
(72)【発明者】
【氏名】菅野 剛
【審査官】 多胡 滋
(56)【参考文献】
【文献】 国際公開第2010/016109(WO,A1)
【文献】 特開2013−117861(JP,A)
【文献】 米国特許出願公開第2016/0078361(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
与えられたデータが該当するカテゴリを判定するための第1のモデルの生成に用いられる学習データであって、予め定められた正解カテゴリと対応付けられている学習データを記憶する学習データ記憶手段と、
前記学習データを用いて、前記第1のモデルを機械学習によって学習する第1の学習処理を実行する第1の学習手段と、
前記学習データを前記第1のモデルに適用することによって、当該学習データが該当するカテゴリを判定し、判定結果となるカテゴリと前記学習データに対応する正解カテゴリとの差分に基づいて学習データをソートし、定められた個数の上位の学習データを第1の学習データとして選別し、定められた個数の下位の学習データを第2の学習データとして選別する選別処理を実行する選別手段と、
第1の学習データおよび第2の学習データを用いて、学習データを評価するための第2のモデルを機械学習によって学習する第2の学習処理を実行する第2の学習手段とを備え、
所定の条件が満たされるまで、
前記第1の学習手段が前記第1の学習処理を実行し、前記選別手段が前記選別処理を実行し、前記第2の学習手段が前記第2の学習処理を実行することを繰り返し、
前記第1の学習手段は、
前記第1の学習処理において、前記第2のモデルが生成されている場合に、個々の学習データを前記第2のモデルに適用することによって、前記個々の学習データを評価し、所定の評価の学習データを除外して、前記第1のモデルを学習する
ことを特徴とする学習装置。
【請求項2】
第2の学習手段は、
第2の学習処理において、学習データが第1のモデルの学習に用いる学習データとして適切であるか不適切であるかを判定するためのモデルを、第2のモデルとして学習し、
第1の学習手段は、
第1の学習処理において、前記第2のモデルが生成されている場合に、個々の学習データを前記第2のモデルに適用することによって、前記個々の学習データが適切であるか不適切であるかを判定し、不適切と判定した学習データを除外して、前記第1のモデルを学習する
請求項1に記載の学習装置。
【請求項3】
選別手段は、
選別処理において、正解カテゴリ毎に、
学習データを第1のモデルに適用することによって、当該学習データが該当するカテゴリを判定し、判定結果となるカテゴリと前記学習データに対応する正解カテゴリとの差分に基づいて学習データをソートする
請求項1または請求項2に記載の学習装置。
【請求項4】
選別手段は、
選別処理において、判定結果となるカテゴリと正解カテゴリとの差分に基づいて、昇順に学習データをソートする
請求項1から請求項3のうちのいずれか1項に記載の学習装置。
【請求項5】
ユーザから、学習データが適切であるか否かの指定を受け付ける指定受付手段を備え、
第2の学習手段は、
選別手段によって第1の学習データとして選別された学習データ、および、前記選別手段によって第2の学習データとして選別された学習データ、並びに、ユーザから適切な学習データとして指定された学習データ、および、前記ユーザから不適切な学習データとして指定された学習データを用いて、第2のモデルを学習する
請求項1から請求項4のうちのいずれか1項に記載の学習装置。
【請求項6】
除外対象となる所定の評価の学習データを表示する表示制御手段を備える
請求項1から請求項5のうちのいずれか1項に記載の学習装置。
【請求項7】
選別手段は、
選別処理において、ベクトルで表された、カテゴリの判定結果と、ベクトルで表された正解データとの差分のノルムに基づいて、学習データをソートする
請求項1から請求項6のうちのいずれか1項に記載の学習装置。
【請求項8】
与えられたデータが該当するカテゴリを判定するための第1のモデルの生成に用いられる学習データであって、予め定められた正解カテゴリと対応付けられている学習データを記憶する学習データ記憶手段を備えたコンピュータが、
前記学習データを用いて、前記第1のモデルを機械学習によって学習する第1の学習処理を実行し、
前記学習データを前記第1のモデルに適用することによって、当該学習データが該当するカテゴリを判定し、判定結果となるカテゴリと前記学習データに対応する正解カテゴリとの差分に基づいて学習データをソートし、定められた個数の上位の学習データを第1の学習データとして選別し、定められた個数の下位の学習データを第2の学習データとして選別する選別処理を実行し、
第1の学習データおよび第2の学習データを用いて、学習データを評価するための第2のモデルを機械学習によって学習する第2の学習処理を実行し、
所定の条件が満たされるまで、前記第1の学習処理、前記選別処理および前記第2の学習処理を繰り返し、
前記第1の学習処理において、前記第2のモデルが生成されている場合に、個々の学習データを前記第2のモデルに適用することによって、前記個々の学習データを評価し、所定の評価の学習データを除外して、前記第1のモデルを学習する
ことを特徴とする学習方法。
【請求項9】
コンピュータが、
第2の学習処理において、学習データが第1のモデルの学習に用いる学習データとして適切であるか不適切であるかを判定するためのモデルを、第2のモデルとして学習し、
第1の学習処理において、前記第2のモデルが生成されている場合に、個々の学習データを前記第2のモデルに適用することによって、前記個々の学習データが適切であるか不適切であるかを判定し、不適切と判定した学習データを除外して、前記第1のモデルを学習する
請求項8に記載の学習方法。
【請求項10】
与えられたデータが該当するカテゴリを判定するための第1のモデルの生成に用いられる学習データであって、予め定められた正解カテゴリと対応付けられている学習データを記憶する学習データ記憶手段を備えたコンピュータに搭載される学習プログラムであって、
前記コンピュータに、
前記学習データを用いて、前記第1のモデルを機械学習によって学習する第1の学習処理、
前記学習データを前記第1のモデルに適用することによって、当該学習データが該当するカテゴリを判定し、判定結果となるカテゴリと前記学習データに対応する正解カテゴリとの差分に基づいて学習データをソートし、定められた個数の上位の学習データを第1の学習データとして選別し、定められた個数の下位の学習データを第2の学習データとして選別する選別処理、および、
第1の学習データおよび第2の学習データを用いて、学習データを評価するための第2のモデルを機械学習によって学習する第2の学習処理を実行させ、
所定の条件が満たされるまで、前記第1の学習処理、前記選別処理および前記第2の学習処理を繰り返させ、
前記第1の学習処理において、前記第2のモデルが生成されている場合に、個々の学習データを前記第2のモデルに適用することによって、前記個々の学習データを評価させ、所定の評価の学習データを除外して、前記第1のモデルを学習させる
ための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データが該当するカテゴリを判定するためのモデルを機械学習によって学習する学習装置、学習方法および学習プログラムに関する。
【背景技術】
【0002】
データが該当するカテゴリを判定するためのモデルを機械学習によって学習する場合、予め収集された学習データを用いて、モデルを学習する。
【0003】
学習データの中に、カテゴリの判定に影響する特徴を有していない学習データが存在していると、学習されたモデルの判定精度が低下したり、モデルの学習に悪影響を与えたりする。そのため、収集された学習データの中から、カテゴリの判定に影響する特徴を有していない学習データを除去する必要がある。一般的には、専門家が、モデルの学習後に、学習されたモデルに基づいて、学習データを手作業で吟味し、除去すべき学習データを手作業で除去する。
【0004】
また、特許文献1には、各データの素性情報を基に、素性とその評価の間の対応関係を学習し、学習結果に基づいて、学習データの候補の中から、機械学習に不適切な学習データを削除する機械学習システムが記載されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−181928号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ディープラーニング等の機械学習を利用した画像認識の精度向上により、例えば、画像に写っている物体が所定の物体に該当するか否かを自動判定する処理等のニーズが高まっている。この場合、学習データとして、その所定の物体の画像を収集することになる。このとき、撮影条件等の制約により、画像に写っている物体が所定の物体に該当するか否かの判定に影響する特徴を明確に捉えた画像だけを収集することは難しい。
【0007】
さらに、機械学習において、所定の物体のどの部位が、所定の物体に該当するか否かの判定に影響する特徴になるのかが判明していない場合には、どのような画像が学習に適した画像であるのかが不明となる。そのため、上記のような特徴を明確に捉えた画像だけを収集することが、一層、難しくなる。
【0008】
また、学習に適していないデータが学習データに含まれたまま、モデルの学習を行うと、そのモデルによる判定精度が低下してしまう。
【0009】
そこで、本発明は、学習データの中から、モデルの学習に不適切な学習データを精度よく除外し、モデルの学習を行うことができる学習装置、学習方法および学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明による学習装置は、与えられたデータが該当するカテゴリを判定するための第1のモデルの生成に用いられる学習データであって、予め定められた正解カテゴリと対応付けられている学習データを記憶する学習データ記憶手段と、学習データを用いて、第1のモデルを機械学習によって学習する第1の学習処理を実行する第1の学習手段と、学習データを第1のモデルに適用することによって、当該学習データが該当するカテゴリを判定し、判定結果となるカテゴリと学習データに対応する正解カテゴリとの差分に基づいて学習データをソートし、定められた個数の上位の学習データを第1の学習データとして選別し、定められた個数の下位の学習データを第2の学習データとして選別する選別処理を実行する選別手段と、第1の学習データおよび第2の学習データを用いて、学習データを評価するための第2のモデルを機械学習によって学習する第2の学習処理を実行する第2の学習手段とを備え、所定の条件が満たされるまで、第1の学習手段が第1の学習処理を実行し、選別手段が選別処理を実行し、第2の学習手段が第2の学習処理を実行することを繰り返し、第1の学習手段が、第1の学習処理において、第2のモデルが生成されている場合に、個々の学習データを第2のモデルに適用することによって、個々の学習データを評価し、所定の評価の学習データを除外して、第1のモデルを学習することを特徴とする。
【0011】
また、本発明による学習方法は、与えられたデータが該当するカテゴリを判定するための第1のモデルの生成に用いられる学習データであって、予め定められた正解カテゴリと対応付けられている学習データを記憶する学習データ記憶手段を備えたコンピュータが、学習データを用いて、第1のモデルを機械学習によって学習する第1の学習処理を実行し、学習データを第1のモデルに適用することによって、当該学習データが該当するカテゴリを判定し、判定結果となるカテゴリと学習データに対応する正解カテゴリとの差分に基づいて学習データをソートし、定められた個数の上位の学習データを第1の学習データとして選別し、定められた個数の下位の学習データを第2の学習データとして選別する選別処理を実行し、第1の学習データおよび第2の学習データを用いて、学習データを評価するための第2のモデルを機械学習によって学習する第2の学習処理を実行し、所定の条件が満たされるまで、第1の学習処理、選別処理および第2の学習処理を繰り返し、第1の学習処理において、第2のモデルが生成されている場合に、個々の学習データを第2のモデルに適用することによって、個々の学習データを評価し、所定の評価の学習データを除外して、第1のモデルを学習することを特徴とする。
【0012】
また、本発明による学習プログラムは、与えられたデータが該当するカテゴリを判定するための第1のモデルの生成に用いられる学習データであって、予め定められた正解カテゴリと対応付けられている学習データを記憶する学習データ記憶手段を備えたコンピュータに搭載される学習プログラムであって、コンピュータに、学習データを用いて、第1のモデルを機械学習によって学習する第1の学習処理、学習データを第1のモデルに適用することによって、当該学習データが該当するカテゴリを判定し、判定結果となるカテゴリと学習データに対応する正解カテゴリとの差分に基づいて学習データをソートし、定められた個数の上位の学習データを第1の学習データとして選別し、定められた個数の下位の学習データを第2の学習データとして選別する選別処理、および、第1の学習データおよび第2の学習データを用いて、学習データを評価するための第2のモデルを機械学習によって学習する第2の学習処理を実行させ、所定の条件が満たされるまで、第1の学習処理、選別処理および第2の学習処理を繰り返させ、第1の学習処理において、第2のモデルが生成されている場合に、個々の学習データを第2のモデルに適用することによって、個々の学習データを評価させ、所定の評価の学習データを除外して、第1のモデルを学習させることを特徴とする。
【発明の効果】
【0013】
本発明によれば、学習データの中から、モデルの学習に不適切な学習データを精度よく除外し、モデルの学習を行うことができる。
【図面の簡単な説明】
【0014】
図1】本発明の第1の実施形態の学習装置の構成例を示すブロック図である。
図2】適切な学習データおよび不適切な学習データの選別を示す模式図である。
図3】本発明の学習装置の処理経過の例を示すフローチャートである。
図4】ステップS101の処理経過の例を示すフローチャートである。
図5】学習データの除外を示す模式図である。
図6】ステップS102の処理経過の例を示すフローチャートである。
図7】本発明の第2の実施形態の学習装置の例を示すブロック図である。
図8】本発明の第3の実施形態の学習装置の例を示すブロック図である。
図9】本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。
図10】本発明の学習装置の概要を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施形態を図面を参照して説明する。
【0016】
本発明の学習装置は、与えられたデータが該当するカテゴリを判定するためのモデルを機械学習によって学習する。カテゴリは、モデルを用いた判定処理の種々の判定結果である。例えば、画像に写っている物体が所定の物体に該当するか否かを判定するためのモデルを学習した場合、カテゴリの種類は、「画像に写っている物体が所定の物体に該当する」というカテゴリと、「画像に写っている物体が所定の物体に該当しない」というカテゴリの2種類になる。ただし、カテゴリの種類は2種類に限定されない。カテゴリの種類は、どのような学習データから、どのような判定を行うためのモデルを学習するかによって定まる。また、後述するように、モデルを学習するために用いられる個々の学習データには、その学習データに対して予め定められた正解カテゴリ(正解を表すカテゴリ)が対応付けられている。正解カテゴリは、学習データに応じて、例えば、予め、学習装置のユーザによって定められる。
【0017】
なお、以下に示す各実施形態では、与えられたデータが該当するカテゴリを判定するためのモデルをディープラーニングによって学習する場合を例にして説明する。この場合、そのモデルを用いた判定処理によって判定結果として得られる各カテゴリは、ベクトルで表される。そして、個々の学習データに対応付けて予め定められている正解カテゴリも、ベクトルで表されるものとする。
【0018】
実施形態1.
図1は、本発明の第1の実施形態の学習装置の構成例を示すブロック図である。本発明の学習装置100は、学習データ記憶部1と、第1の学習部2と、第1のモデル記憶部3と、選別部4と、第2の学習部5と、第2のモデル記憶部6とを備える。
【0019】
学習装置100は、与えられたデータが該当するカテゴリを判定するためのモデルを機械学習によって学習するだけでなく、個々の学習データがそのモデルの学習に用いる学習データとして適切であるか否かを判定するためのモデルも機械学習によって学習する。2つのモデルを区別するために、与えられたデータが該当するカテゴリを判定するためのモデルを第1のモデルと記す。また、個々の学習データが第1のモデルの学習に用いる学習データとして適切であるか否かを判定するためのモデルを第2のモデルと記す。
【0020】
学習データ記憶部1は、第1のモデルの学習(生成)に用いられる学習データを、複数個、記憶する記憶装置である。個々の学習データには、予め定められた正解カテゴリが対応付けられている。
【0021】
第1のモデルとして、画像に写っている物体が所定の物体に該当するか否かを判定するためのモデルを学習する場合を例にして説明する。この場合、例えば、学習装置100のユーザ(以下、単にユーザと記す。)は、複数個の画像データを収集する。そして、ユーザは、個々の画像データに対して、正解カテゴリを対応付けて、学習データ記憶部1に予め記憶させておく。ユーザは、画像に写っている物体が所定の物体に該当すると判断した場合には、「画像に写っている物体が所定の物体に該当する」という正解カテゴリをその画像の画像データに対応づければよい。また、ユーザは、画像に写っている物体が所定の物体に該当しないと判断した場合には、「画像に写っている物体が所定の物体に該当しない」という正解カテゴリをその画像の画像データに対応づければよい。
【0022】
なお、学習データは、上記の画像データに限定されない。ユーザは、第1のモデルとして、どのような判定を行うためのモデルを学習するのかに応じた学習データを、正解カテゴリに対応づけて、学習データ記憶部1に記憶させておけばよい。
【0023】
第1の学習部2は、学習データ記憶部1に記憶されている学習データを用いて、機械学習によって第1のモデルを学習する。各実施形態では、第1の学習部2がディープラーニングによって第1のモデルを学習する場合を例にして説明する。
【0024】
また、第1の学習部2は、第2のモデル(個々の学習データが第1のモデルの学習に用いる学習データとして適切であるか否かを判定するためのモデル)が生成されている場合には、個々の学習データを第2のモデルに適用することによって、個々の学習データが適切であるか不適切であるかを判定する。そして、第1の学習部2は、不適切と判定した学習データを除外して残った学習データを用いて第1のモデルを学習する。
【0025】
後述するように、学習装置100は、第1の学習部2の処理、選別部4の処理、および、第2の学習部5の処理を、繰り返す。繰り返し処理の1回目では、まだ、第2のモデルは生成されていない。この場合、第1の学習部2は、学習データ記憶部1に記憶されている全ての学習データを用いて、第1のモデルを学習する。また、繰り返し処理の2回目以降では、第2のモデルが生成されている。この場合、第1の学習部2は、個々の学習データを第2のモデルに適用することによって、個々の学習データが適切であるか不適切であるかを判定する。そして、第1の学習部2は、不適切と判定した学習データを除外して残った学習データを用いて第1のモデルを学習する。
【0026】
第1の学習部2は、学習によって得た第1のモデルを第1のモデル記憶部3に記憶させる。第1のモデル記憶部3は、第1のモデルを記憶する記憶装置である。
【0027】
選別部4は、学習データ記憶部1から各学習データを読み込む。そして、選別部4は、正解カテゴリ毎に、個々の学習データを第1のモデルに適用することによって、その個々の学習データが該当するカテゴリを判定する。各実施形態では、第1の学習部2は、ディープラーニングによって第1のモデルを学習する。ディープラーニングによって得られたモデルによって、データが該当するカテゴリを判定する場合、カテゴリの判定結果は、ベクトルとして得られる。従って、個々の学習データに対するカテゴリの判定結果は、ベクトルとして得られる。また、学習データに対応付けられる正解データも予め、ベクトルとして定められる。選別部4は、正解カテゴリ毎に、個々の学習データに関して、学習データに対して判定したカテゴリと、その学習データに対応する正解データとの差分を計算し、さらに、その差分に基づいて、学習データをソートする。ここでは、選別部4は、差分を示す値に基づいて、昇順に学習データをソートするものとする。
【0028】
選別部4は、上記の処理を、学習データに対応付けられている正解カテゴリ毎に行う。従って、上記の処理の結果、例えば、「画像に写っている物体が所定の物体に該当する」という正解カテゴリに対応付けられている各学習データがソートされ、また、「画像に写っている物体が所定の物体に該当しない」という正解カテゴリに対応付けられている各学習データがソートされる。
【0029】
正解データとの差分が小さい学習データは、第1のモデルの学習に用いる学習データとして適切であると言える。また、正解データとの差分が大きい学習データは、第1のモデルの学習に用いる学習データとして不適切であると言える。従って、差分を示す値に基づいて昇順にソートされた学習データにおいて、上位の学習データは、適切な学習データであると言え、下位の学習データは、不適切な学習データであると言える。
【0030】
選別部4は、正解カテゴリ毎に、昇順にソートされた学習データから、予め定められた個数の上位の学習データを適切な学習データとして選別し、予め定められた個数の下位の学習データを不適切な学習データとして選別する。図2は、適切な学習データおよび不適切な学習データの選別を示す模式図である。図2では、正解カテゴリが“カテゴリA”、“カテゴリB”および“カテゴリC”の3種類である場合を例示している。選別部4は、正解カテゴリが“カテゴリA”である学習データをソートした後、その学習データの中から、予め定められた個数の上位の学習データを適切な学習データとして選別し、予め定められた個数の下位の学習データを不適切な学習データとして選別する。選別部4は、正解カテゴリが“カテゴリB”である学習データ、および、正解カテゴリが“カテゴリC”である学習データに関しても、それぞれ同様に、ソート処理の後、予め定められた個数の上位の学習データを適切な学習データとして選別し、予め定められた個数の下位の学習データを不適切な学習データとして選別する。適切な学習データとして選別された学習データ、および、不適切な学習データとして選別された学習データは、第2のモデルを学習するための学習データ(教師データ)となる。
【0031】
なお、適切な学習データとして選別される学習データを第1の学習データと称し、不適切な学習データとして選別される学習データを第2の学習データと称することによって、適切な学習データとして選別される学習データと、不適切な学習データとして選別される学習データとを区別してもよい。
【0032】
また、選別部4は、正解カテゴリに依らず、適切な学習データおよび不適切な学習データを選別してもよい。この場合、選別部4は、学習データに対して判定したカテゴリとその学習データに対応する正解データとの差分を示す値に基づいて、正解カテゴリに依らずに各学習データをソートし、予め定められた個数の上位の学習データを適切な学習データとして選別し、予め定められた個数の下位の学習データを不適切な学習データとして選別すればよい。
【0033】
第2の学習部5は、選別部4によって適切な学習データとして選別された学習データ、および、選別部4によって不適切な学習データとして選別された学習データを用いて(換言すれば、それらの学習データを教師データとして)、第2のモデルを機械学習によって学習する。第2の学習部5は、選別部4によって選別された学習データをまとめて用いて、正解カテゴリに依らず、第2のモデルを学習する。従って、正解カテゴリの種類が複数であっても、第2の学習部5は、第2のモデルを1つ学習する。
【0034】
第2の学習部5は、学習によって得た第2のモデルを第2のモデル記憶部6に記憶させる。第2のモデル記憶部6は、第2のモデルを記憶する記憶装置である。
【0035】
学習装置100は、第1の学習部2が実行する処理(第1の学習処理と称することができる。)、選別部4が実行する処理(選別処理と称することができる。)、および、第2の学習部5が実行する処理(第2の学習処理と称することができる。)を、所定の条件が満たされるまで繰り返す。この所定の条件の例として、繰り返し回数が、予め定められた回数に達したことが挙げられる。あるいは、この所定の条件の他の例として、適切な学習データ、または、不適切な学習データとして選別された学習データを第2のモデルに適用した場合において、学習データの分類(「適切」または「不適切」)と、学習データを第2のモデルに適用することによって得た判定結果との差分が予め定められた閾値以下になったことが挙げられる。
【0036】
第1の学習部2、選別部4および第2の学習部5は、例えば、学習プログラムに従って動作するコンピュータのCPU(Central Processing Unit )によって実現される。この場合、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から学習プログラムを読み込み、そのプログラムに従って、第1の学習部2、選別部4および第2の学習部5として動作すればよい。
【0037】
次に、発明の処理経過について説明する。図3は、本発明の学習装置100の処理経過の例を示すフローチャートである。
【0038】
第1の学習部2は、第1のモデルを学習し、第1のモデル記憶部3に記憶させる(ステップS101)。ステップS101の具体的な処理経過については、後述する。
【0039】
次に、学習装置100は、第2のモデルを学習し、第2のモデル記憶部6に記憶させる。(ステップS102)。ステップS102の処理には、選別部4が、学習データ記憶部1に記憶されている学習データから学習データを選別する処理や、第2の学習部5が、選別された学習データを用いて第2のモデルが学習する処理が含まれる。ステップS102の具体的な処理経過については、後述する。
【0040】
ステップS102の後、例えば、第1の学習部2が、所定の条件が満たされたか否かを判定する(ステップS103)。所定の条件が満たされていない場合には(ステップS103のNo)、学習装置100は、ステップS101以降の処理を繰り返す。所定の条件が満たされた場合には(ステップS103のYes)、処理を終了する。
【0041】
既に説明したように、所定の条件の例として、繰り返し回数が、予め定められた回数に達したことが挙げられる。例えば、第1の学習部2が、繰り返し回数が、予め定められた回数に達成したか否かを判定すればよい。
【0042】
また、所定の条件の他の例として、適切な学習データ、または、不適切な学習データとして選別された学習データを第2のモデルに適用した場合において、学習データの分類(「適切」または「不適切」)と、学習データを第2のモデルに適用することによって得た判定結果との差分が予め定められた閾値以下になったことが挙げられる。学習データを第2のモデルに適用することによって学習データが適切か否かを判定する処理は、ステップS101において、第1の学習部2が行うので、第1の学習部2が上記の条件が満たされたか否かを判定すればよい。
【0043】
次に、ステップS101の処理についてより具体的に説明する。図4は、ステップS101の処理経過の例を示すフローチャートである。
【0044】
ステップS101において、まず、第1の学習部2は、学習データ記憶部1から、各学習データを読み込む(ステップS201)。
【0045】
次に、第1の学習部2は、現在がステップS101〜S103(図3参照)の繰り返し処理の1回目であるか、あるいは、ステップS101〜S103の繰り返し処理の2回目以降であるかを判定する(ステップS202)。
【0046】
現在がステップS101〜S103の繰り返し処理の1回目である場合には、まだ、第2のモデルは生成されていない。一方、ステップS101〜S103の繰り返し処理の2回目以降である場合には、第2のモデルが生成され、第2のモデル記憶部6に記憶されている。
【0047】
現在が繰り返し処理の1回目である場合、ステップS205に移行する。ステップS202からステップS205に移行した場合、ステップS205において、第1の学習部2は、学習データ記憶部1から読み込んだ各学習データを全て用いて、機械学習によって、第1のモデルを学習する。
【0048】
第1の学習部2は、ステップS205において、学習データを繰り返し使用する手法の機械学習によって、第1のモデルを学習する。学習データを繰り返し使用する手法の機械学習の一例がディープラーニングであり、各実施形態では、第1の学習部2が、学習データを用いて、ディープラーニングによって第1のモデルを学習する場合を例にする。ただし、第1の学習部2は、学習データを使用する反復回数として必要な回数を全て実行するのではなく、学習データを使用する反復回数が一定の回数に達したら、学習を終了する。
【0049】
また、現在が繰り返し処理の2回目以降である場合、ステップS203に移行する。ステップS203において、第1の学習部2は、第2のモデル記憶部6から第2のモデルを読み込む。
【0050】
ステップS203の後、第1の学習部2は、ステップS201で学習データ記憶部1から読み込んだ個々の学習データをそれぞれ、ステップS203で読み込んだ第2のモデルに適用することによって、その個々の学習データが、第1のモデルの学習に用いる学習データとして適切であるか否かを判定する。そして、第1の学習部2は、不適切と判定した学習データを、学習データ記憶部1から読み込んだ各学習データの中から除外する(ステップS204)。
【0051】
図5は、学習データの除外を示す模式図である。図5に示す例では、第1の学習部2が、学習データA,B,C,Dをそれぞれ第2のモデルに適用した結果、学習データA,Cがそれぞれ不適切であり、学習データB,Dが適切であると判定した場合を示している。ステップS204からステップS205に移行した場合、学習データA,Cを除外して残った学習データを用いて、第1のモデルが学習される。
【0052】
ステップS101〜S103(図3参照)は繰り返し実行されるので、ステップS101〜S103の繰り返し毎に、第2のモデルは更新される。従って、ステップS204に移行する毎に、第2のモデルは更新されている。そのため、ステップS201で学習データ記憶部1から読み込んだ個々の学習データに対するステップS204の判定結果は、変化し得る。例えば、ある学習データに関して、ステップS204で不適切であると判定した場合であっても、次回のステップS101におけるステップS204では、その学習データに関して適切であると判定し得る。
【0053】
また、第1の学習部2は、ステップS204において、選別部4によって定められた学習データの分類(「適切」または「不適切」)と、学習データを第2のモデルに適用することによって得た判定結果との差分を示す数値を算出してもよい。そして、ステップS103(図3参照)では、第1の学習部2が、その差分を示す数値が閾値以下であるか否かによって、所定の条件が満たされたか否かを判定してもよい。
【0054】
ステップS204の後、ステップS205に移行する。ステップS204からステップS205に移行した場合、ステップS205において、第1の学習部2は、不適切と判定した学習データを除外して残った学習データを用いて、ディープラーニングによって、第1のモデルを学習する。既に説明したように、第1の学習部2は、学習データを使用する反復回数が一定の回数に達したら、学習を終了する。
【0055】
ステップS205の後、第1の学習部2は、ステップS205で生成した第1のモデルを第1のモデル記憶部3に記憶させる(ステップS206)。第1のモデル記憶部3に第1のモデルが記憶されている場合には、第1の学習部2は、直前のステップS205で生成した第1のモデルで、第1のモデル記憶部3に記憶されている第1のモデルを更新する。
【0056】
ステップS206で、ステップS101(図3参照)が終了する。
【0057】
次に、ステップS102の処理についてより具体的に説明する。図6は、ステップS102の処理経過の例を示すフローチャートである。
【0058】
ステップS102において、まず、選別部4は、学習データ記憶部1から、各学習データを読み込む(ステップS301)。
【0059】
次に、選別部4は、第1のモデル記憶部3から第1のモデルを読み込む(ステップS302)。この第1のモデルは、直近のステップS205(図4参照)で学習されたモデルである。
【0060】
次に、選別部4は、正解カテゴリ毎に、個々の学習データを第1のモデルに適用することによって、その個々の学習データが該当するカテゴリを判定する(ステップS303)。ステップS303において、選別部4は、学習データを正解カテゴリ毎に分類する際に、各学習データに対応付けられている正解カテゴリを参照する。しかし、選別部4は、個々の学習データが該当するカテゴリを判定する際には、正解カテゴリを参照しない。
【0061】
また、選別部4は、学習データを第1のモデルに適用することによって、その学習データが該当するカテゴリを判定する過程で、確信度を、カテゴリ毎に計算する。確信度は、着目しているカテゴリへの学習データの該当しやすさを示す数値である。選別部4は、確信度が最大となるカテゴリを、学習データが該当するカテゴリとして決定する。
【0062】
ステップS303の次に、選別部4は、正解カテゴリ毎に、個々の学習データに関して、学習データに対してステップS303で判定したカテゴリと、その学習データに対応する正解データとの差分を計算し、さらに、その差分に基づいて、学習データをソートする(ステップS304)。ここでは、選別部4は、差分に基づいて、学習データを昇順にソートするものとする。
【0063】
ステップS303で判定されたカテゴリと、正解カテゴリとの差分を示す値の算出方法の例を示す。既に説明したように、ディープラーニングによって得られたモデルによって、データが該当するカテゴリを判定する場合、カテゴリの判定結果は、ベクトルとして得られる。また、正解データも予め、ベクトルとして定められる。
【0064】
例えば、選別部4は、ステップS303で判定したカテゴリを表すベクトルと、正解データを表すベクトルとの差分を計算し、その差分のL1ノルムを、差分を示す値として算出してもよい。そして、選別部4は、正解カテゴリ毎に、L1ノルムに基づいて、学習データを昇順にソートしてもよい。
【0065】
また、例えば、ステップS303で判定したカテゴリを表すベクトルと、正解データを表すベクトルとの差分を計算し、その差分のL2ノルムを、差分を示す値として算出してもよい。そして、選別部4は、正解カテゴリ毎に、L2ノルムに基づいて、学習データを昇順にソートしてもよい。
【0066】
また、選別部4は、前述の確信度に基づいて、学習データをソートしてもよい。具体的には、選別部4は、学習データのカテゴリを判定する過程で得た、その学習データに対応する正解カテゴリに対する確信度に基づいて、正解カテゴリ毎に、学習データを昇順にソートしてもよい。
【0067】
ステップS304の後、選別部4は、第1のモデルの学習に用いる学習データとして適切な学習データと、不適切な学習データとをそれぞれ選別する(ステップS305)。
【0068】
例えば、選別部4は、正解カテゴリ毎に、昇順にソートされた学習データから、予め定められた個数の上位の学習データを適切な学習データとして選別し、予め定められた個数の下位の学習データを不適切な学習データとして選別する。
【0069】
あるいは、選別部4は、正解カテゴリに依らずに各学習データをソートし、予め定められた個数の上位の学習データを適切な学習データとして選別し、予め定められた個数の下位の学習データを不適切な学習データとして選別してもよい。
【0070】
ステップS305の次に、第2の学習部5は、選別部4によって適切な学習データとして選別された学習データ、および、選別部4によって不適切な学習データとして選別された学習データを全てまとめて用いて、機械学習によって、第2のモデルを学習する(ステップS306)。
【0071】
ステップS306の後、第2の学習部5は、ステップS306で生成した第2のモデルを第2のモデル記憶部6に記憶させる(ステップS307)。第2のモデル記憶部6に第2のモデルが記憶されている場合には、第2の学習部5は、直前のステップS306で生成した第2のモデルで、第2のモデル記憶部6に記憶されている第2のモデルを更新する。
【0072】
ステップS307で、ステップS102(図3参照)が終了する。
【0073】
ステップS102の後、例えば、第1の学習部2が、所定の条件が満たされたか否かを判定する(ステップS103)。所定の条件が満たされていない場合には(ステップS103のNo)、ステップS101以降の処理を繰り返す。所定の条件が満たされた場合には(ステップS103のYes)、処理を終了する。
【0074】
第1の実施形態によれば、選別部4が、第1のモデルの学習に用いる学習データとして適切な学習データ、および、不適切な学習データを選別する。そして、第2の学習部5が、選別部4によって選別された学習データを全てまとめて用いて、機械学習によって、第2のモデルを学習する。そして、第1の学習部2は、学習データ記憶部1に記憶されている個々の学習データをそれぞれ第2のモデルに適用することによって、個々の学習データが適切であるか不適切であるかを判定する。そして、第1の学習部2は、不適切と判定した学習データを除外して残った学習データを用いて第1のモデルを学習する。従って、個々の学習データの中から、第1のモデルの学習に不適切な学習データを除外して、第1のモデルの学習を行うことができる。
【0075】
また、個々の学習データが第1のモデルの学習に用いる学習データとして適切であるか否かを判定するための第2のモデルを学習し、個々の学習データをそれぞれ第2のモデルに適用することによって、個々の学習データが適切であるか不適切であるかを判定する。従って、不適切な学習データを精度よく判別し、除外することができる。
【0076】
また、不適切な学習データを精度よく除外して第1のモデルを学習するので、与えられたデータを第1のモデルに適用することで、そのデータのカテゴリを精度よく判定することができる。
【0077】
実施形態2.
本発明の第2の実施形態の学習装置は、学習データが適切であるか否かの指定を受け付ける。図7は、本発明の第2の実施形態の学習装置の例を示すブロック図である。図1に示す要素と同様の要素については、図1と同一の符号を付し、説明を省略する。本発明の第2の実施形態の学習装置100は、第1の実施形態の学習装置100(図1参照)が備える各要素に加えて、さらに、指定受付部7を備える。
【0078】
指定受付部7は、学習データ記憶部1に記憶されている個々の学習データが適切であるか否かの指定を、ユーザから受け付ける。例えば、指定受付部7は、ステップS305(図6参照)の後、学習データ記憶部1から各学習データを読み込み、学習装置100が備えるディスプレイ装置(図7において図示略)に個々の学習データを表示する。そして、指定受付部7は、ディスプレイ上に表示したGUI(Graphic User Interface)を介して、個々の学習データが、第1のモデルの学習に用いる学習データとして適切であるか否かの指定を受け付ければよい。
【0079】
上記の指定受付部7の動作の後に、ステップS306に移行する。ステップS306では、第2の学習部5は、選別部4によって適切な学習データとして選別された学習データ、および、選別部4によって不適切な学習データとして選別された学習データ、並びに、ユーザから適切な学習データとして指定された学習データ、および、ユーザから不適切な学習データとして指定された学習データを用いて、第2のモデルを学習する。
【0080】
このとき、選別部4によって適切な学習データとして選別された学習データが、ユーザによって不適切と指定されている場合には、第2の学習部5は、ユーザによる指定を優先し、その学習データが不適切な学習データであるものとして、第2のモデルを学習する。
【0081】
同様に、選別部4によって不適切な学習データとして選別された学習データが、ユーザによって適切と指定されている場合には、第2の学習部5は、ユーザによる指定を優先し、その学習データが適切な学習データであるものとして、第2のモデルを学習する。
【0082】
指定受付部7は、例えば、学習プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から学習プログラムを読み込み、そのプログラムに従って、第1の学習部2、選別部4、第2の学習部5および指定受付部7として動作すればよい。
【0083】
第2の実施形態によれば、学習データが適切か否かに関して、ユーザの判断も取り入れることができる。
【0084】
実施形態3.
図8は、本発明の第3の実施形態の学習装置の例を示すブロック図である。図1に示す要素と同様の要素については、図1と同一の符号を付し、説明を省略する。本発明の第3の実施形態の学習装置100は、第1の実施形態の学習装置100(図1参照)が備える各要素に加えて、さらに、表示制御部8を備える。
【0085】
表示制御部8は、ステップS204において第1の学習部2が不適切と判定した各学習データを、学習装置100が備えるディスプレイ装置(図8において図示略)に表示する。
【0086】
表示制御部8は、例えば、学習プログラムに従って動作するコンピュータのCPUによって実現される。この場合、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体から学習プログラムを読み込み、そのプログラムに従って、第1の学習部2、選別部4、第2の学習部5および表示制御部8として動作すればよい。
【0087】
本実施形態によれば、第1のモデルの学習に用いる学習データとして不適切と判定された学習データを、表示制御部8がディスプレイ装置に表示する。従って、ユーザに、不適切と判定された学習データを提示することができる。第3の実施形態では、不適切が学習データを検出して、ユーザに提示していると言うことができる。
【0088】
また、第2の実施形態に、第3の実施形態を適用してもよい。
【0089】
以上の説明では、第1のモデルとして、画像に写っている物体が所定の物体に該当するか否かを判定するためモデルを例示して説明した。第1のモデルは、このようなモデルに限定されない。例えば、第1のモデルは、姿勢の固定が難しい小型製品(例えば、ねじ等)が写っている画像の画像データが与えられた場合に、画像に写っている小型製品を分類するためのモデルであってもよい。
【0090】
また、例えば、第1のモデルは、自然物(石や木等)が写っている画像の画像データが与えられた場合に、画像に写っている自然物を分類するためのモデルであってもよい。
【0091】
また、例えば、第1のモデルは、外乱の影響を受ける環境(野外等)で撮影された画像の画像データが与えられた場合に、画像に写っている物を分類するためのモデルであってもよい。
【0092】
図9は、本発明の各実施形態に係るコンピュータの構成例を示す概略ブロック図である。コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、ディスプレイ装置1005とを備える。
【0093】
本発明の各実施形態の学習装置100は、コンピュータ1000に実装される。学習装置100の動作は、学習プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、その学習プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、その学習プログラムに従って、上記の各実施形態で説明した処理を実行する。
【0094】
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD−ROM(Compact Disk Read Only Memory )、DVD−ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、上記の処理を実行してもよい。
【0095】
次に、本発明の概要について説明する。図10は、本発明の学習装置の概要を示すブロック図である。本発明の学習装置は、学習データ記憶手段71と、第1の学習手段72と、選別手段73と、第2の学習手段74とを備える。
【0096】
学習データ記憶手段71(例えば、学習データ記憶部1)は、与えられたデータが該当するカテゴリを判定するための第1のモデルの生成に用いられる学習データであって、予め定められた正解カテゴリと対応付けられている学習データを記憶する。
【0097】
第1の学習手段72(例えば、第1の学習部2)は、学習データを用いて、第1のモデルを機械学習によって学習する第1の学習処理を実行する。
【0098】
選別手段73(例えば、選別部4)は、学習データを第1のモデルに適用することによって、当該学習データが該当するカテゴリを判定し、判定結果となるカテゴリと学習データに対応する正解カテゴリとの差分に基づいて学習データをソートし、定められた個数の上位の学習データを第1の学習データとして選別し、定められた個数の下位の学習データを第2の学習データとして選別する選別処理を実行する。
【0099】
第2の学習手段74(例えば、第2の学習部5)は、第1の学習データおよび第2の学習データを用いて、学習データを評価するための第2のモデルを機械学習によって学習する第2の学習処理を実行する。
【0100】
そして、所定の条件が満たされるまで、第1の学習手段72が第1の学習処理を実行し、選別手段73が選別処理を実行し、第2の学習手段74が第2の学習処理を実行することを繰り返す。
【0101】
また、第1の学習手段72は、第1の学習処理において、第2のモデルが生成されている場合に、個々の学習データを第2のモデルに適用することによって、個々の学習データを評価し、所定の評価の学習データを除外して、第1のモデルを学習する。
【0102】
そのような構成により、学習データの中から、第1のモデルの学習に不適切な学習データを精度よく除外し、第1のモデルの学習を行うことができる。
【0103】
また、第2の学習手段74が、第2の学習処理において、学習データが第1のモデルの学習に用いる学習データとして適切であるか不適切であるかを判定するためのモデルを、第2のモデルとして学習し、第1の学習手段72が、第1の学習処理において、第2のモデルが生成されている場合に、個々の学習データを第2のモデルに適用することによって、個々の学習データが適切であるか不適切であるかを判定し、不適切と判定した学習データを除外して、第1のモデルを学習する構成であってもよい。
【0104】
また、選別手段73が、選別処理において、正解カテゴリ毎に、学習データを第1のモデルに適用することによって、当該学習データが該当するカテゴリを判定し、判定結果となるカテゴリと学習データに対応する正解カテゴリとの差分に基づいて学習データをソートする構成であってもよい。
【0105】
また、選別手段73が、選別処理において、判定結果となるカテゴリと正解カテゴリとの差分に基づいて、昇順に学習データをソートする構成であってもよい。
【0106】
また、ユーザから、学習データが適切であるか否かの指定を受け付ける指定受付手段(例えば、指定受付部7)を備え、第2の学習手段74が、選別手段73によって第1の学習データとして選別された学習データ、および、選別手段73によって第2の学習データとして選別された学習データ、並びに、ユーザから適切な学習データとして指定された学習データ、および、ユーザから不適切な学習データとして指定された学習データを用いて、第2のモデルを学習する構成であってもよい。
【0107】
また、除外対象となる所定の評価の学習データ(例えば、第1の学習部2が第1の学習処理で不適切と判定した学習データ)を表示する表示制御手段(例えば、表示制御部8)を備える構成であってもよい。
【0108】
また、選別手段73が、選別処理において、ベクトルで表された、カテゴリの判定結果と、ベクトルで表された正解データとの差分のノルムに基づいて、学習データをソートする構成であってもよい。
【0109】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0110】
この出願は、2018年3月29日に出願された日本特許出願2018−063833を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用の可能性】
【0111】
本発明は、データが該当するカテゴリを判定するためのモデルを機械学習によって学習する学習装置に好適に適用される。
【符号の説明】
【0112】
1 学習データ記憶部
2 第1の学習部
3 第1のモデル記憶部
4 選別部
5 第2の学習部
6 第2のモデル記憶部
7 指定受付部
8 表示制御部
100 学習装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10