JP7298825B2 - 学習支援装置、学習装置、学習支援方法及び学習支援プログラム - Google Patents

学習支援装置、学習装置、学習支援方法及び学習支援プログラム Download PDF

Info

Publication number
JP7298825B2
JP7298825B2 JP2019233202A JP2019233202A JP7298825B2 JP 7298825 B2 JP7298825 B2 JP 7298825B2 JP 2019233202 A JP2019233202 A JP 2019233202A JP 2019233202 A JP2019233202 A JP 2019233202A JP 7298825 B2 JP7298825 B2 JP 7298825B2
Authority
JP
Japan
Prior art keywords
data
teacher
candidate
distance
label
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019233202A
Other languages
English (en)
Other versions
JP2021103344A (ja
Inventor
嘉彦 横山
嗣 加藤
大樹 菊地
拓馬 梅野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tokyo Weld Co Ltd
Morpho Inc
Original Assignee
Tokyo Weld Co Ltd
Morpho Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tokyo Weld Co Ltd, Morpho Inc filed Critical Tokyo Weld Co Ltd
Priority to JP2019233202A priority Critical patent/JP7298825B2/ja
Priority to KR1020227016503A priority patent/KR20220084136A/ko
Priority to CN202080074603.XA priority patent/CN114616573A/zh
Priority to US17/776,889 priority patent/US20220405605A1/en
Priority to PCT/JP2020/047527 priority patent/WO2021132099A1/ja
Publication of JP2021103344A publication Critical patent/JP2021103344A/ja
Application granted granted Critical
Publication of JP7298825B2 publication Critical patent/JP7298825B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06395Quality analysis or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Description

本開示は、学習支援装置、学習装置、学習支援方法及び学習支援プログラムに関する。
特許文献1は、ニューラルネットワークとフィルタ係数とを含むモデルを用いて画像を識別する装置を開示する。モデルは、サンプル画像をニューラルネットワークの入力層から入力し、中間層においてフィルタ係数に基づくフィルタ処理を行い、出力層において認識結果としてサンプル画像の分類を表す情報(クラスID)を出力する。モデルは、正解のクラスIDが付与された画像である教師画像を用いて予め学習される。具体的には、教師画像を入力したニューラルネットワークが正解のクラスIDを出力するように、フィルタ係数が設定される。さらに、この装置は、モデルによって識別されたクラスIDを画像とともにユーザに提示し、ユーザによりクラスIDが修正された場合には、クラスID修正後の画像をモデルに再学習させる。
特開2016-143354号公報
ところで、モデルが容易に識別することができない画像は、ニューラルネットワークのパラメータの決定への貢献度が高く、学習効果の高い教師データとなり得る。そのため、モデルが容易に識別することができない画像を用いてモデルを再学習することにより、高い学習効率を実現することができる。しかしながら、特許文献1に記載の装置は、ユーザによりクラスIDが修正された画像をモデルに再学習させているが、実際はモデルが正答している画像の中にも僅差でたまたま正解クラスに分類された画像が含まれている可能性がある。このような画像は、モデルが容易に識別することができない画像と言えるが、再学習する候補から外れてしまう。このため、特許文献1に記載の装置は、モデルを効率的に学習できていないおそれがある。
本開示は、モデルの学習を適切に支援することができる学習支援装置、学習装置、学習支援方法及び学習支援プログラムを提供することを目的とする。
本開示に係る学習支援装置は、第1ラベルが付与された第1データ及び第2ラベルが付与された第2データを有する教師データを取得する教師データ取得部と、第1ラベル及び第2ラベルの何れかがそれぞれに付与された少なくとも1つの教師候補データを取得する教師候補データ取得部と、対象データを第1ラベル及び第2ラベルの何れかに分類するように教師データを用いて学習されたモデルと、教師データとに基づいて、予め定められた次元の特徴空間で表現される教師データの特徴量を教師データごとに導出するとともに、モデルと少なくとも1つの教師候補データとに基づいて特徴空間で表現される教師候補データの特徴量を教師候補データごとに導出する導出部と、教師データの特徴量と少なくとも1つの教師候補データの特徴量とに基づいて、教師候補データと第1データとの特徴空間における距離である第1距離、及び、教師候補データと第2データとの特徴空間における距離である第2距離の少なくとも一方を教師候補データごとに算出する算出部と、算出部により算出された教師候補データごとの距離に基づいて、少なくとも1つの教師候補データの中から教師データとして追加するデータを選択する選択部と、を備える。
本開示の種々の側面及び実施形態によれば、モデルの学習を適切に支援することができる。
図1は、実施形態に係る学習装置及び学習支援装置の機能の一例を示すブロック図である。 図2は、図1に示す装置のハードウェア構成を示すブロック図である。 図3は、学習部において用いられるニューラルネットワークの模式図である。 図4は、ニューラルネットワークにより演算された特徴量の分布を示す図である。 図5は、良品距離及び不良品距離の要素を示す説明図である。 図6は、良品距離及び不良品距離の要素を示す説明図である。 図7は、良品距離及び不良品距離の要素を示す説明図である。 図8は、学習装置及び学習支援装置における学習支援方法のフローチャートである。 図9は、学習処理のフローチャートである。 図10(A)~図10(D)は、表示部に表示される画面例を示す図である。
以下、図面を参照して、本開示の実施形態について説明する。なお、以下の説明において、同一又は相当要素には同一符号を付し、重複する説明を省略する。
[学習支援装置の機能構成]
図1は、実施形態に係る学習装置及び学習支援装置の機能の一例を示すブロック図である。図1に示される学習装置10は、モデルM1を学習する装置である。モデルM1は、ニューラルネットワークとパラメータとを含む構造を有する。ニューラルネットワークは、複数のニューロンを結合させた構造を有する。一例として、ニューラルネットワークは、複数のニューロンがグループ化された層を連ねた階層型の多層ニューラルネットワークであってもよい。ニューラルネットワークは、ニューロンの個数及び結合関係で定義される。ニューロン間又は層間の結合強度は、パラメータ(重み係数など)を用いて定義される。ニューラルネットワークでは、データが入力され、複数のニューロンの演算結果及びパラメータに基づいて、データの特徴が解として出力される。学習装置10は、目的とする能力を獲得できるようにモデルM1のパラメータを学習する学習部11を有する。学習とは、パラメータを最適値に調整することである。ニューラルネットワークの詳細は後述する。
学習装置10の学習結果は、処理装置12において活用される。処理装置12は、学習装置10が学習対象とするモデルM1と同一のニューラルネットワーク及びパラメータを有するモデルM2を動作可能な実行環境を有する。モデルM2は、モデルM1と同一のモデルであり、モデルM1がマスター(オリジナル)となる。処理装置12では、モデルM2に対象データD1が入力され、モデルM2から結果が出力される。対象データD1とは、処理装置12の目的を達成するために処理されるデータであり、例えば、画像データ、音声データ、グラフデータなどである。対象データD1は後述するラベルを付与する前のデータである。処理装置12の目的は、認識(分類)、判定などである。処理装置12は、学習装置10から物理的又は論理的に分離されていてもよいし、学習装置10に統合され、学習装置10と物理的又は論理的に一体化してもよい。
処理装置12のモデルM2は、対象データD1の内容を認識し、認識結果R1としてラベルを出力する。ラベルとは、予め設定されたカテゴリを識別する情報であり、対象データD1を分類又は判別するために用いられる。対象データD1が画像データである場合、ラベルは、例えば被写体の種類(人物、乗り物、動物など)、被写体の品質(良品、不良品など)とすることができる。処理装置12は、出力したラベルを対象データD1に付与してもよい。付与とは、関連付けることを意味し、例えば対象データD1とラベルとの関係性をテーブルなどに記録することであってもよいし、ラベルが含まれるように対象データD1の属性情報を変更することであってもよいし、対象データそのものにラベルを埋め込むことであってもよい。
以下では、処理装置12のモデルM2が、電子部品を被写体とする対象データD1を入力し、電子部品の品質に関するラベルを出力する場合を一例として説明する。この場合、学習装置10の学習部11は、処理装置12のモデルM2が対象データD1のラベルを正確に判別できるように、モデルM1のニューラルネットワークのパラメータを学習する。
学習部11は、教師データD2に基づいてモデルM1を学習する。教師データD2とは、対象データD1と同一形式のデータ(ここでは画像データ)であり、正しいラベルが予め付与される。例えば、教師データD2には、被写体である電子部品が外観品質基準を満たすことを示す良品ラベル(第1ラベルの一例)、被写体である電子部品が外観品質基準を満たさないことを示す不良品ラベル(第2ラベルの一例)の何れかがアノテータ(作業者)などによって正しく付与される。このため、教師データD2は、良品ラベルが付与された良品データ(第1データの一例)、及び不良品ラベルが付与された不良品データ(第2データの一例)を有する。
学習部11は、教師データD2である良品データ及び不良品データに基づいて、良品データの特徴及び不良品データの特徴をモデルM1のニューラルネットワークに学習させる。モデルM1は、入力した教師データD2に対して、良品に属する確からしさを示すスコア(以下「良品スコア」という)と、不良品に属する確からしさを示すスコア(以下「不良品スコア」という)とを出力する。本実施形態では、良品スコア及び不良品スコアは、それぞれ0.0~1.0の範囲の値となり、良品スコアと不良品スコアとの合計は1.0となるように設定される。学習部11は、良品ラベルが付与された良品データについては、良品スコアが1.0に近づき、かつ、不良品スコアが0.0に近づくように、モデルM1のニューラルネットワークのパラメータを調整する。一方、学習部11は、不良品ラベルが付与された不良品データについては、良品スコアが0.0に近づき、かつ、不良品スコアが1.0に近づくように、モデルM1のニューラルネットワークのパラメータを調整する。これにより、モデルM1は対象データD1を良品ラベル及び不良品ラベルの何れかに分類する能力を獲得する。学習部11によって学習されたパラメータは、処理装置12へと出力され、処理装置12のモデルM2のパラメータが更新される。これにより、処理装置12のモデルM2も、対象データD1を良品ラベル及び不良品ラベルの何れかに分類する能力を獲得する。
学習支援装置20は、学習装置10の学習を支援する。学習支援装置20は、教師候補データD3の中からモデルM1の再学習のための追加教師データD4を選択する。教師候補データD3は、教師データD2と同一形式のデータ(ここでは画像データ)であり、アノテータ(作業者)などによってラベルが予め付与される。
学習支援装置20は、教師データ取得部21、教師候補データ取得部22、導出部23、算出部24、及び選択部25を備える。
教師データ取得部21は、良品ラベルが付与された良品データ及び不良品ラベルが付与された不良品データを有する教師データD2を取得する。教師データD2は、学習部11によって学習済みのデータである。教師候補データ取得部22は、良品ラベル及び不良品ラベルの何れかがそれぞれに付与された少なくとも1つの教師候補データD3を取得する。教師候補データD3は、1又は複数のデータから構成される。教師候補データD3は、良品ラベルが付与されたデータのみで構成されてもよいし、不良品ラベルが付与されたデータのみで構成されてもよい。以下では、教師候補データD3は、良品ラベルが付与されたデータ及び不良品ラベルが付与されたデータの双方が含まれている複数のデータとする。
教師データ取得部21及び教師候補データ取得部22は、図示しないデータサーバなどから通信を介して教師データD2又は教師候補データD3を取得してもよいし、学習支援装置20に接続可能な外部記憶媒体や学習支援装置20が備える記憶媒体を参照して、教師データD2又は教師候補データD3を取得してもよい。教師データ取得部21及び教師候補データ取得部22は、カメラ等により得られたデータにユーザがラベルを付与したデータを取得してもよい。
導出部23は、学習部11において学習されたモデルM1と、教師データD2とに基づいて、予め定められた次元の特徴空間で表現される特徴量を教師データD2ごとに算出する。予め定められた次元の特徴空間は、膨大な次元の特徴量を演算容易とするために用いられる変換用の特徴空間である。このため、特徴空間の次元は、2次元でもよいし、3次元であってもよい。
特徴量は、画像の特徴を表現したベクトルであり、画像を入力したモデルM1のニューラルネットワークの計算過程から抽出される。導出部23は、教師データD2ごとに特徴量を抽出するように学習装置10を動作させ、学習装置10から特徴量を取得してもよい。あるいは、導出部23は、モデルM1と同一のモデルM3を用意し、学習支援装置20において教師データD2ごとに特徴量を算出してもよい。モデルM3は、モデルM1をマスター(オリジナル)とするモデルである。
導出部23は、学習部11において学習されたモデルM1と、少なくとも1つの教師候補データD3とに基づいて、教師データD2の特徴量を落とし込んだ特徴空間と同一の次元の特徴空間で表現される特徴量を教師候補データD3ごとに算出する。教師候補データD3それぞれの特徴の抽出は、教師データD2と同様に、学習装置10に実行させてもよいし、モデルM1と同一のモデルM3を用意し、学習支援装置20において教師データD2ごとに特徴量を算出してもよい。
算出部24は、特徴空間において教師データD2と教師候補データD3との距離を算出する。具体的には、算出部24は、教師データD2の特徴量と教師候補データD3の特徴量とに基づいて、教師候補データD3と良品データとの特徴空間における距離である良品距離(第1距離の一例)を教師候補データD3ごとに算出する。算出部24は、教師データD2の特徴量と教師候補データD3の特徴量とに基づいて、教師候補データD3と不良品データとの特徴空間における距離である不良品距離(第2距離の一例)を教師候補データD3ごとに算出する。算出部24は、良品距離及び不良品距離の少なくとも一方を算出してもよい。つまり、算出部24は、良品距離のみを算出してもよいし、不良品距離のみを算出してもよい。算出部24は、教師候補データD3ごとに、良品距離及び不良品距離を用いて評価値を算出してもよい。良品距離、不良品距離及び評価値の詳細な説明及び算出方法については後述する。
選択部25は、算出部24において算出された教師候補データD3ごとの距離に基づいて、少なくとも1つの教師候補データD3の中から教師データD2として追加するデータ(追加教師データD4)を選択する。選択部25は、教師候補データD3ごとの距離として、良品距離のみを用いてもよいし、不良品距離のみを用いてもよい。本実施形態では、選択部25は、教師候補データD3ごとの良品距離及び不良品距離の双方に基づき、追加教師データD4を選択する。選択部25は、距離(良品距離及び不良品距離の少なくとも一方)に基づいて、追加教師データD4が存在しないと判定した場合、後述の表示部26に当該判定結果を表示させる。判定の基準については後述する。
選択部25が追加教師データD4を選択する方法として、以下の3つの方法が例示される。第1の方法では、選択部25は、不良品ラベルが付与された教師候補データの良品距離が短いほど当該教師候補データが少なくとも1つの教師候補データの中から選択される確率を上げるという方法である。第2の方法では、選択部25は、良品ラベルが付与された教師候補データの不良品距離が短いほど当該教師候補データが少なくとも1つの教師候補データD3の中から選択される確率を上げる方法である。第3の方法では、選択部25は、教師候補データD3ごとの評価値に基づいて、追加教師データD4を選択する方法である。選択部25は、上述3つの方法のいずれか又はこれらの組み合わせを採用することができる。各方法の詳細については後述する。
学習支援装置20は、表示部26、入力部27、及び、変更部28を備えることができる。
表示部26は、選択部25で選択された追加教師データD4を表示する。表示部26は、追加教師データD4の画像のみではなく、追加教師データD4に付与されているラベル、良品距離、不良品距離、評価値、教師候補データ数などを表示してもよい。表示部26は、特徴量を所定の次元の空間にプロットしたグラフを表示してもよい。表示部26は、教師データD2と追加教師データD4とを比較表示できるようにしてもよい。追加教師データD4が表示部26により可視化されることによって、ユーザにとって、追加教師データD4の品質のばらつきの確認やラベル、良品距離、不良品距離、評価値又は教師候補データ数の確認が容易となる。
表示部26は、選択部25が距離に基づいて追加教師データD4が存在しないと判定した場合、選択部25の制御により、追加教師データD4が存在しない旨を示す判定結果を表示する。選択部25は、表示部26に判定結果を画面表示させることで、追加教師データが存在しないことをユーザに報知することができる。ユーザは、モデルM1に対して学習させる追加教師データD4がないことを認識することができ、重み係数などのパラメータの学習を終了させるか否かを容易に判定することができる。表示部26は、図示しないスピーカーによるアラーム音の出力などと組み合わせてユーザに判定結果を報知してもよい。
入力部27は、ユーザ操作の入力を受け付ける。ユーザ操作とは、入力部27を作動させるユーザによる動作であり、一例として、選択操作又は入力操作である。
変更部28は、表示部26に表示されている追加教師データD4に付与されているラベルを変更するためのユーザ操作が入力部27を介して入力された場合、追加教師データD4に付与されているラベルを変更する。変更部28は、追加教師データD4に予め付与されたラベルに誤りがないかをユーザに確認させる画面を表示部26に表示させる。ユーザが追加教師データD4のラベルに誤りがあると判断した場合、ユーザは、入力部27を介して変更部28により追加教師データD4のラベルを良品ラベルから不良品ラベルへ、又は不良品ラベルから良品ラベルへと変更させることができる。
[学習支援装置のハードウェア構成]
図2は、図1に示す装置のハードウェア構成を示すブロック図である。図2に示されるように、学習支援装置20は、CPU(Central Processing Unit)301と、RAM(Random Access Memory)302と、ROM303(Read Only Memory)と、グラフィックコントローラ304と、補助記憶装置305と、外部接続インタフェース306(以下インタフェースは「I/F」と記す)と、ネットワークI/F307と、バス308と、を含む、通常のコンピュータシステムとして構成される。
CPU301は、演算回路からなり、学習支援装置20を統括制御する。CPU301は、ROM303又は補助記憶装置305に記憶されたプログラムをRAM302に読み出す。CPU301は、RAM302に読み出したプログラムにおける種々の処理を実行する。ROM303は、学習支援装置20の制御に用いられるシステムプログラムなどを記憶する。グラフィックコントローラ304は、表示部26に表示させるための画面を生成する。補助記憶装置305は記憶装置としての機能を有する。補助記憶装置305は、種々の処理を実行するアプリケーションプログラムなどを記憶する。補助記憶装置305は、一例として、HDD(Hard Disk Drive)、SSD(Solid State Drive)などにより構成される。外部接続I/F306は、学習支援装置20に種々の機器を接続するためのインタフェースである。外部接続I/F306は、一例として、学習支援装置20、ディスプレイ、キーボード、マウスなどを接続させる。ネットワークI/F307は、CPU301の制御に基づき、学習支援装置20などとネットワークを介して通信を行う。上述の各構成部は、バス308を介して、通信可能に接続される。
学習支援装置20は、上述以外のハードウェアを有し得る。学習支援装置20は、一例として、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)、DSP(Digital Signal Processor)などを備えてもよい。学習支援装置20は、ハードウェアとして1つの筐体に収まっている必要はなく、いくつかの装置に分離していてもよい。
図1に示される学習支援装置20の機能は、図2に示されるハードウェアによって実現する。教師データ取得部21、教師候補データ取得部22、導出部23、算出部24、選択部25及び変更部28は、CPU301がRAM302、ROM303又は補助記憶装置305に格納されたプログラムを実行し、RAM302、ROM303もしくは補助記憶装置305に記憶されたデータ、又は、外部接続I/F306もしくはネットワークI/Fを介して取得されたデータを処理することで実現する。表示部26は、ディスプレイ装置である。入力部27は、マウス、キーボード、タッチパネルなどである。変更部28の機能は、グラフィックコントローラ304をさらに用いて実現され得る。図1に示される処理装置12及び学習装置10も、図2に示されるハードウェアの一部又は全部によって構成される。
[ニューラルネットワークの詳細]
モデルM1~M3のニューラルネットワークを概説する。図3は、ニューラルネットワークの模式図である。図3に示されるように、ニューラルネットワーク400は、いわゆる階層型ニューラルネットワークであり、円で示す多数の人工ニューロン(ノード)が階層を形成しつつ連結されている。階層型ニューラルネットワークは、入力用の人工ニューロン、処理用の人工ニューロン及び出力用の人工ニューロンを備える。
データ401は、ニューラルネットワークの処理対象である。データ401は、入力層402における入力用の人工ニューロンで取得される。入力用の人工ニューロンは、並列配置されることで入力層402を形成する。データ401は、処理用の人工ニューロンへ分配される。ニューラルネットワークでやり取りされる信号そのものをスコアという。スコアは数値である。
処理用の人工ニューロンは、入力用の人工ニューロンに接続される。処理用の人工ニューロンは、並列配置されることで中間層403を形成する。中間層403は、複数の層であってもよい。なお、中間層403を備えた3階層以上のニューラルネットワークをディープニューラルネットワークという。
ニューラルネットワークは、いわゆる畳み込みニューラルネットワークであってもよい。畳み込みニューラルネットワークは、畳み込み層とプーリング層とが交互に連結されて構成されるディープニューラルネットワークである。畳み込み層とプーリング層とで順次処理が行われることにより、データ401の画像はエッジなどの特徴を保持しつつ縮小される。畳み込みニューラルネットワークを画像解析に応用した場合、この抽出された特徴に基づいて画像の分類を高精度に行うことができる。
出力用の人工ニューロンは、外部へスコアを出力する。図3の例では、良品スコアと不良品スコアとが出力用の人工ニューロンから出力される。つまり、出力層404には、良品スコアを出力するための人工ニューロンと、不良品スコアを出力するための人工ニューロンと、の2つの人工ニューロンが用意されている。出力層404は、出力405として、外部へ良品スコア及び不良品スコアを出力する。本実施形態では、良品スコアと不良品スコアとは、それぞれ0.0~1.0の範囲の値となり、良品スコアと不良品スコアとの合計は1.0となるように設定されている。後述の学習処理(S510)において、良品ラベルが付与された教師データである良品データについては、良品スコアが1.0、不良品スコアが0.0に近づくように、ニューラルネットワーク400の学習が行われる。一方、不良品ラベルが付与された教師データである不良品データについては、良品スコアが0.0に、不良品スコアが1.0に近づくように、ニューラルネットワーク400の学習が行われる。
[導出部による特徴量の導出]
導出部23は、一例として、上述した学習済みのニューラルネットワーク400を含むモデルM3を用いて、教師データD2ごとに予め定められた次元の特徴空間で表現される特徴量を導出する。導出部23は、教師候補データ取得部22により取得された教師データD2をデータ401としてニューラルネットワーク400の入力層402に入力する。中間層403内の処理用の人工ニューロンは、学習された重み係数を用いて入力を処理し、出力を他のニューロンへ伝搬する。導出部23は、複数の中間層403から選択された1層の演算結果を特徴量として取得する。一例として、導出部23は、複数の中間層403のうち出力層404へスコアを伝搬する層(出力層404の一段前の層)の演算結果を特徴空間に投射し、特徴量とする。このように、導出部23は、学習済みのモデルM3と教師データD2とを用いて特徴量を導出する。
また、導出部23は、上述した学習済みのニューラルネットワーク400を含むモデルM3を用いて、教師候補データD3ごとに予め定められた次元の特徴空間で表現される特徴量を導出する。導出部23は、教師候補データ取得部22により取得された教師候補データD3をデータ401としてニューラルネットワーク400の入力層402に入力する。中間層403内の処理用の人工ニューロンは、学習された重み係数を用いて入力を処理し、出力を他のニューロンへ伝搬する。導出部23は、複数の中間層403から選択された1層の演算結果を特徴量として取得する。一例として、導出部23は、複数の中間層403のうち出力層404へスコアを伝搬する層(出力層404の一段前の層)の演算結果を特徴空間に投射し、特徴量とする。このように、導出部23は、学習済みのモデルM3と教師候補データD3とを用いて特徴量を導出する。
導出部23は、特徴量を抽出するように学習装置10を動作させ、学習装置10から特徴量を取得してもよい。この場合、学習装置10は、モデルM1を用いて上述した手法と同一の手法で特徴量を算出する。
図4は、ニューラルネットワークにより演算された特徴量の分布を示す図である。図4に示されるグラフは、2次元空間に投射された教師データD2の特徴量及び教師候補データD3の特徴量を示し、横軸が第一主成分、縦軸が第二主成分である。図4に示されるように、良品ラベルが付与された教師データD2である良品データの特徴量701と不良品ラベルが付与された教師データD2である不良品データの特徴量702とは、それぞれ点群を形成し、点群の間に境界面が存在する。図4に示されるグラフには、導出部23により抽出された良品ラベルが付与された教師候補データD3の特徴量703及び不良品ラベルが付与された教師候補データD3の特徴量704も含む。教師候補データD3は、境界面に関係なくプロットされている。
[算出部による良品距離及び不良品距離の算出]
算出部24は、教師候補データD3ごとに、対応する特徴量に基づいて、教師候補データD3と良品データとの特徴空間における距離である良品距離を算出する。良品距離及び不良品距離の表現に用いられる「距離」には、一例として、特徴空間に投射されたデータ間のユークリッド距離を用いることができる。特徴空間における距離を算出することができれば、ユークリッド距離には限定されず、マハラノビス距離等も用いることができる。教師データD2のうちの1つのデータである教師データkと教師候補データD3のうちの1つのデータである教師候補データsとの距離は、例えば以下の式1で算出される。
Figure 0007298825000001

