(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024102439
(43)【公開日】2024-07-31
(54)【発明の名称】学習支援装置、学習支援方法、および学習支援プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20240724BHJP
【FI】
G06N20/00 130
【審査請求】未請求
【請求項の数】23
【出願形態】OL
(21)【出願番号】P 2023006316
(22)【出願日】2023-01-19
(71)【出願人】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110000671
【氏名又は名称】IBC一番町弁理士法人
(72)【発明者】
【氏名】寺中 駿人
(57)【要約】 (修正有)
【課題】運用データにデータドリフトが生じた場合であっても、運用データを活用しつつ運用データへの正解付け工数を抑制する学習支援装置、方法及びプログラムを提供する。
【解決手段】情報処理装置における方法は、学習データ及び運用データを取得しS101、そこから夫々特徴量を抽出S102、学習データの特徴量及び運用データの特徴量に基づいて、運用データの中から、学習データとして用いるための正解付けの対象となる運用データを、対象データとして選択しS103、出力するS104。方法はさらに、選択した全ての対象データへの正解付け結果が、各学習データに正解付けされたクラスか否か判断しS105、そうであると判断した場合はS105:YES、対象データの選択を終了し、第2領域に内包された全ての特徴量が夫々抽出されたすべての運用データに、学習データに正解付けされたクラスを正解付けしS106、学習データに追加するS108。
【選択図】
図9A
【特許請求の範囲】
【請求項1】
学習データおよび運用データを取得する取得部と、
前記学習データおよび前記運用データからそれぞれ特徴量を抽出する特徴量抽出部と、
前記学習データの特徴量、および前記運用データの特徴量に基づいて、前記運用データの中から、前記学習データとして用いるための正解付けの対象となる前記運用データを、対象データとして選択する対象データ選択部と、
前記対象データ選択部による選択結果を出力する出力部と、
を有する学習支援装置。
【請求項2】
前記対象データ選択部は、所定の基準に基づいて前記対象データを選択する、請求項1に記載の学習支援装置。
【請求項3】
前記対象データへの正解付け結果を受け付ける正解付け結果受付部をさらに有する、請求項1に記載の学習支援装置。
【請求項4】
前記対象データ選択部は、受け付けられた、前記正解付け結果に基づいて、前記運用データの中から、前記正解付けの対象となる前記運用データを、前記対象データとして再選択する、請求項3に記載の学習支援装置。
【請求項5】
前記取得部は、複数の運用データを運用データ群として取得し、
前記対象データ選択部は、前記学習データの特徴量、および、前記運用データ群の各運用データから抽出された複数の特徴量に基づいて、前記運用データの中から、前記対象データを選択する、請求項4に記載の学習支援装置。
【請求項6】
前記取得部は、複数の学習データを学習データ群として取得し、
前記対象データ選択部は、前記学習データ群の各学習データから抽出された複数の特徴量、および、前記運用データ群の各運用データから抽出された複数の特徴量に基づいて、前記運用データの中から、前記対象データを選択する、請求項5に記載の学習支援装置。
【請求項7】
前記対象データ選択部は、特徴空間において、同じクラスに正解付けされた前記学習データのみを含む前記学習データ群の各学習データから抽出された複数の特徴量のすべてと、前記運用データ群の各運用データから抽出された複数の特徴量のすべてと、を内包する領域の境界の、前記運用データから抽出された前記特徴量に基づいて、前記運用データの中から、前記対象データを選択する、請求項6に記載の学習支援装置。
【請求項8】
前記対象データ選択部は、前記対象データとして選択され、前記正解付け結果により正解付けされた前記運用データの前記クラスが、前記学習データ群の各学習データに正解付けされた前記クラスと異なる前記運用データの選択を解除し、すべての前記対象データに対する前記正解付け結果が、前記学習データ群の各学習データに正解付けされた前記クラスになるまで、前記対象データの選択を繰り返す、請求項7に記載の学習支援装置。
【請求項9】
前記対象データ選択部は、すべての前記対象データに対する前記正解付け結果が、前記学習データ群の各学習データに正解付けされた前記クラスであると判断したとき、前記対象データの選択を終了する、請求項8に記載の学習支援装置。
【請求項10】
特徴空間において、前記運用データ群の各運用データから抽出された複数の特徴量に対しクラスタリングにより複数のグループに分ける前処理を行う前処理部をさらに有し、
前記対象データ選択部は、前記領域の境界の前記特徴量が属する前記グループの代表点に基づいて、前記運用データの中から前記対象データを選択し、前記領域の境界の前記特徴量が属する前記グループに包含される各特徴量については、前記代表点以外の前記特徴量が抽出された前記運用データの中からは前記対象データを選択しない、請求項7に記載の学習支援装置。
【請求項11】
前記対象データの選択が終了したとき、前記領域に内包されたすべての前記特徴量がそれぞれ抽出された前記運用データに対し、前記学習データに正解付けされたクラスを正解付けする正解付け部をさらに有する、請求項9に記載の学習支援装置。
【請求項12】
学習データおよび運用データを取得するステップ(a)と、
前記学習データおよび前記運用データからそれぞれ特徴量を抽出するステップ(b)と、
前記学習データの特徴量、および前記運用データの特徴量に基づいて、前記運用データの中から、前記学習データとして用いるための正解付けの対象となる前記運用データを、対象データとして選択するステップ(c)と、
前記ステップ(c)における選択結果を出力するステップ(d)と、
を有する学習支援方法。
【請求項13】
前記ステップ(c)においては、所定の基準に基づいて前記対象データを選択する、請求項12に記載の学習支援方法。
【請求項14】
前記対象データへの正解付け結果を受け付けるステップ(e)をさらに有する、請求項12に記載の学習支援方法。
【請求項15】
受け付けられた、前記正解付け結果に基づいて、前記運用データの中から、前記正解付けの対象となる前記運用データを、前記対象データとして再選択するステップ(f)をさらに有する、請求項14に記載の学習支援方法。
【請求項16】
前記ステップ(a)においては、複数の運用データを運用データ群として取得し、
前記ステップ(c)においては、前記学習データの特徴量、および、前記運用データ群の各運用データから抽出された複数の特徴量に基づいて、前記運用データの中から、前記対象データを選択する、請求項15に記載の学習支援方法。
【請求項17】
前記ステップ(a)においては、複数の学習データを学習データ群として取得し、
前記ステップ(c)においては、前記学習データ群の各学習データから抽出された複数の特徴量、および、前記運用データ群の各運用データから抽出された複数の特徴量に基づいて、前記運用データの中から、前記対象データを選択する、請求項16に記載の学習支援方法。
【請求項18】
前記ステップ(c)においては、特徴空間において、同じクラスに正解付けされた前記学習データのみを含む前記学習データ群の各学習データから抽出された複数の特徴量のすべてと、前記運用データ群の各運用データから抽出された複数の特徴量のすべてと、を内包する領域の境界の、前記運用データから抽出された前記特徴量に基づいて、前記運用データの中から、前記対象データを選択する、請求項17に記載の学習支援方法。
【請求項19】
前記ステップ(c)においては、前記対象データとして選択され、前記正解付け結果により正解付けされた前記運用データの前記クラスが、前記学習データ群の各学習データに正解付けされた前記クラスと異なる前記運用データの選択を解除し、すべての前記対象データに対する前記正解付け結果が、前記学習データ群の各学習データに正解付けされた前記クラスになるまで、前記対象データの選択を繰り返す、請求項18に記載の学習支援方法。
【請求項20】
前記ステップ(c)においては、すべての前記対象データに対する前記正解付け結果が、前記学習データ群の各学習データに正解付けされた前記クラスであると判断したとき、前記対象データの選択を終了する、請求項19に記載の学習支援方法。
【請求項21】
特徴空間において、前記運用データ群の各運用データから抽出された複数の特徴量に対しクラスタリングにより複数のグループに分ける前処理を行うステップ(g)をさらに有し、
前記ステップ(c)においては、前記領域の境界の前記特徴量が属する前記グループの代表点に基づいて、前記運用データの中から前記対象データを選択し、前記領域の境界の前記特徴量が属する前記グループに包含される各特徴量については、前記代表点以外の前記特徴量が抽出された前記運用データの中からは前記対象データを選択しない、請求項18に記載の学習支援方法。
【請求項22】
前記対象データの選択が終了したとき、前記領域に内包されたすべての前記特徴量がそれぞれ抽出された前記運用データに対し、前記学習データに正解付けされたクラスを正解付けするステップ(h)をさらに有する、請求項20に記載の学習支援方法。
【請求項23】
請求項12~22のいずれか一項に記載の学習支援方法をコンピューターに実行させるための学習支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
学習支援装置、学習支援方法、および学習支援プログラムに関する。
【背景技術】
【0002】
近年、機械学習モデルを利用して、データの分類や製品の異常検知等をするシステムの開発が進んでいる。当該システムとしては、例えば、ユーザーからの製品に関するフィードバックレポートを所定のクラスに分類するものや、生産現場において、画像データ等のセンサーデータから製品の異常を検知するものがある。
【0003】
しかし、機械学習モデルの学習に用いられる学習データと、実際の運用現場で機械学習モデルに入力される運用データは異なるデータである。また、時間経過に伴い、運用データの特性が変化することで、学習時の学習データの特性から離れてゆくという、いわゆるデータドリフトにより、機械学習モデルの予測精度が低下することが知られている。データドリフトの具体的な原因としては、例えば、画像における背景の変化、製品に用いられる材料の変更、製品の外観仕様の変更、撮影カメラの経年劣化、レポート作成者の変更等による文章の書きぶり(例えば、使用される用語)の変化、データ形式の変化等が挙げられる。
【0004】
データドリフトによる機械学習モデルの予測精度の低下を防止するための技術に関連し、下記特許文献1には、次の先行技術が開示されている。学習データのデータ項目ごとのデータ値に基づいて、データ項目ごとのデータ値がとり得る値を示す範囲情報を計算し、異常検知の対象となる運用データの中で、データ項目ごとのデータ値が当該範囲情報に含まれる運用データを範囲内データとして記憶し、当該範囲情報に含まれない運用データを範囲外データとして記憶し、範囲内データの傾向と範囲外データの傾向との比較結果に基づいて機械学習モデルの再学習の要否を判定する。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、上述の先行技術は、データドリフトが生じたことで、運用データに基づいて機械学習モデルの再学習が必要になったかどうかについては判断できるが、再学習をする際、再学習に用いる学習データを得るために、比較的大量のデータへの正解付けが必要となり、正解付け工数が増大するという問題がある。
【0007】
本発明はこのような問題を解決するためになされたものである。すなわち、運用データにデータドリフトが生じた場合であっても、運用データを活用しつつ運用データへの正解付け工数を抑制できる、学習支援装置、学習支援方法。および学習支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の上記課題は、以下の手段によって解決される。
【0009】
(1)学習データおよび運用データを取得する取得部と、前記学習データおよび前記運用データからそれぞれ特徴量を抽出する特徴量抽出部と、前記学習データの特徴量、および前記運用データの特徴量に基づいて、前記運用データの中から、前記学習データとして用いるための正解付けの対象となる前記運用データを、対象データとして選択する対象データ選択部と、前記対象データ選択部による選択結果を出力する出力部と、を有する学習支援装置。
【0010】
(2)前記対象データ選択部は、所定の基準に基づいて前記対象データを選択する、上記(1)に記載の学習支援装置。
【0011】
(3)前記対象データへの正解付け結果を受け付ける正解付け結果受付部をさらに有する、上記(1)に記載の学習支援装置。
【0012】
(4)前記対象データ選択部は、受け付けられた、前記正解付け結果に基づいて、前記運用データの中から、前記正解付けの対象となる前記運用データを、前記対象データとして再選択する、上記(3)に記載の学習支援装置。
【0013】
(5)前記取得部は、複数の運用データを運用データ群として取得し、前記対象データ選択部は、前記学習データの特徴量、および、前記運用データ群の各運用データから抽出された複数の特徴量に基づいて、前記運用データの中から、前記対象データを選択する、上記(4)に記載の学習支援装置。
【0014】
(6)前記取得部は、複数の学習データを学習データ群として取得し、前記対象データ選択部は、前記学習データ群の各学習データから抽出された複数の特徴量、および、前記運用データ群の各運用データから抽出された複数の特徴量に基づいて、前記運用データの中から、前記対象データを選択する、上記(5)に記載の学習支援装置。
【0015】
(7)前記対象データ選択部は、特徴空間において、同じクラスに正解付けされた前記学習データのみを含む前記学習データ群の各学習データから抽出された複数の特徴量のすべてと、前記運用データ群の各運用データから抽出された複数の特徴量のすべてと、を内包する領域の境界の、前記運用データから抽出された前記特徴量に基づいて、前記運用データの中から、前記対象データを選択する、上記(6)に記載の学習支援装置。
【0016】
(8)前記対象データ選択部は、前記対象データとして選択され、前記正解付け結果により正解付けされた前記運用データの前記クラスが、前記学習データ群の各学習データに正解付けされた前記クラスと異なる前記運用データの選択を解除し、すべての前記対象データに対する前記正解付け結果が、前記学習データ群の各学習データに正解付けされた前記クラスになるまで、前記対象データの選択を繰り返す、上記(7)に記載の学習支援装置。
【0017】
(9)前記対象データ選択部は、すべての前記対象データに対する前記正解付け結果が、前記学習データ群の各学習データに正解付けされた前記クラスであると判断したとき、前記対象データの選択を終了する、上記(8)に記載の学習支援装置。
【0018】
(10)特徴空間において、前記運用データ群の各運用データから抽出された複数の特徴量に対しクラスタリングにより複数のグループに分ける前処理を行う前処理部をさらに有し、前記対象データ選択部は、前記領域の境界の前記特徴量が属する前記グループの代表点に基づいて、前記運用データの中から前記対象データを選択し、前記領域の境界の前記特徴量が属する前記グループに包含される各特徴量については、前記代表点以外の前記特徴量が抽出された前記運用データの中からは前記対象データを選択しない、上記(7)に記載の学習支援装置。
【0019】
(11)前記対象データの選択が終了したとき、前記領域に内包されたすべての前記特徴量がそれぞれ抽出された前記運用データに対し、前記学習データに正解付けされたクラスを正解付けする正解付け部をさらに有する、上記(9)に記載の学習支援装置。
【0020】
(12)学習データおよび運用データを取得するステップ(a)と、前記学習データおよび前記運用データからそれぞれ特徴量を抽出するステップ(b)と、前記学習データの特徴量、および前記運用データの特徴量に基づいて、前記運用データの中から、前記学習データとして用いるための正解付けの対象となる前記運用データを、対象データとして選択するステップ(c)と、前記ステップ(c)における選択結果を出力するステップ(d)と、を有する学習支援方法。
【0021】
(13)前記ステップ(c)においては、所定の基準に基づいて前記対象データを選択する、上記(12)に記載の学習支援方法。
【0022】
(14)前記対象データへの正解付け結果を受け付けるステップ(e)をさらに有する、上記(12)に記載の学習支援方法。
【0023】
(15)受け付けられた、前記正解付け結果に基づいて、前記運用データの中から、前記正解付けの対象となる前記運用データを、前記対象データとして再選択するステップ(f)をさらに有する、上記(14)に記載の学習支援方法。
【0024】
(16)前記ステップ(a)においては、複数の運用データを運用データ群として取得し、
前記ステップ(c)においては、前記学習データの特徴量、および、前記運用データ群の各運用データから抽出された複数の特徴量に基づいて、前記運用データの中から、前記対象データを選択する、上記(15)に記載の学習支援方法。
【0025】
(17)前記ステップ(a)においては、複数の学習データを学習データ群として取得し、前記ステップ(c)においては、前記学習データ群の各学習データから抽出された複数の特徴量、および、前記運用データ群の各運用データから抽出された複数の特徴量に基づいて、前記運用データの中から、前記対象データを選択する、上記(16)に記載の学習支援方法。
【0026】
(18)前記ステップ(c)においては、特徴空間において、同じクラスに正解付けされた前記学習データのみを含む前記学習データ群の各学習データから抽出された複数の特徴量のすべてと、前記運用データ群の各運用データから抽出された複数の特徴量のすべてと、を内包する領域の境界の、前記運用データから抽出された前記特徴量に基づいて、前記運用データの中から、前記対象データを選択する、上記(17)に記載の学習支援方法。
【0027】
(19)前記ステップ(c)においては、前記対象データとして選択され、前記正解付け結果により正解付けされた前記運用データの前記クラスが、前記学習データ群の各学習データに正解付けされた前記クラスと異なる前記運用データの選択を解除し、すべての前記対象データに対する前記正解付け結果が、前記学習データ群の各学習データに正解付けされた前記クラスになるまで、前記対象データの選択を繰り返す、上記(18)に記載の学習支援方法。
【0028】
(20)前記ステップ(c)においては、すべての前記対象データに対する前記正解付け結果が、前記学習データ群の各学習データに正解付けされた前記クラスであると判断したとき、前記対象データの選択を終了する、上記(19)に記載の学習支援方法。
【0029】
(21)特徴空間において、前記運用データ群の各運用データから抽出された複数の特徴量に対しクラスタリングにより複数のグループに分ける前処理を行うステップ(g)をさらに有し、前記ステップ(c)においては、前記領域の境界の前記特徴量が属する前記グループの代表点に基づいて、前記運用データの中から前記対象データを選択し、前記領域の境界の前記特徴量が属する前記グループに包含される各特徴量については、前記代表点以外の前記特徴量が抽出された前記運用データの中からは前記対象データを選択しない、上記(18)に記載の学習支援方法。
【0030】
(22)前記対象データの選択が終了したとき、前記領域に内包されたすべての前記特徴量がそれぞれ抽出された前記運用データに対し、前記学習データに正解付けされたクラスを正解付けするステップ(h)をさらに有する、上記(20)に記載の学習支援方法。
【0031】
(23)上記(12)~(22)のいずれかに記載の学習支援方法をコンピューターに実行させるための学習支援プログラム。
【発明の効果】
【0032】
学習データの特徴量および運用データの特徴量を抽出し、抽出した特徴量に基づいて、運用データの中から、学習データとして用いるための正解付けの対象となる運用データを選択して選択結果を出力する。これにより、運用データにデータドリフトが生じた場合であっても、運用データを活用しつつ運用データへの正解付け工数を抑制できる。
【図面の簡単な説明】
【0033】
【
図1】情報処理システムの概略構成を示す図である。
【
図2】情報処理装置のハードウェア構成を示すブロック図である。
【
図3】学習データを用いた学習時の制御部の機能について説明するための説明図である。
【
図4】学習データから特徴量を抽出する制御部の機能について説明するための説明図である。
【
図5】運用データから特徴量を抽出し、学習データの特徴量および運用データの特徴量に基づく対象データの選択、および選択された対象データへの正解付け結果に基づく対象データの再選択の機能について説明するための説明図である。
【
図6】特徴空間における、第1特徴量群の分布と、第2特徴量群の分布を示す説明図である。
【
図7】対象データの選択について説明するための説明図である。
【
図8】対象データの再選択について説明するための説明図である。
【
図9A】情報処理装置の動作を示すフローチャートである。
【
図9B】情報処理装置の動作を示すフローチャートである。
【発明を実施するための形態】
【0034】
以下、図面を参照して、本発明の実施形態に係る、学習支援装置、学習支援方法、および学習支援プログラムについて説明する。なお、図面において、同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
【0035】
本明細書においては、機械学習において学習時に用いる学習データ、および運用時(予測時)において予測の対象となる運用データには、画像データおよび/または文章データが含まれる。文章データは、例えば、文章のテキストデータであり得る。学習データおよび運用データには、音声データ、温度データ、および臭いデータ等の、画像データおよび文章データ以外のデータも含まれる。
【0036】
図1は、実施形態に係る情報処理システム10の概略構成を示す図である。
【0037】
情報処理システム10は、情報処理装置100、および撮影装置200を含む。情報処理装置100と撮影装置200は、ネットワーク等により相互に通信可能に接続される。情報処理装置100は、学習支援装置を構成する。撮影装置200は、学習データおよび運用データが画像データである場合に用いられ得る。学習データおよび運用データが文章データである場合は、撮影装置200は、用紙をスキャンして用紙上の文字を読み込むスキャナー等に代替され得る。学習データおよび運用データが、音声データ、温度データ、または臭いデータである場合は、撮影装置200は、それぞれ、音声をテキストデータに変換する音声認識装置、温度センサー、または臭いセンサーに代替され得る。
【0038】
撮影装置200は、製品(部品を含む)等の検査対象の画像を撮影し、画像データとして出力する。製品には、例えば、ボルト、平板、半導体チップ、半導体ウエハ、および車体が含まれる。撮影装置200がスキャナーで代替される場合は、スキャナーは、例えば、書類(紙)等をスキャンして、例えばテキストデータに変換し、文章データとして出力する。書類には、例えば、ユーザーからの製品に関するフィードバックレポート、故障レポート、および介護記録が含まれる。なお、書類がデータ(電子データ)である場合は、スキャナーは省略でき、データである書類が、文章データとして情報処理装置100に直接入力され得る。
【0039】
撮影装置200は、例えば、可視光カメラにより構成される。撮影装置200は、検査対象である製品等の大きさや位置等に応じて、適当な撮影範囲および撮影方向となるように、例えば生産現場(工場)に設置される。
【0040】
画像データは、例えば静止画像であるが、動画像であってもよい。
【0041】
撮影装置200は、学習データとして用いる画像データと、運用データである画像データとを得るために用いられ得る。学習データとして用いる画像データは、撮影装置200以外の撮影装置により撮影された画像データであってもよい。
【0042】
撮影装置200は、画像データを情報処理装置100へ送信する。
【0043】
情報処理装置100は、撮影装置200から画像データを受信する。学習データおよび運用データが文章データである場合は、情報処理装置100は、スキャナーから文章データを受信し得る。
【0044】
情報処理装置100は、機械学習により、学習データの特徴量、および運用データの特徴量を、それぞれ学習データおよび運用データから抽出する。情報処理装置100は、運用データの特徴量に基づいて、機械学習により、運用データからの予測結果を算出する。予測結果には、所定のクラスの尤度が含まれる。具体的には、予測結果は、例えば、所定のクラスの中で尤度が最も高いクラスの尤度である。所定のクラスには、例えば、製品の不良クラスや、書類の分類クラスが含まれる。製品の不良クラスには、例えば、傷、欠け、割れ、汚れ、および良品が含まれる。書類等の分類クラスには、例えば、ユーザー起因の故障、装置起因の故障、および故障無、が含まれる。
【0045】
情報処理装置100は、学習データの特徴量、および運用データの特徴量に基づいて、運用データの中から、学習データとして用いるための正解付けの対象となる運用データ(以下、「対象データ」とも称する)を選択して選択結果を出力する。
【0046】
情報処理装置100の機能についてさらに説明する。以下、説明を簡単にするために、画像データは製品画像のデータであり、文章データは故障レポートのデータである場合を例に説明する。
【0047】
図2は、情報処理装置100のハードウェア構成を示すブロック図である。
【0048】
情報処理装置100は、制御部110、記憶部120、表示部130、入力部140、および通信部150を有する。これらの構成要素は、バスを介して相互に接続される。情報処理装置100は、コンピューターにより構成され得る。制御部110は、正解付け部を構成する。
【0049】
制御部110は、CPU(Central Processing Unit)により構成され、プログラムに従って情報処理装置100の各部の制御および演算処理を行う。制御部110の機能の詳細については後述する。
【0050】
記憶部120は、例えばRAM(Random Access Memory)、ROM(Read Only Memory)、およびSSD(Solid State Drive)により構成され得る。RAMは、制御部110の作業領域として一時的にプログラムやデータを記憶する。ROMは、あらかじめ各種プログラムや各種データを格納する。SSDは、オペレーションシステムを含む各種プログラムおよび各種データを格納する。
【0051】
表示部130は、例えば液晶ディスプレイであり、各種情報を表示する。
【0052】
入力部140は、例えばタッチパネルや各種キーにより構成される。入力部140は、各種操作、入力のために使用される。
【0053】
通信部150は、外部機器と通信するためのインターフェースである。通信には、イーサネット(登録商標)、SATA、PCI Express、USB、IEEE1394などの規格によるネットワークインターフェースが用いられ得る。その他、通信には、Bluetooth(登録商標)、IEEE802.11、4G等の無線通信インターフェースが用いられ得る。
【0054】
情報処理装置100の制御部110の機能の詳細について説明する。なお、以下説明する制御部110の機能は、記憶部120に記憶されたプログラムが、記憶部120に記憶された各種パラメーター(例えば、学習モデルの重み付けパラメーター)等を用いて実行されることで実現される。
【0055】
図3は、学習データを用いた学習時の制御部110の機能について説明するための説明図である。
図4は、学習データから特徴量を抽出する制御部110の機能について説明するための説明図である。
図5は、運用データから特徴量を抽出し、学習データの特徴量および運用データの特徴量に基づく対象データの選択、および選択された対象データへの正解付け結果に基づく対象データの再選択の機能について説明するための説明図である。
【0056】
(学習時の制御部110の機能)
図3に示すように、制御部110は、学習時に、特徴量抽出器111a、分類器112a、および学習部113として機能する。特徴量抽出器111aおよび分類器112aは学習モデルを構成する。
【0057】
特徴量抽出器111aは、撮影装置200等から受信され、記憶部120に記憶された学習データを記憶部120から読み出すこと等により取得する。特徴量抽出器111aは、複数の学習データ(以下、「学習データ群」とも称する)の各学習データから、特徴量を抽出する。特徴量抽出器111aは、学習データが画像データである場合、CNN(畳み込みニューラルネットワーク)を用いて、学習データ群の各学習データから特徴量を抽出し得る。特徴量抽出器111aは、学習データが文章データである場合、BERT(Bidirectional Encoder Representations from Transformers)等の自然言語処理モデルを用いて、学習データ群の各学習データからそれぞれ特徴量を抽出し得る。
【0058】
分類器112aは、各学習データの特徴量を、それぞれ所定のクラスのいずれかに分類して予測結果として出力する。具体的には、例えば、分類器112aは、学習データの特徴量に対して、所定のクラスごとの尤度を算出して出力する。これにより、各学習データの特徴量が、尤度が最も大きいクラスに分類されることで、各学習データが所定のクラスのいずれかに分類される。分類器112aには、例えば、ニューラルネットワークの全結合層が用いられる。
【0059】
学習部113は、学習データ群の各学習データに正解付けされた正解ラベルと、分類器112aから出力される予測結果との差が小さくなるように、バックプロパゲーションにより特徴量抽出器111aと分類器112aとを学習し得る。正解ラベルは、ユーザーにより各学習データと対応付けられて、入力部140において入力され、記憶部120に記憶され得る。正解ラベルは、分類器112aによる予測結果の正解である所定のクラスであり得る。正解ラベルは、予測結果の正解であるクラスの尤度を1、その他のクラスの尤度を0とした、所定のクラスごとの尤度であってもよい。
【0060】
説明を簡単にするために、学習データ群の各学習データに正解付けされる正解ラベルは、すべて同じ正解ラベル(例えば、「良品」のクラス)であるものとして説明する。学習データ群の各学習データに正解付けされた正解ラベルはすべて同じ正解ラベルでなくてもよい。すなわち、例えば、「良品」および「不良品」の正解ラベルでそれぞれ正解付けされた良品の製品画像および不良品の製品画像の両方を用いて特徴量抽出器111aと分類器112aとを学習してもよい。
【0061】
(学習データ群からの特徴量抽出時の制御部110の機能)
図4に示すように、制御部110は、学習データ群の各学習データから特徴量を抽出する際、特徴量抽出器111として機能する。特徴量抽出器111には、
図3に示す学習により学習された後の学習済みのCNNまたはBERTのモデルが用いられ得る。特徴量抽出器111には、学習済みの特徴量抽出器111aの全部ではなく一部が用いられてもよい。この場合、特徴量抽出器111により抽出される特徴量の抽象度の程度は、特徴量抽出器111aにより抽出される特徴量の抽象度の程度より低くなり得る。以下、説明を簡単にするために、特徴量抽出器111には、
図3に示す学習により学習された後の学習済みのCNNまたはBERTのモデルが用いられるものとして説明する。すなわち、特徴量抽出器111として、学習後の特徴量抽出器111aが用いられるものとして説明する。特徴量抽出器111および分類器112は学習モデルを構成する。
【0062】
特徴量抽出器111は、学習データ群の各学習データから、特徴量を抽出する。特徴量抽出器111は、学習データ群の各学習データから抽出した複数の特徴量(以下、「第1特徴量群」とも称する)を記憶部120に記憶する。第1特徴量群は、特徴空間における特徴量の分布のデータとして記憶部120に記憶されてもよい。
【0063】
(運用データへの正解付け時の制御部110の機能)
図5に示すように、制御部110は、運用データへの正解付け時に、特徴量抽出器111、および対象データ選択部114として機能する。特徴量抽出器111には、学習データ群を用いて学習された後の特徴量抽出器111(学習済モデル)が用いられ得る。特徴量抽出器111は、取得部および特徴量抽出部を構成する。対象データ選択部114は、選択部、出力部、および正解付け結果受付部を構成する。
【0064】
特徴量抽出器111は、撮影装置200等から受信することによって、複数の運用データ(以下、「運用データ群」とも称する)を取得する。特徴量抽出器111は、撮影装置200等から受信され、記憶部120に記憶された運用データ群を記憶部120から読み出すことにより取得してもよい。
【0065】
特徴量抽出器111は、運用データ群の各運用データから特徴量を抽出する。特徴量抽出器111は、運用データ群の各運用データから抽出した複数の特徴量(以下、「第2特徴量群」とも称する)を記憶部120に記憶する。第2特徴量群は、特徴空間における特徴量の分布のデータとして記憶部120に記憶されてもよい。
【0066】
対象データ選択部114は、第1特徴量群および第2特徴量群に基づいて、運用データ(運用データ群)の中から、学習データとして用いるための正解付けの対象となる運用データを、対象データとして選択して選択結果を出力する。選択結果には、例えば、対象データのデータ名等の対象データを特定可能な情報が含まれる。
【0067】
図6は、特徴空間における、第1特徴量群の分布と、第2特徴量群の分布を示す説明図である。黒丸は第1特徴量群の各特徴量を示し、白丸は第2特徴量群の各特徴量を示している。特徴量抽出器111によって抽出される特徴量の数(種類)は比較的多数であり、特徴量の特徴空間は多次元となる。
図6の例においては、説明を簡単にするために、第1特徴量および第2特徴量の2つの特徴量の関係を示す2次元の特徴空間において、学習データ群の特徴量と、運用データの特徴量とを示している。
【0068】
図7は、対象データの選択について説明するための説明図である。
図8は、対象データの再選択について説明するための説明図である。
【0069】
上述したように、学習データ群の各学習データは、同じ正解ラベルで正解付けされた学習データである。以下、説明を簡単にするために、分類器112aにより分類されるクラスは、クラスAとクラスBの2クラスである場合を例に説明する。各学習データに正解付けされる正解ラベルをクラスAとする。
【0070】
図7においては、学習データ群の各学習データから抽出された複数の特徴量(第1特徴量群)のすべてを包含する第1領域が破線で囲む領域として示されている。また、学習データ群の各学習データから抽出された複数の特徴量(第1特徴量群)のすべてと、運用データ群の各運用データから抽出された複数の特徴量(第2特徴量群)のすべてと、を内包する第2領域(領域)が一点鎖線で囲む領域として示されている。
【0071】
対象データ選択部114は、所定の基準に基づいて対象データを選択する。具体的には、対象データ選択部114は、第2領域の境界の、運用データから抽出された特徴量に基づいて、運用データ群の中から対象データを選択する。
図7の例においては、運用データ1、運用データ2、および運用データ3からそれぞれ抽出された特徴量が、第2領域の境界の、運用データから抽出された特徴量に該当する。
【0072】
対象データ選択部114は、対象データの選択結果を出力する。出力には、通信部150により他の装置への送信や、表示部130への表示等が含まれる。
図7には、対象データの選択結果として、対象データとして選択された運用データのデータ名が示されている。
【0073】
対象データ選択部114は、対象データの選択結果を出力した後、対象データに対するユーザーによる目視確認結果を受け付ける。対象データに対する目視確認結果は、対象データへの正解付け結果を構成する。
【0074】
図7においては、各対象データと関連付けて、対象データの目視確認結果が示されている。運用データ1、および運用データ2は、ユーザーによる目視確認の結果、学習データに正解付けされた正解ラベルである「クラスA」である。一方、運用データ3は、ユーザーによる目視確認の結果、学習データに正解付けされた正解ラベルではない「クラスB」である。
【0075】
図7においては、対象データに対する分類器112aによる予測結果が、各対象データと関連付けて示されている。運用データ3からの予測結果は、「クラスA」となっている。運用データ3は、目視確認の結果「クラスB」であるため、データドリフトが生じたことによる予測結果の精度の低下が生じていると考えられる。
【0076】
対象データ選択部114は、受け付けた目視確認結果に基づいて、運用データの中から対象データを再選択する。すなわち、対象データ選択部114は、第1特徴量群、第2特徴量群、および最初に選択された対象データに対する目視確認結果に基づいて、運用データの中から対象データを再選択する。具体的には、対象データ選択部114は、対象選択された対象データの中で、目視確認の結果、学習データに正解付けされたクラスと異なるクラスの運用データの選択を解除する。対象データ選択部114は、選択が解除された運用データの特徴量を除いた後の第2領域の境界の特徴量が抽出された運用データを対象データとして再選択する。
【0077】
図8においてバツ印で示すように、運用データ3は、学習データに正解付けされた「クラスA」と異なる「クラスB」であるため、選択が解除される。選択が解除された運用データ3の特徴量を除いた後の第2領域が一点鎖線で囲む領域として示されている。当該第2領域の境界の特徴量として、運用データ4から抽出された特徴量と、運用データ5から抽出された特徴量とが該当する。従って、運用データ4および運用データ5が新たな対象データとして再選択される。
【0078】
対象データ選択部114は、対象データの再選択結果を出力した後、対象データに対するユーザーによる目視確認結果を受け付ける。
図8においては、運用データ4および運用データ5は、ユーザーによる目視確認の結果、学習データに正解付けされた正解ラベルである「クラスA」である。すべての対象データに対する目視確認結果が学習データに正解付けされたクラス(すなわち、「クラスA」)となったため、対象データ選択部114は、対象データの選択を終了する。すなわち、最終的に、運用データとして、運用データ1、運用データ2、運用データ4、および運用データ5が選択されたことになる。選択された運用データは、学習データに加えられる。
【0079】
対象データ選択部114は、すべての対象データに対する目視確認結果が、各学習データに正解付けされたクラスになるまで、対象データの解除および選択を繰り返す。対象データ選択部114は、すべての対象データに対する目視確認結果が、各学習データに正解付けされたクラスであると判断したとき、対象データの選択を終了する。
【0080】
対象データ選択部114は、対象データの選択が終了したときに第2領域に内包されたすべての特徴量がそれぞれ抽出された運用データに対し、学習データに正解付けされたクラス(
図8の例においては、「クラスA」)を正解付けしてもよい。これにより、対象データとして選択された運用データ以外の運用データへの正解付けの工数を削減できる。
【0081】
(変形例)
制御部110は、特徴空間において、第2特徴量群の各特徴量に対しクラスタリングにより複数のグループに分ける前処理を行う前処理部として機能し得る。
【0082】
対象データ選択部114は、第2領域の境界の特徴量が属するグループの代表点に基づいて、運用データ群の中から対象データを選択し、第2領域の境界の特徴量が属するグループに包含される各特徴量については、代表点以外の特徴量が抽出された運用データの中からは前記対象データを選択しなくてもよい。これにより、第2領域の境界に特徴量が集中した場合であっても、対象データの増大による目視検査等の正解付け結果を得るための工数を抑制できる。
【0083】
情報処理装置100の動作について説明する。
【0084】
図9Aおよび
図9Bは、情報処理装置100の動作を示すフローチャートである。本フローチャートは、記憶部120に記憶されたプログラムに従い、制御部110により実行される。
【0085】
制御部110は、学習データ群および運用データ群を取得する(S101)。制御部110は、学習データ群を記憶部120から読み出すことで取得し得る。制御部110は、運用データ群を、記憶部120から読み出すことにより、または、撮影装置200等から受信することで取得し得る。
【0086】
制御部110は、学習データ群の各学習データの特徴量と、運用データ群の各運用データの特徴量とを、それぞれ、学習データ群および運用データ群から抽出する(S102)。制御部110は、学習データ群の各学習データから複数の特徴量の分布を抽出する処理を事前に行い、記憶部120に記憶させておき、この特徴量の分布を用いてもよい。同様に、制御部110は、運用データ群の各運用データから複数の特徴量の分布を抽出する処理を行い、記憶部120に記憶させておき、この特徴量の分布を用いてもよい。
【0087】
制御部110は、第2領域の境界の各特徴量が抽出された運用データを対象データとして選択する(S103)。
【0088】
制御部110は、対象データの選択結果を出力する(S104)。
【0089】
制御部110は、選択されたすべての対象データへの正解付け結果が、各学習データに正解付けされたクラスかどうか判断する(S105)。
【0090】
制御部110は、選択されたすべての対象データへの正解付け結果が、各学習データに正解付けされたクラスであると判断した場合は(S105:YES)、対象データの選択を終了し、第2領域に内包されたすべての特徴量がそれぞれ抽出されたすべての運用データに、学習データに正解付けされたクラスを正解付けする(S106)。
【0091】
制御部110は、正解付けされた運用データを学習データに追加する(S108)。
【0092】
一方、制御部110は、選択されたすべての対象データへの正解付け結果が、各学習データに正解付けされたクラスでないと判断した場合は(S105:NO)、学習データに正解付けされていないクラスが正解付けされた運用データの選択を解除し、選択が解除された運用データの特徴量を除いた後の第2領域の境界の特徴量が抽出された運用データを対象データとして再選択する(S107)。
【0093】
制御部110は、選択されたすべての対象データへの正解付け結果が、各学習データに正解付けされたクラスになるまで、ステップS104、ステップS105、およびステップS107を繰り返し実行する。
【0094】
本実施形態は以下の効果を奏する。
【0095】
学習データの特徴量および運用データの特徴量を抽出し、抽出した特徴量に基づいて、運用データの中から、学習データとして用いるための正解付けの対象となる運用データを選択して選択結果を出力する。これにより、運用データにデータドリフトが生じた場合であっても、運用データを活用しつつ運用データへの正解付け工数を抑制できる。
【0096】
さらに、所定の基準に基づいて対象データを選択する。これにより、効率的に、運用データへの正解付けが可能となる。
【0097】
さらに、対象データへの正解付け結果を受け付ける。これにより、学習データとして用いる運用データの妥当性を向上できる。
【0098】
さらに、受け付けられた、正解付け結果に基づいて、運用データの中から運用データを、対象データとして再選択する。これにより、学習データとして用いる運用データの妥当性をさらに向上できる。
【0099】
さらに、複数の運用データを運用データ群として取得し、学習データの特徴量、および、運用データ群の各運用データから抽出された複数の特徴量に基づいて、運用データの中から、対象データを選択する。これにより、学習データとして用いる妥当な運用データの量を増大できる。
【0100】
さらに、複数の学習データを学習データ群として取得し、学習データ群の各学習データから抽出された複数の特徴量、および、運用データ群の各運用データから抽出された複数の特徴量に基づいて、運用データの中から対象データを選択する。これにより、学習データとして用いる運用データの量を増大できるとともに、運用データの妥当性をさらに向上できる。
【0101】
さらに、特徴空間において、同じクラスに正解付けされた学習データのみを含む学習データ群の各学習データから抽出された複数の特徴量のすべてと、運用データ群の各運用データから抽出された複数の特徴量のすべてと、を内包する領域の境界の、運用データから抽出された特徴量に基づいて、運用データの中から対象データを選択する。これにより、学習データとして用いる運用データの量を効率的に増大できるとともに、運用データの妥当性をさらに向上できる。
【0102】
さらに、対象データとして選択され、正解付け結果により正解付けされた運用データのクラスが、学習データ群の各学習データに正解付けされたクラスと異なる運用データの選択を解除し、すべての対象データに対する正解付け結果が、学習データ群の各学習データに正解付けされたクラスになるまで、対象データの選択を繰り返す。これにより、これにより、学習データとして用いる運用データの量をさらに効率的に増大できるとともに、運用データの妥当性をさらに向上できる。
【0103】
さらに、すべての対象データに対する正解付け結果が、学習データ群の各学習データに正解付けされたクラスであると判断したとき、対象データの選択を終了する。これにより、正解付けするための工数をより適切に削減できる。
【0104】
さらに、運用データ群の各運用データから抽出された複数の特徴量に対しクラスタリングにより複数のグループに分ける前処理を行い、上記領域の境界の特徴量が属するグループの代表点に基づいて、運用データの中から対象データを選択し、領域の境界の特徴量が属するグループに包含される各特徴量については、代表点以外の特徴量が抽出された運用データの中からは対象データを選択しないようにする。これにより、第2領域の境界に特徴量が集中した場合であっても、対象データの増大による目視検査等の正解付け結果を得るための工数を抑制できる。
【0105】
さらに、対象データの選択が終了したとき、上記領域に内包されたすべての特徴量がそれぞれ抽出された運用データに対し、学習データに正解付けされたクラスを正解付けする。これにより、対象データとして選択された運用データ以外の運用データへの正解付けの工数を削減できる。
【0106】
以上に説明した情報処理システム10の構成は、上述の実施形態の特徴を説明するにあたって主要構成を説明したのであって、上述の構成に限られず、特許請求の範囲内において、種々改変することができる。また、一般的な情報処理システムが備える構成を排除するものではない。
【0107】
例えば、情報処理装置100は複数の装置により構成されてもよい。
【0108】
また、上述したフローチャートは、一部のステップを省略してもよく、他のステップが追加されてもよい。また各ステップの一部は同時に実行されてもよく、一つのステップが複数のステップに分割されて実行されてもよい。
【0109】
また、上述した情報処理システム10における各種処理を行う手段および方法は、専用のハードウェア回路、またはプログラムされたコンピューターのいずれによっても実現することが可能である。上記プログラムは、例えば、USBメモリやDVD(Digital Versatile Disc)-ROM等のコンピューター読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピューター読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、一機能としてその検出部等の装置のソフトウエアに組み込まれてもよい。
【符号の説明】
【0110】
10 情報処置システム、
100 情報処理装置、
110 制御部、
111a、111 特徴量抽出器、
112a 分類器、
113 学習部、
114 対象データ選択部、
120 記憶部、
130 表示部、
140 入力部、
150 通信部、
200 撮影装置。