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

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

▶ ソフトバンクモバイル株式会社の特許一覧 ▶ 学校法人明星学苑の特許一覧

<>
  • 特開-情報処理装置及び情報処理方法 図1
  • 特開-情報処理装置及び情報処理方法 図2
  • 特開-情報処理装置及び情報処理方法 図3
  • 特開-情報処理装置及び情報処理方法 図4
  • 特開-情報処理装置及び情報処理方法 図5
  • 特開-情報処理装置及び情報処理方法 図6
  • 特開-情報処理装置及び情報処理方法 図7
  • 特開-情報処理装置及び情報処理方法 図8
  • 特開-情報処理装置及び情報処理方法 図9
  • 特開-情報処理装置及び情報処理方法 図10
  • 特開-情報処理装置及び情報処理方法 図11
  • 特開-情報処理装置及び情報処理方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024164562
(43)【公開日】2024-11-27
(54)【発明の名称】情報処理装置及び情報処理方法
(51)【国際特許分類】
   G06F 18/2431 20230101AFI20241120BHJP
   G06F 18/231 20230101ALI20241120BHJP
   G06N 20/00 20190101ALI20241120BHJP
【FI】
G06F18/2431
G06F18/231
G06N20/00
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2023080141
(22)【出願日】2023-05-15
(71)【出願人】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(71)【出願人】
【識別番号】500132214
【氏名又は名称】学校法人明星学苑
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】田之上 隼人
(72)【発明者】
【氏名】堀 隆之
(72)【発明者】
【氏名】鈴木 裕真
(72)【発明者】
【氏名】岡本 秀明
(72)【発明者】
【氏名】宅島 寛貴
(72)【発明者】
【氏名】植木 一也
(57)【要約】
【課題】小型化された分類モデルを用いて詳細な分類を行うことを可能とする。
【解決手段】本願に係る情報処理装置は、複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、複数の異なるクラスよりも上位のクラスである上位クラスを生成するクラス生成部と、分類対象となる分類対象データを、上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類する機械学習モデルである分類モデルを上位クラスごとに生成するモデル生成部と、を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、前記複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた前記複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、前記複数の異なるクラスよりも上位のクラスである上位クラスを生成するクラス生成部と、
分類対象となる分類対象データを、前記上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類する機械学習モデルである分類モデルを前記上位クラスごとに生成するモデル生成部と、
を備える情報処理装置。
【請求項2】
前記クラス生成部は、
前記複数の異なるクラスにそれぞれ属するデータの特徴量の平均値を前記代表値として、前記上位クラスを生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記クラス生成部は、
新たに生成されるクラスタの数が所定の閾値を下回るまで前記複数のクラス特徴量を階層的にクラスタリングする、
請求項1に記載の情報処理装置。
【請求項4】
前記クラス生成部は、
前記複数のクラス特徴量の類似度に基づいて、前記複数のクラス特徴量の各々を要素とするクラスタである複数の最下位クラスタの各々を結合することにより生成されるクラスタである複数の第1上位クラスタの各々に対応するクラスである複数の第1上位クラス、および、前記複数の第1上位クラスタの類似度に基づいて、前記複数の第1上位クラスタの各々を結合することにより生成されるクラスタである複数の第2上位クラスタの各々に対応するクラスである複数の第2上位クラスを生成することにより、前記上位クラスを生成する、
請求項1に記載の情報処理装置。
【請求項5】
前記クラス生成部は、
前記階層的なクラスタを生成する過程を表現するグラフである樹形図を生成し、
前記モデル生成部は、
前記樹形図に含まれる分岐点の数に対応する数の前記分類モデルを生成する、
請求項1に記載の情報処理装置。
【請求項6】
前記モデル生成部は、
前記複数の下位クラスの各々からサンプリングされるデータの数が類似するように前記複数の下位クラスの各々からサンプリングされたデータと、前記データが属する下位クラスに対応するラベルである下位ラベルとの組である学習データセットに基づいて学習された前記機械学習モデルである前記分類モデルを前記上位クラスごとに生成する、
請求項1に記載の情報処理装置。
【請求項7】
前記モデル生成部は、
前記データが入力情報として前記機械学習モデルに入力された場合、前記下位ラベルを出力情報として出力するよう学習された前記機械学習モデルである前記分類モデルを前記上位クラスごとに生成する、
請求項6に記載の情報処理装置。
【請求項8】
前記モデル生成部は、
前記分類対象データを前記複数の下位クラスまたは前記複数の下位クラスのいずれでもない未知のクラスのうちいずれかのクラスに分類する前記機械学習モデルである前記分類モデルを前記上位クラスごとに生成する、
請求項1に記載の情報処理装置。
【請求項9】
複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、前記複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた前記複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、前記複数の異なるクラスよりも上位のクラスである上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類対象となる分類対象データを分類する機械学習モデルである分類モデルと、処理対象となる処理対象データとを取得する取得部と、
最上位のクラスに対応する前記分類モデルから順番に選択される所定の上位クラスに対応する前記分類モデルである上位の分類モデルを用いて、前記処理対象データが分類される第1下位クラスを推定し、前記上位の分類モデルの推定結果に基づいて、前記所定の上位クラスの下位に属する複数の下位クラスの各々に対応する前記分類モデルの中から、前記第1下位クラスに対応する前記分類モデルである下位の分類モデルを選択し、選択された前記下位の分類モデルを用いて、前記処理対象データが分類される第2下位クラスを推定する推定部と、
を備える情報処理装置。
【請求項10】
前記推定部は、
前記処理対象データが前記複数の異なるクラスのいずれかに分類されるまで、前記上位の分類モデルの推定結果に基づいて、前記複数の下位クラスの各々に対応する前記分類モデルの中から、前記下位の分類モデルを選択し、選択された前記下位の分類モデルを用いて前記第2下位クラスを推定する処理を繰り返し実行する、
請求項9に記載の情報処理装置。
【請求項11】
前記推定部は、
前記上位の分類モデルを用いて、前記処理対象データが前記複数の下位クラスの各々に分類される確率値を推定し、前記上位の分類モデルの推定結果に基づいて、前記複数の下位クラスの各々に対応する前記分類モデルの中から、前記確率値が高い方から順に2以上の所定数の下位クラスの各々に対応する複数の前記分類モデルを選択し、選択された複数の前記分類モデルを用いて、選択された複数の前記分類モデルの各々に対応する下位クラスのさらに下位のクラスの各々に前記処理対象データが分類される確率値を推定する、
請求項9に記載の情報処理装置。
【請求項12】
前記推定部は、
前記処理対象データが前記複数の異なるクラスのうちの2以上のクラスに分類される場合、前記処理対象データが前記最上位のクラスから前記複数の異なるクラスのうちの2以上のクラスの各々に対応するクラスに分類されるまでの分類経路における各クラスに分類される確率値の積の値の比較に基づいて、前記処理対象データが前記確率値の積の値が最大である前記分類経路に対応するクラスに分類されると推定する、
請求項11に記載の情報処理装置。
【請求項13】
前記取得部は、
前記分類対象データを前記複数の下位クラスまたは前記複数の下位クラスのいずれでもない未知のクラスのうちいずれかのクラスに分類する前記機械学習モデルである前記分類モデルであって、前記上位クラスごとに生成された前記分類モデルと、前記処理対象データとを取得し、
前記推定部は、
前記上位の分類モデルの推定結果に基づいて、前記複数の下位クラスの各々に対応する前記分類モデルの中から、前記所定数の下位クラスの各々に対応する複数の前記分類モデルを選択する処理以後の処理を中止するか否かを判定する、
請求項11に記載の情報処理装置。
【請求項14】
前記推定部は、
前記分類対象データが前記未知のクラスに分類された場合、前記処理対象データが前記複数の下位クラスまたは前記未知のクラスの各々に分類される確率値の差が第1閾値を超えた場合、または、前記処理対象データが前記最上位のクラスから前記複数の異なるクラスのうちの2以上のクラスの各々に対応するクラスに分類されるまでの分類経路における各クラスに分類される確率値の積の値が第2閾値を下回った場合、前記所定数の下位クラスの各々に対応する複数の前記分類モデルを選択する処理以後の処理を中止することを決定する、
請求項13に記載の情報処理装置。
【請求項15】
情報処理装置が実行するプログラムにより実現される情報処理方法であって、
複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、前記複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた前記複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、前記複数の異なるクラスよりも上位のクラスである上位クラスを生成するクラス生成工程と、
分類対象となる分類対象データを、前記上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類する機械学習モデルである分類モデルを前記上位クラスごとに生成するモデル生成工程と、
を含む情報処理方法。
【請求項16】
情報処理装置が実行するプログラムにより実現される情報処理方法であって、
複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、前記複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた前記複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、前記複数の異なるクラスよりも上位のクラスである上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類対象となる分類対象データを分類する機械学習モデルである分類モデルと、処理対象となる処理対象データとを取得する取得工程と、
最上位のクラスに対応する前記分類モデルから順番に選択される所定の上位クラスに対応する前記分類モデルである上位の分類モデルを用いて、前記処理対象データが分類される第1下位クラスを推定し、前記上位の分類モデルの推定結果に基づいて、前記所定の上位クラスの下位に属する複数の下位クラスの各々に対応する前記分類モデルの中から、前記第1下位クラスに対応する前記分類モデルである下位の分類モデルを選択し、選択された前記下位の分類モデルを用いて、前記処理対象データが分類される第2の下位クラスを推定する推定工程と、
を含む情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【0002】
従来、分類対象となるデータを高精度に分類する分類モデルとして、深層学習モデルをはじめとする様々な機械学習モデルが知られている。また従来、分類モデルの分類精度を向上させるために、機械学習モデルのサイズ(以下、モデルサイズと記載する場合がある)を大きくする様々な技術が知られている。例えば、画像分類モデルとして用いられる畳み込みニューラルネットワーク(CNN)の各層のチャネル数、層数および解像度を単一のパラメータを用いて複合的にスケールアップさせる技術が知られている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Mingxing Tan、Quoc V. Le、“EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks”、[online]、May 2019、[令和5年4月17日検索]、インターネット<URL:https://arxiv.org/pdf/1905.11946.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、画像分類モデルとして用いられる畳み込みニューラルネットワーク(CNN)の各層のチャネル数、層数および解像度を単一のパラメータを用いて複合的にスケールアップさせるにすぎないため、小型化された分類モデルを用いて詳細な分類を行うことを可能とすることができるとは限らない。
【0005】
本願は、小型化された分類モデルを用いて詳細な分類を行うことを可能とすることができる情報処理装置及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
本願に係る情報処理装置は、複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、前記複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた前記複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、前記複数の異なるクラスよりも上位のクラスである上位クラスを生成するクラス生成部と、分類対象となる分類対象データを、前記上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類する機械学習モデルである分類モデルを前記上位クラスごとに生成するモデル生成部と、を備える。
【0007】
また、本願に係る情報処理装置は、複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、前記複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた前記複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、前記複数の異なるクラスよりも上位のクラスである上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類対象となる分類対象データを分類する機械学習モデルである分類モデルと、処理対象となる処理対象データとを取得する取得部と、最上位のクラスに対応する前記分類モデルから順番に選択される所定の上位クラスに対応する前記分類モデルである上位の分類モデルを用いて、前記処理対象データが分類される第1下位クラスを推定し、前記上位の分類モデルの推定結果に基づいて、前記所定の上位クラスの下位に属する複数の下位クラスの各々に対応する前記分類モデルの中から、前記第1下位クラスに対応する前記分類モデルである下位の分類モデルを選択し、選択された前記下位の分類モデルを用いて、前記処理対象データが分類される第2下位クラスを推定する推定部と、を備える。
【発明の効果】
【0008】
実施形態の一態様によれば、小型化された分類モデルを用いて詳細な分類を行うことを可能とすることができる。
【図面の簡単な説明】
【0009】
図1図1は、分類モデルのモデルサイズと分類クラス数との関係を示す図である。
図2図2は、実施形態に係る情報処理装置の構成例を示す図である。
図3図3は、実施形態に係る階層的なクラスの生成処理について説明するための図である。
図4図4は、実施形態に係る階層的な分類モデルの生成処理について説明するための図である。
図5図5は、実施形態に係る階層的な分類モデルの学習データセットについて説明するための図である。
図6図6は、実施形態に係るクラスの推定処理について説明するための図である。
図7図7は、上位の分類モデルによる一の推定結果のみを採用することにより、下位クラスの推定結果が不正解となる場合について説明するための図である。
図8図8は、上位の分類モデルによる複数の推定結果を採用することにより、下位クラスの推定結果が正解となる場合について説明するための図である。
図9図9は、通常の多クラス分類モデルと未知のクラスを検知可能な多クラス分類モデルについて説明するための図である。
図10図10は、変形例に係るクラスの推定処理について説明するための図である。
図11図11は、変形例に係る推定処理を中止する場合の一例について説明するための図である。
図12図12は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【0010】
以下に、本願に係る情報処理装置及び情報処理方法を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置及び情報処理方法が限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
【0011】
(実施形態)
〔1.はじめに〕
従来、分類モデルによる分類クラス数が増加すると、分類モデルの学習に用いられる学習データセットの複雑さが増し、それらの特徴を学習した分類モデル(例えば、深層学習モデル)のモデルサイズは大きくなる傾向があることが知られている。例えば、映像に含まれる人物の行動の種類を認識する機械学習モデルである行動認識モデルの場合、「掴む」という動作一つをとっても、掴まれる対象の種類ごとに掴むという行動の種類(つまり、分類クラス)が異なる。例えば、行動認識モデルは、人の手を掴むという動作と、人の足を掴むという動作を異なる動作として分類するように学習される。このように、行動認識モデルは、例えば、「掴む」という動作のように、人と物との動作であれば、人の動作の対象となる物の種類ごとに行動を分類するように学習される。また、人の行動の種類は、人と物との動作に限られず、人と人との動作または人(単体)の動作など豊富な種類が存在する。そのため、一般的に、行動認識モデルのモデルサイズは非常に大きくなる傾向があることが知られている。
【0012】
図1を用いて、分類モデルのモデルサイズと分類クラス数との関係について説明する。図1は、分類モデルのモデルサイズと分類クラス数との関係を示す図である。図1に示すように、一般的に、分類モデルによる分類クラス数が増加すると、分類モデルのモデルサイズは急激に大きくなるという関係があることが知られている。また、分類モデルを実装する情報処理装置のマシンスペックの高さや計算機リソースの量の上限に応じて、モデルサイズの上限であるサイズ限界が決まる。また、サイズ限界が決まると、サイズ限界に応じて、分類モデルによって分類可能な分類クラス数の上限である分類可能限界が決まる。
【0013】
図1で述べたように、分類モデルのモデルサイズが大きいほど、分類モデルによって分類可能な分類クラス数は多くなる。しかしながら、モデルサイズが大きい分類モデル(以下、「大型の分類モデル」と記載する場合がある。)を用いたデータの分類処理には、より高性能なマシンスペックやより豊富な計算機リソースを要する。そこで、例えば、オンプレミスの情報処理装置と比べると計算機リソースがより豊富なクラウドコンピューティング(以下、クラウドと記載する場合がある)に大型の分類モデルを実装し、データの分類を行うことが考えられる。
【0014】
しかしながら、分類対象となるデータの中には、プライバシーの観点からクラウドを利用することができないものが存在する。このようにクラウドを利用することができない場合、分類モデルをオンプレミスの情報処理装置に実装し、データの分類を行うことになる。しかしながら、オンプレミスの情報処理装置(特にエッジデバイス)のマシンスペックの高さや計算機リソースの量には上限が存在する。なお、クラウドを利用する場合であっても、一般的には、利用者の資力の問題等により、利用可能なマシンスペックの高さや計算機リソースの量には上限が存在する。
【0015】
このように、一般的には、利用可能なマシンスペックの高さや計算機リソースの量には上限が存在する。したがって、より詳細な分類を可能とするために分類モデルを大型化する場合、利用可能な分類モデルのモデルサイズには上限(図1に示すサイズ限界)が存在する。また、利用可能な分類モデルのモデルサイズには上限が存在するため、分類モデルによって分類可能な分類クラス数にも上限(図1に示す分類可能限界)が存在する。したがって、大型化された分類モデルを用いて詳細な分類を行うことを可能とすることは困難な場合があった。
【0016】
これに対し、本実施形態に係る情報処理装置は、公知の技術により生成された大型の分類モデルから得られる複数の異なるクラスそれぞれに属するデータに対応する特徴量のクラスごとの平均値であるクラス特徴量に対する階層クラスタリングを実施する。また、情報処理装置は、階層クラスタリングにより階層的にクラスタリングされたクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、複数の異なるクラスよりも上位のクラスである複数の上位クラスを生成する。このようにして、情報処理装置は、複数の異なるクラスと、複数の異なるクラスよりも上位のクラスである複数の上位クラスとを含む階層的なクラスである階層クラスを生成する。なお、複数の異なるクラスは、階層クラスにおける最下位のクラスに対応する。また、情報処理装置は、階層クラスタリングにより階層的なクラスタを生成する過程を表現するグラフである樹形図を生成し、樹形図に含まれる分岐点の数に対応する数の分類モデルを取得する。ここで、樹形図に含まれる分岐点の各々は、階層クラスに含まれる上位クラスの各々に対応する。また、情報処理装置は、分類対象となる分類対象データを、上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類するように学習された分類モデルを上位クラスごとに生成する。
【0017】
これにより、本実施形態に係る情報処理装置は、上位クラスごとに生成された複数の分類モデルそれぞれのモデルサイズは小さいまま、分類クラス数を大きくすることを可能とすることができる。したがって、情報処理装置は、詳細な分類を可能とする分類モデルの小型化を実現可能とすることができる。また、情報処理装置は、詳細な分類を可能とする分類モデルの小型化を実現可能とすることができるので、小型化された分類モデルを用いて詳細な分類を行うことを可能とすることができる。例えば、情報処理装置は、小型化された行動認識モデルを用いて詳細な行動の分類を行うことを可能とすることができる。
【0018】
また、本実施形態に係る情報処理装置は、上位クラスごとに生成された複数の分類モデルと、処理対象となる処理対象データとを取得する。続いて、情報処理装置は、複数の分類モデルの中から最上位のクラスに対応する最上位の分類モデルを選択する。続いて、情報処理装置は、選択された最上位の分類モデルを用いて、最上位のクラスの下位に属する複数の上位クラスのうち、処理対象データが分類される第1の上位クラス(以下、第1上位クラスと記載する場合がある。)を推定する。続いて、情報処理装置は、最上位の分類モデルの推定結果に基づいて、最上位のクラスの下位に属する複数の上位クラスの各々に対応する分類モデルの中から、第1上位クラスに対応する第1上位の分類モデルを選択する。続いて、情報処理装置は、選択された第1上位の分類モデルを用いて、第1上位クラスの下位に属する複数の上位クラスのうち、処理対象データが分類される第2の上位クラス(以下、第2上位クラスと記載する場合がある。)を推定する。続いて、情報処理装置は、第1上位の分類モデルの推定結果に基づいて、第1上位クラスの下位に属する複数の上位クラスの各々に対応する分類モデルの中から、第2上位クラスに対応する第2上位の分類モデルを選択する(以下、「選択処理」と記載する場合がある。)。続いて、情報処理装置は、選択された第2上位の分類モデルを用いて、第2上位クラスの下位に属する複数のクラスのうち、処理対象データが分類されるクラスを推定する(以下、「推定処理」と記載する場合がある。)。このように、情報処理装置は、処理対象データが分類されるクラスが最下位のクラスである複数の異なるクラスのいずれかと一致するまで、選択処理と推定処理を繰り返し実行する。
【0019】
これにより、本実施形態に係る情報処理装置は、小型化された分類モデルを用いて詳細な分類を行うことを可能とすることができる。例えば、情報処理装置は、小型化された行動認識モデルを用いて詳細な行動の分類を行うことを可能とすることができる。
【0020】
なお、本明細書における上位クラスまたは下位クラスという表現は、階層クラスにおける相対的な関係を示すものである。例えば、本明細書における上位クラスとは、階層クラスに含まれる最下位のクラスである複数の異なるクラスよりも上位のクラスのことを指す。また、本明細書における下位クラスとは、階層クラスに含まれる所定の上位クラスの下位に属するクラスのことを指す。したがって、階層クラスに含まれる複数のクラスのうち、最上位のクラスおよび最下位のクラス(複数の異なるクラス)以外のクラスは、上位クラスとなる場合や下位クラスとなる場合がある。
【0021】
また、本明細書における分類モデルは、例えば、画像を分類する分類モデル(画像分類モデルともいう)、動画を分類する分類モデル(動画分類モデルともいう)、映像に含まれる人物の行動の種類を分類する分類モデル(行動認識モデルともいう)または文章を分類する分類モデル(文章分類モデルまたはテキスト分類モデルともいう)であってよい。
【0022】
〔2.情報処理装置の構成〕
図2を用いて、実施形態に係る情報処理装置100の構成例について説明する。図2は、実施形態に係る情報処理装置100の構成例を示す図である。情報処理装置100は、通信部110と、記憶部120と、制御部130とを有する。
【0023】
(通信部110)
通信部110は、NIC(Network Interface Card)やアンテナ等によって実現される。通信部110は、各種ネットワークと有線または無線で接続され、例えば、情報処理装置100以外の他の情報処理装置との間で情報の送受信を行う。
【0024】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。具体的には、記憶部120は、各種データを記憶する。例えば、記憶部120は、分類モデルの学習に用いられる学習データセットに関する情報を記憶する。また、記憶部120は、各種プログラムを記憶する。例えば、記憶部120は、モデル生成部133によって上位クラスごとに生成された分類モデルに関する情報と上位クラスを識別可能な情報とを対応付けて記憶する。
【0025】
(制御部130)
制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)等によって、情報処理装置100内部の記憶装置に記憶されている各種プログラムがRAMを作業領域として実行されることにより実現される。また、制御部130は、コントローラであり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。
【0026】
制御部130は、取得部131と、クラス生成部132と、モデル生成部133と、推定部134を機能部として有し、以下に説明する情報処理の作用を実現または実行してよい。なお、制御部130の内部構成は、図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、各機能部は、制御部130の機能を示したものであり、必ずしも物理的に区別されるものでなくともよい。
【0027】
(取得部131)
取得部131は、各種情報を取得してよい。具体的には、取得部131は、複数の異なるクラスにそれぞれ属するデータに関する特徴量を取得してよい。取得部131は、複数の異なるクラスにそれぞれ属するデータに関する特徴量として、複数の異なるクラスにそれぞれ属するデータに対応する特徴量を取得してよい。例えば、取得部131は、通信部110を介して、公知の技術により生成された大型の分類モデルを実装する他の情報処理装置から、大型の分類モデルが備える特徴量抽出によって抽出された複数の異なるクラスそれぞれに属するデータに対応する特徴量を取得してよい。例えば、取得部131は、大型の分類モデルによって分類可能な全てクラスである複数の異なるクラス(以下、「複数の異なるクラス」と記載する場合がある。)それぞれに属するデータに対応する特徴量を取得してよい。なお、複数の異なるクラスにそれぞれ属するデータとは、言い換えると、大型の分類モデルを用いて複数の異なるクラスにそれぞれ分類されるデータである。
【0028】
例えば、分類モデルが画像分類モデルである場合、公知の技術により生成された大型の分類モデルは、AlexNet(Krizhevsky et al., 2012)、ZFNet(Matthew et al., 2013)、VGGNet(Simonyan et al., 2014)、GoogLeNet(Szegedy et al., 2014)、ResNet(Residual Network)(Kaiming He et al., 2015)、DenseNet(Gao Huang et al., 2016)、MobileNet(Andrew G. Howard et al., 2017)、SENet(Squeeze-and-Excitation Networks)(Jie Hu et al., 2018)、EfficientNet(Tan et al., 2019)、またはEfficientNetV2(Tan et al., 2021)等であってよい。
【0029】
(クラス生成部132)
クラス生成部132は、取得部131によって取得された複数の異なるクラスにそれぞれ属するデータに対応する特徴量の複数の異なるクラスそれぞれにおける平均値であるクラス特徴量を算出してよい。クラス生成部132は、複数の異なるクラスにそれぞれ属するデータの特徴量のクラスごとの平均値であるクラス特徴量を算出してよい。ここで、クラス特徴量は、複数の異なるクラスそれぞれに属するデータの特徴量の代表値である。
【0030】
図3を用いて、実施形態に係る階層的なクラスの生成処理について説明する。図3は、実施形態に係る階層的なクラスの生成処理について説明するための図である。図3の左端の図、左端から2番目の図および左端から3番目の図に示す横軸および縦軸は、クラス特徴量の特徴量空間を概略的に示す。また、図3の左端の図、左端から2番目の図および左端から3番目の図に示す丸印それぞれは、複数の異なるクラスそれぞれのクラス特徴量を示す。図3の左端の図、左端から2番目の図および左端から3番目の図では、クラス生成部132は、クラス特徴量の類似度に基づいて、クラス特徴量に対する階層クラスタリングを実施することにより、階層的なクラスタを生成する。図3の右端の図では、クラス生成部132は、階層的なクラスタを生成する過程を表現するグラフである樹形図を生成する。例えば、クラス生成部132は、2分木の木構造である樹形図を生成してよい。なお、図3では、簡単のため、12個のクラス特徴量しか図示されていないが、実際には13個以上のクラス特徴量が存在してよい。
【0031】
図3の左端の図では、クラス生成部132は、複数のクラス特徴量の各々を要素とする複数のクラスタを生成する。以下では、複数のクラス特徴量の各々を要素とするクラスタのことを最下位クラスタと記載する場合がある。なお、図3の左端の図では、クラス特徴量と最下位クラスタを同一の丸印によって示す。また、クラス生成部132は、複数の最下位クラスタを生成した場合、複数の最下位クラスタの各々に対応するクラスである複数の最下位クラスを生成する。ここで、複数の最下位クラスの各々は、上述した複数の異なるクラスの各々に対応する。図3の右端の図では、樹形図GH1の最下層に示す複数の白い丸印の各々が複数の最下位クラスの各々を示す。なお、図3の右端の図では、簡単のため、12個の最下位クラスのうち、4個の最下位クラスの図示を省略し、8個の最下位クラスのみを図示する。また、実際には13個以上の最下位クラスが存在してよい。
【0032】
続いて、クラス生成部132は、あらゆるクラス特徴量のペアについて、クラス特徴量同士の類似度を算出する。例えば、クラス生成部132は、クラス特徴量同士の類似度を算出してよい。続いて、クラス生成部132は、クラス特徴量同士の類似度が最も高い2つのクラス特徴量をそれぞれ要素とする2つの最下位クラスタから順番に最下位クラスタ同士を結合する。例えば、クラス生成部132は、クラス特徴量同士の類似度が第1類似度を上回る2つのクラス特徴量をそれぞれ要素とする2つの最下位クラスタ同士を結合することにより、複数の第1上位クラスタC11~C16を生成する。第1上位クラスタは、クラス特徴量同士の類似度が第1類似度を上回る2つのクラス特徴量をそれぞれ要素とする2つの最下位クラスタの組を要素とするクラスタである。また、クラス生成部132は、複数の第1上位クラスタC11~C16を生成した場合、複数の第1上位クラスタC11~C16の各々に対応するクラスである複数の第1上位クラスL11~L16を生成する。図3の右端の図では、樹形図GH1の下から2番目の層に示す複数の丸印の各々が複数の第1上位クラスL11~L14の各々を示す。なお、図3の右端の図では、簡単のため、第1上位クラスL15およびL16の各々に対応する丸印の記載を省略する。また、実際には7個以上の第1上位クラスタおよび第1上位クラスが存在してよい。
【0033】
なお、あらゆるクラス特徴量のペアについて、クラス特徴量同士の類似度を算出することは、あらゆる最下位クラスタのペアについて、最下位クラスタ同士の距離を算出することに対応する。クラス生成部132は、あらゆる最下位クラスタのペアについて、最下位クラスタ同士の距離を算出してよい。例えば、クラス生成部132は、最下位クラスタ同士のユークリッド距離またはマンハッタン距離を算出してよい。続いて、クラス生成部132は、最下位クラスタ同士の距離が第1距離を下回る2つの最下位クラスタ同士を結合することにより、複数の第1上位クラスタC11~C16を生成してよい。
【0034】
図3の左端から2番目の図および図3の左端から3番目の図では、クラス生成部132は、あらゆる第1上位クラスタのペアについて、第1上位クラスタ同士の類似度を算出する。例えば、クラス生成部132は、第1上位クラスタに含まれる2つのクラス特徴量の平均値に基づいて、第1上位クラスタ同士の類似度を算出してよい。続いて、クラス生成部132は、第1上位クラスタ同士の類似度が第2閾値を上回る2つの第1上位クラスタ同士を結合することにより複数の第2上位クラスタC21~C23を生成する。第2上位クラスタは、第1上位クラスタ同士の類似度が第2閾値を上回る2つの第1上位クラスタの組を要素とするクラスタである。図3では、クラス生成部132は、第1上位クラスタC11およびC12の組を要素とする第2上位クラスタC21、第1上位クラスタC13およびC14の組を要素とする第2上位クラスタC22、および、第1上位クラスタC15およびC16の組を要素とする第2上位クラスタC23を生成する。また、クラス生成部132は、複数の第2上位クラスタC21~C23を生成した場合、複数の第2上位クラスタC21~C23の各々に対応するクラスである複数の第2上位クラスL21~L23を生成する。図3の右端の図では、樹形図GH1の下から3番目の層に示す複数の丸印の各々が複数の第2上位クラスL21~L22の各々を示す。なお、図3の右端の図では、簡単のため、第2上位クラスL23に対応する丸印の記載を省略する。また、実際には4個以上の第2上位クラスタおよび第2上位クラスが存在してよい。
【0035】
なお、あらゆる第1上位クラスタのペアについて、第1上位クラスタ同士の類似度を算出することは、あらゆる第1上位クラスタのペアについて、第1上位クラスタ同士の距離を算出することに対応する。クラス生成部132は、あらゆる第1上位クラスタのペアについて、第1上位クラスタ同士の距離を算出してよい。例えば、クラス生成部132は、第1上位クラスタ同士のユークリッド距離またはマンハッタン距離を算出してよい。続いて、クラス生成部132は、第1上位クラスタ同士の距離が第2距離を下回る2つの第1上位クラスタ同士を結合することにより、複数の第2上位クラスタC21~C23を生成してよい。
【0036】
上述したように、クラス生成部132は、複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、複数の異なるクラスよりも上位のクラスである上位クラスを生成する。具体的には、クラス生成部132は、複数の異なるクラスにそれぞれ属するデータの特徴量の平均値を代表値として、上位クラスを生成する。なお、クラス生成部132は、複数の異なるクラスにそれぞれ属するデータの特徴量の中央値または最頻値を代表値として、上位クラスを生成してもよい。
【0037】
また、クラス生成部132は、複数のクラス特徴量の類似度に基づいて、複数のクラス特徴量の各々を要素とするクラスタである複数の最下位クラスタの各々を結合することにより生成されるクラスタである複数の第1上位クラスタの各々に対応するクラスである複数の第1上位クラス、および、複数の第1上位クラスタの類似度に基づいて、複数の第1上位クラスタの各々を結合することにより生成されるクラスタである複数の第2上位クラスタの各々に対応するクラスである複数の第2上位クラスを生成することにより、上位クラスを生成する。
【0038】
また、クラス生成部132は、新たに生成される上位クラスタの数が数個~10個以下となるまでクラス特徴量に対する階層クラスタリングを実施してよい。このように、クラス生成部132は、新たに生成される上位クラスタの数が所定の閾値を下回るまで複数のクラス特徴量を階層的にクラスタリングする。例えば、クラス生成部132は、新たに生成される上位クラスタの数が1個となるまでクラス特徴量に対する階層クラスタリングを実施してよい。クラス生成部132は、新たに生成される上位クラスタの数が1個となるまでクラス特徴量に対する階層クラスタリングを実施した場合、最後に生成されたクラスタに対応する上位クラスを最上位のクラスとしてよい。
【0039】
(モデル生成部133)
モデル生成部133は、分類対象となる分類対象データを、上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類する機械学習モデルである分類モデルを上位クラスごとに生成する。図4を用いて、実施形態に係る階層的な分類モデルの生成処理について説明する。図4は、実施形態に係る階層的な分類モデルの生成処理について説明するための図である。モデル生成部133は、クラス生成部132によって生成された樹形図に含まれる分岐点の数に対応する数の分類モデルを生成する。具体的には、モデル生成部133は、クラス生成部132によって生成された樹形図に含まれる分岐点の数に対応する数の分類モデルを取得してよい。例えば、モデル生成部133は、大型の分類モデルよりも小型の分類モデルを取得してよい。例えば、モデル生成部133は、MobileNet(Andrew G. Howard et al., 2017)やShuffleNet(Xiangyu Zhang et al., 2018)等の分類モデルを取得してよい。図4の左端の図では、モデル生成部133は、クラス生成部132によって生成された樹形図GH2に含まれる分岐点P11、P12(図示略)、P13およびP21それぞれに対応する分類モデルを取得してよい。例えば、モデル生成部133は、分類モデルに関する情報を記憶する記憶部120から、4つの分類モデルを取得してよい。なお、図4の左端の図は、クラス生成部132によって生成された樹形図GH2であって、最下層であるB層と、B層より一つ上の層であるA層からなる樹形図GH2を示す。なお、クラス生成部132によって生成される樹形図は、3層以上からなるものであってよい。
【0040】
また、上述したように、樹形図に含まれる分岐点の各々は、階層クラスに含まれる上位クラスの各々に対応する。図4では、分岐点P21が最上位のクラス、分岐点P11~P13の各々が3つの上位クラス1~3の各々に対応する。図4では、クラス生成部132によって生成された6つの最下位クラス4~9、3つの上位クラス1~3および1つの最上位のクラスを含む階層クラスを示す。なお、クラス生成部132によって生成される複数の最下位クラスの数は7個以上であってよい。また、クラス生成部132によって生成される複数の上位クラスの数は4個以上であってよい。
【0041】
また、モデル生成部133は、樹形図に含まれる分岐点の数に対応する数の分類モデルを取得した場合、樹形図に含まれる分岐点の各々に対応する上位クラスの各々に対応する分類モデルを生成する。図4の中央の図では、モデル生成部133は、樹形図GH2に含まれる分岐点P21に対応する最上位のクラスに対応する分類モデルA_1と、樹形図GH2に含まれる分岐点P11~P13の各々に対応する上位クラス1~3の各々に対応する分類モデルB_1~B_3を生成してよい。
【0042】
具体的には、モデル生成部133は、最上位のクラスの下位に属する3つの上位クラス1~3の各々からサンプリングされたデータと、3つの上位クラス1~3の各々に対応するラベルとの組である第1の学習データセットに基づいて学習させた分類モデルA_1を生成する。例えば、モデル生成部133は、第1の学習データセットに含まれるデータが入力情報として分類モデルA_1に入力された場合、データに対応するラベルを出力情報として出力するように学習された分類モデルA_1を生成する。例えば、モデル生成部133は、第1の学習データセットに含まれるデータが入力情報として分類モデルA_1に入力された場合、3つの上位クラス1~3の各々にデータが分類される確率値をそれぞれ推定し、推定された確率値が最大である上位クラスに対応するラベルを出力情報として出力するよう学習された分類モデルA_1を生成してよい。
【0043】
また、モデル生成部133は、上位クラス1の下位に属する2つの最下位クラス4および5の各々からサンプリングされたデータと、2つの最下位クラス4および5の各々に対応するラベルとの組である第2の学習データセットに基づいて学習させた分類モデルB_1を生成する。例えば、モデル生成部133は、第2の学習データセットに含まれるデータが入力情報として分類モデルB_1に入力された場合、データに対応するラベルを出力情報として出力するように学習された分類モデルB_1を生成する。例えば、モデル生成部133は、第2の学習データセットに含まれるデータが入力情報として分類モデルB_1に入力された場合、2つの最下位クラス4および5の各々にデータが分類される確率値をそれぞれ推定し、推定された確率値が最大である最下位クラスに対応するラベルを出力情報として出力するよう学習された分類モデルB_1を生成してよい。
【0044】
また、モデル生成部133は、上位クラス2の下位に属する2つの最下位クラス6および7の各々からサンプリングされたデータと、2つの最下位クラス6および7の各々に対応するラベルとの組である第3の学習データセットに基づいて学習させた分類モデルB_2を生成する。例えば、モデル生成部133は、第3の学習データセットに含まれるデータが入力情報として分類モデルB_2に入力された場合、データに対応するラベルを出力情報として出力するように学習された分類モデルB_2を生成する。例えば、モデル生成部133は、第3の学習データセットに含まれるデータが入力情報として分類モデルB_2に入力された場合、2つの最下位クラス6および7の各々にデータが分類される確率値をそれぞれ推定し、推定された確率値が最大である最下位クラスに対応するラベルを出力情報として出力するよう学習された分類モデルB_2を生成してよい。
【0045】
また、モデル生成部133は、上位クラス3の下位に属する2つの最下位クラス8および9の各々からサンプリングされたデータと、2つの最下位クラス8および9の各々に対応するラベルとの組である第4の学習データセットに基づいて学習させた分類モデルB_3を生成する。例えば、モデル生成部133は、第4の学習データセットに含まれるデータが入力情報として分類モデルB_3に入力された場合、データに対応するラベルを出力情報として出力するように学習された分類モデルB_3を生成する。例えば、モデル生成部133は、第4の学習データセットに含まれるデータが入力情報として分類モデルB_3に入力された場合、2つの最下位クラス8および9の各々にデータが分類される確率値をそれぞれ推定し、推定された確率値が最大である最下位クラスに対応するラベルを出力情報として出力するよう学習された分類モデルB_3を生成してよい。
【0046】
上述したように、モデル生成部133は、複数の下位クラスの各々からサンプリングされるデータが入力情報として機械学習モデルに入力された場合、データが属する下位クラスに対応するラベルである下位ラベルを出力情報として出力するよう学習された機械学習モデルである分類モデルを上位クラスごとに生成する。例えば、モデル生成部133は、複数の下位クラスの各々からサンプリングされるデータが入力情報として機械学習モデルに入力された場合、下位クラスの各々にデータが分類される確率値をそれぞれ推定し、推定された確率値が最大である下位クラスに対応するラベルである下位ラベルを出力情報として出力するよう学習された機械学習モデルである分類モデルを上位クラスごとに生成する。このようにして、モデル生成部133は、階層クラスの階層構造に対応する階層性を有する複数の分類モデルの集合である第1の階層分類モデルを生成する。
【0047】
図5を用いて、実施形態に係る階層的な分類モデルの学習データセットについて説明する。図5は、実施形態に係る階層的な分類モデルの学習データセットについて説明するための図である。モデル生成部133は、複数の下位クラスの各々からサンプリングされるデータの数が類似するように複数の下位クラスの各々からサンプリングされたデータと、データが属する下位クラスに対応するラベルである下位ラベルとの組である学習データセットに基づいて学習された機械学習モデルである分類モデルを上位クラスごとに生成する。図5では、モデル生成部133は、図4で説明した上位クラス1に対応する分類モデルB_1の学習データセットとして、図4で説明した最下位クラス4および5の各々からサンプリングされるデータの数がなるべく均等になるように最下位クラス4および5の各々からサンプリングされたデータと、最下位クラス4および5の各々に対応する最下位ラベル4および5の各々との組である第2の学習データセットを生成する。
【0048】
(推定部134)
図6を用いて、実施形態に係るクラスの推定処理について説明する。図6は、実施形態に係るクラスの推定処理について説明するための図である。取得部131は、モデル生成部133によって生成された第1の階層分類モデルと、処理対象となる処理対象データとを取得する。図6では、取得部131は、モデル生成部133によって生成された第1の階層分類モデルに含まれる最上位の分類モデルA_1、最上位の分類モデルA_1の下位に属する第1上位の分類モデルB_1~B_3、第1上位の分類モデルB_1~B_3の下位に属する第2上位の分類モデルC_1~C_20、…、および、第(N―1)上位の分類モデル(図示略)の下位に属する第N(Nは3以上の自然数)上位の分類モデルX_1~X_100と、処理対象となる入力データとを取得する。
【0049】
推定部134は、取得部131によって取得された第1の階層分類モデルの中から最上位の分類モデルを選択する。図6では、推定部134は、取得部131によって取得された第1の階層分類モデルの中から最上位の分類モデルA_1を選択してよい。続いて、推定部134は、選択された最上位の分類モデルを用いて、最上位のクラスの下位に属する複数の上位クラスのうち、処理対象データが分類される第1の上位クラス(以下、第1上位クラスと記載する場合がある。)を推定する。図6では、推定部134は、選択された最上位の分類モデルA_1を用いて、最上位のクラスの下位に属する3つの上位クラスのうち、入力データが分類される第1上位クラスを推定してよい。例えば、推定部134は、入力データを最上位の分類モデルA_1に入力して、最上位の分類モデルA_1から出力されるラベルに対応する第1上位クラスを推定結果として得てよい。
【0050】
続いて、推定部134は、最上位の分類モデルの推定結果に基づいて、最上位のクラスの下位に属する複数の上位クラスの各々に対応する分類モデルの中から、第1上位クラスに対応する第1上位の分類モデルを選択する。図6では、推定部134は、最上位のクラスの下位に属する複数の上位クラスの各々に対応する第1上位の分類モデルB_1~B_3の中から、第1上位クラスに対応する第1上位の分類モデルB_3を選択してよい。
【0051】
続いて、推定部134は、選択された第1上位の分類モデルを用いて、第1上位クラスの下位に属する複数の上位クラスのうち、処理対象データが分類される第2の上位クラス(以下、第2上位クラスと記載する場合がある。)を推定する。図6では、推定部134は、選択された第1上位の分類モデルB_3を用いて、第1上位クラスの下位に属する20個の上位クラスのうち、入力データ分類される第2上位クラスを推定してよい。例えば、推定部134は、入力データを第1上位の分類モデルB_3に入力して、第1上位の分類モデルB_3から出力されるラベルに対応する第2上位クラスを推定結果として得てよい。
【0052】
続いて、推定部134は、第1上位の分類モデルの推定結果に基づいて、第1上位クラスの下位に属する複数の上位クラスの各々に対応する分類モデルの中から、第2上位クラスに対応する第2上位の分類モデルを選択する。図6では、推定部134は、第1上位クラスの下位に属する複数の上位クラスの各々に対応する第2上位の分類モデルC_1~C_20の中から、第2上位クラスに対応する第2上位の分類モデルC_11を選択してよい。
【0053】
また、推定部134は、第(N―1)上位の分類モデルの推定結果に基づいて、第(N―1)上位クラスの下位に属する複数の上位クラスの各々に対応する分類モデルの中から、第N上位クラスに対応する第N上位の分類モデルを選択する。図6では、推定部134は、第(N―1)上位クラスの下位に属する複数の上位クラスの各々に対応する第N上位の分類モデルX_1~X_100の中から、第N上位クラスに対応する第N上位の分類モデルX_50を選択してよい。
【0054】
続いて、推定部134は、選択された第N上位の分類モデルを用いて、第N上位クラスの下位に属する複数の最下位クラスのうち、処理対象データが分類される最下位クラスを推定する。図6では、推定部134は、選択された第N上位の分類モデルX_50を用いて、第N上位クラスの下位に属する200個の最下位クラスのうち、処理対象データが分類される最下位クラスを推定してよい。例えば、推定部134は、入力データを第N上位の分類モデルX_50に入力して、第N上位の分類モデルX_50から出力されるラベル(図6に示す出力データに相当)に対応する最下位クラスを推定結果として得てよい。このように、推定部134は、処理対象データが分類されるクラスが最下位のクラスである複数の異なるクラスのいずれかと一致するまで、選択処理と推定処理を繰り返し実行する。
【0055】
上述したように、推定部134は、最上位のクラスに対応する分類モデルから順番に選択される所定の上位クラスに対応する分類モデルである上位の分類モデルを用いて、処理対象データが分類される第1下位クラスを推定し、上位の分類モデルの推定結果に基づいて、所定の上位クラスの下位に属する複数の下位クラスの各々に対応する分類モデルの中から、第1下位クラスに対応する分類モデルである下位の分類モデルを選択し、選択された下位の分類モデルを用いて、処理対象データが分類される第2下位クラスを推定する。また、推定部134は、処理対象データが複数の異なるクラスのいずれかに分類されるまで、上位の分類モデルの推定結果に基づいて、複数の下位クラスの各々に対応する分類モデルの中から、下位の分類モデルを選択し、選択された下位の分類モデルを用いて第2下位クラスを推定する処理を繰り返し実行する。
【0056】
〔3.変形例〕
上述した実施形態に係る処理は、上記実施形態以外にも種々の異なる形態にて実施されてよい。
【0057】
上述した実施形態では、モデル生成部133が、処理対象データを2以上のクラスに分類する分類モデル(以下、「通常の多クラス分類モデルと」と記載する場合がある。)の集合である第1の階層分類モデルを生成する場合について説明した。これに対し、変形例では、モデル生成部133が、2クラス分類モデルの代わりに、処理対象データを未知のクラスを含む3以上のクラスに分類する分類モデル(以下、「未知クラスを検出可能な多クラス分類モデル」と記載する場合がある。)の集合である第2の階層分類モデルを生成する場合について説明する。
【0058】
また、上述した実施形態では、推定部134が、処理対象データが複数の最下位クラスのいずれかに分類されるまで、上位の分類モデルによる1つの推定結果のみを採用し、1つの推定結果に基づいて、複数の下位クラスの各々に対応する分類モデルの中から1つの分類モデルを選択し、選択された1つの分類モデルを用いて下位クラスを推定する処理を繰り返し実行する場合について説明した。これに対し、変形例では、推定部134が、処理対象データが複数の最下位クラスのいずれかに分類されるまで、上位の分類モデルによる2以上の推定結果を採用し、2以上の推定結果に基づいて、複数の下位クラスの各々に対応する分類モデルの中から2以上の分類モデルを選択し、選択された2以上の分類モデルそれぞれを用いて下位クラスをそれぞれ推定する処理を繰り返し実行する。また、変形例では、推定部134が、選択された2以上の分類モデルそれぞれの推定結果が所定の条件を満たす場合、分類モデルを選択する処理以後の処理を中止することを決定する場合について説明する。
【0059】
まず、図7を用いて、上位の分類モデルによる一の推定結果のみを採用することにより、下位クラスの推定結果が不正解となる場合について説明する。図7は、上位の分類モデルによる一の推定結果のみを採用することにより、下位クラスの推定結果が不正解となる場合について説明するための図である。図7では、分類モデルに入力される入力データの正解の分類先は最下位クラス9である。このとき、推定部134は、入力データを最上位の分類モデルA_1に入力すると、上位クラス1~3の各々にデータが分類される確率値をそれぞれ推定し、推定された確率値が最大(図7では0.5)である上位クラス1に対応するラベルを出力情報として出力する。続いて、推定部134は、入力データを上位クラス1に対応する分類モデルB_1に入力すると、最下位クラス4または5の各々にデータが分類される確率値をそれぞれ推定し、推定された確率値が最大(図7では0.6)である最下位クラス5に対応するラベルを出力情報として出力する。このように、図7では、上位の分類モデルによる一の推定結果のみを採用することにより、下位クラスの推定結果が不正解となる。
【0060】
次に、図8を用いて、上位の分類モデルによる複数の推定結果を採用することにより、下位クラスの推定結果が正解となる場合について説明する。図8は、上位の分類モデルによる複数の推定結果を採用することにより、下位クラスの推定結果が正解となる場合について説明するための図である。図8では、図7と同様、分類モデルに入力される入力データの正解の分類先は最下位クラス9である。このとき、推定部134は、入力データを最上位の分類モデルA_1に入力すると、上位クラス1~3の各々にデータが分類される確率値をそれぞれ推定し、推定された確率値が高い方から順に2つの上位クラス1および3の各々に対応する分類モデルB_1および分類モデルB_3を選択する。続いて、推定部134は、選択された2つの分類モデルB_1およびB_3を用いて、選択された2つの分類モデルB_1およびB_3の各々に対応する上位クラス1および3の各々の下位に属する最下位クラスの各々に入力データが分類される確率値を推定する。例えば、推定部134は、分類モデルB_1に入力データを入力すると、最下位クラス4または5の各々にデータが分類される確率値をそれぞれ推定し、推定された確率値が最大(図8では0.6)である最下位クラス5に対応するラベルを出力情報として出力する。また、推定部134は、分類モデルB_3に入力データを入力すると、最下位クラス8または9の各々にデータが分類される確率値をそれぞれ推定し、推定された確率値が最大(図8では0.9)である最下位クラス9に対応するラベルを出力情報として出力する。
【0061】
上述したように、推定部134は、上位の分類モデルを用いて、処理対象データが複数の下位クラスの各々に分類される確率値を推定し、上位の分類モデルの推定結果に基づいて、複数の下位クラスの各々に対応する分類モデルの中から、確率値が高い方から順に2以上の所定数の下位クラスの各々に対応する複数の分類モデルを選択し、選択された複数の分類モデルを用いて、選択された複数の分類モデルの各々に対応する下位クラスのさらに下位のクラスの各々に処理対象データが分類される確率値を推定する。これにより、情報処理装置100は、上位の分類モデルによる一の推定結果のみを採用することにより、下位クラスの推定結果が不正解となることを防ぐことができる。
【0062】
また、図8では、推定部134は、入力データが最上位のクラスから2つの最下位クラス5および9に分類されるまでの分類経路(1)および(2)における各クラスに分類される確率値の積の値を算出してよい。例えば、推定部134は、分類経路(1)に対応する2つの確率値0.5と0.6の積の値である0.5×0.6=0.3を算出してよい。また、推定部134は、分類経路(2)に対応する2つの確率値0.4と0.9の積の値である0.4×0.9=0.36を算出してよい。続いて、推定部134は、分類経路(1)および(2)の各々における確率値の積の値である0.3と0.36との比較に基づいて、確率値の積の値が最大である0.36の分類経路(2)を採用し、入力データが最下位クラス9に分類されると推定してよい。このように、図8では、上位の分類モデルによる複数の推定結果を採用することにより、下位クラスの推定結果が正解となる。
【0063】
上述したように、推定部134は、処理対象データが複数の異なるクラスのうちの2以上のクラスに分類される場合、処理対象データが最上位のクラスから複数の異なるクラスのうちの2以上のクラスの各々に対応するクラスに分類されるまでの分類経路における各クラスに分類される確率値の積の値の比較に基づいて、処理対象データが確率値の積の値が最大である分類経路に対応するクラスに分類されると推定する。
【0064】
次に、図9を用いて、通常の多クラス分類モデルと未知のクラスを検知可能な多クラス分類モデルについて説明する。図9は、通常の多クラス分類モデルと未知のクラスを検知可能な多クラス分類モデルについて説明するための図である。図9の左側は、通常の多クラス分類モデルを示す。通常の多クラス分類モデルは、入力データが何であろうと、あらかじめ学習した複数のクラスの各々に入力データが分類される確率値を推定する。図9の左側に示す通常の多クラス分類モデル(以下、「第1多クラス分類モデル」と記載する。)は、分類対象データを犬のクラスまたは猫のクラスのうちいずれかに分類するよう学習された分類モデルである。このとき、本来は鳥のクラスに分類されるべき入力データを第1多クラス分類モデルに入力した場合、第1多クラス分類モデルは、入力データが犬のクラスに分類される確率を70%、猫のクラスに分類される確率を30%と推定する。
【0065】
図9の右側は、未知のクラスを検知可能な多クラス分類モデルを示す。未知のクラスを検知可能な多クラス分類モデルは、あらかじめ学習した複数のクラスに分類されない入力データを未知のクラスに分類することができる。図9の右側に示す未知のクラスを検知可能な多クラス分類モデル(以下、「第2多クラス分類モデル」と記載する。)は、分類対象データを犬のクラス、猫のクラスまたは未知のクラスのうちいずれかに分類するよう学習された分類モデルである。このとき、鳥のクラスに分類されるべき入力データを第2多クラス分類モデルに入力した場合、第2多クラス分類モデルは、入力データが犬のクラスに分類される確率を10%、猫のクラスに分類される確率を15%、未知のクラスに分類される確率を75%と推定する。このように、未知のクラスを検知可能な多クラス分類モデルは、あらかじめ学習した複数のクラス以外のクラスに分類されるべき処理対象データを未知のクラスに分類することを可能とすることができる。
【0066】
そこで、変形例では、モデル生成部133は、分類対象データを複数の下位クラスまたは複数の下位クラスのいずれでもない未知のクラスのうちいずれかのクラスに分類する機械学習モデルである分類モデルを上位クラスごとに生成する。モデル生成部133は、分類対象データを複数の下位クラスまたは複数の下位クラスのいずれでもない未知のクラスのうちいずれかのクラスに分類する機械学習モデルである分類モデルであって、上位クラスごとに生成された分類モデルを生成する。例えば、モデル生成部133は、クラス生成部132によって生成された樹形図に含まれる分岐点の数に対応する数の分類モデルとして、未知のクラスを検知可能な多クラス分類モデルを取得してよい。続いて、モデル生成部133は、図4および図5で説明したのと同様にして、分類モデルを生成してよい。例えば、モデル生成部133は、複数の下位クラスの各々からサンプリングされるデータが入力情報として機械学習モデルに入力された場合、複数の下位クラスの各々にデータが分類される確率値をそれぞれ推定し、推定された確率値を出力情報として出力するよう学習された機械学習モデルである分類モデルを上位クラスごとに生成する。このようにして、モデル生成部133は、階層クラスの階層構造に対応する階層性を有する複数の分類モデルの集合である第2の階層分類モデルを生成する。また、モデル生成部133は、未知のクラスを検知可能な多クラス分類モデルの集合である第2の階層分類モデルを生成する。これにより、情報処理装置100は、例えば、上位の分類モデルによって処理対象データが未知のクラスに分類された場合、処理を中止することができるので、上位の分類モデルの推定結果の誤りにより、下位クラスの推定結果が不正解となることを防ぐことができる。
【0067】
次に、図10を用いて、変形例に係るクラスの推定処理について説明する。図10は、変形例に係るクラスの推定処理について説明するための図である。図10では、図6と重複する内容については、記載を省略する。取得部131は、分類対象データを複数の下位クラスまたは複数の下位クラスのいずれでもない未知のクラスのうちいずれかのクラスに分類する機械学習モデルである分類モデルであって、上位クラスごとに生成された分類モデルと、処理対象データとを取得する。図10では、取得部131は、モデル生成部133によって生成された第2の階層分類モデルと、処理対象データとを取得する。図10では、取得部131は、モデル生成部133によって生成された第2の階層分類モデルに含まれる最上位の分類モデルA_1、最上位の分類モデルA_1の下位に属する第1上位の分類モデルB_1~B_3、第1上位の分類モデルB_1~B_3の下位に属する第2上位の分類モデルC_1~C_20、…、および、第(N―1)上位の分類モデル(図示略)の下位に属する第N(Nは3以上の自然数)上位の分類モデルX_1~X_100と、処理対象となる入力データとを取得する。
【0068】
また、図10では、推定部134は、選択された最上位の分類モデルA_1を用いて、最上位のクラスの下位に属する3つの上位クラスおよび未知のクラスの各々に入力データが分類される確率値をそれぞれ推定してよい。また、推定部134は、上位の分類モデルの推定結果に基づいて、複数の下位クラスの各々に対応する分類モデルの中から、確率値が高い方から順に2以上の所定数の下位クラスの各々に対応する複数の分類モデルを選択する処理以後の処理を中止するか否かを判定する。ここで、2以上の所定数は、複数の下位クラスの数よりも小さい数であってよい。以下では、処理を中止するか否かを判定する処理のことを処理継続判定または継続判定処理と記載する場合がある。例えば、推定部134は、分類対象データが未知のクラスに分類された場合、処理対象データが複数の下位クラスまたは未知のクラスの各々に分類される確率値の差が第1閾値を超えた場合、または、処理対象データが最上位のクラスから複数の異なるクラスのうちの2以上のクラスの各々に対応するクラスに分類されるまでの分類経路における各クラスに分類される確率値の積の値が第2閾値を下回った場合、所定数の下位クラスの各々に対応する複数の分類モデルを選択する処理以後の処理を中止することを決定する。図10では、推定部134は、処理継続判定の結果、処理を継続することを決定する。
【0069】
また、推定部134は、処理を継続することを決定した場合、上位の分類モデルの推定結果に基づいて、複数の下位クラスの各々に対応する分類モデルの中から、確率値が高い方から順に2以上の所定数の下位クラスの各々に対応する複数の分類モデルを選択する。以下では、複数の分類モデルを選択する処理のことを複数選択処理と記載する場合がある。図10では、推定部134は、最上位の分類モデルの推定結果に基づいて、最上位のクラスの下位に属する複数の第1上位クラスの各々に対応する第1上位の分類モデルB_1~B_3の中から、確率値が高い方から順に2つの第1上位クラスの各々に対応する2つの第1上位の分類モデルB_2およびB_3を選択してよい。続いて、推定部134は、選択された2つの第1上位の分類モデルB_2およびB_3をそれぞれ用いて、2つの第1上位クラスの各々の下位に属する複数の上位クラスおよび未知のクラスの各々に入力データが分類される確率値をそれぞれ推定してよい。推定部134は、処理対象データが分類されるクラスが最下位のクラスである複数の異なるクラスのいずれかと一致するまで、継続判定処理と複数選択処理と推定処理を繰り返し実行する。
【0070】
次に、図11を用いて、変形例に係る推定処理を中止する場合の一例について説明する。図11は、変形例に係る推定処理を中止する場合の一例について説明するための図である。図11では、推定部134は、処理対象データが複数の下位クラスまたは未知のクラスの各々に分類される確率値の差が第1閾値を超えたため、所定数の下位クラスの各々に対応する複数の分類モデルを選択する処理以後の処理を中止することを決定する。なお、推定部134は、処理対象データが分類されるクラスが最下位のクラスである複数の異なるクラスのいずれかと一致する前に処理を中止することを決定した場合、継続判定処理の条件を緩和し、処理を最初から再度実行してよい。例えば、推定部134は、複数の下位クラスの各々に対応する分類モデルの中から、確率値が高い方から順に2以上の所定数の下位クラスの各々に対応する複数の分類モデルを選択する際の所定数を増加させてよい。また、推定部134は、分類対象データが未知のクラスに分類された場合、処理対象データが複数の下位クラスまたは未知のクラスの各々に分類される確率値の差が第1閾値を超えた場合に処理を中止する際の第1閾値を大きくしてよい。また、推定部134は、処理対象データが最上位のクラスから複数の異なるクラスのうちの2以上のクラスの各々に対応するクラスに分類されるまでの分類経路における各クラスに分類される確率値の積の値が第2閾値を下回った場合に処理を中止する際の第2閾値を小さくしてよい。
【0071】
〔4.効果〕
上述したように、実施形態に係る情報処理装置100は、クラス生成部132とモデル生成部133を備える。クラス生成部132は、複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、複数の異なるクラスよりも上位のクラスである上位クラスを生成する。モデル生成部133は、分類対象となる分類対象データを、上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類する機械学習モデルである分類モデルを上位クラスごとに生成する。
【0072】
これにより、情報処理装置100は、上位クラスごとに生成された複数の分類モデルそれぞれのモデルサイズは小さいまま、分類クラス数を大きくすることを可能とすることができる。したがって、情報処理装置100は、詳細な分類を可能とする分類モデルの小型化を実現可能とすることができる。また、情報処理装置100は、詳細な分類を可能とする分類モデルの小型化を実現可能とすることができるので、小型化された分類モデルを用いて詳細な分類を行うことを可能とすることができる。例えば、情報処理装置100は、小型化された行動認識モデルを用いて詳細な行動の分類を行うことを可能とすることができる。また、情報処理装置100は、小型化された分類モデルを用いて詳細な分類を行うことを可能とすることができるので、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。
【0073】
また、クラス生成部132は、複数の異なるクラスにそれぞれ属するデータの特徴量の平均値を代表値として、上位クラスを生成する。
【0074】
これにより、情報処理装置100は、複数の異なるクラスにそれぞれ属するデータの特徴量の平均値に基づいて、適切に上位クラスを生成することができる。
【0075】
また、クラス生成部132は、新たに生成されるクラスタの数が所定の閾値を下回るまで複数のクラス特徴量を階層的にクラスタリングする。
【0076】
これにより、情報処理装置100は、所望の数の上位クラスを生成することができる。
【0077】
また、クラス生成部132は、複数のクラス特徴量の類似度に基づいて、複数のクラス特徴量の各々を要素とするクラスタである複数の最下位クラスタの各々を結合することにより生成されるクラスタである複数の第1上位クラスタの各々に対応するクラスである複数の第1上位クラス、および、複数の第1上位クラスタの類似度に基づいて、複数の第1上位クラスタの各々を結合することにより生成されるクラスタである複数の第2上位クラスタの各々に対応するクラスである複数の第2上位クラスを生成することにより、上位クラスを生成する。
【0078】
これにより、情報処理装置100は、クラス特徴量の類似度に基づいて、適切に第1上位クラスを生成することができる。また、情報処理装置100は、第1上位クラスタの類似度に基づいて、適切に第2上位クラスを生成することができる。
【0079】
また、クラス生成部132は、階層的なクラスタを生成する過程を表現するグラフである樹形図を生成する。モデル生成部133は、樹形図に含まれる分岐点の数に対応する数の分類モデルを生成する。
【0080】
これにより、情報処理装置100は、生成された上位クラスの数に対応する分類モデルを生成することができる。
【0081】
また、モデル生成部133は、複数の下位クラスの各々からサンプリングされるデータの数が類似するように複数の下位クラスの各々からサンプリングされたデータと、データが属する下位クラスに対応するラベルである下位ラベルとの組である学習データセットに基づいて学習された機械学習モデルである分類モデルを上位クラスごとに生成する。
【0082】
これにより、情報処理装置100は、学習データセットに含まれる下位クラスのデータに偏りがないようにすることができるため、精度の高い分類モデルを生成することができる。
【0083】
また、モデル生成部133は、データが入力情報として機械学習モデルに入力された場合、下位ラベルを出力情報として出力するよう学習された機械学習モデルである分類モデルを上位クラスごとに生成する。
【0084】
これにより、情報処理装置100は、適切に分類モデルを生成することができる。
【0085】
また、モデル生成部133は、分類対象データを複数の下位クラスまたは複数の下位クラスのいずれでもない未知のクラスのうちいずれかのクラスに分類する機械学習モデルである分類モデルを上位クラスごとに生成する。
【0086】
これにより、情報処理装置100は、例えば、上位の分類モデルによって処理対象データが未知のクラスに分類された場合、処理を中止することができるので、上位の分類モデルの推定結果の誤りにより、下位クラスの推定結果が不正解となることを防ぐことができる。
【0087】
また、情報処理装置100は、取得部131と推定部134を備える。取得部131は、複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、複数の異なるクラスよりも上位のクラスである上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類対象となる分類対象データを分類する機械学習モデルである分類モデルと、処理対象となる処理対象データとを取得する。推定部134は、最上位のクラスに対応する分類モデルから順番に選択される所定の上位クラスに対応する分類モデルである上位の分類モデルを用いて、処理対象データが分類される第1下位クラスを推定し、上位の分類モデルの推定結果に基づいて、所定の上位クラスの下位に属する複数の下位クラスの各々に対応する分類モデルの中から、第1下位クラスに対応する分類モデルである下位の分類モデルを選択し、選択された下位の分類モデルを用いて、処理対象データが分類される第2下位クラスを推定する。
【0088】
これにより、情報処理装置100は、小型化された分類モデルを用いて詳細な分類を行うことを可能とすることができる。例えば、情報処理装置100は、小型化された行動認識モデルを用いて詳細な行動の分類を行うことを可能とすることができる。また、情報処理装置100は、小型化された分類モデルを用いて詳細な分類を行うことを可能とすることができるので、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。
【0089】
また、推定部134は、処理対象データが複数の異なるクラスのいずれかに分類されるまで、上位の分類モデルの推定結果に基づいて、複数の下位クラスの各々に対応する分類モデルの中から、下位の分類モデルを選択し、選択された下位の分類モデルを用いて第2下位クラスを推定する処理を繰り返し実行する。
【0090】
これにより、情報処理装置100は、小型化された分類モデルを用いて詳細な分類を行うことを可能とすることができる。
【0091】
また、推定部134は、上位の分類モデルを用いて、処理対象データが複数の下位クラスの各々に分類される確率値を推定し、上位の分類モデルの推定結果に基づいて、複数の下位クラスの各々に対応する分類モデルの中から、確率値が高い方から順に2以上の所定数の下位クラスの各々に対応する複数の分類モデルを選択し、選択された複数の分類モデルを用いて、選択された複数の分類モデルの各々に対応する下位クラスのさらに下位のクラスの各々に処理対象データが分類される確率値を推定する。
【0092】
これにより、情報処理装置100は、上位の分類モデルによる一の推定結果のみを採用することにより、下位クラスの推定結果が不正解となることを防ぐことができる。
【0093】
また、推定部134は、処理対象データが複数の異なるクラスのうちの2以上のクラスに分類される場合、処理対象データが最上位のクラスから複数の異なるクラスのうちの2以上のクラスの各々に対応するクラスに分類されるまでの分類経路における各クラスに分類される確率値の積の値の比較に基づいて、処理対象データが確率値の積の値が最大である分類経路に対応するクラスに分類されると推定する。
【0094】
これにより、情報処理装置100は、複数の分類モデルによる推定結果を採用した場合であっても、適切な分類結果を得ることができる。
【0095】
また、取得部131は、分類対象データを複数の下位クラスまたは複数の下位クラスのいずれでもない未知のクラスのうちいずれかのクラスに分類する機械学習モデルである分類モデルであって、上位クラスごとに生成された分類モデルと、処理対象データとを取得する。推定部134は、上位の分類モデルの推定結果に基づいて、複数の下位クラスの各々に対応する分類モデルの中から、所定数の下位クラスの各々に対応する複数の分類モデルを選択する処理以後の処理を中止するか否かを判定する。
【0096】
これにより、情報処理装置100は、例えば、処理対象データが未知のクラスに分類された場合、処理を中止することができるので、上位の分類モデルの推定結果の誤りにより、下位クラスの推定結果が不正解となることを防ぐことができる。
【0097】
また、推定部134は、分類対象データが未知のクラスに分類された場合、処理対象データが複数の下位クラスまたは未知のクラスの各々に分類される確率値の差が第1閾値を超えた場合、または、処理対象データが最上位のクラスから複数の異なるクラスのうちの2以上のクラスの各々に対応するクラスに分類されるまでの分類経路における各クラスに分類される確率値の積の値が第2閾値を下回った場合、所定数の下位クラスの各々に対応する複数の分類モデルを選択する処理以後の処理を中止することを決定する。
【0098】
これにより、情報処理装置100は、上位の分類モデルの推定結果の誤りが生じそうな場合には、処理を中止することができるので、上位の分類モデルの推定結果の誤りにより、下位クラスの推定結果が不正解となることを防ぐことができる。
【0099】
〔5.ハードウェア構成〕
また、上述してきた実施形態に係る情報処理装置100は、例えば図12に示すような構成のコンピュータ1000によって実現される。図12は、情報処理装置100の機能を実現するコンピュータの一例を示すハードウェア構成図である。コンピュータ1000は、CPU1100、RAM1200、ROM1300、HDD1400、通信インターフェイス(I/F)1500、入出力インターフェイス(I/F)1600、及びメディアインターフェイス(I/F)1700を備える。
【0100】
CPU1100は、ROM1300またはHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0101】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス1500は、所定の通信網を介して他の機器からデータを受信してCPU1100へ送り、CPU1100が生成したデータを所定の通信網を介して他の機器へ送信する。
【0102】
CPU1100は、入出力インターフェイス1600を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。CPU1100は、入出力インターフェイス1600を介して、入力装置からデータを取得する。また、CPU1100は、生成したデータを入出力インターフェイス1600を介して出力装置へ出力する。
【0103】
メディアインターフェイス1700は、記録媒体1800に格納されたプログラムまたはデータを読み取り、RAM1200を介してCPU1100に提供する。CPU1100は、かかるプログラムを、メディアインターフェイス1700を介して記録媒体1800からRAM1200上にロードし、ロードしたプログラムを実行する。記録媒体1800は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0104】
例えば、コンピュータ1000が実施形態に係る情報処理装置100として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされたプログラムを実行することにより、制御部130の機能を実現する。コンピュータ1000のCPU1100は、これらのプログラムを記録媒体1800から読み取って実行するが、他の例として、他の装置から所定の通信網を介してこれらのプログラムを取得してもよい。
【0105】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0106】
〔6.その他〕
また、上記実施形態及び変形例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0107】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0108】
例えば、上述した実施形態では、情報処理装置100が、取得部131と、クラス生成部132と、モデル生成部133と、推定部134を機能部として有する場合について説明したが、各部はそれぞれ別々の装置に分散して構成することができる。例えば、情報処理装置100は、処理対象データが分類されるクラスを推定する情報処理装置として、取得部131と、推定部134を機能部として有することができる。また、情報処理装置100以外の情報処理装置(以下、「生成装置」と記載する)は、分類モデルを生成する情報処理装置として、取得部131と、クラス生成部132と、モデル生成部133を機能部として有することができる。このとき、情報処理装置100と生成装置とは、各種ネットワークと有線または無線で接続され、相互に情報の送受信を行ってよい。例えば、情報処理装置100は、生成装置によって生成された分類モデルに関する情報を生成装置から受信してよい。また、情報処理装置100は、生成装置から受信した分類モデルを用いて、処理対象データが分類されるクラスを推定してよい。
【0109】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【符号の説明】
【0110】
100 情報処理装置
110 通信部
120 記憶部
130 制御部
131 取得部
132 クラス生成部
133 モデル生成部
134 推定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
【手続補正書】
【提出日】2024-11-15
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、前記複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた前記複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、前記複数の異なるクラスよりも上位のクラスである上位クラスを生成するクラス生成部と、
分類対象となる分類対象データを、前記上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類する機械学習モデルである分類モデルを前記上位クラスごとに生成するモデル生成部と、
を備え
前記モデル生成部は、
前記複数の下位クラスの各々からサンプリングされるデータの数が類似するように前記複数の下位クラスの各々からサンプリングされたデータと、前記データが属する下位クラスに対応するラベルである下位ラベルとの組である学習データセットに基づいて学習された前記機械学習モデルである前記分類モデルを前記上位クラスごとに生成する、
情報処理装置。
【請求項2】
前記クラス生成部は、
前記複数の異なるクラスにそれぞれ属するデータの特徴量の平均値を前記代表値として、前記上位クラスを生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記クラス生成部は、
新たに生成されるクラスタの数が所定の閾値を下回るまで前記複数のクラス特徴量を階層的にクラスタリングする、
請求項1に記載の情報処理装置。
【請求項4】
前記クラス生成部は、
前記複数のクラス特徴量の類似度に基づいて、前記複数のクラス特徴量の各々を要素とするクラスタである複数の最下位クラスタの各々を結合することにより生成されるクラスタである複数の第1上位クラスタの各々に対応するクラスである複数の第1上位クラス、および、前記複数の第1上位クラスタの類似度に基づいて、前記複数の第1上位クラスタの各々を結合することにより生成されるクラスタである複数の第2上位クラスタの各々に対応するクラスである複数の第2上位クラスを生成することにより、前記上位クラスを生成する、
請求項1に記載の情報処理装置。
【請求項5】
前記クラス生成部は、
前記階層的なクラスタを生成する過程を表現するグラフである樹形図を生成し、
前記モデル生成部は、
前記樹形図に含まれる分岐点の数に対応する数の前記分類モデルを生成する、
請求項1に記載の情報処理装置。
【請求項6】
前記モデル生成部は、
前記データが入力情報として前記機械学習モデルに入力された場合、前記下位ラベルを出力情報として出力するよう学習された前記機械学習モデルである前記分類モデルを前記上位クラスごとに生成する、
請求項に記載の情報処理装置。
【請求項7】
前記モデル生成部は、
前記分類対象データを前記複数の下位クラスまたは前記複数の下位クラスのいずれでもない未知のクラスのうちいずれかのクラスに分類する前記機械学習モデルである前記分類モデルを前記上位クラスごとに生成する、
請求項1に記載の情報処理装置。
【請求項8】
複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、前記複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた前記複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、前記複数の異なるクラスよりも上位のクラスである上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類対象となる分類対象データを分類する機械学習モデルである分類モデルであって、前記複数の下位クラスの各々からサンプリングされるデータの数が類似するように前記複数の下位クラスの各々からサンプリングされたデータと、前記データが属する下位クラスに対応するラベルである下位ラベルとの組である学習データセットに基づいて学習された前記機械学習モデルであって、前記上位クラスごとに生成された前記機械学習モデルである前記分類モデルと、処理対象となる処理対象データとを取得する取得部と、
最上位のクラスに対応する前記分類モデルから順番に選択される所定の上位クラスに対応する前記分類モデルである上位の分類モデルを用いて、前記処理対象データが分類される第1下位クラスを推定し、前記上位の分類モデルの推定結果に基づいて、前記所定の上位クラスの下位に属する複数の下位クラスの各々に対応する前記分類モデルの中から、前記第1下位クラスに対応する前記分類モデルである下位の分類モデルを選択し、選択された前記下位の分類モデルを用いて、前記処理対象データが分類される第2下位クラスを推定する推定部と、
を備える情報処理装置。
【請求項9】
前記推定部は、
前記処理対象データが前記複数の異なるクラスのいずれかに分類されるまで、前記上位の分類モデルの推定結果に基づいて、前記複数の下位クラスの各々に対応する前記分類モデルの中から、前記下位の分類モデルを選択し、選択された前記下位の分類モデルを用いて前記第2下位クラスを推定する処理を繰り返し実行する、
請求項に記載の情報処理装置。
【請求項10】
前記推定部は、
前記上位の分類モデルを用いて、前記処理対象データが前記複数の下位クラスの各々に分類される確率値を推定し、前記上位の分類モデルの推定結果に基づいて、前記複数の下位クラスの各々に対応する前記分類モデルの中から、前記確率値が高い方から順に2以上の所定数の下位クラスの各々に対応する複数の前記分類モデルを選択し、選択された複数の前記分類モデルを用いて、選択された複数の前記分類モデルの各々に対応する下位クラスのさらに下位のクラスの各々に前記処理対象データが分類される確率値を推定する、
請求項に記載の情報処理装置。
【請求項11】
前記推定部は、
前記処理対象データが前記複数の異なるクラスのうちの2以上のクラスに分類される場合、前記処理対象データが前記最上位のクラスから前記複数の異なるクラスのうちの2以上のクラスの各々に対応するクラスに分類されるまでの分類経路における各クラスに分類される確率値の積の値の比較に基づいて、前記処理対象データが前記確率値の積の値が最大である前記分類経路に対応するクラスに分類されると推定する、
請求項10に記載の情報処理装置。
【請求項12】
前記取得部は、
前記分類対象データを前記複数の下位クラスまたは前記複数の下位クラスのいずれでもない未知のクラスのうちいずれかのクラスに分類する前記機械学習モデルである前記分類モデルであって、前記上位クラスごとに生成された前記分類モデルと、前記処理対象データとを取得し、
前記推定部は、
前記上位の分類モデルの推定結果に基づいて、前記複数の下位クラスの各々に対応する前記分類モデルの中から、前記所定数の下位クラスの各々に対応する複数の前記分類モデルを選択する処理以後の処理を中止するか否かを判定する、
請求項10に記載の情報処理装置。
【請求項13】
前記推定部は、
前記分類対象データが前記未知のクラスに分類された場合、前記処理対象データが前記複数の下位クラスまたは前記未知のクラスの各々に分類される確率値の差が第1閾値を超えた場合、または、前記処理対象データが前記最上位のクラスから前記複数の異なるクラスのうちの2以上のクラスの各々に対応するクラスに分類されるまでの分類経路における各クラスに分類される確率値の積の値が第2閾値を下回った場合、前記所定数の下位クラスの各々に対応する複数の前記分類モデルを選択する処理以後の処理を中止することを決定する、
請求項12に記載の情報処理装置。
【請求項14】
情報処理装置が実行するプログラムにより実現される情報処理方法であって、
複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、前記複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた前記複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、前記複数の異なるクラスよりも上位のクラスである上位クラスを生成するクラス生成工程と、
分類対象となる分類対象データを、前記上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類する機械学習モデルである分類モデルを前記上位クラスごとに生成するモデル生成工程と、
を含み、
前記モデル生成工程は、
前記複数の下位クラスの各々からサンプリングされるデータの数が類似するように前記複数の下位クラスの各々からサンプリングされたデータと、前記データが属する下位クラスに対応するラベルである下位ラベルとの組である学習データセットに基づいて学習された前記機械学習モデルである前記分類モデルを前記上位クラスごとに生成する、
情報処理方法。
【請求項15】
情報処理装置が実行するプログラムにより実現される情報処理方法であって、
複数の異なるクラスにそれぞれ属するデータに関する特徴量であって、前記複数の異なるクラスそれぞれの代表値である複数のクラス特徴量の類似度に基づいて、階層的にクラスタリングされた前記複数のクラス特徴量に基づく階層的なクラスタの各々に対応するクラスであって、前記複数の異なるクラスよりも上位のクラスである上位クラスの下位に属する複数の下位クラスのうちいずれかの下位クラスに分類対象となる分類対象データを分類する機械学習モデルである分類モデルであって、前記複数の下位クラスの各々からサンプリングされるデータの数が類似するように前記複数の下位クラスの各々からサンプリングされたデータと、前記データが属する下位クラスに対応するラベルである下位ラベルとの組である学習データセットに基づいて学習された前記機械学習モデルであって、前記上位クラスごとに生成された前記機械学習モデルである前記分類モデルと、処理対象となる処理対象データとを取得する取得工程と、
最上位のクラスに対応する前記分類モデルから順番に選択される所定の上位クラスに対応する前記分類モデルである上位の分類モデルを用いて、前記処理対象データが分類される第1下位クラスを推定し、前記上位の分類モデルの推定結果に基づいて、前記所定の上位クラスの下位に属する複数の下位クラスの各々に対応する前記分類モデルの中から、前記第1下位クラスに対応する前記分類モデルである下位の分類モデルを選択し、選択された前記下位の分類モデルを用いて、前記処理対象データが分類される第2の下位クラスを推定する推定工程と、
を含む情報処理方法。