ここで、q(k,i)は教師データkの特徴空間のある次元iにおける座標であり、p(s,i)は教師候補データsの特徴空間のある次元iにおける座標である。d(k,s)は教師データkと教師候補データsとの距離であり、qのベクトルは、教師データkの特徴空間の座標データの集合であり、pのベクトルは、教師候補データsの特徴空間の座標データの集合である。なお、kは教師データのデータ数(m+n:m及びnは整数)以下の整数であり、iは予め定められた次元の数(j)以下(jは整数)の整数であり、sは教師候補データのデータ数(t)以下(tは整数)の整数である。
教師候補データsと良品データOKのうちの1つのデータである良品データOKgまでの距離をd(OKg,s)とすると、d(OKg,s)は式1を用いて以下の式2のように表される。なお、OKgのうち、OKは良品を示す符号であり、gは、良品データOKのデータ数(m)以下の整数である。
Figure 0007298825000002

(OKg,i)は教師データD2のうちの良品データOKgの特徴空間のある次元iにおける座標であり、qOKgのベクトルは、良品データOKgの特徴空間の座標データの集合である。
教師候補データsと各良品データOKとの距離の集合をd(OK,s)のベクトルとすると、d(OK,s)のベクトルは式2を用いて以下の式3のように表される。
Figure 0007298825000003
教師候補データsにおける良品距離E(OK,s)は、例えば、d(OK,s)のベクトルの要素の中で最小値である。すなわち、良品距離E(OK,s)は、教師候補データsと各良品データOKとの距離の集合であるd(OK,s)のベクトルの要素のうち、最小値である。良品距離E(OK,s)は、式3を用いて以下の式4のように表される。このとき、良品距離E(OK,s)が小さいほど、特徴空間内において、教師候補データsが良品データOKのうちいずれかの近くに位置することを示す。
Figure 0007298825000004
教師候補データsにおける良品距離E(OK,s)は、例えば、d(OK,s)のベクトルの要素の中で小さい方からa個の要素を抽出し、a個の要素の平均値としてもよい。aは、自然数であり、例えば3である。この場合の良品距離E(OK,s)は、式3を用いて以下の式5のように表される。このとき、良品距離E(OK,s)が小さいほど、特徴空間内において、教師候補データsが複数(a個)の良品データOKの近くに位置することを示し、教師候補データsが良品データOKの集団(良品クラスタ)に近いことを示す。
Figure 0007298825000005
また、算出部24は、教師候補データD3ごとに、対応する特徴量に基づいて、教師候補データD3と不良品データとの特徴空間における距離である不良品距離を算出する。教師候補データsと不良品データNGのうちの不良品データNGhまでの距離をd(NGh,s)とすると、d(NGh,s)は式1を用いて以下の式6のように表される。なお、NGhのうち、NGは不良品を示す符号であり、hは、不良品データNGのデータ数(n)以下の整数である。
Figure 0007298825000006

