(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】学習装置、分類装置、学習方法、分類方法、および、プログラム
(51)【国際特許分類】
G06N 3/08 20230101AFI20231205BHJP
【FI】
G06N3/08
(21)【出願番号】P 2022514878
(86)(22)【出願日】2020-04-13
(86)【国際出願番号】 JP2020016281
(87)【国際公開番号】W WO2021210042
(87)【国際公開日】2021-10-21
【審査請求日】2022-08-03
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】金井 関利
(72)【発明者】
【氏名】山田 真徳
【審査官】渡辺 順哉
(56)【参考文献】
【文献】特開2020-004406(JP,A)
【文献】米国特許出願公開第2019/0385045(US,A1)
【文献】国際公開第2019/207770(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
深層学習により入力データのクラス分類を行う数理モデルについて、前記数理モデルの最終層における重みから各クラスの中心点を計算する中心点計算部と、
前記数理モデルの最終層への入力データが、前記各クラスの中心点に近づくよう前記数理モデルのパラメータの更新を行う学習部と
を備えることを特徴とする学習装置。
【請求項2】
前記学習部は、
前記数理モデルの最終層への入力データと前記各クラスの中心点との差分を損失関数とし、前記損失関数の値ができるだけ小さくなるよう前記数理モデルのパラメータを更新する
ことを特徴とする請求項1に記載の学習装置。
【請求項3】
前記学習部は、
前記損失関数の勾配を用いて、前記数理モデルのパラメータθを更新する
ことを特徴とする請求項2に記載の学習装置。
【請求項4】
前記中心点計算部は、
前記数理モデルの最終層における重みを示す行列と、前記行列を巡回シフトさせた行列とを用いて前記各クラスの中心点を計算する
ことを特徴とする請求項1に記載の学習装置。
【請求項5】
前記中心点計算部は、
前記数理モデルの最終層における重みを示す行列をQR分解した行列を用いて前記各クラスの中心点を計算する
ことを特徴とする請求項1に記載の学習装置。
【請求項6】
深層学習により入力データのクラス分類を行う数理モデルについて、前記数理モデルの最終層への入力データを、前記数理モデルの最終層における重みから計算された各クラスの中心点に近づけるよう学習された数理モデルを用いて、入力データのクラス分類を行う分類部を備えることを特徴とする分類装置。
【請求項7】
学習装置により実行される数理モデルの学習方法であって、
深層学習により入力データのクラス分類を行う前記数理モデルについて、前記数理モデルの最終層における重みから各クラスの中心点を計算する工程と、
前記数理モデルの最終層への入力データが、前記各クラスの中心点に近づくよう前記数理モデルのパラメータの更新を行う工程と
を含むことを特徴とする学習方法。
【請求項8】
分類装置により実行される入力データの分類方法であって、
深層学習により入力データのクラス分類を行う数理モデルについて、前記数理モデルの最終層への入力データが、前記数理モデルの最終層における重みから計算された各クラスの中心点に近づくよう学習された数理モデルを用いて、入力データのクラス分類を行う工程を含むことを特徴とする分類方法。
【請求項9】
請求項1~請求項5のいずれか1項に記載の学習装置または請求項6に記載の分類装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、分類装置、学習方法、分類方法、および、プログラムに関する。
【背景技術】
【0002】
深層学習、ディープニューラルネットワークは、画像認識や音声認識などで大きな成功を収めている。例えば、深層学習を使った画像認識では、深層学習の多数の非線形関数を含んだモデルに画像を入力すると、その画像が何を写しているのかという分類結果を出力する。特に、畳み込みニューラルネットワークとReLU(Rectified Linear Unit)とは、画像認識において頻繁に使用される技術である。
【0003】
しかしながら、悪意ある攻撃者が、モデルに最適なノイズを入力画像に加えると、小さなノイズで簡単に深層学習を誤分類させることができる(例えば、非特許文献1参照)。これは、敵対的攻撃と呼ばれており、例えば、FGSM(Fast Gradient Sign Method)やPGD(Projected Gradient Descent)等の攻撃方法が報告されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Christian Szegedy, et al, “Intriguing properties of neural networks”, arXiv preprint: 1312. 6199, 2013.
【文献】Tianyu Pang, et al. "RETHINKING SOFTMAX CROSS-ENTROPY LOSS FOR ADVERSARIAL ROBUSTNESS ", ICLR, 2020.
【文献】Sibylle Hess, et al. "Softmax-based Classication is k-means Clustering: Formal Proof, Consequences for Adversarial Attacks, and Improvement through Centroid Based Tailoring ", arXiv, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0005】
このように、深層学習により得られたモデルが敵対的攻撃に脆弱であり、入力されたデータを誤分類してしまうという問題があった。そこで、本発明は、前記した問題を解決し、敵対的攻撃に対してロバストなモデルを作成することを課題とする。
【課題を解決するための手段】
【0006】
前記した課題を解決するため、本発明は、深層学習により入力データのクラス分類を行う数理モデルについて、前記数理モデルの最終層における重みから各クラスの中心点を計算する中心点計算部と、前記数理モデルの最終層への入力データが、前記各クラスの中心点に近づくよう前記数理モデルのパラメータの更新を行う学習部とを備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、敵対的攻撃に対してロバストなモデルを作成することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、深層学習のモデルを説明する図である。
【
図2】
図2は、深層学習のモデルを有する分類器の従来の学習について説明するフローチャートである。
【
図3】
図3は、学習装置の構成の一例を示すブロック図である。
【
図4】
図4は、学習装置の処理手順をフローチャートである。
【
図5】
図5は、学習装置の処理手順の例を示すフローチャートである。
【
図6】
図6は、プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して、本発明の一実施の形態を詳細に説明する。なお、この実施の形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0010】
なお、以下では、例えばAがベクトルである場合には“ベクトルA”と表記し、例えばAが行列である場合には“行列A”と表記し、例えばAがスカラーである場合には単に“A”と表記する。また、例えばベクトルAの関数fは、f(ベクトルA)と表記する。また、ベクトル、行列又はスカラーであるAに対し、“-A”と記載する場合は「“A”の直上に“-”が記された記号」と同等であるとする。また、ベクトル又は行列であるAに対し、ATはAの転置を表す。
【0011】
また、以下に示す各数式において大文字の太字は原則として行列を表し(Zを除く)、小文字の太字は列ベクトルを表し、行ベクトルは転置を使って表す。
【0012】
さらに、本実施形態の学習装置が学習対象とする数理モデルは深層学習を用いて画像認識を行うモデルである場合を例に説明するが、深層学習を用いて入力データの識別を行うモデルであればこれに限定されない。
【0013】
[深層学習のモデル]
まず、深層学習のモデルについて説明する。
図1に示すように、深層学習のモデルは信号の入る入力層、入力層からの信号を様々に変換する1層または複数の中間層、及び、中間層の信号を確率などの出力に変換する出力層からなる。
【0014】
入力層には入力データが入力される。また、出力層からは各クラスの確率が出力される。例えば、入力データは、所定の形式で表現された画像データである。また、例えば、クラスが車、船、犬、猫についてそれぞれ設定されている場合、出力層からは、入力データの元になった画像に写っているものが車である確率、船である確率、犬である確率及び猫である確率がそれぞれ出力される。
【0015】
[従来の分類器の学習方法]
図2を用いて、深層学習モデルを有する分類器(分類部)の従来の学習について説明する。
【0016】
図2に示すように、従来の学習処理では、予め用意したデータセット(学習用データ)からランダムに入力とラベルとを選択し、選択した入力を分類部に印加する(S1)。そして、従来の学習処理では、分類部の出力を計算し、その出力とデータセットのラベルとを使用して損失関数を計算する(S2)。
【0017】
従来の学習処理では、計算される損失関数が小さくなるように学習し、損失関数の勾配を使って分類部のパラメータを更新する(S3)。損失関数は、通常、分類部の出力とラベルとが一致するほど小さくなる関数を設定するため、これにより分類部が入力のラベルを分類できるようになる。
【0018】
そして、従来の学習処理では、別途用意したデータセットを正しく分類できるかどうかなどを評価基準とする。従来の学習処理では、評価基準を満たさない場合には(S4:No)、S1に戻り学習を継続し、評価基準を満たす場合には(S4:Yes)、学習を終了する。
【0019】
[深層学習による画像認識]
分類処理の一例として、深層学習による画像認識処理について説明する。ここで、深層学習において、画像x∈RC×H×Wを認識し、M個のラベルから、その画像のラベルyを求める問題を考える。ここで、xは三次元の配列で表され、Rは行列で表される。Cは画像のチャネル(RGB式の場合は3チャネル)、Hは縦の大きさ、Wは横の大きさとする。
【0020】
このとき、深層学習のモデルの出力f(x,θ)∈RMは、各ラベルに対するスコアを表し、式(1)によって得られる最も大きなスコアを持つ出力の要素が、深層学習の認識結果である。ここで、f,θは、列ベクトルで表される。
【0021】
【0022】
画像認識は、クラス分類の一つであり、分類を行うfを分類器と呼ぶ。ここで、θは、深層学習のモデルのパラメータであり、このパラメータは、事前に用意したN個のデータセット{(xi,yi)},i=1,…,Nから学習する。この学習では、クロスエントロピーなどの、yi=maxjfj(x)と正しく認識できるほど小さな値となるような損失関数L(x,y,θ)を設定し、式(2)に示す最適化を行ってθを求める。
【0023】
【0024】
最適化では、データセットから(xi,yi)をサンプリングしながら、損失関数の勾配δL(xi,yi,θ)/δθを計算し、以下の式(3)の計算を繰り返して行う。ここで、ηは、学習率と呼ばれるパラメータである。
【0025】
【0026】
[敵対的攻撃]
深層学習のモデルによる認識は脆弱性を持っており、敵対的攻撃によって誤認識させることができる。敵対的攻撃は、式(4)に示す最適化問題で定式化される。
【0027】
【0028】
式(4)における||・||pはlpノルムであり、pとしてp=2やp=∞が主に用いられる。これは誤って認識する、ノルムの最も小さなノイズδを求めるという問題である。敵対的攻撃としては、例えば、FGSMやPGDなど、深層学習のモデルの勾配を使った攻撃方法が提案されている。
【0029】
[重み行列から計算される各クラスの中心点]
本実施形態における、深層学習のモデルの重み行列から計算される各クラスの中心点について説明する。本実施形態の学習装置は、上記の深層学習のモデルにおける最終層の重みを考慮して、式(1)を以下の式(5)とする。
【0030】
【0031】
ここで式(5)における、行列W∈Rd×Mは深層学習のモデルにおける最終層の重みである。g(x,θ)は深層学習のモデルへの入力xに対応した最終層における入力である。softmaxはソフトマックス関数である。
【0032】
式(5)において、重み行列をW=[w1,…,wM]と各列ベクトルwi∈Rdで表し、ソフトマックス関数が大小関係を変えないことを考慮すると、式(5)は、以下の式(6)となる。
【0033】
【0034】
d≧M-1とし、以下の式(7)を満たすベクトルv∈RMが存在すると仮定すると、式(6)は、式(8)のようになる。
【0035】
【0036】
【0037】
ただし、式(8)におけるベクトルZj=wj+vとし、式(7)から||Zj||がjによらないことを使った。これは深層学習のモデルの最終層の入力g(x,θ)に対して最も近いベクトルZjを求め、そのjをクラス分類結果とするものであり、ベクトルZjをクラスjの中心点とみなすことができる。以上の議論において、深層学習のモデルに関しては特に特別な構造を限定していないため、通常の深層学習のモデルに広く使える議論である。
【0038】
[学習装置]
次に、本実施形態の学習装置について説明する。学習装置は、前述の深層学習のモデルにおける最終層の重みから各クラスの中心点を計算する。そして、学習装置は、深層学習のモデルの最終層への入力データが、上記の各クラスの中心点に近づくように、深層学習のモデルのパラメータを最適化する。
【0039】
[構成]
図3を用いて、本実施形態の学習装置の構成を説明する。
図3に示す学習装置10は、ROM(Read Only Memory)、RAM(Random Access Memory)、CPU(Central Processing Unit)等を含むコンピュータ等に所定のプログラムが読み込まれて、CPUが所定のプログラムを実行することで実現される。また、学習装置10は、NIC(Network Interface Card)等を有し、LAN(Local Area Network)やインターネットなどの電気通信回線を介した他の装置との間の通信を行うことも可能である。
【0040】
学習装置10は、分類部11と学習処理部12とを有する。分類部11は、深層学習のモデルであるモデル111を有する。分類部11は、モデル111を用いて入力データのクラス分類を行う。モデル111は、例えば、入力データのクラス分類を行うモデルであって、ニューラルネットワークを適用したモデルである。分類部11は、例えば、入力データをニューラルネットワークの入力層に入力し、ニューラルネットワークの出力層から、入力データが各クラスに分類される確率を出力する。
【0041】
学習処理部12は、学習用データを用いてモデル111の学習を行う。このとき学習処理部12は、モデル111の最終層への入力データが、上記の各クラスの中心点に近づくよう、モデル111のパラメータを最適化する。この学習処理部12は、中心点計算部121と、学習部122とを備える。
【0042】
中心点計算部121は、モデル111の最終層の重みから各クラスの中心点を計算する。例えば、中心点計算部121は、モデル111の最終層における重みを示す行列Wを巡回シフトさせた行列^Wを作成し、行列Wと行列^Wとを用いて各クラスの中心点を計算する。
【0043】
例えば、まず、中心点計算部121は、重み行列Wを巡回シフトさせた行列^W=[w2,w3,…,wM,w1]を作成する。次に、中心点計算部121は、行列Wの各列ベクトルのノルムを並べたベクトルb=[||w1||2,||w2||2,||w3||2,…,||wM||2]Tと同様に、行列^Wの各列ベクトルのノルムを並べたベクトル^b=[||w2||2,||w3||2,…,||wM||2,||w1||2]Tを作成する。そして、中心点計算部121は、以下の式(9)を満たすベクトルvを計算する。
【0044】
【0045】
ここで、d>M-1の場合、ベクトルvは一意に定まらない。このような場合、中心点計算部121は、例えば、擬似逆行列を用いてベクトルvを計算する(式(10))。
【0046】
【0047】
中心点計算部121は、上記のようにしてベクトルvを計算すると、計算したベクトルvを用いて、各クラスの中心点であるベクトルZj=wj+vを計算する。
【0048】
学習処理部12は、学習用データを用いてモデル111を学習する。このとき、学習部122は、モデル111の最終層への入力データが、中心点計算部121により計算された各クラスの中心点に近づくように、モデル111のパラメータを最適化する。例えば、学習部122は、最終層への入力データと各クラスの中心点との差分を損失関数とし、損失関数の値ができるだけ小さくなるようモデル111のパラメータを更新する。
【0049】
例えば、学習部122は、中心点計算部121により計算された各クラスの中心点であるベクトルZj=wj+vを使って、以下の式(11)によりモデル111を学習する。
【0050】
【0051】
つまり、学習部122は、損失関数Lを||g(x,θ)-Zy||2とし、この損失関数Lができるだけ小さくなるようモデル111のパラメータを更新する。なお、学習用データのxに対してラベルyが与えられているので、モデル111の最終層の重み行列Wは固定する。学習部122が、学習用データを用いてモデル111を学習する際、モデル111の最終層の入力g(x,θ)を各クラスの中心点に集めるようにすることで、ノイズに対してロバストなモデル111を作成することができる。
【0052】
なお、上記の学習方法は、一般によく用いられているソフトマックスクロスエントロピーを最小化する学習結果とクラス分類の結果にも適用可能である。例えば、学習処理部12は、事前にソフトマックスクロスエントロピーにより学習されたモデルを対象に、上記の学習方法を用いて再学習を行ってもよい。
【0053】
また、学習処理部12により学習されたモデル111は、学習装置10の分類部11により用いられてもよいし、他の装置(分類装置)により用いられてもよい。
【0054】
[処理手順]
次に、
図4を用いて学習装置10の処理手順を説明する。まず、学習装置10の中心点計算部121は、モデル111の最終層の重み行列から各クラスの中心点を計算する(S11)。次に、学習部122は、予め用意した学習用データのデータセットからランダムに選択した入力をモデル111に印加する(S12)。そして、学習部122は、モデル111の最終層の入力を計算し、それとデータセットのラベルyに対応する中心点を使用して、損失関数(例えば、上記の損失関数L)を計算する(S13)。そして、学習部122は、S13で計算した損失関数の勾配を使って、モデル111のパラメータを更新する(S14)。
【0055】
S14の後、学習処理部12は、パラメータの更新後のモデル111が評価基準を満たすか否かを判定する(S15)。この評価基準は、例えば、パラメータの更新後のモデル111により、分類部11が別途用意されたデータセットを正しく分類できるか否か等である。S15で学習部122が、パラメータの更新後のモデル111は評価基準を満たさないと判定した場合(S15:No)、S12に戻り学習を継続する。一方、S15で学習処理部12が、パラメータの更新後のモデル111は評価基準を満たすと判定した場合(S15:Yes)、学習を終了する。
【0056】
次に、
図5を用いて学習装置10の処理手順の例を説明する。まず、学習装置10の中心点計算部121は、モデル111の最終層の重み行列からベクトルvと各クラスの中心点Z
jを計算する(S21)。例えば、中心点計算部121は、前記した式(9)または式(10)を用いて、モデル111の最終層の重み行列Wからベクトルvを計算する。そして、中心点計算部121は、計算したベクトルvを用いて、各クラスの中心点を示すベクトルZ
j=w
j+vを計算する。
【0057】
S21の後、学習部122は、予め用意した学習用データのデータセットからランダムに選択した入力をモデル111に印加する(S22)。そして、学習部122は、モデル111の最終層の入力を計算し、それとデータセットのラベルyに対応する中心点Zyを使用して、損失関数(例えば、前記した||g(x,θ)-Zy||2)を計算する(S23)。そして、学習部122は、S23で計算した損失関数の勾配を使って、モデル111のパラメータθを更新する(S24)。
【0058】
S24の後、学習処理部12は、パラメータθの更新後のモデル111が評価基準を満たすか否かを判定する(S25)。S25で学習部122が、パラメータθの更新後のモデル111は評価基準を満たさないと判定した場合(S25:No)、S22に戻り、学習を継続する。一方、S25で学習処理部12が、パラメータθの更新後のモデル111は評価基準を満たすと判定した場合(S25:Yes)、学習を終了する。
【0059】
このようにすることで学習装置10は、敵対的攻撃のようなノイズが加わってもロバストなモデル111を作成することができる。その結果、モデル111を用いたデータの分類における誤分類を低減することができる。
【0060】
なお、学習装置10は、例えば、以下のようにしてモデル111の学習を行ってもよい。
【0061】
前述の通り、d>M-1の場合、ベクトルvは一意に定まらない。そこで、中心点計算部121は、ベクトルvを計算する代わりに、行列WをQR分解する(式(12))。
【0062】
【0063】
なお、式(12)における行列Q∈RM×Mは、直交行列であり、行列W´∈Rd×Mは、上三角行列である。中心点計算部121は、最終層を、f=softmax(gTW)=softmax(gTW´Q)により、hT=gTW´という新しい層とする。ここで、行列Qは直交行列であるため、行列Q=[q1,…,qM]について、以下の式(13)が成り立つ。
【0064】
【0065】
よって、式(6)は、以下の式(14)のようになるので、中心点計算部121は、各クラスの中心点であるベクトルZjはZj=qjとなる。学習部122は、このベクトルZj=qjを用いて、式(11)によりモデル111の学習を行う。
【0066】
【0067】
なお、学習装置10が上記のようにして各クラスの中心点を計算することにより、前述のベクトルvを用いる方法よりも、中心点同士が離れた中心点を求めることができる。その結果、学習装置10はベクトルvを用いる場合よりも、ロバストなモデル111を作成することができる。
【0068】
[実施形態のシステム構成について]
図3に示した学習装置10の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、学習装置10の機能の分散および統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【0069】
また、学習装置10においておこなわれる各処理は、全部または任意の一部が、CPUおよびCPUにより解析実行されるプログラムにて実現されてもよい。また、学習装置10においておこなわれる各処理は、ワイヤードロジックによるハードウェアとして実現されてもよい。
【0070】
また、実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的に行うこともできる。もしくは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上述および図示の処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて適宜変更することができる。
【0071】
[プログラム]
また、上記の実施形態で述べた学習装置10の機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムをコンピュータに実行させることにより、コンピュータを学習装置10として機能させることができる。ここで言うコンピュータには、デスクトップ型またはノート型のパーソナルコンピュータ、ラック搭載型のサーバコンピュータ等が含まれる。また、その他にも、コンピュータにはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistants)等がその範疇に含まれる。また、学習装置10の機能を、クラウドサーバに実装してもよい。
【0072】
図6を用いて、上記のプログラム(プログラム)を実行するコンピュータの一例を説明する。
図6に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
【0073】
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
【0074】
ここで、
図6に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。前記した実施形態で説明した記憶部13は、例えばハードディスクドライブ1090やメモリ1010に装備される。
【0075】
そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
【0076】
なお、上記のプログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、上記のプログラムに係るプログラムモジュール1093やプログラムデータ1094は、LANやWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0077】
10 学習装置
11 分類部
12 学習処理部
111 モデル
121 中心点計算部
122 学習部