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

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

▶ KDDI株式会社の特許一覧

特開2024-165052サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法
<>
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図1
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図2
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図3
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図4
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図5
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図6
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図7
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図8
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図9
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図10
  • 特開-サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法 図11
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024165052
(43)【公開日】2024-11-28
(54)【発明の名称】サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法
(51)【国際特許分類】
   G06F 16/906 20190101AFI20241121BHJP
   G06N 3/091 20230101ALI20241121BHJP
【FI】
G06F16/906
G06N3/091
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023080878
(22)【出願日】2023-05-16
(71)【出願人】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】西村 康孝
(72)【発明者】
【氏名】武田 直人
(72)【発明者】
【氏名】池田 和史
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA10
5B175HB03
(57)【要約】
【課題】分類タスクの全クラスについてラベル有りサンプルデータを早急に蓄積するべく、サンプルデータにラベルを付与することができるプログラム等を提供する。
【解決手段】サンプルデータを説明変数とし、ラベルを目的変数として訓練するクラス分類モデルを持つ機械学習エンジンと、クラスに対応するラベル毎に、各特徴量の知識条件を記憶した知識条件記憶手段と、ラベル有りサンプルデータ蓄積手段に、ラベル有りサンプルデータが所定個未満となる空クラスが存在する場合、空クラスを特定する空クラス特定手段と、知識条件記憶手段を用いて、ラベル無しサンプルデータの群から、当該空クラスに対応するラベルの一部又は全部の特徴量jの知識条件と所定類似度以上となるラベル無しサンプルデータを検索するサンプルデータ検索手段と、検索されたラベル無しサンプルデータに、能動学習としての確認フラグを付与する確認フラグ付与手段とを有する。
【選択図】図1