なお、q(NGh,i)は教師データのうち、不良品データNGhの特徴空間のある次元iにおける座標であり、qNGhのベクトルは、不良品データNGhの特徴空間の座標データの集合である。図5は、良品距離及び不良品距離の要素を示す説明図である。図5に示されるように、教師データD2及び教師候補データsに対してd(OKk,s)及びd(NGk,s)が算出される。
教師候補データsと各不良品データNGとの距離の集合をd(NG,s)のベクトルとすると、d(NG,s)のベクトルは式6を用いて以下の式7のように表される。図6は、良品距離及び不良品距離の要素を示す説明図である。図6には、ある教師候補データs+1に対するd(OK,s+1)のベクトル及びd(NG,s+1)のベクトルが示されている。
Figure 0007298825000007
教師候補データsにおける不良品距離E(NG,s)は、例えば、d(NG,s)のベクトルの要素の中で最小値である。すなわち、不良品距離E(NG,s)は、教師候補データsと各不良品データNGとの距離のうち、最小値である。不良品距離E(NG,s)は、式7を用いて以下の式8のように表される。このとき、不良品距離E(NG,s)が小さいほど、特徴空間内において、教師候補データsが不良品データNGのうちいずれかの近くに位置することを示す。図7は、良品距離及び不良品距離を示す説明図である。図7には、教師候補データs+1における良品データOKからの距離の最小値及び不良品データNGからの距離の最小値が、それぞれ良品距離E(OK,s+1)及び不良品距離E(NG,s+1)であることが示されている。
Figure 0007298825000008
教師候補データsにおける不良品距離E(NG,s)は、例えば、d(NG,s)のベクトルの要素の中で小さい方からa個の要素を抽出し、a個の要素の平均値としてもよい。この場合の不良品距離E(NG,s)は、式7を用いて以下の式9のように表される。このとき、不良品距離E(NG,s)が小さいほど、特徴空間内において、教師候補データsが複数(a個)の不良品データNGの近くに位置することを示し、教師候補データsが不良品データNGの集団(不良品クラスタ)に近いことを示す。
Figure 0007298825000009
また、算出部24は、算出された良品距離E(OK,s)及び不良品距離E(NG,s)を用いて教師候補データsにおける評価値Eを算出する。評価値Eは、例えば、良品距離E(OK,s)を不良品距離E(NG,s)で除した値であり、以下の式10のように表される。
Figure 0007298825000010
例えば、評価値Eが1より小さいほど、不良品距離E(NG,s)より良品距離E(OK,s)の方が小さく、教師候補データsが不良品クラスタより良品クラスタに近いデータであることが示される。したがって、当該教師候補データsが不良品ラベルを有するデータである場合、評価値Eが小さいほど、当該教師候補データsは、現段階の教師データD2の学習結果ではモデルM1,M2,M3において良品ラベル又は不良品ラベルへ分類することが難しいデータであり、モデルM1,M2,M3にとって学習効果の高いデータであることを示す。
一方で、例えば、評価値Eが1より大きいほど、良品距離E(OK,s)より不良品距離E(NG,s)の方が小さく、教師候補データsが良品クラスタより不良品クラスタに近いデータであることが示される。したがって、当該教師候補データsが良品ラベルを有するデータである場合、評価値Eが大きいほど、当該教師候補データsは、現段階の教師データD2の学習結果ではモデルM1,M2,M3において良品ラベル又は不良品ラベルへ分類することが難しいデータであり、モデルM1,M2,M3にとって学習効果の高いデータであることを示す。
なお、評価値は、不良品距離E(NG,s)を良品距離E(OK,s)で除した値でもよい。この場合、上記の判定は逆になる。すなわち、評価値Eが1より大きいほど、不良品距離E(NG,s)より良品距離E(OK,s)の方が小さく、教師候補データsが不良品クラスタより良品クラスタに近いデータであることが示される。さらに、評価値Eが1より小さいほど、良品距離E(OK,s)より不良品距離E(NG,s)の方が小さく、教師候補データsが良品クラスタより不良品クラスタに近いデータであることが示される。また、評価値は、上記のように除して得られた値に対して所定の演算処理を施した値としてもよい。
[選択部による教師候補データの選択方法]
選択部25は、算出部24において算出された良品距離E(OK,s)、不良品距離E(NG,s)及び評価値Eの少なくとも1つに基づいて、教師候補データD3の中から追加教師データD4を選択する。ここで、ニューラルネットワーク400における重み係数の学習として、ニューラルネットワーク400が容易に識別することができない教師候補データsは学習効果が高く、学習に要する時間を短縮させることができる。このため、選択部25は、学習効果の高低に基づいて教師候補データD3の中から教師データD2として追加するデータ(追加教師データD4)を選択することが求められている。
最初に、選択部25において、不良品ラベルが付与された教師候補データそれぞれの良品距離E(OK,s)が短いほど当該教師候補データが少なくとも1つの教師候補データD3の中から選択される確率を上げる方法を説明する。ここで、選択部25は、良品距離E(OK,s)が所定の閾値よりも小さい場合に、良品距離E(OK,s)が短い不良品ラベルが付与された教師候補データほど教師候補データD3の中から選択される確率を上げる。例えば、選択部25は、良品距離E(OK,s)が所定の閾値よりも小さく、且つ、不良品ラベルを有する教師候補データを、予め定められた追加教師データD4の上限数まで良品距離E(OK,s)が近い順に選択する。図5には、導出部23により抽出された不良品ラベルが付与された教師候補データの特徴量705が2次元空間に射影されている。良品ラベルを有する良品データOK(良品クラスタ)に近く、不良品ラベルを有する教師候補データは、教師データD2を適用して処理を行った段階のニューラルネットワーク400が容易に識別することができないことを示している。このように、選択部25が上述のように追加教師データD4を選択することで、ニューラルネットワーク400にとって学習効果の高い追加教師データD4を選択することができる。なお、選択部25は、教師候補データD3のすべてが所定の閾値以上の良品距離E(OK,s)を有するデータのみである場合、追加教師データD4が存在しないと判定し、表示部26に当該判定結果を表示させる。選択部25は、所定の閾値未満の良品距離E(OK,s)を有する教師候補データD3のデータ数がある閾値以下となった場合に追加教師データD4が存在しないと判定し、表示部26に当該判定結果を表示させてもよい。
また、選択部25において、良品ラベルが付与された教師候補データそれぞれの不良品距離E(NG,s)が短いほど当該教師候補データが少なくとも1つの教師候補データD3の中から選択される確率を上げる方法を説明する。ここで、選択部25は、不良品距離E(NG,s)が所定の閾値よりも小さい場合に、不良品距離E(NG,s)が短い良品ラベルが付与された教師候補データほど教師候補データD3の中から選択される確率を上げる。例えば、選択部25は、不良品距離E(NG,s)が所定の閾値よりも小さく、且つ、良品ラベルを有する教師候補データを、予め定められた追加教師データD4の上限数まで不良品距離E(NG,s)が近い順に選択する。図6には、導出部23により抽出された良品ラベルが付与された教師候補データの特徴量706が2次元空間に射影されている。不良品ラベルを有する不良品データNG(不良品クラスタ)に近く、良品ラベルを有する教師候補データは、教師データD2を適用して処理を行った段階のニューラルネットワーク400が容易に識別することができないことを示している。このように、選択部25が上述のように追加教師データD4を選択することで、ニューラルネットワーク400にとって学習効果の高い追加教師データD4を選択することができる。なお、選択部25は、教師候補データD3のすべてが所定の閾値以上の不良品距離E(NG,s)を有するデータのみである場合、追加教師データD4が存在しないと判定し、表示部26に当該判定結果を表示させる。選択部25は、所定の閾値未満の不良品距離E(NG,s)を有する教師候補データD3のデータ数がある閾値以下となった場合に追加教師データD4が存在しないと判定し、表示部26に当該判定結果を表示させてもよい。
また、選択部25において、教師候補データごとの評価値Eに基づいて、追加教師データD4を選択する方法を説明する。選択部25は、例えば、良品ラベルを有する各教師候補データsの評価値Eが大きいほど当該教師候補データが少なくとも1つの教師候補データD3の中から選択される確率を上げる。例えば、選択部25は、良品ラベルを有する教師候補データを、予め定められた追加教師データD4の上限数まで評価値Eが大きい順に選択する。評価値Eが大きい教師候補データsは、評価値Eが小さい教師候補データsと比べて、図7に示すように、良品ラベルを有する良品データOKまでの距離が長い場合、及び不良品ラベルを有する不良品データNGまでの距離が短い場合の少なくともいずれかに該当する。このため、良品ラベルを有する教師候補データは、教師データD2を適用して処理を行った段階のニューラルネットワーク400が容易に識別することができないことを示している。また、評価値Eが1より大きいことは、教師候補データsが良品クラスタより不良品クラスタに近いデータであることが示される。このように、選択部25は、例えば、評価値Eが大きい順に、評価値Eが1より大きく、且つ、良品ラベルを有する教師候補データを追加教師データD4として選択することで、ニューラルネットワーク400にとって学習効果の高い追加教師データD4を選択することができる。なお、選択部25は、教師候補データD3のすべてが所定の閾値未満の評価値Eを有するデータのみである場合、追加教師データD4が存在しないと判定し、表示部26に当該判定結果を表示させる。選択部25は、所定の閾値以上の評価値Eを有する教師候補データD3のデータ数がある閾値以下となった場合に追加教師データD4が存在しないと判定し、表示部26に当該判定結果を表示させてもよい。
なお、選択部25は、例えば、不良品ラベルを有する各教師候補データsの評価値Eが小さいほど当該教師候補データが少なくとも1つの教師候補データD3の中から選択される確率を上げてもよい。例えば、選択部25は、不良品ラベルを有する教師候補データを、予め定められた追加教師データD4の上限数まで評価値Eが小さい順に選択する。評価値Eが小さい教師候補データsは、評価値Eが大きい教師候補データsと比べて、不良品ラベルを有する不良品データNGまでの距離が長い場合、及び良品ラベルを有する良品データOKまでの距離が短い場合の少なくともいずれかに該当する。このため、不良品ラベルを有する教師候補データは、教師データD2を適用して処理を行った段階のニューラルネットワーク400が容易に識別することができないことを示している。また、評価値Eが1より小さいことは、教師候補データsが不良品クラスタより良品クラスタに近いデータであることが示される。このように、選択部25は、例えば、評価値Eが小さい順に、不良品ラベルを有する教師候補データを追加教師データD4として選択することで、ニューラルネットワーク400にとって学習効果の高い追加教師データD4を選択することができる。なお、選択部25は、教師候補データD3のすべてが所定の閾値以上の評価値Eを有するデータのみである場合、追加教師データD4が存在しないと判定し、表示部26に当該判定結果を表示させる。選択部25は、所定の閾値未満の評価値Eを有する教師候補データD3のデータ数がある閾値以下となった場合に追加教師データD4が存在しないと判定し、表示部26に当該判定結果を表示させてもよい。また、選択部25は、評価値Eの算出方法に合わせて、適宜大小関係を入れ替えて追加教師データD4を選択する。
[学習装置及び学習視線装置の動作]
図8は、学習方法及び学習支援方法のフローチャートである。学習支援装置20による学習支援方法は、取得処理(S500、第1工程の一例)と、導出処理(S520、第2工程の一例)と、算出処理(S530、第3工程の一例)と、選択処理(S540、第4工程の一例)とを有する。学習支援方法は、表示処理(S560)と、入力判定処理(S570)と、変更処理(S580)と、報知処理(S590)とを有してもよい。学習装置10による学習方法は、学習処理(S510)を有する(図9参照)。
最初に、学習支援装置20の教師データ取得部21は、取得処理(S500)として、例えばデータサーバから良品ラベルが付与された良品データOK、及び不良品ラベルが付与された不良品データNGを有する教師データD2を取得する。学習支援装置20の教師候補データ取得部22は、取得処理(S500)として、例えばデータサーバから良品ラベル及び不良品ラベルの何れかがそれぞれに付与された少なくとも1つの教師候補データD3を取得する。
学習装置10の学習部11は、学習処理(S510)として、教師データD2を学習して、モデルM1のニューラルネットワーク400における重み係数を調整する。図9は、学習処理のフローチャートである。学習部11は、演算処理(S512)として、教師データD2をモデルM1のニューラルネットワーク400に学習させる。この演算処理(S512)では、教師データD2について、良品スコアと不良品スコアとがニューラルネットワーク400から出力される。学習部11は、誤差演算処理(S513)として、教師データD2に付与されていたラベルと、当該教師データD2について出力されたスコアとの誤差を算出する。学習部11は、逆伝播処理(S904)として、誤差演算処理(S513)で算出された誤差を用いて、ニューラルネットワーク400の中間層403の重み係数を調整する。学習部11は、閾値判定処理(S515)として、誤差演算処理(S513)で算出された誤差は所定の閾値を下回るか否かを判定する。誤差が所定の閾値を下回らないと判定された場合(S515:NO)、再びS512~S515の処理が繰り返される。誤差が所定の閾値を下回ると判定された場合(S515:YES)、完了判定処理(S906)に移行する。
演算処理(S512)~閾値判定処理(S515)の具体例として、良品ラベル「1」が付与されている良品データOKが入力されたユースケースについて説明する。この教師データD2に対して演算処理(S512)が初めて施された場合、良品スコアと不良品スコアとして、例えばそれぞれ「0.9」と「0.1」との値がモデルM1のニューラルネットワーク400から出力される。次いで、誤差演算処理(S513)では、良品ラベル「1」と、良品スコア「0.9」との差「0.1」が算出される。なお、不良品ラベルが付与されている不良品データNGの場合、不良品スコアとの差が算出される。次いで、誤差伝播処理(S514)では、誤差演算処理(S513)で算出される誤差がより小さくなるように、モデルM1のニューラルネットワーク400の中間層403の重み係数が調整される。閾値判定処理(S515)において、誤差演算処理(S513)で算出される誤差が所定の閾値を下回ると判定されるまで重み係数の調整が繰り返されることにより、モデルM1のニューラルネットワーク400の機械学習が行われ、モデルM1は、対象データを良品ラベル及び不良品ラベルの何れかに分類する能力を獲得する。
次いで、完了判定処理(S516)において、全ての教師データD2について処理が完了したか否かを判定する。全ての教師データD2について処理が完了していないと判定された場合(S516:NO)、再びS511~S516の処理が繰り返される。全ての教師データD2について処理が完了したと判定された場合(S516:YES)、図9のフローチャートが終了し、図8のフローチャートに戻る。
学習支援装置20の導出部23は、導出処理(S520)として、教師データD2及び教師候補データD3それぞれの特徴量を導出する。導出部23は、学習装置10によって学習されたモデルM1を学習支援装置20のモデルM3にコピーし、モデルM3を用いて教師データD2及び教師候補データD3それぞれの特徴量を導出する。なお、導出部23は、教師候補データD3を学習装置10に出力し、学習装置10に教師データD2及び教師候補データD3それぞれの特徴量を導出させてもよい。導出部23は、学習されたニューラルネットワーク400と教師データD2に基づいて、予め定められた次元の特徴空間で表現される特徴量を教師データD2ごとに導出する。導出部23は、学習されたニューラルネットワーク400と教師候補データD3に基づいて、予め定められた次元の特徴空間で表現される特徴量を教師候補データD3ごとに導出する。
算出部24は、算出処理(S530)として、教師データD2の特徴量と少なくとも1つの教師候補データD3の特徴量とに基づいて、教師候補データD3ごとに、良品距離E(OK,s)、及び、不良品距離E(NG,s)の少なくとも一方を算出する。算出部24は、全ての教師候補データD3に対する良品距離E(OK,s)、及び、不良品距離E(NG,s)の少なくとも一方を算出する(sは1からtまでの整数)。また、算出部24は、算出処理(S530)として、良品距離E(OK,s)、及び、不良品距離E(NG,s)に基づいて、評価値Eを算出する。算出部24は、全ての教師候補データD3に対する評価値Eを算出する。
選択部25は、選択処理(S540)として、算出処理(S530)で算出された良品距離E(OK,s)、不良品距離E(NG,s)、及び評価値Eの少なくとも1つに基づいて、教師候補データD3の中から追加教師データD4を選択する。選択部25は、良品距離E(OK,s)、不良品距離E(NG,s)、及び評価値Eのうち、予め定められた指標を用いて、教師候補データD3の中から追加教師データD4を選択する。選択部25は、良品距離E(OK,s)、不良品距離E(NG,s)、及び評価値Eのそれぞれの値に対し、例えば重み付けを行い、組み合わせて使用してもよい。
選択部25は、終了判定処理(S550)として、残りの教師候補データD3の中から教師データD2として追加する追加教師データD4が存在するか否かを判定する。追加教師データD4が存在しない場合とは、残りの教師候補データD3が存在しない場合、又は選択部25によって用いられる良品距離E(OK,s)、不良品距離E(NG,s)、及び評価値Eが予め定められた各閾値以上若しくは各閾値未満の場合などである。追加教師データD4が存在しないと判定された場合(S550:追加教師データが不存在)、報知処理(S590)に移行する。追加教師データD4が存在すると判定された場合(S550:追加教師データが存在)、表示処理(S560)に移行する。
選択部25によって追加教師データD4が存在すると判定された場合(S550:追加教師データが存在)、表示部26は、表示処理(S560)として、選択部25で選択された追加教師データD4を表示する。ユーザは、表示部26に表示された追加教師データD4を確認することができる。
図10(A)~図10(D)は、表示処理(S560)において、表示部26に表示される画面610,620,630,640の一例を示す図である。図10(A)~図10(D)では、追加教師データD4の被写体が電子部品である例が示されており、追加教師データD4及びD4は良品ラベルが付与されたデータを画像化したものであり、追加教師データD4及びD4は不良品ラベルが付与されたデータを画像化したものである。
変更部28は、入力判定処理(S570)として、表示部26で表示されている追加教師データD4に付与されているラベルを変更するためのユーザ操作が入力部27を介して入力されたか否かを判定する。表示部26で表示されている追加教師データD4に付与されているラベルを変更するためのユーザ操作が入力部27を介して入力されたと判定された場合(S570:YES)、変更処理(S580)へ移行する。表示部26で表示されている追加教師データD4に付与されているラベルを変更するためのユーザ操作が入力部27を介して入力されていないと判定された場合(S570:NO)、選択部25は追加教師データD4を教師データD2に追加し、再びS500~S570の処理が繰り返される。
図10(A)及び図10(B)の追加教師データD4及びD4は、被写体の外延形状は良品データの特徴と一致していたものの、被写体全体の色味が不良品データの特徴に近かったため、それぞれ不良品距離が短く算出されたデータの一例である。一例として、ユーザが、被写体の色味を許容できると判断した場合、ユーザは、入力部27を介して入力領域611を押下することにより、追加教師データD4に付与された良品ラベルが維持される。一方、一例として、ユーザが、被写体の色味を許容できないと判断した場合、ユーザは、入力部27を介して入力領域612を押下することにより、変更部28によって、追加教師データD4に付与された良品ラベルが不良品ラベルに変更される。
図10(C)及び図10(D)の追加教師データD4及びD4は、被写体主要部の色味が不良品データの特徴と一致していたものの、被写体の外延形状が良品データの特徴に近かったため、それぞれ良品距離が短く算出されたデータの一例である。一例として、ユーザが、被写体主要部に不具合箇所614が含まれていると判断した場合、ユーザは、入力部27を介して入力領域611を押下することにより、追加教師データD4に付与された不良品ラベルが維持される。一方、一例として、ユーザが、被写体主要部に不具合箇所が含まれていないと判断した場合、ユーザは、入力部27を介して入力領域612を押下することにより、変更部28によって、追加教師データD4に付与された不良品ラベルが良品ラベルに変更される。また、ユーザが、追加教師データD4に良品ラベルを付与すべきか、不良品ラベルを付与するべきか判断に迷った場合、ユーザは、入力領域613を押下することもできる。この場合、変更部28は、この追加教師データD4が、教師データD2に追加されることを解除してもよい。
変更部28は、変更処理(S580)として、追加教師データD4に付与されているラベルを変更する。変更部28は、ユーザ操作に基づき、追加教師データD4に付与されているラベルを変更する。変更後、選択部25は選択された追加教師データD4を教師データD2に追加する。そして、再びS500~S570の処理が繰り返される。
選択部25によって教師データD2として選択可能な教師候補データD3が存在しないと判定された場合(S550:追加教師データが不存在)、選択部25は、報知処理(S590)として、追加教師データD4が存在しない旨を、表示部26を介してユーザに報知する。選択部25は、所定の時間、表示部26の画面表示を制御して追加教師データD4が存在しない旨をユーザに報知し、所定の時間経過後、図8のフローチャートを終了する。
[プログラム]
学習支援装置20として機能させるための学習支援プログラムを説明する。学習支援プログラムは、メインモジュール、取得モジュール、導出モジュール、算出モジュール及び選択モジュールを備えている。メインモジュールは、装置を統括的に制御する部分である。取得モジュール、導出モジュール、算出モジュール及び選択モジュールを実行させることにより実現される機能は、上述した学習支援装置20の教師データ取得部21、教師候補データ取得部22、導出部23、算出部24及び選択部25の機能とそれぞれ同様である。
[実施形態のまとめ]
本実施形態の学習支援装置20によれば、教師データ取得部21及び教師候補データ取得部22は、教師データD2及び教師候補データD3を取得する。導出部23は、教師データD2を用いて学習されたモデルM3に基づいて、特徴量を教師データD2ごとに、及び、教師候補データD3ごとに導出する。算出部24は、教師候補データD3ごとに、良品距離E(OK,s)及び不良品距離E(NG,s)の少なくとも一方を算出する。選択部25は、算出部24により算出された距離(良品距離E(OK,s)及び不良品距離E(NG,s)の少なくとも一方)に基づき、教師候補データD3の中から追加教師データD4を選択する。モデルM1,M2,M3の一例であるニューラルネットワーク400における重み係数の学習として、ニューラルネットワーク400が容易に識別することができない教師候補データD3は学習効果が高く、学習に要する時間を短縮させることができる。このため、選択部25は、学習効果の高低に基づいて教師候補データD3の中から教師データD2として追加するデータを選択することが求められる。学習効果の高い教師候補データD3とは、特徴空間において良品データOKに近接する、不良品ラベルが付与された教師候補データ、又は、特徴空間において不良品データNGに近接する、良品ラベルが付与された教師候補データである。選択部25が、算出部24により算出された良品距離E(OK,s)及び不良品距離E(NG,s)の少なくとも一方を指標とすることにより、学習効果の高低に基づいて教師候補データD3の中から教師データD2として追加するデータを選択する処理の効率性を向上させることができる。よって、この学習支援装置20は、モデルM1の学習を適切に支援することができる。なお、学習支援方法及び学習支援プログラムも上記と同様の効果が得られる。
学習装置10は、選択部25により選択された学習効果の高い教師データD2を用いて、モデルM1(ニューラルネットワーク400における重み係数)の効率的な学習を行うことができる。
選択部25は、不良品ラベルが付与された教師候補データの良品距離E(OK,s)が短いほど当該教師候補データが少なくとも1つの教師候補データD3の中から選択される確率を上げる。この場合、選択部25は、特徴空間において良品データOKに近接する、不良品ラベルが付与された学習効果の高い教師候補データを教師データD2として取得することができる。
選択部25は、良品ラベルが付与された教師候補データD3の不良品距離E(NG,s)が短いほど当該教師候補データが少なくとも1つの教師候補データの中から選択される確率を上げる。この場合、選択部25は、特徴空間において不良品データNGに近接する、良品ラベルが付与された学習効果の高い教師候補データD3を教師データD2として取得することができる。
選択部25は、教師候補データD3ごとに、良品距離E(OK,s)及び不良品距離E(NG,s)を用いて算出された評価値Eに基づいて少なくとも1つの教師候補データD3の中から追加教師データD4を選択する。選択部25は、良品距離E(OK,s)及び不良品距離E(NG,s)の双方を用いることで、ニューラルネットワーク400に対して学習効果の高い教師候補データD3を教師データD2として選択する処理の効率性を向上させることができる。
学習装置10及び学習支援装置20は、選択部25で選択された教師候補データD3を表示する表示部26をさらに備えることにより、ユーザは学習効果の高い教師候補データD3を認識することができる。
また、学習支援装置20は、ユーザ操作の入力を受け付ける入力部27と、入力部27に、表示部26で表示されている教師候補データD3に付与されているラベルを変更するためのユーザ操作が入力された場合、教師候補データD3に付与されているラベルを変更する変更部28と、をさらに備える。これにより、ユーザは、表示部26を確認しながら教師候補データD3に予め付与された良品ラベル又は不良品ラベルの修正を行うことができる。
また、選択部25は、距離に基づいて、少なくとも1つの教師候補データD3の中から教師データD2として追加するデータ(追加教師データD4)が存在しないと判定した場合、表示部26に当該判定結果を表示させる。この場合、ニューラルネットワーク400に対して学習させる追加教師データD4がないことをユーザは認識することができ、重み係数の学習を終了させるか否かを容易に判定することができる。
以上、本開示の実施形態について説明したが、本開示は、上述実施形態に限定されるものではない。上述の実施形態では、学習装置10と学習支援装置20とが物理的又は論理的に分離した構成について説明したが、学習装置10と学習支援装置20は統合され、物理的又は論理的に一体化してもよい。つまり、学習装置10は、学習支援装置20を含む構成であってもよい。
学習支援装置20の各構成要素は、構成要素それぞれの機能に対応する装置が通信ネットワークを介して接続された集合体として構成されてもよい。
学習支援装置20が表示部26を備えていない場合、学習支援方法は表示処理(S560)を実施しなくてもよい。学習支援装置20が入力部27及び変更部28を備えていない場合、学習支援方法は、入力判定処理(S570)を実施しなくてもよい。
10…学習装置、11…学習部、20…学習支援装置、21…教師データ取得部、22…教師候補データ取得部、23…導出部、24…算出部、25…選択部、26…表示部、27…入力部、28…変更部、400…ニューラルネットワーク。

