JP7489730B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP7489730B2
JP7489730B2 JP2022572905A JP2022572905A JP7489730B2 JP 7489730 B2 JP7489730 B2 JP 7489730B2 JP 2022572905 A JP2022572905 A JP 2022572905A JP 2022572905 A JP2022572905 A JP 2022572905A JP 7489730 B2 JP7489730 B2 JP 7489730B2
Authority
JP
Japan
Prior art keywords
node
edge
edges
information processing
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022572905A
Other languages
English (en)
Other versions
JPWO2022145087A5 (ja
JPWO2022145087A1 (ja
Inventor
修 長谷川
洸輔 井加田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SOINN INC.
Original Assignee
SOINN INC.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SOINN INC. filed Critical SOINN INC.
Publication of JPWO2022145087A1 publication Critical patent/JPWO2022145087A1/ja
Publication of JPWO2022145087A5 publication Critical patent/JPWO2022145087A5/ja
Application granted granted Critical
Publication of JP7489730B2 publication Critical patent/JP7489730B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関し、例えば任意のクラスに属する入力ベクトルを順次入力して当該入力ベクトルの入力分布構造を学習する情報処理装置、情報処理方法及びプログラムに関する。
学習中に必要に応じてニューロンを増殖させる学習手法として、自己組織化ニューラルネットワーク(SOINN:Self-Organizing Incremental Neural Network)と呼ばれる手法が提案されている(特許文献1)。SOINNでは、ノード数を自律的に管理することにより非定常的な入力を学習することができ、複雑な分布形状を有するクラスに対しても適切なクラス数及び位相構造を抽出できるなど多くの利点を有する。SOINNの応用例として、例えばパターン認識においては、ひらがな文字のクラスを学習させた後に、カタカナ文字のクラスなどを追加的に学習させることができる。
このようなSOINNの一例として、E-SOINN(Enhanced SOINN)と称される手法が提案されている。E-SOINNでは、学習を随時追加するオンライン追加学習が可能であり、バッチ学習ではなく学習効率が良いという利点を有している。このため、E-SOINNでは、学習環境が新しい環境に変化した場合においても追加学習が可能である。また、E-SOINNでは、入力データに対するノイズ耐性が高いという利点をも有している。
ところが、E-SOINNを含むSOINNにおいては、新たなノードをネットワークに挿入することが困難であることから、入力データの構造を正確に表現し難いという問題や、入力データの入力順序によって学習結果が異なってしまうという問題があった。こうした問題を解決するため、LB-SOINN(Load Balance Self-Organizing Incremental Neural Network)と称される手法が提案された(特許文献2)。LB-SOINNは、ネットワークにおけるノードの負荷をノード学習時間として扱い、ノード学習時間が大きなノードを検出し、検出したノードとこれに隣接するノードを接続する辺上に、検出したノードの重みベクトルに基づいて決定された重みベクトルを有する新たなノード生成する。これにより、検出したノードの学習時間の増大を緩和し、かつ、その付近に新たなノードを生成することで、入力データの構造をより正確に学習することができる。
特開2008-217246号公報 特開2014-164396号公報
しかしながら、上述のLB-SOINNでは、入力データにノイズが多い場合には、クラスタ間に新たなノードが生成されてしまうことが見出された。図32に、LB-SOINNにおける負荷平衡化による新規ノードの生成を模式的に示す。LB-SOINNでは、ニューラルネットワークに含まれるノードのうちで、ノードの学習時間が相対的に大きく、かつ、偏っているノード(被検出ノードと称する)Nmaxと、そのノードと辺で接続された隣接ノードNneiとの間に新たなノードNnewを生成する負荷平衡化を行うことで、ネットワーク構造を精度よく学習できる。図32に示すように、被検出ノードNmax及び隣接ノードNneiが同じクラスタCLに属している場合には、当該クラスタに属するノードの負荷を適切に平衡化できる。
しかし、LB-SOINNにおいてノイズが大きな入力データを学習してしまうと、被検出ノードNmaxと隣接ノードNneiとが辺で接続されてはいるものの、互いに異なるクラスタに属している場合が有る。図33に、LB-SOINNにおいてノイズが大きなデータを学習した場合での負荷平衡化による新規ノードの生成を模式的に示す。図33に示すように、例えば、隣接ノードNneiがクラスタCL1に属し、被検出ノードNmaxが別のクラスタCL2に属している場合、LB-SOINNでの負荷平衡化を行ってしまうと、2つのクラスタ間の境界領域Bに、新規ノードNnewが生成されてしまう。その結果、本来区別されるべきクラスタCL1とクラスタCL2とが区別できなくなり、入力データの構造を正しく学習できなくなるおそれが有る。
本発明は、上記の事情に鑑みて成されたものであり、入力データの構造をより正確に学習できる情報処理装置、情報処理方法及びプログラムを提供することを目的とする。
本発明の一実施の形態にかかる情報処理装置は、入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する情報処理装置において、前記ネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出する勝者ノード検出部と、前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を第1の値だけ増加させる辺学習時間更新部と、所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ネットワーク構造に挿入する負荷平衡化部と、を有するものである。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記辺学習時間更新部は、さらに、前記第1勝者ノードと前記第2勝者ノードとの間を接続する前記辺以外の、前記第1勝者ノードに接続する辺の辺学習時間及び前記第2勝者ノードに接続する辺の辺学習時間を前記第1の値よりも小さな第2の値だけ増加させることが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、辺学習時間が相対的に大きい1以上の辺を選択することが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、辺学習時間が所定の辺学習時間閾値よりも大きな1以上の辺を選択することが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、前記複数の辺から、辺学習時間と辺の長さとに基づいて1以上の辺を選択することが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、長さが相対的に大きい1以上の辺を選択することが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、長さが所定の値よりも大きな1以上の辺を選択することが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、前記選択した1以上の辺において、各辺の一端と接続される第1ノードの勝利回数及び他端と接続される第2ノードの勝利回数に基づいて、前記新たなノードを生成する位置を決定することが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、前記選択した1以上の辺において、各辺上の前記第1ノードの勝利回数及び前記第2ノードの勝利回数から算出した重心位置に、前記新たなノードを生成することが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、前記選択した1以上の辺を削除し、削除した各辺の一端と接続される第1ノードと前記新たなノードとを接続する第1の辺と、削除した各辺の他端と接続される第2ノードと前記新たなノードとを接続する第2の辺と、を生成して前記ネットワーク構造に挿入することが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記負荷平衡化部は、前記削除した各辺の辺学習時間を、前記第1の辺及び前記第2の辺のそれぞれに所定の割合で継承させることが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記第1及び第2の辺のそれぞれは、前記第1ノードの勝利回数及び前記第2ノードの勝利回数のそれぞれを、前記第1ノードの勝利回数及び前記第2ノードの勝利回数の和で除した値で示される割合だけ、前記削除した各辺の辺学習時間を継承することが望ましい。
本発明の一実施の形態にかかる情報処理装置は、上記の情報処理装置において、前記情報処理装置は、前記入力ベクトルと前記第1勝者ノードとの間の距離及び前記入力ベクトルと前記第2勝者ノード間との距離に基づいて、ノード挿入を実行するか否かを判定するノード挿入判定部と、前記ノード挿入判定部による判定の結果、前記ノード挿入を実行する場合に、前記入力ベクトルの成分と同一の成分を重みベクトルとして有する挿入ノードを生成し、当該生成した挿入ノードを前記ネットワーク構造に挿入するノード挿入部と、を有することが望ましい。
本発明の一実施の形態にかかる情報処理方法は、入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する情報処理方法であって、勝者ノード検出部が、前記ネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出し、辺学習時間更新部が、前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を所定値だけ増加させ、負荷平衡化部が、所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ネットワーク構造に挿入するものである。
本発明の一実施の形態にかかるプログラムは、任意のクラスに属する入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるネットワーク構造として学習する処理をコンピュータに実行させるプログラムであって、前記ネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出する処理と、辺学習時間更新部が、前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を所定値だけ増加させる処理と、所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ネットワーク構造に挿入する処理と、をコンピュータに実行させるものである。
本発明によれば、入力データの構造をより正確に学習できる情報処理装置、情報処理方法及びプログラムを提供することができる。
実施の形態1にかかる情報処理装置を実現するためのシステム構成の一例を示す図である。 実施の形態1にかかる情報処理装置の機能構成を模式的に示す図である。 実施の形態1にかかる情報処理装置の機能構成を模式的に示す図である。 実施の形態1にかかる情報処理装置における学習処理のフローチャートである。 学習時間の増加のケースを示す図である。 新規ノード挿入位置を示す図である。 新規ノード挿入位置を示す図である。 辺とノードの勝利回数との関係を示す図である。 4つのノードがスター型に接続される例を示す図である。 辺の削除を示す図である。 辺の生成及び挿入を示す図である。 辺学習時間の継承を示す図である。 実施の形態1において実験に用いるために生成したデータを示す図である。 生成したデータにノイズを与えた入力データを示す図である。 特許文献2のLB-SOINNから負荷平衡化を除いたアルゴリズムによる入力データの学習結果を示す図である。 特許文献2のLB-SOINNによる入力データの学習結果を示す図である。 実施の形態1にかかる負荷平衡化を適用した入力データの学習結果を示す図である。 実施の形態2において実験に用いるために生成したデータを示す図である。 生成したデータにノイズを与えた入力データを示す図である。 特許文献2のLB-SOINNから負荷平衡化を除いたアルゴリズムによる入力データの学習結果を示す図である。 特許文献2のLB-SOINNによる入力データの学習結果を示す図である。 実施の形態1にかかる負荷平衡化を適用した入力データの学習結果を示す図である。 入力されたベクトルの分布を示す図である。 実施の形態1で説明した負荷平衡化を適用後のノード分布を示す図である。 実施の形態2にかかる負荷平衡化のイメージを示す図である。 図19の入力ベクトル分布の下で、実施の形態2にかかる負荷平衡化を適用した後のノード分布を示す図である。 実施の形態2にかかる負荷平衡化を適用した入力データの学習結果を示す図である。 実施の形態3にかかる情報処理装置の構成を模式的に示す図である。 実施の形態3にかかる情報処理装置の動作のフローチャートである。 実施の形態4にかかる情報処理装置の構成を模式的に示す図である。 実施の形態4にかかる情報処理装置の動作のフローチャートである。 LB-SOINNにおける負荷平衡化による新規ノードの生成を模式的に示す図である。 LB-SOINNにおいてノイズが大きなデータを学習した場合での負荷平衡化による新規ノードの生成を模式的に示す図である。
以下、図面を参照して本発明の実施の形態について説明する。各図面においては、同一要素には同一の符号が付されており、必要に応じて重複説明は省略される。
実施の形態1
図1は、実施の形態1にかかる情報処理装置を実現するためのシステム構成の一例を示す図である。情報処理装置100は、専用コンピュータ、パーソナルコンピュータ(PC)などのコンピュータ10により実現可能である。但し、コンピュータは、物理的に単一である必要はなく、分散処理を実行する場合には、複数であってもよい。図1に示すように、コンピュータ10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12及びRAM(Random Access Memory)13を有し、これらがバス14を介して相互に接続されている。尚、コンピュータを動作させるためのOSソフトなどは、説明を省略するが、この情報処理装置を構築するコンピュータも当然有しているものとする。
バス14には、入出力インターフェイス15も接続されている。入出力インターフェイス15には、例えば、キーボード、マウス、センサなどよりなる入力部16、CRT、LCDなどよりなるディスプレイ、並びにヘッドフォンやスピーカなどよりなる出力部17、ハードディスクなどより構成される記憶部18、モデム、ターミナルアダプタなどより構成される通信部19などが接続されている。
CPU11は、ROM12に記憶されている各種プログラム、又は記憶部18からRAM13にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば後述する情報処理装置100の各部の処理を実行する。CPU11とは別にGPU(Graphics Processing Unitを設け、CPU11と同様に、ROM12に記憶されている各種プログラム、又は記憶部18からRAM13にロードされた各種プログラムに従って各種の処理、本実施の形態においては、例えば後述する情報処理装置100の各部の処理を実行してもよい。なお、GPUは、定型的な処理を並列的に行う用途に適しており、後述するニューラルネットワークにおける処理などに適用することで、CPU11に比べて処理速度を向上させることも可能である。RAM13には又、CPU11及びGPU21が各種の処理を実行する上において必要なデータなども適宜記憶される。
通信部19は、例えば図示しないインターネットを介しての通信処理を行ったり、CPU11から提供されたデータを送信したり、通信相手から受信したデータをCPU11、RAM13、記憶部18に出力したりする。記憶部18はCPU11との間でやり取りし、情報の保存・消去を行う。通信部19は又、他の装置との間で、アナログ信号又はディジタル信号の通信処理を行う。
入出力インターフェイス15はまた、必要に応じてドライブ20が接続され、例えば、磁気ディスク20A、光ディスク20B、フレキシブルディスク20C、又は半導体メモリ20Dなどが適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて記憶部18にインストールされる。
続いて、本実施の形態にかかる情報処理装置100における各処理について説明する。情報処理装置100は、n(nは、1以上の整数)次元ベクトルで記述されるノードが配置される非階層構造のニューラルネットワークが入力される。ニューラルネットワークは、例えばRAM13などの記憶部に格納されている。
本実施の形態におけるニューラルネットワークは、入力ベクトルをニューラルネットワークに入力し、入力される入力ベクトルに基づいて、ニューラルネットワークに配置されるノードを自動的に増加させる自己増殖型ニューラルネットワークであり、自己増殖型ニューラルネットワークを用いることで、ノードを自動的に増加させることができる。
本実施の形態におけるニューラルネットワークは、非階層構造を有するものである。非階層構造を採用することで、他の層での学習を開始するタイミングを指定せずに追加学習を実施することができる。すなわち、オンラインでの追加学習を実施することができる。
入力データは、n次元の入力ベクトルとして入力される。例えば、入力ベクトルは一時記憶部(例えばRAM13)に格納され、一時記憶部に格納されたニューラルネットワークに対して順次入力される。
なお、以下では、簡略化のため、本実施の形態におけるニューラルネットワークを、単にネットワークとも称する。
以下、実施の形態1にかかる情報処理装置100が行う負荷平衡化処理について説明する。負荷平衡化処理が行われるネットワークは、複数のノード及びノード間を接続する複数の辺により構成されるニューラルネットワークであり、例えば上述のE-SOINNや、LB-SOINNから負荷平衡化処理を除いたアルゴリズムによって作成される。
図2及び3に、実施の形態1にかかる情報処理装置100の機能構成を模式的に示す。図4に、実施の形態1にかかる情報処理装置100における処理のフローチャートを示す。ハードウェア上では、ソフトウェアと上記CPU11及びGPU21の一方又は両方などのハードウェア資源とが協働して、図2及び3に示す機能構成及び図4に示す各処理が実現される。
情報処理装置100は、勝者ノード検出部1、辺学習時間更新部2及び負荷平衡化部3を有し、これらが情報処理装置100の基本的構成要素となる。なお、図3に示した学習処理部4及びクラスタリング部5は、情報処理装置100に設けられてもよいし、情報処理装置100とは別個に設けられてもよい。ここでは、学習処理部4及びクラスタリング部5は、情報処理装置100に設けられるものとしている。
情報処理装置100には、負荷平衡化処理の対象となる、学習により構築されたネットワークと、新たな入力ベクトルと、が入力される。具体的には、学習処理部4が入力ベクトルを順次学習し、所定のタイミングで、構築されたネットワークと、新たな入力ベクトルと、を情報処理装置100に渡す。
情報処理装置100に学習処理部4の結果が入力されると、勝者ノード検出部1は、入力ベクトルとニューラルネットワークのノードとに基づいて第1勝者と第2勝者とを検出する。次いで、辺学習時間更新部2は、第1勝者と第2勝者とを接続する辺の学習時間を所定値だけ増加させる。
入力ベクトルの入力総数が所定の単位数(λ)の整数倍となった場合、負荷平衡化部3は、ニューラルネットワークに含まれる辺のうちで辺学習時間が相対的に大きい辺を検出し、検出した辺上に位置する新たなノードをニューラルネットワークに挿入する。
その後、情報処理装置100は、全ての入力ベクトルが入力済みとなったかを判定する。全ての入力ベクトルが入力済みでないと判定した場合には、新たな入力ベクトルが学習処理部4に入力され、処理が継続される。全ての入力ベクトルが入力済みと判定した場合には、クラスタリング部5が負荷平衡化後のネットワークのクラスタリング処理を行い、ネットワークを構成するノードが分類され、入力データに対する一連の処理が完了する。
以下、図4を参照して、情報処理装置100における処理について具体的に説明する。
ステップS1
学習処理部4は、勝者ノード検出部1と協働して順次入力される入力ベクトルを学習して、ノードとノード間を接続する辺とによって構成される入力分布構造を示すニューラルネットワークを構成する。学習処理部4は、学習の結果得られたノードと辺とを、逐次、一時記憶部に格納する。
ステップS2
勝者ノード検出部1は、一時記憶部に格納された入力ベクトル及びノードを参照し、対象入力ベクトルεに最も距離が近いノードを第1勝者ノードa1として検出し、対象入力ベクトルεに2番目に近いノードを第2勝者ノードa2として検出し、その結果を一時記憶部に格納する。勝者ノード検出部1は、検出処理として、例えば、以下の式[1]及び[2]に示す処理を実行し、その結果を一時記憶部に格納する。
Figure 0007489730000001
Figure 0007489730000002
ここで、D(ε,a)は、所定の距離尺度を用いて算出される入力ベクトルεとノードaとの間の距離であり、Aはノードの集合である。なお、ノード間の距離尺度としては、ユークリッド距離、コサイン距離、マンハッタン距離、フラクショナル距離など、任意の距離尺度を適用することができる。一般に、入力データが低次元である場合にユークリッド距離が用いられ、入力データが高次元である場合にコサイン距離、マンハッタン距離及びフラクショナル距離が用いられる。
なお、ここでは、勝者ノード検出部1と学習処理部4とを分けて記載しているが、勝者ノード検出部1は学習処理部4に含まれていてもよい。例えば、特許文献1及び2にかかるE-SOINNやLB-SOINNによって入力データの学習を行う場合には、入力ベクトルの学習において勝者ノード検出が行われる。この場合には、勝者ノード検出部1は学習処理部4に含まれ、学習処理で行われた勝者ノード検出結果をそのまま利用することができる。
ステップS3
辺学習時間更新部2は、第1勝者ノードと第2勝者ノードとを接続する辺(勝利辺とも称する)の学習時間を所定値だけ増加させ、その結果を一時記憶部に格納する。また、辺学習時間更新部2は、勝利辺以外の、第1勝者ノードに接続する辺及び第2勝者ノードに接続する辺の学習時間を増加させ、その結果を一時記憶部に格納してもよい。
なお、勝利辺の寄与を重視するため、勝利辺以外の第1勝者ノードに接続する辺及び第2勝者ノードに接続する辺の学習時間の増加量は、勝利辺の増加量よりも少ないことが望ましい。また、勝利辺以外の第1勝者ノードに接続する辺及び第2勝者ノードに接続する辺の学習時間の増加量は、負の方向つまり減少方向とすることも可能である。図5に、学習時間の増加のケースを示す。図5では、勝者ノードをW、勝利辺EWで勝者ノードWと接続するノードをNa、勝利辺ではない辺Eで勝者ノードWと接続するノードをNbとする。ケース1及び2は、勝利辺EWの学習時間のみが増加する単純なケースであり、それぞれ学習時間が1及び2だけ増加している。ケース3は、勝利辺EW及び勝利辺以外の辺Eの学習時間が増加するケースであり、それぞれ学習時間が3及び1だけ増加している。ケース4は、勝利辺EW及び勝利辺以外の辺Eの学習時間がそれぞれ異なる方向(正及び負)に変化するケースであり、勝利辺EWの学習時間が1だけ増加し、勝利辺以外の辺Eの学習時間が1だけ減少している。すなわち、勝利辺EWの学習時間が勝利辺以外の辺Eの学習時間に対して増加すればよいのであって、ケース4のように、勝利辺以外の辺Eの学習時間については、減少させてもよいことが理解できる。
ステップS4
負荷平衡化部3は、入力数判定部31、対象辺検出部32、辺上ノード挿入部33、対象辺削除部34及び新規ノード辺接続部35を有し、ステップS41~S45に基づき、負荷平行化を行う。
ステップS41
入力数判定部31は、入力ベクトルの入力数が所定数に到達したかを判定する。入力ベクトルの入力数が所定数に到達した場合には処理をステップS42に進め、入力ベクトルの入力数が所定数に到達していない場合には処理をステップS5へ進める。
本実施の形態では上述の入力数判定をステップS41としてステップS4の一部として扱ったが、入力数判定はステップS4とは別の処理としてもよい。例えば、後述する実施の形態3及び4においては、入力数判定(図29のステップS22、図31のステップS70及びS72)をステップS4とは別の処理としており、図29及び図31においては、ステップS4はステップS42~S45を含むものとなっている。
ステップS42
対象辺検出部32は、一時記憶部に格納された辺の辺学習時間を参照し、辺学習時間が相対的に大きな辺を検出し、その結果を一時記憶部に格納する。以下では、対象辺検出部32が検出した辺を対象辺と称する。対象辺検出部32は、例えば、所定の閾値TH1よりも大きな辺学習時間を有する辺を検出し、その結果を一時記憶部に格納する。閾値TH1は正の任意の値とすることができ、例えば、一時記憶部に格納された全ての辺の辺学習時間の平均値TAVEに所定の係数cを乗じた値(TH1=c・TAVE)としてもよい。なお、閾値TH1よりも大きな辺学習時間を有する全ての辺を対象辺とすることも可能であるが、その一部のみを対象辺としてもよい。例えば、閾値TH1よりも大きな辺学習時間を有する辺の中で、辺学習時間が大きいものから順に所定数の辺だけを対象辺としてもよい。
また、ノード及び辺をクラス分類して決定したクラスごとに相対的に大きな辺を検出してもよい。例えば、閾値TH1をそれぞれのクラスごとに用意して、対象辺を各々のクラスから検出してもよい。なお、クラス分類の方法についてはステップS6において後述する。
ステップS43
辺上ノード挿入部33は、検出された対象辺上の所定の位置の新規ノードを生成してネットワーク挿入し、その結果を一時記憶部に格納する。以下では、新規ノードが挿入される対象辺上の所定の位置を、新規ノード挿入位置と称する。新規ノード挿入位置は、様々な位置としてもよいが、例えば、図6に示す様に、対象辺の中点としてもよい。
上述では、新規ノード挿入位置を辺の中点としたが、対象辺の両端の2つのノードの勝利回数に基づいて新規ノード挿入位置を決定してもよい。以下、具体的に説明する。対象辺の両端のノードをN1及びN2とし、それぞれの勝利回数をVN1及びVN2、対象辺の長さをLとする。この場合、対象辺上において、ノードN1からL(VN2)/(VN1+VN2)だけ離隔した位置、又は、ノードN2からL(VN1)/(VN1+VN2)だけ離隔した位置、すなわち勝利回数に基づいた重心位置が、新規ノード挿入位置となる。例えば、図7に示すように、ノードN1の勝利回数が20、ノードN2の勝利回数が80の場合、ノードN1から4/5・Lだけ離隔した位置、すなわち、ノードN2から1/5・Lだけ離隔した位置が新規ノード挿入位置となる。
なお、勝利回数とは、あるノードにおいて、そのノードが勝者に選ばれた回数を意味する値であり、勝者とは例えば、第1勝者である。図8に、辺とノードの勝利回数との関係を示す。辺EAの両端には、ノードNi及びノードNjがそれぞれ接続されている。このとき、ノードNiの勝利回数VNi_Aは、辺EAが対象辺になった場合にノードNiが勝者になった回数を示す。同様に、ノードNjの勝利回数VNj_Aは、辺EAが対象辺になった場合にノードNjが勝者になった回数を示す。このように、ノードの勝利回数は、そのノードに接続される辺のそれぞれに対して保持されるものであって、ノードが複数の辺に接続されている場合には、各辺が対象辺となった場合の勝利回数を保持することとなる。
以下、具体例を示して説明する。図9に、4つのノードがスター型に接続される例を示す。この例では、ノードNiが、辺EA、EB及びECによって、それぞれノードNj、Nk及びNmと接続されている。この場合、ノードNj、Nk及びNmは、それぞれ、接続する辺EA、EB及びECが対象辺となった場合の勝利回数VNj_A、VNk_AB及びVNm_Cを保持することとなる。これに対し、中央のノードNiには3本の辺EA、EB及びECが接続されるので、各辺についての勝利回数VNi_A、VNi_B及びVNi_Cを保持することとなる。よって、辺の近傍への入力データに偏りがある場合、例えば、辺EA近傍の入力データが多く、辺EB及びEC近傍の入力データが少ない場合、勝利回数VNi_Aが勝利回数VNi_B及びVNi_Cよりも大きな値となるので、こうした入力データの偏りを勝利回数に反映することが可能となる。これにより、入力データの分布に対してより忠実な新規ノードを生成することができる。
しかしながら、これに限らず、使用状況に応じて適宜変更してもよい。例えば、特許文献2に記載されるノード学習時間のように、各ノードに固有の勝利回数を使用してもよい。この場合は、対象辺にかかわらず、同じノードは一つの勝利回数を有するので、処理がよりシンプルになり、処理の負荷を抑制できる。また、勝利回数は第2勝者の回数を考慮してもよいことは言うまでもない。
ステップS44
対象辺削除部34は、新規ノードの挿入後、図10に示すように、ノードN1とノードN2とを接続する対象辺をニューラルネットワークから削除し、その結果を一時記憶部に格納する。例えば、対象辺削除部34は、一時記憶部に格納される以下の式[3]に示す操作を実行して、その結果を一時記憶部に格納する。ここで、Cは辺集合を示し、例えば(N1,N2)はノードN1とノードN2とを接続する辺を示す。
Figure 0007489730000003
ステップS45
新規ノード辺接続部35は、図11に示すように、削除した対象辺によって接続されていた2つのノードN1及びN2のそれぞれと、挿入された新規ノードNとの間を接続する2本の辺を生成し、その結果を一時記憶部に格納する。例えば、新規ノード辺接続部35は、一時記憶部に格納される以下の式[4]に示す操作を実行して、その結果を一時記憶部に格納する。
Figure 0007489730000004
新規ノードに接続される2本の辺は、削除した対象辺の学習時間を所定のルールの下で引き継いでもよい。例えば、対象辺の学習時間を、新規に挿入した2本の辺の学習時間に均等に分配してもよい。
また、例えば、対象辺の両端の2つのノードの勝利回数に基づいて、対象辺の学習時間を、新規に挿入した2本の辺の学習時間に分配してもよい。上述と同様に、対象辺の両端のノードをN1及びN2とし、それぞれの勝利回数をVN1及びVN2とする。また、対象辺の学習時間をSTとする。この場合、図12に示すように、ノードN1と新規ノードとを結ぶ辺E1の学習時間をST・VN1/(VN1+VN2)とし、ノードN2と新規ノードとを結ぶ辺E2の学習時間をST・VN2/(VN1+VN2)としてもよい。例えば、図10に示すように、ノードN1の学習時間が20、ノードN2の勝利回数が80、対象辺の学習時間が100の場合、ノードN1と新規ノードとを結ぶ辺E1の学習時間ST1は20、ノードN2と新規ノードとを結ぶ辺E2の学習時間ST2は80となる。
ステップS5
その後、例えばクラスタリング部5は、入力ベクトルの処理が完了したか、すなわち、全ての入力ベクトルが入力済みとなったかを判定する。一時記憶部に格納された与えられた入力ベクトルεの総数が、全入力ベクトルの総数と一致しない場合はステップS1に戻り、次の入力ベクトルεを処理する。一方、入力ベクトルεの総数が全入力ベクトルの総数と一致した場合には以下のステップS6を実行する。なお、終了判定の方法はこれに限定されず、ユーザーによって終了の指示が与えられるものとしてもよい。
ステップS6
クラスタリング部5は、一時記憶部に格納された、処理が完了した負荷平衡化済みのノード及び辺を参照し、クラス分類を行う。ネットワークを構成するノードのクラス分類は、各種のクラス分類手法を適用可能であり、例えば非特許文献2のLB-SOINNと同様の処理を行ってもよい。
なお、本実施の形態では、ステップS5において処理が終了したと判定された場合にステップS6のクラス分類を行うものとして説明したが、これは例示に過ぎず、他の任意のタイミングで行ってもよい。例えば、ステップS4の負荷平衡化を行った後のタイミングで実行してもよいし、入力ベクトルの入力総数が所定の単位数(λ)とは異なる他の所定の単位数(λ’)の整数倍となった場合に実行するなどしてもよい。負荷平衡化時にノード及び辺がクラス分類されていると、前述したように、クラスごとに負荷平衡化を実行することもできる。
続いて、実施の形態1にかかる情報処理装置100における負荷平衡化処理の効果について、実験結果を参照して説明する。ここでは、図13に示すように、2次元の入力ベクトルが円弧状に分布した部分を2つ合わせたデータを生成し、図14に示すように、生成したデータにノイズを与えたものを入力データとして用いた。
図15に、特許文献2のLB-SOINNから負荷平衡化を除いたアルゴリズムによる入力データの学習結果を示す。この場合には、負荷平衡化を行っていないため、2つのクラスタの区別ができていない。
次いで、図16に、特許文献2のLB-SOINNによる入力データの学習結果を示す。この場合には、上述した通りノイズの影響のため、LB-SOINNの負荷平衡化によって、クラスタ間にノードが生成されて過度に密集してしまい、2つのクラスタの区別ができていない。
次いで、図17に、実施の形態1にかかる負荷平衡化を適用した入力データの処理結果を示す。この場合には、辺学習時間が相対的に大きい辺に基づいて負荷平衡化を行っているため、学習時間が小さな辺上、すなわちクラスタ間でのノード生成が抑制され、入力ベクトルの分布がより正確に反映されている。また、クラスタ間のノードが抑制されることで、クラスタ内部のノードとクラスタ間のノードとをつなぐ辺の生成も抑制され、その結果、クラスタ間を接続する辺が減少している。すなわち、実施の形態1にかかる情報処理装置100によれば、入力ベクトルの分布をより正確に表現できることが理解できる。
実施の形態2
実施の形態2にかかる負荷平衡化について説明する。実施の形態1では、辺学習時間が相対的大きな辺上に新規ノードを追加して負荷平衡化を行った。これに対し、本実施の形態では、入力データの分布をより正確に反映するため、辺学習時間及び長さの両方が相対的大きな辺上に新規ノードを追加して負荷平衡化を行う。
以下、実験結果を参照して説明する。ここでは、図18に示すように、中心部に密集した入力ベクトルと、中心部を囲んで環状に分布した入力ベクトルと、からなるデータを生成し、図19に示すように、生成したデータにノイズを与えたものを入力データとして用いた。
図20に、特許文献2のLB-SOINNから負荷平衡化を除いたアルゴリズムによる入力データの学習結果を示す。この場合には、負荷平衡化を行っていないため、入力ベクトルの密度をノードで表現することができず、中心部及び周囲の環状部の両方において一様にノードが存在してしまい、クラスタ間が多数の辺で接続されてしまっている。その結果、入力ベクトルの分布が正確に表現できていないことが理解できる。
図21に、特許文献2のLB-SOINNによる入力データの学習結果を示す。この場合には、中心部のノードの密度が表現はされているものの、過度に密集しすぎてしまい、かつ、ノイズの影響でクラスタ間が多数の辺で接続されてしまい、やはりクラスタが分離できていないことが理解できる。
次いで、図22に、実施の形態1にかかる負荷平衡化を適用した入力データの処理結果を示す。この場合には、図22のLB-SOINNと比較して、中心部のノードの密集が抑制されている。しかし、依然として中心部でのノードの過度の密集が認められる。また、辺学習時間が相対的に大きい辺に基づいて負荷平衡化を行っている。そのため、学習時間が小さな辺上でのノード生成が抑制され、ノードの疎密を表現できている。しかしながら、中心部ではノードが過度に生成されており、そのノードの多さのためにノイズなどによって環状部と中心部とを接続する辺が生成される確率が高くなる。その結果、クラスタ間を接続する辺が10本程度残存している。
実施の形態1におけるように、辺学習時間が相対的に大きな辺上に新規ノードを追加して負荷平衡化を行うと、新規ノードが生成された辺は削除され、削除された辺よりも短い辺が生成される。また、辺学習時間は入力ベクトルの分布密度が大きな場所で増加しやすいので、入力ベクトルの学習及び付加平衡化処理を進めると、特に入力ベクトルの分布密度が大きな場所において、負荷並行化処理で生成された辺で学習時間が大きくなって、さらなる負荷並行化処理を実行してしまう傾向が有る。すると、負荷平衡化によって、以前に生成された短い辺上にさらに新規ノードが生成され、かつ、さらに短い辺が生成されてしまう。その結果、図22に示すように、中心部でのノードの密集が生じたものと理解できる。
図23に、入力されたベクトルの分布を示す。図23の横軸は、入力ベクトルのいずれかの成分を示している。図23では、ノイズが大きなデータを想定しており、1つのクラスタ中に、左側の大きなピークで表されたサブクラスタSC1と、右側の小さなピークで表されたサブクラスタSC2とが存在している。このように分布した入力ベクトルを学習して生成されたノード及び辺に、実施の形態1で説明した負荷平衡化を適用すると、最もノード密度が大きいサブクラスタSC1を中心(破線部)として、負荷平衡化が実行される。
図24に、実施の形態1で説明した負荷平衡化を適用後のノード分布を示す。図24に示す様に、左側のサブクラスタSC1において負荷平衡化が多数行われた結果、必要以上のノードが生成されてしまい、ノード密度が局所的に大きくなる。その結果、ノード分布に偏りが生じ、又、不必要なノード生成によって処理スピードの低下が生じてしまう。
これに対し、本実施の形態では、辺学習時間だけでなく、辺の長さをも評価することで、過度に短い辺上での新規ノード生成を防止することで、平衡化処理によりノードの密集を緩和する。以下、実施の形態2にかかる負荷平衡化における対象辺検出(ステップS42)について説明する。
対象辺検出部32は、一時記憶部に格納された辺の辺学習時間を参照し、辺学習時間が相対的に大きな辺を検出し、その結果を一時記憶部に格納する。また、対象辺検出部32は、一時記憶部に格納された辺学習時間が相対的に大きな辺を参照し、長さが相対的に長い辺を検出する。以下では、対象辺検出部32が検出した、辺学習時間が相対的に大きく、かつ、長さが相対的に長い辺を対象辺と称する。
対象辺検出部32は、実施の形態1と同様に、例えば、所定の閾値TH1よりも大きな辺学習時間を有する辺を検出し、その結果を一時記憶部に格納する。閾値TH1は正の任意の値とすることができ、例えば、一時記憶部に格納された全ての辺の辺学習時間の平均値TAVEに所定の係数cを乗じた値(TH1=c・TAVE)としてもよい。なお、閾値TH1よりも大きな辺学習時間を有する全ての辺を対象辺とすることも可能であるが、その一部のみを対象辺としてもよい。例えば、閾値TH1よりも大きな辺学習時間を有する辺の中で、辺学習時間が大きいものから順に所定数だけを対象辺としてもよい。
次いで、対象辺検出部32は、例えば、所定の閾値TH1よりも大きな辺学習時間を有する辺から、閾値LTHよりも長い辺を検出し、その結果を一時記憶部に格納する。閾値LTHは正の任意の値とすることができ、例えば、一時記憶部に格納された全ての辺の長さの平均LAVEに所定の係数dを乗じた値(LTH=d・LAVE)としてもよい。
また、ノード及び辺をクラス分類して決定したクラスごとに、相対的に大きく、かつ、長さが相対的に長い辺を検出してもよい。例えば、閾値TH1及び閾値LTHをそれぞれのクラスごとに用意して、対象辺を各々のクラスから検出してもよい。
本実施の形態にかかる負荷平衡化の効果について説明する。図25に、実施の形態2にかかる負荷平衡化のイメージを示す。実施の形態1にかかる負荷平衡化では、負荷平衡化の対象となる辺を検出するにあたり、辺学習時間のみを参照し、辺の長さは参照していない。そのため、図25に示すように、辺学習時間が閾値よりも大きいが、長さが閾値よりも小さな辺も対象辺として検出されてしまう(図25の領域A1+A2)。その結果、対象辺が増加してしまい、新規ノードの過度な密集が生じる。
これに対し、本実施の形態では、負荷平衡化の対象となる辺を検出するにあたり、辺学習時間だけではなく辺の長さも参照しているため、図25に示すように、辺学習時間が閾値よりも大きく、かつ、長さが閾値よりも大きな辺だけが対象辺として検出される(図25の領域A1)。その結果、実施の形態1と比べて、短い辺が対象辺として検出されることを防止できる。図26に、図20の入力ベクトル分布の下で、実施の形態2にかかる負荷平衡化を適用した後のノード分布を示す。図27に、実施の形態2にかかる負荷平衡化を適用した入力データの処理結果を示す。図26に示す様に、短い辺が多く含まれる左側のサブクラスでの負荷平衡化の処理が抑制され、新規ノードの密集を防止できる。
本実施の形態による負荷平衡化を行うことで、図27に示すように、図22と比較して、中心部のノードの密集が大幅に抑制され、ノードの密度の偏りが緩和されている。かつ、クラスタ間の辺の数も大幅に減少し、入力データの分布をより正確に学習できることが理解できる。
実施の形態3
実施の形態3では、実施の形態1にかかる負荷平衡化を行う場合の処理の具体例として、特許文献2のLB-SOINNの負荷平衡化を、実施の形態1にかかる負荷平衡化に置き換えた例について説明する。なお、実施の形態3では、ニューラルネットワークの構成処理だけでなく負荷並行化処理も含めた一連の処理に対して、「学習」という用語を使用する。
図28に、実施の形態3にかかる情報処理装置300の構成を模式的に示す。学習処理部4は、入力情報取得部41、ノード密度更新判定部42、ノード密度算出部43、ノード挿入判定部44、ノード挿入部45、辺接続判定部46、辺接続部47、勝者ノード学習時間算出部48、重みベクトル更新部49及び老齢辺削除部50を有する。クラスタリング部5は、サブクラスタ決定部51、ノイズノード削除部52、学習終了判定部53及びクラス決定部54を有する。また、情報処理装置300は、出力情報表示部6を更に有する。
また、本実施の形態では、特許文献2の<3:新たな距離尺度の組み合わせの枠組み>で記載されている手法を用いている。具体的には、特許文献2の式14に示した距離尺度を使用しており、さらに具体的には式17を使用している。なお、特許文献2で記載されるように、この距離尺度を使用するためには、各距離尺度の正規化のために使用されるノード間の最小距離値及び最大距離値が必要となる。ノード間の最小距離値及び最大距離値はネットワークに新たな入力ベクトルが入力されると変化するため、この点にも考慮する。考慮する方法は後述する。
また、本実施の形態では、特許文献2の<5:新たなノード密度の定義およびその算出方法>で記載されている手法を用いている。具体的には、式23で記載されているノードiについての隣接ノードからの平均距離のベクトルdi、式24で記載されているノード密度のポイント値のベクトルpi、式25で記載されているノードiのノード密度の累積ポイント値のベクトルsi及び式26で記載されているノード密度hiを用いている。
図29に、実施の形態3にかかる情報処理装置300の動作のフローチャートを示す。
ステップS11
入力情報取得部41は、情報処理装置300に入力として与えられる情報として、n次元の入力ベクトルを取得し、取得した入力ベクトルを一時記憶部(例えばRAM13)に格納し、一時記憶部に格納されたニューラルネットワークに対して順次入力する。具体的には、入力情報取得部41は、初期化処理として、ノード集合Aを空集合、辺集合C⊂A×Aを空集合としてそれぞれ初期化し、その結果を一時記憶部に格納する。また、準初期化処理として、ノード集合Aに含まれるノードの個数が1つ以下である場合は、ノード数が2つになるよう入力ベクトルをランダムに取得し、それらに対応するノードをノード集合Aに加え、その結果を一時記憶部に格納する。次いで、入力処理として、新しい入力ベクトルε∈Rを入力し、その結果を一時記憶部に格納する。なお、初期化処理は処理を開始した直後のみ一度実行され、その後は実行されない。準初期化処理は、ノード集合Aに含まれるノードの個数が1つ以下である場合のみ実行され、それ以外の場合には実行されない。例えば、最初の入力ではなく、ノード集合Aに2つ以上ノードが存在する場合は、入力処理のみが実行される。
ステップS12
ノード密度更新判定部42は、一時記憶部に格納されたノード、各距離尺度に基づくノード間の最小距離値及び最大距離値について、各距離尺度に基づくノード間の最小距離値及び最大距離値のうちで少なくとも1つの値が変化したか否かを確認し、少なくとも1つの値が変化した場合にはノード密度を更新すると判定し、その結果を一時記憶部に格納する。なお、この処理及びステップS13の処理は、上記で示したように、ノード間の最小距離値および最大距離値がネットワークに新たな入力ベクトルが入力されると変化するため、その点を考慮したものである。
ステップS13
一時記憶部に格納された判定の結果、ノード密度を更新する場合には、ノード密度算出部43は、一時記憶部に格納されたノード、ノード密度の累積ポイント値のベクトル、ノードの学習時間、各距離尺度に基づくノード間の最小距離値及び最大距離値について、ノード密度の累積ポイント値のベクトル、ノードの学習時間、各距離尺度に基づくノード間の最小距離値及び最大距離値に基づいて、ノード集合Aに含まれるノードi∈Aのノード密度の累積ポイント値のベクトルs を再び算出して更新し、更新したノードiのノード密度の累積ポイント値のベクトルs を用いてノードiのノード密度hを再び算出し、その結果を一時記憶部に格納する。ノード密度算出部43は、例えば、特許文献2に記載の式(27)~(30)及び式(26)に示す算出処理を実行することによって、ノードiのノード密度の累積ポイント値のベクトルs 及びノードiのノード密度hを再び算出して更新する。
ステップS2
ステップS12においてノード密度更新を行わないと判定された場合、及び、ステップS13においてノード密度を算出した後、勝者ノード検出部1は、実施の形態1にかかる情報処理装置100における場合と同様に、第1勝者ノード及び第2勝者ノードを検出し、その結果を一時記憶部に格納する。
ステップS14
ノード挿入判定部44は、一時記憶部に格納された対象入力ベクトル、ノード、後述するノードの類似度閾値を参照して、ノード挿入を実行するか否かを判定する。以下、具体的に説明する。
ノード挿入判定部44は、一時記憶部に格納された第1勝者ノード及び第2勝者ノードを含むノードを参照して、第1勝者ノード又は第2勝者ノードを注目するノードiとして、類似度閾値Tを算出する。まず、ノード挿入判定部44は、ノードiの隣接ノードが存在するか否かを判定し、その結果を一時記憶部に格納する。
ノード挿入判定部44は、一時記憶部に格納された判定の結果、ノードiの隣接ノードjが存在する場合には、式[5]に示すように、隣接ノードjのうちでノードiからの距離が最大であるノードまでの距離を、類似度閾値とTして算出し、その結果を一時記憶部に格納する。ここで、D(i,j)は、上述の距離尺度を用いて算出されるノードiとノードjとの間の距離である。
Figure 0007489730000005
また、一時記憶部に格納された判定の結果、ノードiの隣接ノードが存在しない場合には、式[6]に示すように、ノード挿入判定部44は、ノードi以外のノードjのうちでノードiからの距離が最小であるノードまでの距離を類似度閾値Tとして算出し、その結果を一時記憶部に格納する。
Figure 0007489730000006
ノード挿入判定部44は、上述したように第1勝者ノードaの類似度閾値Ta1及び第2勝者ノードaの類似度閾値Ta2を算出し、その結果を一時記憶部に格納する。
次いで、ノード挿入判定部44は、入力ベクトルεと第1勝者ノードaとの間の距離D(ε,a)が第1勝者ノードaの類似度閾値Ta1より大きい(D(ε,a)>Ta1)、又は、入力ベクトルεと第2勝者ノードaとの間の距離D(ε,a)が第2勝者ノードaの類似度閾値Ta2より大きい(D(ε,a)>Ta2)場合には、ノード挿入を実行すると判定し、そうでない場合には、ノード挿入を実行しないと判定し、その結果を一時記憶部に格納する。
ステップS15
ステップS14においてノード挿入を行うと判定した場合、ノード挿入部45は、一時記憶部に格納されたノード挿入判定部44での判定結果を参照し、ノード挿入を実行すると判定された場合、対象入力ベクトルεが新たにネットワークに追加されるべきノードであるものとして、対象入力ベクトルεの成分と同一の成分を重みベクトルとして有する挿入ノードを生成し、生成した挿入ノードをネットワークに挿入し、その結果を一時記憶部に格納する。その後、処理をステップS5へ進める。
ステップS16
ステップS15においてノード挿入を行わないと判定した場合、辺接続判定部46は、一時記憶部に格納されたノード及びノードのサブクラスタラベルを参照し、ノードのサブクラスタラベルに基づいて第1勝者ノード及び第2勝者ノードが属するサブクラスタをそれぞれ判定し、その結果を一時記憶部に格納する。ここで、ノードのサブクラスタラベルとは、そのノードが属するサブクラスタを示すラベル情報のことをいう。クラスタとは、混合クラスに含まれるノードのうち、辺によって接続されるノードの集合である。サブクラスタは、同一のサブクラスタラベルが付与されたノードからなるクラスタの部分集合である。
一時記憶部に格納された判定の結果、第1勝者ノード及び第2勝者ノードの少なくとも1つがいずれのサブクラスタにも属していない場合、又は、第1勝者ノード及び第2勝者ノードが同一のサブクラスタに属している場合、辺接続判定部46は、第1勝者ノード及び第2勝者ノード間に辺を接続するものと判定し、その結果を一時記憶部に格納する。
一時記憶部に格納された判定の結果、第1勝者ノード及び第2勝者ノードが互いに異なるサブクラスタに属する場合(例えば、第1勝者ノードがサブクラスタSC1に属し、かつ、第2勝者ノードがサブクラスタSC2に属する場合)、辺接続判定部46は、第1勝者ノードを含むサブクラスタの平均ノード密度を基準とする第1勝者ノードについてのノード密度の条件(以下の式[7])、及び、第2勝者ノードを含むサブクラスタの平均ノード密度を基準とする第2勝者ノードについてのノード密度の条件(以下の式[8])のうちの少なくとも1つを満たすか否かを判定し、その結果を一時記憶部に格納する。
Figure 0007489730000007
Figure 0007489730000008
式[7]及び式[8]において、ha1は第1勝者ノードのノード密度を示し、ha2は第2勝者ノードのノード密度を示す。min(ha1,ha2)は、第1勝者ノードのノード密度ha1及び第2勝者ノードのノード密度ha2のうちで最小のノード密度を示す。hSC1は、第1勝者ノードaが属するサブクラスタSC1に含まれるノードのうちで最大のノード密度を有するノードのノード密度を示す。hSC2は、第2勝者ノードaが属するサブクラスタSC2に含まれるノードのうちで最大のノード密度を有するノードのノード密度を示す。hmSC1は、サブクラスタSC1に含まれる全ノードの平均ノード密度を示す。hmSC2は、サブクラスタSC2に含まれる全ノードの平均ノード密度を示す。θは、ユーザーによって予め適切な値が決定されて設定されるパラメータを示し、その値は[1,2]の範囲内において定められる。また、θは許容度の要素のパラメータであり、1つのクラスに含まれるサブクラスタ間の差異をどの程度許容するのかを決定するために使用される。θが増加するにつれてこの許容度はより小さくなる。
式[7]に示す第1勝者ノードaについてのノード密度の条件は、第1勝者ノードaのノード密度ha1及び第2勝者ノードaのノード密度ha2のうちの最小のノード密度が、第1勝者ノードaを含むサブクラスタSC1の平均ノード密度hmSC1を基準として、サブクラスタSC1の平均ノード密度hmSC1に対する最大ノード密度hSC1の比率に応じて算出する閾値よりも大きいか否かを判定する条件である。また、式[8]に示す第2勝者ノードaについてのノード密度の条件は、第1勝者ノードaのノード密度ha1及び第2勝者ノードa2のノード密度ha2のうちの最小のノード密度が、第2勝者ノードaを含むサブクラスタSC2の平均ノード密度hmSC2を基準として、サブクラスタSC2の平均ノード密度hmSC2に対する最大ノード密度hSC2の比率に応じて算出する閾値よりも大きいか否かを判定する条件である。
辺接続判定部46は、式[7]及び式[8]の少なくとも1つを満たす場合、第1勝者ノード及び第2勝者ノード間に辺を接続するものと判定し、そうでない場合、第1勝者ノード及び第2勝者ノード間に辺を接続しないと判定し、その結果を一時記憶部に格納する。辺を接続しないと判定した場合、辺接続部47は、第1勝者ノード及び第2勝者ノード間に辺を接続せず(第1勝者ノード及び第2勝者ノード間に辺が存在する場合には辺を削除して)、その結果を一時記憶部に格納して、処理をステップS20へ進める。
ステップS17
一時記憶部に格納されたステップS16での判定の結果、辺を接続すると判定した場合、辺接続部47は、第1勝者ノード及び第2勝者ノード間に辺を接続し、その結果を一時記憶部に格納する。また、すでに第1勝者ノードと第2勝者ノードとの間に辺が存在している場合には、その辺を維持する。また、辺接続部47は、上記処理で接続すると判断された辺について、その辺の年齢を0に設定し、その結果を一時記憶部に格納する。
ステップS18
ノード密度算出部43は、一時記憶部に格納されたノード、各距離尺度に基づくノード間の最小距離値及び最大距離値、隣接ノードからのノードの平均距離のベクトル、ノードのノード密度のポイント値のベクトル、ノード密度の累積ポイント値のベクトル、ノード密度について、第1勝者ノードaをノードiとして、各距離尺度に基づく隣接ノードからのノードiの距離と、各距離尺度に基づくノード間の最小距離値及び最大距離値と、に基づいてノードiについての隣接ノードからの平均距離のベクトルd を算出し、当該算出した隣接ノードからの平均距離のベクトルd に基づいて第1勝者ノードaのノード密度のポイント値のベクトルp を算出し、当該算出した第1勝者ノードaのノード密度のポイント値のベクトルp に基づいてノード密度の累積ポイント値のベクトルs を算出し、当該算出した第1勝者ノードaのノード密度の累積ポイント値のベクトルs に基づいて第1勝者ノードaのノード密度hを算出し、その結果を一時記憶部に格納する。ノード密度算出部43は、例えば、一時記憶部に格納される、特許文献2に記載の式(24)~(26)に示す算出処理を実行することによって、ノードiのノード密度の累積ポイント値のベクトルs 及びノードiのノード密度hを算出する。
ステップS19
勝者ノード学習時間算出部48は、一時記憶部に格納された第1勝者ノードaの学習時間Ma1を所定の値増加し、その結果を一時記憶部に格納する。勝者ノード学習時間算出部48は、例えば、Ma1(t+1)=Ma1(t)+1という処理を実行することによって、第1勝者ノードaの学習時間Ma1を1増加し、その結果を一時記憶部に格納する。
ステップS20
重みベクトル更新部49は、一時記憶部に格納されたノード及びノードの重みベクトルについて、第1勝者ノードa及びその隣接ノードの重みベクトルをそれぞれ入力ベクトルεに更に近づけるように更新し、その結果を一時記憶部に格納する。重みベクトル更新部49は、例えば特許文献2に記載の式(33)及び式(34)を用いて、第1勝者ノードaの重みベクトルWa1についての更新量ΔWa1及び第1勝者ノードaの隣接ノードjの重みベクトルWs1についての更新量ΔWを学習時間Ma1に基づいて算出し、更新量ΔWa1を第1勝者ノードaの重みベクトルWa1に加算し、更新量ΔWを隣接ノードjの重みベクトルWs1に加算して、この結果を一時記憶部に格納する。
ステップS21
老齢辺削除部50は、一時記憶部に格納されたノード、ノード間の辺、辺の年齢について、第1勝者ノードと直接的に接続される全ての辺の年齢を所定の値増加し、その結果を一時記憶部に格納する。また、老齢辺削除部50は、一時記憶部に格納された辺について、予め設定され一時記憶部に格納された所定の閾値を超えた年齢を有する辺を削除し、その結果を一時記憶部に格納する。
ステップS3
辺学習時間更新部2は、実施の形態1と同様に、辺学習時間更新を行う。辺学習時間更新の詳細については、実施の形態1と同様であるので、説明を省略する。ただし、勝利辺が存在しない場合は、辺学習時間の更新は行わない。
ステップS22
入力数判定部31は、実施の形態1にかかる情報処理装置100におけるステップS41同様に、一時記憶部に格納された与えられた入力ベクトルの総数について、与えられた入力ベクトルの総数が予め設定され一時記憶部に格納された所定の単位数の倍数であるか否かを判定し、その結果を一時記憶部に格納する。そして、入力ベクトルの入力数が所定の単位数の倍数である場合には処理をステップS4へ進め、入力ベクトルの入力数が所定の単位数の倍数でない場合には処理をステップS5へ進める。
ステップS4
その後の負荷平衡化については、実施の形態1と同様であるので、説明を省略する。ただし、ステップS41に対応する処理は上記のステップS22で実行しているため、ここで実行するのはステップS42~S45の処理である。
ステップS51
負荷平衡化の後、サブクラスタ決定部51は、一時記憶部に格納されたノード、ノード間の辺、ノードのサブクラスタラベル、ノード密度、ボロノイ領域について、局所的に最大のノード密度を有するノードを頂点として、当該頂点に対してそれぞれ異なるサブクラスタラベルを付与し、当該サブクラスタラベルが付与されなかった全てのノードに対してノード密度が最大の隣接ノードと同一のサブクラスタラベルを付与し、頂点のうちでノード密度が所定の閾値よりも大きな頂点を基準としてボロノイ領域を生成し、当該生成したボロノイ領域において、基準とした頂点を含むサブクラスタと基準とした頂点とは異なる他の頂点を含むサブクラスタとが重複領域を有し、かつ、当該重複領域に位置するノードの平均ノード密度の条件を満たす場合に、基準とした頂点を含むサブクラスタのサブクラスタラベルを、他の頂点を含むサブクラスタのサブクラスタラベルとして付与し、その結果を一時記憶部に格納する。サブクラスタ決定部51による処理は、例えば、特許文献2においてステップS201~S205及びS301~S305と同様の処理を行うことで、サブクラスタを決定することができる。
ステップS52
ノイズノード削除部52は、一時記憶部に格納されたノード集合Aに含まれる全てのノードaについて、ノイズノードと見なしたノードを削除し、その結果を一時記憶部に格納する。ノイズノード削除部52は、一時記憶部に格納されたノード、ノード間の辺、隣接ノードの個数、ノード密度について、例えば、特許文献2におけるステップS601~S604に示す処理を実行し、注目するノードaの隣接ノードの個数及びノード密度に基づいて、注目するノードを削除し、その結果を一時記憶部に格納できる。
ステップS5
学習終了判定部53は、実施の形態1にかかる情報処理装置100におけるステップS5と同様に、情報処理装置300による学習処理を終了するか否かを判定する。終了でないと判定した場合はステップS11に戻り、次の入力ベクトルεを処理する。一方、終了と判定した場合にはステップS53へ進む。
ステップS53
クラス決定部54は、一時記憶部に格納されたノード、ノード間の辺、ノードのクラスについて、ノード間に生成された辺に基づいて、ノードの属するクラスを決定し、その結果を一時記憶部に格納する。クラス決定部54は、例えば、特許文献2におけるステップS701~S704と同様の処理を行うことで、クラス決定を行ってもよい。
その後、出力情報表示部6は、一時記憶部に格納されたノード及びノードのクラスについて、ノードの属するクラスのクラス数、及び各クラスのプロトタイプベクトルを出力してもよい。以上の処理を終了した後、学習を停止する。
以上説明したように、本実施の形態によれば、実施の形態1にかかる負荷平衡化を適用して、入力ベクトルの構造を正確に学習することができる。
以上説明したように、なお、本実施の形態において、実施の形態1にかかる負荷平衡化に換えて、実施の形態2にかかる負荷平衡化を適用してもよいことは、言うまでもない。
また、図29のフローチャートで示した処理(ステップ)の順序は例示であり、処理(ステップ)の順序は適宜変更してもよい。
実施の形態4
実施の形態3では、実施の形態1にかかる負荷平衡化を行う場合の処理の具体例として、特許文献2のLB-SOINNの負荷平衡化を、実施の形態1にかかる負荷平衡化に置き換えた例について説明した。これに対し、実施の形態4では、実施の形態1にかかる負荷平衡化を行う場合の処理の別の具体例について説明する。なお、実施の形態4ではニューラルネットワークの構成処理だけでなく負荷並行化処理も含めた一連の処理に対して、「学習」という用語を使用する。
図30に、実施の形態4にかかる情報処理装置400の構成を模式的に示す。情報処理装置400は、実施の形態3にかかる情報処理装置300の学習処理部4を学習処理部7に置換し、クラスタリング部5をクラスタリング部8に置換した構成を有する。
学習処理部7は、学習処理部4の一部の構成要素を含み、具体的には、入力情報取得部41、ノード挿入判定部44、ノード挿入部45、辺接続部47、勝者ノード学習時間算出部48、重みベクトル更新部49及び老齢辺削除部50を有する。
クラスタリング部8は、クラスタリング部5の一部の構成要素を含み、具体的には、ノイズノード削除部52、学習終了判定部53及びクラス決定部54を有する。
以下、情報処理装置400の動作について説明する。図31に、実施の形態4にかかる情報処理装置400の動作のフローチャートを示す。
ステップS11
ステップS11については、実施の形態3(図29)と同様であるので、説明を省略する。
ステップS2
ステップS11で入力される入力ベクトルに基づいて、勝者ノード検出部1は、実施の形態1にかかる情報処理装置100における場合(図4)と同様に、第1勝者ノード及び第2勝者ノードを検出し、その結果を一時記憶部に格納する。
ステップS14
ステップS14については、実施の形態3(図29)と同様であるので、説明を省略する。なお、ノードを挿入しないと判定した場合には、ステップS17へ進む。
ステップS15
実施の形態3(図29)と同様に、ステップS14においてノードを挿入すると判定した場合、ノードを挿入する。実施の形態3と違う点は、ステップS17に進む点である。
ステップS17
ステップS14においてノードを挿入しないと判定した場合又はステップS15の後、すなわちノード挿入判定であるステップS14での判定結果に関わらず、辺接続部47は、実施の形態3(図29)と同様に辺接続を行う。具体的には、辺接続部47は、第1勝者ノードと第2勝者ノードとの間に辺を接続し、その結果を一時記憶部に格納する。また、すでに第1勝者ノードと第2勝者ノードとの間に辺が存在している場合には、その辺を維持する。また、辺接続部47は、接続した辺又は維持された辺について、その辺の年齢を0に設定し、その結果を一時記憶部に格納する。
ステップS19~S21、S3
ステップS19~S21、S3は、実施の形態3(図29)と同様であるので、説明を省略する
ステップS70
入力数判定部31は、実施の形態1にかかる情報処理装置100におけるステップS41(図4)と同様に、一時記憶部に格納された与えられた入力ベクトルの総数について、与えられた入力ベクトルの総数が予め設定され一時記憶部に格納された所定の単位数の倍数であるか否かを判定し、その結果を一時記憶部に格納する。なお、本実施の形態では、所定の単位数を2つ有しており、ステップS70で使用される所定の単位数を第1の単位数(λ1)とする。また、本実施の形態では第1の単位数(λ1)は固定値としたが、これに限らず、例えば、入力ベクトルの入力数に応じて、適宜、第1の単位数(λ1)を変更してもよい。
このような処理を実行することで、クラスを正確に捉えつつ、不必要な処理を実行せずに済む場合がある。これは以下のような理由による。ステップS70は次のステップS71で行われるクラス決定の実行回数を規定するものである。入力数が少ない時には未だクラスが安定していない場合が多いので、λ1を小さくしておくとクラスを正確に捉えられる。一方、入力数が多くなるとクラスが安定してくる場合が多いので、λ1が大きいと不必要な処理を少なくすることができる。
ステップS71
入力ベクトルの入力総数が第1の単位数(λ1)の整数倍となった場合、実施の形態3(図29)のステップS53と同様に、クラス決定を行う。処理の詳細については、ステップS53と同様であるので、説明を省略する。
ステップS72
ステップS70で入力ベクトルの入力数が第1の単位λ1以外の場合又はステップS71の後、すなわちステップS70での判定結果にかかわらず、ステップS72の入力数判定処理を行う。入力数判定部31は、実施の形態1にかかる情報処理装置100におけるステップS41(図4)と同様に、一時記憶部に格納された与えられた入力ベクトルの総数について、与えられた入力ベクトルの総数が予め設定され一時記憶部に格納された所定の単位数の倍数であるか否かを判定し、その結果を一時記憶部に格納する。なお、ステップS71で使用される所定の単位数を第2の単位数(λ2)とする。また、本実施の形態では第2の単位数(λ2)は固定値としたが、これに限らず、例えば、入力ベクトルの入力数に応じて、適宜、その後の処理の頻度を入力数に応じて調整できるようにしてもよい。
ステップS4
入力ベクトルの入力総数が第2の単位数(λ2)の整数倍となった場合、対象辺検出部32は、ステップS71で分類されたクラスに基づいて、クラスごとに閾値TH1をそれぞれ用意して対象辺を各々のクラスから検出する。閾値TH1は正の任意の値とすることができ、例えば、一時記憶部に格納された該当クラスの辺の辺学習時間の平均値TAVEに所定の係数cを乗じた値(TH1=c・TAVE)としてもよい。その他の処理は、実施の形態3(図29)と同様であるので、説明を省略する。
ステップS52
ノイズノード削除部52は、実施の形態3(図29)と同様に、一時記憶部に格納されたノード集合Aに含まれる全てのノードaについて、ノイズノードと見なしたノードを削除し、その結果を一時記憶部に格納する。ノイズノード削除部52は、例えば、注目するノードaの隣接ノード、辺の個数に基づいて、注目するノードを削除し、その結果を一時記憶部に格納できる。本実施の形態では辺の個数が0となったノードを削除したが、もちろんこれに限らない。本実施の形態では、ステップS4及びステップS52において、同じ第2の所定の単位数(λ2)に基づいて処理を行う例について説明したが、これは例示に過ぎない。ステップS4は第2の所定の単位数(λ2)に基づいて処理を行い、ステップS52は第3の所定の単位数(λ3)に基づいて処理を行ってもよい。異なる単位数に基づいて処理を行う場合には、パラメータが増えてより自由度が増すため、ユーザーの調整時間は増すものの、より正確に入力データを表現できる場合が想定し得る。
ステップS5
学習終了判定部53は、実施の形態1にかかる情報処理装置100におけるステップS5(図4)と同様に、情報処理装置400による学習処理を終了するか否かを判定する。学習が終了しないと判定した場合は、処理をステップS11に戻す。
ステップS53
ステップS53は、実施の形態3(図29)と同様であるので、説明を省略する。
その後、出力情報表示部6は、一時記憶部に格納されたノード及びノードのクラスについて、ノードの属するクラスのクラス数、及び各クラスのプロトタイプベクトルを出力してもよい。以上の処理を終了した後、学習を停止する。
以上説明したように、本実施の形態によれば、実施の形態1にかかる負荷平衡化を適用して、入力ベクトルの構造を正確に学習することができる。
なお、本実施の形態においても、実施の形態1にかかる負荷平衡化に換えて、実施の形態2にかかる負荷平衡化を適用してもよいことは、言うまでもない。また本実施の形態の処理は一例に過ぎず、適宜ステップの処理及び順番は変更してよい。
その他の実施の形態
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、距離尺度についてであるが、オンライン追加学習を行う場合ではサンプルデータを事前に得ることができないので、事前に入力ベクトルの次元数を分析してどの距離尺度が有効であるかを決定することができない。このため、特許文献2において式(14)を用いて説明されているように、異なる距離尺度を組み合わせて2つのノード間の距離を表す新たな距離尺度を導入してもよい。例えば、特許文献2において式(14)~(16)を用いて導出された式(17)で示されるように、ユークリッド距離とコサイン距離とを組み合わせた新たな距離尺度を用いてもよい。
また、距離尺度に関して、ユークリッド距離にコサイン距離を組合せる場合を例に説明したが、これに限定されず、他の距離尺度(例えば、コサイン距離、マンハッタン距離、フラクショナル距離)を組合せるものとしてもよい。さらに、高次元空間における有効な距離尺度に限定されず、学習しようとする問題に応じた他の距離尺度を組合せるものとしてもよい。
上述の実施の形態において、2つの値の大小判定について説明したが、これは例示に過ぎず、2つの値の大小判定において2つの値が等しい場合については、必要に応じて取り扱ってもよい。すなわち、第1の値が第2の値以上であるか又は第2の値よりも小さいかの判定と、第1の値が第2の値よりも大きいか又は第2の値以下であるかの判定とについては、必要に応じていずれを採用してもよい。第1の値が第2の値以下であるか又は第2の値よりも大きいかの判定と、第1の値が第2の値よりも小さいか又は第2の値以上であるかの判定については、いずれを採用してもよい。換言すれば、2つの値の大小判定を行って2つの判定結果を得る場合、2つの値が等しい場合については、必要に応じて2つの判定結果のいずれに含めてもよい。
上述の実施の形態では、本発明を主にハードウェアの構成として説明したが、これに限定されるものではなく、任意の処理を、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)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2020年12月28日に出願された日本出願特願2020-218714を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 勝者ノード検出部
2 辺学習時間更新部
3 負荷平衡化部
4、7 学習処理部
5、8 クラスタリング部
6 出力情報表示部
10 コンピュータ
11 CPU
12 ROM
13 RAM
14 バス
15 入出力インターフェイス
16 入力部
17 出力部
18 記憶部
19 通信部
20 ドライブ
20A 磁気ディスク
20B 光ディスク
20C フレキシブルディスク
20D 半導体メモリ
31 入力数判定部
32 対象辺検出部
33 辺上ノード挿入部
34 対象辺削除部
35 新規ノード辺接続部
41 入力情報取得部
42 ノード密度更新判定部
43 ノード密度算出部
44 ノード挿入判定部
45 ノード挿入部
46 辺接続判定部
47 辺接続部
48 勝者ノード学習時間算出部
49 重みベクトル更新部
50 老齢辺削除部
51 サブクラスタ決定部
52 ノイズノード削除部
53 学習終了判定部
54 クラス決定部
100、300、400 情報処理装置

Claims (15)

  1. 入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるニューラルネットワーク構造として学習する情報処理装置において、
    前記ニューラルネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出する勝者ノード検出部と、
    前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を第1の値だけ増加させる辺学習時間更新部と、
    所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ニューラルネットワーク構造に挿入する負荷平衡化部と、を備える、
    情報処理装置。
  2. 前記辺学習時間更新部は、さらに、前記第1勝者ノードと前記第2勝者ノードとの間を接続する前記辺以外の、前記第1勝者ノードに接続する辺の辺学習時間及び前記第2勝者ノードに接続する辺の辺学習時間を前記第1の値よりも小さな第2の値だけ増加させる、
    請求項1に記載の情報処理装置。
  3. 前記負荷平衡化部は、辺学習時間が相対的に大きい1以上の辺を選択する、
    請求項1又は2に記載の情報処理装置。
  4. 前記負荷平衡化部は、辺学習時間が所定の辺学習時間閾値よりも大きな1以上の辺を選択する、
    請求項3に記載の情報処理装置。
  5. 前記負荷平衡化部は、前記複数の辺から、辺学習時間と辺の長さとに基づいて1以上の辺を選択する、
    請求項1乃至4のいずれか一項に記載の情報処理装置。
  6. 前記負荷平衡化部は、長さが相対的に大きい1以上の辺を選択する、
    請求項5に記載の情報処理装置。
  7. 前記負荷平衡化部は、長さが所定の値よりも大きな1以上の辺を選択する、
    請求項6に記載の情報処理装置。
  8. 前記負荷平衡化部は、前記選択した1以上の辺において、各辺の一端と接続される第1ノードの勝利回数及び他端と接続される第2ノードの勝利回数に基づいて、前記新たなノードを生成する位置を決定する、
    請求項1乃至7のいずれか一項に記載の情報処理装置。
  9. 前記負荷平衡化部は、前記選択した1以上の辺において、各辺上の前記第1ノードの勝利回数及び前記第2ノードの勝利回数から算出した重心位置に、前記新たなノードを生成する、
    請求項8に記載の情報処理装置。
  10. 前記負荷平衡化部は、
    前記選択した1以上の辺を削除し、
    削除した各辺の一端と接続される第1ノードと前記新たなノードとを接続する第1の辺と、削除した各辺の他端と接続される第2ノードと前記新たなノードとを接続する第2の辺と、を生成して前記ニューラルネットワーク構造に挿入する、
    請求項1乃至9のいずれか一項に記載の情報処理装置。
  11. 前記負荷平衡化部は、前記削除した各辺の辺学習時間を、前記第1の辺及び前記第2の辺のそれぞれに所定の割合で継承させる、
    請求項10に記載の情報処理装置。
  12. 前記第1及び第2の辺のそれぞれは、前記第1ノードの勝利回数及び前記第2ノードの勝利回数のそれぞれを、前記第1ノードの勝利回数及び前記第2ノードの勝利回数の和で除した値で示される割合だけ、前記削除した各辺の辺学習時間を継承する、
    請求項11に記載の情報処理装置。
  13. 前記情報処理装置は、
    前記入力ベクトルと前記第1勝者ノードとの間の距離及び前記入力ベクトルと前記第2勝者ノード間との距離に基づいて、ノード挿入を実行するか否かを判定するノード挿入判定部と、
    前記ノード挿入判定部による判定の結果、前記ノード挿入を実行する場合に、前記入力ベクトルの成分と同一の成分を重みベクトルとして有する挿入ノードを生成し、当該生成した挿入ノードを前記ニューラルネットワーク構造に挿入するノード挿入部と、を備える、
    請求項1乃至12のいずれか一項に記載の情報処理装置。
  14. 入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるニューラルネットワーク構造として学習する情報処理方法であって、
    勝者ノード検出部が、前記ニューラルネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出し、
    辺学習時間更新部が、前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を所定値だけ増加させ、
    負荷平衡化部が、所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ニューラルネットワーク構造に挿入する、
    情報処理方法。
  15. 入力ベクトルを順次入力して、当該入力ベクトルの入力分布構造を、多次元ベクトルで記述される複数のノード及び2つの前記ノード間を接続する複数の辺が配置されるニューラルネットワーク構造として学習する処理をコンピュータに実行させるプログラムであって、
    前記ニューラルネットワーク構造に含まれる前記複数のノードから、入力される前記入力ベクトルに最も近い距離に位置するノードを第1勝者ノードとして検出し、2番目に近い距離に位置するノードを第2勝者ノードとして検出する処理と、
    辺学習時間更新部が、前記第1勝者ノードと前記第2勝者ノードとの間を接続する辺の辺学習時間を所定値だけ増加させる処理と、
    所定のタイミングで、前記複数の辺から辺学習時間に基づいて1以上の辺を選択し、選択した前記1以上の辺のそれぞれの上に新たなノードを生成して前記ニューラルネットワーク構造に挿入する処理と、をコンピュータに実行させる、
    プログラム。
JP2022572905A 2020-12-28 2021-08-31 情報処理装置、情報処理方法及びプログラム Active JP7489730B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020218714 2020-12-28
JP2020218714 2020-12-28
PCT/JP2021/031880 WO2022145087A1 (ja) 2020-12-28 2021-08-31 情報処理装置、情報処理方法及び非一時的なコンピュータ可読媒体

Publications (3)

Publication Number Publication Date
JPWO2022145087A1 JPWO2022145087A1 (ja) 2022-07-07
JPWO2022145087A5 JPWO2022145087A5 (ja) 2023-09-05
JP7489730B2 true JP7489730B2 (ja) 2024-05-24

Family

ID=82259176

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022572905A Active JP7489730B2 (ja) 2020-12-28 2021-08-31 情報処理装置、情報処理方法及びプログラム

Country Status (2)

Country Link
JP (1) JP7489730B2 (ja)
WO (1) WO2022145087A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115587222B (zh) * 2022-12-12 2023-03-17 阿里巴巴(中国)有限公司 分布式图计算方法、系统及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012084117A (ja) 2010-09-13 2012-04-26 Tokyo Institute Of Technology 属性の学習及び転移システム、認識器生成装置、認識器生成方法及び認識装置
JP2014164396A (ja) 2013-02-22 2014-09-08 Tokyo Institute Of Technology 情報処理装置、情報処理方法及びプログラム
JP2020042724A (ja) 2018-09-13 2020-03-19 Soinn株式会社 情報処理装置、情報処理方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012084117A (ja) 2010-09-13 2012-04-26 Tokyo Institute Of Technology 属性の学習及び転移システム、認識器生成装置、認識器生成方法及び認識装置
JP2014164396A (ja) 2013-02-22 2014-09-08 Tokyo Institute Of Technology 情報処理装置、情報処理方法及びプログラム
JP2020042724A (ja) 2018-09-13 2020-03-19 Soinn株式会社 情報処理装置、情報処理方法及びプログラム

Also Published As

Publication number Publication date
WO2022145087A1 (ja) 2022-07-07
JPWO2022145087A1 (ja) 2022-07-07

Similar Documents

Publication Publication Date Title
Melnykov et al. Initializing the EM algorithm in Gaussian mixture models with an unknown number of components
CN106776884B (zh) 一种基于多标签组合多分类器的恐怖行为预测方法
CN112232413B (zh) 基于图神经网络与谱聚类的高维数据特征选择方法
US20030158828A1 (en) Data classifier using learning-formed and clustered map
WO2014129116A1 (ja) 情報処理装置、情報処理方法及び非一時的なコンピュータ可読媒体
US20030169919A1 (en) Data classifier for classifying pattern data into clusters
JP7489730B2 (ja) 情報処理装置、情報処理方法及びプログラム
CN111241289B (zh) 一种基于图理论和som网络的文本聚类方法
JPWO2019102984A1 (ja) 学習装置、識別装置及びプログラム
CN112488992B (zh) 表皮生长因子受体突变状态判断方法、介质及电子设备
Park A feature selection method using hierarchical clustering
Damoulas et al. Inferring sparse kernel combinations and relevance vectors: an application to subcellular localization of proteins
Nanditha et al. Oral cancer detection using machine learning and deep learning techniques
JP7511278B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP5130523B2 (ja) 情報処理装置、情報処理方法、及びプログラム
CN111783088B (zh) 一种恶意代码家族聚类方法、装置和计算机设备
Costa Toward robust data classification
CN111401440B (zh) 目标分类识别方法、装置、计算机设备及存储介质
CN112214684A (zh) 一种种子扩展的重叠社区发现方法及装置
JP7489731B2 (ja) クラスタリング処理装置、クラスタリング処理方法、プログラム及び情報処理装置
Raja et al. A Novel Feature Selection based Ensemble Decision Tree Classification Model for Predicting Severity Level of COPD
Sukumaran et al. Nature-inspired hybrid deep learning for race detection by face shape features
Couto et al. Texture characterization via improved deterministic walks on image-generated complex network
Aung et al. Plurality Rule-based Density and Correlation Coefficient-based Clustering for K-NN
Chen et al. Semi-naive Bayesian classification by weighted kernel density estimation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230615

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230615

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240430

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240507

R150 Certificate of patent or registration of utility model

Ref document number: 7489730

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150