【特許請求の範囲】
【請求項1】
複数の特徴量j(j=1~N)のベクトルからなる複数のサンプルデータXi={xi,1、xi,2、・・・、xi,N}について、ラベル有りサンプルデータの群を用いて、ラベル無しサンプルデータの群にラベルを付与するようにコンピュータを機能させるプログラムにおいて、
ラベル有りサンプルデータXiを蓄積したラベル有りサンプルデータ蓄積手段と、
ラベル有りサンプルデータ蓄積手段を用いて、サンプルデータXiを説明変数とし、ラベルYk(k=1~L)を目的変数として訓練するクラス分類モデルを持つ機械学習エンジンと、
クラスに対応するラベルYk毎に、各特徴量jの知識条件を記憶した知識条件記憶手段と、
ラベル有りサンプルデータ蓄積手段に、ラベル有りサンプルデータが所定個未満となる空クラスが存在する場合、当該空クラスを特定する空クラス特定手段と、
知識条件記憶手段を用いて、ラベル無しサンプルデータの群から、当該空クラスに対応するラベルYclass_targetの一部又は全部の特徴量jの知識条件と所定類似度以上となるラベル無しサンプルデータを検索するサンプルデータ検索手段と、
検索されたラベル無しサンプルデータに、能動学習としての確認フラグを付与する確認フラグ付与手段と
してコンピュータを機能させることを特徴とするプログラム。
【請求項2】
確認フラグ付与手段は、確認フラグが付与されたラベル無しサンプルデータをユーザインタフェースへ出力し、ユーザにラベルYkを付与させ、
ラベル有りサンプルデータ蓄積手段は、ユーザによってラベルYkが付与されたラベル有りサンプルデータを蓄積する
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項3】
空クラスに対応するラベルYclass_targetにおける一部の特徴量jの知識条件の項目をユーザインタフェースへ出力し、ユーザによって入力された知識条件によって知識条件記憶手段を更新する知識条件更新手段と
してコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
知識条件記憶手段に、空クラスに対応するラベルYclass_targetについて知識条件が記憶されているが、ラベル有りサンプルデータ蓄積手段に、ラベル有りサンプルデータが所定個未満となる空クラスが存在する場合、
サンプルデータ検索手段は、空クラスに対応するラベルYclass_targetの一部又は全部の特徴量jの知識条件と最も類似するラベル無しサンプルデータを選択する
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項5】
知識条件記憶手段に、空クラスに対応するラベルYclass_targetについて知識条件が記憶されていない場合、
サンプルデータ検索手段は、ラベル有りサンプルデータ蓄積手段の中で複数のラベル有りサンプルデータの特徴量と最も類似度が低い特徴量を持つラベル無しサンプルデータを検索する
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項6】
ラベル有りサンプルデータを作成する進行段階を管理する進行管理手段を更に有し、
進行管理手段は、
ラベル有りサンプルデータの総数が所定数未満となる第1のフェーズと、
ラベル有りサンプルデータの総数が所定数以上であって、且つ、ラベル有りサンプルデータが所定個未満となる空クラスが存在する第2のフェーズと、
ラベル有りサンプルデータの総数が所定数以上であって、且つ、ラベル有りサンプルデータが所定個未満となる空クラスが存在しない第3のフェーズと
を管理しており、
第2のフェーズについて、空クラス特定手段、サンプルデータ検索手段及び確認フラグ付与手段を実行する
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項7】
第1のフェーズでは、Randomサンプリング方式又はDiversityサンプリング方式によって、ラベル無しサンプルデータに、能動学習としてユーザにラベルを付与させ、
第3のフェーズでは、Uncertaintyサンプリング方式によって、ラベル無しサンプルデータにラベルを付与する
ようにコンピュータを機能させることを特徴とする請求項6に記載のプログラム。
【請求項8】
複数のセンサにおけるセンサデータを、複数の特徴量jのベクトルからなるサンプルデータXiに変換する特徴量ベクトル変換手段と
してコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
【請求項9】
特徴量ベクトル変換手段は、複数のセンサによって検知された時系列のイベントをスライディングウィンドウによって複数のセンサデータに区分し、センサデータをサンプルデータXiに変換する
ようにコンピュータを機能させることを特徴とする請求項8に記載のプログラム。
【請求項10】
センサは、室内に配置されたものであり、
ラベルは、室内の人の行動認識に対応するものである
ようにコンピュータを機能させることを特徴とする請求項9に記載のプログラム。
【請求項11】
複数の特徴量j(j=1~N)のベクトルからなる複数のサンプルデータXi={xi,1、xi,2、・・・、xi,N}について、ラベル有りサンプルデータの群を用いて、ラベル無しサンプルデータの群にラベルを付与する能動学習装置において、
ラベル有りサンプルデータXiを蓄積したラベル有りサンプルデータ蓄積手段と、
ラベル有りサンプルデータ蓄積手段を用いて、サンプルデータXiを説明変数とし、ラベルYk(k=1~L)を目的変数として訓練するクラス分類モデルを持つ機械学習エンジンと、
クラスに対応するラベルYk毎に、各特徴量jの知識条件を記憶した知識条件記憶手段と、
ラベル有りサンプルデータ蓄積手段に、ラベル有りサンプルデータが所定個未満となる空クラスが存在する場合、当該空クラスを特定する空クラス特定手段と、
知識条件記憶手段を用いて、ラベル無しサンプルデータの群から、当該空クラスに対応するラベルYclass_targetの一部又は全部の特徴量jの知識条件と所定類似度以上となるラベル無しサンプルデータを検索するサンプルデータ検索手段と、
検索されたラベル無しサンプルデータに、能動学習としての確認フラグを付与する確認フラグ付与手段と
を有することを特徴とする能動学習装置。
【請求項12】
複数の特徴量j(j=1~N)のベクトルからなる複数のサンプルデータXi={xi,1、xi,2、・・・、xi,N}について、ラベル有りサンプルデータの群を用いて、ラベル無しサンプルデータの群にラベルを付与する装置の能動学習方法において、
装置は、
ラベル有りサンプルデータXiを蓄積したラベル有りサンプルデータ蓄積部と、
ラベル有りサンプルデータ蓄積部を用いて、サンプルデータXiを説明変数とし、ラベルYk(k=1~L)を目的変数として訓練するクラス分類モデルを持つ機械学習エンジンと、
クラスに対応するラベルYk毎に、各特徴量jの知識条件を記憶した知識条件記憶部と
を有し、
ラベル有りサンプルデータ蓄積部に、ラベル有りサンプルデータが所定個未満となる空クラスが存在する場合、当該空クラスを特定する第1のステップと、
知識条件記憶部を用いて、ラベル無しサンプルデータの群から、当該空クラスに対応するラベルYclass_targetの一部又は全部の特徴量jの知識条件と所定類似度以上となるラベル無しサンプルデータを検索する第2のステップと、
検索されたラベル無しサンプルデータに、能動学習としての確認フラグを付与する第3のステップと
を実行することを特徴とする能動学習方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サンプルデータにラベルを付与する能動学習の技術に関する。
【背景技術】
【0002】
ディープラーニングなどの機械学習技術の発展により、AI(Artificial Intelligence)における分類タスクや回帰タスク、意思決定タスクの性能が飛躍的に向上した。一方で、分類タスクについては、精度を向上させるために、機械学習エンジンを訓練する教師データとして、大量のラベル有りサンプルデータが必要となる。サンプルデータにラベルを付与する、教師データの作成作業は、通常、人手によって行われるために、高いラベリングコストが問題となる。
【0003】
ラベル有りサンプルデータが無い又は極めて少ない状態となるコールドスタートでは、任意のラベル無しサンプルデータを選択し、ユーザ(又はアノテータ)に問い合わせることによって、ラベルを付与していく。
従来、コールドスタートにおけるサンプルデータの選択方法として、例えば「Randomサンプリング方式」や「Diversityサンプリング方式」がある。
Randomサンプリング方式の場合、ラベル無しサンプルデータの群の中から、ランダムに、ラベル無しサンプルデータを選択し、ユーザにラベルを付与させる。
Diversityサンプリング方式の場合、ラベル無しサンプルデータを、K-meansなどのクラスタベースのアルゴリズムによってクラスタリングし、各クラスタから均等にサンプルデータを選択し、ユーザにラベルを付与させる。ここでは、選択されるサンプルデータに多様性を持たせることができる。
【0004】
また、自己教師あり学習として訓練したpre-trainedモデル(BERT(登録商標))を用いた技術もある(例えば非特許文献1参照)。この技術によれば、ラベル無しサンプルデータのpre-trainedモデルのloss値を用いて、異なる尺度でサンプルデータを選択し、ユーザにラベルを付与させる。ここでも、選択されるサンプルデータに多様性を持たせることができる。
【0005】
これに対し、ユーザがラベルを付与するサンプルデータの数をできる限り少なくすることができる「能動学習」の技術が注目されている。能動学習によれば、ユーザがラベルを付与するサンプルデータの数が少なくても、機械学習エンジンが持つ分類モデルの性能を効率的に向上させることができる。
少数のラベル有りサンプルデータが蓄積された段階では、能動学習として、機械学習エンジンの分類モデルの出力情報を用いた「Uncertainty sampling方式」の技術がある(例えば非特許文献2参照)。この技術によれば、少数のラベル有りサンプルデータによってクラス分類の機械学習エンジンを予め訓練し、ラベル無しサンプルの群から全てのクラスの確信度が最も低いサンプルデータを「能動的に」選択する。
【0006】
これによって、ユーザは、選択されたサンプルデータのみにラベルを付与すればよく、ユーザの全体的な作業負担を抑制することができる。ラベル付けされたサンプルデータは、教師データとして、機械学習エンジンによって再訓練される。このように、機械学習エンジンは、能動学習として、サンプルデータの選択と、ユーザによるラベル付与と、分類モデルの再訓練とを繰り返す。これは、能動学習としてシンプル且つ有効な方法であって、機械学習エンジンの分類モデルの性能を効率的に向上させることができる。
【0007】
更に、能動学習として、説明可能AIの出力データを、新たなサンプルデータの選択のための指標として用いる技術もある(例えば特許文献1参照)。この技術によれば、説明可能AIの出力データが示す予測結果の算定に対する複数の要素データそれぞれの重要度を、複数の入力データのそれぞれに対応して特定する。特定した複数の入力データそれぞれに含まれる複数の要素データに対応する複数の重要度に基づいて、複数の入力データの中から、所定の事象の正解を示す正解データを付与する対象の入力データを選択する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2023-048357号公報
【非特許文献】
【0009】
【非特許文献1】Michelle Yuan, et. al. “Cold-start Active Learning through Self-supervised Language Modeling”、[online]、[令和5年4月14日検索]、インターネット<URL:https://aclanthology.org/2020.emnlp-main.637/>
【非特許文献2】Anita Krishnakumar “Active Learning Literature Survey”、[online]、[令和5年4月14日検索]、インターネット<URL:https://www.researchgate.net/publication/228971426_Active_Learning_Literature_Survey>
【発明の概要】
【発明が解決しようとする課題】
【0010】
前述したRandomサンプリング方式等や非特許文献1の技術によれば、コールドスタートのように、分類タスクの一部のクラスに対応するラベルが未だ付与されてない段階であっても、ランダム性や多様性を持たせて、ラベル無しサンプルデータを選択することができる。しかしながら、クラス分布が不均衡な場合(例えばあるクラスのサンプルデータの割合が0.01%である)や、分類タスクの処理が比較的難しい場合(割合の低いクラスのサンプルデータと、割合の高いクラスのサンプルデータが非常に類似している場合など)には、闇雲な宝探しのように、大量のサンプルデータの選択を何度も行うことが必要となる場合がある。
【0011】
また、非特許文献2の技術によれば、能動学習として、ある程度のラベル有りサンプルデータが蓄積され、分類タスクの全クラスにラベル有りサンプルデータが与えられた状態から開始することを前提としている。機械学習エンジンは、少なくとも全クラスに少量のラベル有りサンプルデータで、分類モデルを訓練する。しかしながら、少量のラベル有りサンプルデータに偏りがある場合、機械学習エンジンの分類モデルにも偏りが生じることとなる。
【0012】
即ち、コールドスタートでは、Randomサンプリング方式等の技術を適用することができ、分類タスクの全クラスについてラベル有りサンプルデータが蓄積された状態では、Uncertaintyサンプリング方式の技術を適用することができる。
これに対し、分類タスクについてラベル有りサンプルデータが蓄積されていない空クラスが存在する状態から、Uncertaintyサンプリング方式を適用した場合、その空クラスの分類性能は常に0となり、タスク分類モデルの性能が伸び悩むこととなる。
そのために、本願の発明者らは、コールドスタート後、Randomサンプリング方式等からUncertaintyサンプリング方式へ移行する前に、分類タスクの全クラスについてラベル有りサンプルデータを早急に蓄積する必要がある、と考えた。
【0013】
そこで、本発明は、分類タスクの全クラスについてラベル有りサンプルデータを早急に蓄積するべく、サンプルデータにラベルを付与する能動学習のプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明によれば、複数の特徴量j(j=1~N)のベクトルからなる複数のサンプルデータXi={xi,1、xi,2、・・・、xi,N}について、ラベル有りサンプルデータの群を用いて、ラベル無しサンプルデータの群にラベルを付与するようにコンピュータを機能させるプログラムにおいて、
ラベル有りサンプルデータXiを蓄積したラベル有りサンプルデータ蓄積手段と、
ラベル有りサンプルデータ蓄積手段を用いて、サンプルデータXiを説明変数とし、ラベルYk(k=1~L)を目的変数として訓練するクラス分類モデルを持つ機械学習エンジンと、
クラスに対応するラベルYk毎に、各特徴量jの知識条件を記憶した知識条件記憶手段と、
ラベル有りサンプルデータ蓄積手段に、ラベル有りサンプルデータが所定個未満となる空クラスが存在する場合、当該空クラスを特定する空クラス特定手段と、
知識条件記憶手段を用いて、ラベル無しサンプルデータの群から、当該空クラスに対応するラベルYclass_targetの一部又は全部の特徴量jの知識条件と所定類似度以上となるラベル無しサンプルデータを検索するサンプルデータ検索手段と、
検索されたラベル無しサンプルデータに、能動学習としての確認フラグを付与する確認フラグ付与手段と
してコンピュータを機能させることを特徴とする。
【0015】
本発明のプログラムにおける他の実施形態によれば、
確認フラグ付与手段は、確認フラグが付与されたラベル無しサンプルデータをユーザインタフェースへ出力し、ユーザにラベルYkを付与させ、
ラベル有りサンプルデータ蓄積手段は、ユーザによってラベルYkが付与されたラベル有りサンプルデータを蓄積する
ようにコンピュータを機能させることも好ましい。
【0016】
本発明のプログラムにおける他の実施形態によれば、
空クラスに対応するラベルYclass_targetにおける一部の特徴量jの知識条件の項目をユーザインタフェースへ出力し、ユーザによって入力された知識条件によって知識条件記憶手段を更新する知識条件更新手段と
してコンピュータを機能させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
知識条件記憶手段に、空クラスに対応するラベルYclass_targetについて知識条件が記憶されているが、ラベル有りサンプルデータ蓄積手段に、ラベル有りサンプルデータが所定個未満となる空クラスが存在する場合、
サンプルデータ検索手段は、空クラスに対応するラベルYclass_targetの一部又は全部の特徴量jの知識条件と最も類似するラベル無しサンプルデータを選択する
ようにコンピュータを機能させることも好ましい。
【0018】
本発明のプログラムにおける他の実施形態によれば、
知識条件記憶手段に、空クラスに対応するラベルYclass_targetについて知識条件が記憶されていない場合、
サンプルデータ検索手段は、ラベル有りサンプルデータ蓄積手段の中で複数のラベル有りサンプルデータの特徴量と最も類似度が低い特徴量を持つラベル無しサンプルデータを検索する
ようにコンピュータを機能させることも好ましい。
【0019】
本発明のプログラムにおける他の実施形態によれば、
ラベル有りサンプルデータを作成する進行段階を管理する進行管理手段を更に有し、
進行管理手段は、
ラベル有りサンプルデータの総数が所定数未満となる第1のフェーズと、
ラベル有りサンプルデータの総数が所定数以上であって、且つ、ラベル有りサンプルデータが所定個未満となる空クラスが存在する第2のフェーズと、
ラベル有りサンプルデータの総数が所定数以上であって、且つ、ラベル有りサンプルデータが所定個未満となる空クラスが存在しない第3のフェーズと
を管理しており、
第2のフェーズについて、空クラス特定手段、サンプルデータ検索手段及び確認フラグ付与手段を実行する
ようにコンピュータを機能させることも好ましい。
【0020】
本発明のプログラムにおける他の実施形態によれば、
第1のフェーズでは、Randomサンプリング方式又はDiversityサンプリング方式によって、ラベル無しサンプルデータに、能動学習としてユーザにラベルを付与させ、
第3のフェーズでは、Uncertaintyサンプリング方式によって、ラベル無しサンプルデータにラベルを付与する
ようにコンピュータを機能させることも好ましい。
【0021】
本発明のプログラムにおける他の実施形態によれば、
複数のセンサにおけるセンサデータを、複数の特徴量jのベクトルからなるサンプルデータXiに変換する特徴量ベクトル変換手段と
してコンピュータを機能させることも好ましい。
【0022】
本発明のプログラムにおける他の実施形態によれば、
特徴量ベクトル変換手段は、複数のセンサによって検知された時系列のイベントをスライディングウィンドウによって複数のセンサデータに区分し、センサデータをサンプルデータXiに変換する
ようにコンピュータを機能させることも好ましい。
【0023】
本発明のプログラムにおける他の実施形態によれば、
センサは、室内に配置されたものであり、
ラベルは、室内の人の行動認識に対応するものである
ようにコンピュータを機能させることも好ましい。
【0024】
本発明によれば、複数の特徴量j(j=1~N)のベクトルからなる複数のサンプルデータXi={xi,1、xi,2、・・・、xi,N}について、ラベル有りサンプルデータの群を用いて、ラベル無しサンプルデータの群にラベルを付与する能動学習装置において、
ラベル有りサンプルデータXiを蓄積したラベル有りサンプルデータ蓄積手段と、
ラベル有りサンプルデータ蓄積手段を用いて、サンプルデータXiを説明変数とし、ラベルYk(k=1~L)を目的変数として訓練するクラス分類モデルを持つ機械学習エンジンと、
クラスに対応するラベルYk毎に、各特徴量jの知識条件を記憶した知識条件記憶手段と、
ラベル有りサンプルデータ蓄積手段に、ラベル有りサンプルデータが所定個未満となる空クラスが存在する場合、当該空クラスを特定する空クラス特定手段と、
知識条件記憶手段を用いて、ラベル無しサンプルデータの群から、当該空クラスに対応するラベルYclass_targetの一部又は全部の特徴量jの知識条件と所定類似度以上となるラベル無しサンプルデータを検索するサンプルデータ検索手段と、
検索されたラベル無しサンプルデータに、能動学習としての確認フラグを付与する確認フラグ付与手段と
を有することを特徴とする。
【0025】
本発明によれば、複数の特徴量j(j=1~N)のベクトルからなる複数のサンプルデータXi={xi,1、xi,2、・・・、xi,N}について、ラベル有りサンプルデータの群を用いて、ラベル無しサンプルデータの群にラベルを付与する装置の能動学習方法において、
装置は、
ラベル有りサンプルデータXiを蓄積したラベル有りサンプルデータ蓄積部と、
ラベル有りサンプルデータ蓄積部を用いて、サンプルデータXiを説明変数とし、ラベルYk(k=1~L)を目的変数として訓練するクラス分類モデルを持つ機械学習エンジンと、
クラスに対応するラベルYk毎に、各特徴量jの知識条件を記憶した知識条件記憶部と
を有し、
ラベル有りサンプルデータ蓄積部に、ラベル有りサンプルデータが所定個未満となる空クラスが存在する場合、当該空クラスを特定する第1のステップと、
知識条件記憶部を用いて、ラベル無しサンプルデータの群から、当該空クラスに対応するラベルYclass_targetの一部又は全部の特徴量jの知識条件と所定類似度以上となるラベル無しサンプルデータを検索する第2のステップと、
検索されたラベル無しサンプルデータに、能動学習としての確認フラグを付与する第3のステップと
を実行することを特徴とする。
【発明の効果】
【0026】
本発明における能動学習のプログラム、装置及び方法によれば、分類タスクの全クラスについてラベル有りサンプルデータを早急に蓄積するべく、サンプルデータにラベルを付与することができる。
【図面の簡単な説明】
【0027】
図1】本発明における能動学習装置の機能構成図である。
図2】フェーズ1の処理を表す説明図である。
図3】フェーズ3の処理を表す説明図である。
図4】本発明におけるフェーズ2の処理を表す説明図である。
図5】本発明におけるプログラムコードの例である。
図6】複数のセンサが配置されたユーザ宅内の例である。
図7】時系列のイベントの群をセンサデータに区分した説明図である。
図8】特徴量ベクトル変換部の処理を表す説明図である。
図9】本発明における知識条件記憶部を表すテーブルである。
図10】ユーザに行動状態を問い合わせるユーザインタフェースである。
図11】ユーザに知識条件を問い合わせるユーザインタフェースである。
【発明を実施するための形態】
【0028】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0029】
図1は、本発明における能動学習装置の機能構成図である。
【0030】
能動学習装置1は、複数の特徴量jのベクトルからなる複数のサンプルデータXiについて、ラベル有りサンプルデータの群を用いて、ラベル無しサンプルデータの群にラベルを付与する。
Xi:サンプルデータ{xi,1、xi,2、・・・、xi,N}
xi,j:サンプルデータxiの特徴量jの値
i:サンプルデータのインデックス
j:特徴量のインデックス(=1~N)
N:特徴量ベクトルの次元数
Yk:分類タスクのクラスに対応するラベル
k:ラベルのインデックス(=1~L)
L:分類タスクのクラス数
ラベル有りサンプルデータは、サンプルデータXiとラベルYkとの組<Xi,Yk>となる。ラベル有りサンプルデータは、ラベル無しサンプルデータ蓄積部101から除かれ、ラベル有りサンプルデータ蓄積部102に蓄積される。
【0031】
図1によれば、能動学習装置1は、ラベル無しサンプルデータ蓄積部101と、ラベル有りサンプルデータ蓄積部102と、Randomサンプリング部11と、知識条件記憶部120と、空クラス特定部121と、サンプルデータ検索部122と、確認フラグ付与部123と、知識条件更新部124と、機械学習エンジン130と、Uncertaintyサンプリング部13と、進行管理部14と、特徴量ベクトル変換部15とを有する。これら機能構成部は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置の能動学習方法としても理解できる。
【0032】
[ラベル無しサンプルデータ蓄積部101]
ラベル無しサンプルデータ蓄積部101は、ラベルが付与されていないサンプルデータXiの群を蓄積する。
【0033】
[ラベル有りサンプルデータ蓄積部102]
ラベル有りサンプルデータ蓄積部102は、ラベル有りサンプルデータXiの群を蓄積する。ラベル有りサンプルデータ蓄積部102は、ユーザによってラベルが付与されたサンプルデータと、Uncertaintyサンプリング部13によって推定されたラベルが付与されたサンプルデータとを蓄積する。
【0034】
[進行管理部14]
進行管理部14は、ラベル有りサンプルデータを作成する進行段階を管理する。
最初に、ラベル無しサンプルデータから、ラベル有りサンプルデータを作成していく過程として、以下の3つのフェーズが考えられる。
<フェーズ1>
ラベル有りサンプルデータの総数が所定数(N1)未満となる段階(例えばN1=10であって、コールドスタートとなる)
<フェーズ2>
ラベル有りサンプルデータの総数が所定数(N1)以上であって、且つ、ラベル有りサンプルデータが所定個未満となる空クラスが存在する段階(例えば所定個が1個の場合、空クラスに相当するラベル有りサンプルデータは存在しない)
<フェーズ3>
ラベル有りサンプルデータの総数が所定数(N1)以上であって、且つ、ラベル有りサンプルデータが所定個未満となる空クラスが存在しない段階
能動学習によれば、フェーズ1からフェーズ2、フェーズ3と進みながら、ラベル有りサンプルデータを収集していく。
【0035】
<フェーズ1>
図2は、フェーズ1の処理を表す説明図である。
【0036】
[Randomサンプリング部11]
フェーズ1では、Randomサンプリング方式又はDiversityサンプリング方式によって、ラベル無しサンプルデータに、能動学習としてユーザにラベルを付与させる。
【0037】
図2によれば、フェーズ1では、コールドスタートとして、サンプル無しデータ蓄積部101から、3つのラベル無しサンプルデータがランダムに選択され、ユーザによってラベルが付与されている。
ラベル無しサンプルデータ(ラベルA相当)->ラベルAサンプルデータ
ラベル無しサンプルデータ(ラベルB相当)->ラベルBサンプルデータ
ラベル無しサンプルデータ(ラベルB相当)->ラベルBサンプルデータ
ラベル有りサンプルデータ蓄積部102には、クラスaに対応するラベルAサンプルデータと、クラスbに対応するラベルBサンプルデータとは蓄積されているが、ラベルcに対応するラベルCサンプルデータは蓄積されていない。図2によれば、クラスa、b、cの分類タスクとして、ラベル有りサンプルデータが、クラスaに1個、クラスbに2個、クラスcに0個が分類されている。
【0038】
例えばラベルCに対応するクラスcは、頻度が低い(例えば1回の発生時間が短い)ため、全てのサンプルデータに占める割合も非常に小さいとする(例えば0.1%)。この場合、Randomサンプリング方式の場合、約1000回もの試行が必要になる可能性を意味する。
また、Diversityサンプリング方式の場合、割合が低いクラスcに相当するサンプルデータが、他のクラスに含まれるような場合もある。例えばクラスタ1にクラスcのサンプルデータが含まれるが、クラスタ1の大多数はクラスbのサンプルデータであるような場合がある。この場合、クラスcを分類するために、サンプルデータの選択回数が増大することも予想される。
【0039】
<フェーズ3>
図3は、フェーズ3の処理を表す説明図である。
【0040】
[機械学習エンジン130]
機械学習エンジン130は、ラベル有りサンプルデータ蓄積部102を用いて、サンプルデータXiを説明変数とし、ラベルYk(k=1~L)を目的変数として訓練したクラス分類モデルを持つ。機械学習エンジン130は、一般的なクラス分類に基づくものである。
【0041】
[Uncertaintyサンプリング部13]
フェーズ3では、機械学習エンジン130を用いて、Uncertaintyサンプリング方式によって、ラベル無しサンプルデータに能動学習としてユーザにラベルを付与させる。
図3によれば、フェーズ3では、サンプル有りデータ蓄積部102には、既に、多数のサンプルデータにラベル付けされている。ここでは、全てのクラスに対応する全てのラベルのラベル有りサンプルデータが、ラベル有りサンプルデータ蓄積部102に蓄積されていることを前提としている。
【0042】
前述した図2及び図3によれば、分類タスクの対象のクラスに対応するラベルとして、例えばラベルA~Cの3種類があるとする。ここで、図2のラベル有りサンプルデータ蓄積部102によって、図3の機械学習エンジン130を訓練した場合、例えば2つのラベル無しサンプルデータについて、以下のように出力したとする。
(サンプルデータ1)
ラベルA:0.4、ラベルB:0.6、ラベルC:0.0
(サンプルデータ2):
ラベルA:0.9、ラベルB:0.1、ラベルC:0.0
機械学習エンジン130は、出力情報として、各クラスの確率を表す。確率が最も大きいクラスに対応するラベルが、自動的に付与される。図2及び図3によれば、機械学習エンジン130は、ラベルCサンプルデータで訓練することができないために、クラスcに対応するラベルCについて確率は0.0となる。
【0043】
図3のUncertaintyサンプリング方式におけるMargin-samplingによれば、1番目と2番目の確率の差が小さい程、分類モデルにとって判断が難しいサンプルデータと考えらえる。
サンプルデータ1のMargin: 0.6-0.4=0.2
サンプルデータ2のMargin: 0.9-0.1=0.8
この場合、確率の差が小さいサンプルデータ1が選択される。このように選択されるサンプルデータは、分類モデルが内部に保持する各クラス間の分類境界に近いサンプルデータとなる。
【0044】
<本発明の意義>
ここで、全てのクラスにおいて十分な数のラベル有りサンプルデータが蓄積されていないラベル有りサンプルデータ蓄積部102を用いて機械学習エンジンの分類モデルを訓練した場合、クラスcの分類境界は不明となる。即ち、ラベル無しサンプルデータの中から、ラベルCに相当するラベル無しサンプルデータを選択した場合、そのラベルの付与を誤ることとなる。具体的には、この段階におけるクラス分類モデルは、クラスa及びクラスbの確率のみを出力し、分類境界は、クラスaとクラスbとの間に現れる。クラスcの確率は出力されず、クラスaとクラスcとの間、及び、クラスbとクラスcとの間の分類境界も持たない。結果的に、クラスa及びクラスbの分類境界付近のサンプルデータを選び続けてしまう。そして、クラスcのサンプルデータが選択されるまで、多くのラベル無しサンプルデータの選択が必要になる。
【0045】
即ち、フェーズ3への移行前に、クラスaにラベルAサンプルデータを含み、クラスbにラベルBサンプルデータを含み、クラスcにラベルCサンプルデータを含むことができればよい。フェーズ1によって全てのクラスがそれぞれラベル有りサンプルデータを蓄積することができれば、フェーズ3へ移行することができる。
【0046】
本発明によれば、分類タスクでの能動学習について、フェーズ1から、できるだけ少ないサンプルデータの選択回数(即ち、ユーザのラベリング回数)で、フェーズ3に移行することができる。
【0047】
<フェーズ2>
図4は、本発明におけるフェーズ2の処理を表す説明図である。
【0048】
図4によれば、能動学習装置1は、フェーズ2における「知識ベースサンプリング方式」を実現する。本発明におけるフェーズ2では、ラベル有りサンプルデータが所定個(例えば1個)未満となる空クラスを無くすことによって、できるだけ早くフェーズ3へ移行させることができる。即ち、コールドスタートからのRandomサンプリング方式やDiversityサンプリング方式から、Uncertaintyサンプリング方式にできる限り早く切り替えることができる。その間、クラスに関する知識条件を利用して、ラベル無しサンプルデータの群の中から、空クラスに相当する可能性が高いサンプルデータを選択する。
【0049】
[知識条件記憶部120]
知識条件記憶部120は、クラスに対応するラベルYk毎に、各特徴量jの知識条件を記憶する。知識条件としては、「一般的知識」と「対象環境知識」とがある。
「一般的知識」は、ラベル毎に、インターネット上のWebサイト等から収集された知識情報や、他の環境で収集された統計情報(例えば平均値など)であってもよい。これは、一般的であろう初期の知識条件であって、第三者であっても一度生成されれば流用できる情報である。
「対象環境知識」は、現環境にあってユーザに問い合わせることによって逐次に取得される情報である。但し、ユーザの回答負荷がその都度発生することとなる。
そのために、例えば、初期にはユーザの回答負荷がなく利用できる一般的知識を適用し、必要に応じて対象環境知識をユーザに問合せることを想定する。
【0050】
知識条件としては、各クラスに関する特徴量j毎の値やその範囲などである。クラスk(k=1~L)の特徴量jの知識条件をcondition_k,jとする。クラスkの特徴量jの知識条件が無い場合や、取得できていない場合は、condition_k,j=nullとする。例えば知識条件として、以下のようなものがある。
xi,j=value1 :xi,jの値はvalue1(定数)である
xi,j!=value1 :xi,jの値はvalue1(定数)ではない
value1<xi,j<value2 :xi,jの値はvalue1(定数)より大きく、value2より小さい
尚、知識条件記憶部120の具体例は、図10によって後述する。
【0051】
[空クラス特定部121]
空クラス特定部121は、ラベル有りサンプルデータ蓄積部102に、ラベル有りサンプルデータが所定個未満となる空クラスが存在する場合、当該空クラスを特定する。「所定個」が、1個である場合、ラベル有りサンプルデータが0個であるクラスが空クラスとなる。また、2個である場合、ラベル有りサンプルデータが0個又は1個であるクラスが空クラスとなる。図4によれば、空クラス特定部121は、クラスcを空クラスとして特定する。
【0052】
[サンプルデータ検索部122]
サンプルデータ検索部122は、知識条件記憶部120を用いて、ラベル無しサンプルデータの群から、当該空クラスに対応するラベルYclass_targetの一部又は全部の特徴量jの知識条件と所定類似度以上となるラベル無しサンプルデータを検索する。
【0053】
ここで、知識条件記憶部120によって、以下の2つのパターンがある。
(パターン1)知識条件記憶部120に、空クラスに対応するラベルYclass_target(図4のラベルC)について知識条件が記憶されているが、ラベル有りサンプルデータ蓄積部102に、ラベル有り(図4のラベルC)サンプルデータが所定個未満となる空クラスが存在する場合がある。
この場合、サンプルデータ検索部122は、空クラスに対応するラベルYclass_target(図4のラベルC)の一部又は全部の特徴量jの知識条件と最も類似するラベル無しサンプルデータを選択する。
【0054】
(パターン2)知識条件記憶部120に、空クラスに対応するラベルYclass_target(図4のラベルC)について知識条件が記憶されていない場合がある。
この場合、サンプルデータ検索部122は、ラベル有りサンプルデータ蓄積部102の中で複数のラベル有りサンプルデータの特徴量と最も類似度が低い特徴量を持つラベル無しサンプルデータを検索する。図4によれば、選択されるラベル無しサンプルデータは、クラスA及びBから最も遠いクラスに分類されるものであると想定される。
【0055】
[確認フラグ付与部123]
確認フラグ付与部123は、検索されたラベル無しサンプルデータに、能動学習としての確認フラグを付与する。
【0056】
確認フラグ付与部123は、確認フラグが付与されたラベル無しサンプルデータをユーザインタフェースへ出力し、ユーザにラベルYkを付与させる。これによって、ラベル有りサンプルデータ蓄積部102は、ユーザによってラベルYkが付与されたラベル有りサンプルデータを蓄積する。図4によれば、ユーザによって、選択されたサンプルデータに、ラベルCが付与されている。
【0057】
その後、機械学習エンジン130は、ユーザによってラベルYkが付与されたラベル有りサンプルデータで、分類クラスをモデルを訓練する。
【0058】
[知識条件更新部124]
知識条件更新部124は、空クラスに対応するラベルYclass_target(図3によればラべルC)における一部の特徴量jの知識条件の項目をユーザインタフェースへ出力し、ユーザによって入力された知識条件によって知識条件記憶部120を更新する。
これによって、空クラスに対応するラベルにおける特徴量の知識条件を補充することによって、フェーズ2におけるサンプルデータに対して適切にクラスを分類することができる。
【0059】
図5は、本発明におけるプログラムコードの例である。
【0060】
能動学習によれば、フェーズ1からフェーズ2、フェーズ3と進みながら、ラベル有りサンプルデータを選択していく。
図5によれば、入力情報として、以下のように与えられる。
(input)
US :ラベル無しサンプルデータ
class_list={1,2,…,L} :分類タスクのクラスのリスト
BUDGET :ラベリング回数の上限
phase_definition :フェーズ定義
strategy :各フェーズで用いるサンプリング方式
knowledge=condition_k,j :一般的知識
【0061】
(1-3行目)初期化処理を実施する。
LS=0:ラベル有りサンプルデータ0
phase=1:フェーズ1
strategy:Randomサンプリング
F:クラス分類モデルは、nullに設定する。
【0062】
<フェーズ1:Randomサンプリング方式>
(4-17行目)ループ処理によって、能動学習として、サンプルデータの選択と、クラス分類モデルの更新とを繰り返す。
(5行目)ラベル無しサンプルデータUSからランダムにサンプルデータを選択する
(6行目)ラベル無しサンプルデータをユーザへ問い合わせて、ラベルを得る
(7-9行目)ラベル無しサンプルデータUSとラベル有りサンプルデータLSとを更新する
(10行目)クラス分類モデルFを訓練する
(11行目)ラベル有りサンプルデータの総数が所定数(N1)未満となる段階(例えばN1=10)では、フェーズ1を繰り返す。ラベル有りサンプルデータの総数が所定数となった後、フェーズ2へ移行し、知識ベースサンプリング方式へ切り替える。ここで、全てのクラスについてラベル有りサンプルデータが収集できている場合、フェーズ1で既にフェーズ2の終了条件を満たしていることとなる。この場合、フェーズ2をスキップし、フェーズ3へ移行し、Uncertaintyサンプリング方式に切り替える。
【0063】
<フェーズ2:知識ベースサンプリング方式>
(5行目)以下の手順で、サンプルデータを選択する。
(S1)ラベル有りサンプルデータの総数が所定数(N1)以上であって、且つ、ラベル有りサンプルデータLSが所定個(例えば1個)未満となる空クラスが存在するか否かを判定する。空クラスは、class_target(1~L)とする。その空クラスのラベルは、Yclass_targetとする。空クラスが複数ある場合は、その中の1つを(ランダムに)選択して、class_targetとする。
(S2)空クラスclass_targetに対応する知識条件condition_class_target,j(j=1~N)が記憶されている場合、空クラスに対応するラベルYclass_targetの一部又は全部の特徴量jの知識条件と最も類似するラベル無しサンプルデータを選択する。
一方で、空クラスclass_targetに対応する知識条件condition_class_target,jの一部又は全部がnullである(知識条件が記憶されていない)場合、ラベル有りサンプルデータの群LSの中で、複数のラベル有りサンプルデータの特徴量と最も類似度が低い特徴量を持つラベル無しサンプルデータを検索する。
【0064】
(11行目)ラベル有りサンプルデータの総数が所定数(N1)以上であって、且つ、ラベル有りサンプルデータが所定個未満となる空クラスが存在しない場合、フェーズ3に移行するべく、サンプルデータ選択方式をUncertainty サンプリング方式に切り替える。
【0065】
(14-16行目)知識更新処理を実行する。空クラスclass_targetについて、以下の3つの条件を確認する。
(条件1)知識条件condition_class_target,jの一部又は全部がnullである(知識条件が記憶されていない)場合
(条件2)知識条件condition_class_target,jに合致するサンプルデータがラベル無しサンプルデータUSに所定個(例えば1個)未満となる場合
(条件3)空クラスclass_targetに対して、既に所定複数回(例えば5回)以上のサンプルデータの選択を実行しているが、所定個(例えば1個)以上のラベル有りサンプルデータが揃っていない場合
尚、条件3の補足として、空クラスclass_targetの知識条件を用いてサンプルデータを選択した場合、成功(class_targetのラベル有りサンプルデータを得られる)と失敗とがある。ここで、失敗が複数回続く場合に条件3を満足するものとする。
これら3つの条件のいずれかを満たす場合、「知識更新の必要有り」と判断して、空クラスclass_targetに関する環境固有の知識条件をユーザに問合せる。ユーザから得られた知識条件によって空クラスの知識条件condition_class_target,jを更新する。そして、その後の知識ベースサンプリング方式に利用する。
一方で、これら3つの条件の全てを満たさない場合、「知識更新の必要無し」と判断して、次のサンプルデータの選択へ移行する。
【0066】
<フェーズ3:Uncertaintyサンプリング方式>
Uncertainty サンプリング方式でサンプルデータの選択を繰り返し、ラベリング回数がBUDGETに到達したら終了する。
【0067】
本発明によれば、例えばスマートホームにおける人の行動推定に適用することもできる。このような用途では、本来、大量のラベル付きサンプルが必要となり、且つ、プライバシーや精度向上の観点からユーザ自身によるラベル付与が望ましい。このとき、本発明によれば、ユーザ側のラベル付与の負担を大幅に軽減することができる。
【0068】
図6は、複数のセンサが配置されたユーザ宅内の例である。
【0069】
図6によれば、ユーザの宅内に、IoTデバイスとして、例えば以下のような多種多様な室内センサが配置されている。
寝室人感センサ(ON/OFF)
温度センサ
リビング人感センサ(ON/OFF)
風呂人感センサ(ON/OFF)
キッチン人感センサ(ON/OFF)
玄関人感センサ(ON/OFF)
ドアセンサ(ON/OFF)
センサは、室内環境や室内機器の状態や変化をイベントとして検知する。人感センサは、人の動きを検知した際にON、検知できなくなった際にOFFを出力する。温度センサは、部屋の温度を定期的に測定する。ドアセンサは、ドアの開閉に応じて、ON/OFFを出力する。そして、各センサは、検知したイベントを、能動学習装置1へ送信する。
【0070】
図6によれば、能動学習装置1へ入力される時系列のイベントが表されている。能動学習装置1は、イベントを時系列順に並べて構成する。時系列のイベントの群は、その室内に滞在する人が行動(外出、睡眠、料理、食事、仕事、薬の接種など)した結果といえる。これらセンサのイベントをパターン解析することによって、人の行動認識が可能となる。
【0071】
図7は、時系列のイベントの群をセンサデータに区分した説明図である。
【0072】
複数のセンサによって検知された時系列のイベントは、スライディングウィンドウ(Sliding Window)によって複数のセンサデータに区分される。図7によれば、センサデータを、例えば10個のイベント{x1,x2,・・・,x10}毎に区分して、所定個ずつ(例えば1個ずつ)スライドさせていく。x1が最も古いイベントを表し、x10最も新しいイベントを表す。
【0073】
図7によれば、最初のセンサデータは、以下のようなデータ要素を持つ。
x1:リビング人感センサON
x2:寝室人感センサON
x3:寝室人感センサOFF
x4:リビング人感センサON
x5:風呂人感センサON
x6:リビング人感センサOFF
x7:温度センサ18度
x8:キッチン人感センサON
x9:風呂人感センサOFF
x10:リビング人感センサON
【0074】
図8は、特徴量ベクトル変換部の処理を表す説明図である。
【0075】
[特徴量ベクトル変換部15]
特徴量ベクトル変換部15は、複数のセンサにおけるセンサデータを、複数の特徴量j(j=1~N)のベクトルからなるサンプルデータXi={xi,1、xi,2、・・・、xi,N}に変換する。
図8によれば、以下のN=11次元の特徴量を定義している。
1 時間帯(0~23)
2 ウィンドウデータの時間差(秒)
3 検知回数が最も多いセンサ
4 人感センサの検知回数
5 ドアセンサの検知回数
6 温度センサの検知回数
7 リビング人感センサの検知回数
8 キッチン人感センサの検知回数
9 風呂人感センサ検知回数
10 寝室人感センサの検知回数
11 玄関人感センサの検知回数
【0076】
また、図8によれば、最初のセンサデータは、以下のような、11次元の特徴量からなるサンプルデータに変換される。
サンプルデータX1={19,300,2,9,0,1,4,1,1,2,0}
【0077】
図9は、本発明における知識条件記憶部を表すテーブルである。
【0078】
ラベルは、室内の人の行動認識に対応するものである。知識条件記憶部120には、クラスに対応するラベル毎に、特徴量毎の知識条件が蓄積されている。
図9によれば、クラスに対応する行動認識のラベルは、「外出」「睡眠」「料理」「食事」「仕事」「薬の摂取」の6個(L=6)であるとする。例えば「睡眠」の知識条件として、時間帯は0時~8時であって、検知回数が最も多いセンサは寝室人感センサであるとする。また、例えば「料理」の知識条件として、時間帯は11時~13時及び17時~20時であって、検知回数が最も多いセンサはキッチン人感センサであるとする。これら知識条件には、前述したように、「一般的知識」と「対象環境知識」とがある。
【0079】
前述したサンプルデータ検索部122は、知識条件記憶部120を用いて、空クラスに対応するラベルYclass_targetの特徴量jの知識条件と所定類似度以上となるラベル無しサンプルデータを検索する。ここで、一部の特徴量j(例えばj=1,3のみ)の知識条件を比較するものであってもよいし、全部の特徴量j(例えばj=1~Nの全て)の知識条件を比較するものであってもよい。
【0080】
図10は、ユーザに行動状態を問い合わせるユーザインタフェースである。
【0081】
図10によれば、全てのフェーズ(フェーズ1、フェーズ2、フェーズ3)で、ユーザに、サンプルデータへのラベル付与を問い合わせる画面表示の例が表されている。
フェーズ1では、Randomサンプリング部11によって選択されたサンプルデータについて、ユーザにラベル付与が問い合わされる。
フェーズ2では、確認フラグ付与部123によってフラグが付与されたサンプルデータについて、ユーザにラベル付与が問い合わされる。
フェーズ3では、Uncertaintyサンプリング部13によって選択されたサンプルデータについて、ユーザにラベル付与が問い合わされる。
【0082】
図11は、ユーザに知識条件を問い合わせるユーザインタフェースである。
【0083】
図11によれば、フェーズ2の知識条件更新部124によって、ユーザに、空クラスに対応するラベルについて、特徴量jの知識条件がユーザに問い合わされる。例えば空クラスに対応するラベルYclass_targetが「薬の摂取」である場合、その知識条件「時間帯」及び「場所」がユーザに問い合わされる。
(問い合わせ)
「あなたの「薬の摂取」における[時間帯]と[場所]とを教えてください」
(ユーザの回答)
時間帯:10:00~12:00
場所 :リビング
これら知識条件は、知識条件記憶部120に蓄積される。そして、その後のフェーズ2におけるサンプルデータの選択で利用される。
【0084】
<その他の実施形態>
前述の実施形態によれば、人の行動認識の用途における分類タスクについて説示したが、勿論、画像分類や異常検知の用途であっても、クラス分布が不均衡である分類タスクに対して、本発明を適用することができる。
画像分類としては、例えば動物の種類の画像分類。希少種のサンプルデータの割合が低く、ラベル有りサンプルデータが無い場合など、希少種の知識(色、形の特徴など)に適用することができる。
異常検知としては、例えばカメラ映像について、異常状態の発生頻度が低く、ラベル有りサンプルデータが無い場合など、異常状態の知識(映像内に多数の人が含まれるなど)に適用することができる。
【0085】
また、AIがサンプルデータを選択し、ユーザがラベルを付与する以外のシナリオ例として、例えば以下のような、ユーザがサンプル選択する例がある。
(例1)ラベル無しサンプルデータの中から、各クラスのサンプルデータをユーザが探し出す。但し、ラベル無しサンプルデータの絶対数が膨大な場合、ユーザ負荷が非常に高くなることが想定される。
(例2)各クラスのサンプルデータが発生した瞬間に、ユーザがAIに通知する。これは、行動認識の場合に、当該行動を実施した瞬間にユーザがAIに通知することで、各クラスのラベル有りサンプルデータを着実に揃えることができる。但し、当該行動を実施した際にAIに通知することを記憶しながら、1日の生活を進めることは、ユーザ負荷が高い場合が想定される。
【0086】
以上、詳細に説明したように、本発明の能動学習のプログラム、装置及び方法によれば、分類タスクの全クラスについてラベル有りサンプルデータを早急に蓄積するべく、サンプルデータにラベルを付与することができる。
また、本発明によれば、分類タスクでの能動学習について、コールドスタートであっても、できるだけ少ないサンプルデータの選択回数で、能動学習へ移行することができる。即ち、ユーザやアノテータによるラベル付与の回数が少なく、その作業コストを軽減することができる。
【0087】
尚、これにより、例えば「サンプルデータに対するユーザのラベリングの負担を軽減することができる」ことから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。
【0088】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0089】
1 能動学習装置
101 ラベル無しサンプルデータ蓄積部
102 ラベル有りサンプルデータ蓄積部
11 Randomサンプリング部
120 知識条件記憶部
121 空クラス特定部
122 サンプルデータ検索部
123 確認フラグ付与部
124 知識条件更新部
130 機械学習エンジン
13 Uncertaintyサンプリング部
14 進行管理部
15 特徴量ベクトル変換部

図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11