Claims (10)

  1. 第1ラベルが付与された第1データ及び第2ラベルが付与された第2データを有する教師データを取得する教師データ取得部と、
    前記第1ラベル及び前記第2ラベルの何れかがそれぞれに付与された少なくとも1つの教師候補データを取得する教師候補データ取得部と、
    対象データを前記第1ラベル及び前記第2ラベルの何れかに分類するように前記教師データを用いて学習されたモデルと、前記教師データとに基づいて、予め定められた次元の特徴空間で表現される前記教師データの特徴量を前記教師データごとに導出するとともに、前記モデルと前記少なくとも1つの教師候補データとに基づいて前記特徴空間で表現される前記教師候補データの特徴量を前記教師候補データごとに導出する導出部と、
    前記教師データの前記特徴量と前記少なくとも1つの教師候補データの特徴量とに基づいて、前記教師候補データと前記第1データとの前記特徴空間における距離である第1距離、及び、前記教師候補データと前記第2データとの前記特徴空間における前記距離である第2距離の少なくとも一方を前記教師候補データごとに算出する算出部と、
    前記算出部により算出された前記教師候補データごとの前記距離に基づいて、前記少なくとも1つの教師候補データの中から前記教師データとして追加するデータを選択する選択部と、
    を備える、学習支援装置。
  2. 前記選択部は、前記第2ラベルが付与された前記教師候補データの前記第1距離が短いほど当該教師候補データが前記少なくとも1つの教師候補データの中から選択される確率を上げる、請求項1に記載の学習支援装置。
  3. 前記選択部は、前記第1ラベルが付与された前記教師候補データの前記第2距離が短いほど当該教師候補データが前記少なくとも1つの教師候補データの中から選択される確率を上げる、請求項1に記載の学習支援装置。
  4. 前記算出部は、前記教師候補データごとに、前記第1距離及び前記第2距離を用いて評価値を算出し、
    前記選択部は、前記教師候補データごとの前記評価値に基づいて、前記少なくとも1つの教師候補データの中から前記教師データとして追加するデータを選択する、請求項1~3の何れか一項に記載の学習支援装置。
  5. 前記選択部で選択された前記データを表示する表示部をさらに備える、請求項1~4の何れか一項に記載の学習支援装置。
  6. ユーザ操作の入力を受け付ける入力部と、
    前記入力部に、前記表示部で表示されている前記データに付与されているラベルを変更するためのユーザ操作が入力された場合、前記データに付与されているラベルを変更する変更部と、
    をさらに備える、請求項5に記載の学習支援装置。
  7. 前記選択部は、前記第1距離及び前記第2距離に基づいて、前記少なくとも1つの教師候補データの中から前記教師データとして追加するデータが存在しないと判定した場合、前記表示部に当該判定結果を表示させる、請求項5に記載の学習支援装置。
  8. 第1ラベルが付与された第1データ及び第2ラベルが付与された第2データを有する教師データを取得する教師データ取得部と、
    前記第1ラベル及び前記第2ラベルの何れかがそれぞれに付与された少なくとも1つの教師候補データを取得する教師候補データ取得部と、
    対象データを前記第1ラベル及び前記第2ラベルの何れかに分類するように前記教師データを用いて学習されたモデルと、前記教師データとに基づいて、予め定められた次元の特徴空間で表現される前記教師データの特徴量を前記教師データごとに導出するとともに、前記モデルと前記少なくとも1つの教師候補データとに基づいて前記特徴空間で表現される特徴量を前記教師候補データごとに導出する導出部と、
    前記教師データの前記特徴量と前記少なくとも1つの教師候補データの特徴量とに基づいて、前記教師候補データと前記第1データとの前記特徴空間における距離である第1距離、及び、前記教師候補データと前記第2データとの前記特徴空間における前記距離である第2距離の少なくとも一方を前記教師候補データごとに算出する算出部と、
    前記算出部により算出された前記教師候補データごとの前記距離に基づいて、前記少なくとも1つの教師候補データの中から前記教師データとして追加するデータを選択する選択部と、
    前記選択部により選択された前記データを用いて前記モデルを学習する学習部と、
    を備える、学習装置。
  9. 第1ラベルが付与された第1データ、及び第2ラベルが付与された第2データを有する教師データ、並びに、前記第1ラベル及び前記第2ラベルの何れかがそれぞれに付与された少なくとも1つの教師候補データを取得する第1工程と、
    対象データを前記第1ラベル及び前記第2ラベルの何れかに分類するように前記教師データを用いて学習されたモデルと、前記教師データとに基づいて、予め定められた次元の特徴空間で表現される前記教師データの特徴量を前記教師データごとに導出するとともに、前記モデルと前記少なくとも1つの教師候補データとに基づいて前記特徴空間で表現される前記教師候補データの特徴量を前記教師候補データごとに導出する第2工程と、
    前記教師データの前記特徴量と前記少なくとも1つの教師候補データの特徴量とに基づいて、前記教師候補データと前記第1データとの前記特徴空間における距離である第1距離、及び、前記教師候補データと前記第2データとの前記特徴空間における前記距離である第2距離の少なくとも一方を前記教師候補データごとに算出する第3工程と、
    前記第3工程において算出された前記教師候補データごとの前記距離に基づいて、前記少なくとも1つの教師候補データの中から前記教師データとして追加するデータを選択する第4工程と、
    を備える、学習支援方法。
  10. コンピュータを、請求項1~7の何れか1項に記載の学習支援装置として機能させるための学習支援プログラム。
