(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-16
(45)【発行日】2024-05-24
(54)【発明の名称】クラスタリング処理装置、クラスタリング処理方法、プログラム及び情報処理装置
(51)【国際特許分類】
G06N 20/00 20190101AFI20240517BHJP
【FI】
G06N20/00 160
(21)【出願番号】P 2022576961
(86)(22)【出願日】2021-08-30
(86)【国際出願番号】 JP2021031795
(87)【国際公開番号】W WO2022158027
(87)【国際公開日】2022-07-28
【審査請求日】2023-06-15
(31)【優先権主張番号】P 2021006621
(32)【優先日】2021-01-19
(33)【優先権主張国・地域又は機関】JP
【国等の委託研究の成果に係る記載事項】(出願人による申告)2018年度、国立研究開発法人新エネルギー・産業技術総合開発機構、「高効率・高速処理を可能とするAIチップ・次世代コンピューティングの技術開発/革新的AIエッジコンピューティング技術の開発/動的再構成技術を活用した組み込みAIシステムの研究開発」、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】517107634
【氏名又は名称】SOINN株式会社
(74)【代理人】
【識別番号】100103894
【氏名又は名称】家入 健
(72)【発明者】
【氏名】長谷川 修
(72)【発明者】
【氏名】井加田 洸輔
(72)【発明者】
【氏名】津田 直純
【審査官】真木 健彦
(56)【参考文献】
【文献】国際公開第2015/008432(WO,A1)
【文献】特開2007-066202(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
G06N 3/00
(57)【特許請求の範囲】
【請求項1】
多次元ベクトルで記述される複数のラベルが付与されていないノードからなる入力データをクラスタリングし、クラスタに属するノードにラベルを付与したクラスタリング中間データを取得する初期クラスタリング処理部と、
前記クラスタリング中間データに含まれるラベルが付されていないノードに対して、前記クラスタリング中間データに含まれる前記クラスタのいずれかに属するノードのうちで前記ラベルが付されていないノードから最短距離にあるノードに付されたものと同じラベルを付与したクラスタリング結果データを作成する追加クラスタリング処理部と、を備える、
クラスタリング処理装置。
【請求項2】
前記追加クラスタリング処理部は、
前記クラスタリング中間データに含まれるノードから、前記クラスタのいずれにも属していないラベルなしノードを1つ選択するノード選択部と、
選択された1つの前記ラベルなしノードと、前記クラスタに属する全てのノードと、の間の距離を算出する距離算出部と、
前記算出した距離に基づいて、前記クラスタに属する全てのノードから、前記選択された1つのラベルなしノードから最短距離にある最短距離ノードを特定する所属クラスタ決定部と、
前記最短距離ノードに付与されたラベルと同じラベルを前記選択された1つのラベルなしノードに付与するラベル付与部と、を備える、
請求項1に記載のクラスタリング処理装置。
【請求項3】
前記追加クラスタリング処理部は、前記クラスタリング中間データにラベルが付されていないノードが存在するか否かを判定する進捗判定部をさらに備え、
前記追加クラスタリング処理部は、前記進捗判定部が前記クラスタリング中間データにラベルが付されていないノードが存在する存在しないと判定するまで、前記ノード選択部、前記距離算出部、前記所属クラスタ決定部及び前記ラベル付与部による処理を繰り返す、
請求項2に記載のクラスタリング処理装置。
【請求項4】
初期クラスタリング処理部によって、多次元ベクトルで記述される複数のラベルが付与されていないノードからなる入力データをクラスタリングし、クラスタに属するノードにラベルを付与したクラスタリング中間データを取得
し、
追加クラスタリング処理部によって、前記クラスタリング中間データに含まれるラベルが付されていないノードに対して、前記クラスタリング中間データに含まれる前記クラスタのいずれかに属するノードのうちで前記ラベルが付されていないノードから最短距離にあるノードに付されたものと同じラベルを付与したクラスタリング結果データを作成する、
クラスタリング処理方法。
【請求項5】
多次元ベクトルで記述される複数のラベルが付与されていないノードからなる入力データをクラスタリングし、クラスタに属するノードにラベルを付与したクラスタリング中間データを取得する処理と、
前記クラスタリング中間データに含まれるラベルが付されていないノードに対して、前記クラスタリング中間データに含まれる前記クラスタのいずれかに属するノードのうちで前記ラベルが付されていないノードから最短距離にあるノードに付されたものと同じラベルを付与したクラスタリング結果データを作成する処理と、をコンピュータに実行させる、
プログラム。
【請求項6】
多次元ベクトルで記述される複数のラベルが付与されていないノードからなる教師データ作成用入力データに対してクラスタリング処理を行って教師データを作成する教師データ作成部と、
前記教師データに基づいて、多次元ベクトルで記述される複数のラベルが付与されていないノードからなる学習対象入力データのノードにラベルを付与する教師有り学習部と、
前記教師有り学習部による処理結果を表示する表示部と、を備え、
前記教師データ作成部は、
多次元ベクトルで記述される複数のラベルが付与されていないノードからなる入力データをクラスタリングし、クラスタに属するノードにラベルを付与したクラスタリング中間データを取得する初期クラスタリング処理部と、
前記クラスタリング中間データに含まれるラベルが付されていないノードに対して、前記クラスタリング中間データに含まれる前記クラスタのいずれかに属するノードのうちで前記ラベルが付されていないノードから最短距離にあるノードに付されたものと同じラベルを付与したクラスタリング結果データを作成する追加クラスタリング処理部と、を備える、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、クラスタリング処理装置、クラスタリング処理方法、プログラム及び情報処理装置に関し、例えば任意のクラスに属する入力ベクトルを順次入力して当該入力ベクトルの入力分布構造を学習するクラスタリング処理装置、クラスタリング処理方法、プログラム及び情報処理装置に関する。
【背景技術】
【0002】
近年、様々な入力データについて教師有り学習を行い、入力データを分類する手法が知られている。この場合、予め、データに適切なラベルが付与された教師データを用意する必要がある。こうした教師データを作成するには、教師データ作成用のラベルが付与されていない入力データを用意し、これに対してk-means法などのクラスタリング手法を用いて、教師なし学習によるクラスタリングを行うことで、クラスタごとにラベルが付与された教師データが作成される。
【0003】
こうした教師データを作成するための効率的な学習手法として、例えば、学習中に必要に応じてニューロンを増殖させる学習手法である、自己組織化ニューラルネットワーク(SOINN:Self-Organizing Incremental Neural Network)と呼ばれる手法が提案されている。SOINNでは、ノード数を自律的に管理することにより非定常的な入力を学習することができ、複雑な分布形状を有するクラスに対しても適切なクラス数及び位相構造を抽出できるなど多くの利点を有する。SOINNの応用例として、例えばパターン認識においては、ひらがな文字のクラスを学習させた後に、カタカナ文字のクラスなどを追加的に学習させることができる。
【0004】
このようなSOINNの一例として、E-SOINN(Enhanced SOINN)と称される手法が提案されている(特許文献1)。E-SOINNでは、学習を随時追加するオンライン追加学習が可能であり、バッチ学習ではなく学習効率が良いという利点を有している。このため、E-SOINNでは、学習環境が新しい環境に変化した場合においても追加学習が可能である。また、E-SOINNでは、入力データに対するノイズ耐性が高いという利点をも有している。
【0005】
ところが、E-SOINNを含むSOINNにおいては、新たなノードをネットワークに挿入することが困難であることから、入力データの構造を正確に表現し難いという問題や、入力データの入力順序によって学習結果が異なってしまうという問題があった。こうした問題を解決するため、LB-SOINN(Load Balance Self-Organizing Incremental Neural Network)と称される手法が提案された(特許文献2)。LB-SOINNは、ネットワークにおけるノードの負荷をノード学習時間として扱い、ノード学習時間が大きなノードを検出し、検出したノードとこれに隣接するノードを接続する辺上に、検出したノードの重みベクトルに基づいて決定された重みベクトルを有する新たなノード生成する。これにより、検出したノードの学習時間の増大を緩和し、かつ、その付近に新たなノードを生成することで、入力データの構造をより正確に学習することができる。
【先行技術文献】
【特許文献】
【0006】
【文献】特開2008-217246号公報
【文献】特開2014-164396号公報
【非特許文献】
【0007】
【文献】Burr Settles, “Active Learning Literature Survey”, January 9, 2009, Computer Sciences Technical Report 1648, University of Wisconsin-Madison
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかし、こうした手法を用いても、クラスタリング後の全てのノードにラベルを付与することができない場合がある。このような場合、オペレータがクラスタリング後の結果を参照し、ラベルが付与されていないノードに対して適当と考えられるラベルを手作業で付与する必要が有った。そのため、教師データの作成に長時間を要してしまう。この場合、作業を行うオペレータによって、得られる教師データにバラつきが生じてしまうことも考え得る。
【0009】
また、アクティブラーニング(非特許文献1)などの他の手法を適用してラベルが付与れていないノードにラベルを付与することも可能である。しかし、この場合でも依然としてラベルが付与されていないノードが残る場合には、やはり手作業でラベルを付与する必要が有る。また、この手法でも、教師データを最初に作成しなければならないので、ここでも手作業でのラベル付与が必要となる。
【0010】
さらに、手作業でラベル付与を行う場合には、データ量が過度に多くなると、そもそもラベル付与を行うこと自体が困難となってしまう。
【0011】
このように、一般的な教師データの作成手法では、迅速かつ自動的に教師データを作成することは困難である。よって、入力データの教師なし学習において、全てのノードに適当なラベルを付与することができる手法が求められる。
【0012】
本発明は、上記の事情に鑑みて成されたものであり、入力データの教師なし学習において、全てのノードに適当なラベルを付与することができるクラスタリング処理装置、クラスタリング処理方法、プログラム及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
本発明の一実施の形態にかかるクラスタリング処理装置は、多次元ベクトルで記述される複数のラベルが付与されていないノードからなる入力データをクラスタリングし、クラスタに属するノードにラベルを付与したクラスタリング中間データを取得する初期クラスタリング処理部と、前記クラスタリング中間データに含まれるラベルが付されていないノードに対して、前記クラスタリング中間データに含まれる前記クラスタのいずれかに属するノードのうちで前記ラベルが付されていないノードから最短距離にあるノードに付されたものと同じラベルを付与したクラスタリング結果データを作成する追加クラスタリング処理部と、を有するものである。これにより、初期クラスタリング処理でラベルが付与されなかったノードに対し、いずれかのクラスタに属する最短距離のノードと同じラベルを付与したクラスタリング結果データを作成することができる。
【0014】
本発明の一実施の形態にかかるクラスタリング処理装置は、上記のクラスタリング処理装置において、前記追加クラスタリング処理部は、前記クラスタリング中間データに含まれるノードから、前記クラスタのいずれにも属していないラベルなしノードを1つ選択するノード選択部と、選択された1つの前記ラベルなしノードと、前記クラスタに属する全てのノードと、の間の距離を算出する距離算出部と、前記算出した距離に基づいて、前記クラスタに属する全てのノードから、前記選択された1つのラベルなしノードから最短距離にある最短距離ノードを特定する所属クラスタ決定部と、前記最短距離ノードに付与されたラベルと同じラベルを前記選択された1つのラベルなしノードに付与するラベル付与部と、を有するものである。これにより、初期クラスタリング処理でラベルが付与されなかったノードとクラスタに属するノードとの間の最短距離を算出し、ラベルが付与されなかったノードに最短距離ノードと同じラベルを付与することができる。
【0015】
本発明の一実施の形態にかかるクラスタリング処理装置は、上記のクラスタリング処理装置において、前記追加クラスタリング処理部は、前記クラスタリング中間データにラベルが付されていないノードが存在するか否かを判定する進捗判定部をさらに有し、前記追加クラスタリング処理部は、前記進捗判定部が前記クラスタリング中間データにラベルが付されていないノードが存在する存在しないと判定するまで、前記ノード選択部、前記距離算出部、前記所属クラスタ決定部及び前記ラベル付与部による処理を繰り返すものである。これにより、初期クラスタリング処理でラベルが付与されなかったノードの全てに対に対し、ラベルを付与することができる。
【0016】
本発明の一実施の形態にかかるクラスタリング処理方法は、多次元ベクトルで記述される複数のラベルが付与されていないノードからなる入力データをクラスタリングし、クラスタに属するノードにラベルを付与したクラスタリング中間データを取得し、前記クラスタリング中間データに含まれるラベルが付されていないノードに対して、前記クラスタリング中間データに含まれる前記クラスタのいずれかに属するノードのうちで前記ラベルが付されていないノードから最短距離にあるノードに付されたものと同じラベルを付与したクラスタリング結果データを作成するものである。これにより、初期クラスタリング処理でラベルが付与されなかったノードに対し、いずれかのクラスタに属する最短距離のノードと同じラベルを付与したクラスタリング結果データを作成することができる。
【0017】
本発明の一実施の形態にかかるプログラムは、多次元ベクトルで記述される複数のラベルが付与されていないノードからなる入力データをクラスタリングし、クラスタに属するノードにラベルを付与したクラスタリング中間データを取得する処理と、前記クラスタリング中間データに含まれるラベルが付されていないノードに対して、前記クラスタリング中間データに含まれる前記クラスタのいずれかに属するノードのうちで前記ラベルが付されていないノードから最短距離にあるノードに付されたものと同じラベルを付与したクラスタリング結果データを作成する処理と、をコンピュータに実行させるものである。これにより、初期クラスタリング処理でラベルが付与されなかったノードに対し、いずれかのクラスタに属する最短距離のノードと同じラベルを付与したクラスタリング結果データを作成することができる。
【0018】
本発明の一実施の形態にかかる情報処理装置は、多次元ベクトルで記述される複数のラベルが付与されていないノードからなる教師データ作成用入力データに対してクラスタリング処理を行って教師データを作成する教師データ作成部と、前記教師データに基づいて、多次元ベクトルで記述される複数のラベルが付与されていないノードからなる学習対象入力データのノードにラベルを付与する教師有り学習部と、前記教師有り学習部による処理結果を表示する表示部と、を有し、前記教師データ作成部は、多次元ベクトルで記述される複数のラベルが付与されていないノードからなる入力データをクラスタリングし、クラスタに属するノードにラベルを付与したクラスタリング中間データを取得する初期クラスタリング処理部と、前記クラスタリング中間データに含まれるラベルが付されていないノードに対して、前記クラスタリング中間データに含まれる前記クラスタのいずれかに属するノードのうちで前記ラベルが付されていないノードから最短距離にあるノードに付されたものと同じラベルを付与したクラスタリング結果データを作成する追加クラスタリング処理部と、を有するものである。これにより、初期クラスタリング処理でラベルが付与されなかったノードに対し、いずれかのクラスタに属する最短距離のノードと同じラベルを付与したクラスタリング結果データを作成することができる。
【発明の効果】
【0019】
本発明によれば、入力データの教師なし学習において、クラスタリング後の全てのノードに適当なラベルを付与することができるクラスタリング処理装置、クラスタリング処理方法、プログラム及び情報処理装置を提供することができる。
【図面の簡単な説明】
【0020】
【
図1】実施の形態1にかかる情報処理装置を実現するためのシステム構成の一例を示す図である。
【
図2】実施の形態1にかかる情報処理装置の基本的構成を模式的に示す図である。
【
図3】実施の形態1にかかる情報処理装置の構成をより詳細に示す図である。
【
図4】実施の形態1にかかる情報処理装置の他の構成例を示す図である。
【
図5】実施の形態1にかかる教師データ作成部の基本的構成を模式的に示す図である。
【
図6】教師データ作成に用いる教師データ作成用入力データIN1の例を示す図である
【
図7】初期クラスタリング処理部のクラスタリング処理によって取得されるクラスタリング中間データの例を示す図である。
【
図8】実施の形態1にかかる教師データ作成部の構成をより詳細に示す図である。
【
図9】実施の形態1にかかる教師データ作成部が行うクラスタリング処理のフローチャートである。
【
図10】ノード選択部によって選択されるノードを示す。
【
図11】全てのノードに自動的にラベルが付与されて作成された教師データD
TCHの例を示す図である。
【発明を実施するための形態】
【0021】
以下、図面を参照して本発明の実施の形態について説明する。各図面においては、同一要素には同一の符号が付されており、必要に応じて重複説明は省略される。
【0022】
実施の形態1
図1は、実施の形態1にかかる情報処理装置を実現するためのシステム構成の一例を示す図である。情報処理装置1000は、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータ10により実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。
図1に示すように、コンピュータ10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12及びRAM(Random Access Memory)13を有し、これらがバス14を介して相互に接続されている。尚、コンピュータを動作させるためのOSソフトなどは、説明を省略するが、この情報処理装置を構築するコンピュータも当然有しているものとする。
【0023】
バス14には、入出力インターフェイス15も接続されている。入出力インターフェイス15には、例えば、キーボード、マウス、センサなどよりなる入力部16、CRT、LCDなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部17、ハードディスクなどより構成される記憶部18、モデム、ターミナルアダプタなどより構成される通信部19などが接続されている。
【0024】
CPU11は、ROM12に記憶されている各種プログラム、又は記憶部18からRAM13にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば後述する情報処理装置1000の各部の処理を実行する。CPU11とは別にGPU(Graphics Processing Unitを設け、CPU11と同様に、ROM12に記憶されている各種プログラム、又は記憶部18からRAM13にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば後述する情報処理装置1000の各部の処理を実行してもよい。なお、GPUは、定型的な処理を並列的に行う用途に適しており、後述するニューラルネットワークにおける処理などに適用することで、CPU11に比べて処理速度を向上させることも可能である。RAM13には又、CPU11及びGPU21が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0025】
通信部19は、例えば図示しないインターネットを介しての通信処理を行ったり、CPU11から提供されたデータを送信したり、通信相手から受信したデータをCPU11、RAM13、記憶部18に出力したりする。記憶部18はCPU11との間でやり取りし、情報の保存・消去を行う。通信部19は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。
【0026】
入出力インターフェイス15はまた、必要に応じてドライブ20が接続され、例えば、磁気ディスク20A、光ディスク20B、フレキシブルディスク20C、又は半導体メモリ20Dなどが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部18にインストールされる。
【0027】
続いて、本実施の形態にかかる情報処理装置1000における各処理について説明する。情報処理装置1000は、n(nは、1以上の整数)次元ベクトルで記述されるノードが配置される非階層構造のニューラルネットワークが入力される。ニューラルネットワークは、例えばRAM13などの記憶部に格納されている。
【0028】
本実施の形態におけるニューラルネットワークは、入力ベクトルをニューラルネットワークに入力し、入力される入力ベクトルに基づいて、ニューラルネットワークに配置されるノードを自動的に増加させる自己増殖型ニューラルネットワークであり、自己増殖型ニューラルネットワークを用いることで、ノードを自動的に増加させることができる。
【0029】
本実施の形態におけるニューラルネットワークは、非階層構造を有するものである。非階層構造を採用することで、他の層での学習を開始するタイミングを指定せずに追加学習を実施することができる。すなわち、オンラインでの追加学習を実施することができる。
【0030】
入力データは、n次元の入力ベクトルとして入力される。例えば、入力ベクトルは一時記憶部(例えばRAM13)に格納され、一時記憶部に格納されたニューラルネットワークに対して順次入力される。
【0031】
以下、実施の形態1にかかる情報処理装置1000の具体的な構成について説明する。情報処理装置1000には、まず、教師データの作成に用いられる教師データ作成用入力データが与えられ、これに基づいて教師データが作成される。そして、情報処理装置1000は、作成した教師データを用いて、別に与えられる学習対象入力データに対して教師データを使用して入力データに含まれるデータ(ノード)にラベルを付与する。
【0032】
図2に、実施の形態1にかかる情報処理装置1000の基本的構成を模式的に示す。また、
図3に、実施の形態1にかかる情報処理装置1000の構成をより詳細に示す。情報処理装置1000は、少なくとも教師データ作成部100を有し、さらに教師有り学習部110及び表示部120を有してもよい。この例では、教師データ作成用入力データIN1及び教師有り学習の対象となる学習対象入力データIN2は、情報処理装置1000の外部から、教師データ作成部100及び教師有り学習部110にそれぞれ与えられる。教師データ作成用入力データIN1及び教師有り学習の対象となる学習対象入力データIN2は、上述したように、多次元ベクトルで記述されるノードを複数含むデータである。
【0033】
なお、教師データ作成用入力データIN1及び学習対象入力データIN2は、情報処理装置1000に設けられた記憶部に格納されていてもよい。
図4に、実施の形態1にかかる情報処理装置1000の他の構成例を示す。この例では、情報処理装置1000は、記憶部130をさらに有している。教師データ作成用入力データIN1及び学習対象入力データIN2は、記憶部130に適宜格納され、教師データ作成部100及び教師有り学習部110が必要に応じて教師データ作成用入力データIN1及び学習対象入力データIN2を記憶部130から読み出してもよい。教師データ作成用入力データIN1及び学習対象入力データIN2は、情報処理装置1000のオペレータによって、予め又は任意のタイミングで、記憶部130に格納されてもよい。なお、記憶部130は、例えば、
図1に示すROM12及び記憶部18の一方又は両方に対応するものである。
【0034】
教師データ作成部100は、教師データ作成用入力データIN1に対して、例えばk-means法や上述のSOINN法などの教師なし学習手法を用いてクラスタリングを行ってクラスタリング中間データを作成し、さらにクラスタリング中間データに含まれるラベルなしノードにラベルを付与することで教師データDTCHを作成するものとして構成される。
【0035】
換言すれば、教師データ作成部100は1回目のクラスタリング処理後のクラスタに属するノードの全てに自動的にラベルを付与することができるクラスタリング処理を行うものとして構成される。
【0036】
なお、教師データ作成部100が行うクラスタリング処理の適用は教師データの作成に限定されるものではなく、様々な入力データのクラスタリング処理に適用することが可能である。よって、教師データ作成部100を、単にクラスタリング処理装置とも称する。
【0037】
図5に、教師データ作成部100の基本的構成を模式的に示す。教師データ作成部100は、初期クラスタリング処理部100A及び追加クラスタリング処理部100Bを有する。
【0038】
初期クラスタリング処理部100Aは、教師データ作成用入力データIN1に対して、例えばk-means法や上述のSOINN法などの教師なし学習手法を用いてクラスタリングを行ってノードにラベルを付与したクラスタリング中間データDINT_Lを作成するものとして構成される。
【0039】
図6に、教師データ作成に用いる教師データ作成用入力データIN1の例を示す。この例では、ラベルが付与されていないノード(白丸で表示)が2次元平面に分布しているデータを教師データ作成用入力データIN1として用いる。
【0040】
図7に、初期クラスタリング処理部100Aの初期クラスタリング処理によって取得されるクラスタリング中間データD
INT_Lの例を示す。
図7のクラスタリング中間データD
INT_Lは、例えば4つのクラスタC1~C4を含み、クラスタC1~C4にはそれぞれ複数のノードが属している。なお、クラスタリング中間データD
INT_Lでは、含まれる全てのノードがいずれかのクラスタに属しているわけではなく、いずれのクラスタにも属することなく、かつ、いかなるラベルも付与さていないノードが存在する。
図7では、いずれのクラスタにも属することなく、かつ、いかなるラベルも付与さていないノードをラベルなしノードとして白丸で表示している。
【0041】
上述の通り、クラスタリング中間データDINT_Lにはラベルなしノードが含まれており、この後の追加クラスタリング処理部100Bでさらなるクラスタリング処理が行われる。そのため、区別のため、ここでの処理主体を初期クラスタリング処理部100Aと称し、初期クラスタリング処理部100Aが行うクラスタリング処理を初期クラスタリング処理と称するものとする。
【0042】
追加クラスタリング処理部100Bは、クラスタリング中間データDINT_Lに含まれるラベルなしノードにラベルを付与する処理をさらに行って、クラスタリング結果データである教師データDTCHを作成する。
【0043】
ここでは、初期クラスタリング処理と区別するため、ここでの処理主体を追加クラスタリング処理部100Bと称し、かつ、追加クラスタリング処理部100Bが行うクラスタリング処理を追加クラスタリング処理と称するものとする。
【0044】
次いで、教師データ作成部100の構成及び動作について、より詳細に説明する。
図8に、実施の形態1にかかる教師データ作成部100の構成をより詳細に示す。初期クラスタリング処理部100Aは、データ取得部101、クラスタリング処理部102及び第1ラベル付与部103を有する。追加クラスタリング処理部100Bは、ノード選択部104、距離算出部105、所属クラスタ決定部106、第2ラベル付与部107及び進捗判定部108を有する。
【0045】
図9に、教師データ作成部100が行うクラスタリング処理のフローチャートを示す。教師データ作成部100が行うクラスタリング処理は、以下のステップS1~S8を経て、クラスタリング結果データである教師データD
TCHを作成する。
【0046】
ステップS1
データ取得部101は、情報処理装置1000の外部又は記憶部130から教師データ作成用入力データIN1を取得する。
【0047】
ステップS2
クラスタリング処理部102は、教師データ作成用入力データIN1に対してk-means法や上述のSOINN法などの教師なし学習手法を用いて初期クラスタリング処理を行い、クラスタリング結果であるクラスタリング中間データDINTを取得する。なお、上述の通り、この段階のクラスタリング中間データDINTには、いずれのクラスタにも属していないノードも含まれている。
【0048】
ステップS3
第1ラベル付与部103は、クラスタC1~C4のいずれかに属することとなったノードにラベルを付与する。例えば、第1ラベル付与部103は、クラスタC1~C4のそれぞれに属することとなったノードに、ラベルとして「C1」、「C2」、「C3」及び「C4」を付与してもよい。但し、クラスタC1~C4のいずれかに属することとなったノードに付与するラベルは例に過ぎず、必要に応じて他の適切なラベルを付与してもよい。第1ラベル付与部103は、ラベル付与済みのクラスタリング中間データDINT_Lを出力する。上述の通り、この段階のクラスタリング中間データDINT_Lには、ラベルなしノードも含まれている。
【0049】
ステップS4
ノード選択部104は、ラベル付与済みのクラスタリング中間データD
INT_Lに含まれるラベルなしノードを1つ選択し、選択結果SELを出力する。
図10に、ノード選択部104によって選択されるノードを示す。この例では、
図10のラベルなしノードNSが選択されるものとする。
【0050】
ステップS5
距離算出部105は、選択結果SELに基づいて、選択されたノードNSと、クラスタC1~C4に属する各ノードとの距離を算出する。距離算出部105は、算出した距離を示す距離情報DISを出力する。ここで適用する距離尺度としては、コサイン距離、ユークリッド距離、マハラノビス距離、マンハッタン距離、フラクショナル距離などの各種の距離尺度を用いることができる。
【0051】
ステップS6
所属クラスタ決定部106は、距離情報DISに基づいて算出した距離の中で最短の距離を検出し、クラスタC1~C4に属するノードの中で選択されたノードNSから最短距離DISMINにあるノードを特定する。ここでは、例として、クラスタC4に属するノードの1つが最短距離ノードNNであるものとする。所属クラスタ決定部106は、特定したノードを示すノード特定情報NDを出力する。
【0052】
ステップS7
第2ラベル付与部107は、ノード特定情報NDに基づいて、所属クラスタ決定部106によって特定されたノードに付与されたラベルと同じラベルを、ラベルなしノードNSに付与する。例えば、クラスタC4に属する最短距離ノードNNにラベルとして「C4」が付与されている場合には、所属クラスタ決定部106は、同じラベル「C4」をラベルなしノードNSに付与する。これにより、ラベルが付与されたラベルなしノードNSは、クラスタC4に属するノードとなる。
【0053】
ステップS8
進捗判定部108は、ラベル付与済み後のクラスタリング中間データDINT_Lにラベルなしノードが含まれるかを判定する。クラスタリング中間データDINT_Lにラベルなしノードが含まれる場合には、処理をステップS4に返す。これにより、クラスタリング中間データDINT_Lに含まれるラベルなしノードの全てが最短距離のノードを含むいずれかのクラスタに属するまで、ステップS4~S7の処理が繰り返されることとなる。
【0054】
一方、ラベル付与済みクラスタリング中間データDINT_Lにラベルなしノードが含まれていない場合には、進捗判定部108はクラスタリング処理を終了し、最新のクラスタリング中間データDINT_Lを教師データDTCHとして出力する。
【0055】
以上のステップS1~S8に示す処理によって、初期クラスタリング処理でラベルなしノードが残存したとしても、全てのノードに自動的にラベルを付与することができる。
図11に、全てのノードに自動的にラベルが付与されて作成された教師データD
TCHの例を示す。
図11に示す様に、教師データD
TCHにはラベルなしノードは存在せず、各ノードがクラスタC1~C4のいずれかに属していることが理解できる。
【0056】
教師有り学習部110は、上述したように作成された教師データDTCHに基づいて、別途与えられる学習対象入力データIN2に対するラベル付与を行う。
【0057】
表示部120は、教師データ作成部100のクラスタリングの中間結果及び最終結果や、教師有り学習部110の処理結果などを適宜表示することができる。
【0058】
以上、本構成によれば、入力データの教師なし学習において、クラスタリング後の全てのノードに、自動的に好適なラベルを付与することができる。
【0059】
これにより、手作業を介在させることなく、教師データを自動的かつ迅速に教師データを作成することができる。また、教師データの作成から教師データを用いた教師なし学習とその学習結果の表示の一連の処理を、自動的に行うことが可能となる。
【0060】
その他の実施の形態
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、距離尺度についてであるが、オンライン追加学習を行う場合ではサンプルデータを事前に得ることができないので、事前に入力ベクトルの次元数を分析してどの距離尺度が有効であるかを決定することができない。このため、特許文献2において式(14)を用いて説明されているように、異なる距離尺度を組み合わせて2つのノード間の距離を表す新たな距離尺度を導入してもよい。例えば、特許文献2において式(14)~(16)を用いて導出された式(17)で示されるように、ユークリッド距離とコサイン距離とを組み合わせた新たな距離尺度を用いてもよい。
【0061】
また、距離尺度に関して、ユークリッド距離にコサイン距離を組み合せる場合を例に説明したが、これに限定されず、他の距離尺度(例えば、コサイン距離、マンハッタン距離、フラクショナル距離)を組み合せるものとしてもよい。さらに、高次元空間における有効な距離尺度に限定されず、学習しようとする問題に応じた他の距離尺度を組み合せるものとしてもよい。
【0062】
上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0063】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【0064】
この出願は、2021年1月19日に出願された日本出願特願2021-6621を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【0065】
10 コンピュータ
11 CPU
12 ROM
13 RAM
14 バス
15 入出力インターフェイス
16 入力部
17 出力部
18 記憶部
19 通信部
20 ドライブ
20A 磁気ディスク
20B 光ディスク
20C フレキシブルディスク
20D 半導体メモリ
100 教師データ作成部
100A 初期クラスタリング処理部
100B 追加クラスタリング処理部
110 教師有り学習部
120 表示部
130 記憶部
101 データ取得部
102 クラスタリング処理部
103 第1ラベル付与部
104 ノード選択部
105 距離算出部
106 所属クラスタ決定部
107 第2ラベル付与部
108 進捗判定部
1000 情報処理装置
C1~C4 クラスタ
DINT、DINT_L クラスタリング中間データ
DTCH 教師データ
IN1 教師データ作成用入力データ
IN2 学習対象入力データ