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

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

▶ 株式会社JVCケンウッドの特許一覧

特許7586004機械学習装置、機械学習方法、および機械学習プログラム
<>
  • 特許-機械学習装置、機械学習方法、および機械学習プログラム 図1
  • 特許-機械学習装置、機械学習方法、および機械学習プログラム 図2
  • 特許-機械学習装置、機械学習方法、および機械学習プログラム 図3
  • 特許-機械学習装置、機械学習方法、および機械学習プログラム 図4
  • 特許-機械学習装置、機械学習方法、および機械学習プログラム 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-11
(45)【発行日】2024-11-19
(54)【発明の名称】機械学習装置、機械学習方法、および機械学習プログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20241112BHJP
   G06N 3/096 20230101ALI20241112BHJP
   G06F 18/23 20230101ALI20241112BHJP
【FI】
G06N20/00 130
G06N3/096
G06F18/23
【請求項の数】 4
(21)【出願番号】P 2021115105
(22)【出願日】2021-07-12
(65)【公開番号】P2023011312
(43)【公開日】2023-01-24
【審査請求日】2024-03-29
(73)【特許権者】
【識別番号】308036402
【氏名又は名称】株式会社JVCケンウッド
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】高見 真季
(72)【発明者】
【氏名】竹原 英樹
(72)【発明者】
【氏名】木田 晋吾
(72)【発明者】
【氏名】楊 尹誠
【審査官】山本 俊介
(56)【参考文献】
【文献】特開2012-181280(JP,A)
【文献】特開2020-184235(JP,A)
【文献】米国特許第10162794(US,B1)
【文献】韓国公開特許第10-2019-0004429(KR,A)
【文献】韓国公開特許第10-2020-0056183(KR,A)
【文献】中国特許出願公開第113095446(CN,A)
【文献】Ali Ayub et al.,Cognitively-Inspired Model for Incremental Learning Using a Few Examples,arXiv [online],2020年07月30日,https://arxiv.org/abs/2002.12411,[2024年6月14日検索]
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
G06F 18/00-18/40
(57)【特許請求の範囲】
【請求項1】
学習済みモデルを用いて入力サンプルの特徴ベクトルを抽出する特徴抽出部と、
前記入力サンプルの特徴ベクトルおよび前記入力サンプルが属するクラスに基づき、前記入力サンプルをクラスタリングしてクラス毎のセントロイドを生成するクラスタリング部と含み、
前記クラスタリング部は、学習済みモデルを生成する際に用いられたベースクラスのトレーニングデータセットのサンプルをクラスタリングする初期セッションと、新しく追加する新規クラスのトレーニングデータセットのサンプルをクラスタリングする追加セッションとで、クラスタリングで用いるパラメータを異ならせ
前記クラスタリング部は、前記初期セッションにおいて用いられる閾値を前記追加セッションにおいて用いられる前記閾値よりも大きく設定することを特徴とする機械学習装置。
【請求項2】
前記クラスタリング部は、前記入力サンプルが属するクラスの複数のセントロイドの内、前記入力サンプルの特徴ベクトルに最も近い最近傍セントロイドを選択し、前記入力サンプルと前記最近傍セントロイドの距離が前記パラメータである前記閾値未満である場合、前記入力サンプルの特徴ベクトルを前記最近傍セントロイドに統合し、前記距離が前記閾値以上である場合、前記入力サンプルの特徴ベクトルを前記入力サンプルが属するクラスのセントロイドとして新しく追加することを特徴とする請求項1に記載の機械学習装置。
【請求項3】
学習済みモデルを用いて入力サンプルの特徴ベクトルを抽出する特徴抽出ステップと、
前記入力サンプルの特徴ベクトルおよび前記入力サンプルが属するクラスに基づき、前記入力サンプルをクラスタリングしてクラス毎のセントロイドを生成するクラスタリングステップとを含み、
前記クラスタリングステップは、学習済みモデルを生成する際に用いられたベースクラスのトレーニングデータセットのサンプルをクラスタリングする初期セッションと、新しく追加する新規クラスのトレーニングデータセットのサンプルをクラスタリングする追加セッションとで、クラスタリングで用いるパラメータを異ならせ
前記クラスタリングステップは、前記初期セッションにおいて用いられる閾値を前記追加セッションにおいて用いられる前記閾値よりも大きく設定することを特徴とする機械学習方法。
【請求項4】
学習済みモデルを用いて入力サンプルの特徴ベクトルを抽出する特徴抽出ステップと、
前記入力サンプルの特徴ベクトルおよび前記入力サンプルが属するクラスに基づき、前記入力サンプルをクラスタリングしてクラス毎のセントロイドを生成するクラスタリングステップとをコンピュータに実行させ、
前記クラスタリングステップは、学習済みモデルを生成する際に用いられたベースクラスのトレーニングデータセットのサンプルをクラスタリングする初期セッションと、新しく追加する新規クラスのトレーニングデータセットのサンプルをクラスタリングする追加セッションとで、クラスタリングで用いるパラメータを異ならせ
前記クラスタリングステップは、前記初期セッションにおいて用いられる閾値を前記追加セッションにおいて用いられる前記閾値よりも大きく設定することを特徴とする機械学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習技術に関する。
【背景技術】
【0002】
人間は長期にわたる経験を通して新しい知識を学習することができ、昔の知識を忘れないように維持することができる。一方、畳み込みニューラルネットワーク(Convolutional Neural Network(CNN))の知識は学習に使用したデータセットに依存しており、データ分布の変化に適応するためにはデータセット全体に対してCNNのパラメータの再学習が必要となる。CNNでは、新しいタスクについて学習していくにつれて、昔のタスクに対する推定精度は低下していく。このようにCNNでは連続学習を行うと新しいタスクの学習中に昔のタスクの学習結果を忘れてしまう致命的忘却(catastrophic forgetting)が避けられない。
【0003】
致命的忘却を回避する手法として、学習済みモデルに対して新たなクラスを追加で学習させ、既存のクラスの分類とともに、新たなクラスの分類を可能にするクラスインクリメンタル学習が提案されている。
【0004】
特許文献1には、インクリメンタル学習のための認知的インスピレーションモデルとしてCBCL(Centroid-Based Concept Learning)と呼ばれる手法が提案されている。CBCLでは、データサンプルから抽出した特徴をクラスタリングしてセントロイド(重心)の形で保存し、近傍のセントロイドに基づく重み付き投票によりラベルの予測を行う。
【先行技術文献】
【特許文献】
【0005】
【文献】A. Ayub and A. R. Wagner, "Cognitively-Inspired Model for Incremental Learning Using a Few Examples," 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), 2020, pp. 897-906.
【発明の概要】
【発明が解決しようとする課題】
【0006】
CBCLでは、事前学習済みモデルを用いて新規クラスのトレーニングデータセットのサンプルをクラスタリングするが、事前学習済みモデルの生成に用いられたベースクラスのトレーニングデータセットのサンプルはクラスタリングしない。CBCLをベースクラスのクラスタリングを行う初期セッションと新規クラスのクラスタリングを行う追加セッションを組み合わせたインクリメンタル学習に拡張する場合、初期セッションと追加セッションにおいてクラスタリングに用いるパラメータを共通にすると、ベースクラスのセントロイドの数と新規クラスのセントロイドの数に偏りが生じる可能性が高い。それにより、セントロイドに基づく投票がベースクラスと新規クラスとの間で公平に行われず、分類精度が悪化することが予想される。また、最適なセントロイド数はベースクラスと新規クラスとの間で差があると考えられるため、セントロイドの保存に要するメモリの使用にも無駄が生じることが予想される。
【0007】
本発明はこうした状況に鑑みてなされたものであり、その目的は、ベースクラスのクラスタリングを行う初期セッションと新規クラスのクラスタリングを行う追加セッションを組み合わせたインクリメンタル学習において分類精度の向上とメモリ使用の効率化を図ることができる機械学習技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様の機械学習装置は、学習済みモデルを用いて入力サンプルの特徴ベクトルを抽出する特徴抽出部と、前記入力サンプルの特徴ベクトルおよび前記入力サンプルが属するクラスに基づき、前記入力サンプルをクラスタリングしてクラス毎のセントロイドを生成するクラスタリング部と含む。前記クラスタリング部は、学習済みモデルを生成する際に用いられたベースクラスのトレーニングデータセットのサンプルをクラスタリングする初期セッションと、新しく追加する新規クラスのトレーニングデータセットのサンプルをクラスタリングする追加セッションとで、クラスタリングで用いるパラメータを異ならせる。
【0009】
本発明の別の態様は、機械学習方法である。この方法は、学習済みモデルを用いて入力サンプルの特徴ベクトルを抽出する特徴抽出ステップと、前記入力サンプルの特徴ベクトルおよび前記入力サンプルが属するクラスに基づき、前記入力サンプルをクラスタリングしてクラス毎のセントロイドを生成するクラスタリングステップとを含む。前記クラスタリングステップは、学習済みモデルを生成する際に用いられたベースクラスのトレーニングデータセットのサンプルをクラスタリングする初期セッションと、新しく追加する新規クラスのトレーニングデータセットのサンプルをクラスタリングする追加セッションとで、クラスタリングで用いるパラメータを異ならせる。
【0010】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0011】
本発明によれば、ベースクラスのクラスタリングを行う初期セッションと新規クラスのクラスタリングを行う追加セッションを組み合わせたインクリメンタル学習において分類精度の向上とメモリ使用の効率化を図ることができる。
【図面の簡単な説明】
【0012】
図1】第1の実施の形態のインクリメンタル学習の処理の流れを説明する図である。
図2】第1の実施の形態に係る機械学習装置の構成図である。
図3図3(a)および図3(b)は、図1の機械学習装置による機械学習手順を説明するフローチャートである。
図4】第2の実施の形態に係る推論装置の構成図である。
図5図4の推論装置による推論手順を説明するフローチャートである。
【発明を実施するための形態】
【0013】
(第1の実施の形態)
CBCLでは、事前学習済みモデルを更新することなく特徴抽出器として使用する。CBCLは、事前学習済みモデルを生成する際に用いた事前学習したクラス(「ベースクラス」と呼ぶ)を分類することは前提としておらず、事前学習とは関連のない新しいクラス(「新規クラス」と呼ぶ)を継続的に学習することを想定している。
【0014】
一方で、一般にインクリメンタル学習の多くの手法は、ベースクラスの分類能力を保持したまま、追加で新規クラスの分類を可能とするように学習を行う。新規クラスの分類ができるようになるだけでなく、ベースクラスの分類精度も極端に悪くならないように、破滅的忘却の防止に留意したアルゴリズムが考案されている。
【0015】
CBCLは、ベースクラスのクラスタリングを前提としたアルゴリズムではないが、第1の実施の形態では、CBCLを一般のインクリメンタル学習のようにベースクラスと新規クラスの両方のクラスタリングに拡張することを前提とする。
【0016】
図1は、CBCLをベースクラスのクラスタリングと新規クラスのクラスタリングを組み合わせたインクリメンタル学習に拡張した場合の処理の流れを説明する図である。
【0017】
ベースクラスのトレーニングデータセット300を用いて生成された事前学習済みモデルを特徴抽出器として予め選択する(S10)。事前学習済みモデルは以降の処理において更新されず、固定である。
【0018】
ベースクラスに対してCBCLのアルゴリズムを適用する一連の処理を「初期セッション」と呼ぶ。初期セッションではベースクラスのトレーニングデータセット300を入力し、ベースクラスに対してクラス毎にセントロイドを生成する(S20)。初期セッションに入力されるデータサンプルは、事前学習で使用したトレーニングデータのすべてまたは一部、あるいは事前学習で使用したトレーニングデータと同じクラスでかつ特徴の似たデータが好ましい。ベースクラスのクラス数は事前学習で分類可能なクラス数に影響される。
【0019】
新規クラスに対してCBCLのアルゴリズムを適用する一連の処理を「追加セッション」と呼ぶ。初期セッションの後、追加セッションではセッション毎に新規クラスのトレーニングデータセット310、320、330を入力し、新規クラスに対してクラス毎にセントロイドを生成する(S21、S22、S23)。新規クラスのクラス数は限定しない。追加セッションはセッション単位で継続的に繰り返されることを前提としており、新規クラスC1の追加セッションS1(S21)、新規クラスC2の追加セッションS2(S22)、新規クラスC3の追加セッションS3(S23)…と続く。各追加セッションにおいて各新規クラスに対してクラス毎にセントロイドが生成される。この時、各セッションは前段のセッションのクラス毎のセントロイドを引き継ぐことになる。なお、後段のセッションで扱う新規クラスは、既出でないクラスとする場合が主となるが、既出のクラスを再度扱う場合もあり得る。
【0020】
図2は、第1の実施の形態に係る機械学習装置100の構成図である。機械学習装置100は、特徴抽出部10、学習済みモデル記憶部20、セントロイド生成部30、セントロイド記憶部50、およびラベル予測部60を含む。セントロイド生成部30はクラスタリング部40を含み、ラベル予測部60は、近傍セントロイド選択部70および重み付き投票部80を含む。
【0021】
機械学習装置100は、トレーニングデータの入力を受けて、CBCLの手法によってクラスタリングを学習し、各クラスのセントロイドを生成し、未知データサンプルに対してセントロイドにもとづいてラベル予測を行う。あるトレーニングデータセットに対する一連の学習処理をセッションと捉えると、CBCLはセッション単位で継続的に学習を繰り返されることを前提とする。各セッションにおけるトレーニングデータセットのクラス数は限定しない。図1を参照してCBCLアルゴリズムを適用したセッションの処理内容を説明するが、処理内容は初期セッションと各追加セッションにおいて同様である。
【0022】
各セッションにおいて、機械学習装置100に学習対象となるトレーニングデータセットが入力されると、特徴抽出部10は、学習済みモデル記憶部20から予め選択した事前学習済みモデルを読み出し、事前学習済みモデルを特徴抽出手段として用いて、トレーニングデータセットの入力サンプルの特徴ベクトルを抽出する。サンプルの一例は画像であるが、サンプルは必ずしも画像に限るものではない。
【0023】
学習フェーズにおいて、特徴抽出部10は、抽出された入力サンプルの特徴ベクトルをセントロイド生成部30に供給する。セントロイド生成部30は、入力サンプルの特徴ベクトルおよび入力サンプルが属するクラスのラベルに基づき、入力サンプルをクラスタリングしてクラス毎のセントロイドを生成し、生成したクラス毎のセントロイドをセントロイド記憶部50に記憶する。
【0024】
セントロイド生成部30は、クラスタリング部40を含み、一例としてAgg-Varクラスタリングと呼ばれる機械学習を繰り返すことによってクラス毎のセントロイドを生成する。クラス毎のセントロイド数は1つまたは複数であり、全クラスで一定ではない。
【0025】
クラスタリング部40は、入力サンプルの特徴ベクトルと入力サンプルが属するクラスの各セントロイドとの距離を計算し、入力サンプルが属するクラスの複数のセントロイドの内、入力サンプルの特徴ベクトルに最も近い最近傍セントロイドを選択する。クラスタリング部40は、入力サンプルと最近傍セントロイドの距離dminを閾値Dと比較することにより、入力サンプルの特徴ベクトルを最近傍セントロイドに統合するか、入力サンプルの特徴ベクトルを入力サンプルが属するクラスのセントロイドとして新しく追加するかを決める。具体的には、クラスタリング部40は、入力サンプルと最近傍セントロイドの距離dminが閾値D未満(dmin<D)の場合、入力サンプルの特徴ベクトルを最近傍セントロイドに統合し、距離dminが閾値D以上(dmin≧D)の場合、入力サンプルの特徴ベクトルを入力サンプルが属するクラスのセントロイドとして新しく追加する。
【0026】
セッション毎のトレーニングデータセットのすべてにAgg-Varクラスタリングを適用すると、そのセッションにおける全クラスのセントロイドが確定する。前段のセッションのセントロイドは引き継がれるため、前段のセッションまでに学習されたクラスのセントロイドを含みながら、後段のセッションにおいてセントロイドが更新されていく。なお、前述のように後段のセッションで既出のクラスを扱う場合には、その既出のクラスに対し既に生成されたセントロイドを初期状態として、Agg-Varクラスタリングの処理が行われる。
【0027】
推論フェーズにおいて、特徴抽出部10は、未知サンプルから抽出された特徴ベクトルをラベル予測部60に供給する。ラベル予測部60は、セントロイド記憶部50に記憶された確定したセントロイドに基づき、各サンプルのクラスラベルの予測を行う。
【0028】
ラベル予測部60において、近傍セントロイド選択部70は、未知サンプルの特徴ベクトルに対して、各クラスのすべてのセントロイドとの距離を考慮してn近傍のセントロイドを選択する。
【0029】
重み付き投票部80は、近傍セントロイド選択部70により選択されたn個のセントロイドのそれぞれが属する候補クラスに対して、未知サンプルの特徴ベクトルとn近傍のセントロイドとの距離に応じた重みを付けて候補クラスy毎の予測スコアPred(y)を算出することにより、重み付き投票を行う。距離に応じた重みとして、たとえば距離の逆数を用いる。すなわち距離が短いほど投票に与える重みが大きくなる。
【0030】
重み付き投票部80は、予測スコアPred(y)が最大値をとる候補クラスに付与されたラベルを未知サンプルのクラスラベルとして予測する。
【0031】
なお、Agg-Varクラスタリングや予測スコアの算出などCBCLの処理は特許文献1に記載の方法を用いることができる。
【0032】
従来のCBCLでは、Agg-Varクラスタリングのパラメータである閾値Dは、1回の学習において1つであり、特に制御されない固定値である。ここで、従来のCBCLにしたがって閾値Dを固定として、図1および図2で説明した各セッションの処理を行う場合の問題点を考える。
【0033】
トレーニングデータセットは、通常、各セット単位ではクラス毎のサンプルの数や特徴分布に大きな偏りがないよう選択される。しかし、ベースクラスのデータセットと新規クラスのデータセットとを比べると、クラス毎のサンプルの数や特徴分布は異なる可能性が高い。
【0034】
CBCLアルゴリズムにおいては、学習済みモデルとして特徴抽出の機能が優れたモデルを使用することが望ましいため、学習済みモデルはビッグデータに基づいたものであるべきであり、ベースクラスのトレーニングデータは1クラスにつきたとえば数百サンプル以上であることが前提となる。一方で、新規クラスのトレーニングデータはビッグデータであってもよいが、スモールデータであること、すなわちサンプル数が少ない方が望ましい。特に、特許文献1に記載される通り、Few-Shot形式、すなわちトレーニングデータが1クラスにつきたとえば数サンプル程度であることが理想である。ビッグデータを用いた学習は、多くのサンプルをあらかじめ用意する手間や長い学習時間を要するという実用上の課題があり、また、人間のように少ない回数で徐々に学習できるようにするため、スモールデータを用いたインクリメンタル学習が好ましい。
【0035】
そのため、図1において、初期セッションにおいても追加セッションにおいても、Agg-Varクラスタリングのパラメータである閾値Dが共通であるとすると、ベースクラスと新規クラスの間でセントロイドの数に偏りが生じると考えられる。概ね、ベースクラスがビッグデータであればセントロイドの数が多く、新規クラスがスモールデータであればセントロイドの数が少なくなることが予想される。その場合、ラベル予測処理において、セントロイドに基づく投票がベースクラスに優位となり、ベースクラスと新規クラスの間で投票が公平に行われず、分類精度が悪化することが予想される。また、ベースクラスのセントロイドが多く保存されることになるが、新規クラスのセントロイドに比べ不要なセントロイドが多く含まれるため、メモリの使用効率が低下することが予想される。
【0036】
そこで、第1の実施の形態では、Agg-Varクラスタリングのパラメータである閾値Dについて、ベースクラスのトレーニングデータセットをクラスタリングする初期セッションと、新規クラスのトレーニングデータセットをクラスタリングする追加セッションとで、それぞれ適した値を設定する。初期セッションの閾値Df、追加セッションの閾値Diについて、閾値Dfは閾値Diよりも大きく設定し、なるべくベースクラスのセントロイドが少なくなるように制御する。言い換えれば、閾値Diは閾値Dfよりも小さくし、なるべく新規クラスのセントロイドが多くなるように制御する。これにより、閾値Dをベースクラスと新規クラスで共通とする場合に比べ、セントロイドに基づく投票の公平性が改善され、分類精度を向上させることができる。また、ベースクラスのセントロイドが少なくなることで、不要なセントロイドを保存せずに済むため、メモリ使用の効率化を図ることができる。
【0037】
初期セッションの閾値Dfと追加セッションの閾値Diは、あるクラスにおけるセントロイド間の距離の分布が同程度になることが望ましい。例えばトレーニングデータの元データあるいは事前学習済みモデルを用いて特徴抽出を行った特徴データを基に、特徴データの確率分布に基づいて閾値Dfと閾値Diを設定する。確率分布が正規分布に従うと仮定した場合、ベースクラスのトレーニングデータのクラス毎の分散σの自乗の平均が大きいほどDf>>Diとなるように、すなわち閾値Dfと閾値Diの値の差が大きくなるように設定する。これにより、ベースクラスのクラス毎のセントロイド数をなるべく減らすことができる。
【0038】
図3(a)および図3(b)は、図1の機械学習装置100による機械学習手順を説明するフローチャートである。
【0039】
図3(a)は、学習段階におけるクラスタリング処理の流れを示す。クラスタリングに用いるパラメータである閾値Dに初期セッションの閾値Dfを設定する(S30)。初期セッションのクラスタリング処理を実行する(S32)。閾値Dに追加セッションの閾値Diを設定する(S34)。追加セッションのクラスタリング処理を実行する(S36)。次の追加セッションをクラスタリングする場合(S38のY)、ステップS36に戻り、そうでない場合(S38のN)、終了する。
【0040】
図3(b)は、図3(a)のステップS32の初期セッションのクラスタリング処理およびステップS36の追加セッションのクラスタリング処理の詳細な手順を示す。初期セッションと追加セッションでクラスタリング処理は同じである。初期セッションのクラスタリング処理では、ベースクラスのトレーニングデータセットのサンプルが入力され、追加セッションのクラスタリング処理では、新規クラスのトレーニングデータセットのサンプルが入力される。
【0041】
特徴抽出部10は、学習済みモデルを用いて入力サンプルの特徴ベクトルを抽出する(S40)。
【0042】
クラスタリング部40は、入力サンプルが属するクラスの複数のセントロイドの内、入力サンプルの特徴ベクトルに最も近い最近傍セントロイドを選択する(S42)。クラスタリング部40は、入力サンプルの特徴ベクトルと最近傍セントロイドの距離dminを閾値Dと比較する(S44)。
【0043】
クラスタリング部40は、dmin<Dの場合(S46のY)、入力サンプルの特徴ベクトルを最近傍セントロイドに統合する(S48)。dmin≧Dの場合(S46のN)、入力サンプルの特徴ベクトルを所属クラスのセントロイドとして新しく追加する(S50)。
【0044】
(第2の実施の形態)
図4は、第2の実施の形態に係る推論装置200の構成図である。推論装置200は、特徴抽出部10、学習済みモデル記憶部20、セントロイド生成部30、セントロイド記憶部50、およびラベル予測部60を含む。セントロイド生成部30はクラスタリング部40を含み、ラベル予測部60は、近傍セントロイド選択部70および重み付き投票部80を含む。
【0045】
第1の実施の形態の機械学習装置100と第2の実施の形態の推論装置200は、クラスタリング部40と重み付き投票部80の構成と動作が異なり、それ以外の構成と動作は共通する。
【0046】
第1の実施の形態の機械学習装置100のクラスタリング部40は、クラスタリングで用いるパラメータである閾値Dを初期セッションと追加セッションとで異ならせたが、第2の実施の形態の推論装置200では、従来のCBCLのようにベースクラスのクラスタリングを行うことなく、すべての追加セッションでクラスタリングで用いるパラメータを共通にしてもよい。あるいは、第2の実施の形態の推論装置200においても第1の実施の形態のように初期セッションのクラスタリングを行う場合は、推論装置200のクラスタリング部40においてもクラスタリングで用いるパラメータである閾値Dを初期セッションと追加セッションとで異ならせてもよい。
【0047】
以下、第2の実施の形態の推論装置200のラベル予測部60における重み付き投票部80の構成と動作を説明する。
【0048】
重み付き投票部80は、近傍セントロイド選択部70により選択されたn個のセントロイドのそれぞれが属する候補クラスに対して、未知サンプルの特徴ベクトルとセントロイドとの距離に応じた重みを付けて候補クラスy毎の予測スコアPred(y)を算出し、さらに予測スコアPred(y)に対し補正係数Aを掛けて補正予測スコアPred(y)’を算出し、補正予測スコアPred(y)’が最大値をとるクラスに付与されたラベルを未知サンプルのラベルとして予測する。
【0049】
ここで、従来のCBCLでは、この補正係数Aはクラスのトレーニングデータのサンプル数Nの逆数である。すなわち、A=1/Nであり、Pred(y)’=(1/N)Pred(y)である。
【0050】
この補正係数A=1/Nは、サンプル数が多いクラスはセントロイド数も多くなる可能性が高く、Pred(y)の最大値だけで判定するとサンプル数の多いクラスが優位になる可能性があり、不公平であるという前提に基づいている。
【0051】
ここで、トレーニングデータセットは、通常、各セット単位ではクラス毎のサンプルの数や特徴分布に大きな偏りがないよう選択される。しかし、理想的なアプリケーションとしては半永久的にセッションが繰り返されることが望ましいため、全セッションでクラス毎のサンプルの数や特徴分布が統一されるとは限らない。また、従来のCBCLでは、ベースクラスを分類することを前提とせず、新規クラスを継続的に学習することを想定しているが、CBCLをベースクラスと新規クラスの両方の分類に拡張するアプリケーションも多く考えられる。その場合は、ベースクラスがビッグデータ(たとえば1クラスにつき数百サンプル以上)であり、新規クラスがスモールデータ、理想的にはFew-Shot形式(たとえば1クラスにつき数サンプル程度)であるという場合も多い。
【0052】
全セッションの全クラスでサンプル数や特徴分布が統一されていれば、補正係数Aは従来のCBCLと同様、A=1/Nで問題ない。しかし、そうでない場合には、補正係数Aを1/Nとすると、よりサンプル数の多い候補クラスの予測スコアPred(y)’が小さくなり、その候補クラスがラベルとして選ばれにくくなり、よりサンプル数の少ない候補クラスの予測スコアPred(y)’が大きくなり、その候補クラスがラベルとして選ばれやすくなる。したがって、クラス毎のサンプル数によって投票が公平に行われず、分類精度が悪化することが予想される。
【0053】
そこで、第2の実施の形態では、Pred(y)に掛ける補正係数Aにクラス毎のセントロイド数を反映させる。クラス毎のセントロイド数をN として、例えば補正係数Aをセントロイド数の逆数である1/N にすると、各セントロイドがクラスラベルの予測に与える影響力すなわちエネルギーがクラス間で同程度になる。これにより、各クラスでサンプル数や特徴分布が統一されていない場合でも、セントロイドに基づく投票の公平性が改善され、分類精度の悪化を防ぐことができる。
【0054】
このように、第2の実施の形態では、重み付き投票部80は、クラスy毎の予測スコアPred(y)に対し補正係数A=1/N を掛けて補正予測スコアPred(y)’を算出し、補正予測スコアPred(y)’が最大値をとるクラスを未知サンプルのクラスラベルとして予測する。
【0055】
図5は、図4の推論装置200による推論手順を説明するフローチャートである。
【0056】
特徴抽出部10は、学習済みモデルを用いて未知サンプルの特徴ベクトルを抽出する(S70)。
【0057】
近傍セントロイド選択部70は、未知サンプルの特徴ベクトルに対してn近傍セントロイドを選択する(S72)。
【0058】
重み付き投票部80は、未知サンプルの特徴ベクトルとn近傍セントロイドの距離に応じた重みを付けて、n近傍セントロイドが属する候補クラスの予測スコアを算出する(S74)。重み付き投票部80は、候補クラスのセントロイド数に応じた補正係数で候補クラスの予測スコアを補正する(S76)。重み付き投票部80は、補正予測スコアが最大となるクラスがクラスラベルであると予測する(S78)。
【0059】
以上説明した機械学習装置100および推論装置200の各種の処理は、CPUやメモリ等のハードウェアを用いた装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバと送受信することも、地上波あるいは衛星ディジタル放送のデータ放送として送受信することも可能である。
【0060】
以上述べたように、第1の実施の形態の機械学習装置100によれば、CBCLをベースクラスのクラスタリングを行う初期セッションと新規クラスのクラスタリングを行う追加セッションを組み合わせたインクリメンタル学習に拡張した場合、ベースクラスと新規クラスとでクラスタリングで使用するパラメータを異ならせることにより、ベースクラスおよび新規クラスの分類精度を向上させるとともに、無駄なセントロイドの数を減らしてメモリ使用の効率化を図ることができる。
【0061】
第2の実施の形態の推論装置200によれば、CBCLのラベル予測処理において、候補クラスに対して投票を行う際の補正係数にセントロイド数を反映させることにより、クラス毎のトレーニングデータのサンプル数や特徴分布に偏りがあった場合でも、分類精度が悪化することを防ぐことができる。特にベースクラスと新規クラスの両方のクラスタリングを行うようにCBCLを拡張する場合、ベースクラスと新規クラスの間でサンプル数や特徴分布に大きな偏りがあることが多いが、セントロイド数に基づいて候補クラスの投票を補正することで公平性を担保することができる。
【0062】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【0063】
10 特徴抽出部、 20 学習済みモデル記憶部、 30 セントロイド生成部、 40 クラスタリング部、 50 セントロイド記憶部、 60 ラベル予測部、 70 近傍セントロイド選択部、 80 重み付き投票部、 100 機械学習装置、 200 推論装置。
図1
図2
図3
図4
図5