JP2019233202A 2019-12-24 2019-12-24 学習支援装置、学習装置、学習支援方法及び学習支援プログラム Active JP7298825B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2019233202A JP7298825B2 (ja) 2019-12-24 2019-12-24 学習支援装置、学習装置、学習支援方法及び学習支援プログラム
KR1020227016503A KR20220084136A (ko) 2019-12-24 2020-12-18 학습 지원 장치, 학습 장치, 학습 지원 방법 및 학습 지원 프로그램
CN202080074603.XA CN114616573A (zh) 2019-12-24 2020-12-18 学习辅助装置、学习装置、学习辅助方法和学习辅助程序
US17/776,889 US20220405605A1 (en) 2019-12-24 2020-12-18 Learning support device, learning device, learning support method, and learning support program
PCT/JP2020/047527 WO2021132099A1 (ja) 2019-12-24 2020-12-18 学習支援装置、学習装置、学習支援方法及び学習支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019233202A JP7298825B2 (ja) 2019-12-24 2019-12-24 学習支援装置、学習装置、学習支援方法及び学習支援プログラム

Publications (2)

Publication Number Publication Date
JP2021103344A JP2021103344A (ja) 2021-07-15
JP7298825B2 true JP7298825B2 (ja) 2023-06-27

Family

ID=76574672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019233202A Active JP7298825B2 (ja) 2019-12-24 2019-12-24 学習支援装置、学習装置、学習支援方法及び学習支援プログラム

