(57)【要約】【課題】ユーザと対話的に識別器を学習する処理において精度の高い識別器を学習するのに適切な情報を表示することを目的とする。【解決手段】学習データの特徴量に基づいて、学習データが属するクラスを特定するクラス特定手段と、クラス特定手段により特定されたクラスに対する信頼度を特定する信頼度特定手段と、クラスと信頼度とに応じた位置に学習データを示す画像が配置された、学習データの分布図を表示手段に表示するよう制御する表示処理手段とを有する。【選択図】図２
2018142097.tif 000002
【特許請求の範囲】
【請求項１】
識別器の学習に用いる学習データの特徴量に基づいて、学習データが属するクラスを特定するクラス特定手段と、
前記クラス特定手段により特定されたクラスに対する信頼度を特定する信頼度特定手段と、
前記クラスと前記信頼度とに応じた位置に前記学習データを示す画像が配置された、学習データの分布図を表示手段に表示するよう制御する表示処理手段と
を有することを特徴とする情報処理装置。
【請求項２】
一の学習データに対するクラスの付与指示を受け付ける受付手段をさらに有し、
前記クラス特定手段は、前記付与指示に基づいて、前記付与指示に係る学習データ以外の学習データの属するクラスの特定結果を更新し、
前記信頼度特定手段は、前記付与指示に基づいて、前記付与指示に係る学習データ以外の学習データに対する信頼度の特定結果を更新し、
前記表示処理手段は、前記付与指示に応じて更新された前記クラス及び前記信頼度の特定結果に基づいて、前記分布図を更新することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記クラス特定手段は、前記付与指示に基づいて、前記付与指示に係る学習データ以外の学習データで、かつクラスが付与されていない学習データの属するクラスの特定結果を更新し、
前記信頼度特定手段は、前記付与指示に基づいて、前記付与指示に係る学習データ以外の学習データで、かつクラスが付与されていない学習データに対する信頼度の特定結果を更新することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記表示処理手段は、前記クラスの種類の軸を有する分布図を表示するよう制御することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記表示処理手段は、前記クラスの種類と前記信頼度の軸を有する２次元の分布図を表示するよう制御することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記表示処理手段は、前記クラスの種類を軸とするチャートを前記分布図として表示するよう制御することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記表示処理手段は、クラス間の類似度に基づいて、前記軸の配置位置を決定することを特徴とする請求項４乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記表示処理手段は、前記信頼度が閾値未満の学習データの画像を前記信頼度が閾値以上の学習データの画像と異なる表示態様で表示するよう制御することを特徴とする請求項１乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記表示処理手段は、クラスが指定されている学習データを示す画像と、クラスが指定されていない学習データを示す画像を、異なる表示態様で表示するよう制御することを特徴とする請求項１乃至８の何れか１項に記載の情報処理装置。
【請求項１０】
前記信頼度特定手段は、前記学習データが前記クラスに属する確率に基づいて、前記信頼度を特定することを特徴とする請求項１乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
前記表示処理手段は、前記信頼度とクラスに基づいて、前記学習データを示す画像をグループ化して表示するよう制御することを特徴とする請求項１に記載の情報処理装置。
【請求項１２】
情報処理装置が実行する情報処理方法であって、
学習データの特徴量に基づいて、学習データが属するクラスを特定するクラス特定ステップと、
前記クラス特定ステップにおいて特定されたクラスに対する信頼度を特定する信頼度特定ステップと、
前記クラスと前記信頼度とに応じた位置に前記学習データを示す画像が配置された、学習データの分布図を表示手段に表示するよう制御する表示処理ステップと
を含むことを特徴とする情報処理方法。
【請求項１３】
コンピュータを、請求項１乃至１１の何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、パターン認識に代表されるような高次元の特徴量を入力としてそれらを分類する技術に関する提案が多数なされている。機械学習的なアプローチにおいて認識精度を良くするための最も単純な取組みの一つは、学習させるデータの量を増やすことである。しかしながら、データが増加すると分類されるクラスに多様なバリエーションが生じるため、ユーザにとってクラスラベルの教示が難しくなってくる。
【０００３】
分類するクラスに関して確固たる基準があった上でのラベル揺らぎであれば単純に学習アルゴリズムがノイズロバストになっていたり、ラベルノイズクレンジングというラベルに一貫性の無いデータの除去やリラベルを行う方法である程度対処できる。特許文献１には、低コストで大量のデータに教師付けを実施し、評価基準のゆらぎによって付加されているラベルに誤りがある可能性のあるデータを表示して再判定を促す方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１６１２９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、例えば、通常は正常状態であるが一定の割合以下で異常状態が発生し、その異常の種類を分類したいという場合において、事前にどのような異常種が発生するかがわからない場合がある。このような場合には、データが集まっていく過程でどのような異常種がどの程度発生するかという事象を観測しながら徐々にクラスを決定していく。
【０００６】
具体事例では、ある交差点に設置された監視カメラから取得された動画データから取得された様々な異常行動データがあり、それら異常行動をいくつかの異常種類に分類しなければならないという事例を考える。この事例では異常の種類ごとに教師付けを実施、異常種を分類する識別器を学習しなければならない。しかし、事前にこの交差点ではどのような異常が発生するかが判らないためデータがない時点では分類対象となるクラスを定義することは困難である。そこで、オンラインで集まり始めたデータを見てその都度ユーザが判断して異常種ラベルを付与していくことになる。そうすることにより教師付け作業をしながら徐々に各クラスの定義が定まっていくことになる。
【０００７】
こういった作業を精度良く実施するには、ユーザは以前に自分の付与した教師付け基準を参考にしたり修正したりしながら教師付けの作業を実施することが必須となる。そのような作業はデータが増加するにつれて煩雑で煩わしい作業になっていく。またこのときのラベル不整合が発生する問題はノイズとして発生しているわけではない。ラベル不整合の主たる要因はデータの分布の傾向に応じてユーザ側が判断基準を自主的に変えていくことによって発生する。このような一貫性の無い教師付けを行ってしまうと識別問題の難しさを不必要に複雑化させてしまうことになるため、精度や計算コストの面で大きなペナルティとなる。
【０００８】
本発明はこのような問題点に鑑みなされたもので、ユーザと対話的に識別器を学習する処理において精度の高い識別器を学習するのに適切な情報を表示することを目的とする。
【課題を解決するための手段】
【０００９】
そこで、本発明は、情報処理装置であって、学習データの特徴量に基づいて、学習データが属するクラスを特定するクラス特定手段と、前記クラス特定手段により特定されたクラスに対する信頼度を特定する信頼度特定手段と、前記クラスと前記信頼度とに応じた位置に前記学習データを示す画像が配置された、学習データの分布図を表示手段に表示するよう制御する表示処理手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ユーザと対話的に識別器を学習する処理において精度の高い識別器を学習するのに適切な情報を表示することができる。
【図面の簡単な説明】
【００１１】
【図１】情報処理装置のハードウェア構成を示す図である。
【図２】情報処理装置のソフトウェア構成を示す図である。
【図３】処理対象とする画像の一例を示す図である。
【図４】データの発生傾向が明らかになっていくイメージを示す図である。
【図５】分布図の一例を示す図である。
【図６】学習処理を示すフローチャートである。
【図７】分布図の一例を示す図である。
【図８】表示例を示す図である。
【図９】変形例に係る分布図の一例を示す図である。
【図１０】レーダーチャートの一例を示す図である。
【図１１】水滴のイメージ図である。
【図１２】ユーザ操作の説明図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について図面に基づいて説明する。
【００１３】
第１の実施形態に係る情報処理装置は、複数の特徴量で表現される複数のデータを学習データとして用い、各学習データが属するクラスを識別する識別器を生成する。さらに、本実施形態に係る情報処理装置は、識別器の生成に際し、クラスに分類するためのラベル付与のユーザによる作業をサポートするのに適したデータの可視化を行う。本実施形態においては、自動外観検査のための外観の撮影画像が分類対象のデータとなる場合を例に説明する。ここでは、異常データ識別器によって異常データと識別されたデータをさらに異常の種類毎に分類するものとする。
【００１４】
図１は、第１の実施形態にかかる情報処理装置１００のハードウェア構成を示す図である。情報処理装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ１０４と、表示部１０５と、入力部１０６と、通信部１０７とを有している。ＣＰＵ１０１は、ＲＯＭ１０２に記憶された制御プログラムを読み出して各種処理を実行する。ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ１０４は、各種データや各種プログラム等を記憶する。なお、後述する情報処理装置１００の機能や処理は、ＣＰＵ１０１がＲＯＭ１０２又はＨＤＤ１０４に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
【００１５】
表示部１０５は、各種情報を表示する。入力部１０６は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。通信部１０７は、ネットワークを介して画像形成装置等の外部装置との通信処理を行う。
【００１６】
図２は、情報処理装置１００のソフトウェア構成を示す図である。情報処理装置１００は、データ取得部２０１と、データ評価部２０２と、グラフ作成部２０３と、表示処理部２０４と、指示受付部２０５と、学習部２０６と、を有している。各部の処理については、後述する。
【００１７】
図３は、本実施形態に係る情報処理装置１００が処理対象とする画像の一例を示す図である。図３に示す画像は、製品の表面を撮影した画像である。図３（Ａ）の画像は、一様なテクスチャを示す画像であり、図３（Ｂ）の画像は、図３（Ａ）の画像のようなテクスチャ上に、ムラやキズのような欠陥領域が存在する画像である。情報処理装置１００は、図３（Ａ）に示す各画像を正常画像と判定し、図３（Ｂ）に示す各画像を異常画像と判定するような識別器の学習を行う。
【００１８】
さらに、生産現場では正常・異常のラベル判定だけでなく、異常データと判定されたデータを異常の種類毎に分類することが望まれている。異常の種類に応じた分類結果を、生産ライン設計にフィードバックをかけるための情報として利用することで生産効率を向上させることができる。ある一定の種類の異常が急激に量産されるようになった場合は、特定の工程に不具合が発生していることが多く、異常種を分類することによってリアルタイムに工程不良の特定が容易になる。
【００１９】
図３（Ｂ）のような異常画像を集めて俯瞰すると、凡そどのような異常種類が存在するかを決めることができる。通常、同様の製品を生産しているラインが他にあったとしても、材料の処方の微妙な違いによって、ライン毎に全く異常の発生傾向が異なることが多く、事前に異常傾向の予測をすることは難しい。このため、生産ライン立上げ時はそのラインが安定してから異常サンプルを集め始め、発生する異常の傾向を分析するという製品が多く存在する。
【００２０】
しかし、異常サンプルは正常サンプルに比して発生頻度が極めて低いため立上げ当初はどのような種類の異常が発生するか把握できるまで多大な時間を要する。図４は、データが集まるにつれてデータの発生傾向が明らかになっていくイメージを示す図である。ここでは簡単のため、３次元の特徴量でデータをプロットした分布図を示している。図４に示すように分布図４００はデータ数が７個の場合のデータ分布を示している。さらに、分布図４０１〜４０３はそれぞれ、時間の経過と共に、データ数が１８個、３４個、６４個と増加した場合のデータ分布を示している。
【００２１】
これらの分布図４００〜４０３からわかるように、データが６４個集まった時点でクラスを決定するならば、凡そ４つのクラスが存在するということを推定することは容易である。しかし、ライン立上げ時等データが少ない時点では、分布図４００のように、データの傾向が４クラス存在することを予測することは困難である。
【００２２】
このため、ユーザが、集まり始めた異常データを見て、その他のデータと同じ種類であるか、新種のデータであるかをその都度考えながら教師付けを行い、教師付けの結果に応じて、異常の種類数が決定されていく場合が多い。このような処理においては、同じクラスと判定されていたデータがデータ数の増加につれて異なるクラスに分類されたり、逆に別のクラスと判定されていたデータが同一クラスに分類されたり、ということが起こり得る。
【００２３】
また、ユーザが教示するラベルの基準は絶対的な指標に則っているのではなく時間軸に沿って変容して場合もある。また、単純にデータの全容を把握していないユーザや、ラベリング基準が変わったことに対応していないユーザによってデータに間違ったラベルを与えられることも発生し得る。この問題は、絶対的なラベル基準が存在する中で一定の割合以下でラベル誤りが発生するという問題とは異なるため、識別器をノイズロバストなアルゴリズムにすることで対応できる問題ではない。この問題に対応するためには、ユーザが真のラベルを知らない状態で、取得したデータに応じて識別器を学習する際に、適切な識別器に到達できるように、ユーザがラベル付けや修正を行うことのできる仕組みがあるとよい。
【００２４】
単純に識別器とユーザが対話的に分類基準を更新していくための表示として元特徴空間のデータ分布や元特徴空間のデータ分布を可視化するためにＰＣＡ等の処理によって３次元以下の空間に射影した結果を示す分布図を表示することが考えられる。図５は、分布図５００の一例を示す図である。図５に示す分布図５００においては、データは、高次元特徴量で記述されている。分布図５００は、Ｃｌａｓｓ１〜Ｃｌａｓｓ３の３クラスに分類されるデータの分布を可視化するために教師付き次元削減によって３次元の特徴空間で可視化表現した例である。
【００２５】
教師付き次元削減にはＬＤＩ（Ｌｏｃａｌ  Ｄｉｓｃｒｉｍｉｎａｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）や、ＬＦＤＡ  （Ｌｏｃａｌ  Ｆｉｓｈｅｒ  Ｄｉｓｃｒｉｍｉｎａｎｔ  Ａｎａｌｙｓｉｓ）等の手法を用いることができる。次元削減においては同じクラスに属するデータの局所的な近傍関係を保存しながら次元削減をすることによって同クラスデータは近くに、異なるクラスデータを遠くに配置する特徴空間での表現を達成することができる。
【００２６】
しかし、分類対象データは特徴空間で完全に分離されるような単純な問題ばかりではないため、図５の分布図５００のように複雑な分布として可視化されることが多い。このような可視化表現ではユーザが一瞥しただけで、ラベル修正すべきデータの有無、修正すべきデータはいずれのデータか等、どのような修正が必要であるかを特定するのは困難である。
【００２７】
これに対し、本実施形態に係る情報処理装置１００は、ユーザと対話的に識別器を学習する際に、ユーザがどのような修正が必要であるかを特定するために適切な情報を表示するよう制御する。図６は、情報処理装置１００による学習処理を示すフローチャートである。Ｓ６００において、データ取得部２０１は、処理対象の画像データを取得する。そして、データ取得部２０１は、画像データから多次元の特徴量を抽出する。なお、他の例としては、データ取得部２０１は、画像データと共に多次元の特徴量を取得してもよい。
【００２８】
次に、Ｓ６０１において、データ評価部２０２は、学習部２０６によりデータを分類する識別器の学習が既に行われているか否かを確認する。データ評価部２０２は、識別器の学習が行われている場合には（Ｓ６０１でＹｅｓ）、処理をＳ６０２へ進める。データ評価部２０２は、識別器の学習が行われていない場合には（Ｓ６０１でＮｏ）、処理をＳ６０７へ進める。Ｓ６０２において、データ評価部２０２は、入力されたすべてのデータに対し、データが属するクラス及び信頼度を特定する。ここで、クラスは異常の種類に対応する。また、信頼度は、データがクラスに属することの確からしさを示す値であり、各クラスに属することの確率等で表すことができる。ここで、Ｓ６０２の処理は、クラス特定処理及び信頼度特定処理の一例である。
【００２９】
以下、クラス及び信頼度を特定する処理について説明する。ここでは、（式１）、（式２）に示すように、ｘをｄ次元の実ベクトルとし、全分類対象クラス数がｃでクラスラベルをｙとする。
【数１】
2018142097.tif 000003
【００３０】
データ評価部２０２は、ラベル未知のデータｘからｃクラスの全教師付データとの距離を取得する。そして、データ評価部２０２は、各クラスにおいて、ｘと最近傍のデータとの距離ｃ個を保持する。最近傍の距離を取得するので、ラベル未知のデータｘとクラスｃによって距離が求まる。教師付データ数はｎ個あるとすると、教師付データとラベルの組み合わさった訓練標本表記は（式３）の通りとなる。
【数２】
2018142097.tif 000004
【００３１】
データ評価部２０２は、（式４）により、ラベル未知のデータｘから教師付データのｘiへの距離をマハラノビス距離として算出する。なお、（式４）のＭは半正定値行列である。
【数３】
2018142097.tif 000005
【００３２】
そして、データ評価部２０２は、（式４）により得られた距離に基づいて、ラベル未知のデータｘの属するクラスを特定する。例えば、データ評価部２０２は、（式５）に示すように、距離が最小となった教師付データのクラスラベルをデータｘの推定ラベルＹ（ｘ）として決定する。
【数４】
2018142097.tif 000006
【００３３】
同様にして、ｘのｋ近傍までの教師付データを考える。なお、ｋ＜ｎとする。（式５）は最近傍であるので以降はＹ１（ｘ）と表記することにし、ｋ近傍のラベルはＹk（ｘ）と表すこととする。データ評価部２０２は、（式６）により信頼度Ｔを求める。ｋ近傍にある教師付きデータの中で最近傍データのラベルと同じラベルのデータの個数のｋに対する割合と同様の値として設定する。
【数５】
2018142097.tif 000007
【００３４】
次に、Ｓ６０３において、グラフ作成部２０３は、Ｓ６０２において特定したクラス及び信頼度に基づいて、表示部１０５に表示すべきデータの分布図における、各データの配置位置（プロット位置）を決定する。そして、グラフ作成部２０３は、分布図において決定した配置位置に各データを示す点画像を配置する。すなわち、分布図を作成する。次に、Ｓ６０４において、表示処理部２０４は、作成された分布図を表示部１０５に表示するよう制御する。本処理は、表示処理の一例である。
【００３５】
図７（Ａ）は、Ｓ６０４において表示される分布図７００の一例を示す図である。図７（Ａ）に示す分布図７００は、横軸がクラスの種類、縦軸がクラスに対する信頼度を示す２次元のグラフである。なお、信頼度は、０〜１に正規化されているものとする。図７に示す分布図７００においては、５種類のクラスに分類されていることに対応し、５種類のクラスに対応した値が設けられている。また、分布図７００には、データに対応した点画像がプロットされている。黒の点画像は、ラベル教示済データに対応し、白の点画像は、ラベル未教示データに対応する。ラベル教示済データは、ユーザ操作に対応したクラスの指定に従い、クラスラベルが教示（付与）されたデータである。また、ラベル未教示データは、クラスラベルの教示が行われていないデータである。
【００３６】
このように、情報処理装置１００は、ラベル教示済データとラベル未教示データをそれぞれ黒と白というように異なる色で表示するので、ユーザは、分布図において、両データを容易に判別することができる。なお、ユーザが両データを判別可能とするためには、情報処理装置１００は、ラベル教示済データとラベル未教示データを異なる表示態様で表示すればよく、そのための具体的な表示態様は実施形態に限定されるものではない。
【００３７】
本実施形態においては、ラベル教示済データのクラスはすべて正しいと仮定し、ラベル教示データの信頼度を１としている。ラベル教示済データはすべて信頼度が１となるため、信頼度１の位置には、複数の点画像が重なって表示される。本実施形態においては、情報処理装置１００は、ラベル教示済データに対しては、識別器側からの修正等の指示を受け付けないように設定されているものとする。一方、ラベル未教示データについては、信頼度は０〜１の値を取り得る。このように分布図７００においては、元特徴空間や可視化された特徴空間でのデータの分布とは無関係に、学習された分類器から見た各データの分類クラス及びその信頼度を表示することができる。
【００３８】
ユーザは、分布図７００を確認することにより、信頼度の高いラベル未教示データに対し、クラスラベルを付与することができる。一方で、信頼度の低いデータについては、クラスラベルの修正が必要な可能性がある。そこで、表示処理部２０４は、各データの信頼度を予め設定された信頼度閾値と比較し、信頼度閾値未満の信頼度を示すデータの点画像を信頼度閾値以上の信頼度を示すデータの点画像と異なる表示態様で表示する。具体的には、表示処理部２０４は、信頼度閾値未満の信頼度のデータの点画像を点滅等の強調表示を行うよう制御する。また、表示処理部２０４は、信頼度閾値７０１を表示するよう制御する。このように、情報処理装置１００は、ユーザが信頼度の低いデータに注目するような表示を行うことができる。
【００３９】
Ｓ６０４の処理の後、Ｓ６０５において、指示受付部２０５は、ユーザ操作に対応して、新たなクラスの付与指示又はクラスの修正指示を受け付けたか否かを確認する。本処理は受付処理の一例である。指示受付部２０５は、クラスの付与指示又はクラスの修正指示を受け付けるまで待機し、指示を受け付けた場合には（Ｓ６０５でＹｅｓ）、処理をＳ６０６へ進める。
【００４０】
図７（Ｂ）は、ユーザ操作を受け付けるためのＧＵＩの表示例を示す図である。図７（Ｂ）に示すように、ユーザにより信頼度の低い点画像が選択されると、表示処理部２０４は、ポップアップ画面７１０を表示する。ポップアップ画面には、選択された点画像に対応した元データとしての画像７１１と、元データに対して割り当てるクラスの選択肢７１２が表示される。図７（Ｂ）の例では、既に設けられている種類１〜種類５のクラスの他、新たなクラスが選択肢７１２として表示される。これにより、ユーザは、画像７１１を確認した上で、クラスラベルを教示することができる。例えば、点画像Ａに対し、種類４が選択されると、指示受付部２０５は、種類４へのラベル修正の指示を受け付ける。
【００４１】
Ｓ６０６において、学習部２０６は、Ｓ６０５において受け付けた指示に従いクラスラベルを変更し、信頼度を１に変更する。これにより、例えば、図７（Ｂ）において点画像Ａに対し種類４が選択された場合には、点画像Ａは、種類４のラベル教示済データとなり、その信頼度は１となる。さらに、学習部２０６は、この変更に従い、識別器を学習し直すことにより、識別器を更新する。
【００４２】
次に、学習部２０６は、処理をＳ６０２へ進める。この場合、Ｓ６０２において、データ評価部２０２は、更新後の識別器と、Ｓ６０６において新たにラベル教示されたデータを含む、ラベル教示済データと、を用いて、すべてのラベル未教示データに対し、クラス及び信頼度を特定し直す。すなわち、データ評価部２０２は、ラベル未教示データに対するクラスの特定結果及び信頼度の特定結果を更新する。本処理は、クラスの付与指示又はクラスの修正指示に係る学習データ以外の学習データで、かつクラスが付与されていない学習データのクラス及び信頼度の特定結果を更新する処理の一例である。その後、Ｓ６０３において、グラフ作成部２０３は、ラベル未教示データに対する、更新されたクラス及び信頼度の特定結果に基づいて、分布図を更新する。具体的には、グラフ作成部２０３は、ラベル未教示データに対応する点画像の配置位置を更新後の特定結果に応じて適宜変更する。
【００４３】
そして、Ｓ６０４において、表示処理部２０４は、更新後の分布図を表示するよう制御する。以上のように、ユーザ操作に応じた指示に従い、識別器の学習、ラベル未教示データのクラスと信頼度の特定が行われ、これらに応じて分布図が更新される。情報処理装置１００は、ユーザ操作が行われる度に、Ｓ６０６、Ｓ６０２〜Ｓ６０４の処理を繰り返すことができる。
【００４４】
図７（Ｃ）は、図７（Ａ）の分布図７００の状態から、識別器の更新と、ラベル未教示データのクラスと信頼度の更新が繰り返された後の分布図７００を示す図である。図７（Ｃ）においては図７（Ａ）に比べて、ラベル未教示データの信頼度が高くなっているのがわかる。このように、情報処理装置１００は、ユーザ操作に応じてラベル未教示データに対するクラスの信頼度が高くなっていく様子を分布図における点画像の位置変化により示すことができる。すなわち、ユーザは、信頼度が高くなっていく様子を視覚的に容易に認識することができる。ユーザの教師付けの操作に対するフィードバックとしての結果が直接的であるので、より分離度を上げるための適切な入力を導く効果が見込める。
【００４５】
以上のように、本実施形態に係る情報処理装置１００においては、ユーザは明確にクラスを決定することのできるデータに対してのみクラスを付与すればよい。一方で、クラスが定まらないデータについてはクラスの決定を保留したまま、新たに取得したデータに基づいて、識別器の学習を行うことができる。そして、データに対するクラスが明確になった時点でクラスを付与すればよい。
【００４６】
一方で、データを収集し始めた段階においては、データから分類に関する知識は得られていない。何も学習されていない状態では分類器は存在しないため処理は、Ｓ６０７へ進む。Ｓ６０７において、データ評価部２０２は、取得したデータの数と、予め設定されたデータ数閾値Ｎとを比較する。
【００４７】
データ評価部２０２は、データの数がＮ個以上の場合には（Ｓ６０７でＹｅｓ）、処理をＳ６０８へ進める。データ評価部２０２は、データの数がＮ個未満の場合には（Ｓ６０７でＮｏ）、処理をＳ６０９へ進める。Ｓ６０９において、表示処理部２０４は、取得したデータ、すなわち画像を表示部１０５に表示するよう制御する。これは、データが少なすぎる場合には、次元を削減してデータ分布を表示してもユーザに対して有益な情報を与えることができないためである。すなわち、上記のデータ数閾値Ｎは、このための基準となる値である。図８は、Ｓ６０９における表示部１０５の表示例を示す図である。このように、データ数がＮ以下の場合には、すべてのデータ（画像）を表示する。Ｓ６０９の処理の後、表示処理部２０４は、処理をＳ６０５へ進める。
【００４８】
一方で、データの数が増加してくると、図８に示すように、すべてのデータを表示してどのような傾向の異常がどの程度存在するかをユーザが判断するのが難しくなる。逆に、データの数が増加することにより、教師無しであっても識別器によってデータのクラスタ分析が容易になる。
【００４９】
そこで、Ｓ６０８においては、データ評価部２０２は、仮のクラスを設定することで、すべてのデータに対し、クラスと信頼度を特定する。データ評価部２０２は、例えば、教示ラベルがないので教師無次元削減を行い、低次元でのデータ分布からクラスタ分析を実施する。具体的には、データ評価部２０２は、一般的に知られた主成分分析（ＰＣＡ）や局所性保存射影（ＬＰＰ）等で低次元へ次元削減を実施する。そして、データ評価部２０２は、次元削減後のデータ分布から適切なクラス数を決定する方法として、Ｘ−Ｍｅａｎｓ等の方法を用いて教師無データ全てのラベルとそれらラベルに属するかどうかの信頼度を算出する。そして、データ評価部２０２は、処理をＳ６０３へ進める。この場合、Ｓ６０３において、ラベル未教示の各データに対する配置位置が決定され、Ｓ６０４において、ラベル未教示データに対する分布図が表示される。これにより、例えば図７（Ａ）の分布図におけるラベル未教示データのみの分布図が表示される。
【００５０】
以上のように、本実施形態にかかる情報処理装置１００は、識別器の学習時において、入力されたデータに対して教師付されたクラスとその信頼度を表示することができる。これにより、ユーザは、これまでの学習結果を容易に把握することができる。すなわち、情報処理装置１００は、ユーザと対話的に識別器を学習する処理において精度の高い識別器を学習するのに適切な情報を表示することができる。
【００５１】
第１の実施形態の第１の変形例としては、情報処理装置１００は、ラベル教示済データに対しても、識別器を用いて信頼度を算出し、この信頼度を反映した分布図を表示してもよい。新たに入力されたデータを見ながらユーザが教師付けをしていくうちに、過去の分類傾向と異なる傾向に遷移していくことがある。例えば、生産現場での異常種分類では製造ラインへのフィードバックとして数が多い異常種やバラつきの多い異常種はさらに分類したいというユーザニーズがある。また、ライン立ち上げ時は分類すべき異常種と考えて分離基準を設定していた異常種クラスが、発生頻度の変化と共に分離不要と判断されるようになる場合もある。このような遷移に応じて、ラベル教示済データの信頼度も変化する可能性がある。
【００５２】
本実施形態の情報処理装置１００は、このような信頼度の変化を分布図に表示することにより、ユーザに通知する。これにより、ユーザは、既にラベルを付与したデータに対するラベルの修正の要否を判断し易くなる。本変更例においては、Ｓ６０２において、データ評価部２０２は、ラベル未教示データだけでなく、ラベル教示済データについても、教示されたクラスに対する信頼度を求める。そして、Ｓ６０３において、グラフ作成部２０３は、ラベル教示済データについても、算出された信頼度に応じて、適宜、配置位置を変更する。そして、Ｓ６０４において、表示処理部２０４は、各データが配置された分布図を表示するよう制御する。
【００５３】
図９（Ａ）は、Ｓ６０４において表示される分布図９００の一例を示す図である。図７（Ａ）の分布図７００と同様に、分布図９００は、横軸がクラス、縦軸がクラスに対する信頼度を示す２次元のグラフである。分布図９００においても、ラベル教示済データとラベル未教示データは、それぞれ黒の点画像と白の点画像としてプロットされている。また、閾値未満の信頼度を示すデータの点画像は強調表示される。
【００５４】
ユーザが点画像を選択すると、図９（Ｂ）に示すように、ポップアップ画面９１０が表示される。ポップアップ画面９１０は、ポップアップ画面６１０と同様である。こうして、適切な識別器が学習されると、すべてのデータの信頼度が高くなり、分布図は図９（Ｃ）に示すようになる。このように、全体的に高い信頼度が算出されるような識別器を学習することができる。
【００５５】
このように、第１の変形例に係る情報処理装置１００は、ラベル教示済データの信頼度も、識別器に応じて求めることで、ラベル教示済データに対する、ラベル間違いの可能性や新たなクラスに分類される可能性等をユーザに提示することができる。
【００５６】
第２の変形例としては、データ評価部２０２は、クラス及び信頼度を特定する際に、半教師付学習（ｓｅｍｉ−ｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ）を用いてもよい。半教師付き学習は、ラベル有データだけでなくラベル有データとラベル無データの両方を使って学習することでより精度良い学習を行う方法である。本ＧＵＩにおいてラベル無データであってもそれら情報を有効に利用した分類器を学習することが可能であり、半教師付学習で得たラベル及び信頼度でＧＵＩへ表示する場合も同様に実施可能である。この方法で教師付けを進めることで、データ全体を俯瞰して一斉に全てのデータに教師付けを行う方法に比してユーザ負荷を軽減することができる。
【００５７】
（第２の実施形態）
次に、第２の実施形態に係る情報処理装置１００について説明する。第２の実施形態に係る情報処理装置１００は、図１０に示すようなチャートを表示する。図１０のチャート１０００の各軸は、クラスの種類を示し、各軸において円の中心の信頼度が０で、円周上の信頼度１となるように円の外側方向に信頼度が高くなるように設定されている。本実施形態のチャートは、ヒトの直感に近い表現を目指したグラフである。
【００５８】
図１０（Ａ）のチャート１０００は、図７（Ａ）の分布図７００に対応しており、信頼度閾値１００１は、分布図７００の信頼度閾値７０１に対応している。また、図１０（Ｂ）のチャート１０００は、図７（Ｃ）の分布図７００に対応している。このように、第２の実施形態の情報処理装置１００は、クラスの種類毎の信頼度を表す軸を放射線状に並べたチャート１０００を表示する。チャート１０００は、データが円の外側に集まる程、各クラスの分類器がより良く学習されていることを表し、円中心にデータがある程、分類が難しいことを表す。これにより、よく分類されている程各クラスのデータが円上で離れたクラスタとなる。したがって、ユーザの直感に沿った表示を行うことができる。
【００５９】
なお、第２の実施形態におけるチャート１０００の表示内容、表示に係る処理は、第１の実施形態における分布図の表示内容、表示に係る処理と同様である。また、第２の実施形態における情報処理装置１００のこれ以外の構成及び処理は、第１の実施形態に係る情報処理装置１００の構成及び処理と同様である。
【００６０】
第２の実施形態の変形例としては、グラフ作成部２０３は、各クラスを表す軸の順序や軸同士の角度をクラス間の類似度を基準として決定してもよい。具体的には、グラフ作成部２０３は、類似度が高い程対応する軸の並び順が近くなり、類似度が低くなる程軸の並び順が離れるように軸の配置順を定める。グラフ作成部２０３はまた、類似度が高い程、対応する軸がなす角の角度を小さくするようにする。
【００６１】
以下、この場合のクラス間の類似度（距離）の算出方法について説明する。図１０の例では、クラス軸は５個あるため、グラフ作成部２０３は、各クラス軸ＩＤが１〜５のそれぞれの軸の類似度を求める。類似度は、元の特徴空間における各クラスに属するデータ同士の距離の平均値によって定義できる。つまり元特徴空間内で近いものは類似したクラスであり、逆の場合は類似していないと言える。そこで、グラフ作成部２０３は、まず（式７）により、元の特徴空間における各クラスに属するデータ同士の全距離の平均値を求める。なお、（式７）は、クラスｌ、ｍ（ｌ＜ｃ、ｍ＜ｃ）の全データ同士の距離の平均値を求める式である。
【数６】
2018142097.tif 000008
【００６２】
そして、データ評価部２０２は、（式８）により、Ｃ次元の類似度ベクトルＧｌを求める。
【数７】
2018142097.tif 000009
（式８）と同様にしてＣ個のクラスに対する自クラスを含むＣ個のクラスへの類似度行列は、（式９）のように設定できる。
【数８】
2018142097.tif 000010
【００６３】
さらに、データ評価部２０２は、可視化のため次元を２次元にする。次元削減時の次元をｑ次元とすると、ｇは、（式１０）により求まる。ここで、Ｂは埋め込み行列であり、（式１１）で定義される。
【数９】
2018142097.tif 000011
【００６４】
次に、埋め込み行列Ｂを求めるためのいくつかの方法について説明する。求めるべき埋め込み行列ＢをＢ*と呼ぶことにし、また、近付けるべき軸同士の規則を記述した類似度行列Ｗによって（式１２）で埋め込み行列を定義する。
【数１０】
2018142097.tif 000012
ここで、類似度行列Ｗの要素であるＷl,mは特徴量同士を近付ける規則を記述した行列であり、ｌ番目の特徴とｍ番目の特徴を近付ける場合は１に、遠ざける場合は０になるような関数として設定されるものであればよい。つまり、Ｗl,mが１の場合は、（式１２）で次元削減後の距離が最小化対象となり、０の場合は無視されるようにしてＢ*を求めることになる。
【００６５】
近付ける優先度を対象によって変えたい場合は０〜１の間の値を設定してもよい。Ｗl,mの例を（式１３）、（式１４）に示す。
【数１１】
2018142097.tif 000013
（式１３）はｎ次元特徴空間でのＧlがＧmのｋ近傍にあるかどうかで０か１かを決定する方式である。（式１４）は定数γによって定義される距離ベースで算出される値をセットする方式である。
【００６６】
（第３の実施形態）
次に、第３の実施形態に係る情報処理装置１００について説明する。第３の実施形態の情報処理装置１００は、第２の実施形態で説明したＧＵＩとのインタラクションに水滴のメタファを用いてより直感的にデータを扱える仕組みを導入したＧＵＩである。他の実施形態においては、データの分類の難しさの指標としての信頼度をグラフに表示したが、本実施形態の情報処理装置１００は、事前に設定した信頼度閾値によって完全に分類することができるクラスを分離された領域として水滴によって表す。一方で、情報処理装置１００は、あるクラスに対する信頼度が閾値以下で、他のクラスに分類される可能性のあるデータが存在する場合には、データが属する可能性のある複数のクラスを表す水滴が連結した状態を表示する。
【００６７】
ラベル教示済データとラベル未教示データが存在し、各データのクラス及び信頼度を特定し、各データの配置位置を決定するための方法は第２の実施形態と同様の方法で実現する。本実施形態におけるＧＵＩ設計に水滴のメタファを用いることによって、第２の実施形態でよりもさらに直接的に学習済み識別器の性能を可視化する効果を発揮する。
【００６８】
まず、図１１を参照しつつ、入力データが増えるに連れて、徐々に識別器が学習されていく流れを説明する。初期状態ではいずれの入力データにもラベルが付与されていない。この場合、第１の実施形態において説明したように、表示処理部２０４は、入力されたデータの数がデータ数閾値Ｎ以上となるまでは、図８に示すように入力画像を表示する。
【００６９】
そして、入力されたデータの数がデータ数閾値Ｎ以上になると、データ評価部２０２は、教師無次元削減によって初期表示のための次元削減を行う。そして、グラフ作成部２０３は、データ分布を決定する。この状態ではクラス数は不明であるため、データ評価部２０２は、一般的に知られた主成分分析（ＰＣＡ）や局所性保存射影（ＬＰＰ）などで低次元へ次元削減を実施する。そして、グラフ作成部２０３は、その結果を用いて初期の各データの配置を決める。このとき、ラベルが与えられておらず、各入力データがいずれのクラスに属するかは決定されていない。この状態においては、表示処理部２０４は、図１１（Ａ）に示すように、入力されたデータすべてを１つのクラスタを示す水滴内の位置に配置する。すなわち、表示処理部２０４は、すべてのデータを１つのグループにグループ化して表示する。
【００７０】
その後、ユーザ操作に応じて、データに対する教師付が行われると、これに従い、徐々に識別器が学習されていく。例えば、５つのクラスの教師付けが行われると、図１１（Ａ）の水滴の形状は、例えば図１１（Ｂ）に示すように、５つのクラスに対応した５つの水滴が中心で繋がったような形状に変化する。いずれのクラスに属するかが不明なデータが存在する場合には、このように、５つの水滴が完全に分離することなく、このデータに対応した点画像１１０１の位置で繋がった状態になる。点画像１１０１は、例えば信頼度閾値以下の信頼度のデータに対応する。
【００７１】
その後、継続してユーザがクラス教示、修正を繰り返すことにより５つのクラスのうち２つのクラスについては確実に分類できるようになり、あるデータに対し、３つのクラスに分類される可能性が残っているとする。この場合、図１１（Ｃ）に示すように、２つのクラスに対応した２つの水滴が完全に分離し、残りの３つのクラスに対応した水滴については、３つのクラスに分類される可能性のあるデータに対応した点画像１１０２の位置で繋がった状態になる。そして、最終的にすべてのデータの信頼度が信頼度閾値以上になると図１１（Ｄ）に示すように、水滴は、５つのクラスに対応した５つの水滴に分離する。このように、ユーザは、水滴の分離の状態から、識別器によるデータの分類状況を容易に把握することができる。
【００７２】
なお、本実施形態においては、情報処理装置１００は、視覚上の効果を優先し、各データを分類クラスの信頼度軸から一定の幅の中に配置するという規則で各データに対応する点画像を配置した。ただし、最も単純にはデータに対応する点画像の配置は第２の実施形態と同じであってもよい。
【００７３】
以上のように、第３の実施形態に係る情報処理装置１００は、水滴メタファを用いることによって本ＧＵＩへのインタラクションも直感的で簡単にすることができる。図１２は、インタラクションの事例の説明図である。分類途中で初期に別のクラスラベルを与えたクラスを同じクラスにリラベルしたい場合がある。この場合には、ユーザは、図１２（Ａ）に示すように、各クラスを表す水滴領域を選択してポインタで繋げる操作を行う。情報処理装置１００は、この操作に対応し、繋げる操作が行われた水滴に対応する複数のクラスを１つのクラスに統合する。ユーザはまた、１つのクラスを２つに分離する際には、水滴を分割する操作を行う。情報処理装置１００は、この操作に対応し、分割する操作が行われた水滴に属するデータのクラスを２つの分割し、各データをそれぞれ２つのクラスに振り分ける。
【００７４】
また、データのクラスの更新や新たなデータの入力に応じて、識別器全体が変更になる可能性があるが、既に学習した一部のクラスの識別器に関するパラメータの更新を止めたい場合がある。この場合には、情報処理装置１００は、図１２（Ｂ）に示すように、水滴の表示を氷の表示に変更する。これにより、これ以上更新されないようにすることをユーザに直感的に理解させることができる。なお、第３の実施形態に係る情報処理装置１００のこれ以外の構成及び処理は、他の実施形態に係る情報処理装置１００の構成及び処理と同様である。
【００７５】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７７】
１００  情報処理装置
２０２  データ評価部
２０３  グラフ作成部
２０４  表示処理部
【図１】
2018142097.tif 000014
【図２】
2018142097.tif 000015
【図３】
2018142097.tif 000016
【図４】
2018142097.tif 000017
【図５】
2018142097.tif 000018
【図６】
2018142097.tif 000019
【図７】
2018142097.tif 000020
【図８】
2018142097.tif 000021
【図９】
2018142097.tif 000022
【図１０】
2018142097.tif 000023
【図１１】
2018142097.tif 000024
【図１２】
2018142097.tif 000025