IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ オムロン株式会社の特許一覧

特許7593177モデル生成装置、分類装置、データ生成装置、モデル生成方法、及びモデル生成プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】モデル生成装置、分類装置、データ生成装置、モデル生成方法、及びモデル生成プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20241126BHJP
   G06T 7/00 20170101ALI20241126BHJP
【FI】
G06N20/00
G06T7/00 350B
【請求項の数】 20
(21)【出願番号】P 2021041133
(22)【出願日】2021-03-15
(65)【公開番号】P2022141017
(43)【公開日】2022-09-29
【審査請求日】2024-01-16
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】100124039
【弁理士】
【氏名又は名称】立花 顕治
(74)【代理人】
【識別番号】100170542
【弁理士】
【氏名又は名称】桝田 剛
(72)【発明者】
【氏名】日向 匡史
(72)【発明者】
【氏名】田中 芽衣
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2020-046984(JP,A)
【文献】米国特許出願公開第2020/0210808(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
訓練サンプル及び正解ラベルの組み合わせによりそれぞれ構成される複数の第1データセットを取得するように構成されるデータ取得部であって、
前記訓練サンプルは特徴を含み、
前記正解ラベルは、前記訓練サンプルに含まれる前記特徴の属するクラスを示すように構成される、
データ取得部と、
取得された前記複数の第1データセットに含まれる複数の訓練サンプルを使用して、エンコーダ及びデコーダの機械学習を実施するように構成される第1訓練処理部であって、
前記エンコーダは、サンプルを特徴量に変換するように構成され、
前記デコーダは、前記特徴量から前記サンプルを復号化するように構成され、
前記エンコーダ及びデコーダの機械学習は、前記各訓練サンプルを前記エンコーダにより特徴量に変換し、得られた各特徴量から前記デコーダにより復号化されるサンプルが前記各訓練サンプルに適合するように、前記エンコーダ及びデコーダを訓練することを含む、
第1訓練処理部と、
訓練済みの前記エンコーダを使用して、前記複数の訓練サンプルのうちの2つ以上の訓練サンプルそれぞれを特徴量に変換することで、特徴空間上における、各訓練サンプルにそれぞれ対応する2つ以上のサンプル点を取得するように構成される変換部と、
前記特徴空間上において、取得された前記2つ以上のサンプル点の線形和であって、所定の指標に従って前記各サンプル点から算出される距離の合計が最大となる線形和を導出するように構成される点指定部と、
訓練済みの前記デコーダを使用することにより、前記線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成するように構成されるサンプル生成部と、
生成された前記新たな訓練サンプルに含まれる特徴の属するクラスを示すように構成される新たな正解ラベルを前記新たな訓練サンプルに付与することで、第2データセットを生成するように構成されるラベル付与部と、
前記複数の第1データセット及び生成された1つ以上の前記第2データセットを使用して、分類モデルの機械学習を実施するように構成される第2訓練処理部であって、
前記分類モデルの機械学習は、前記各データセットについて、前記訓練サンプルに含まれる前記特徴の属するクラスを前記分類モデルにより分類した結果が前記正解ラベルに適合するように前記分類モデルを訓練することを含む、
第2訓練処理部と、
を備える、
モデル生成装置。
【請求項2】
前記分類モデルは、前記サンプルに含まれる特徴が属する事後確率をクラス毎に出力するように構成され、
前記分類モデルの機械学習は、前記複数の第1データセットを使用する第1機械学習、及び前記1つ以上の第2データセットを使用する第2機械学習に分けて実施され、
前記第1機械学習の実施により、暫定的な訓練済みの分類モデルが生成され、
前記点指定部は、
前記暫定的な訓練済みの分類モデルを使用して、導出された前記線形和の特徴量から前記訓練済みのデコーダにより復号化されるサンプルに含まれる特徴が属する事後確率をクラス毎に算出し、
算出された前記クラス毎の事後確率から、前記復号化されるサンプルのエントロピーを算出し、かつ、
算出された前記エントロピーの勾配に基づいて、前記エントロピーが増大するように、導出された前記線形和を補正する、
ように更に構成され、
前記サンプル生成部は、前記訓練済みのデコーダを使用することにより、補正された前記線形和の特徴量に対応する復号化サンプルを前記新たな訓練サンプルとして生成するように構成される、
請求項1に記載のモデル生成装置。
【請求項3】
前記第1訓練処理部は、前記複数の第1データセットに含まれる複数の訓練サンプルを使用して、識別器の機械学習を更に実施するように構成され、
前記識別器の機械学習は、前記複数の訓練サンプルの分布に入力サンプルが属する程度を評価するように前記識別器を訓練することにより構成され、
前記点指定部は、
訓練済みの前記識別器を使用して、導出された前記線形和の特徴量から前記訓練済みのデコーダにより復号化されるサンプルが前記複数の訓練サンプルの分布に属する程度を評価し、
前記程度を評価した結果に基づいて、前記訓練済みのデコーダにより復号化されるサンプルの信頼性を算出し、かつ
算出された前記信頼性の勾配に基づいて、前記信頼性が向上するように、導出された前記線形和を補正する、
ように更に構成され、
前記サンプル生成部は、前記訓練済みのデコーダを使用することにより、補正された前記線形和の特徴量に対応する復号化サンプルを前記新たな訓練サンプルとして生成するように構成される、
請求項1又は2に記載のモデル生成装置。
【請求項4】
前記識別器を訓練することは、前記エンコーダ及び前記デコーダと前記識別器との間で敵対的学習を実施することにより構成され、
前記敵対的学習は、
前記デコーダにより復号化される複数のサンプル及び前記複数の訓練サンプルをそれぞれ入力サンプルとして使用して、当該入力サンプルの由来を識別するように識別器を訓練するステップ、並びに、
前記デコーダにより復号化されるサンプルを前記識別器に入力したときの前記識別器の識別性能が低下するように前記エンコーダ及び前記デコーダを訓練するステップ、
を含み、
前記復号化されるサンプルが前記複数の訓練サンプルの分布に属する程度を評価することは、訓練済みの前記識別器を使用して、前記復号化されるサンプルの由来を識別することにより構成される、
請求項3に記載のモデル生成装置。
【請求項5】
前記点指定部は、
導出された前記線形和の特徴量から前記訓練済みのデコーダにより復号化されるサンプルと前記複数の第1データセットに含まれる訓練サンプルとの間の差分の程度を評価し、
前記程度を評価した結果に基づいて、前記訓練済みのデコーダにより復号化されるサンプルの信頼性を算出し、かつ
算出された前記信頼性の勾配に基づいて、前記信頼性が向上するように、導出された前記線形和を補正する、
ように更に構成され、
前記差分の程度を評価することは、
前記復号化されるサンプルを前記訓練済みのエンコーダにより特徴量に変換し、かつ得られた前記復号化されるサンプルの特徴量と前記線形和の特徴量との間の差を算出すること、又は
前記訓練済みのデコーダを更に使用して、前記復号化されるサンプルの特徴量から再復号化サンプルを生成し、かつ前記復号化されるサンプルと生成された再復号化サンプルとの間の再構成誤差を算出すること、
により構成される、
請求項1又は2に記載のモデル生成装置。
【請求項6】
前記エンコーダ及びデコーダの機械学習は、
前記複数の第1データセットから得られる訓練サンプルのペアについて、前記エンコーダを使用することで、各ペアを構成する2つの訓練サンプルに対応する2つの特徴量を取得すること、
前記ペア毎に取得される2つの特徴量を所定の内分比で合成することで、合成特徴量をペア毎に算出すること、
前記デコーダを使用することで、算出された前記合成特徴量から復号化サンプルを前記ペア毎に生成すること、
前記各ペアについて、生成される前記復号化サンプルから前記内分比を推定器により推定した結果が前記所定の内分比に適合するように推定器を訓練すること、及び
前記各ペアについて、前記内分比を推定する前記推定器の性能を低下させるような復号化サンプルを生成するように前記エンコーダ及びデコーダを訓練すること、
を更に含む、
請求項1から5のいずれか1項に記載のモデル生成装置。
【請求項7】
前記点指定部は、
取得された前記2つ以上のサンプル点のうち、導出された線形和に近傍の2つのサンプル点を抽出し、かつ
前記特徴空間上において、抽出された2つのサンプル点を結ぶ直線上に、導出された前記線形和を投影することで、前記線形和に対応する投影点を取得する、
ように構成され、
前記サンプル生成部は、前記訓練済みのデコーダを使用することにより、前記線形和に対応する前記投影点の特徴量に対応する復号化サンプルを前記新たな訓練サンプルとして生成するように構成される、
請求項6に記載のモデル生成装置。
【請求項8】
前記2つのサンプル点を抽出することは、対応する各訓練サンプルに含まれる特徴の属するクラスが異なる2つのサンプル点を抽出することにより構成される、
請求項7に記載のモデル生成装置。
【請求項9】
前記新たな訓練サンプルを生成した後に、前記2つ以上の訓練サンプル及び前記新たな訓練サンプルを、前記特徴空間上における位置関係に応じて配置した上で出力するように構成される出力部を更に備える、
請求項1から8のいずれか1項に記載のモデル生成装置。
【請求項10】
前記ラベル付与部は、
前記2つ以上の訓練サンプル及び前記新たな訓練サンプルを前記出力部により出力した後に、前記新たな訓練サンプルに含まれる特徴の属するクラスの指定を受け付け、かつ
指定された前記クラスを示すように構成された前記新たな正解ラベルを前記新たな訓練サンプルに付与する、
ように構成される、
請求項9に記載のモデル生成装置。
【請求項11】
前記複数の第1データセット及び前記1つ以上の第2データセットに含まれる各訓練サンプルを前記訓練済みのエンコーダにより特徴量に変換した時に、前記特徴空間上において、前記各訓練サンプルに対応するサンプル点の密度が閾値を超えるか否かを判定し、かつ前記密度が前記閾値を超える場合に、前記1つ以上の第2データセットから間引く対象を選択するように構成される間引き部を更に備え、
前記第2訓練処理部は、前記間引く対象に選択された第2データセットを除いて、前記分類モデルの機械学習を実施するように構成される、
請求項1から10のいずれか1項に記載のモデル生成装置。
【請求項12】
前記分類モデルは、前記特徴量の入力を受け付け、入力された前記特徴量から前記特徴の属するクラスを分類した結果を出力するように構成される、
請求項1から11のいずれか1項に記載のモデル生成装置。
【請求項13】
前記分類モデルは、前記サンプルの入力を受け付け、入力された前記サンプルから前記特徴の属するクラスを分類した結果を出力するように構成される、
請求項1から11のいずれか1項に記載のモデル生成装置。
【請求項14】
前記第1訓練処理部により、生成された前記1つ以上の第2データセットを使用して、前記エンコーダ及びデコーダの機械学習を再度実施することで、前記訓練済みのエンコーダ及びデコーダを更新すること、
前記変換部により、更新された前記訓練済みのエンコーダを使用して、前記複数の第1データセット及び前記1つ以上の第2データセットに含まれる複数の訓練サンプルのうちの2つ以上の訓練サンプルそれぞれに対応する2つ以上のサンプル点を取得すること、
前記点指定部により、取得された前記2つ以上のサンプル点の線形和を導出すること、
前記サンプル生成部により、更新された前記訓練済みのデコーダを使用して、前記線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成すること、及び
前記ラベル付与部により、生成された前記新たな訓練サンプルに新たな正解ラベルを付与することで、新たな第2データセットを生成すること、
を繰り返し実行するように構成される、
請求項1から13のいずれか1項に記載のモデル生成装置。
【請求項15】
前記所定の指標は、以下の式1及び式2のいずれかにより構成される、
請求項1から14のいずれか1項に記載のモデル生成装置。
【数1】
【数2】
なお、Xは、導出される前記線形和を示し、xiは、前記各サンプル点を示す。
【請求項16】
前記訓練サンプルは、対象物の写る画像サンプルであり、
前記特徴のクラスは、前記画像サンプルに写る前記対象物の種別に関する、
請求項1から15のいずれか1項に記載のモデル生成装置。
【請求項17】
前記対象物は、製品であり、
前記特徴のクラスは、前記製品に含まれる欠陥の種別に関する、
請求項16に記載のモデル生成装置。
【請求項18】
2つ以上の訓練サンプルを取得するように構成されるデータ取得部と、
訓練済みのエンコーダを使用して、前記2つ以上の訓練サンプルそれぞれを特徴量に変換することで、特徴空間上における、各訓練サンプルにそれぞれ対応する2つ以上のサンプル点を取得するように構成される変換部と、
前記特徴空間上において、取得された前記2つ以上のサンプル点の線形和であって、所定の指標に従って前記各サンプル点から算出される距離の合計が最大となる線形和を導出するように構成される点指定部と、
訓練済みのデコーダを使用することにより、前記線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成するように構成されるサンプル生成部と、
を備え、
前記訓練済みのエンコーダ及びデコーダは、前記2つ以上の訓練サンプルを含む複数の訓練サンプルを使用した機械学習により生成されたものであり、
前記機械学習は、前記各訓練サンプルを前記エンコーダにより特徴量に変換し、得られた各特徴量から前記デコーダにより復号化されるサンプルが前記各訓練サンプルに適合するように、前記エンコーダ及びデコーダを訓練することを含む、
データ生成装置。
【請求項19】
コンピュータが、
訓練サンプル及び正解ラベルの組み合わせによりそれぞれ構成される複数の第1データセットを取得するステップであって、
前記訓練サンプルは特徴を含み、
前記正解ラベルは、前記訓練サンプルに含まれる前記特徴の属するクラスを示すように構成される、
ステップと、
取得された前記複数の第1データセットに含まれる複数の訓練サンプルを使用して、エンコーダ及びデコーダの機械学習を実施するステップであって、
前記エンコーダは、サンプルを特徴量に変換するように構成され、
前記デコーダは、前記特徴量から前記サンプルを復号化するように構成され、
前記エンコーダ及びデコーダの機械学習は、前記各訓練サンプルを前記エンコーダにより特徴量に変換し、得られた各特徴量から前記デコーダにより復号化されるサンプルが前記各訓練サンプルに適合するように、前記エンコーダ及びデコーダを訓練することを含む、
ステップと、
訓練済みの前記エンコーダを使用して、前記複数の訓練サンプルのうちの2つ以上の訓練サンプルそれぞれを特徴量に変換することで、特徴空間上における、各訓練サンプルにそれぞれ対応する2つ以上のサンプル点を取得するステップと、
前記特徴空間上において、取得された前記2つ以上のサンプル点の線形和であって、所定の指標に従って前記各サンプル点から算出される距離の合計が最大となる線形和を導出するステップと、
訓練済みの前記デコーダを使用することにより、前記線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成するステップと、
生成された前記新たな訓練サンプルに含まれる特徴の属するクラスを示すように構成される新たな正解ラベルを前記新たな訓練サンプルに付与することで、第2データセットを生成するステップと、
前記複数の第1データセット及び生成された1つ以上の前記第2データセットを使用して、分類モデルの機械学習を実施するステップであって、
前記分類モデルの機械学習は、前記各データセットについて、前記訓練サンプルに含まれる前記特徴の属するクラスを前記分類モデルにより分類した結果が前記正解ラベルに適合するように前記分類モデルを訓練することを含む、
ステップと、
を実行する、
モデル生成方法。
【請求項20】
コンピュータに、
訓練サンプル及び正解ラベルの組み合わせによりそれぞれ構成される複数の第1データセットを取得するステップであって、
前記訓練サンプルは特徴を含み、
前記正解ラベルは、前記訓練サンプルに含まれる前記特徴の属するクラスを示すように構成される、
ステップと、
取得された前記複数の第1データセットに含まれる複数の訓練サンプルを使用して、エンコーダ及びデコーダの機械学習を実施するステップであって、
前記エンコーダは、サンプルを特徴量に変換するように構成され、
前記デコーダは、前記特徴量から前記サンプルを復号化するように構成され、
前記エンコーダ及びデコーダの機械学習は、前記各訓練サンプルを前記エンコーダにより特徴量に変換し、得られた各特徴量から前記デコーダにより復号化されるサンプルが前記各訓練サンプルに適合するように、前記エンコーダ及びデコーダを訓練することを含む、
ステップと、
訓練済みの前記エンコーダを使用して、前記複数の訓練サンプルのうちの2つ以上の訓練サンプルそれぞれを特徴量に変換することで、特徴空間上における、各訓練サンプルにそれぞれ対応する2つ以上のサンプル点を取得するステップと、
前記特徴空間上において、取得された前記2つ以上のサンプル点の線形和であって、所定の指標に従って前記各サンプル点から算出される距離の合計が最大となる線形和を導出するステップと、
訓練済みの前記デコーダを使用することにより、前記線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成するステップと、
生成された前記新たな訓練サンプルに含まれる特徴の属するクラスを示すように構成される新たな正解ラベルを前記新たな訓練サンプルに付与することで、第2データセットを生成するステップと、
前記複数の第1データセット及び生成された1つ以上の前記第2データセットを使用して、分類モデルの機械学習を実施するステップであって、
前記分類モデルの機械学習は、前記各データセットについて、前記訓練サンプルに含まれる前記特徴の属するクラスを前記分類モデルにより分類した結果が前記正解ラベルに適合するように前記分類モデルを訓練することを含む、
ステップと、
を実行させるための、
モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、モデル生成装置、分類装置、データ生成装置、モデル生成方法、及びモデル生成プログラムに関する。
【背景技術】
【0002】
従来、製造ライン等の製品を製造する場面において、製造される製品を撮影装置により撮影し、得られた画像データを解析することで、製品の良否を検査する技術の開発が進んでいる。例えば、特許文献1では、訓練済みの第1ニューラルネットワークを使用して、画像に写る対象物が正常であるか異常であるかを判定し、異常であると判定した場合に、訓練済みの第2ニューラルネットワークを使用して、その異常の種別を分類する検査装置が提案されている。
【0003】
ニューラルネットワーク等の機械学習モデルを利用する方法によれば、得られた画像に対する画像処理を人手により詳細に規定しなくても、訓練済みの機械学習モデルの演算結果に基づいて製品の外観検査を実施することができる。そのため、外観検査の情報処理を簡略化し、検査プログラムを作成する手間を低減することができる。その一方で、訓練済みの機械学習モデルを生成する(すなわち、機械学習を実施する)ためには、機械学習モデルに習得させる能力(上記の例では、製品の外観を検査する能力)に応じた訓練サンプルを用意することが求められる。訓練済みの機械学習モデルを適用する現場で生じ得るあらゆる事象を網羅的にカバーし、かつ十分な件数の訓練サンプルを用意することができれば、推論タスクを高精度に遂行する能力を有する訓練済みの機械学習モデルの生成を期待することができる。しかしながら、そのような網羅的でかつ十分な件数の訓練サンプルを用意するにはコストがかかってしまう。
【0004】
そこで、近年では、データオーギュメンテーション、生成モデルを使用する等の様々な方法で、得られた訓練サンプルを使用して、新たな訓練サンプルを生成することで、訓練サンプルの件数を増やす技術の検討が行われている。例えば、非特許文献1及び特許文献2では、訓練済みの条件付き生成モデル(非特許文献1では、AC-GAN)を使用して、対象クラスの訓練サンプルを生成する方法が提案されている。これらの方法によれば、元の訓練サンプルとは異なる事象の現れた新たな訓練サンプルを生成することができ、これによって、十分な件数の訓練サンプルを用意するコストの低減を図ることができる。また、得られた十分な件数の訓練サンプルを機械学習に使用することで、訓練済みの機械学習モデルの性能の向上を期待することができる。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2012-026982号公報
【文献】特開2019-074945号公報
【非特許文献】
【0006】
【文献】Quan Kong, Bin Tong, Martin Klinkigt, Yuki Watanabe, Naoto Akira, Tomokazu Murakami, "Active Generative Adversarial Network for Image Classification", arXiv:1906.07133v1 [cs.LG], 17 Jun 2019.
【発明の概要】
【発明が解決しようとする課題】
【0007】
本件発明者は、上記従来の訓練サンプルを生成する方法には次のような問題点があることを見出した。すなわち、データオーギュメンテーションによる手法では、新たな訓練画像(訓練サンプル)は、例えば、平行移動、拡大縮小、回転、ノイズ付与等の画像処理を元の訓練画像に対して適用することで生成される。そのため、元の訓練サンプル近傍の事象の現れた訓練サンプルを生成することはできるが、それ以外の事象(例えば、中間的な事象)の現れた訓練サンプルを生成するのは困難である。よって、データオーギュメンテーションによる手法では、網羅的な訓練サンプルを得ることは困難である。また、上記生成モデルによる手法では、基本的には、乱数に基づいて新たな訓練サンプルを生成するため、生成される訓練サンプルを制御するのは困難である。そのため、網羅的な訓練サンプルを効率的に得ることは困難である。
【0008】
なお、この問題点は、外観検査に使用可能な訓練済みモデルを生成する場合に特有のものではない。加えて、この問題点は、画像データを訓練サンプルとして取り扱うケースに特有のものでもない。例えば、画像に写る対象物の種別を分類する、センシングデータに表れる対象物の状態を分類する等の、データに含まれる特徴を分類する分類タスクを遂行する能力を習得した訓練済みの分類モデルを生成するために訓練サンプルを収集するあらゆる場面で同様の問題点が生じ得る。訓練サンプルは、画像データの他、例えば、音データ、数値データ、テキストデータ、その他センサにより得られる測定データ等で構成されてよい。
【0009】
本発明は、一側面では、このような事情を鑑みてなされたものであり、その目的は、網羅的に訓練サンプルを収集するのにかかるコストの低減を図ること、又はそれにより得られた訓練サンプルを機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上を図ることである。
【課題を解決するための手段】
【0010】
本発明は、上述した課題を解決するために、以下の構成を採用する。
【0011】
すなわち、本発明の一側面に係るモデル生成装置は、データ取得部、第1訓練処理部、変換部、点指定部、サンプル生成部、ラベル付与部、及び第2訓練処理部を備える。データ取得部は、訓練サンプル及び正解ラベルの組み合わせによりそれぞれ構成される複数の第1データセットを取得するように構成される。前記訓練サンプルは特徴を含み、前記正解ラベルは、前記訓練サンプルに含まれる前記特徴の属するクラスを示すように構成される。第1訓練処理部は、取得された前記複数の第1データセットに含まれる複数の訓練サンプルを使用して、エンコーダ及びデコーダの機械学習を実施するように構成される。前記エンコーダは、サンプルを特徴量に変換するように構成される。前記デコーダは、前記特徴量から前記サンプルを復号化するように構成される。前記エンコーダ及びデコーダの機械学習は、前記各訓練サンプルを前記エンコーダにより特徴量に変換し、得られた各特徴量から前記デコーダにより復号化されるサンプルが前記各訓練サンプルに適合するように、前記エンコーダ及びデコーダを訓練することを含む。変換部は、訓練済みの前記エンコーダを使用して、前記複数の訓練サンプルのうちの2つ以上の訓練サンプルそれぞれを特徴量に変換することで、特徴空間上における、各訓練サンプルにそれぞれ対応する2つ以上のサンプル点を取得するように構成される。点指定部は、前記特徴空間上において、取得された前記2つ以上のサンプル点の線形和であって、所定の指標に従って前記各サンプル点から算出される距離の合計が最大となる線形和を導出するように構成される。サンプル生成部は、訓練済みの前記デコーダを使用することにより、前記線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成するように構成される。ラベル付与部は、生成された前記新たな訓練サンプルに含まれる特徴の属するクラスを示すように構成される新たな正解ラベルを前記新たな訓練サンプルに付与することで、第2データセットを生成するように構成される。第2訓練処理部は、前記複数の第1データセット及び生成された1つ以上の前記第2データセットを使用して、分類モデルの機械学習を実施するように構成される。前記分類モデルの機械学習は、前記各データセットについて、前記訓練サンプルに含まれる前記特徴の属するクラスを前記分類モデルにより分類した結果が前記正解ラベルに適合するように前記分類モデルを訓練することを含む。
【0012】
当該構成では、複数のオリジナルのデータセット(第1データセット)を使用して、エンコーダ及びデコーダの機械学習を実施する。機械学習の結果、訓練済みのエンコーダ及びデコーダを生成することができる。訓練済みのエンコーダによれば、含まれる特徴に関する情報を維持したまま、各訓練サンプルを特徴空間(潜在空間)に写像することができる。訓練済みのデコーダによれば、特徴空間の値(特徴量)からサンプルを復号化することができる。当該構成では、訓練済みのエンコーダを使用して、複数の訓練サンプルのうちの2つ以上の訓練サンプルそれぞれを特徴量に変換することで、各訓練サンプルにそれぞれ対応する2つ以上のサンプル点を特徴空間上で取得する。所定の基準に従って、各サンプル点から算出される距離の合計が最大となる線形和を導出する。そして、訓練済みのデコーダを使用することにより、線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成する。すなわち、当該構成によれば、特徴空間において、各サンプル点からの距離の合計が最大となる線形和の点を新たなサンプル点として得ることで、万遍なくサンプル点が存在する状態を形成することができる。よって、訓練済みのデコーダを使用して、線形和の特徴量から復号化されるサンプルを含む新たなデータセット(第2データセット)を学習データに追加することで、網羅性の高いと特徴空間上で評価可能な学習データを得ることができる。また、当該構成では、訓練済みのエンコーダ及びデコーダを用いることで、このような新たな訓練サンプル(を含むデータセット)を生成する工程の少なくとも一部を自動化することができる。したがって、当該構成によれば、網羅的に訓練サンプルを収集するのにかかるコストの低減を図ることができる。加えて、当該構成では、オリジナルのデータセット(第1データセット)の他に、上記により生成された新たなデータセット(第2データセット)を分類モデルの機械学習に使用する。これにより、当該構成によれば、網羅的に得られた訓練サンプルを機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上を図ることができる。
【0013】
上記一側面に係るモデル生成装置において、前記分類モデルは、前記サンプルに含まれる特徴が属する事後確率をクラス毎に出力するように構成されてよい。前記分類モデルの機械学習は、前記複数の第1データセットを使用する第1機械学習、及び前記1つ以上の第2データセットを使用する第2機械学習に分けて実施されてよい。前記第1機械学習の実施により、暫定的な訓練済みの分類モデルが生成されてよい。前記点指定部は、前記暫定的な訓練済みの分類モデルを使用して、導出された前記線形和の特徴量から前記訓練済みのデコーダにより復号化されるサンプルに含まれる特徴が属する事後確率をクラス毎に算出し、算出された前記クラス毎の事後確率から、前記復号化されるサンプルのエントロピーを算出し、かつ、算出された前記エントロピーの勾配に基づいて、前記エントロピーが増大するように、導出された前記線形和を補正する、ように更に構成されてよい。前記サンプル生成部は、前記訓練済みのデコーダを使用することにより、補正された前記線形和の特徴量に対応する復号化サンプルを前記新たな訓練サンプルとして生成するように構成されてよい。
【0014】
当該構成では、暫定的な訓練済みの分類モデルにより、線形和の特徴量から復号化されるサンプルのエントロピーを評価する。エントロピーは、復号化されるサンプルに含まれる特徴を分類できるか否かの程度(換言すると、不確実性)を示す。不確実性が高いほど、そのサンプルに含まれる特徴の分類が困難、すなわち、そのサンプルの機械学習が不十分であることを示す。当該構成では、このエントロピーが増大するように、導出された線形和を補正し、訓練済みのデコーダを使用して、補正された線形和の特徴量から復号化されたサンプルを新たな訓練サンプルとして生成する。これにより、暫定的な訓練済みの分類モデルにおいて機械学習が不十分な訓練サンプルを得ることができ、得られた訓練サンプルを分類モデルの機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上の期待を高めることができる。
【0015】
上記一側面に係るモデル生成装置において、前記第1訓練処理部は、前記複数の第1データセットに含まれる複数の訓練サンプルを使用して、識別器の機械学習を更に実施するように構成されてよい。前記識別器の機械学習は、前記複数の訓練サンプルの分布に入力サンプルが属する程度を評価するように前記識別器を訓練することにより構成されてよい。前記点指定部は、訓練済みの前記識別器を使用して、導出された前記線形和の特徴量から前記訓練済みのデコーダにより復号化されるサンプルが前記複数の訓練サンプルの分布に属する程度を評価し、前記程度を評価した結果に基づいて、前記訓練済みのデコーダにより復号化されるサンプルの信頼性を算出し、かつ算出された前記信頼性の勾配に基づいて、前記信頼性が向上するように、導出された前記線形和を補正する、ように更に構成されてよい。前記サンプル生成部は、前記訓練済みのデコーダを使用することにより、補正された前記線形和の特徴量に対応する復号化サンプルを前記新たな訓練サンプルとして生成するように構成されてよい。
【0016】
特徴空間において、訓練サンプルに対応する点以外の点の特徴量から、訓練済みデコーダにより復号化されるサンプルは、言わば真のデータ(訓練サンプル)を模した疑似的なデータである。場合によっては、この疑似的なデータは、真のデータから極めて乖離している可能性がある。そこで、当該構成では、訓練済みの識別器を使用することで、訓練済みデコーダにより復号化されるサンプルの信頼性を評価する。一例では、復号化されるサンプルが訓練サンプルの分布に属する程度が高いほど当該サンプルの信頼性は高いと評価し、復号化されるサンプルが訓練サンプルの分布に属する程度が低いほど当該サンプルの信頼性は低いと評価する。そして、評価の結果に基づいて、信頼性が向上するように、線形和を補正し、訓練済みのデコーダを使用して、補正された線形和の特徴量から復号化されたサンプルを新たな訓練サンプルとして生成する。これにより、真のデータから極めて乖離した訓練サンプルが学習データに追加されるのを抑制することができる。その結果、得られた訓練サンプルを分類モデルの機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上の期待を高めることができる。
【0017】
上記一側面に係るモデル生成装置において、前記識別器を訓練することは、前記エンコーダ及び前記デコーダと前記識別器との間で敵対的学習を実施することにより構成されてよい。そして、前記敵対的学習は、前記デコーダにより復号化される複数のサンプル及び前記複数の訓練サンプルをそれぞれ入力サンプルとして使用して、当該入力サンプルの由来を識別するように識別器を訓練するステップ、並びに、前記デコーダにより復号化されるサンプルを前記識別器に入力したときの前記識別器の識別性能が低下するように前記エンコーダ及び前記デコーダを訓練するステップ、を含んでよい。前記復号化されるサンプルが前記複数の訓練サンプルの分布に属する程度を評価することは、訓練済みの前記識別器を使用して、前記復号化されるサンプルの由来を識別することにより構成されてよい。
【0018】
敵対的学習により訓練された識別器は、敵対的学習の程度に応じて、訓練サンプルかデコーダ由来のサンプル(疑似サンプル)かを見分ける能力を獲得する。よって、この訓練済みの識別器によれば、入力サンプルの由来を識別した結果に応じて、入力サンプルの信頼性を評価することができる。すなわち、入力サンプルの由来は訓練サンプルであると識別器が誤るほど信頼性は高く、入力サンプルの由来はデコーダであると識別器が正しく識別するほど信頼性は低いと評価することができる。したがって、当該構成によれば、敵対的学習により生成された訓練済みの識別器により、復号化されるサンプルの信頼性を適切に評価することができる。これにより、真のデータから極めて乖離した訓練サンプルが学習データに追加されるのを抑制し、生成される訓練済みの分類モデルの性能の向上の期待を高めることができる。
【0019】
上記一側面に係るモデル生成装置において、前記点指定部は、導出された前記線形和の特徴量から前記訓練済みのデコーダにより復号化されるサンプルと前記複数の第1データセットに含まれる訓練サンプルとの間の差分の程度を評価し、前記程度を評価した結果に基づいて、前記訓練済みのデコーダにより復号化されるサンプルの信頼性を算出し、かつ算出された前記信頼性の勾配に基づいて、前記信頼性が向上するように、導出された前記線形和を補正する、ように更に構成されてよい。前記差分の程度を評価することは、前記復号化されるサンプルを前記訓練済みのエンコーダにより特徴量に変換し、かつ得られた前記復号化されるサンプルの特徴量と前記線形和の特徴量との間の差を算出すること、又は前記訓練済みのデコーダを更に使用して、前記復号化されるサンプルの特徴量から再復号化サンプルを生成し、かつ前記復号化されるサンプルと生成された再復号化サンプルとの間の再構成誤差を算出すること、により構成されてよい。
【0020】
上記復号化されるサンプルの信頼性は、特徴空間又は元の空間(サンプルの次元空間)上での復号化されるサンプル及び訓練サンプルの間の差分によっても評価可能である。当該構成では、復号化されるサンプル及び訓練サンプルの間の差分として、導出された線形和から訓練済みのデコーダにより復号化されるサンプルを訓練済みのエンコーダにより特徴量に変換し、得られた特徴量と線形和との間の差分を算出する。或いは、訓練済みのデコーダを更に使用して、復号化されるサンプルから得られる特徴量から再復号化サンプルを生成し、復号化されるサンプルと再復号化サンプルとの間の再構成誤差を算出する。訓練済みのエンコーダ及びデコーダは、第1データセットに含まれる訓練サンプルを使用した機械学習により生成される。そのため、導出された線形和から訓練済みのデコーダにより復号化されるサンプルが訓練サンプルに類似するほど、上記各差分(特徴量間の差/再構成誤差)は小さくなり、復号化されるサンプルが訓練サンプルから乖離するほど、上記各差分は大きくなる。そのため、上記各差分により、線形和から復号化されるサンプルと訓練サンプルとの間の差分の程度を適切に評価することができる。当該構成では、この評価の結果に基づいて、信頼性が向上するように、線形和を補正し、訓練済みのデコーダを使用して、補正された線形和の特徴量から復号化されたサンプルを新たな訓練サンプルとして生成する。これにより、真のデータから極めて乖離した訓練サンプルが学習データに追加されるのを抑制することができる。その結果、得られた訓練サンプルを分類モデルの機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上の期待を高めることができる。
【0021】
上記一側面に係るモデル生成装置において、前記エンコーダ及びデコーダの機械学習は、前記複数の第1データセットから得られる訓練サンプルのペアについて、前記エンコーダを使用することで、各ペアを構成する2つの訓練サンプルに対応する2つの特徴量を取得すること、前記ペア毎に取得される2つの特徴量を所定の内分比で合成することで、合成特徴量をペア毎に算出すること、前記デコーダを使用することで、算出された前記合成特徴量から復号化サンプルを前記ペア毎に生成すること、前記各ペアについて、生成される前記復号化サンプルから前記内分比を推定器により推定した結果が前記所定の内分比に適合するように推定器を訓練すること、及び前記各ペアについて、前記内分比を推定する前記推定器の性能を低下させるような復号化サンプルを生成するように前記エンコーダ及びデコーダを訓練すること、を更に含んでよい。
【0022】
当該構成では、エンコーダ及びデコーダと推定器との間で敵対的学習が実施される。敵対的学習により、内分比を見分ける推定器の能力が向上するほど、その内分比を推定され難いサンプルを生成するエンコーダ及びデコーダの能力が向上する。つまり、各サンプル点の間の点について、内分比を特定し易いような真のデータから乖離したサンプルが復号化(生成)されるのを抑制する(換言すると、内分比が特定し難い、真のデータと見分けのつかないようなサンプルがデコーダにより復号化されるようにする)ことができる。したがって、当該構成によれば、真のデータ(訓練サンプル)に類似する復号化サンプルを線形和の特徴量から生成する能力を獲得した訓練済みのエンコーダ及びデコーダを生成することができる。これにより、訓練済みのエンコーダ及びデコーダを使用して新たな訓練サンプルを生成する際に、真のデータから極めて乖離した訓練サンプルが学習データに追加されるのを抑制することができる。その結果、得られた訓練サンプルを分類モデルの機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上の期待を高めることができる。
【0023】
上記一側面に係るモデル生成装置において、前記点指定部は、取得された前記2つ以上のサンプル点のうち、導出された線形和に近傍の2つのサンプル点を抽出し、かつ前記特徴空間上において、抽出された2つのサンプル点を結ぶ直線上に、導出された前記線形和を投影することで、前記線形和に対応する投影点を取得する、ように構成されてよい。前記サンプル生成部は、前記訓練済みのデコーダを使用することにより、前記線形和に対応する前記投影点の特徴量に対応する復号化サンプルを前記新たな訓練サンプルとして生成するように構成されてよい。当該構成によれば、2つのサンプル点の内分比(投影点)に線形和を変換することで、上記敵対的学習の訓練範囲又はその近傍の値に線形和の値を補正することができる。これにより、真のデータから極めて乖離した訓練サンプルが学習データに追加されるのを抑制することの確実性を高めることができる。その結果、得られた訓練サンプルを分類モデルの機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上の期待を高めることができる。
【0024】
上記一側面に係るモデル生成装置において、前記2つのサンプル点を抽出することは、対応する各訓練サンプルに含まれる特徴の属するクラスが異なる2つのサンプル点を抽出することにより構成されてよい。当該構成によれば、クラスの異なる訓練サンプルの間で真のデータから乖離した新たな訓練サンプルが生成されるのを抑制することができる。すなわち、訓練済みのデコーダにより、各サンプル点よりクラスの識別境界に近い範囲で、真のデータに類似する復号化サンプルを新たな訓練サンプルとして生成することができる。その結果、得られた訓練サンプルを分類モデルの機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上の期待を高めることができる。
【0025】
上記一側面に係るモデル生成装置は、前記新たな訓練サンプルを生成した後に、前記2つ以上の訓練サンプル及び前記新たな訓練サンプルを、前記特徴空間上における位置関係に応じて配置した上で出力するように構成される出力部を更に備えてよい。当該構成によれば、出力結果に基づいて、復号化されるサンプル(新たな訓練サンプル)が学習データに追加してよいものか否かを確認することができる。これにより、真のデータから極めて乖離した訓練サンプルが学習データに追加されるのを防ぐことができる。その結果、得られた訓練サンプルを分類モデルの機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上の期待を高めることができる。加えて、出力結果に基づいて、元の訓練サンプルとの特徴空間上での位置関係に応じて、復号化されるサンプル(新たな訓練サンプル)に含まれる特徴が属するクラスを確認することができる。
【0026】
上記一側面に係るモデル生成装置において、前記ラベル付与部は、前記2つ以上の訓練サンプル及び前記新たな訓練サンプルを前記出力部により出力した後に、前記新たな訓練サンプルに含まれる特徴の属するクラスの指定を受け付け、かつ指定された前記クラスを示すように構成された前記新たな正解ラベルを前記新たな訓練サンプルに付与する、ように構成されてよい。当該構成によれば、出力結果に基づいて、元の訓練サンプルとの特徴空間上での位置関係に応じて、復号化されるサンプル(新たな訓練サンプル)に含まれる特徴の属するクラスを確認しながら、当該クラスの指定を受け付けるようにすることで、適切なクラスを示す新たな正解ラベルを新たな訓練サンプルに付与することができる。これにより、誤った正解ラベルが新たな訓練サンプルに付与されるのを防止することができる。その結果、得られた訓練サンプルを分類モデルの機械学習に適切に使用することができ、生成される訓練済みの分類モデルの性能の向上の期待を高めることができる。
【0027】
上記一側面に係るモデル生成装置は、前記複数の第1データセット及び前記1つ以上の第2データセットに含まれる各訓練サンプルを前記訓練済みのエンコーダにより特徴量に変換した時に、前記特徴空間上において、前記各訓練サンプルに対応するサンプル点の密度が閾値を超えるか否かを判定し、かつ前記密度が前記閾値を超える場合に、前記1つ以上の第2データセットから間引く対象を選択するように構成される間引き部を更に備えてもよい。前記第2訓練処理部は、前記間引く対象に選択された第2データセットを除いて、前記分類モデルの機械学習を実施するように構成されてよい。空間上で近傍の範囲に訓練サンプルが過剰に存在する場合、その訓練サンプルの一部は、分類モデルの性能向上にあまり貢献しない可能性がある。当該構成によれば、特徴空間上での密度により、このような訓練サンプルの過剰状態を見つけ出すことができ、過剰な訓練サンプルの一部を間引くことができる。これにより、分類モデルの機械学習に使用されるデータセットの件数を減らすことで、生成される訓練済みの分類モデルの性能の低下を抑制しつつ、機械学習の計算量を低減し、機械学習にかかる計算資源(プロセッサ、メモリ)の効率化を図ることができる。
【0028】
上記一側面に係るモデル生成装置において、前記分類モデルは、前記特徴量の入力を受け付け、入力された前記特徴量から前記特徴の属するクラスを分類した結果を出力するように構成されてよい。当該構成によれば、分類タスクの演算がエンコーダの処理と共有される形態において、生成される訓練済みの分類モデルの性能の向上を図ることができる。この形態では、エンコーダの訓練と共に、分類モデルの訓練を行うことができるため、分類モデルの機械学習の処理の効率化を図ってもよい。
【0029】
上記一側面に係るモデル生成装置において、前記分類モデルは、前記サンプルの入力を受け付け、入力された前記サンプルから前記特徴の属するクラスを分類した結果を出力するように構成されてよい。当該構成によれば、分類モデルがエンコーダ及びデコーダと別個に構成される形態において、生成される訓練済みの分類モデルの性能の向上を図ることができる。この形態では、分類モデルの構成はエンコーダに依存しないため、分類モデルの構造を分類タスクに最適化してもよい。これにより、分類モデルの計算量の効率化を図ってもよい。
【0030】
上記一側面に係るモデル生成装置は、前記第1訓練処理部により、生成された前記1つ以上の第2データセットを使用して、前記エンコーダ及びデコーダの機械学習を再度実施することで、前記訓練済みのエンコーダ及びデコーダを更新すること、前記変換部により、更新された前記訓練済みのエンコーダを使用して、前記複数の第1データセット及び前記1つ以上の第2データセットに含まれる複数の訓練サンプルのうちの2つ以上の訓練サンプルそれぞれに対応する2つ以上のサンプル点を取得すること、前記点指定部により、取得された前記2つ以上のサンプル点の線形和を導出すること、前記サンプル生成部により、更新された前記訓練済みのデコーダを使用して、前記線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成すること、及び前記ラベル付与部により、生成された前記新たな訓練サンプルに新たな正解ラベルを付与することで、新たな第2データセットを生成すること、を繰り返し実行するように構成されてよい。新たな訓練サンプルが追加され、追加された新たな訓練サンプルを更に使用して、エンコーダ及びデコーダの機械学習を実施すると、エンコーダにより写像される特徴空間は変更され得る。当該構成によれば、エンコーダ及びデコーダの機械学習、並びに新たな訓練サンプルの生成を繰り返すことで、新たな訓練サンプルを追加しながら、万遍なくサンプル点が存在する状態を形成することができる。これにより、網羅的な訓練サンプルをより適切に収集することができる。
【0031】
上記一側面に係るモデル生成装置において、前記所定の指標は、以下の式1及び式2のいずれかにより構成されてよい。
【数1】
【数2】
なお、Xは、導出される前記線形和を示し、xiは、前記各サンプル点を示す。当該構成によれば、式1によれば、重心を得ることができる。式2によれば、ボロノイ点を得ることができる。これらによれば、各サンプル点の内側の領域で、各サンプル点からの距離の合計が最大の線形和を導出することができる。これにより、適切な線形和を得て、特徴空間上でサンプル点が疎である領域にサンプル点を追加することができる。また、この操作を繰り返すことで、万遍なくサンプル点が存在する状態を形成することができる。したがって、当該構成によれば、網羅的な訓練サンプルを適切に収集することができる。また、網羅的に得られた訓練サンプルを機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上を図ることができる。
【0032】
上記各側面に係るモデル生成装置において、訓練サンプルは、分類タスクの対象になり得るものであれば、そのデータ種は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。訓練サンプルは、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られるセンシングデータ等であってよい。なお、訓練済みの分類モデルにより分類タスクを遂行する際に得られる対象サンプルも同様である。
【0033】
例えば、上記一側面に係るモデル生成装置において、前記訓練サンプルは、対象物の写る画像サンプルであってよく、前記特徴のクラスは、前記画像サンプルに写る前記対象物の種別に関するものであってよい。当該構成によれば、物体認識を行うための訓練済みの分類モデルを生成する場面で、網羅的に訓練サンプルを収集するのにかかるコストの低減を図ることができる。また、それにより得られた訓練サンプルを機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上を図ることができる。
【0034】
また、上記一側面に係るモデル生成装置において、前記対象物は、製品であってよく、前記特徴のクラスは、前記製品に含まれる欠陥の種別に関するものであってよい。当該構成によれば、物体認識の一形態として外観検査を行うための訓練済みの分類モデルを生成する場面で、網羅的に訓練サンプルを収集するのにかかるコストの低減を図ることができる。また、それにより得られた訓練サンプルを機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上を図ることができる。
【0035】
本発明の形態は、上記一連の処理を全て実行するよう構成されるモデル生成装置に限られなくてよい。本発明の一側面に係る装置は、上記各形態に係るモデル生成装置から、例えば、訓練済みのエンコーダ及びデコーダを生成する部分、訓練済みのエンコーダ及びデコーダにより新たな訓練サンプル(第2データセット)を生成する部分、新たな訓練サンプルを含む学習データを使用して、分類モデルの機械学習を実行する部分等の一部分を抽出することにより構成されてよい。一例では、訓練済みのエンコーダ及びデコーダを生成する部分に対応する装置は、第1モデル生成装置と称されてよい。訓練済みのエンコーダ及びデコーダにより新たな訓練サンプルを生成する部分は、データ生成装置と称されてよい。新たな訓練サンプルを含む学習データを使用して、分類モデルの機械学習を実行する部分は、第2モデル生成装置と称されてよい。更に、本発明の一側面は、上記いずれかの形態に係るモデル生成装置により生成された訓練済みの分類モデルを使用する分類装置であってもよい。分類装置は、分類タスクの種類により適宜読み替えられてよい(例えば、検査装置等)。
【0036】
例えば、本発明の一側面に係る分類装置は、対象サンプルを取得するように構成される取得部と、上記いずれかの形態に係るモデル生成装置により生成された訓練済みの前記分類モデルを備える分類部であって、前記訓練済みの分類モデルを使用することで、取得された前記対象サンプルに含まれる特徴の属するクラスを分類するように構成される分類部と、前記クラスを分類した結果に関する情報を出力するように構成される出力部と、を備える。当該構成によれば、上記により生成された訓練済みの分類モデルを使用することで、精度のよい分類タスクの遂行を期待することができる。
【0037】
また、例えば、本発明の一側面に係るデータ生成装置は、2つ以上の訓練サンプルを取得するように構成されるデータ取得部と、訓練済みのエンコーダを使用して、前記2つ以上の訓練サンプルそれぞれを特徴量に変換することで、特徴空間上における、各訓練サンプルにそれぞれ対応する2つ以上のサンプル点を取得するように構成される変換部と、前記特徴空間上において、取得された前記2つ以上のサンプル点の線形和であって、所定の指標に従って前記各サンプル点から算出される距離の合計が最大となる線形和を導出するように構成される点指定部と、訓練済みのデコーダを使用することにより、前記線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成するように構成されるサンプル生成部と、を備える。前記訓練済みのエンコーダ及びデコーダは、前記2つ以上の訓練サンプルを含む複数の訓練サンプルを使用した機械学習により生成されたものである。前記機械学習は、前記各訓練サンプルを前記エンコーダにより特徴量に変換し、得られた各特徴量から前記デコーダにより復号化されるサンプルが前記各訓練サンプルに適合するように、前記エンコーダ及びデコーダを訓練することを含む。当該構成によれば、網羅的に訓練サンプルを収集するのにかかるコストの低減を図ることができる。
【0038】
また、上記各形態に係る各装置の別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面は、上記いずれかの形態に係るモデル生成装置(第1モデル生成装置、データ生成装置、及び第2モデル生成装置)及び分類装置により構成される分類システムであってもよい。
【0039】
例えば、本発明の一側面に係るモデル生成方法は、コンピュータが、上記訓練サンプル及び正解ラベルの組み合わせによりそれぞれ構成される複数の第1データセットを取得するステップ、取得された前記複数の第1データセットに含まれる複数の訓練サンプルを使用して、上記エンコーダ及びデコーダの機械学習を実施するステップ、訓練済みの前記エンコーダを使用して、前記複数の訓練サンプルのうちの2つ以上の訓練サンプルそれぞれを特徴量に変換することで、特徴空間上における、各訓練サンプルにそれぞれ対応する2つ以上のサンプル点を取得するステップ、前記特徴空間上において、取得された前記2つ以上のサンプル点の線形和であって、所定の指標に従って前記各サンプル点から算出される距離の合計が最大となる線形和を導出するステップ、訓練済みの前記デコーダを使用することにより、前記線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成するステップ、生成された前記新たな訓練サンプルに含まれる特徴の属するクラスを示すように構成される新たな正解ラベルを前記新たな訓練サンプルに付与することで、第2データセットを生成するステップ、及び前記複数の第1データセット及び生成された1つ以上の前記第2データセットを使用して、上記分類モデルの機械学習を実施するステップを実行する、情報処理方法である。
【0040】
また、例えば、本発明の一側面に係るモデル生成プログラムは、コンピュータに、上記訓練サンプル及び正解ラベルの組み合わせによりそれぞれ構成される複数の第1データセットを取得するステップ、取得された前記複数の第1データセットに含まれる複数の訓練サンプルを使用して、上記エンコーダ及びデコーダの機械学習を実施するステップ、訓練済みの前記エンコーダを使用して、前記複数の訓練サンプルのうちの2つ以上の訓練サンプルそれぞれを特徴量に変換することで、特徴空間上における、各訓練サンプルにそれぞれ対応する2つ以上のサンプル点を取得するステップ、前記特徴空間上において、取得された前記2つ以上のサンプル点の線形和であって、所定の指標に従って前記各サンプル点から算出される距離の合計が最大となる線形和を導出するステップ、訓練済みの前記デコーダを使用することにより、前記線形和の特徴量に対応する復号化サンプルを新たな訓練サンプルとして生成するステップ、生成された前記新たな訓練サンプルに含まれる特徴の属するクラスを示すように構成される新たな正解ラベルを前記新たな訓練サンプルに付与することで、第2データセットを生成するステップ、及び前記複数の第1データセット及び生成された1つ以上の前記第2データセットを使用して、上記分類モデルの機械学習を実施するステップを実行させるためのプログラムである。
【発明の効果】
【0041】
本発明によれば、網羅的に訓練サンプルを収集するのにかかるコストを低減することができる。また、それにより得られた訓練サンプルを機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上を図ることができる。
【図面の簡単な説明】
【0042】
図1図1は、本発明が適用される場面の一例を模式的に例示する。
図2図2は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。
図3図3は、実施の形態に係る分類装置のハードウェア構成の一例を模式的に例示する。
図4図4は、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。
図5A図5Aは、エンコーダ、デコーダ、及び分類モデルの機械学習の工程の一例を模式的に例示する。
図5B図5Bは、エンコーダ及びデコーダの機械学習の工程の一例を模式的に例示する。
図5C図5Cは、データ生成の工程の一例を模式的に例示する。
図5D図5Dは、データ生成の工程の一例を模式的に例示する。
図5E図5Eは、新たな訓練サンプルの出力形式の一例を模式的に例示する。
図6図6は、実施の形態に係る分類装置のソフトウェア構成の一例を模式的に例示する。
図7A図7Aは、実施の形態に係るモデル生成装置の処理手順の一例を示すフローチャートである。
図7B図7Bは、実施の形態に係るモデル生成装置の処理手順の一例を示すフローチャートである。
図8図8は、実施の形態に係る分類装置の処理手順の一例を示すフローチャートである。
図9図9は、本発明が適用される他の場面の一例を模式的に例示する。
図10図10は、本発明が適用される他の場面の一例を模式的に例示する。
図11図11は、本発明が適用される他の場面の一例を模式的に例示する。
図12図12は、他の形態に係るモデル生成装置の構成の一例を模式的に例示する。
図13図13は、他の形態に係る分類モデルの構成の一例を模式的に例示する。
図14図14は、他の形態に係る識別器の機械学習(敵対的学習)の工程の一例を模式的に例示する。
図15図15は、他の形態に係るデータ生成の工程の一例を模式的に例示する。
図16図16は、他の形態において、補正された線形和を得る最適化方法の一例を説明するための図である。
図17図17は、他の形態に係るデータ生成の工程の一例を模式的に例示する。
【発明を実施するための形態】
【0043】
以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
【0044】
§1 適用例
図1は、本発明を適用した場面の一例を模式的に例示する。図1に示されるとおり、本実施形態に係る分類システム100は、モデル生成装置1及び分類装置2を備えている。
【0045】
本実施形態に係るモデル生成装置1は、エンコーダ5及びデコーダ6の機械学習、訓練済みのエンコーダ5及びデコーダ6を使用した新たな訓練サンプル36の生成、及び分類モデル7の機械学習を実行するように構成されたコンピュータである。具体的に、本実施形態に係るモデル生成装置1は、複数の第1データセット30を取得する。各第1データセット30は、訓練サンプル31及び正解ラベル32の組み合わせにより構成される。訓練サンプル31は特徴を含む。正解ラベル32は、対応する訓練サンプル31に含まれる特徴の属するクラス(すなわち、特徴に対する分類タスクの正解)を示すように構成される。
【0046】
各訓練サンプル31は、分類タスクの対象になり得るものであれば、そのデータ種は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。各訓練サンプル31は、例えば、画像データ、音データ、数値データ、テキストデータ、その他センサにより得られるセンシングデータ等であってよい。一例では、各訓練サンプル31は、任意の対象をセンサにより観測することで得られるセンシングデータであってよい。センサは、例えば、画像センサ(カメラ)、赤外線センサ、音センサ(マイクロフォン)、超音波センサ、光センサ、圧力センサ、気圧センサ、温度センサ等であってよい。また、センサは、例えば、環境センサ、バイタルセンサ、医療検査装置、車載センサ、ホームセキュリティセンサ等であってよい。環境センサは、例えば、気圧計、温度計、湿度計、音圧計、音センサ、紫外線センサ、照度計、雨量計、ガスセンサ等であってよい。バイタルセンサは、例えば、血圧計、脈拍計、心拍計、心電計、筋電計、体温計、皮膚電気反応計、マイクロ波センサ、脳波計、脳磁計、活動量計、血糖値測定器、眼電位センサ、眼球運動計測器等であってよい。医療検査装置は、例えば、CT(Computed Tomography)装置、MRI(Magnetic Resonance Imaging)装置等であってよい。車載センサは、例えば、画像センサ、Lidar(light detection and ranging)センサ、ミリ波レーダ、超音波センサ、加速度センサ等であってよい。ホームセキュリティセンサは、例えば、画像センサ、赤外線センサ、活性度(音声)センサ、ガス(CO2等)センサ、電流センサ、スマートメータ(家電、照明等の電力使用量を計測するセンサ)等であってよい。
【0047】
分類タスクの内容は、実施の形態に応じて適宜決定されてよい。一例では、各訓練サンプル31は、対象物の写る画像サンプルであってよい。この場合、分類タスクは、対象物の種別を識別することであってよい。特徴のクラスは、画像サンプルに写る対象物の種別に関するものであってよい。正解ラベル32は、対応する訓練サンプル31に写る対象物の種別を示すように構成されてよい。他の一例では、各訓練サンプル31は、対象者(被検者)の状態が反映されたセンシングデータ(例えば、バイタルセンサにより得られたバイタルデータ、画像センサにより得られた画像データ等)のサンプルであってよい。この場合、分類タスクは、対象者の状態を識別すること(例えば、健康か否か、病気の予兆があるか否か、正常か否か等の状態を判別すること)であってよい。特徴のクラスは、対象者の状態の種別に関するものであってよい。正解ラベル32は、対応する訓練サンプル31に表れる対象者(被検者)の状態を示すように構成されてよい。
【0048】
本実施形態では、モデル生成装置1は、取得された複数の第1データセット30に含まれる複数の訓練サンプル31を使用して、エンコーダ5及びデコーダ6の機械学習を実施する。エンコーダ5は、入力されるサンプルを特徴量(すなわち、潜在表現)に変換するように構成される。デコーダ6は、特徴量からサンプルを復号化するように構成される。エンコーダ5及びデコーダ6の機械学習は、各訓練サンプル31をエンコーダ5により特徴量に変換し、得られた各特徴量からデコーダ6により復号化されるサンプルが各訓練サンプル31に適合するものとなるように、エンコーダ5及びデコーダ6を訓練することを含む。この機械学習の結果、訓練済みのエンコーダ5及びデコーダ6が生成される。訓練済みのエンコーダ5によれば、含まれる特徴に関する情報を維持したまま、各訓練サンプル31を特徴空間(潜在空間)に写像することができる。訓練済みのデコーダ6によれば、特徴空間の値(特徴量)からサンプルを復号化することができる。
【0049】
本実施形態では、モデル生成装置1は、訓練済みのエンコーダ5を使用して、複数の訓練サンプル31のうちの2つ以上の訓練サンプル31それぞれを特徴量に変換することで、特徴空間上において、2つ以上の訓練サンプル31それぞれにそれぞれ対応する2つ以上のサンプル点311を取得する。モデル生成装置1は、特徴空間上において、取得された2つ以上のサンプル点311の線形和であって、所定の指標に従って2つ以上のサンプル点311それぞれから算出される距離の合計が最大となる線形和312を導出する。モデル生成装置1は、訓練済みのデコーダ6を使用することにより、線形和312の特徴量に対応する復号化サンプル(すなわち、線形和312から復号化されたサンプル)を新たな訓練サンプル36として生成する。
【0050】
本実施形態では、モデル生成装置1は、生成された新たな訓練サンプル36に含まれる特徴の属するクラスを示すように構成される新たな正解ラベル37を当該新たな訓練サンプル36に付与する。これにより、モデル生成装置1は、新たな訓練サンプル36及び正解ラベル37の組み合わせにより構成される第2データセット35を生成する。なお、第1データセット30をオリジナルのデータセットと称し、第2データセット35を新規なデータセットと称してもよい。ただし、「オリジナル」及び「新規」は、上記機械学習により訓練済みのエンコーダ5及びデコーダ6を生成し、訓練済みのエンコーダ5及びデコーダ6を使用して、新たな訓練サンプル36を生成する1サイクルの処理における関係を示しているに過ぎない。複数の第1データセット30には、以前に生成された第2データセット35及び他の方法で生成されたデータセットの少なくともいずれかが含まれてよい。
【0051】
モデル生成装置1は、複数の第1データセット30及び1つ以上の第2データセット35を使用して、分類モデル7の機械学習を実施する。分類モデル7の機械学習は、各データセット(30、35)について、訓練サンプル(31、36)に含まれる特徴の属するクラスを分類モデル7により分類した結果が正解ラベル(32、37)に適合するものとなるように分類モデル7を訓練することを含む。当該機械学習の結果、訓練サンプル(32、37)と同種のデータサンプルに対して、含まれる特徴を分類するタスクを遂行する能力を獲得した訓練済みの分類モデル7を生成することができる。生成された訓練済みの分類モデル7は、任意のタイミングで分類装置2に提供されてよい。
【0052】
分類装置2は、訓練済みの分類モデル7を使用して、分類タスクを遂行するように構成されたコンピュータである。具体的に、本実施形態に係る分類装置2は、対象サンプル221を取得する。対象サンプル221は、訓練サンプル(31,36)と同種のデータである。分類装置2は、モデル生成装置1により生成された訓練済みの分類モデル7を備え、訓練済みの分類モデル7を使用することで、取得された対象サンプル221に含まれる特徴の属するクラスを分類する。分類装置2は、クラスを分類した結果に関する情報を出力する。なお、分類装置2は、分類タスクの種類により適宜読み替えられてよい(例えば、検査装置等)。
【0053】
以上のとおり、本実施形態に係るモデル生成装置1によれば、各サンプル点311からの距離の合計が最大となる線形和312を新たなサンプル点として得ることで、特徴空間において、万遍なくサンプル点(サンプル点311、線形和312)が存在する状態を形成することができる。よって、訓練済みのデコーダ6を使用して、線形和312の特徴量から復号化されるサンプル(訓練サンプル36)を含む新たなデータセット(第2データセット35)を学習データに追加することで、網羅性の高いと特徴空間上で評価可能な学習データを得ることができる。また、本実施形態に係るモデル生成装置1によれば、訓練済みのエンコーダ5及びデコーダ6を用いることで、このような新たな訓練サンプル(を含むデータセット)を生成する工程の少なくとも一部を自動化することができる。したがって、網羅的に訓練サンプルを収集するのにかかるコストの低減を図ることができる。更に、本実施形態に係るモデル生成装置1では、オリジナルのデータセット(第1データセット30)の他に、上記により生成された新たなデータセット(第2データセット35)を分類モデル7の機械学習に使用する。これにより、本実施形態に係るモデル生成装置1によれば、網羅的に得られた訓練サンプル(31、36)を分類モデル7の機械学習に使用することで、生成される訓練済みの分類モデル7の性能の向上を図ることができる。本実施形態に係る分類装置2では、このように生成された訓練済みの分類モデル7を使用することで、対象サンプル221に対する精度のよい分類タスクの遂行を期待することができる。
【0054】
なお、図1の例では、モデル生成装置1及び分類装置2は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、モデル生成装置1及び分類装置2の間でデータをやり取りする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、モデル生成装置1及び分類装置2の間では、記憶媒体を利用して、データがやり取りされてよい。
【0055】
また、図1の例では、モデル生成装置1及び分類装置2は、それぞれ別個のコンピュータにより構成されている。しかしながら、本実施形態に係る分類システム100の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。たとえば、モデル生成装置1及び分類装置2は一体のコンピュータであってもよい。また、例えば、モデル生成装置1及び分類装置2のうちの少なくとも一方は、複数台のコンピュータにより構成されてもよい。
【0056】
§2 構成例
[ハードウェア構成]
<モデル生成装置>
図2は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。図2に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図2では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
【0057】
制御部11は、ハードウェアプロセッサ(プロセッサリソース)であるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリ(メモリリソース)の一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、モデル生成プログラム81、複数の第1データセット30、1つ以上の第2データセット35、学習結果データ125等の各種情報を記憶する。
【0058】
モデル生成プログラム81は、エンコーダ5及びデコーダ6の機械学習、訓練済みのエンコーダ5及びデコーダ6を使用した新たな訓練サンプル36の生成、及び分類モデル7の機械学習に関する後述の情報処理(図7A及び図7B)をモデル生成装置1に実行させるためのプログラムである。モデル生成プログラム81は、当該情報処理の一例の命令を含む。なお、上記各情報処理の少なくともいずれかに関する部分は、別個のプログラムとして構成されてよい。この場合、エンコーダ5及びデコーダ6の機械学習に関するサブプログラム、並びに分類モデル7の機械学習に関するサブプログラムはそれぞれ、モデル生成プログラム、学習プログラム等と称されてよい。訓練済みのエンコーダ5及びデコーダ6を使用した新たな訓練サンプル36の生成に関するサブプログラムは、データ生成プログラムと称されてよい。
【0059】
複数の第1データセット30は、エンコーダ5及びデコーダ6、並びに分類モデル7の機械学習に使用される。なお、エンコーダ5及びデコーダ6の機械学習に使用される複数の第1データセット30と分類モデル7の機械学習に使用される複数の第1データセット30とは必ずしも完全に同一でなくてもよい。第2データセット35は、訓練済みのエンコーダ5及びデコーダ6を使用した新たな訓練サンプル36の生成に関する情報処理を実行した結果として生成される。第2データセット35は、分類モデル7の機械学習に使用される。学習結果データ125は、機械学習により生成された訓練済みの分類モデル7に関する情報を示す。本実施形態では、学習結果データ125は、モデル生成プログラム81を実行した結果として生成される。詳細は後述する。
【0060】
通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル生成装置1は、通信インタフェース13を利用して、他の情報処理装置との間で、ネットワークを介したデータ通信を実行することができる。外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は任意に選択されてよい。一例では、訓練サンプル31は、センサにより得られてよい。他の一例では、訓練サンプル31は、他のコンピュータにより生成されてよい。これらの場合、モデル生成装置1は、通信インタフェース13及び外部インタフェース14の少なくとも一方を介して、センサ又は他のコンピュータに接続されてよい。
【0061】
入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、モデル生成装置1を操作することができる。
【0062】
ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。上記モデル生成プログラム81、第1データセット30、及び第2データセット35の少なくともいずれかは、記憶媒体91に記憶されていてもよい。モデル生成装置1は、この記憶媒体91から、上記モデル生成プログラム81、第1データセット30、及び第2データセット35の少なくともいずれかを読み出してもよい。なお、図2では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限られなくてもよく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて任意に選択されてよい。
【0063】
なお、モデル生成装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。モデル生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。モデル生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
【0064】
<分類装置>
図3は、本実施形態に係る分類装置2のハードウェア構成の一例を模式的に例示する。図3に示されるとおり、本実施形態に係る分類装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
【0065】
分類装置2の制御部21~ドライブ27及び記憶媒体92はそれぞれ、上記モデル生成装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部22は、分類プログラム82、学習結果データ125等の各種情報を記憶する。
【0066】
分類プログラム82は、訓練済みの分類モデル7を使用して分類タスクを遂行する後述の情報処理(図8)を分類装置2に実行させるためのプログラムである。分類プログラム82は、当該情報処理の一連の命令を含む。分類プログラム82及び学習結果データ125の少なくともいずれかは、記憶媒体92に記憶されていてもよい。分類装置2は、分類プログラム82及び学習結果データ125の少なくともいずれかを記憶媒体92から読み出してもよい。
【0067】
上記訓練サンプル31と同様に、一例では、対象サンプル221は、センサにより得られてもよい。他の一例では、対象サンプル221は、他のコンピュータにより生成されてよい。これらの場合、分類装置2は、通信インタフェース23及び外部インタフェース24の少なくとも一方を介して、当該センサ又は他のコンピュータに接続されてよい。
【0068】
なお、分類装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。分類装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。分類装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、産業用PC、タブレットPC、端末装置(例えば、スマートフォン等)、PLC(programmable logic controller)等であってもよい。
【0069】
[ソフトウェア構成]
<モデル生成装置>
図4は、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、RAMに展開されたモデル生成プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図4に示されるとおり、本実施形態に係るモデル生成装置1は、データ取得部111、第1訓練処理部112、変換部113、点指定部114、サンプル生成部115、出力部116、ラベル付与部117、間引き部118、第2訓練処理部119、及び保存処理部1110をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
【0070】
データ取得部111は、訓練サンプル31及び正解ラベル32の組み合わせによりそれぞれ構成される複数の第1データセット30を取得するように構成される。訓練サンプル31は、特徴を含む。正解ラベル32は、対応する訓練サンプル31に含まれる特徴の属するクラスを示すように構成される。
【0071】
第1訓練処理部112は、取得された複数の第1データセット30に含まれる複数の訓練サンプル31を使用して、エンコーダ5及びデコーダ6の機械学習を実施するように構成される。エンコーダ5は、サンプルの入力を受け付け、入力されたサンプルを特徴量に変換するように構成される。デコーダ6は、特徴量の入力を受け付け、入力される特徴量からサンプルを復号化するように構成される。エンコーダ5及びデコーダ6の機械学習は、各訓練サンプル31をエンコーダ5により特徴量に変換し、得られた各特徴量からデコーダ6により復号化されるサンプルが各訓練サンプル31に適合するように、エンコーダ5及びデコーダ6を訓練することを含む。
【0072】
変換部113は、訓練済みのエンコーダ5を使用して、複数の訓練サンプル31のうちの2つ以上の訓練サンプル31それぞれを特徴量に変換することで、特徴空間上における、各訓練サンプル31にそれぞれ対応する2つ以上のサンプル点311を取得するように構成される。点指定部114は、特徴空間上において、取得された2つ以上のサンプル点311の線形和312であって、所定の指標に従って各サンプル点311から算出される距離の合計が最大となる線形和312を導出するように構成される。
【0073】
サンプル生成部115は、訓練済みのデコーダ6を使用することにより、線形和312の特徴量に対応する復号化サンプルを新たな訓練サンプル36として生成するように構成される。出力部116は、新たな訓練サンプル36を生成した後に、2つ以上の訓練サンプル31及び新たな訓練サンプル36を、特徴空間上における位置関係に応じて配置した上で出力するように構成される。ラベル付与部117は、生成された新たな訓練サンプル36に含まれる特徴の属するクラスを示すように構成される新たな正解ラベル37を当該新たな訓練サンプル36に付与することで、第2データセット35を生成するように構成される。
【0074】
間引き部118は、複数の第1データセット30及び生成された1つ以上の第2データセット35に含まれる各訓練サンプル(31、36)を訓練済みのエンコーダ5により特徴量に変換した時に、特徴空間上において、各訓練サンプル(31、36)に対応するサンプル点の密度が閾値を超えるか否かを判定し、かつ密度が閾値を超える場合に、1つ以上の第2データセット35から間引く対象を選択するように構成される。
【0075】
第2訓練処理部119は、複数の第1データセット30及び生成された1つ以上の第2データセット35を使用して、分類モデル7の機械学習を実施するように構成される。間引き部118により間引く対象が選択されている場合、第2訓練処理部119は、間引く対象に選択された第2データセット35を除いて、分類モデル7の機械学習を実施するように構成される。分類モデル7の機械学習は、各データセット(30、35)について、訓練サンプル(31、36)に含まれる特徴の属するクラスを分類モデル7により分類した結果が正解ラベル(32、37)に適合するように分類モデル7を訓練することを含む。保存処理部1110は、機械学習により生成された訓練済みの分類モデル7に関する情報を学習結果データ125として生成する。そして、保存処理部1110は、生成された学習結果データ125を所定の記憶領域に保存する。
【0076】
(機械学習の工程の一例)
図5Aは、エンコーダ5及びデコーダ6の機械学習、並びに分類モデル7の機械学習それぞれの訓練工程の一例を模式的に示す。図5Bは、エンコーダ5及びデコーダ6の機械学習の更なる訓練工程の一例を模式的に例示する。
【0077】
図5Aに示されるとおり、エンコーダ5及びデコーダ6の訓練には、訓練サンプル31が使用される。まず、第1訓練処理部112は、各訓練サンプル31をエンコーダ5に入力し、エンコーダ5の演算処理を実行する。このエンコーダ5の演算結果により、第1訓練処理部112は、各訓練サンプル31に対応する特徴量を取得する。続いて、第1訓練処理部112は、得られた各特徴量をデコーダ6に入力し、デコーダ6の演算処理を実行する。このデコーダ6の演算結果により、第1訓練処理部112は、各特徴量から復号化されたサンプルを取得する。そして、第1訓練処理部112は、復号化された各サンプルと対応する各訓練サンプル31との間の誤差(再構成誤差)を算出し、算出される誤差が小さくなるようにエンコーダ5及びデコーダ6のパラメータの値を調整する。これにより、各訓練サンプル31をエンコーダ5により特徴量に変換し、得られた各特徴量からデコーダ6により復号化されるサンプルが各訓練サンプル31に適合するものとなるようにエンコーダ5及びデコーダ6を訓練することができる。
【0078】
加えて、本実施形態では、エンコーダ5及びデコーダ6の機械学習において、図5Bに例示される敵対的学習が実施されてもよい。この場合、エンコーダ5及びデコーダ6に対応して推定器600が与えられてよい。推定器600は、2つのサンプルそれぞれに対応する特徴量を任意の内分比で合成することで得られる合成特徴量からデコーダ6により復号化サンプルを生成した場合に、復号化サンプルからその内分比を推定するように適宜構成されてよい。
【0079】
敵対的学習の処理の一例として、まず、第1訓練処理部112は、複数の第1データセット30から得られる訓練サンプル31のペア(組み合わせ)について、エンコーダ5を使用することで、各ペアを構成する2つの訓練サンプル(31_1、31_2)に対応する2つの特徴量を取得する。次に、第1訓練処理部112は、ペア毎に取得される2つの特徴量を所定の内分比(α:1-α)で合成することで、合成特徴量をペア毎に算出する。所定の内分比(αの値)は、ペア毎/訓練の反復毎に適宜決定又は変更されてよい。続いて、第1訓練処理部112は、デコーダ6を使用することで、算出された合成特徴量から復号化サンプルをペア毎に生成する。
【0080】
そして、第1訓練処理部112は、ペア毎に生成された復号化サンプルを推定器600に入力し、推定器600の演算処理を実行する。この推定器600の演算結果として、第1訓練処理部112は、復号化サンプルから内分比を推定した結果をペア毎に取得する。第1訓練処理部112は、得られた内分比の推定結果と対応する内分比の真値(α/1-α)との間の誤差(推定誤差)を算出し、算出される誤差が小さくなるように推定器600のパラメータの値を調整する。これにより、第1訓練処理部112は、各ペアについて、生成される復号化サンプルから内分比を推定器600により推定した結果が所定の内分比に適合するように推定器600を訓練する。
【0081】
また、第1訓練処理部112は、ペア毎に生成された復号化サンプルを推定器600に入力し、推定器600の演算処理を実行する。この推定器600の演算結果として、第1訓練処理部112は、復号化サンプルから内分比を推定した結果をペア毎に取得する。第1訓練処理部112は、得られた内分比の推定結果と対応する内分比の真値との間の誤差が大きくなるように、エンコーダ5及びデコーダ6のパラメータの値を調整する。一例では、第1訓練処理部112は、得られた内分比の推定結果と一定値(図5Bでは、0)との間の誤差を算出し、算出される誤差が小さくなるようにエンコーダ5及びデコーダ6のパラメータの値を調整する。これにより、第1訓練処理部112は、各ペアについて、内分比を推定する推定器600の性能を低下させるような復号化サンプルを生成する(すなわち、生成される復号化サンプルから内分比を推定する推定器600の性能を低下させる)ようにエンコーダ5及びデコーダ6を訓練する。
【0082】
一方、図5Aに示されるとおり、分類モデル7の訓練には、各データセット(30、35)が使用される。本実施形態では、分類モデル7は、エンコーダ5により得られる特徴量の入力を受け付け、入力された特徴量から特徴の属するクラスを分類した結果を出力するように構成される。すなわち、分類タスクの演算工程が、エンコーダ5の演算を含むように構成される。そのため、まず、第2訓練処理部119は、各データセット(30、35)に含まれる各訓練サンプル(31、36)をエンコーダ5に入力し、エンコーダ5の演算処理を実行する。このエンコーダ5の演算結果により、第2訓練処理部119は、各訓練サンプル(31、36)に対応する特徴量を取得する。続いて、第2訓練処理部119は、得られた各特徴量を分類モデル7に入力し、分類モデル7の演算結果を実行する。この分類モデル7の演算結果により、第2訓練処理部119は、各訓練サンプル(31、36)に含まれる特徴の属するクラスを分類した結果を取得する。そして、第2訓練処理部119は、得られた分類結果と対応する各正解ラベル(32、37)により示される真値(分類の正解)との間の誤差(分類誤差)を算出し、算出される誤差が小さくなるように分類モデル7のパラメータの値を調整する。これにより、各データセット(30、35)について、訓練サンプル(31、36)に含まれる特徴の属するクラスを分類モデル7により分類した結果が正解ラベル(32、37)に適合するものとなるように分類モデル7を訓練することができる。
【0083】
学習結果データ125は、分類タスクの演算を実行するための情報を含むように構成される。本実施形態では、上記のとおり、分類モデル7がエンコーダ5の演算結果を利用するように構成されることに応じて、保存処理部1110は、訓練済みのエンコーダ5及び訓練済みの分類モデル7を再生するための情報を学習結果データ125として生成する。なお、その他の訓練済みの機械学習モデル(本実施形態では、デコーダ6及び推定器600)に関する情報は、学習結果データ125に含まれてもよいし、或いは含まれなくてもよい。
【0084】
分類モデル7の機械学習の一部(具体的に、第1データセット30を使用する部分)は、エンコーダ5及びデコーダ6の機械学習と同時に実行されてよい。この場合、機械学習の処理において、上記分類誤差が小さくなるように、エンコーダ5のパラメータの値が調整されてもよい。当該構成によれば、エンコーダ5の訓練と共に、分類モデル7の訓練の少なくとも一部を行うことができるため、分類モデル7の機械学習の処理の効率化を図ることができる。
【0085】
ただし、分類モデル7の機械学習のタイミングは、このような例に限定されなくてよい。分類モデル7の機械学習は、エンコーダ5及びデコーダ6の機械学習とは別に実行されてもよい。また、分類モデル7の構成は、上記のような例に限定されなくてよい。他の一例では、分類タスクの演算工程は、エンコーダ5の演算を含まないように構成されてよい。具体例として、分類モデル7は、サンプルの入力を受け付け、入力されたサンプルから特徴の属するクラスを分類した結果を出力するように構成されてよい。この場合、訓練済みのエンコーダ5に関する情報は、学習結果データ125から省略されてよい。なお、分類モデル7の出力形式は、サンプルに含まれる特徴の属するクラスを分類した結果が特定可能であれば、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例では、分類モデル7は、入力されるサンプルに含まれる特徴を分類した結果として、当該サンプルに含まれる特徴が属する事後確率をクラス毎に出力するように構成されてよい。
【0086】
(新たな訓練サンプルを生成する工程の一例)
図5C及び図5Dは、新たな訓練サンプル36を生成する工程の一例を模式的に示す。図5Cに示されるとおり、まず、変換部113は、訓練済みのエンコーダ5を使用して、複数の訓練サンプル31のうちの2つ以上の訓練サンプル31それぞれを特徴量に変換する。これにより、変換部113は、特徴空間上における、各訓練サンプル31にそれぞれ対応する2つ以上のサンプル点311を取得する。
【0087】
なお、図5Cでは、3つのサンプル点311を取得した例を示しているが、取得するサンプル点311の数は、2つ以上であれば、3つに限定されなくてよく、実施の形態に応じて適宜決定されてよい。また、サンプル点311を取得する2つ以上の訓練サンプル31は、複数の訓練サンプル31の中から適宜選択されてよい。一例では、分類モデル7の分類精度を高めるため、異なるクラスの識別境界付近のサンプルの存在しない範囲で新たな訓練サンプル36を生成するのが好ましい。そのため、2つ以上の訓練サンプル31は、異なるクラスを示す正解ラベル32が関連付けられた訓練サンプル31を含むように選択されるのが好ましい。
【0088】
次に、点指定部114は、特徴空間上において、取得された2つ以上のサンプル点311の線形和312であって、所定の指標に従って各サンプル点311から算出される距離の合計が最大となる線形和312_1を導出する。本実施形態では、この直接的に導出された線形和312_1が新たな訓練サンプル36の生成に使用されてもよい。すなわち、サンプル生成部115は、導出された線形和312_1を訓練済みのデコーダ6に入力し、訓練済みのデコーダ6の演算処理を実行する。これにより、サンプル生成部115は、訓練済みのデコーダ6を使用することにより、線形和312_1に対応する復号化サンプルを新たな訓練サンプル36として生成してもよい。
【0089】
ここで、本実施形態では、分類モデル7は、入力されるサンプルに含まれる特徴が属する事後確率をクラス毎に出力するように構成されてよい。この場合に、分類モデル7の上記機械学習は、複数の第1データセット30を使用する第1機械学習、及び1つ以上の第2データセット35を使用する第2機械学習に分けて実施されてよい。第1機械学習は、第2機械学習に対しての事前学習と称されてよい。第2機械学習は、第1機械学習に対しての再学習又は追加学習と称されてよい。第2機械学習では、複数の第1データセット30のうちの少なくともいずれかが再度使用されてもよい。
【0090】
図5Cに示されるとおり、本実施形態では、点指定部114は、生成された暫定的な訓練済みの分類モデル7を使用して、復号化されるサンプルのエントロピーを評価し、このエントロピーが増大するように線形和312_1を補正してもよい。具体的に、点指定部114は、暫定的な訓練済みの分類モデル7を使用して、導出された線形和312_1の特徴量から訓練済みのデコーダ6により復号化されるサンプルに含まれる特徴が属する事後確率をクラス毎に算出する。本実施形態では、点指定部114は、導出された線形和312_1を暫定的な訓練済みの分類モデル7に入力し、暫定的な訓練済みの分類モデル7の演算処理を実行する。この演算処理により、点指定部114は、復号化されるサンプルに含まれる特徴が属する事後確率をクラス毎に算出した結果を得ることができる。次に、点指定部114は、算出されたクラス毎の事後確率から、復号化されるサンプルのエントロピーを算出する。
【0091】
エントロピーは、復号化されるサンプルに含まれる特徴を分類できるか否かの程度(換言すると、不確実性)を示す。不確実性が高いほど、そのサンプルに含まれる特徴の分類が困難、すなわち、暫定的な訓練済みの分類モデル7においてそのサンプルの機械学習が不十分であることを示す。点指定部114は、算出されたエントロピーの勾配に基づいて、エントロピーが増大するように、導出された線形和312_1を補正してもよい。この処理により、点指定部114は、補正された線形和312_2を取得してもよい。本実施形態では、新たな訓練サンプル36の生成には、この補正された線形和312_2が使用されてよい。すなわち、サンプル生成部115は、補正された線形和312_2を訓練済みのデコーダ6に入力し、訓練済みのデコーダ6の演算処理を実行してもよい。これにより、サンプル生成部115は、訓練済みのデコーダ6を使用することで、補正された線形和312_2に対応する復号化サンプルを新たな訓練サンプル36として生成してもよい。
【0092】
更に、図5Dに示されるとおり、上記敵対的学習が実行されたことに応じて、点指定部114は、取得された2つ以上のサンプル点311のうち、上記演算により導出された線形和312_2に近傍の2つのサンプル点(311_1、311_2)を抽出してもよい。そして、点指定部114は、特徴空間上において、抽出された2つのサンプル点(311_1、311_2)を結ぶ直線上に、導出された線形和312_2を投影することで、線形和312_2に対応する投影点313を取得してもよい。上記エントロピーによる補正を実行しない場合、点指定部114は、線形和312_1に近傍の2つのサンプル点(311_1、311_2)を抽出し、線形和312_1に対応する投影点313を取得してもよい。
【0093】
なお、2つのサンプル点(311_1、311_2)を抽出することは、対応する各訓練サンプル31に含まれる特徴の属するクラスが異なる2つのサンプル点を抽出することにより構成されてよい。すなわち、点指定部114は、関連付けられた正解ラベル32の示すクラスの真値が異なる訓練サンプル31由来の2つのサンプル点(311_1、311_2)を線形和312_2(又は線形和312_1)の近傍に存在するサンプル点311から抽出してもよい。
【0094】
本実施形態では、新たな訓練サンプル36の生成には、取得された投影点313が使用されてよい。すなわち、サンプル生成部115は、訓練済みのデコーダ6に投影点313の値を入力し、訓練済みのデコーダ6の演算処理を実行してもよい。これにより、サンプル生成部115は、訓練済みのデコーダ6を使用することで、投影点313の特徴量に対応する復号化サンプルを新たな訓練サンプル36として生成してもよい。
【0095】
(出力の一例)
図5Eは、新たな訓練サンプル36の出力形式の一例を模式的に例示する。上記演算により新たな訓練サンプル36を生成した後、出力部116は、特徴空間上での位置関係を保持した上で、2つ以上の訓練サンプル31及び新たな訓練サンプル36を出力する。これに応じて、ラベル付与部117は、2つ以上の訓練サンプル31及び新たな訓練サンプル36を出力部116により出力した後に、新たな訓練サンプル36に含まれる特徴の属するクラス(すなわち、新たな正解ラベル37)の指定を受け付け、かつ指定されたクラスを示すように構成された新たな正解ラベル37を新たな訓練サンプル36に付与する、ように構成されてよい。
【0096】
なお、図5Eの例では、3つの訓練サンプル31が表示されている。一例では、新たな訓練サンプル36の生成に使用された全ての訓練サンプル31が出力されてもよい。ただし、新たな訓練サンプル36の生成に使用された訓練サンプル31の数が多い場合、訓練サンプル31の出力により出力資源(例えば、ディスプレイの表示領域)の多くの部分が占められてしまい、新たな訓練サンプル36を出力する領域が限られてしまう可能性がある。そこで、他の一例では、出力部116は、新たな訓練サンプル36の生成に使用された訓練サンプル31のうち、特徴空間上で新たな訓練サンプル36に最も近傍する1つの訓練サンプル31を異なるクラス毎に選択し、選択された各クラスの訓練サンプル31のみを新たな訓練サンプル36と共に出力してもよい。これにより、出力資源の効率化を図ることができる。その結果、各クラスの訓練サンプル31と新たな訓練サンプル36とを比較する際に、各訓練サンプル(31、36)を見やすくすることができる。
【0097】
(各モデルの構成の一例)
本実施形態では、機械学習モデル(機械学習によりパラメータの値が調整されるモデル)として、エンコーダ5、デコーダ6、分類モデル7、及び推定器600が用いられる。エンコーダ5、デコーダ6、分類モデル7、及び推定器600それぞれの演算処理を実行可能であれば、それぞれを構成する機械学習モデルの種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。
【0098】
一例では、図5A及び図5Bに示されるとおり、エンコーダ5、デコーダ6、分類モデル7、及び推定器600それぞれを構成する機械学習モデルには、ニューラルネットワークが用いられてよい。図5A及び図5Bの例では、エンコーダ5、デコーダ6、分類モデル7、及び推定器600は、入力層(51、61、71、601)、1つ以上の中間(隠れ)層(52、62、72、602)、及び出力層(53、63、73、603)を備えている。中間層(52、62、72、602)の数は、実施の形態に応じて適宜選択されてよい。中間層(52、62、72、602)の数は、エンコーダ5、デコーダ6、分類モデル7、及び推定器600それぞれの間で異なっていてもよいし、或いは、それぞれのうちの少なくとも一部の間で同一であってもよい。中間層(52、62、72、602)は、省略されてもよい。エンコーダ5、デコーダ6、分類モデル7、及び推定器600を構成するニューラルネットワークの数は、実施の形態に応じて適宜決定されてよい。
【0099】
各層(51-53、61-63、71-73、601-603)は、1又は複数のノード(ニューロン)を備える。各層(51-53、61-63、71-73、601-603)に含まれるノードの数は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。各層(51-53、61-63、71-73、601-603)に含まれる各ノードは、隣接する層の全てのノードと結合されてよい。これにより、エンコーダ5、デコーダ6、分類モデル7、及び推定器600は、全結合型ニューラルネットワークにより構成されてよい。ただし、各ノードの結合関係は、このような例に限定されなくてよく、実施の形態に応じて適宜決定されてよい。例えば、各ノードは、隣接する層の特定のノードと接続されたり、隣接する層以外の層のノードと接続されたりしてもよい。
【0100】
各層(51-53、61-63、71-73、601-603)の各結合には、重み(結合荷重)が設定される。各ノードには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ノードの出力が決定される。閾値は、活性化関数により表現されてもよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ノードの出力が決定される。活性化関数の種類は任意に選択されてよい。各層(51-53、61-63、71-73、601-603)に含まれる各ノード間の結合の重み及び各ノードの閾値は、エンコーダ5、デコーダ6、分類モデル7、及び推定器600それぞれの演算処理に利用されるパラメータの一例である。
【0101】
各機械学習モデル(エンコーダ5、デコーダ6、分類モデル7、及び推定器600)がニューラルネットワークにより構成される場合、上記各機械学習モデルの演算処理は、順伝播の演算処理により構成される。すなわち、上記各機械学習モデルの演算処理では、各入力層(51、61、71、601)にデータを入力し、入力側から順に各層(51-53、61-63、71-73、601-603)に含まれるニューロンの発火判定等の演算処理を実行する。この順伝播の演算処理の結果、各機械学習モデルのタスクの遂行結果を出力層(53、63、73、603)から取得する。なお、本実施形態では、エンコーダ5及び推定器600に対する入力データはサンプルであり、デコーダ6及び分類モデル7に対する入力データは特徴量である。また、エンコーダ5のタスクは、サンプルを特徴量に変換することである。デコーダ6のタスクは、特徴量からサンプルを復号化することである。分類モデル7は、サンプルに含まれる特徴のクラスを分類することである。推定器600は、復号化サンプルの内分比を推定することである。上記各機械学習の処理では、誤差逆伝播法により、各誤差が小さくなるように、各機械学習モデルのパラメータの値が調整される。
【0102】
本実施形態では、保存処理部1110は、機械学習により生成された訓練済みのエンコーダ5及び分類モデル7を再生するための学習結果データ125を生成する。訓練済みのエンコーダ5及び分類モデル7を再生可能であれば、学習結果データ125の構成は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例では、学習結果データ125は、上記機械学習の調整により得られたエンコーダ5及び分類モデル7の各パラメータの値を示す情報を含んでよい。場合によって、学習結果データ125は、エンコーダ5及び分類モデル7の構造を示す情報を更に含んでもよい。構造は、例えば、ニューラルネットワークにおける入力層から出力層までの層の数、各層の種類、各層に含まれるノードの数、隣接する層のノード同士の結合関係等により特定されてよい。各機械学習モデルの構造が装置間で共通化される場合、エンコーダ5及び分類モデル7の構造を示す情報は省略されてよい。
【0103】
<分類装置>
図6は、本実施形態に係る分類装置2のソフトウェア構成の一例を模式的に例示する。分類装置2の制御部21は、記憶部22に記憶された分類プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された分類プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図6に示されるとおり、本実施形態に係る分類装置2は、取得部211、分類部212、及び出力部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、分類装置2の各ソフトウェアモジュールも、モデル生成装置1と同様に、制御部21(CPU)により実現される。
【0104】
取得部211は、対象サンプル221を取得するように構成される。分類部212は、学習結果データ125を保持することで、モデル生成装置1により生成された訓練済みの分類モデル7を備える。分類部212は、訓練済みの分類モデル7を使用することで、取得された対象サンプル221に含まれる特徴の属するクラスを分類するように構成される。本実施形態では、分類部212は、学習結果データ125を保持していることで、訓練済みのエンコーダ5及び分類モデル7を備えている。分類部212は、訓練済みのエンコーダ5及び分類モデル7を使用して、対象サンプル221に対する分類タスクを遂行するように構成される。出力部213は、クラスを分類した(すなわち、分類タスクを遂行した)結果に関する情報を出力するように構成される。
【0105】
<その他>
モデル生成装置1及び分類装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び分類装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、上記ソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサ(例えば、グラフィックスプロセッシングユニット)により実現されてもよい。上記各モジュールは、ハードウェアモジュールとして実現されてもよい。また、モデル生成装置1及び分類装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
【0106】
§3 動作例
[モデル生成装置]
図7A及び図7Bは、本実施形態に係るモデル生成装置1による機械学習及びデータ生成に関する処理手順の一例を示すフローチャートである。以下で説明するモデル生成装置1の処理手順は、モデル生成方法の一例である。ただし、以下で説明するモデル生成装置1の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
【0107】
(ステップS101)
ステップS101では、制御部11は、データ取得部111として動作し、訓練サンプル31及び正解ラベル32の組み合わせによりそれぞれ構成される複数の第1データセット30を取得する。
【0108】
各第1データセット30は、適宜生成されてよい。例えば、実空間又は仮想空間において分類タスクを遂行する環境を想定し、当該環境において任意の対象を観測することで、各訓練サンプル31を取得することができる。観測対象は、分類タスクに応じて適宜選択されてよい。各訓練サンプル31の取得には任意のセンサが用いられてよい。一例として、分類タスクが画像に写る対象物の種別を識別することである場合、対象物をカメラにより撮影することで、訓練サンプル31を取得することができる。次に、取得された各訓練サンプル31に対して分類タスクを遂行した結果、すなわち、各訓練サンプル31に含まれる特徴の属するクラスの正解(真値)を示す情報を正解ラベル32として取得する。この場面では、分類タスクの遂行は、オペレータ等の人手により行われてよい。そして、得られた正解ラベル32を対応する訓練サンプル31に関連付ける。これにより、各第1データセット30を生成することができる。
【0109】
各第1データセット30は、コンピュータの動作により自動的に生成されてもよいし、或いは少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、各第1データセット30の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。各第1データセット30をモデル生成装置1が生成する場合、制御部11は、自動的に又は入力装置15を介したオペレータの操作により手動的に上記一連の生成処理を実行することで、複数の第1データセット30を取得する。一方、各第1データセット30を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された複数の第1データセット30を取得する。一部の第1データセット30がモデル生成装置1により生成され、その他の第1データセット30が1又は複数の他のコンピュータにより生成されてもよい。
【0110】
取得する第1データセット30の件数は任意に選択されてよい。複数の第1データセット30を取得すると、制御部11は、次のステップS102に処理を進める。
【0111】
(ステップS102)
ステップS102では、制御部11は、第1訓練処理部112として動作し、取得された複数の第1データセット30に含まれる複数の訓練サンプル31を使用して、エンコーダ5及びデコーダ6の機械学習を実施する。エンコーダ5及びデコーダ6の機械学習には、ステップS101で取得された少なくとも一部の訓練サンプル31が使用される。
【0112】
機械学習の処理の一例として、まず、制御部11は、機械学習の処理対象となる機械学習モデルの初期設定を行う。本実施形態では、制御部11は、エンコーダ5、デコーダ6、及び推定器600の初期設定を行う。各機械学習モデルの構造及びパラメータの初期値は、テンプレートにより与えられてもよいし、或いはオペレータの入力により決定されてもよい。また、再学習又は追加学習を行う場合、制御部11は、過去の機械学習により得られた学習結果データに基づいて、各機械学習モデルの初期設定を行ってもよい。
【0113】
次に、制御部11は、各訓練サンプル31をエンコーダ5により特徴量に変換し、得られた各特徴量からデコーダ6により復号化されるサンプルが各訓練サンプル31に適合するものとなるようにエンコーダ5及びデコーダ6を訓練する。また、本実施形態では、制御部11は、敵対的学習として、デコーダ6により生成される復号化サンプルから合成特徴量における内分比を推定器600により推定した結果が所定の内分比に適合するものとなるように推定器600を訓練する。更に、制御部11は、生成される復号化サンプルから内分比を推定する推定器600の性能を低下させるようにエンコーダ5及びデコーダ6を訓練する。各訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【0114】
訓練処理の一例として、まず、制御部11は、各訓練サンプル31をエンコーダ5の入力層51に入力し、エンコーダ5の順伝播の演算処理を実行する。このエンコーダ5の順伝播の演算により、制御部11は、各訓練サンプル31を特徴量に変換した結果に対応する出力を出力層53から取得する。続いて、制御部11は、得られた各特徴量をデコーダ6の入力層61に入力し、デコーダ6の順伝播の演算処理を実行する。このデコーダ6の順伝播の演算処理により、制御部11は、各特徴量からサンプルを復号化した結果に対応する出力を出力層63から取得する。次に、制御部11は、得られた各復号化サンプルと対応する各訓練サンプル31との間の誤差(再構成誤差)を算出する。制御部11は、算出された誤差の勾配を更に算出し、誤差逆伝播法により、算出された誤差の勾配を逆伝播することで、エンコーダ5及びデコーダ6のパラメータの値の誤差を出力層63から順に算出する。そして、制御部11は、算出された各パラメータの誤差に基づいて、算出される誤差の和が小さくなるように、エンコーダ5及びデコーダ6の各パラメータの値を更新する。
【0115】
また、敵対的学習として、制御部11は、各ペアを構成する2つの訓練サンプル(31_1、31_2)それぞれをエンコーダ5の入力層51に入力し、エンコーダ5の順伝播の演算処理を実行する。この順伝播の演算処理により、制御部11は、各ペアを構成する2つの訓練サンプル(31_1、31_2)それぞれを特徴量に変換した結果に対応する出力を出力層53から取得する。なお、各ペアは、含まれる特徴の属するクラスが異なる(すなわち、正解ラベル32の示す真値が異なる)2つの訓練サンプル(31_1、31_2)により構成されるのが好ましい。ただし、ペアの構成は、このような例に限定されなくてよい。各ペアは、含まれる特徴の属するクラスが同じ2つの訓練サンプル(31_1、31_2)により構成されてもよい。また、ペアの作成は、訓練サンプル31の段階で行われてもよいし、或いは、特徴量の段階で行われてもよい。ペアの作成は、内分比で合成する前までの任意のタイミングで行われてよい。
【0116】
制御部11は、ペア毎に取得される2つの特徴量を所定の内分比(α:1-α)で合成することで、合成特徴量をペア毎に算出する。所定の内分比は、(αの値)は、ペア毎/訓練の反復毎に適宜決定又は変更されてよい。一例では、所定の内分比は、ランダム又は所定の規則に従って決定されてよい。他の一例では、所定の内分比は、オペレータの指定により決定されてよい。例えば、オペレータにより複数の内分比が指定され、指定された複数の内分比のうちのいずれかが所定の内分比として使用されてよい。制御部11は、デコーダ6の入力層61に合成特徴量を入力し、デコーダ6の順伝播の演算処理を実行する。この順伝播の演算処理により、制御部11は、各ペアの合成特徴量からサンプルを復号化した結果に対応する出力を出力層63から取得する。
【0117】
制御部11は、ペア毎に生成された復号化サンプルを推定器600の入力層601に入力し、推定器600の順伝播の演算処理を実行する。この順伝播の演算処理により、制御部11は、各ペアの復号化サンプルから内分比を推定した結果に対応する出力を出力層603から取得する。制御部11は、得られた内分比の推定結果と対応する所定の内分比の真値(α/1-α)との間の誤差(推定誤差)を算出する。制御部11は、算出された誤差の勾配を更に算出し、誤差逆伝播法により、算出された誤差の勾配を逆伝播することで、推定器600のパラメータの値の誤差を出力層603から順に算出する。そして、制御部11は、算出されたパラメータの誤差に基づいて、算出される誤差の和が小さくなるように、推定器600のパラメータの値を更新する。
【0118】
また、制御部11は、ペア毎に生成された復号化サンプルを推定器600の入力層601に入力し、推定器600の順伝播の演算処理を実行する。この順伝播の演算処理により、制御部11は、各ペアの復号化サンプルから内分比を推定した結果に対応する出力を出力層603から取得する。制御部11は、推定器600の推定精度が低下するように、得られた内分比の推定結果から誤差を算出する。一例では、制御部11は、得られた内分比の推定結果と一定値(図5Bでは、0)との間の誤差を算出する。制御部11は、算出された誤差の勾配を更に算出し、誤差逆伝播法により、推定器600を介して算出された誤差の勾配をエンコーダ5及びデコーダ6に逆伝播することで、エンコーダ5及びデコーダ6の値の誤差をデコーダ6の出力層63から順に算出する。そして、制御部11は、算出された各パラメータの誤差に基づいて、内分比の推定結果が真値から乖離するように(一定値との間の誤差を算出した場合、算出される誤差の和が小さくなるように)、エンコーダ5及びデコーダ6の各パラメータの値を更新する。その他の一例では、制御部11は、得られた内分比の推定結果と対応する所定の内分比の真値との間の誤差を算出してもよい。そして、制御部11は、誤差逆伝播法により、算出される誤差の和が増大するように、エンコーダ5及びデコーダ6の各パラメータの値を更新してもよい。
【0119】
上記再構成誤差、推定誤差、及び推定器600の性能を低下させるための誤差それぞれの算出には、損失関数が用いられてよい。損失関数は、各タスク、正解の形式等に応じて適宜設定されてよい。また、各パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、或いはプログラム内の規定値として与えられてもよい。制御部11は、例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、上記各一連の更新処理による各パラメータの値の調整を反復してよい。
【0120】
再構成誤差に基づくパラメータの調整により、エンコーダ5及びデコーダ6は、各訓練サンプル31をエンコーダ5により特徴量に変換し、得られた各特徴量から各訓練サンプル31に適合するサンプルをデコーダ6により復号化する能力を獲得するように訓練される。敵対的学習における推定器600のパラメータの調整により、推定器600は、エンコーダ5及びデコーダ6の能力に応じて、各ペアについて、生成される復号化サンプルから所定の内分比を推定する能力を獲得するように訓練される。また、敵対的学習におけるエンコーダ5及びデコーダ6のパラメータの調整により、エンコーダ5及びデコーダ6は、推定器600の能力に応じて、各ペアについて、内分比を推定する推定器600の性能を低下させるような(すなわち、推定器600により内分比を推定するのが困難な)復号化サンプルを生成する能力を獲得するように訓練される。
【0121】
敵対的学習における推定器600の訓練、並びにエンコーダ5及びデコーダ6の訓練は、交互に繰り返し実行されてよい。この場合、推定器600により内分比の推定結果を得る演算処理は、訓練毎に実行されてよい。2つの訓練サンプル31から復号化サンプルを生成する一連の処理は、各訓練間で別個に実行されてもよいし、或いは各訓練間で共通に実行されてもよい。上記復号化サンプルを生成する一連の処理は、訓練の反復毎に実行されてよい。推定器600の訓練では、エンコーダ5及びデコーダ6のパラメータの値は固定されてよく、エンコーダ5及びデコーダ6の訓練では、推定器600のパラメータの値は固定されてよい。
【0122】
或いは、デコーダ6及び推定器600の間には、勾配反転層(不図示)が設けられてよい。勾配反転層は、順伝播の演算の際は値をそのまま通過させ、逆伝播時には値を反転するように適宜構成されてよい。この場合、上記推定器600の訓練並びにエンコーダ5及びデコーダ6の訓練は、一度に実行されてよい。すなわち、各訓練の間で、2つの訓練サンプル31から内分比の推定結果を得るまでの演算処理は共通に実行されてよい。上記復号化サンプルを生成する一連の処理は、訓練の反復毎に実行されてよい。
【0123】
また、一例では、敵対的学習の訓練(図5B)は、再構成誤差に基づく訓練(図5A)と同時に実行されてよい。この場合、各ペアの特徴量を算出する演算処理は、再構成誤差に基づく訓練におけるエンコーダ5の演算処理と共通に実行されてよい。他の一例では、敵対的学習の訓練は、再構成誤差に基づく訓練とは別個に実行されてもよい。
【0124】
なお、エンコーダ5及びデコーダ6の機械学習は、上記各誤差に基づく訓練に限られなくてよい。一例では、制御部11は、上記各誤差に基づく更新処理の他に、エンコーダ5から得られる特徴量と所定の確率分布(例えば、ガウス分布等)から得られる値との誤差を算出し、算出される誤差の和が小さくなるようにエンコーダ5のパラメータの値を更に調整してもよい。これにより、制御部11は、エンコーダ5の出力値を正規化してもよい。
【0125】
上記機械学習の結果、制御部11は、訓練済みのエンコーダ5及びデコーダ6を生成することができる。機械学習の処理が完了すると、制御部11は、次のステップS103に処理を進める。
【0126】
(ステップS103)
ステップS103では、制御部11は、第2訓練処理部119として動作し、複数の第1データセット30を使用して、分類モデル7の機械学習を実施する。本ステップS103の機械学習は、分類モデル7の上記第1機械学習の一例である。なお、分類モデル7の機械学習に使用される複数の第1データセット30は、エンコーダ5及びデコーダ6の機械学習に使用される複数の第1データセット30(訓練サンプル31)と必ずしも同一でなくてよい。分類モデル7の機械学習に使用される第1データセット30の一部は、エンコーダ5及びデコーダ6の機械学習に使用されていなくてもよい。
【0127】
誤差の算出及び調整対象が異なる点を除き、分類モデル7の機械学習は、上記エンコーダ5及びデコーダ6の機械学習と同様に実行されてよい。一例として、まず、制御部11は、機械学習の処理対象となる分類モデル7の初期設定を行う。分類モデル7の構造及びパラメータの初期値は、テンプレートにより与えられてもよいし、或いはオペレータの入力により決定されてもよい。また、再学習又は追加学習を行う場合、制御部11は、過去の機械学習により得られた学習結果データに基づいて、分類モデル7の初期設定を行ってよい。
【0128】
次に、制御部11は、各第1データセット30について、訓練サンプル31をエンコーダ5により特徴量に変換し、得られた特徴量から分類モデル7により訓練サンプル31に含まれる特徴のクラスを分類した結果が対応する正解ラベル32により示される真値に適合するものとなるように分類モデル7を訓練する。当該訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
【0129】
訓練処理の一例として、まず、制御部11は、各第1データセット30に含まれる訓練サンプル31をエンコーダ5の入力層51に入力し、エンコーダ5の順伝播の演算処理を実行する。このエンコーダ5の順伝播の演算により、制御部11は、各訓練サンプル31を特徴量に変換した結果に対応する出力を出力層53から取得する。続いて、制御部11は、得られた各特徴量を分類モデル7の入力層71に入力し、分類モデル7の順伝播の演算処理を実行する。この分類モデル7の順伝播の演算処理により、制御部11は、各訓練サンプル31に含まれる特徴のクラスを分類した結果に対応する出力を出力層73から取得する。次に、制御部11は、制御部11は、得られた分類結果と対応する正解ラベル32により示される真値との間の誤差(分類誤差)を算出する。誤差の算出には、損失関数が用いられてよい。損失関数は、適宜設定されてよい。制御部11は、算出された誤差の勾配を更に算出し、誤差逆伝播法により、算出された誤差の勾配を逆伝播することで、分類モデル7のパラメータの値の誤差を出力層73から順に算出する。そして、制御部11は、算出されたパラメータの誤差に基づいて、分類モデル7のパラメータの値を更新する。パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、或いはプログラム内の規定値として与えられてもよい。
【0130】
制御部11は、上記一連の更新処理により、各第1データセット30について、算出される誤差の和が小さくなるように、分類モデル7のパラメータの値を調整する。制御部11は、例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、上記各一連の更新処理による各パラメータの値の調整を反復してよい。この機械学習の結果、使用した第1データセット30の範囲で、サンプルに含まれる特徴のクラスを分類する能力を獲得した訓練済みの分類モデル7を生成することができる。すなわち、制御部11は、暫定的な訓練済みの分類モデル7を生成することができる。機械学習の処理が完了すると、制御部11は、次のステップS104に処理を進める。
【0131】
なお、ステップS103による分類モデル7の機械学習の処理は、上記ステップS102によるエンコーダ5及びデコーダ6の機械学習の処理と同時に実行されてよい。この場合、各訓練サンプル31をエンコーダ5により特徴量に変換する処理は、上記ステップS102及びステップS103の機械学習の間で共通に実行されてよい。また、ステップS103の機械学習において、制御部11は、算出された誤差の勾配をエンコーダ5まで逆伝播し、エンコーダ5のパラメータの値の誤差を算出してもよい。そして、制御部11は、算出されたパラメータの誤差に基づいて、エンコーダ5のパラメータの値も更新してもよい。これにより、制御部11は、分類誤差に基づいて、分類モデル7と共に、エンコーダ5のパラメータの値を調整してもよい。
【0132】
(ステップS104-ステップS105)
ステップS104では、制御部11は、変換部113として動作し、上記機械学習により訓練済みのエンコーダ5を使用して、複数の訓練サンプル31のうちの2つ以上の訓練サンプル31それぞれを特徴量に変換する。本実施形態では、制御部11は、2つ以上の訓練サンプル31それぞれを訓練済みのエンコーダ5の入力層51に入力し、訓練済みのエンコーダ5の順伝播の演算処理を実行する。これにより、制御部11は、特徴空間上における、各訓練サンプル31にそれぞれ対応する2つ以上のサンプル点311を取得する。2つ以上のサンプル点311を取得すると、制御部11は、次のステップS105に処理を進める。
【0133】
なお、使用する2つ以上の訓練サンプル31は、複数の第1データセット30から適宜選択されてよい。2つ以上の訓練サンプル31の少なくとも一部は、含まれる特徴の属するクラスが異なるように選択されるのが好ましい。ただし、使用する訓練サンプル31の選択方法は、このような例に限られなくてよい。2つ以上の訓練サンプル31は、含まれる特徴の属するクラスが全て同じになるように選択されてもよい。
【0134】
ステップS105では、制御部11は、点指定部114として動作し、特徴空間上において、取得された2つ以上のサンプル点311の線形和312(312_1)であって、所定の指標に従って各サンプル点311から算出される距離の合計が最大となる線形和312(312_1)を導出する。線形和312_1(X)は、各サンプル点311(xi)から以下の式3-式5を満たすように算出されてよい。
【0135】
【数3】
【数4】
【数5】
なお、αiは、各サンプル点311(xi)の値に対する係数ベクトルを示す。
【0136】
また、所定の指標は、各サンプル点311から適度に離れ、特徴空間上でサンプル点が万遍なく存在する状態を形成するのに資する線形和312(312_1)のサンプル点を導出するように適宜設定されてよい。一例では、所定の指標は、上記式1及び式2のいずれかにより構成されてよい。式1を所定の指標に採用した場合、制御部11は、各サンプル点311の重心を線形和312_1として算出する。式2を所定の指標に採用した場合、制御部11は、各サンプル点311のボロノイ点を線形和312_1として算出する。線形和312(312_1)の導出が完了すると、制御部11は、次のステップS106に処理を進める。
【0137】
(ステップS106-ステップS108)
ステップS106では、制御部11は、点指定部114として動作し、暫定的な訓練済みの分類モデル7を使用して、導出された線形和312_1の特徴量から訓練済みのデコーダ6により復号化されるサンプルに含まれる特徴が属する事後確率をクラス毎に算出する。本実施形態では、制御部11は、暫定的な訓練済みの分類モデル7の入力層71に導出された線形和312_1を入力し、暫定的な訓練済みの分類モデル7の順伝播の演算処理を実行する。この順伝播の演算処理により、制御部11は、導出された線形和312_1から訓練済みのデコーダ6により復号化されるサンプルに含まれる特徴が属する事後確率をクラス毎に算出した結果(すなわち、分類した結果)に対応する出力を出力層73から取得する。事後確率の算出が完了すると、制御部11は、次のステップS107に処理を進める。
【0138】
ステップS107では、制御部11は、点指定部114として動作し、算出されたクラス毎の事後確率から、復号化されるサンプルのエントロピーを算出する。分類の不確実性を示す値を導出可能であれば、エントロピーを算出する方法は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例では、制御部11は、以下の式6に従ってエントロピーLを算出してもよい。
【0139】
【数6】
なお、pjは、暫定的な訓練済みの分類モデル7により算出されたクラスjの事後確率を示す。クラスの数及び種別との対応関係は、実施の形態に応じて適宜設定されてよい。エントロピーLの算出が完了すると、制御部11は、次のステップS108に処理を進める。
【0140】
ステップS108では、制御部11は、点指定部114として動作し、算出されたエントロピーLの勾配(∂L/∂αi)を更に算出する。制御部11は、算出されたエントロピーLの勾配(∂L/∂αi)に基づいて、エントロピーLが増大するように導出された線形和312_1を補正する。補正する量は、実施の形態に応じて適宜決定されてよい。一例では、線形和312_1の補正量は、エントロピーLの勾配の値及び補正率に比例してよい。補正率は、オペレータの指定により与えられてもよいし、或いはプログラム内の規定値として与えられてもよい。他の一例では、制御部11は、エントロピーLが最大化されるように、線形和312_1を補正してもよい。補正処理の結果、制御部11は、補正された線形和312_2を取得することができる。なお、制御部11は、上記式4及び式5の関係が補正後も成立するように、線形和312_2を導出してもよい。補正された線形和312_2を取得すると、制御部11は、次のステップS109に処理を進める。
【0141】
(ステップS109-ステップS110)
ステップS109では、制御部11は、点指定部114として動作し、取得された2つ以上のサンプル点311のうち、導出された線形和312(312_2)に近傍の2つのサンプル点(311_1、311_2)を抽出する。
【0142】
一例では、2つ以上の訓練サンプル31の少なくとも一部が、含まれる特徴の属するクラスが異なるように選択されている場合に、制御部11は、線形和312(312_2)に近傍の2つのサンプル点(311_1、311_2)として、対応する各訓練サンプル31に含まれる特徴の属するクラスが異なる2つのサンプル点311を抽出してもよい。他の一例では、制御部11は、対応する各訓練サンプル31に含まれる特徴の属するクラスが同じである2つのサンプル点311を抽出してもよい。
【0143】
また、近傍の2つのサンプル点(311_1、311_2)は、導出された線形和312(312_2)に最も近接する2つのサンプル点311により構成されてよい。或いは、近傍の2つのサンプル点(311_1、311_2)は、線形和312(312_2)から所定の距離により規定される近接の範囲に存在する任意の2つのサンプル点311により構成されてよい。所定の距離は、実施の形態に応じて適宜設定されてよい。
【0144】
2つのサンプル点(311_1、311_2)の抽出が完了すると、制御部11は、次のステップS110に処理を進める。
【0145】
ステップS110では、制御部11は、点指定部114として動作し、特徴空間上において、抽出された2つのサンプル点(311_1、311_2)を結ぶ直線上に、導出された線形和312(312_2)を投影することで、線形和312(312_2)に対応する投影点313を取得する。投影点313は、垂線の足である。すなわち、2つのサンプル点(311_1、311_2)を結ぶ直線に対して線形和312(312_2)から垂直線を延ばし、当該垂直線と直線との交点を求めることで、投影点313を算出することができる。このような投影点313を算出する方法には、公知の方法が採用されてよい。投影点313の算出が完了すると、制御部11は、次のステップS111に処理を進める。
【0146】
(ステップS111)
ステップS111では、制御部11は、訓練済みのデコーダ6を使用することにより、線形和312(投影点313の特徴量)に対応する復号化サンプルを新たな訓練サンプル36として生成する。本実施形態では、制御部11は、訓練済みのデコーダ6の入力層61に投影点313の値(特徴量)を入力し、訓練済みのデコーダ6の順伝播の演算処理を実行する。この順伝播の演算処理により、制御部11は、投影点313の特徴量からサンプルを復号化した結果に対応する出力を出力層63から取得する。これにより、復号化サンプルを新たな訓練サンプル36として生成することができる。新たな訓練サンプル36の生成が完了すると、制御部11は、次のステップS112に処理を進める。
【0147】
(ステップS112)
ステップS112では、制御部11は、出力部116として動作し、2つ以上の訓練サンプル31及び新たな訓練サンプル36を、特徴空間上における位置関係に応じて配置した上で出力する。
【0148】
各サンプル(31、36)の位置関係を提示可能であれば、出力形態及び出力先は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例では、出力先は、ディスプレイであってよい。このディスプレイは、出力装置16及び他のコンピュータの出力装置の少なくともいずれかであってよい。この場合、制御部11は、ディスプレイの表示領域において、特徴空間を座標空間で適宜表現し、特徴空間上での位置関係を座標に反映して各サンプル(31、36)を配置し、各サンプル(31、36)その座標の位置で描画してもよい。他の一例では、出力先は、印刷媒体(例えば、紙媒体等)であってよい。この場合、制御部11は、プリンタ(不図示)に対して、特徴空間上での位置関係を座標に反映して各サンプル(31、36)を配置し、各サンプル(31、36)その座標の位置で描画する印刷指令を出力してもよい。
【0149】
また、出力する訓練サンプル31は適宜選択されてよい。一例では、制御部11は、新たな訓練サンプル36の生成に使用された全ての訓練サンプル31を出力してもよい。他の一例では、新たな訓練サンプル36の生成に使用された訓練サンプル31の一部の出力は省略されてよい。例えば、制御部11は、新たな訓練サンプル36の生成に使用された訓練サンプル31のうち、特徴空間上で新たな訓練サンプル36に最も近傍する1つの訓練サンプル31を異なるクラス毎に選択してもよい。そして、制御部11は、選択された各クラスの訓練サンプル31のみを新たな訓練サンプル36と共に出力してもよい。この方法によれば、出力する訓練サンプル31を絞ることができるため、出力資源の効率化を図ることができる。その結果、各クラスの訓練サンプル31と新たな訓練サンプル36とを比較する際に、各訓練サンプル(31、36)を見やすくすることができ、これにより、訓練サンプル36に含まれる特徴の属するクラスの特定が容易になる。
【0150】
各サンプル(31、36)の出力が完了すると、制御部11は、次のステップS113に処理を進める。
【0151】
(ステップS113)
ステップS113では、制御部11は、ラベル付与部117として動作し、生成された新たな訓練サンプル36に含まれる特徴の属するクラスを示すように構成される新たな正解ラベル37を生成する。そして、制御部11は、生成された新たな正解ラベル37を当該新たな訓練サンプル36に付与する。これにより、制御部11は、第2データセット35を生成する。
【0152】
本実施形態では、オペレータは、ステップS112の出力により、新たな訓練サンプル36及び訓練サンプル31を目視により確認し、新たな訓練サンプル36に含まれる特徴の属するクラスを特定することができる。制御部11は、このステップS112の出力に応じて、新たな訓練サンプル36に含まれる特徴の属するクラスの指定を受け付けてもよい。クラスを指定する方法は、実施の形態に応じて適宜選択されてよい。一例では、クラスは、オペレータの入力装置15を介した操作により、直接的に指定されてよい。他の一例では、クラスは、リストから選択されてよい。更に他の一例では、クラスは、指定するクラスと同一クラスの訓練サンプルを出力された訓練サンプル31の中から選択することで指定されてよい。そして、制御部11は、指定されたクラスを示すように構成された新たな正解ラベル37を生成し、生成された新たな正解ラベル37を新たな訓練サンプル36に付与し(関連付け)てもよい。これにより、第2データセット35を生成することができる。
【0153】
本実施形態では、制御部11は、1サイクルのステップS104-ステップS113の処理により、1つ以上の第2データセット35を生成することができる。1サイクルで生成される第2データセット35の件数は、特に限定されなくてよく、実施の形態に応じて適宜設定されてよい。1つ以上の第2データセット35の生成が完了すると、制御部11は、次のステップS114に処理を進める。
【0154】
(ステップS114)
ステップS114では、制御部11は、ステップS102-ステップS113の一連の処理を繰り返すか否かを判定する。
【0155】
繰り返す基準は、実施の形態に応じて適宜設定されてよい。一例として、一連の処理を繰り返すか否かは、オペレータの指定により選択されてよい。この場合、制御部11は、オペレータの選択に応じて、一連の処理を繰り返すか否かを判定してもよい。他の一例として、繰り返しの回数が設定されてもよい。繰り返しの回数は、例えば、オペレータの指定、プログラム内の設定値等の任意の方法で与えられてよい。この場合、制御部11は、一連の処理を実行した回数が設定回数に到達したか否かに応じて、一連の処理を繰り返すか否かを判定してもよい。更にその他の一例として、生成する第2データセットの件数が設定されてもよい。第2データセットの設定件数は、例えば、オペレータの指定、プログラム内の設定値等の任意の方法で与えられてよい。この場合、制御部11は、一連の処理により生成された第2データセットの合計数が設定数に到達したか否かに応じて、一連の処理を繰り返すか否かを判定してもよい。
【0156】
一連の処理を繰り返さないと判定した場合、制御部11は、次のステップS115に処理を進める。一方、一連の処理を繰り返すと判定した場合、制御部11は、ステップS102に処理を戻し、一連の処理を繰り返し実行する。
【0157】
一連の処理を繰り返す場合、ステップS102では、制御部11は、生成された1つ以上の第2データセット35(訓練サンプル36)を使用して、エンコーダ5及びデコーダ6の機械学習を再度実施することで、訓練済みのエンコーダ5及びデコーダ6を更新してもよい。ステップS103では、制御部11は、生成された1つ以上の第2データセット35を使用して、分類モデル7の機械学習を再度実行することで、暫定的な訓練済みの分類モデル7を更新してもよい。それぞれの再度の機械学習(再訓練)は、生成された1つ以上の第2データセット35のみ使用して行われてもよいし、或いは生成された1つ以上の第2データセット35と共に複数の第1データセット30の少なくとも一部を使用して行われてよい。
【0158】
ステップS104では、制御部11は、更新された訓練済みのエンコーダ5を使用して、複数の第1データセット30及び1つ以上の第2データセット35に含まれる複数の訓練サンプル(31、36)のうちの2つ以上の訓練サンプルそれぞれに対応する2つ以上のサンプル点311を取得してよい。ステップS105では、制御部11は、取得された2つ以上のサンプル点311の線形和312(312_1)を導出してもよい。ステップS106では、制御部11は、更新された暫定的な訓練済みの分類モデル7を使用して、導出された線形和312_1から訓練済みのデコーダ6により復号化されるサンプルに含まれる特徴が属する事後確率をクラス毎に算出してよい。ステップS107-ステップS110の処理は、上記と同様に実行されてよい。ステップS111では、制御部11は、更新された訓練済みのデコーダ6を使用して、線形和312(投影点313の特徴量)に対応する復号化サンプルを新たな訓練サンプル36として生成してもよい。ステップS112では、制御部11は、複数の訓練サンプル(31、36)から選択された2つ以上の訓練サンプル及びこのサイクルで生成された新たな訓練サンプル36を、特徴空間上における位置関係に応じて配置した上で出力してもよい。ステップS113では、制御部11は、生成された新たな訓練サンプル36に新たな正解ラベル37を付与することで、新たな第2データセット35を生成してもよい。
【0159】
なお、繰り返しの形態は、このような例に限定されなくてよい。一連の処理を繰り返す場合に、ステップS102によるエンコーダ5及びデコーダ6の再訓練、並びにステップS103による分類モデル7の再訓練のうちの少なくとも一方は省略されてよい。両方の再訓練を省略する場合、制御部11は、ステップS104から処理の実行を繰り返してよい。この場合、2回目以降の処理では、1回目の処理で生成された訓練済みのエンコーダ5、訓練済みのデコーダ6、及び暫定的な訓練済みの分類モデル7が用いられてよい。
【0160】
(ステップS115-ステップS116)
ステップS115では、制御部11は、間引き部118として動作し、訓練済みのエンコーダ5を使用して、複数の第1データセット30及び生成された1つ以上の第2データセット35に含まれる各訓練サンプル(31、36)を特徴量に変換する。各訓練サンプル(31、36)を特徴量に変換する処理は、上記ステップS104と同様に実行されてよい。また、特徴量の変換結果の少なくとも一部には、上記ステップS104の演算結果が再利用されてよい。制御部11は、変換結果に基づいて、特徴空間上における、各訓練サンプル(31、36)に対応するサンプル点の密度を算出する。密度の算出が完了すると、制御部11は、次のステップS116に処理を進める。
【0161】
ステップS116では、制御部11は、ステップS115の処理による密度の算出結果に応じて、処理の分岐先を決定する。密度が閾値を超える場合、制御部11は、次のステップS117に処理を進める。一方、密度が閾値未満である場合、制御部11は、ステップS117の処理を省略し、次のステップS118に処理を進める。密度が閾値に等しい場合には、処理の分岐先は、いずれであってもよい。
【0162】
なお、ステップS115の処理による密度の算出方法は、任意の範囲に含まれるサンプル点の数を評価可能であれば、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例では、制御部11は、ステップS115において、特徴空間上で、新たな訓練サンプル36に対応するサンプル点を少なくとも1つ含む所定サイズの領域内でサンプル点の数をカウントすることにより密度を算出してもよい。ステップS116では、制御部11は、カウントされたサンプル点の数が閾値を超えるか否かを判定してもよい。
【0163】
他の一例では、制御部11は、ステップS115において、特徴空間上で、訓練済みのエンコーダ5を使用して得られたサンプル点から任意の2つのサンプル点であって、少なくとも一方が新たな訓練サンプル36に対応するサンプル点である、任意の2つのサンプル点を抽出してもよい。そして、制御部11は、以下の式7及び式8により、抽出された2つのサンプル点の間の距離D及び交差エントロピーHを密度の評価指標として算出してもよい。
【0164】
【数7】
【数8】
なお、x1及びx2は、2つのサンプル点それぞれの値(特徴量)を示す。p1j及びp2jは、2つのサンプル点それぞれの値から訓練済みのデコーダ6により復号化されるサンプルに含まれる特徴がクラスjに属する事後確率を示す。事後確率(p1j、p2j)は、上記ステップS106と同様に、暫定的な訓練済みの分類モデル7を使用して算出されてよい。
【0165】
この場合、ステップS116では、制御部11は、算出された距離Dが第1閾値未満であり、かつ交差エントロピーHが第2閾値未満であるときに密度が閾値を超えていると判定してもよい。一方、制御部11は、算出された距離Dが第1閾値を超えている又は交差エントロピーHが第2閾値を超えているときに密度が閾値未満であると判定してもよい。上記のとおり、各指標が各閾値と等しい場合、処理の分岐先は、いずれであってもよい。この評価方法によれば、距離D及び交差エントロピーHを指標に密な領域で第2データセット35を排除することができる。
【0166】
(ステップS117)
ステップS117では、制御部11は、間引き部118として動作し、密度が閾値を超えると判定された対象から間引く対象を選択する。ここで、第2データセット35の訓練サンプル36は、訓練済みのデコーダ6により生成された疑似サンプルである。そのため、間引く対象は、第2データセット35から選択されるのが好ましい。すなわち、制御部11は、密度が閾値を超えると判定された範囲内で、生成された1つ以上の第2データセット35から間引く対象を選択するのが好ましい。
【0167】
間引く対象となる第2データセット35は、任意に選択されてよい。上記所定サイズの領域内で密度を算出した場合、制御部11は、当該領域内に存在する第2データセット35から任意に間引く対象を選択してよい。上記2つのサンプル点間の距離D及び交差エントロピーHを密度の評価指標として算出した場合、制御部11は、2つのサンプル点に対応する2つのデータセットのうちの第2データセット35を間引く対象に選択してよい。対応する2つのデータセットが共に第2データセット35であるときには、制御部11は、2つの第2データセット35のいずれか一方を間引く対象に選択してよい。
【0168】
ただし、間引く対象は、第2データセット35に限られなくてよい。本ステップS117では、制御部11は、第1データセット30を間引く対象に選択してもよい。この場合、上記ステップS115では、制御部11は、新たな訓練サンプル36を含まない対象の密度を算出してよい。また、間引く対象は、密度が閾値未満になるように適宜選択されてよい。間引く対象を選択すると、制御部11は、次のステップS118に処理を進める。
【0169】
(ステップS118)
ステップS118では、制御部11は、第2訓練処理部119として動作し、生成された1つ以上の第2データセット35を使用して、分類モデル7の機械学習を実施する。本ステップS118の機械学習は、分類モデル7の上記第2機械学習の一例である。
【0170】
本ステップS118の機械学習は、最終的に生成された1つ以上の第2データセット35のみ使用して行われてもよいし、或いは最終的に生成された1つ以上の第2データセット35と共に複数の第1データセット30の少なくとも一部を使用して行われてよい。また、制御部11は、本ステップS118の機械学習として、暫定的な訓練済みの分類モデル7の再訓練を実行してもよい。或いは、制御部11は、本ステップS118の機械学習として、初期化された分類モデル7を新たに訓練してもよい。初期化された分類モデル7を新たに訓練する場合、制御部11は、最終的に生成された1つ以上の第2データセット35と共に複数の第1データセット30の少なくとも一部を本ステップS118の機械学習に使用する。
【0171】
ステップS117の処理により間引く対象が選択されている場合、制御部11は、間引く対象に選択された第2データセット35を除いて、分類モデル7の機械学習を実行する。最終的に生成された第2データセット35が機械学習に使用する学習データとして含まれている点を除き、ステップS118の機械学習の処理は、上記ステップS103と同様であってよい。この機械学習の結果、訓練済みの分類モデル7を生成することができる。訓練済みの分類モデル7の生成が完了すると、制御部11は、次のステップS119に処理を進める。
【0172】
(ステップS119)
ステップS119では、制御部11は、保存処理部1110として動作し、機械学習により生成された訓練済みの分類モデル7に関する情報を学習結果データ125として生成する。本実施形態では、制御部11は、ステップS102の処理で生成された訓練済みのエンコーダ5及びステップS118までの処理で生成された分類モデル7に関する情報を学習結果データ125として生成する。そして、制御部11は、生成された学習結果データ125を所定の記憶領域に保存する。
【0173】
所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに学習結果データ125を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに学習結果データ125を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース14を介してモデル生成装置1に接続された外付けの記憶装置であってもよい。なお、訓練済みのエンコーダ5に関する情報及び訓練済みの分類モデル7に関する情報は、別々のファイルに保存されてよい。各ファイルは、異なる記憶先に保存されてよい。
【0174】
学習結果データ125の保存が完了すると、制御部11は、本動作例に係るモデル生成装置1の処理手順を終了する。
【0175】
なお、生成された学習結果データ125は、任意のタイミングで分類装置2に提供されてよい。例えば、制御部11は、ステップS103の処理として又はステップS103の処理とは別に、学習結果データ125を分類装置2に転送してもよい。分類装置2は、この転送を受信することで、学習結果データ125を取得してもよい。また、例えば、分類装置2は、通信インタフェース23を利用して、モデル生成装置1又はデータサーバにネットワークを介してアクセスすることで、学習結果データ125を取得してもよい。また、例えば、分類装置2は、記憶媒体92を介して、学習結果データ125を取得してもよい。また、例えば、学習結果データ125は、分類装置2に予め組み込まれてもよい。
【0176】
更に、制御部11は、上記ステップS101-ステップS119の処理を定期又は不定期に繰り返すことで、学習結果データ125を更新又は新たに生成してもよい。この繰り返しの際に、機械学習に使用する各データセット(30、35)の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した学習結果データ125を任意の方法で分類装置2に提供することで、分類装置2の保持する学習結果データ125を更新してもよい。
【0177】
[分類装置]
図8は、本実施形態に係る分類装置2による分類タスクの遂行に関する処理手順の一例を示すフローチャートである。以下で説明する分類装置2の処理手順は、分類方法の一例である。ただし、以下で説明する分類装置2の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
【0178】
(ステップS201)
ステップS201では、制御部21は、取得部211として動作し、対象サンプル221を取得する。対象サンプル221は、分類タスクの遂行対象となる所定種類のデータのサンプルである。対象サンプル221を取得する方法は、データの種類に応じて適宜決定されてよい。一例として、対象をセンサ(例えば、カメラ)により観測することで、対象サンプル221が生成されてよい。また、対象サンプル221を取得する経路は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例では、制御部21は、センサ等の装置から対象サンプル221を直接的に取得してもよい。他の一例では、制御部21は、他のコンピュータ、記憶媒体92等を介して、対象サンプル221を間接的に取得してもよい。対象サンプル221には任意の前処理が適用されてもよい。対象サンプル221を取得すると、制御部21は、次のステップS202に処理を進める。
【0179】
(ステップS202)
ステップS202では、制御部21は、分類部212として動作する。本実施形態では、制御部21は、学習結果データ125を参照して、訓練済みのエンコーダ5及び分類モデル7の設定を行う。そして、制御部21は、訓練済みのエンコーダ5及び分類モデル7を使用して、対象サンプル221に含まれる特徴の属するクラスを分類する。具体的には、制御部21は、訓練済みのエンコーダ5の入力層51に対象サンプル221を入力し、訓練済みのエンコーダ5及び分類モデル7の順伝播の演算処理を実行する。この演算処理の結果として、制御部21は、対象サンプル221に含まれる特徴の属するクラスを分類した結果に対応する出力を訓練済みの分類モデル7の出力層73から取得する。クラスの分類結果は、分類モデル7の出力形式に応じて適宜得られてよい。本実施形態では、制御部21は、算出される事後確率が最も高いクラスを抽出することで、対象サンプル221に対するクラスの分類結果を得ることができる。分類処理が完了すると、制御部21は、次のステップS203に処理を進める。
【0180】
(ステップS203)
ステップS203では、制御部21は、出力部213として動作し、クラスを分類した結果に関する情報を出力する。
【0181】
出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、ステップS202により得られた分類結果をそのまま出力装置26に出力してもよい。また、制御部21は、得られた分類結果に基づいて、任意の情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を、分類結果に関する情報として出力してもよい。この情報処理を実行した結果の出力には、分類結果に応じて制御対象装置の動作を制御すること等が含まれてよい。出力先は、例えば、出力装置26、他のコンピュータの出力装置、制御対象装置等であってよい。
【0182】
分類結果に関する情報の出力が完了すると、制御部21は、本動作例に係る分類装置2の処理手順を終了する。なお、制御部21は、ステップS201-ステップS203の一連の情報処理を継続的に繰り返し実行してもよい。繰り返すタイミングは、実施の形態に応じて適宜決定されてよい。これにより、分類装置2は、上記分類タスクを継続的に繰り返し遂行するように構成されてよい。
【0183】
[特徴]
以上のとおり、本実施形態によれば、モデル生成装置1において、ステップS105の処理により、各サンプル点311からの距離の合計が最大となる線形和312を新たなサンプル点として得ることで、特徴空間において、万遍なくサンプル点(サンプル点311、線形和312)が存在する状態を形成することができる。よって、ステップS111及びステップS113の処理により、訓練済みのデコーダ6を使用して、線形和312の特徴量から復号化されるサンプル(訓練サンプル36)を含む新たなデータセット(第2データセット35)を学習データに追加することで、網羅性の高いと特徴空間上で評価可能な学習データを得ることができる。また、本実施形態によれば、ステップS104-ステップS113の一連の処理により、訓練済みのエンコーダ5及びデコーダ6を用いることで、このような新たな訓練サンプル(を含むデータセット)を生成する工程の少なくとも一部を自動化することができる。したがって、網羅的に訓練サンプルを収集するのにかかるコストの低減を図ることができる。更に、本実施形態では、ステップS103及びステップS118の処理において、オリジナルのデータセット(第1データセット30)の他に、上記により生成された新たなデータセット(第2データセット35)を分類モデル7の機械学習に使用する。これにより、網羅的に得られた訓練サンプル(31、36)を分類モデル7の機械学習に使用することで、生成される訓練済みの分類モデル7の性能の向上を図ることができる。
【0184】
また、本実施形態では、ステップS103の処理において、線形和312(312_1)を算出する方法として、上記式1又は式2の算出方法が採用されてよい。これらの算出方法によれば、各サンプル点311の内側の領域で、各サンプル点311からの距離の合計が最大となる線形和312(312_1)を導出することできる。これにより、適切な線形和312(312_1)を得て、特徴空間上でサンプル点が疎である領域にサンプル点を追加することができる。また、この操作を繰り返すことで、万遍なくサンプル点が存在する状態を形成することができる。したがって、網羅的な訓練サンプルを適切に収集することができる。また、ステップS103及びステップS118の処理において、網羅的に得られた訓練サンプル(31、36)を機械学習に使用することで、生成される訓練済みの分類モデルの性能の向上を図ることができる。
【0185】
また、本実施形態では、ステップS103の処理により、暫定的な訓練済みの分類モデル7が生成される。ステップS106-ステップS108の処理により、暫定的な訓練済みの分類モデル7を使用して、エントロピーが増大するように、導出された線形和312_1が補正される。そして、ステップS111の処理により、訓練済みのデコーダ6を使用して、補正された線形和312_2に由来する特徴量から復号化されたサンプルを新たな訓練サンプル36として生成する。エントロピーは、分類できるか否かの不確実性を示すように算出されるため、上記のようにエントロピーに基づく補正を行うことにより、暫定的な訓練済みの分類モデル7において機械学習が不十分な訓練サンプルを生成することができる。そのため、ステップS118の処理において(反復時に訓練サンプル36を使用する場合は、ステップS103の処理においても)、得られた新たな訓練サンプル36を使用することで、生成される訓練済みの分類モデル7の性能の向上の期待性を高めることができる。
【0186】
また、本実施形態では、ステップS102の処理において、エンコーダ5及びデコーダ6と推定器600との間で敵対的学習が実施される。推定器600の訓練によれば、エンコーダ5及びデコーダ6の能力に応じて、内分比を見分ける能力を獲得する(すなわち、内分比を見分ける精度が向上する)。一方、エンコーダ5及びデコーダ6の訓練によれば、推定器600の能力に応じて、内分比の推定が困難な復号化サンプルを生成する能力を獲得する。敵対的学習により、内分比を見分ける推定器600の能力が向上するほど、その内分比を推定され難いサンプルを生成するエンコーダ5及びデコーダ6の能力が向上する。つまり、各サンプル点の間の点について、内分比を特定し易いような真のデータから乖離したサンプルが復号化されるのを抑制することができる。したがって、本実施形態によれば、真のデータ(訓練サンプル31)に類似する復号化サンプルを線形和312から生成する能力を獲得した訓練済みのエンコーダ5及びデコーダ6を生成することができる。これにより、ステップS111の処理において、真のデータから極めて乖離した訓練サンプル36が生成されるのを抑制することができる。その結果、分類モデル7の機械学習において、得られた新たな訓練サンプル36を使用することで、生成される訓練済みの分類モデル7の性能の向上の期待性を高めることができる。
【0187】
また、本実施形態では、ステップS109及びステップS110により、2つのサンプル点(311_1、311_2)の内分比(投影点313)に線形和312(312_2)を変換することで、上記敵対的学習の訓練範囲又はその近傍の値に線形和312(312_2)を補正することができる。これにより、ステップS111の処理において、真のデータから極めて乖離した訓練サンプル36が学習データに追加されるのを抑制することの確実性を高めることができる。その結果、分類モデル7の機械学習において、得られた新たな訓練サンプル36を使用することで、生成される訓練済みの分類モデル7の性能の向上の期待性を更に高めることができる。
【0188】
更に、本実施形態では、ステップS109の処理において、クラスの異なる2つのサンプル点311を2つのサンプル点(311_1、311_2)として抽出してよい。これにより、ステップS111の処理において、各サンプル点311よりクラスの識別境界に近い範囲で、真のデータに類似する復号化サンプルを新たな訓練サンプル36として生成することができる。その結果、分類モデル7の機械学習において、得られた新たな訓練サンプル36を使用することで、生成される訓練済みの分類モデル7の性能の向上の期待性を更に高めることができる。
【0189】
また、本実施形態では、ステップS112の処理により得られた出力結果に基づいて、新たな訓練サンプル36が学習データに追加してよいものか否かを確認することができる。これにより、真のデータから極めて乖離した訓練サンプル36が学習データに追加されるのを防止することができる。また、出力結果に基づいて、生成に使用された訓練サンプルとの特徴空間上での位置関係に応じて、新たな訓練サンプル36に含まれる特徴の属するクラスを確認することができる。更に、ステップS113の処理において、特徴空間上の位置関係に応じて新たな訓練サンプル36のクラスを確認しながら、当該クラスの指定を受け付けるようにすることで、適切なクラスを示す新たな正解ラベル37が新たな訓練サンプル36に付与することができる。これにより、誤った正解ラベル37が新たな訓練サンプル36に付与されるのを防止することができる。これらの結果、分類モデル7の機械学習において、得られた新たな訓練サンプル36を適切に使用することができ、生成される訓練済みの分類モデル7の性能の向上の期待性を高めることができる。
【0190】
また、空間上で近傍の範囲に訓練サンプル(31、36)が過剰に存在する場合、その訓練サンプル(31、36)の一部は、分類モデル7の性能向上にあまり貢献しない可能性がある。本実施形態では、ステップS115-ステップS117の処理により、特徴空間上で、訓練サンプル(31、36)の過剰状態を見つけ出し、過剰な訓練サンプルの一部を間引くことができる。これにより、分類モデル7の機械学習に使用されるデータセット(30、35)の件数を抑えることができ、生成される訓練済みの分類モデル7の性能の低下を抑制しつつ、機械学習の計算量を低減し、機械学習にかかる計算資源(プロセッサ、メモリ)の効率化を図ることができる。
【0191】
また、本実施形態では、ステップS114の処理により、ステップS102-ステップS113の処理を繰り返し実行してよい。新たな訓練サンプル36が追加され、追加された新たな訓練サンプル36を更に使用して、エンコーダ5及びデコーダ6の機械学習を実施すると、訓練済みのエンコーダ5により写像される特徴空間は変更され得る。本実施形態によれば、ステップS102によるエンコーダ5及びデコーダ6の機械学習、並びにステップS104-ステップS111による新たな訓練サンプル36の生成を繰り返すことで、新たな訓練サンプル36を追加しながら、エンコーダ5を更新して、万遍なくサンプル点が存在する状態を形成することができる。これにより、網羅的な訓練サンプル(31、36)をより適切に収集することができる。分類モデル7の機械学習に、網羅的に得られた訓練サンプル(31、36)を使用することで、生成される訓練済みの分類モデル7の性能の向上の期待性を高めることができる。
【0192】
本実施形態では、分類装置2において、以上により生成された訓練済みのエンコーダ5及び分類モデル7を使用することで、精度のよい分類タスクの遂行を期待することができる。
【0193】
§4 変形例
以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
【0194】
<4.1>
上記実施形態に係る分類システム100は、所定種類のデータに対して任意の分類タスクを遂行するあらゆる場面に適用されてよい。分類タスクは、例えば、画像データに写る対象物の種別を識別すること、画像データに写る製品に欠陥があるか否かを判定すること、センシングデータに表れる対象物の状態を分類すること等であってよい。訓練サンプル31及び対象サンプル221のデータ種は、分類タスクに応じて適宜選択されてよい。以下、適用場面を限定した変形例を例示する。
【0195】
(A)画像識別の場面
図9は、第1変形例に係る分類システム100Aの適用場面の一例を模式的に例示する。本変形例は、画像サンプルに写る対象物を識別する場面に上記実施形態を適用した例である。本変形例に係る分類システム100Aは、上記分類システム100の一例であり、モデル生成装置1及び分類装置2Aを備えている。上記実施形態と同様に、モデル生成装置1及び分類装置2Aは、ネットワークを介して互いに接続されてよい。
【0196】
本変形例において取り扱われる所定種類のデータ(訓練サンプル31及び対象サンプル221A)は、対象物RAの写る画像サンプル(画像データ)である。画像サンプルは、カメラSAで対象物RAを撮影することで得られてよい。分類タスクは、画像サンプルに写る対象物RAの種別を識別することである。対象物RAの種別を識別することは、セグメンテーション(対象の写る範囲を抽出すること)を含んでよい。対象物RAは、人物であってもよいし、任意の物であってもよい。画像サンプルに写る範囲は、対象物RAの特定部位(例えば、顔等)であってもよいし、或いは対象物RAの全体であってもよい。対象物RAが人物である場合、識別対象は、例えば、顔等の身体の一部であってもよい。人物の種別を識別することは、例えば、個人を推定することであってもよいし、或いは身体部位(顔、腕、脚、関節等)を推定することであってもよい。任意の物についても同様である。これらの限定を除き、本変形例に係る分類システム100Aは、上記実施形態に係る分類システム100と同様に構成されてよい。
【0197】
(モデル生成装置)
本変形例では、モデル生成装置1は、上記ステップS101において、訓練サンプル31及び正解ラベル32の組み合わせによりそれぞれ構成される複数の第1データセット30を取得する。訓練サンプル31は、対象物RAの写る画像サンプルにより構成される。正解ラベル32は、訓練サンプル31に写る対象物RAの種別(正解)を示すように構成される。モデル生成装置1は、上記ステップS102の処理により、複数の訓練サンプル31を使用して、エンコーダ5及びデコーダ6の機械学習を実施する。モデル生成装置1は、上記ステップS103の処理により、複数の第1データセット30を使用して、分類モデル7の機械学習を実施する。
【0198】
モデル生成装置1は、上記ステップS104-ステップS113の処理により、新たな訓練サンプル36及び新たな正解ラベル37の組み合わせによりそれぞれ構成される1つ以上の第2データセット35を生成する。新たな訓練サンプル36は、対象物RAの写る画像サンプルにより構成される。新たな正解ラベル37は、対応する新たな訓練サンプル36に写る対象物RAの種別(正解)を示すように構成される。モデル生成装置1は、ステップS114の処理により、上記実施形態と同様に、ステップS102-ステップS113の処理を繰り返してよい。モデル生成装置1は、上記ステップS115-ステップS117の処理により、サンプル点の密度を算出し、算出された密度が閾値を超える場合に、1つ以上の第2データセット35から間引く対象を選択してよい。
【0199】
モデル生成装置1は、上記ステップS118の処理により、生成された1つ以上の第2データセット35を使用して、分類モデル7の機械学習を実施する。ステップS118までの処理により、画像サンプルに写る対象物RAの種別を識別する能力を獲得した訓練済みの分類モデル7が生成される。モデル生成装置1は、上記ステップS119により、訓練済みのエンコーダ5及び分類モデル7に関する情報を学習結果データ125として所定の記憶領域に適宜保存する。生成された学習結果データ125は、任意のタイミングで分類装置2Aに提供されてよい。
【0200】
(分類装置)
分類装置2Aは、上記分類装置2の一例である。分類装置2Aのハードウェア構成及びソフトウェア構成は、上記実施形態に係る分類装置2と同様であってよい。本変形例では、分類装置2Aは、通信インタフェース又は外部インタフェースを介してカメラSAに接続されてよい。或いは、カメラSAは他のコンピュータに接続され、分類装置2Aは、当該他のコンピュータに接続することで、カメラSAから画像サンプルを取得可能に構成されてもよい。カメラSAは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。カメラSAは、対象物RAを撮影可能な場所に適宜配置されてよい。
【0201】
分類装置2Aは、上記分類装置2と同様の処理手順により、対象物RAに対する分類タスクに関する情報処理を実行する。すなわち、ステップS201では、分類装置2Aは、カメラSAから対象サンプル221Aを取得する。対象サンプル221Aは、識別対象である対象物RAの写る画像サンプルにより構成される。ステップS202では、分類装置2Aは、訓練済みのエンコーダ5及び分類モデル7を使用して、対象サンプル221Aに写る対象物RAの種別を識別する。そして、ステップS203では、分類装置2Aは、対象物RAの種別を識別した結果に関する情報を出力する。一例では、分類装置2Aは、対象物RAを識別した結果をそのまま出力装置に出力してよい。他の一例では、分類装置2Aは、対象物RAを識別した結果に応じて任意の情報処理を実行してよい。例えば、分類装置2Aは、識別された対象人物(対象物RA)が特定の個人である場合に、ロックを解除する等の情報処理を実行してもよい。
【0202】
(特徴)
第1変形例によれば、画像識別の能力を獲得した訓練済みの分類モデル7を生成しようとする場面で、網羅的に訓練サンプルを収集するのにかかるコストの低減を図ることができる。また、網羅的に得られた訓練サンプル(31、36)を分類モデル7の機械学習に使用することで、生成される訓練済みの分類モデル7の画像識別の性能の向上を図ることができる。分類装置2Aでは、生成された訓練済みの分類モデル7を使用することで、精度のよい画像識別の遂行を期待することができる。
【0203】
(B)外観検査の場面
図10は、第2変形例に係る検査システム100Bの適用場面の一例を模式的に例示する。本変形例は、画像サンプルに写る製品の外観検査を実施する場面に上記実施形態を適用した例である。本変形例に係る検査システム100Bは、上記分類システム100の一例であり、モデル生成装置1及び検査装置2Bを備えている。上記実施形態と同様に、モデル生成装置1及び検査装置2Bは、ネットワークを介して互いに接続されてよい。
【0204】
本変形例において取り扱われる所定種類のデータ(訓練サンプル31及び対象サンプル221B)は、製品RBの写る画像サンプル(画像データ)である。画像サンプルは、カメラSBで製品RBを撮影することで得られてよい。分類タスクは、画像サンプルに写る製品RBに欠陥があるか否かを判定することである。製品RBは、上記対象物RAの一例であり、製品RBに欠陥があるか否かを判定することは、対象物RAの種別を識別することの一例である。すなわち、本変形例において、特徴のクラスは、製品RBに含まれる欠陥の種別に関するものである。欠陥があるか否かを判定することは、欠陥の有無を識別すること、製品RBに欠陥が含まれる確率を推定すること、製品RBに含まれる欠陥の種別(「欠陥がない」ことを示す種別が含まれてもよい)を識別すること、製品RBに含まれる欠陥の範囲を抽出すること又はこれらに組み合わせにより構成されてよい。これらの限定を除き、本変形例に係る検査システム100Bは、上記実施形態に係る分類システム100と同様に構成されてよい。
【0205】
なお、製品RBは、例えば、電子機器、電子部品、自動車部品、薬品、食品等の製造ラインで搬送される製品であってよい。電子部品は、例えば、基盤、チップコンデンサ、液晶、リレーの巻線等であってよい。自動車部品は、例えば、コンロッド、シャフト、エンジンブロック、パワーウィンドウスイッチ、パネル等であってよい。薬品は、例えば、包装済みの錠剤、未包装の錠剤等であってよい。製品RBは、製造過程完了後に生成される最終品であってもよいし、製造過程の途中で生成される中間品であってもよいし、製造過程を経過する前に用意される初期品であってもよい。欠陥は、例えば、傷、汚れ、クラック、打痕、バリ、色ムラ、異物混入等であってよい。
【0206】
(モデル生成装置)
本変形例では、モデル生成装置1は、上記ステップS101において、訓練サンプル31及び正解ラベル32の組み合わせによりそれぞれ構成される複数の第1データセット30を取得する。訓練サンプル31は、製品RBの写る画像サンプルにより構成される。正解ラベル32は、訓練サンプル31に写る製品RBに欠陥があるか否か(正解)を示すように構成される。モデル生成装置1は、上記ステップS102の処理により、複数の訓練サンプル31を使用して、エンコーダ5及びデコーダ6の機械学習を実施する。モデル生成装置1は、上記ステップS103の処理により、複数の第1データセット30を使用して、分類モデル7の機械学習を実施する。
【0207】
モデル生成装置1は、上記ステップS104-ステップS113の処理により、新たな訓練サンプル36及び新たな正解ラベル37の組み合わせによりそれぞれ構成される1つ以上の第2データセット35を生成する。新たな訓練サンプル36は、製品RBの写る画像サンプルにより構成される。新たな正解ラベル37は、対応する新たな訓練サンプル36に写る製品RBに欠陥があるか否か(正解)を示すように構成される。モデル生成装置1は、ステップS114の処理により、上記実施形態と同様に、ステップS102-ステップS113の処理を繰り返してよい。モデル生成装置1は、上記ステップS115-ステップS117の処理により、サンプル点の密度を算出し、算出された密度が閾値を超える場合に、1つ以上の第2データセット35から間引く対象を選択してよい。
【0208】
モデル生成装置1は、上記ステップS118の処理により、生成された1つ以上の第2データセット35を使用して、分類モデル7の機械学習を実施する。ステップS118までの処理により、画像サンプルに写る製品RBに欠陥があるか否かを判定する能力を獲得した訓練済みの分類モデル7が生成される。モデル生成装置1は、上記ステップS119により、訓練済みのエンコーダ5及び分類モデル7に関する情報を学習結果データ125として所定の記憶領域に適宜保存する。生成された学習結果データ125は、任意のタイミングで検査装置2Bに提供されてよい。
【0209】
(検査装置)
検査装置2Bは、上記分類装置2の一例である。検査装置2Bのハードウェア構成及びソフトウェア構成は、上記実施形態に係る分類装置2と同様であってよい。本変形例では、検査装置2Bは、通信インタフェース又は外部インタフェースを介してカメラSBに接続されてよい。或いは、カメラSBは他のコンピュータに接続され、検査装置2Bは、当該他のコンピュータに接続することで、カメラSBから画像サンプルを取得可能に構成されてもよい。カメラSBは、例えば、一般的なRGBカメラ、深度カメラ、赤外線カメラ等であってよい。カメラSBは、製品RBを撮影可能な場所に適宜配置されてよい。例えば、カメラSBは、製品RBを搬送するコンベア装置の近傍に配置されてよい。
【0210】
検査装置2Bは、上記分類装置2と同様の処理手順により、製品RBに対する外観検査に関する情報処理を実行する。すなわち、ステップS201では、検査装置2Bは、カメラSBから対象サンプル221Bを取得する。対象サンプル221Bは、検査対象である製品RBの写る画像サンプルにより構成される。ステップS202では、検査装置2Bは、訓練済みのエンコーダ5及び分類モデル7を使用して、対象サンプル221Bに写る製品RBに欠陥があるか否かを判定する。そして、ステップS203では、検査装置2Bは、製品RBに欠陥があるか否かを判定した結果に関する情報を出力する。一例では、検査装置2Bは、製品RBに欠陥があるか否かを判定した結果をそのまま出力装置に出力してよい。他の一例では、検査装置2Bは、製品RBに欠陥が含まれると判定した場合、そのことを知らせるための警告を出力装置に出力してもよい。これらの情報の出力先は、検査装置2Bの出力装置に限られず、他のコンピュータの出力装置であってもよい。更にその他の一例では、製品RBを搬送するコンベア装置に検査装置2Bが接続される場合、検査装置2Bは、判定結果に基づいて、欠陥のある製品と欠陥のない製品とを別のラインで搬送されるようにコンベア装置を制御してもよい。
【0211】
(特徴)
第2具体例によれば、外観検査の能力を獲得した訓練済みの分類モデル7を生成しようとする場面で、網羅的に訓練サンプルを収集するのにかかるコストの低減を図ることができる。また、網羅的に得られた訓練サンプル(31、36)を分類モデル7の機械学習に使用することで、生成される訓練済みの分類モデル7の外観検査の性能の向上を図ることができる。検査装置2Bでは、生成された分類モデル7を使用することで、精度のよい外観検査の遂行を期待することができる。
【0212】
(C)状態識別の場面
図11は、第3変形例に係る識別システム100Cの適用場面の一例を模式的に例示する。本変形例は、センシングデータに表れる対象物RCの状態を識別する場面に上記実施形態を適用した例である。本変形例に係る識別システム100Cは、上記分類システム100の一例であり、モデル生成装置1及び識別装置2Cを備えている。上記実施形態と同様に、モデル生成装置1及び識別装置2Cは、ネットワークを介して互いに接続されてよい。
【0213】
本変形例において取り扱われる所定種類のデータ(訓練サンプル31及び対象サンプル221C)は、対象物RCをセンサSCにより観測することで生成されたセンシングデータのサンプル(以下、単に「データサンプル」とも記載する)である。センサSCは、例えば、カメラ、マイクロフォン、エンコーダ、環境センサ、バイタルセンサ、医療検査装置、車載センサ、ホームセキュリティセンサ等であってよい。分類タスクは、センシングデータに表れる対象物RCの状態を分類することであってよい。分類することは、予測すること(すなわち、センシングデータが得られた時点から未来の状態を分類すること)を含んでよい。これらの限定を除き、本変形例に係る識別システム100Cは、上記実施形態に係る分類システム100と同様に構成されてよい。
【0214】
なお、センサSCの種類は、分類タスクに応じて適宜選択されてよい。一例として、対象物RCは人物であり、対象物RCの状態を分類することは、対象人物の状態を分類することであってよい。この場合、センサSCは、例えば、カメラ、マイクロフォン、バイタルセンサ、及び医療検査装置の少なくともいずれかにより構成されてよい。対象人物の状態を分類することは、例えば、所定の疾患を発症する確率、体調変化が生じる確率等の健康状態を分類することであってよい。或いは、対象人物は、例えば、車両の運転者であってよく、対象人物の状態を分類することは、運転者の状態(例えば、眠気度、疲労度、余裕度等)を分類することであってよい。
【0215】
他の一例として、対象物RCは産業用機械であり、対象物RCの状態を分類することは、産業用機械に異常があるか否かを分類(検知又は予測)することであってよい。この場合、センサSCは、例えば、マイクロフォン、エンコーダ、及び環境センサの少なくともいずれかにより構成されてよい。データサンプルは、モータのエンコーダ値、温度、動作音等により構成されてよい。
【0216】
他の一例として、対象物RCは、車両の外部に存在する物体であり、対象物RCの状態を分類することは、車両外部の状況を分類することであってよい。この場合、センサSCは、例えば、カメラ、及び車載センサの少なくともいずれかにより構成されてよい。車両外部の状況を分類することは、例えば、車両外部に存在する物体の属性を分類すること、混雑状況を分類すること、事故のリスクを分類すること等であってよい。車両外部に存在する物体は、例えば、道路、信号機、障害物(人、物)等であってよい。車両外部に存在する物体の属性を分類することは、例えば、人又は車両の飛び出し、急発進、急停車、車線変更等のイベントの発生を分類することを含んでよい。
【0217】
他の一例として、対象物RCは、例えば、屋外、所定の屋内(例えば、ビニルハウス内等)の特定の場所に存在する物体であり、対象物RCの状態を分類することは、特定の場所の状況を分類することであってよい。この場合、センサSCは、例えば、カメラ、マイクロフォン、及び環境センサの少なくともいずれかにより構成されてよい。具体例として、対象物RCは植物であってよく、特定の場所の状況を分類することは、植物の栽培状況を分類することであってよい。
【0218】
他の一例として、対象物RCは、例えば、住宅内に存在する物体であり、対象物RCの状態を分類することは、住宅内の状況を分類することであってよい。この場合、センサSCは、例えば、カメラ、マイクロフォン、環境センサ、及びホームセキュリティセンサの少なくともいずれかにより構成されてよい。
【0219】
(モデル生成装置)
本変形例では、モデル生成装置1は、上記ステップS101において、訓練サンプル31及び正解ラベル32の組み合わせによりそれぞれ構成される複数の第1データセット30を取得する。訓練サンプル31は、センサSCにより得られるデータサンプルにより構成される。正解ラベル32は、訓練サンプル31に表れる対象物RCの状態の種別(正解)を示すように構成される。モデル生成装置1は、上記ステップS102の処理により、複数の訓練サンプル31を使用して、エンコーダ5及びデコーダ6の機械学習を実施する。モデル生成装置1は、上記ステップS103の処理により、複数の第1データセット30を使用して、分類モデル7の機械学習を実施する。
【0220】
モデル生成装置1は、上記ステップS104-ステップS113の処理により、新たな訓練サンプル36及び新たな正解ラベル37の組み合わせによりそれぞれ構成される1つ以上の第2データセット35を生成する。新たな訓練サンプル36は、センシングデータのサンプルにより構成される。新たな正解ラベル37は、対応する新たな訓練サンプル36に表れる対象物RCの状態の種別(正解)を示すように構成される。モデル生成装置1は、ステップS114の処理により、上記実施形態と同様に、ステップS102-ステップS113の処理を繰り返してよい。モデル生成装置1は、上記ステップS115-ステップS117の処理により、サンプル点の密度を算出し、算出された密度が閾値を超える場合に、1つ以上の第2データセット35から間引く対象を選択してよい。
【0221】
モデル生成装置1は、上記ステップS118の処理により、生成された1つ以上の第2データセット35を使用して、分類モデル7の機械学習を実施する。ステップS118までの処理により、センシングデータに表れる対象物RCの状態を識別する能力を獲得した訓練済みの分類モデル7が生成される。モデル生成装置1は、上記ステップS119により、訓練済みのエンコーダ5及び分類モデル7に関する情報を学習結果データ125として所定の記憶領域に適宜保存する。生成された学習結果データ125は、任意のタイミングで識別装置2Cに提供されてよい。
【0222】
(識別装置)
識別装置2Cは、上記分類装置2の一例である。識別装置2Cのハードウェア構成及びソフトウェア構成は、上記実施形態に係る分類装置2と同様であってよい。本変形例では、識別装置2Cは、通信インタフェース又は外部インタフェースを介してセンサSCに接続されてよい。或いは、センサSCは他のコンピュータに接続され、識別装置2Cは、当該他のコンピュータに接続することで、センサSCからセンシングデータのサンプルを取得可能に構成されてもよい。
【0223】
識別装置2Cは、上記分類装置2と同様の処理手順により、対象物RCの状態識別に関する情報処理を実行する。すなわち、ステップS201では、識別装置2Cは、センサSCから対象サンプル221Cを取得する、対象サンプル221Cは、状態を識別する対象である対象物RCをセンサSCにより観測することで生成されたセンシングデータのサンプルにより構成される。ステップS202では、識別装置2Cは、訓練済みのエンコーダ5及び分類モデル7を使用して、対象サンプル221Cに表れる対象物RCの状態を分類する。
【0224】
そして、ステップS203では、識別装置2Cは、対象物RCの状態を分類した結果に関する情報を出力する。一例では、識別装置2Cは、対象物RCの状態を分類した結果をそのまま出力装置に出力してよい。他の一例では、識別装置2Cは、対象物RCの状態を分類した結果に応じて任意の情報処理を実行してよい。具体例として、対象物RCの状態を分類することが、対象人物の健康状態を分類することである場合、識別装置2Cは、対象人物の健康状態に異常があると判定される(例えば、所定の疾患の発症確率が高いクラスに分類される)ときにそのことを知らせるための警告を出力してもよい。他の具体例として、対象物RCの状態を分類することが、運転者の状態を分類することである場合、識別装置2Cは、運転者の眠気度又は疲労度が高いクラスに分類されるときに、運転の休憩を促すメッセージを通知する、自動運転から手動運転の切り替えを禁止する等の出力を実行してもよい。他の具体例として、対象物RCの状態を分類することが、産業用機械に異常があるか否かを分類ことである場合、産業用機械に異常がある又はその予兆があると判定されるときに、識別装置2Cは、そのことを知らせるための警告を出力してもよい。他の具体例として、対象物RCの状態を分類することが、車両外部の状況を分類することである場合、識別装置2Cは、分類される車両外部の状況に応じて車両に対する動作指令を決定し、決定された動作指令により車両を制御してもよい(例えば、人の飛び出しを検知した場合に、車両の一時停止を実行する)。
【0225】
(特徴)
第3具体例によれば、センシングデータに表れる対象物RCの状態を識別する能力を獲得した訓練済みの分類モデル7を生成しようとする場面で、網羅的に訓練サンプルを収集するのにかかるコストの低減を図ることができる。また、網羅的に得られた訓練サンプル(31、36)を分類モデル7の機械学習に使用することで、生成される訓練済みの分類モデル7の状態識別の性能の向上を図ることができる。識別装置2Cでは、生成された分類モデル7を使用することで、精度のよい状態識別の遂行を期待することができる。
【0226】
<4.2>
上記実施形態では、モデル生成装置1は、エンコーダ5及びデコーダ6の機械学習、新たな学習データ(第2データセット35)の生成、並びに分類モデル7の機械学習の処理の全てを実行するように構成されている。しかしながら、各処理を実行するための装置構成は、このような例に限定されなくてよい。その他の一例では、各処理は、別個独立の1又は複数台のコンピュータにより実行されてよい。
【0227】
図10は、本変形例に係るモデル生成装置1の構成の一例を模式的に示す。本変形例では、モデル生成装置1は、第1モデル生成装置101、データ生成装置102、及び第2モデル生成装置103により構成される。第1モデル生成装置101は、エンコーダ5及びデコーダ6の機械学習に関する処理を実行するように構成された1又は複数台のコンピュータである。データ生成装置102は、新たな訓練サンプル36を生成する処理を実行するように構成された1又は複数台のコンピュータである。第2モデル生成装置103は、分類モデル7の機械学習に関する処理を実行するように構成された1又は複数台のコンピュータである。
【0228】
各装置(101、102、103)のハードウェア構成は、上記モデル生成装置1のハードウェア構成と同様であってよい。各装置(101、102、103)は、直接的に接続されてよい。或いは、各装置(101、102、103)は、ネットワークを介して接続されてよい。一例では、これらの接続を介して、各装置(101、102、103)の間では、データがやり取りされてよい。他の一例では、各装置(101、102、103)の間では、記憶媒体等を介してデータがやり取りされてよい。
【0229】
第1モデル生成装置101は、モデル生成プログラム81のエンコーダ5及びデコーダ6の機械学習に関する部分を実行することで、データ取得部1111、第1訓練処理部112、及び保存処理部1112をソフトウェアモジュールとして備えるコンピュータとして動作する。データ生成装置102は、モデル生成プログラム81の新たな訓練サンプル36の生成に関する部分を実行することで、データ取得部1113、変換部113、点指定部114、サンプル生成部115、出力部116、ラベル付与部117、間引き部118、及び保存処理部1114をソフトウェアモジュールとして備えるコンピュータとして動作する。第2モデル生成装置103は、モデル生成プログラム81の分類モデル7の機械学習に関する部分を実行することで、データ取得部1115、第2訓練処理部119、及び保存処理部1116をソフトウェアモジュールとして備えるコンピュータとして動作する。これにより、本変形例では、上記モデル生成装置1の処理手順のうち、第1モデル生成装置101が、上記ステップS102の処理を実行する。データ生成装置102が、上記ステップS104-ステップS117の処理を実行する。第2モデル生成装置103が、上記ステップS103及びステップS118の処理を実行する。
【0230】
具体的に、第1モデル生成装置101の制御部は、データ取得部1111として動作し、複数の訓練サンプル31を取得する。複数の訓練サンプル31の取得は、上記ステップS101と同様に実行されてよい。続いて、第1モデル生成装置101の制御部は、第1訓練処理部112として動作し、上記ステップS102の処理を実行する。これにより、訓練済みのエンコーダ5及びデコーダ6を生成する。そして、第1モデル生成装置101の制御部は、保存処理部1112として動作し、訓練済みのエンコーダ5及びデコーダ6に関する情報を学習結果データとして生成し、生成された学習結果データを所定の記憶領域に保存する。上記ステップS119と同様に、所定の記憶領域は、適宜選択されてよい。生成された学習結果データは、任意のタイミングでデータ生成装置102に提供されてよい。また、訓練済みのエンコーダ5に関する情報は、任意のタイミングで第2モデル生成装置103に提供されてよい。
【0231】
第2モデル生成装置103の制御部は、データ取得部1115として動作し、複数の第1データセット30を取得する。複数の第1データセット30の取得は、上記ステップS101と同様に実行されてよい。続いて、第2モデル生成装置103の制御部は、第2訓練処理部119として動作し、上記ステップS103の処理を実行する。これにより、暫定的な訓練済みの分類モデル7を生成する。そして、第2モデル生成装置103の制御部は、保存処理部1116として動作し、暫定的な訓練済みの分類モデル7に関する情報を学習結果データとして生成し、生成された学習結果データを所定の記憶領域に保存する。上記ステップS119と同様に、所定の記憶領域は、適宜選択されてよい。生成された暫定的な訓練済みの分類モデル7の学習結果データは、任意のタイミングでデータ生成装置102に提供されてよい。
【0232】
データ生成装置102の制御部は、データ取得部1113として動作し、2つ以上の訓練サンプル31を取得する。データ生成装置102の制御部は、変換部113-間引き部118として動作し、取得した2つ以上の訓練サンプル31に対して上記ステップS104-ステップS117の処理を実行する。これにより、1つ以上の第2データセット35を生成する。データ生成装置102の制御部は、保存処理部1114として動作し、生成された1つ以上の第2データセット35を所定の記憶領域に保存する。データ生成装置102の処理手順は、データ生成方法の一例である。
【0233】
ステップS114の処理により、ステップS102から処理を繰り返す場合、データ生成装置102は、生成された1つ以上の訓練サンプル36を第1モデル生成装置101に提供し、訓練済みのエンコーダ5及びデコーダ6の更新を指令してもよい。第1モデル生成装置101の制御部は、データ取得部1111として動作し、データ生成装置102により生成された1つ以上の訓練サンプル36を取得してもよい。第1モデル生成装置101の制御部は、第1訓練処理部112として動作し、生成された1つ以上の訓練サンプル36を使用して、ステップS102の処理を実行する。これにより、第1モデル生成装置101は、更新された訓練済みのエンコーダ5及びデコーダ6を生成してもよい。第1モデル生成装置101の制御部は、保存処理部1112として動作し、更新された訓練済みのエンコーダ5及びデコーダ6に関する情報を学習結果データとして生成し、生成された学習結果データを所定の記憶領域に保存してよい。更新された訓練済みのエンコーダ5及びデコーダ6に関する学習結果データは、任意のタイミングでデータ生成装置102に提供されてよい。また、更新された訓練済みのエンコーダ5に関する情報は、任意のタイミングで第2モデル生成装置103に提供されてよい。
【0234】
また、データ生成装置102は、生成された1つ以上の第2データセット35を第2モデル生成装置103に提供し、暫定的な訓練済みの分類モデル7の更新を指令してもよい。第2モデル生成装置103の制御部は、データ取得部1115として動作し、生成された1つ以上の第2データセット35を取得してもよい。第2モデル生成装置103の制御部は、第2訓練処理部119として動作し、生成された1つ以上の第2データセット35を使用して、ステップS103の処理を実行する。これにより、第2モデル生成装置103は、更新された暫定的な訓練済みの分類モデル7を生成してもよい。第2モデル生成装置103の制御部は、保存処理部1116として動作し、更新された暫定的な訓練済みの分類モデル7に関する情報を学習結果データとして生成し、生成された学習結果データを所定の記憶領域に保存してよい。更新された暫定的な訓練済みの分類モデル7に関する学習結果データは、任意のタイミングでデータ生成装置102に提供されてよい。データ生成装置102は、各装置(101、103)から任意の方法で更新された学習結果データを取得した後に、ステップS104以降の処理を実行してよい。ステップS104の処理の実行に際して取得される2つ以上の訓練サンプル31には、以前のサイクルまでに生成された新たな訓練サンプル36が含まれてよい。
【0235】
そして、上記ステップS118の処理を実行する前に、第2モデル生成装置103の制御部は、データ取得部1115として動作し、データ生成装置102により生成された1つ以上の第2データセット35を取得する。第2モデル生成装置103の制御部は、第2訓練処理部119として動作し、取得された1つ以上の第2データセット35を使用して、ステップS118の処理を実行する。これにより、第2モデル生成装置103は、訓練済みの分類モデル7を生成する。第2モデル生成装置103の制御部は、保存処理部1116として動作し、訓練済みの分類モデル7に関する情報を学習結果データとして生成し、生成された学習結果データを所定の記憶領域に保存してよい。第1モデル生成装置101により生成された訓練済みのエンコーダ5に関する情報、及び第2モデル生成装置103により生成された訓練済みの分類モデル7に関する学習結果データは、任意のタイミングで分類装置2に提供されてよい。
【0236】
本変形例によれば、各演算処理の負荷を各装置(101、102、103)に分散することができる。なお、データ生成装置102では、新たな訓練サンプル36の生成までを実行し、新たな正解ラベル37の付与は、別のコンピュータで実行されてもよい。この場合、データ生成装置102のソフトウェア構成において、ラベル付与部117は省略されてよい。データ生成装置102の処理手順からステップS113の処理は省略されてよい。
【0237】
<4.3>
上記実施形態では、分類モデル7は、エンコーダ5により得られる特徴量の入力を受け付け、入力された特徴量から特徴の属するクラスを分類した結果を出力するように構成されている。しかしながら、分類モデル7の構成は、このような例に限定されなくてよい。他の一例では、分類タスクの演算工程は、エンコーダ5の演算を含まないように構成されてよい。
【0238】
図13は、本変形例に係る分類モデル70の構成の一例を模式的に示す。分類モデル70は、サンプルの入力を受け付け、入力されたサンプルから特徴の属するクラスを分類した結果を出力するように構成される。分類モデル70を構成する機械学習モデルの種類及び構造は、実施の形態に応じて適宜決定されてよい。一例では、上記実施形態と同様に、分類モデル70には、ニューラルネットワークが用いられてよい。
【0239】
本変形例においても、上記実施形態と同様に、分類モデル70の機械学習は、第1機械学習(ステップS103)及び第2機械学習(ステップS118)に分けて実行されてよい。機械学習では、制御部11は、各データセット(30、35)に含まれる訓練サンプル(31、36)を分類モデル70に入力し、分類モデル70の順伝播の演算処理を実行する。この順伝播の演算処理により、制御部11は、各訓練サンプル31に含まれる特徴のクラスを分類した結果に対応する出力を分類モデル70から取得する。制御部11は、得られた分類結果と対応する正解ラベル(32、37)により示される真値との間の誤差(分類誤差)を算出する。これらの点を除き、モデル生成装置1は、上記ステップS103及びステップS118において、上記実施形態と同様の方法により、分類モデル70の機械学習を実施することができる。上記ステップS119では、制御部11は、機械学習により生成された訓練済みの分類モデル70に関する情報を学習結果データ125として生成する。
【0240】
また、本変形例においても、分類モデル70は、入力されるサンプルに含まれる特徴を分類した結果として、当該サンプルに含まれる特徴が属する事後確率をクラス毎に出力するように構成されてよい。これに応じて、エントロピーに基づく線形和312(312_1)の補正が行われてよい。この場合、上記ステップS106において、制御部11は、訓練済みのデコーダ6を使用して、導出された線形和312_1の特徴量からサンプルを復号化する。すなわち、制御部11は、導出された線形和312_1を訓練済みのデコーダ6に入力し、訓練済みのデコーダ6の順伝播の演算処理を実行する。このデコーダ6の順伝播の演算処理により、制御部11は、線形和312_1から復号化サンプルを生成する。次に、制御部11は、暫定的な訓練済みの分類モデル70に得られた復号化サンプルを入力し、暫定的な訓練済みの分類モデル70の順伝播の演算処理を実行する。この分類モデル70の順伝播の演算処理により、制御部11は、導出された線形和312_1から訓練済みのデコーダ6により復号化されるサンプルに含まれる特徴が属する事後確率をクラス毎に算出した結果(すなわち、分類した結果)に対応する出力を暫定的な訓練済みの分類モデル70から取得する。これらの点を除き、モデル生成装置1は、上記実施形態と同様に、エントロピーを算出し、算出されたエントロピーの黄梅に基づいて、導出された線形和312_1を補正することができる。
【0241】
なお、本変形例では、訓練済みのエンコーダ5に関する情報は、学習結果データ125から省略されてよい。上記分類装置2では、制御部21は、上記ステップS202において、学習結果データ125を参照することで、訓練済みの分類モデル70を設定する。制御部21は、取得された対象サンプル221を訓練済みの分類モデル70に入力し、訓練済みの分類モデル70の順伝播の演算処理を実行する。この演算処理の結果として、制御部21は、対象サンプル221に含まれる特徴の属するクラスを分類した結果に対応する出力を分類モデル70から取得することができる。
【0242】
本変形例によれば、分類モデル70の構成は、エンコーダ5の構成に依存しない。そのため、分類モデル70の構造を分類タスクに最適化することができる。これにより、分類モデル70の計算量の効率化を期待することができる。
【0243】
<4.4>
上記実施形態では、エンコーダ5、デコーダ6、分類モデル7(70)、及び推定器600の各機械学習モデルは、全結合型ニューラルネットワークにより構成されている。しかしながら、各機械学習モデルを構成するニューラルネットワークの種類は、このような例に限定されなくてもよい。他の一例では、上記機械学習モデルの少なくともいずれかは、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク等により構成されてよい。上記各機械学習モデルを構成するニューラルネットワークの少なくともいずれかは、例えば、畳み込み層、プーリング層、正規化層、ドロップアウト層等の他の種類の層を含んでもよい。
【0244】
また、上記実施形態において、エンコーダ5、デコーダ6、分類モデル7(70)、及び推定器600それぞれを構成する機械学習モデルの種類は、ニューラルネットワークに限られなくてよい。上記演算処理を実行可能であれば、機械学習モデルの種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。他の一例として、エンコーダ5及びデコーダ6は、主成分分析により得られる主成分ベクトルにより構成されてよい。分類モデル7(70)は、サポートベクタマシンにより構成されてよい。機械学習の方法は、採用される機械学習モデルの種類に応じて適宜決定されてよい。
【0245】
<4.5>
上記実施形態において、エントロピーに基づく線形和312_1の補正は省略されてよい。この場合、上記ステップS106-ステップS108は、モデル生成装置1(データ生成装置102)の処理手順から省略されてよい。制御部11は、ステップS109において、導出された線形和312_1に近傍の2つのサンプル点(311_1、311_2)を抽出してよい。そして、制御部11は、ステップS110において、特徴空間上において、抽出された2つのサンプル点(311_1、311_2)を結ぶ直線上に、導出された線形和312_1を投影することで、導出された線形和312_1に対応する投影点313を取得してよい。上記ステップS103の機械学習は、上記ステップS118の機械学習に統合されてよい。すなわち、ステップS103の処理は省略され、制御部11は、ステップS118において、複数の第1データセット30及び生成された1つ以上の第2データセット35を使用して、分類モデル7の機械学習を実施してもよい。
【0246】
<4.6>
上記実施形態において、上記ステップS109及びステップS110による投影点313の取得は、モデル生成装置1(データ生成装置102)の処理手順から省略されてよい。これに応じて、制御部11は、ステップS111の処理において、訓練済みのデコーダ6を使用することにより、補正された線形和312_2(ステップS106-ステップS108の処理を更に省略する場合は、線形和312_1)から復号化されるサンプルを新たな訓練サンプル36として取得してもよい。
【0247】
更に、上記実施形態では、エンコーダ5及びデコーダ6に対応して推定器600が与えられ、エンコーダ5及びデコーダ6と推定器600との間で敵対的学習が実行されている。しかしながら、エンコーダ5及びデコーダ6の機械学習の構成は、このような例に限定されなくてよい。ステップS102の処理において、敵対的学習は省略されてよい。この場合、推定器600は省略されてよい。
【0248】
<4.7>
上記実施形態において、新たな訓練サンプル36に新たな正解ラベル37を付与するステップS113の処理は、新たな訓練サンプル36が生成された後の任意のタイミングで実行されてよい。新たな訓練サンプル36に含まれる特徴の属するクラスを適宜推定することで、新たな正解ラベル37を生成する処理を自動化してもよい。新たな訓練サンプル36の生成に使用された訓練サンプル31(31、36)から新たな訓練サンプル36のクラスが推定されてよい。推定方法は、適宜選択されてよい。クラスの推定には、暫定的な訓練済みの分類モデル7(70)が用いられてよい。
【0249】
更に、制御部11は、クラスの推定結果に基づいて、新たな正解ラベル37を新たな訓練サンプル36に付与した後、任意のタイミングで、訓練サンプル36に付与された新たな正解ラベル37の修正を受け付けてもよい。一例では、制御部11は、上記ステップS112により訓練サンプル36を出力した後に、訓練サンプル36に付与された新たな正解ラベル37の修正を受け付けてもよい。この修正を受け付ける処理は、上記ステップS113におけるクラスの指定を受け付ける処理の一例である。
【0250】
また、上記実施形態において、ステップS112の処理は、モデル生成装置1(データ生成装置102)の処理手順から省略されてよい。これに応じて、モデル生成装置1(データ生成装置102)のソフトウェア構成から出力部116が省略されてよい。
【0251】
<4.8>
上記実施形態では、ステップS106-ステップS108の処理により、エントロピーに基づいて、導出された線形和312_1を補正し、補正された線形和312_2(又はその投影点313)からサンプルを復号化することで、分類モデル7(70)の性能の向上により資する新たな訓練サンプル36の生成を試みている。このような性能向上に資するか否かを評価する指標は、エントロピーに限られなくてよく、実施の形態に応じて適宜設計されてよい。
【0252】
評価指標の他の一例として、複数の訓練サンプル31の分布に属する程度(すなわち、訓練サンプル31由来の真のデータに近いか否かの程度)を示す信頼性を挙げることができる。上記モデル生成装置1は、上記エントロピーと共に、又はエントロピーに代えて、信頼性に基づいて、導出された線形和312_1を補正してもよい。信頼性は、適宜算出されてよい。以下では、信頼性を算出する2つの方法を例示する。
【0253】
(I)第1の方法
第1の方法は、信頼性の評価に識別器を利用する。この場合、第1訓練処理部112は、複数の第1データセット30に含まれる複数の訓練サンプル31を使用して、識別器の機械学習を更に実施するように構成されてよい。識別器の機械学習は、複数の訓練サンプル31の分布に入力サンプルが属する程度を評価するように識別器を訓練することにより構成されてよい。このような識別器の訓練は、実施の形態に応じて適宜選択されてよい。
【0254】
図14は、本変形例に係る識別器650の機械学習の工程の一例を模式的に示す。図14の例では、識別器650を訓練することは、エンコーダ5及びデコーダ6と識別器650との間で敵対的学習を実施することにより構成される。敵対的学習は、デコーダ6により復号化される複数のサンプル及び複数の訓練サンプル31をそれぞれ入力サンプルとして使用して、入力サンプルの由来を識別するように識別器650を訓練するステップ、並びにデコーダ6により復号化されるサンプルを識別器650に入力したときの識別器650の識別性能が低下するようにエンコーダ5及びデコーダ6を訓練するステップを含む。この敵対的学習は、複数の訓練サンプル31の分布に入力サンプルが属する程度を評価する能力を獲得するように識別器を訓練することの一例である。なお、図14では、説明の便宜上、訓練サンプル31の由来を「真」、復号化サンプルの由来を「偽」と表現している。各サンプルの由来の表現方法は、適宜変更されてよい。
【0255】
訓練処理の一例として、制御部11は、各訓練サンプル31をエンコーダ5に入力し、エンコーダ5及びデコーダ6の演算処理を実行する。この演算処理により、制御部11は、各訓練サンプル31に対応する復号化サンプルを生成する。制御部11は、各サンプル(訓練サンプル31/復号化サンプル)を識別器650に入力し、識別器650の演算を実行することで、各サンプルの由来を識別した結果を識別器650から取得することができる。制御部11は、この識別結果と識別の真値(真/偽)との間の誤差が小さくなるように、識別器650のパラメータの値を調整する。これにより、入力サンプルの由来を識別する能力を獲得するように識別器650を訓練することができる。
【0256】
また、制御部11は、各訓練サンプル31をエンコーダ5に入力し、エンコーダ5及びデコーダ6の演算処理を実行する。この演算処理により、制御部11は、各訓練サンプル31に対応する復号化サンプルを生成する。制御部11は、得られた各復号化サンプルを識別器650に入力し、識別器650の演算を実行することで、各復号化サンプルの由来を識別した結果を識別器650から取得することができる。制御部11は、この識別結果が誤る(すなわち、入力サンプルの由来を訓練サンプル31と誤るほど誤差が小さくなる)ように誤差を算出し、算出される誤差が小さくなるように、エンコーダ5及びデコーダ6のパラメータの値を調整する。これにより、識別器650の識別性能を低下させるような復号化サンプルを生成する能力を獲得するようにエンコーダ5及びデコーダ6を訓練することができる。
【0257】
識別器650を構成する機械学習モデルは、入力サンプルの由来を識別する演算が可能であれば、その種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。図14の例では、識別器650は、全結合型ニューラルネットワークにより構成され、入力層651、1つ以上の中間層652、及び出力層653を備えている。各層651-653は、エンコーダ5の各層51-53等と同様に構成されてよい。また、識別器650を構成する層の数、各層のノードの数、結合関係等の構造は、実施の形態に応じて適宜決定されてよい。上記識別器650の訓練では、上記エンコーダ5等と同様に、制御部11は、誤差逆伝播法により、算出される誤差の勾配を逆伝播することで、各パラメータの値を調整することができる。
【0258】
上記推定器600との敵対的学習と同様に、デコーダ6及び識別器650の間に勾配反転層(不図示)が設けられてよい。この場合、敵対的学習における識別器650の訓練、並びにエンコーダ5及びデコーダ6の訓練は、一度に実行されてよい。或いは、敵対的学習における識別器650の訓練、並びにエンコーダ5及びデコーダ6の訓練は、交互に繰り返し実行されてよい。識別器650の訓練では、エンコーダ5及びデコーダ6のパラメータの値は固定されてよく、エンコーダ5及びデコーダ6の訓練では、識別器650のパラメータの値は固定されてよい。この場合でも、各訓練処理の少なくとも一部(例えば、復号化サンプルを生成する処理)は、共通に実行されてもよい。
【0259】
なお、識別器650を構成するニューラルネットワークの種類は、全結合型ニューラルネットワークに限られなくてよい。上記エンコーダ5等と同様に、識別器650は、全結合型以外のニューラルネットワークにより構成されてよい。識別器650は、他の種類の層を含んでもよい。また、識別器650を構成する機械学習モデルの種類は、ニューラルネットワークに限られなくてよい。入力サンプルの由来を識別する演算を実行可能であれば、識別器650を構成する機械学習モデルの種類は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。機械学習の方法は、採用される機械学習モデルの種類に応じて適宜決定されてよい。
【0260】
敵対的学習により訓練された識別器650は、敵対的学習の程度に応じて、訓練サンプル31かデコーダ6由来の復号化サンプル(疑似サンプル)かを見分ける能力を獲得する。よって、この訓練済みの識別器650によれば、入力サンプルの由来を識別した結果に応じて、入力サンプルの信頼性を評価することができる。すなわち、入力サンプルの由来は訓練サンプル31であると復号化サンプルに対して識別器650が誤るほど、当該復号化サンプルは真のサンプル(訓練サンプル31)と見分けがつかず、当該復号化サンプルの信頼性は高いと評価することができる。一方、入力サンプルの由来はデコーダ6であると復号化サンプルに対して識別器650が正しく識別するほど、当該復号化サンプルは真のサンプル(訓練サンプル31)と見分けが付き易く(すなわち、訓練サンプル31から乖離している)、当該復号化サンプルの信頼性は低いと評価することができる。したがって、敵対的学習により生成される訓練済みの識別器650によれば、訓練済みのデコーダ6により復号化されるサンプルの信頼性を適切に評価することができる。
【0261】
なお、複数の訓練サンプル31の分布に入力サンプルが属する程度を評価する能力を獲得するように識別器650を訓練する方法は、この敵対的学習による方法に限られなくてよく、実施の形態に応じて適宜選択されてよい。他の一例では、訓練済みの識別器650は、主成分分析により得られる主成分ベクトルにより構成されてよい。この場合、訓練サンプル31の分布に入力サンプルが属する程度を評価する能力を獲得するように識別器650を訓練することは、複数の訓練サンプル31を主成分分析することにより構成されてよい。制御部11は、復号化サンプルの信頼性を評価するために、主成分ベクトルを用いて、復号化サンプルを部分空間に射影(すなわち、圧縮)した後、復号化サンプルを元の空間に復元してよい。圧縮前の元の復号化サンプルと復元後の復号化サンプルとの差が大きいほど、復号化サンプルは訓練サンプル31の分布から乖離しており、当該復号化サンプルの信頼性は低いと評価することができる。一方、圧縮前の元の復号化サンプルと復元後の復号化サンプルとの差が小さいほど、復号化サンプルは訓練サンプル31の分布に従っており、当該復号化サンプルの信頼性は高いと評価することができる。
【0262】
更に他の一例では、識別器650は、1クラス識別器(例えば、1クラスサポートベクタマシン)により構成されてよい。この場合、訓練サンプル31の分布に入力サンプルが属する程度を評価する能力を獲得するように識別器650を訓練することは、例えば、複数の訓練サンプル31を使用して、1クラス識別の最適化問題を解くことにより構成されてよい。制御部11は、訓練済みの1クラス識別器を用いて、復号化サンプルの信頼性を評価してよい。1クラス識別器によれば、復号化サンプルが訓練サンプル31の分布に属するか否かを識別することができる。すなわち、復号化サンプルが訓練サンプル31の分布に属すると識別されるほど復号化サンプルの信頼性は高く、復号化サンプルが訓練サンプル31の分布に属さないと識別されるほど復号化サンプルの信頼性は低いと評価することができる。
【0263】
制御部11は、ステップS108の処理により線形和312_1を補正する前までの任意のタイミングで、第1訓練処理部112として動作し、識別器650の機械学習を実行してよい。識別器650の機械学習が上記敵対的学習により構成される場合、制御部11は、ステップS102における他の訓練と共に、識別器650の機械学習を実行してもよい。ステップS114の処理により、ステップS102から処理を繰り返す場合、制御部11は、識別器650の機械学習も再度実行してよい。この場合に、制御部11は、前のサイクルまでに得られた1つ以上の新たな訓練サンプル36を識別器650の機械学習に更に使用してもよい。本変形例の第1の方法では、制御部11は、このように生成された訓練済みの識別器650を用いて、線形和312から復号化されるサンプルの信頼性を評価する。
【0264】
図15は、本変形例に係るデータ生成の工程の一例を模式的に示す。ステップS108の処理を実行する前までに、制御部11は、点指定部114として動作し、訓練済みの識別器650を使用して、導出された線形和312_1の特徴量から訓練済みのデコーダ6により復号化されるサンプルが複数の訓練サンプル31の分布に属する程度を評価する。訓練済みの識別器650が上記敵対的学習により生成されている場合、復号化されるサンプルが複数の訓練サンプル31の分布に属する程度を評価することは、訓練済みの識別器650を使用して、復号化されるサンプルの由来を識別することにより構成される。すなわち、制御部11は、訓練済みのデコーダ6を使用して、導出された線形和312_1から復号化サンプルを生成する。制御部11は、訓練済みの識別器650を使用して、得られた復号化サンプルの由来を識別する。制御部11は、入力サンプルの由来は訓練サンプル31であると復号化サンプルに対して識別器650が誤るほど信頼性は高く、入力サンプルの由来はデコーダ6であると復号化サンプルに対して識別器650が正しく識別するほど信頼性は低いと評価する。
【0265】
続いて、制御部11は、点指定部114として動作し、復号化されるサンプルが訓練サンプル31の分布に属する程度を評価した結果に基づいて、訓練済みのデコーダ6により復号化されるサンプルの信頼性を算出する。信頼性の算定方法は、復号化されるサンプルが訓練サンプル31の分布に属する程度が高いと評価されるほど信頼性の値が高くなり、復号化されるサンプルが訓練サンプル31の分布に属する程度が低いと評価されるほど信頼性の値が低くなるように、実施の形態に応じて適宜決定されてよい。一例では、制御部11は、以下の式9により、信頼性Rの評価値を算出してよい。
【0266】
【数9】
なお、mは、訓練済みの識別器650の識別結果を示す。trは、識別の真値を示す。
【0267】
そして、ステップS108において、制御部11は、点指定部114として動作し、算出された信頼性の勾配(∂R/∂αi)に基づいて、信頼性が向上するように、導出された線形和312_1を補正する。これにより、制御部11は、補正された線形和312_5を取得する。補正方法の一例として、制御部11は、以下の式10により各評価値の積Sを算出してもよい。
【0268】
【数10】
制御部11は、積Sの勾配(∂S/∂αi)を更に算出し、算出された勾配(∂S/∂αi)に基づいて、積Sが最大化されるように補正量を最適化してもよい。なお、式10は、信頼性Rと共にエントロピーLに基づいて線形和312_1を補正することを想定している。エントロピーLに基づく補正を省略する場合、エントロピーLは式10の積Sから省略されてよい。
【0269】
図16は、本変形例において、補正された線形和312_5を得る最適化方法の一例を説明するための図である。図16に示されるとおり、距離(X)、エントロピーL、及び信頼性Rの値が得られている場合に、制御部11は、算出された勾配(∂S/∂αi)に基づいて、積Sの極大値315を導出してもよい。制御部11は、極大値315に対応する点を補正された線形和312_5として取得してよい。図16に示されるとおり、複数個の極大値が存在する場合(図16の場合、2個)、制御部11は、いずれの極大値を補正された線形和312_5として採用してよい。なお、エントロピーLに基づく補正を省略する場合、制御部11は、距離(X)及び信頼性Rに基づいて、補正された線形和312_5を得てよい。
【0270】
補正された線形和312_5を得た後、制御部11は、上記ステップS109-ステップS110の処理により、補正された線形和312_5に対応する投影点313を得てもよい。これにより、ステップS111の処理において、制御部11は、訓練済みのデコーダ6を使用することにより、補正された線形和312_5の投影点323の特徴量に対応する復号化サンプルを新たな訓練サンプル36として生成してよい。一方、上記ステップS109-ステップS110の処理を省略する場合、制御部11は、ステップS111の処理において、訓練済みのデコーダ6を使用することにより、補正された線形和312_5の特徴量に対応する復号化サンプルを新たな訓練サンプル36として生成してよい。
【0271】
(II)第2の方法
図15は、本変形例の第2の方法による信頼性Rの評価方法及びデータ生成の工程の一例を模式的に示す。第2の方法は、信頼性Rの評価に訓練済みのエンコーダ5及びデコーダ6を利用する。第2の方法では、上記ステップS108の処理を実行する前までに、制御部11は、点指定部114として動作し、導出された線形和312_1の特徴量から訓練済みのデコーダ6により復号化されるサンプルと複数の第1データセット30に含まれる訓練サンプル31との間の差分の程度を評価する。
【0272】
本変形例では、制御部11は、訓練済みのデコーダ6を使用して、導出された線形和312_1からサンプルを復号化する。差分の程度を評価することは、復号化されるサンプルを訓練済みのエンコーダ5により特徴量に変換し、かつ得られた復号化されるサンプルの特徴量と線形和321_1の特徴量との間の差を算出することにより構成される。或いは、差分の程度を評価することは、訓練済みのデコーダ6を更に使用して、復号化されるサンプルの特徴量から再復号化サンプルを生成し、復号化されるサンプルと生成された再復号化サンプルとの間の再構成誤差を算出することにより構成される。
【0273】
訓練済みのエンコーダ5及びデコーダ6は、訓練サンプル31を使用した機械学習により生成されている。そのため、導出された線形和312_1から復号化されるサンプルが訓練サンプル31に類似するほど、上記各差分(特徴量間の差/再構成誤差)は小さくなり、復号化されるサンプルが訓練サンプル31から乖離するほど、上記各差分は大きくなる。そのため、上記の方法により、線形和312_1から復号化されるサンプルと訓練サンプル31との間の差分の程度を評価することができる。
【0274】
制御部11は、差分の程度を評価した結果に基づいて、訓練済みのデコーダ6により復号化されるサンプルの信頼性Rを算出する。信頼性Rの算定方法は、差分の程度が大きいと評価されるほど信頼性Rの値が低くなり、差分の程度が小さいと評価されるほど信頼性Rの値が大きくなるように、実施の形態に応じて適宜決定されてよい。一例では、制御部11は、以下の式11により、信頼性Rの評価値を算出してよい。
【0275】
【数11】
sは、復号化されたサンプルを示す。tは、復号化されたサンプルに対してエンコーダ5及びデコーダ6により符号化及び復号化を再度行うことで得られた再復号化サンプルを示す。サンプルが画像サンプルである場合、式11の信頼性Rは、各画素の輝度値の差分の2乗を合計することで算出される。
【0276】
そして、ステップS108において、制御部11は、点指定部114として動作し、算出された信頼性の勾配(∂R/∂αi)に基づいて、信頼性が向上するように、導出された線形和312_1を補正する。これにより、制御部11は、補正された線形和312_5を取得する。補正方法は、上記第1の方法と同様であってよい。上記第1の方法と同様に、制御部11は、エントロピーL及び信頼性Rに基づいて、補正された線形和312_5を取得してもよい。他の一例では、エントロピーLは省略されてよく、制御部11は、信頼性Rに基づいて、補正された線形和312_5を取得してもよい。
【0277】
補正された線形和312_5を得た後、制御部11は、上記ステップS109-ステップS110の処理により、補正された線形和312_5に対応する投影点313を得てもよい。これにより、ステップS111の処理において、制御部11は、訓練済みのデコーダ6を使用することにより、補正された線形和312_5の投影点323の特徴量に対応する復号化サンプルを新たな訓練サンプル36として生成してよい。一方、上記ステップS109-ステップS110の処理を省略する場合、制御部11は、ステップS111の処理において、訓練済みのデコーダ6を使用することにより、補正された線形和312_5の特徴量に対応する復号化サンプルを新たな訓練サンプル36として生成してよい。訓練済みのエンコーダ5及びデコーダ6により適切に符号化及び復号化可能なサンプルは、基本的には、訓練サンプルの分布に含まれるものであり、上記式11の信頼性Rによれば、この分布に含まれる程度を評価することができる。そのため、この信頼性Rを指標に用いることで、所望する分布内で新たな訓練サンプル36を生成することができる。
【0278】
(小括)
特徴空間において、訓練サンプル31に対応する点以外の点の特徴量から、訓練済みデコーダ6により復号化されるサンプルは、言わば真のデータ(訓練サンプル)を模した疑似的なデータである。場合によっては、この疑似的なデータは、真のデータから極めて乖離している可能性がある。上記第1の方法又は第2の方法によれば、導出される線形和312_1から得られる復号化サンプルの信頼性を評価し、信頼性が向上するように、線形和312_1を補正することができる。これにより、真のデータから極めて乖離した新たな訓練サンプル36が学習データに追加されるのを抑制することができる。その結果、得られた新たな訓練サンプル36を分類モデル7(70)の機械学習に使用することで、生成される訓練済みの分類モデル7(70)の性能の向上の期待性を高めることができる。なお、上記モデル生成装置1は、上記第1の方法及び第2の方法を同時に採用してもよい。すなわち、制御部11は、識別器650による評価及び上記各差分による評価により信頼性Rを算出してもよい。これにより、真のデータから極めて乖離した新たな訓練サンプル36が学習データに追加されるのを更に抑制することができる。
【0279】
<4.9>
上記実施形態では、線形和312_1を導出するための所定の指標の一例として、上記式1及び式2が挙げられている。しかしながら、所定の指標は、これらに限定されなくてよい。他の一例では、分類モデル7が、サンプルに含まれる特徴が属する事後確率をクラス毎に出力するように構成される場合、制御部11は、暫定的な訓練済みの分類モデル7を使用して、以下の式12により算出される交差エントロピーHの最小値を最大化する点Xを線形和312(312_1)として導出してもよい。
【0280】
【数12】
この方法によれば、どのサンプル点311とも異なる情報を有するサンプル点を線形和312(312_1)として導出することができる。
【0281】
また、上記実施形態(変形例)において、上記ステップS115-ステップS117の処理は、モデル生成装置1(データ生成装置102)の処理手順から省略されてよい。この場合、モデル生成装置1(データ生成装置102)のソフトウェア構成から間引き部118は省略されてよい。
【0282】
また、上記実施形態において、モデル生成装置1は、生成された第2データセット35を所定の記憶領域に保存してよい。所定の記憶領域は、実施の形態に応じて適宜選択されてよい。
【符号の説明】
【0283】
1…モデル生成装置、
11…制御部、12…記憶部、13…通信インタフェース、
14…外部インタフェース、
15…入力装置、16…出力装置、17…ドライブ、
81…モデル生成プログラム、91…記憶媒体、
111…データ取得部、112…第1訓練処理部、
113…変換部、114…点指定部、
115…サンプル生成部、116…出力部、
117…ラベル付与部、118…間引き部、
119…第2訓練処理部、1110…保存処理部、
125…学習結果データ、
2…分類装置、
21…制御部、22…記憶部、23…通信インタフェース、
24…外部インタフェース、
25…入力装置、26…出力装置、27…ドライブ、
82…分類プログラム、92…記憶媒体、
211…取得部、212…分類部、213…出力部、
221…対象サンプル、
30…第1データセット、
31…訓練サンプル、32…正解ラベル、
311…サンプル点、312…線形和、313…投影点、
35…第2データセット、
36…訓練サンプル、37…正解ラベル、
5…エンコーダ、
51…入力層、52…中間(隠れ)層、53…出力層、
6…デコーダ、
61…入力層、62…中間(隠れ)層、63…出力層、
600…推定器、
7…分類モデル、
71…入力層、72…中間(隠れ)層、73…出力層
図1
図2
図3
図4
図5A
図5B
図5C
図5D
図5E
図6
図7A
図7B
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17