Country Status (5)

Country Link
US (1) US20220405605A1 (ja)
JP (1) JP7298825B2 (ja)
KR (1) KR20220084136A (ja)
CN (1) CN114616573A (ja)
WO (1) WO2021132099A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4345694A1 (en) 2021-07-07 2024-04-03 Mitsubishi Electric Corporation Data processing device and data processing method
WO2023047545A1 (ja) * 2021-09-24 2023-03-30 ファナック株式会社 追加学習データ選定装置及びコンピュータ読み取り可能な記録媒体
JP2024002431A (ja) * 2022-06-24 2024-01-11 株式会社 東京ウエルズ 学習装置、学習方法及び学習プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191426A (ja) 2014-03-28 2015-11-02 セコム株式会社 学習データ生成装置
JP2016161823A (ja) 2015-03-03 2016-09-05 株式会社日立製作所 音響モデル学習支援装置、音響モデル学習支援方法
US20160350336A1 (en) 2015-05-31 2016-12-01 Allyke, Inc. Automated image searching, exploration and discovery
JP2018525734A (ja) 2015-07-22 2018-09-06 クゥアルコム・インコーポレイテッドQualcomm Incorporated ニューラルネットワークにおける転移学習
JP2019168740A (ja) 2018-03-22 2019-10-03 沖電気工業株式会社 画像処理装置、画像処理方法、プログラムおよび画像処理システム
JP2019215705A (ja) 2018-06-13 2019-12-19 日本放送協会 情報判定モデル学習装置およびそのプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016143354A (ja) 2015-02-04 2016-08-08 エヌ・ティ・ティ・コムウェア株式会社 学習装置、学習方法、およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191426A (ja) 2014-03-28 2015-11-02 セコム株式会社 学習データ生成装置
JP2016161823A (ja) 2015-03-03 2016-09-05 株式会社日立製作所 音響モデル学習支援装置、音響モデル学習支援方法
US20160350336A1 (en) 2015-05-31 2016-12-01 Allyke, Inc. Automated image searching, exploration and discovery
JP2018525734A (ja) 2015-07-22 2018-09-06 クゥアルコム・インコーポレイテッドQualcomm Incorporated ニューラルネットワークにおける転移学習
JP2019168740A (ja) 2018-03-22 2019-10-03 沖電気工業株式会社 画像処理装置、画像処理方法、プログラムおよび画像処理システム
JP2019215705A (ja) 2018-06-13 2019-12-19 日本放送協会 情報判定モデル学習装置およびそのプログラム

