(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024078181
(43)【公開日】2024-06-10
(54)【発明の名称】機械学習プログラム,機械学習方法および情報処理装置
(51)【国際特許分類】
G06N 3/088 20230101AFI20240603BHJP
G06F 18/2321 20230101ALI20240603BHJP
【FI】
G06N3/088
G06F18/2321
【審査請求】未請求
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022190578
(22)【出願日】2022-11-29
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110003649
【氏名又は名称】弁理士法人真田特許事務所
(74)【代理人】
【識別番号】100189201
【弁理士】
【氏名又は名称】横田 功
(72)【発明者】
【氏名】和田 裕一郎
(57)【要約】
【課題】機械学習に要する時間を短縮できるようにする。
【解決手段】データ群のクラスタリングを行なう機械学習モデルの訓練において、NCut(Normalized Cut)を用いた第一の最適化関数を、ニューラルネットワークの導入とクラスタリングにおけるクラスタについての一様仮定とに基づいて変換して第二の最適化関数を生成し、第二の最適化関数を最適化する処理を実行することで機械学習モデルの訓練を実行する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
データ群のクラスタリングを行なう機械学習モデルの訓練において、
NCut(Normalized Cut)を用いた第一の最適化関数を、ニューラルネットワークの導入とクラスタリングにおけるクラスタについての一様仮定とに基づいて変換して第二の最適化関数を生成し、
前記第二の最適化関数を最適化する処理を実行することで前記機械学習モデルの訓練を実行する
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【請求項2】
前記第二の最適化関数を生成する処理において、多様体制約に基づく制約関数を生成し、前記第二の最適化関数に含める
処理を前記コンピュータに実行させることを特徴とする請求項1に記載の機械学習プログラム。
【請求項3】
データ群のクラスタリングを行なう機械学習モデルの訓練において、
NCutを用いた第一の最適化関数を、ニューラルネットワークの導入とクラスタリングにおけるクラスタについての一様仮定とに基づいて変換して第二の最適化関数を生成し、
前記第二の最適化関数を最適化する処理を実行することで前記機械学習モデルの訓練を実行する
処理をコンピュータが実行することを特徴とする機械学習方法。
【請求項4】
データ群のクラスタリングを行なう機械学習モデルの訓練において、
NCutを用いた第一の最適化関数を、ニューラルネットワークの導入とクラスタリングにおけるクラスタについての一様仮定とに基づいて変換して第二の最適化関数を生成し、
前記第二の最適化関数を最適化する処理を実行することで前記機械学習モデルの訓練を実行する
処理を実行する制御部を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習プログラム,機械学習方法および情報処理装置に関する。
【背景技術】
【0002】
近年、AI(Artificial Intelligence)が様々な分野で活用されており、例えば、データ間の類似度に基づいてデータを分類(グループ分け)するクラスタリングに用いられる。
【0003】
クラスタリングは機械学習における教師なし学習の一種である。例えば、ラベル無しデータセット(n個のデータ点もしくは特徴ベクトルで構成)とそのクラスタ数Cとが与えられた場合に、クラスタリングにおいては、そのデータセットをC個の部分集合に分割する。
【0004】
低次元の単純多様体構造を持つデータセットに対するクラスタリング手法として、例えば、K均等法,ガウス混合分布クラスタリング,スペクトラルクラスタリングが知られている。スペクトラルクラスタリングは、低次元の複雑多様体構造を持つデータセットに対するクラスタリング手法としても用いられる。
【0005】
ここで、単純多様体構造とは、ガウシアンミクスチャーモデルもしくはそれに近似できるデータセットにより形成される多様体の構造を指す。逆に、複雑多様体構造とは、単純な多様体以外の多様体の構造を指す。また低次元とは2~3次元程度の次元を表す。
【0006】
スペクトラルクラスタリングにおいては、以下の式(a)で定義されるW-に関する固有値問題を解き、大きさに関して上位C個の固有値に対応する固有ベクトルを並べてn×Cの行列を定義する。
【0007】
W-=D-1/2WD-1/2 ・・・(a)
定義された行列のi番目の行をx-
iとする。x-
iは、データ点xiの低次元表現と解釈できる。低次元表現の集合{ x-
i}n
i=1を考える。これらに対してK均等法をK=Cとして行ない、クラスタレベルを得る。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】米国特許出願公開第2019/0347567号明細書
【特許文献2】米国特許出願公開第2017/0200092号明細書
【特許文献3】特開2021-193564号公報
【特許文献4】国際公開第2022/009254号
【発明の概要】
【発明が解決しようとする課題】
【0009】
上述の如く、スペクトラルクラスタリングにおいては、式(a)で定義されるW-に関する固有値問題を解く。W-をn×nの行列と表すと、計算時間にO(n3)を要する。従って、例えば、n=107~109のような大規模データセットに対するスペクトラルクラスタリングの実行には膨大な時間がかかり、実質的に実行不可能である。
【0010】
1つの側面では、本発明は、機械学習に要する時間を短縮できるようにすることを目的とする。
【課題を解決するための手段】
【0011】
このため、この機械学習プログラムは、データ群のクラスタリングを行なう機械学習モデルの訓練において、NCut(Normalized Cut)を用いた第一の最適化関数を、ニューラルネットワークの導入とクラスタリングにおけるクラスタについての一様仮定とに基づいて変換して第二の最適化関数を生成し、前記第二の最適化関数を最適化する処理を実行することで前記機械学習モデルの訓練を実行する処理をコンピュータに実行させる。
【発明の効果】
【0012】
一実施形態によれば、機械学習に要する時間を短縮できる。
【図面の簡単な説明】
【0013】
【
図1】実施形態の一例としての情報処理装置の機能構成を示す図である。
【
図2】実施形態の一例としての情報処理装置の機能を実現するコンピュータのハードウェア構成を示すブロック図である。
【
図3】実施形態の一例としての情報処理装置による学習処理の流れを説明するための図である。
【
図4】実施形態の一例としての情報処理装置による統計モデルの学習処理を説明するためのフローチャートである。
【
図5】複数の手法を用いた場合のそれぞれのクラスタリング結果を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して本機械学習プログラム,機械学習方法および情報処理装置にかかる実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【0015】
(A)関連技術
前述の如く、大規模データセットに対するスペクトラルクラスタリングの実行には膨大な時間がかかり、実質的に実行不可能である。また、仮に、大規模データセットに対してスペクトラルクラスタリングを実行させるシステムが実装された場合であっても、高次元の単純多様構造を持つデータセットに対してスペクトラルクラスタリングで高精度のクラスタリングを行なうことはできない。高次元になるほどクラスタ構造を把握するために膨大なデータ点が必要となるからである。
【0016】
そこで、教師なし分類手法であるIMSAT(Information Maximizing Self Augmented Training)に、n個の特徴ベクトルから構成されるデータセットX={xi}n
i=1が持つ多様体構造を統計モデルに学習させるための制約を組み合わせた手法が考えられる。当該手法を、便宜上、MIST(Mutual Information maximization via local Smoothness and Topological invariant constraints)といってよい。
【0017】
MISTにおいては、先ず、実行するクラスタリングにおけるクラスタ数及び統計モデルを用いて次の数式(1)で示される相互情報量(MI:Mutual Information)の関数を生成する。ここで、相互情報量とは、あるデータ点とそのクラスラベルの相互依存の度合を表す量である。
【0018】
【数1】
ここで、Xはデータセットを表し、YはデータセットXに含まれる各データ点xに与えられるクラスラベルyの集合を表す。また、H(Y)はデータセット全体における予測結果の分布のエントロピーを表す。また、H(Y|X)は、個別の予測における予測結果の分布のエントロピーを表す。また、ηは、調整用のハイパーパラメータである。式(1)は、データ点xとそのデータ点のクラスラベルyとの相互情報量を表す。H(Y)を最大化することで距離が近いデータ点に同じクラスラベルが与えられる。また、H(Y|X)を小さくすることで同じクラスラベルを有するデータ点が近い領域に集められる。
【0019】
また、MISTにおいては、実行するクラスタリングにおけるクラスタ数及び統計モデルを用いて、以下に示す式(2)で示されるSAT用の関数を生成する。θは、統計モデルが有するニューラルネットワークのパラメータである。SATは、分布を平滑化する処理であり、VAT(Virtual Adversarial Training)とも呼ばれる。
【0020】
【数2】
さらに、MISTにおいては、実行するクラスタリングにおけるクラスタ数及び統計モデルを用いて、以下の式(3)で示されるペアとした2つのデータ点の間の力を表すためのペア間力関数を生成する。
【0021】
【数3】
I
nceは、InfoNCE(Noise Contrastive Estimation)と呼ばれる雑音対照推定に基づく損失であり、次の数式(4)で与えられる。
【0022】
【数4】
ここで、qは二つの確率ベクトルの類似度を定義する関数である。また、I′
nceは、以下の式(5)で与えられる。
【0023】
【数5】
式(4)をg
θ(x)及びg
θ(t(x))の関数としてInfoNCE(g
θ(x),g
θ(t(x)))と表した場合、式(5)はInfoNCE(g
θ(t(x)),g
θ(x))と表される。InfoNCE(g
θ(x),g
θ(t(x)))は、g
θ(x)とg
θ(t(x))に関して対称性を有さない。そこで、I
nceと、I
nceにおけるパラメータを逆にしたI′
nceとを足し合わせて2で除算することで、雑音対照推定に基づく損失に対称性を持たせた関数を生成される。
【0024】
そして、式(3)に式(4)および式(5)を代入し、その式を整理することで以下の式(6)が得られる。
【0025】
【0026】
ただし、α∈R、τ≧0であり、且つ、
α≠1のとき、expα(s)は[1+(1-α)s]1/(1-α)
+と定義され、
α=1のとき、expα(s)=exp(s)と定義される。
[・]+はmax{・,0}である。
【0027】
MISTは、式(1),(2),(3)に示す制約付き最適化問題で定式化される。MISTにおいては、式(2)及び(3)を満たしつつ、式(1)で示す相互情報量関数を最大化するように統計モデルの学習を行なう。すなわち、2つのユークリッド距離が近いデータ点のクラスラベルに関する分布間距離を最小化し、且つ、ペア間関数を最大化する条件を満たす上で、データ点とクラスラベルとの相互情報量を最大化する。ペア間関数の最大化により、同じ多様体に属するデータ点のペア間の引力を大きくし、異なる多様体に属するデータ点のペア間の斥力を小さくする。
【0028】
これにより、MISTにおいては、異なる多様体に属するデータ点のそれぞれを明確に異なるクラスタに分類することができる。
【0029】
しかしながら、このようなMISTにおいては、ハイパーパラメータ(λ,η,μ,α,τ)の個数が5個と多く、これらのハイパーパラメータの調整にコストを要する。
なお、ハイパーパラメータλ,μは、以下に示す最適化問題に登場する。この最適化問題は、式(1),(2),(3)に示した制約付き最適化問題を罰則法(penalty method)を利用して制約無し最適化に変換することで得られる。
【数8】
なお、L
ps+L
ngの最小化は(I
nce+I′
nce)/2の最大化と等価である。
本情報処理装置においては、MISTに比べてハイパーパラメータの調整を簡易にするクラスタリング手法を実現する。
【0030】
(B)構成
図1は実施形態の一例としての情報処理装置1の機能構成を示す図である。
【0031】
本情報処理装置1は、データ群のクラスタリングを行なう機械学習モデルの訓練を行なう。機械学習モデルはニューラルネットワーク(Neural Network:NN)であってよい。また、本情報処理装置1は、訓練済みの機械学習モデルを用いてデータのクラスタリング(予測)を行なってよい。機械学習モデルを統計モデルといってよい。
【0032】
(B-1)ハードウェア構成例
図2は実施形態の一例としての情報処理装置1の機能を実現するコンピュータ10のハードウェア(HW)構成を示すブロック図である。情報処理装置1の機能を実現するHWリソースとして、複数のコンピュータが用いられる場合は、各コンピュータが
図2に例示するHW構成を備えてよい。
【0033】
図2に示すように、コンピュータ10は、HW構成として、例示的に、プロセッサ10a、グラフィック処理装置10b、メモリ10c、記憶部10d、IF(Interface)部10e、IO(Input / Output)部10f、および読取部10gを備えてよい。
【0034】
プロセッサ10aは、種々の制御や演算を行なう演算処理装置の一例であり、種々の処理を実行する制御部である。プロセッサ10aは、コンピュータ10内の各ブロックとバス10jで相互に通信可能に接続されてよい。なお、プロセッサ10aは、複数のプロセッサを含むマルチプロセッサであってもよいし、複数のプロセッサコアを有するマルチコアプロセッサであってもよく、或いは、マルチコアプロセッサを複数有する構成であってもよい。
【0035】
プロセッサ10aとしては、例えば、CPU、MPU、APU、DSP、ASIC、FPGA等の集積回路(IC;integrated circuit)が挙げられる。なお、プロセッサ10aとして、これらの集積回路の2以上の組み合わせが用いられてもよい。CPUはCentral Processing Unitの略称であり、MPUはMicro Processing Unitの略称である。APUはAccelerated Processing Unitの略称である。DSPはDigital Signal Processorの略称であり、ASICはApplication Specific ICの略称であり、FPGAはField-Programmable Gate Arrayの略称である。
【0036】
グラフィック処理装置10bは、IO部10fのうちのモニタ等の出力装置に対する画面表示制御を行なう。また、グラフィック処理装置10bは、機械学習モデルを利用した機械学習処理および推論処理を実行するアクセラレータとしての構成を有してよい。グラフィック処理装置10bとしては、種々の演算処理装置、例えば、GPU(Graphics Processing Unit)、APU、DSP、ASICまたはFPGA等の集積回路(IC)が挙げられる。
【0037】
メモリ10cは、種々のデータやプログラム等の情報を格納するHWの一例である。メモリ10cとしては、例えばDRAM(Dynamic Random Access Memory)等の揮発性メモリ、および、PM(Persistent Memory)等の不揮発性メモリ、の一方または双方が挙げられる。
【0038】
記憶部10dは、種々のデータやプログラム等の情報を格納するHWの一例である。記憶部10dとしては、HDD(Hard Disk Drive)等の磁気ディスク装置、SSD(Solid State Drive)等の半導体ドライブ装置、不揮発性メモリ等の各種記憶装置が挙げられる。不揮発性メモリとしては、例えば、フラッシュメモリ、SCM(Storage Class Memory)、ROM(Read Only Memory)等が挙げられる。
【0039】
記憶部10dは、コンピュータ10の各種機能の全部若しくは一部を実現するプログラム10h(機械学習プログラム,予測プログラム)を格納してよい。
【0040】
例えば、情報処理装置1のプロセッサ10aは、記憶部10dに格納されたプログラム(機械学習プログラム)10hをメモリ10cに展開して実行することにより、機械学習モデルを訓練するモデル生成機能(後述する訓練フェーズ)を実現できる。また、情報処理装置1のプロセッサ10aは、記憶部10dに格納されたプログラム(予測プログラム)10hをメモリ10cに展開して実行することにより、機械学習モデルを用いてデータに対する予測を行なう予測機能(後述する予測フェーズ)を実現できる。
【0041】
IF部10eは、本コンピュータ10と他のコンピュータとの間の接続および通信の制御等を行なう通信IFの一例である。例えば、IF部10eは、イーサネット(登録商標)等のLAN(Local Area Network)、或いは、FC(Fibre Channel)等の光通信等に準拠したアダプタを含んでよい。当該アダプタは、無線および有線の一方または双方の通信方式に対応してよい。
【0042】
例えば、情報処理装置1は、IF部10eおよびネットワークを介して、図示しない他の情報処理装置と相互に通信可能に接続されてよい。なお、プログラム10hは、当該通信IFを介して、ネットワークからコンピュータ10にダウンロードされ、記憶部10dに格納されてもよい。
【0043】
IO部10fは、入力装置、および、出力装置、の一方または双方を含んでよい。入力装置としては、例えば、キーボード、マウス、タッチパネル等が挙げられる。出力装置としては、例えば、モニタ、プロジェクタ、プリンタ等が挙げられる。また、IO部10fは、入力装置および出力装置が一体となったタッチパネル等を含んでもよい。出力装置は、グラフィック処理装置10bに接続されてよい。
【0044】
読取部10gは、記録媒体10iに記録されたデータやプログラムの情報を読み出すリーダの一例である。読取部10gは、記録媒体10iを接続可能または挿入可能な接続端子または装置を含んでよい。読取部10gとしては、例えば、USB(Universal Serial Bus)等に準拠したアダプタ、記録ディスクへのアクセスを行なうドライブ装置、SDカード等のフラッシュメモリへのアクセスを行なうカードリーダ等が挙げられる。なお、記録媒体10iにはプログラム10hが格納されてもよく、読取部10gが記録媒体10iからプログラム10hを読み出して記憶部10dに格納してもよい。
【0045】
記録媒体10iとしては、例示的に、磁気/光ディスクやフラッシュメモリ等の非一時的なコンピュータ読取可能な記録媒体が挙げられる。磁気/光ディスクとしては、例示的に、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク、HVD(Holographic Versatile Disc)等が挙げられる。フラッシュメモリとしては、例示的に、USBメモリやSDカード等の半導体メモリが挙げられる。
【0046】
上述したコンピュータ10のHW構成は例示である。従って、コンピュータ10内でのHWの増減(例えば任意のブロックの追加や削除)、分割、任意の組み合わせでの統合、または、バスの追加若しくは削除等は適宜行なわれてもよい。
【0047】
(B-2)機能構成例
図1に示すように、本情報処理装置1は、例示的に、データ取得部2,制約関数生成部3,最適化部4,予測実行部5および出力部6としての機能を備えてよい。これらの機能は、コンピュータ10(
図2参照)のハードウェアにより実現されてよい。
【0048】
情報処理装置1は、訓練(機械学習)フェーズ及び予測フェーズの2つの動作フェーズを有する。訓練フェーズでは、データ取得部2,制約関数生成部3,最適化部4が機械学習モデルの学習処理を行なう。予測フェーズでは、予測実行部5および出力部6が、訓練済みの機械学習モデルを用いて、入力されたデータに対するクラスラベルの予測を行なう。
【0049】
データ取得部2は、例えば、n個の特徴ベクトルから構成されるデータセットD={xi}n
i=1の入力を取得する。データ取得部2は、例えば、本情報処理装置1が実行する機械学習に用いられるデータ群であるデータセットを入力する図示しない入力装置からデータセットDを取得してよい。データ取得部2が取得するデータセットは、正解データの存在しないラベルなしデータセットでよい。また、データ取得部2は、それぞれにクラスラベルが割り当てられるクラスタのクラスタ数の入力を取得する。そして、データ取得部2は、取得したクラスタ数を制約関数生成部3および最適化部4へ出力する。また、データ取得部2は、取得したデータセットを最適化部4へ出力する。
【0050】
制約関数生成部3は、実行するクラスタリングにおけるクラスタ数及び機械学習モデルを用いて、前述した式(2)で示されるSAT用の関数を生成する。
【0051】
以下にSATについて説明する。学習対象となるクラスタリングを行なうニューラルネットワークを以下の式(7)および(8)により定義する。Rdは、d次元のユークリッド空間を表す。
【0052】
【0053】
【数10】
式(8)において、Δ
Cは、C次元の確率ベクトル(各要素は0以上、且つ、全要素の和は1を満たすベクトル)の集合である。また、太字の1は、C次元且つ全要素が1のベクトルである。ここで、Cはクラスタ数を表す。zはC次元の確率密度を表す。また、θは、ニューラルネットワーク内部に存在するパラメータである。出力f
θ(x)は、範囲が1,・・・,Cの各クラスタにどの程度の確率でデータ点が所属するかを表す。
【0054】
SATを実行することで、データ点xを中心とするε(>0)の内部の任意点x′で次の式(9)が満たされる。ここで、x′は、データ点xに対してユークリッド距離が近い点といえる。
【0055】
【数11】
すなわち、SATを実行することで、データ点xを中心とする近傍内部でニューラルネットワークの出力が平滑化される。
【0056】
ここで、t回の確率的勾配降下法(SGD:Stochastic Gradient Descent)を通して得られるパラメータの状態をθtとすると、SATは以下の手順で行なわれる。まず、Rdの要素であるデータ点xを中心とする半径εの内部でgθt(x)との値がKL(Kullback Leibler)距離の意味で最も違う方向であるradvが特定される。次に、fθt(x)とfθ(x+radv)のKL距離が近付くようにニューラルネットワークのパラメータであるθが調整される。すなわち、式(2)におけるRvatは、データ点xを中心とする半径εの内部の分布を平滑化する関数である。言い換えれば、式(2)におけるRvatは、近い2つのデータ点が同じクラスラベルをもつように強制する関数であり、2つのデータ点のKL距離である分布距離を小さくする関数である。そして、式(2)は、SATにおいて実行される処理を表す関数である。このSAT用の関数を満たす条件が、2つのユークリッド距離が近い各データ点の各々に割り当てられたクラスラベルに関する分布距離を小さくする制約条件の一例にあたる。
【0057】
制約関数生成部3は、以下の式(10)に示す制約式を生成する。
【0058】
【数12】
ここで、D
KLはカルバックライブラーダイバージェンスである。また、r
adv
iは以下の式(11)で求められる。
【0059】
【数13】
また、θ
lはl回目のパラメータ更新で得られた値である。
【0060】
そして、上記の式(11)の定義に必要なradv
iは、以下の[処理a1]~[処理a3]で得られる。
【0061】
[処理a1]
ランダム谷ベクトルu∈Rdを発生させる。
【0062】
[処理a2]
以下に示すuiを逆誤差伝搬法で計算する。
【0063】
【0064】
[処理a3]
radv
iを以下の式を用いて計算する。
【0065】
【数15】
ξおよびε
iは正値をとるハイパーパラメータである。
【0066】
より数学的に正確な定義の下では、ミニバッチ集合B⊆Dを用いて、ニューラルネットワークを、確率的勾配法(SGD)で上記の式(10)に示す損失が最小化されるよう訓練する。
【0067】
以下、制約関数生成部3により実行される上記の処理をSelf-Augmentationとよんでよい。
【0068】
また、制約関数生成部3は、NCut(Normalized Cut)問題をニューラルネットワークと一様仮定とを導入して再定義することで、一様制約と多様体制約とを得る。制約関数生成部3は、高次元で単純多様体構造を持つデータセットに対応すべく、NCut問題から手法を構築する。
【0069】
事象ωを引数とする指示関数1[ω]を以下のように定義する。
【0070】
【数16】
また、行列Aのトレースをtr(A)で表す。
【0071】
データセットD={xi}n
i=1が与えられたとする。また、目標をn個のデータ点をC個のクラスタに分類することとする。さらに、Sy⊂D,y∈[C]をy番目のクラスタとする。
【0072】
以下の重み付き有向グラフG(V,E,W)を考える。V,E,Wは、頂点集合、有向辺集合,n×nの重み行列とする。また、V=Dである。xiからxjへの有向辺はeij∈Eで定義されるとする。
【0073】
(i,j)番目のWの要素はwijで表され、辺eij上の重みとする。直観的に、重みwijは頂点xiと頂点xjの類似度とみなすことができる。
【0074】
ここで、W=WTを仮定する。この仮定の下では、グラフGは無向グラフと考えることができる。
【0075】
いま、グラフG上でSを引数とするNCut関数を、以下の式(12)に示すように定義する。
【0076】
【0077】
【数18】
とする。組み合わせ的NCut問題は、以下の式(13)で定義される。
【0078】
【数19】
Dを対角成分がd
ii=Σ
jw
ijである対角行列とする。Hを(i,y)番目の要素がh
iyであるn×C行列とする。ただし、h
iyは以下の式(14)で表される。
【0079】
【数20】
このとき、Σ
C
y=1Ncut(S
y)=tr(H
T(D-W)H)が成立する。
【0080】
また、∀y∈[C];|Sy|>0を仮定すると、HTDH=Iが成立する。
【0081】
ここで、|Sy|はSyの濃度、IはC×Cの単位行列である。これらの事実より、式(13)の代わりに以下の連続緩和版NCut問題を考えると以下の式(15)のように表すことができる。
【0082】
【数21】
式(15)の大域的最適解は、W
-=D
-1/2WD
-1/2 に関する固有値問題を解くことで得られることが知られている。この式(15)は、NCutを用いた第一の最適化関数に相当する。
【0083】
全データ点の集合をXで表す。X={xi}N
i=1と表すことができる。Xと観測データD集合との関係はD⊆Xとなる。
【0084】
ここで、グラフGXを定義する。X={xi}N
i=1が与えられたとする。また、N<∞とする。このとき、GX(V,E,W)は、X上に定義される無向重み付きグラフである。V,E,Wは、頂点集合,辺集合,N×N重み行列とする。また、Wは、以下の条件も満たすものとする。
【0085】
∀(i,j)∈[N]2;wij≧0&Σi,jwij=1
直観的に、wijはデータ点xiとデータ点xjとの類似度という解釈に加えて、データ点xiとデータ点xjとの同時生起確率とも解釈できる。
【0086】
また、任意のC個のクラスタS1,・・・,SCをグラフGX上で考える。このとき、以下の式(16)が成立する。
【0087】
【数22】
この式(16)より、一様仮定の導入が可能となる。
【0088】
一様仮定においては、任意のC個のクラスタ(S1,・・・,SC)を、グラフGX上で考える場合に、クラスタが以下の条件を満たすと仮定する。
【0089】
∀y∈[C]; VolSy=1/C
次に、グラフGX上でニューラルネットワークをNCut問題を示す。
【0090】
上述した式(14)をニューラルネットワークfθ:Rd→ΔCと以下の[手順b1],[手順b2]を用いて再定義する。
【0091】
[手順b1]
上述した式(14)をfθを用いて、以下の式(17)に示すように再定義する。
【0092】
【0093】
[手順b2]
上述した式(15)に、上述した一様仮定を強制することで、以下の式(18)に示すように書き換える。
【0094】
【数24】
この式(18)を、観測データDを用いて近似する。
【0095】
観測データD={xi}n
i=1⊂Xが与えられたとする。また、A=(aij)1≦i,j≦n,aij∈{0,1}をn×nである部分対称隣接行列とする。ここで、もしペア:xiとxjの同時生起確率wijが、ある定数δより大きいならばaijは1であり、定数δ以下ならばaijは0である。
【0096】
AはK-NN(K近傍法)グラフを用いて推定してよい。ここで、A^を推定された隣接行列であるとする。この時、以下が推定例となる。
【0097】
すなわち、D={xi}n
i=1上にK-NNグラフをユークリッド距離を用いて定義する。n×nの行列A^=(a^
ij),1≦i,j≦nを用意する。もし、xjのK近傍の一つがxiならば、a^
ijに1を代入し、そうでない場合にはa^
ijに0を代入する。
【0098】
以下の式(19)を用いてA^を再定義する。
【0099】
【0100】
式(19)に示す推定を経てAを得たと仮定する。この時、式(18)をミニバッチ集合B(∈D)と推定されたAを用いて近似することを考える。次を満たすインデックスiι,ι∈[|B|]を考える。
xiι∈B&∀ι;iι≦iι+1
【0101】
また、A
B=(a
~
ιι′)
1≦ι,ι′≦|B|を|B|×|B|の行列とする。ただし、その(ι,ι′)番目の要素であるa
~
ιι′はa
iιiι′である。このとき、式(18)は以下の式(20)~(22)で近似される。
【数26】
ここで、||A
B||=Σ
ι,ι′|a
~
ιι′|であり、これはA
B内の非ゼロ要素の個数と等しい。
【0102】
Mθ={θ|式(21)&式(22)}とする。また、ミニバッチ集合B⊆Dに対して、pθ(y),y∈[C]を以下に示すように定義する。
【0103】
【数27】
ここで、以下の式(23)および式(24)のように定義する。
【0104】
【数28】
また、M′
θを以下の式(25)に示すように定義する。
【0105】
【数29】
このとき、M
θ=M′
θが成立する。式(25)は式(21)および式(22)を同値変形したものといってよい。
【0106】
(l+1)回目のパラメータ更新をミニバッチ集合B⊆Dに対して考える。簡単のために以下の式(26)に示す定義を導入する。
【0107】
【数30】
制約関数生成部3は、式(20),式(21)および式(22)を用いて、以下の式(27)を生成する。
【0108】
【数31】
ここで、{λ,η,μ}∈R
3
+はハイパーパラメータの集合である。R
vat(B;θ),H
B(p
θ(y))およびH(f
θ(x
i))の定義は、それぞれ、式(10),式(23),式(24)で与えられる。
【0109】
この式(27)において、Rvat(B;θ)の項は、Self-Augmentationに基づく制約関数である。また、Q(B;θ)の項は、多様体制約に基づく制約関数である。さらに、以下の項は、一様制約に基づく制約関数であり、これにより、NCut問題をニューラルネットワークでインプリメントできるようにする。
【0110】
【数32】
制約関数生成部3は、Self-Augmentationに基づく制約関数と、多様体制約に基づく制約関数と、一様制約に基づく制約関数とに基づく最適化関数を生成するのである。
【0111】
制約関数生成部3は、生成した式(27)を最適化部4に通知する。
【0112】
また、制約関数生成部3は、式(27)を生成する代わりに、上記の式(20)および式(25)を用いて、以下に示す式(28)を生成してよい。
【0113】
【数33】
この式(28)においては、式(27)と一様制約に基づく制約関数の項が異なり、その他の部分は式(27)と同様である。なお、式(28)において、H
B(p
θ(y))と、H(f
θ(x
i))の定義は、それぞれ、式(23)および式(24)で与えられる。
【0114】
上記の式(27)および式(28)は、いずれも、NCutを用いた第一の最適化関数である式(15)を、ニューラルネットワークの導入とクラスタリングにおけるクラスタについての一様仮定とに基づいて変換して生成される、第二の最適化関数に相当する。
制約関数生成部3は、生成した式(28)を最適化部4に通知してよい。
【0115】
最適化部4は、式(27)で示される関数、もしくは式(28)で示される関数を制約関数生成部3から受ける。最適化部4は、式(27)で示される関数、もしくは式(28)で示される関数を最小にするように機械学習モデルの訓練(ニューラルネットワークの最適化)を行なう。
【0116】
そして、最適化部4は、学習結果に応じて機械学習モデルのパラメータを調整して最適化する。最適化部4は、学習処理が収束する又は所定回数の学習処理が完了するまで機械学習モデルの学習を繰り返す。その後、最適化部4は、学習処理が収束する又は所定回数の学習処理が完了すると、得られたパラメータを機械学習モデルに与えて学習済みの機械学習モデルを生成する。
【0117】
予測実行部5は、予測対象であるデータの入力を、例えば、図示しない外部装置から受ける。そして、予測実行部5は、学習済みの機械学習モデルのニューラルネットワークに予測対象であるデータを入力して、予測結果として出力される予測対象のデータに対応するクラスラベルの情報を取得する。そして、予測実行部5は、取得したクラスラベルを出力部6へ出力する。
【0118】
出力部6は、入力された予測対象であるデータに対応するクラスラベルの情報を予測実行部5から取得する。そして、出力部6は、予測対象であるデータに対応するクラスラベルの情報を出力する。
【0119】
(C)動作
図3は、実施形態の一例としての情報処理装置1による学習処理の流れを説明するための図である。ここで、
図3を参照して、本実施例に係る情報処理装置1による学習処理の全体像を説明する。
【0120】
データ取得部2により取得されたデータセットに対して制約関数生成部3によるSelf-Augmentationが行なわれ、式(10)に示す制約式を生成する(ステップS101)。
【0121】
また、制約関数生成部3は、一様制約に基づく制約関数と多様体制約に基づく制約関数とを生成する(ステップS102,S103)。そして、制約関数生成部3は、Self-Augmentationに基づく制約関数と、多様体制約に基づく制約関数と、一様制約に基づく制約関数とを含む式(27)または、式(28)を生成する。
【0122】
最適化部4は、式(27)で示される関数、もしくは式(28)で示される関数を最小にするようにパラメータ(λ,η,μ)を調整し、機械学習モデルの学習(ニューラルネットワークの最適化)を行なう(ステップS104)。
【0123】
次に、実施例に係る情報処理装置による統計モデルの学習処理を、
図4に示すフローチャート(ステップS1~S5)に従って説明する。
【0124】
データ取得部2は、データセット及びクラスタ数を取得する(ステップS1)。データ取得部2は、クラスタ数を制約関数生成部3および最適化部4に通知する。また、データ取得部2は、データセットを最適化部4へ出力する。
【0125】
制約関数生成部3は、機械学習モデルを取得してクラスタ数を用いて、式(10)で表されるSAT用の関数を生成する。また、制約関数生成部3は、多様体制約に基づく制約関数と一様制約に基づく制約関数とを生成する。そして、制約関数生成部3は、Self-Augmentationに基づく制約関数と、多様体制約に基づく制約関数と、一様制約に基づく制約関数とを含む式(27)または、式(28)を生成する(ステップS2)。
【0126】
最適化部4は、式(27)で示される関数、もしくは式(28)で示される関数を最小にするようにハイパーパラメータ(λ,η,μ)を調整し、機械学習モデルの学習(ニューラルネットワークの最適化)を行なう(ステップS3)。
【0127】
その後、最適化部4は、最適化により得られたパラメータで、機械学習モデルのパラメータを更新する(ステップS4)。
【0128】
次に、最適化部4は、学習が収束したか否かを判定する(ステップS5)。学習が収束していない場合(ステップS5のNOルート参照)、学習処理は、ステップS2へ戻る。これに対して、学習が収束した場合(ステップS5のYESルート参照)、最適化部4は、学習処理を終了する。
【0129】
(D)効果
このように、実施形態の一例としての情報処理装置1によれば、制約関数生成部3が、NCutに基づく式(15)(第一の最適化関数)を、ニューラルネットワークの導入とクラスタリングにおけるクラスタについての一様仮定とに基づいて変換(再定義)して、第二の最適化関数である式(27)もしくは式(28)を生成する。すなわち、制約関数生成部3が、Self-Augmentationに基づく制約関数と、多様体制約に基づく制約関数と、一様制約に基づく制約関数とに基づく最適化関数(式(27),式(28):第二の最適化関数)を生成する。
【0130】
そして、最適化部4が、これらの式(27)で示される関数、もしくは式(28)で示される関数を最小にするようにハイパーパラメータ(λ,η,μ)を調整することで、機械学習モデルの訓練を行なう。
【0131】
この際、最適化部4が調整するハイパーパラメータの数が3個と少ないので、訓練に要する時間を短縮し効率化することができる。また、計算コストを削減することができる。
【0132】
制約関数生成部3が、NCut問題をニューラルネットワークと一様仮定を導入して再定義することで、一様制約と多様体制約とを得ることができ、また、ハイパーパラメータの個数を削減することができる。また、NCut問題から手法を構築することで、低次元の複雑多様構造を持つデータセットに対して高精度のクラスタリングを実現することができる。
【0133】
そして、これにより、低次元の単純多様構造を持つデータセット,低次元の複雑多様構造を持つデータセットおよび高次元の単純多様構造を持つデータセットに対して、高精度のクラスタリングを実現することができる。
【0134】
また、特に、大規模データに対するクラスタリングを高速化することができる。これは、NCut問題に一様仮定とニューラルネットワークとを導入し、再定義することによるものであり、この再定義された問題は、ニューラルネットワークの既存最適化手法で解けるためである。
【0135】
また、高次元の単純多様構造を持つデータセットに対して、より高精度のクラスタリングを実現できる。これらは、ニューラルネットワークを導入することで表現力が向上するからである。
【0136】
また、本情報処理装置1の手法においては、制約関数生成部3が定式化を行なうことで、ミニバッチ最適化を適用することができ、計算に必要とするメモリ容量を削減することができる。
【0137】
図5は、複数の手法を用いた場合のそれぞれのクラスタリング結果を示す図である。ここでは、低次元で且つ複雑な多様体構造のデータセットとして、Two-Moons及びTwo-Ringsの2つのデータセットを使用した。また、高次元で且つ単純な多様体構造のデータセットとして、MNST、SVHNおよびReuters10Kの3つのデータセットを使用した。
【0138】
比較するクラスタリング手法は、以下の手法を用いた。古典クラスタリング手法として、スペクトラルクラスタリング(Spectral Clustering:SC)を用いた。また、深層クラスタリングの手法として、MISTを用いた。
図5では、本実施形態に係る情報処理装置1によるクラスタリング手法を「実施例手法」として表した。
【0139】
評価指数は、クラスタリング精度の最高値を100%として、7回クラスタリングを実施してそれらの平均クラスタリング精度を表す。また、
図5における括弧内の数字は標準偏差を表す。
【0140】
図5に示すように、本実施例に係る情報処理装置1によるクラスタリング手法は、ほぼすべてのデータセットにおいて、古典クラスタリング及び深層クラスタリングの各手法と同等以上のクラスタリング結果を達成した。
【0141】
(E)その他
本実施形態の各構成および各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【0142】
そして、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
【0143】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【0144】
(F)付記
以上の実施形態に関し、さらに以下の付記を開示する。
【0145】
(付記1)
データ群のクラスタリングを行なう機械学習モデルの訓練において、
NCut(Normalized Cut)を用いた第一の最適化関数を、ニューラルネットワークの導入とクラスタリングにおけるクラスタについての一様仮定とに基づいて変換して第二の最適化関数を生成し、
前記第二の最適化関数を最適化する処理を実行することで前記機械学習モデルの訓練を実行する
処理をコンピュータに実行させることを特徴とする機械学習プログラム。
【0146】
(付記2)
前記第二の最適化関数を生成する処理において、多様体制約に基づく制約関数を生成し、前記第二の最適化関数に含める
処理を前記コンピュータに実行させることを特徴とする付記1に記載の機械学習プログラム。
【0147】
(付記3)
データ群のクラスタリングを行なう機械学習モデルの訓練において、
NCutを用いた第一の最適化関数を、ニューラルネットワークの導入とクラスタリングにおけるクラスタについての一様仮定とに基づいて変換して第二の最適化関数を生成し、
前記第二の最適化関数を最適化する処理を実行することで前記機械学習モデルの訓練を実行する
処理をコンピュータが実行することを特徴とする機械学習方法。
【0148】
(付記4)
前記第二の最適化関数を生成する処理において、多様体制約に基づく制約関数を生成し、前記第二の最適化関数に含める
処理を前記コンピュータが実行することを特徴とする付記3に記載の機械学習方法。
【0149】
(付記5)
データ群のクラスタリングを行なう機械学習モデルの訓練において、
NCutを用いた第一の最適化関数を、ニューラルネットワークの導入とクラスタリングにおけるクラスタについての一様仮定とに基づいて変換して第二の最適化関数を生成し、
前記第二の最適化関数を最適化する処理を実行することで前記機械学習モデルの訓練を実行する
処理を実行する制御部を備えることを特徴とする情報処理装置。
【0150】
(付記6)
前記制御部が、
前記第二の最適化関数を生成する処理において、多様体制約に基づく制約関数を生成し、前記第二の最適化関数に含める
処理を実行することを特徴とする付記5に記載の情報処理装置。
【符号の説明】
【0151】
1 情報処理装置
2 データ取得部
3 制約関数生成部
4 最適化部
5 予測実行部
6 出力部
10 コンピュータ
10a プロセッサ
10b グラフィック処理装置
10c メモリ
10d 記憶部
10e IF部
10f IO部
10g 読取部
10h プログラム
10i 記録媒体
10j バス