Also Published As

Publication number Publication date
US20220405605A1 (en) 2022-12-22
WO2021132099A1 (ja) 2021-07-01
JP2021103344A (ja) 2021-07-15
KR20220084136A (ko) 2022-06-21
CN114616573A (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
CN108805170B (zh) 形成用于全监督式学习的数据集
JP7298825B2 (ja) 学習支援装置、学習装置、学習支援方法及び学習支援プログラム
US9886669B2 (en) Interactive visualization of machine-learning performance
WO2020008919A1 (ja) 機械学習装置及び方法
JP6766839B2 (ja) 検査システム、画像識別システム、識別システム、識別器生成システム、及び学習データ生成装置
JP7028322B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN109284779A (zh) 基于深度全卷积网络的物体检测方法
JP6612486B1 (ja) 学習装置、分類装置、学習方法、分類方法、学習プログラム、及び分類プログラム
JP2020013563A (ja) 意味的情報に基づいてフォトリアリスティックな合成画像を生成するためのシステムおよび方法
US11276202B2 (en) Moving image generation apparatus, moving image generation method, and non-transitory recording medium
WO2019146057A1 (ja) 学習装置、実写画像分類装置の生成システム、実写画像分類装置の生成装置、学習方法及びプログラム
WO2019176989A1 (ja) 検査システム、識別システム、及び学習データ生成装置
JP6988995B2 (ja) 画像生成装置、画像生成方法および画像生成プログラム
CN115953330B (zh) 虚拟场景图像的纹理优化方法、装置、设备和存储介质
JP2015075798A (ja) データ処理装置、測長システム、欠陥検査システム、画像トラッキングシステム、及びデータ処理方法
US11663761B2 (en) Hand-drawn diagram recognition using visual arrow-relation detection
JP2006318232A (ja) 解析用メッシュ修正装置
JP2019086473A (ja) 学習プログラム、検出プログラム、学習方法、検出方法、学習装置および検出装置
JP2014006787A (ja) 特徴点決定装置、特徴点決定方法、及びプログラム
CN113592013A (zh) 一种基于图注意力网络的三维点云分类方法
GB2553351A (en) Salient object detection
CN111967579A (zh) 使用卷积神经网络对图像进行卷积计算的方法和装置
JP5076138B2 (ja) 自己組織化マップを用いたパターン生成方法、そのプログラム及び装置
WO2022195691A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2022053944A (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220506

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230516

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230605

R150 Certificate of patent or registration of utility model

Ref document number: 7298825

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150