(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-13
(45)【発行日】2024-08-21
(54)【発明の名称】情報処理装置、演算方法、及び、コンピュータープログラム
(51)【国際特許分類】
G06N 3/04 20230101AFI20240814BHJP
【FI】
G06N3/04
(21)【出願番号】P 2020164456
(22)【出願日】2020-09-30
【審査請求日】2023-07-19
(73)【特許権者】
【識別番号】000002369
【氏名又は名称】セイコーエプソン株式会社
(74)【代理人】
【識別番号】110000028
【氏名又は名称】弁理士法人明成国際特許事務所
(72)【発明者】
【氏名】倉沢 光
【審査官】渡辺 一帆
(56)【参考文献】
【文献】国際公開第2019/083553(WO,A1)
【文献】特開2006-164063(JP,A)
【文献】特開2020-126662(JP,A)
【文献】特表2020-522077(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/02-3/10
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
ベクトルニューラルネットワーク型の機械学習モデルを記憶するメモリーと、
前記機械学習モデルを用いた演算を実行するプロセッサーと、
を備え、
前記機械学習モデルは、
複数のノードをそれぞれ含む複数のベクトルニューロン層を有し、
前記複数のベクトルニューロン層のうちの1つを上位層と呼び、前記上位層の下位にあるベクトルニューロン層を下位層と呼ぶとき、
前記上位層の各ノードは、前記下位層の複数のノードからの出力ベクトルを入力として、1つの出力ベクトルを出力するように構成されており、
前記上位層の任意のノードである対象ノードは、
(a)前記下位層の各ノードの出力ベクトルと予測行列との積に基づく予測ベクトルを求め、
(b)前記下位層の前記各ノードから得られた前記予測ベクトルの線形結合に基づく和ベクトルを求め、
(c)前記和ベクトルのノルムを正規化することによって正規化係数を求め、
(d)前記和ベクトルを前記ノルムで除算し、更に、前記正規化係数を乗じることによって前記対象ノードの前記出力ベクトルを求める、
ように構成されている、情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記正規化係数は、前記上位層における前記正規化係数の総和が1になるように前記ノルムを正規化関数で正規化することによって得られる、情報処理装置。
【請求項3】
請求項1又は2に記載の情報処理装置であって、
前記予測行列は複数準備されており、
前記上位層の各ノードの前記出力ベクトルの演算に使用される前記下位層の前記複数のノードの範囲は、前記複数の予測行列を複数の要素とするカーネルを用いた畳み込みによって制限され、
前記複数の予測行列は、前記機械学習モデルの学習によって決定される、情報処理装置。
【請求項4】
請求項1~3のいずれか一項に記載の情報処理装置であって、
前記メモリーは、学習済みの前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの少なくとも1つの特定層の出力から得られた既知特徴
スペクトル群を格納しており、
前記機械学習モデルは、学習済みの前記機械学習モデルに新たな入力データが入力されたときに前記特定層の出力から得られる特徴
スペクトルと、前記既知特徴
スペクトル群との類似度を演算する類似度演算部を有する、情報処理装置。
【請求項5】
請求項4に記載の情報処理装置であって、
前記特定層は、第1軸と第2軸の2つの軸で規定された平面に配置されたベクトルニューロンが、前記2つの軸とは異なる方向の第3軸に沿って複数のチャンネルとして配置されている構成を有し、
前記特徴
スペクトルは、
(i)前記特定層のうちの1つの平面位置におけるベクトルニューロンの出力ベクトルの複数の要素値を、前記第3軸に沿った前記複数のチャンネルにわたって配列した第1種の特徴スペクトルと、
(ii)前記第1種の特徴スペクトルの各要素値に、前記正規化係数を乗じることによって得られる第2種の特徴スペクトルと、
(iii)前記特定層のうちの1つの平面位置における前記正規化係数を、前記第3軸に沿った前記複数のチャンネルにわたって配列した第3種の特徴スペクトルと、
のうちのいずれかである、情報処理装置。
【請求項6】
ベクトルニューラルネットワーク型の機械学習モデルを用いて演算処理を実行する演算方法であって、
前記機械学習モデルは、
複数のノードをそれぞれ含む複数のベクトルニューロン層を有し、
前記複数のベクトルニューロン層のうちの1つを上位層と呼び、前記上位層の下位にあるベクトルニューロン層を下位層と呼ぶとき、
前記上位層の各ノードは、前記下位層の複数のノードからの出力ベクトルを入力として、1つの出力ベクトルを出力するように構成されており、
前記上位層の任意のノードである対象ノードの前記出力ベクトルを求める工程は、
(a)前記下位層の各ノードの出力ベクトルと予測行列との積に基づく予測ベクトルを求める工程と、
(b)前記下位層の前記各ノードから得られた前記予測ベクトルの線形結合に基づく和ベクトルを求める工程と、
(c)前記和ベクトルのノルムを正規化することによって正規化係数を求める工程と、
(d)前記和ベクトルを前記ノルムで除算し、更に、前記正規化係数を乗じることによって前記対象ノードの前記出力ベクトルを求める工程と、
を含む、演算方法。
【請求項7】
ベクトルニューラルネットワーク型の機械学習モデルを用いる演算処理をプロセッサーに実行させるコンピュータープログラムであって、
前記機械学習モデルは、
複数のノードをそれぞれ含む複数のベクトルニューロン層を有し、
前記複数のベクトルニューロン層のうちの1つを上位層と呼び、前記上位層の下位にあるベクトルニューロン層を下位層と呼ぶとき、
前記上位層の各ノードは、前記下位層の複数のノードからの出力ベクトルを入力として、1つの出力ベクトルを出力するように構成されており、
前記コンピュータープログラムは、
前記上位層の任意のノードである対象ノードの前記出力ベクトルを求める処理として、
(a)前記下位層の各ノードの出力ベクトルと予測行列との積に基づく予測ベクトルを求める処理と、
(b)前記下位層の前記各ノードから得られた前記予測ベクトルの線形結合に基づく和ベクトルを求める処理と、
(c)前記和ベクトルのノルムを正規化することによって正規化係数を求める処理と、
(d)前記和ベクトルを前記ノルムで除算し、更に、前記正規化係数を乗じることによって前記対象ノードの前記出力ベクトルを求める処理と、
を前記プロセッサーに実行させる、コンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習モデルを用いる情報処理装置、演算方法、及び、コンピュータープログラムに関する。
【背景技術】
【0002】
特許文献1,2には、ベクトルニューロンを用いる機械学習モデルとして、カプセルネットワークと呼ばれるものが開示されている。ベクトルニューロンとは、入出力がベクトルであるニューロンを意味する。カプセルネットワークは、カプセルと呼ばれるベクトルニューロンをネットワークのノードとする機械学習モデルである。カプセルネットワークでは、各層の出力ベクトルを求める際に、動的ルーティングを複数回繰り返すことによって内部パラメーターを探索する。
【先行技術文献】
【特許文献】
【0003】
【文献】米国特許第5210798号公報
【文献】国際公開2019/083553号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、カプセルネットワークでは、動的ルーティングを複数回繰り返す必要があるため、演算の速度が遅いという問題があった。
【課題を解決するための手段】
【0005】
本開示の第1の形態によれば、情報処理装置が提供される。この情報処理装置は、ベクトルニューラルネットワーク型の機械学習モデルを記憶するメモリーと、前記機械学習モデルを用いた演算を実行するプロセッサーと、を備える。前記機械学習モデルは、複数のノードをそれぞれ含む複数のベクトルニューロン層を有し、前記複数のベクトルニューロン層のうちの1つを上位層と呼び、前記上位層の下位にあるベクトルニューロン層を下位層と呼ぶとき、前記上位層の各ノードは、前記下位層の複数のノードからの出力ベクトルを入力として、1つの出力ベクトルを出力するように構成されている。前記上位層の任意のノードである対象ノードは、(a)前記下位層の各ノードの出力ベクトルと予測行列との積に基づく予測ベクトルを求め、(b)前記下位層の前記各ノードから得られた前記予測ベクトルの線形結合に基づく和ベクトルを求め、(c)前記和ベクトルのノルムを正規化することによって正規化係数を求め、(d)前記和ベクトルを前記ノルムで除算し、更に、前記正規化係数を乗じることによって前記対象ノードの前記出力ベクトルを求める、ように構成されている。
【0006】
本開示の第2の形態によれば、ベクトルニューラルネットワーク型の機械学習モデルを用いて演算処理を実行する演算方法が提供される。前記機械学習モデルは、複数のノードをそれぞれ含む複数のベクトルニューロン層を有し、前記複数のベクトルニューロン層のうちの1つを上位層と呼び、前記上位層の下位にあるベクトルニューロン層を下位層と呼ぶとき、前記上位層の各ノードは、前記下位層の複数のノードからの出力ベクトルを入力として、1つの出力ベクトルを出力するように構成されている。前記上位層の任意のノードである対象ノードの前記出力ベクトルを求める工程は、(a)前記下位層の各ノードの出力ベクトルと予測行列との積に基づく予測ベクトルを求める工程と、(b)前記下位層の前記各ノードから得られた前記予測ベクトルの線形結合に基づく和ベクトルを求める工程と、(c)前記和ベクトルのノルムを正規化することによって正規化係数を求める工程と、(d)前記和ベクトルを前記ノルムで除算し、更に、前記正規化係数を乗じることによって前記対象ノードの前記出力ベクトルを求める工程と、を含む。
【0007】
本開示の第3の形態によれば、ベクトルニューラルネットワーク型の機械学習モデルを用いる演算処理をプロセッサーに実行させるコンピュータープログラムが提供される。前記機械学習モデルは、複数のノードをそれぞれ含む複数のベクトルニューロン層を有し、前記複数のベクトルニューロン層のうちの1つを上位層と呼び、前記上位層の下位にあるベクトルニューロン層を下位層と呼ぶとき、前記上位層の各ノードは、前記下位層の複数のノードからの出力ベクトルを入力として、1つの出力ベクトルを出力するように構成されている。前記コンピュータープログラムは、前記上位層の任意のノードである対象ノードの前記出力ベクトルを求める処理として、(a)前記下位層の各ノードの出力ベクトルと予測行列との積に基づく予測ベクトルを求める処理と、(b)前記下位層の前記各ノードから得られた前記予測ベクトルの線形係合に基づく和ベクトルを求める処理と、(c)前記和ベクトルのノルムを正規化することによって正規化係数を求める処理と、(d)前記和ベクトルを前記ノルムで除算し、更に、前記正規化係数を乗じることによって前記対象ノードの前記出力ベクトルを求める処理と、を前記プロセッサーに実行させる。
【図面の簡単な説明】
【0008】
【
図1】実施形態における情報処理装置のブロック図。
【
図3】クラス分類処理の処理手順を示すフローチャート。
【発明を実施するための形態】
【0009】
図1は、一実施形態における情報処理装置100の機能を示すブロック図である。情報処理装置100は、プロセッサー110と、メモリー120と、インターフェイス回路130と、インターフェイス回路130に接続された入力デバイス140及び表示部150と、を有している。限定されないが例えば、プロセッサー110は、以下で詳述される処理を実行する機能を有するだけでなく、表示部150に、当該処理によって得られるデータ、および当該処理の過程で生成されるデータを表示する機能も有する。情報処理装置100は、パーソナルコンピューターなどのコンピューターによって実現可能である。
【0010】
プロセッサー110は、入力データのクラス分類処理を実行するクラス分類処理部112として機能する。クラス分類処理部112は、メモリー120に格納されたコンピュータープログラムをプロセッサー110が実行することによって実現される。但し、クラス分類処理部112をハードウェア回路で実現してもよい。本明細書のプロセッサーは、このようなハードウェア回路をも含む用語である。メモリー120には、ベクトルニューラルネットワーク型の機械学習モデル200と、教師データTDと、既知特徴スペクトル群KSGと、被分類データDiとが格納される。機械学習モデル200は、クラス分類処理部112による演算に使用される。機械学習モデル200の構成例や動作については後述する。教師データTDは、機械学習モデル200の学習に使用されるラベル付きのデータである。既知特徴スペクトル群KSGは、学習済みの機械学習モデル200に教師データTDを再度入力した際に得られる特徴スペクトルの集合である。特徴スペクトルについては後述する。被分類データDiは、クラス分類処理の処理対象となる新たな入力データである。なお、教師データTDは、機械学習モデル200の学習時にのみ必要であり、被分類データDiに対するクラス分類処理の実行時には不要である。また、被分類データDiは、機械学習モデル200の学習時にメモリー120に保存されている必要はない。
【0011】
上述のように、情報処理装置100は、クラス分類処理を行うクラス分類装置としての機能を有する。但し、情報処理装置100は、クラス分類処理以外の他の演算処理を行うように構成することも可能であり、例えば、入力データの評価値である連続値を算出する評価値算出処理を実行するように構成することができる。一般に、プロセッサー110は、機械学習モデル200を用いた演算を実行する演算部として機能する。
【0012】
図2は、機械学習モデル200の構成を示す説明図である。この機械学習モデル200は、入力データIMの側から順に、畳み込み層210と、プライマリーベクトルニューロン層220と、第1畳み込みベクトルニューロン層230と、第2畳み込みベクトルニューロン層240と、分類ベクトルニューロン層250とを備える。これらの5つの層210~250のうち、畳み込み層210が最も下位の層であり、分類ベクトルニューロン層250が最も上位の層である。以下の説明では、層210~250を、それぞれ「Conv層210」、「PrimeVN層220」、「ConvVN1層230」、「ConvVN2層240」、及び「ClassVN層250」とも呼ぶ。
【0013】
図2の例では2つの畳み込みベクトルニューロン層230,240を用いているが、畳み込みベクトルニューロン層の数は任意であり、畳み込みベクトルニューロン層を省略してもよい。但し、1つ以上の畳み込みベクトルニューロン層を用いることが好ましい。
【0014】
図2の機械学習モデル200は、更に、類似度を生成する類似度演算部260を有している。類似度演算部260は、ConvVN1層230と、ConvVN2層240と、ClassVN層250の出力から、後述する類似度S_ConvVN1,S_ConvVN2,S_ClassVNをそれぞれ算出することが可能である。但し、類似度演算部260を省略してもよい。
【0015】
各層210~250の構成は、以下のように記述できる。
<各層の構成の記述>
・Conv層210:Conv[32,5,2]
・PrimeVN層220:PrimeVN[16,1,1]
・ConvVN1層230:ConvVN1[12,3,2]
・ConvVN2層240:ConvVN2[6,3,1]
・ClassVN層250:ClassVN[2,4,1]
・ベクトル次元VD:VD=16
これらの各層210~250の記述において、括弧前の文字列はレイヤー名であり、括弧内の数字は、順に、チャンネル数、カーネルサイズ、及び、ストライドである。例えば、Conv層210のレイヤー名は「Conv」であり、チャンネル数は32、カーネルサイズは5×5、ストライドは2である。
図2では、各層の下にこれらの記述が示されている。各層の中に描かれているハッチングを付した矩形は、隣接する上位層の出力ベクトルを算出する際に使用されるカーネルを表している。なお、各層210~250の記述で用いたパラメーターの値は例示であり、任意に変更可能である。
【0016】
Conv層210は、スカラーニューロンで構成された層である。他の4つの層220~250は、ベクトルニューロンで構成された層である。ベクトルニューロンは、ベクトルを入出力とするニューロンである。上記の記述では、個々のベクトルニューロンの出力ベクトルの次元は16で一定である。以下では、スカラーニューロン及びベクトルニューロンの上位概念として「ノード」という語句を使用する。
【0017】
図2では、Conv層210について、ノード配列の平面座標を規定する第1軸x及び第2軸yと、奥行きを表す第3軸zとが示されている。また、Conv層210のx,y,z方向のサイズが13,13,32であることが示されている。x方向のサイズとy方向のサイズを「解像度」と呼ぶ。この例では、x方向とy方向の解像度は等しいが、異なっていても良い。z方向のサイズは、チャンネル数である。これらの3つの軸x,y,zは、他の層においても各ノードの位置を示す座標軸として使用する。但し、
図2では、Conv層210以外の層では、これらの軸x,y,zの図示が省略されている。
【0018】
よく知られているように、畳み込み後の解像度W1は、次式で与えられる。
W1=Ceil{(W0-Wk+1)/S} (1)
ここで、W0は畳み込み前の解像度、Wkはカーネルサイズ、Sはストライド、Ceil{X}はXを切り上げる演算を行う関数である。
図2に示した各層の解像度は、入力データIMの解像度を29×29画素とした場合の例であり、実際の各層の解像度は入力データIMのサイズに応じて適宜変更される。なお、
図2の例では入力データIMは2次元配列のデータであるが、1次元配列のデータとしてもよいし、3次元以上の配列データとしてもよい。
【0019】
PrimeVN層220の各ノードは、Conv層210の1×1×32個のノードのスカラー出力を32次元のベクトルとみなして、このベクトルに変換行列を乗ずることによってそのノードのベクトル出力を得る。この変換行列は、1×1のカーネルの要素であり、機械学習モデル200の学習によって更新される。なお、Conv層210とPrimeVN層220の処理を統合して、1つのプライマリーベクトルニューロン層として構成することも可能である。
【0020】
PrimeVN層220を「下位層L」と呼び、その上位側に隣接するConvVN1層230を「上位層L+1」と呼ぶとき、上位層L+1の各ノードの出力は、以下の式を用いて決定される。
【数1】
ここで、
M
L
iは、下位層Lにおけるi番目のノードの出力ベクトル、
M
L+1
jは、上位層L+1におけるj番目のノードの出力ベクトル、
v
ijは、出力ベクトルM
L+1
jの予測ベクトル、
W
L
ijは、下位層Lの出力ベクトルM
L
iから予測ベクトルv
ijを算出するための予測行列、
u
jは、予測ベクトルv
ijの和、すなわち線形結合、である和ベクトル、
a
jは、和ベクトルu
jのノルム|u
j|を正規化することによって得られる正規化係数であるアクティベーション値、
F(X)は、Xを正規化する正規化関数である。
【0021】
正規化関数F(X)としては、例えば以下の(4a)式または(4b)式を使用できる。
【数2】
ここで、
kは、上位層L+1のすべてのノードに対する序数、
βは、任意の正の係数である調整パラメーターであり、例えばβ=1である。
【0022】
上記(4a)式では、上位層L+1のすべてのノードに関して和ベクトルujのノルム|uj|をソフトマックス関数で正規化することによってアクティベーション値ajが得られる。一方、(4b)式では、和ベクトルujのノルム|uj|を、上位層L+1のすべてのノードに関するノルム|uj|の和で除算することによってアクティベーション値ajが得られる。なお、正規化関数F(X)としては、(4a)式や(4b)式以外の他の関数を用いてもよい。
【0023】
上記(3)式の序数iは、上位層L+1におけるj番目のノードの出力ベクトルM
L+1
jを決めるために使用される下位層Lのノードに便宜上割り振られるものであり、1~nの値をとる。また、整数nは、上位層L+1におけるj番目のノードの出力ベクトルM
L+1
jを決めるために使用される下位層Lのノードの数である。従って、整数nは次式で与えられる。
n=Nk×Nc (6)
ここで、Nkはカーネルの要素数であり、Ncは下位層であるPrimeVN層220のチャンネル数である。
図2の例ではNk=9、Nc=16なので、n=144である。
【0024】
ConvVN1層230の出力ベクトルを求めるために使用される1つのカーネルは、カーネルサイズ3×3を表面サイズとし、下位層のチャンネル数16を深さとする3×3×16=144個の要素を有しており、これらの要素のそれぞれは予測行列WL
ijである。また、ConvVN1層230の12個のチャンネルの出力ベクトルを生成するためには、このカーネルが12組必要である。従って、ConvVN1層230の出力ベクトルを求めるために使用されるカーネルの予測行列WL
ijの数は、144×12=1728個である。これらの予測行列WL
ijは、機械学習モデル200の学習により更新される。
【0025】
上述した(2)~(5)式から分かるように、上位層L+1の個々のノードの出力ベクトルML+1
jは、以下の演算によって求められる。
(a)下位層Lの各ノードの出力ベクトルML
iに予測行列WL
ijを乗じて予測ベクトルvijを求め、
(b)下位層Lの各ノードから得られた予測ベクトルvijの和、すなわち線形結合、である和ベクトルujを求め、
(c)和ベクトルujのノルム|uj|を正規化することによって正規化係数であるアクティベーション値ajを求め、
(d)和ベクトルujをノルム|uj|で除算し、更に、アクティベーション値ajを乗じる。
【0026】
なお、アクティベーション値ajは、上位層L+1のすべてのノードに関してノルム|uj|を正規化することによって得られる正規化係数である。従って、アクティベーション値ajは、上位層L+1内の全ノードの中における各ノードの相対的な出力強度を示す指標と考えることができる。(4)式,(4a)式、(4b)式、及び(5)式で使用されるノルムは、典型的な例ではベクトル長さを表すL2ノルムである。このとき、アクティベーション値ajは、出力ベクトルML+1
jのベクトル長さに相当する。アクティベーション値ajは、上述した(4)式と(5)式で使用されるだけなので、ノードから出力される必要は無い。但し、アクティベーション値ajを外部に出力するように上位層L+1を構成することも可能である。
【0027】
ベクトルニューラルネットワークの構成は、カプセルネットワークの構成とほぼ同じであり、ベクトルニューラルネットワークのベクトルニューロンがカプセルネットワークのカプセルに相当する。但し、ベクトルニューラルネットワークで使用される上述の(2)~(5)式による演算は、カプセルネットワークで使用される演算と異なる。両者の最も大きな違いは、カプセルネットワークでは、上記(3)式の右辺の予測ベクトルvijにそれぞれ重みが乗じられており、その重みが、動的ルーティングを複数回繰り返すことによって探索される点である。一方、本実施形態のベクトルニューラルネットワークでは、上述した(2)~(5)式を順番に1回計算することによって出力ベクトルML+1
jが得られるので、動的ルーティングを繰り返す必要が無く、演算がより高速であるという利点がある。また、本実施形態のベクトルニューラルネットワークは、カプセルネットワークよりも演算に必要とするメモリー量がカプセルネットワークより少なく、本開示の発明者の実験によれば、約1/2~1/3のメモリー量で済むという利点もある。
【0028】
ベクトルを入出力とするノードを使用するという点では、ベクトルニューラルネットワークはカプセルネットワークと同じである。従って、ベクトルニューロンを使用する利点もカプセルネットワークと共通している。また、複数の層210~250は、上位に行くほどより大きな領域の特徴を表現し、下位に行くほどより小さな領域の特徴を表現する、という点は、通常の畳み込みニューラルネットワークと同じである。ここで、「特徴」とは、ニューラルネットワークへの入力データに含まれている特徴的な部分を意味する。ベクトルニューラルネットワークやカプセルネットワークでは、或るノードの出力ベクトルが、そのノードが表現する特徴の空間的な情報を表す空間情報を含む点で、通常の畳み込みニューラルネットワークよりも優れている。すなわち、或るノードの出力ベクトルのベクトル長さは、そのノードが表現する特徴の存在確率を表し、ベクトル方向がその特徴の方向やスケール等の空間情報を表している。従って、同じ層に属する2つのノードの出力ベクトルのベクトル方向は、それぞれの特徴の位置関係を表す。あるいは、当該2つのノードの出力ベクトルのベクトル方向は、特徴のバリエーションを表わすとも言える。例えば、「目」の特徴に対応するノードなら、出力ベクトルの方向は、目の細さ、吊り上がり方、などのバリエーションを表し得る。通常の畳み込みニューラルネットワークでは、プーリング処理によって特徴の空間情報が消失してしまうと言われている。この結果、ベクトルニューラルネットワークやカプセルネットワークは、通常の畳み込みニューラルネットワークに比べて入力データを識別する性能に優れているという利点がある。
【0029】
ベクトルニューラルネットワークの利点は、以下のように考えることも可能である。すなわち、ベクトルニューラルネットワークでは、ノードの出力ベクトルが、入力データの特徴を連続空間内の座標として表現すること、に利点がある。従って、ベクトル方向が近ければ特徴が似ている、というように出力ベクトルを評価できる。また、入力データに含まれている特徴が教師データではカバーできていなくても、補間してその特徴を判別できる、などの利点もある。一方、通常の畳み込みニューラルネットワークは、プーリング処理によって無秩序な圧縮がかかるため、入力データの特徴を連続空間内の座標として表現できない、という欠点がある。
【0030】
ConvVN2層240とClassVN層250の各ノードの出力も、上述した(2)~(5)式を用いて同様に決定されるので、詳細な説明は省略する。最上位層であるClassVN層250の解像度は1×1であり、チャンネル数は2である。ClassVN層250のチャンネル数は、通常は教師データで使用されるラベルの数と等しくなるように設定される。
【0031】
各層210~250のノードの出力を求める方法は、以下のように説明することも可能である。入力データIMに対して、5×5のカーネルをストライド「2」で適用することで、入力データIMの範囲のうちでConv層210の一つのノードに出力を与える部分範囲が決まる。入力データIMに対して適用するカーネルの数は32である。これにより、Conv層210は、第1軸xと第2軸xがそれぞれ13個に区切られた領域を有するように構成される。また、Conv層210の深さであるチャンネル数はカーネルの数と同数の32で構成される。「部分範囲」とは、入力データIM上の領域であって、第1軸xの位置と第2軸yの位置で特定される1つの領域である。ただし、以下の説明から明らかなように、「部分範囲」の大きさは、「部分範囲」に対応する1つ以上のノード又は当該1つ以上のノードから構成される「部分領域Rn」が、ベクトルニューロン層220,230,240,250のどれに属するかに応じて異なる。他方、「部分領域Rn」とは、ベクトルニューロン層において第1軸xの位置と第2軸yの位置とで特定される領域である。ベクトルニューロン層における各「部分領域Rn」は、上記第1軸x、第2軸x、および第3軸zに対応する「Width」×「Height」×「Depth」の次元を有する。本実施形態では、1つの「部分領域Rn」に含まれるノードの数は「1×1×デプス数」、すなわち「1×1×チャンネル数」である。本明細書において、部分領域Rnの添え字「n」には、ベクトルニューロン層220,230,240,250に応じて、「220」、「230」、「240」、「250」の数値を代入する。例えば、部分領域R220は、PrimeVN層220における領域を示す。
【0032】
Conv層210に1×1×32のカーネルをストライド「1」で適用することで、Conv層210の部分領域R210のうちから、PrimeVN層220の一つのノードに出力する部分領域R210が決まる。ここでは、同じサイズ、同じストライドで、16種類のカーネルが用いられることから、PrimeVN層220において、Conv層210の一つの部分領域R210に対応するノードの数は16である。Conv層210のノードからPrimeVN層220のノードへの出力の生成には、変換行列が用いられており、上記の式(2)~式(5)で示される出力決定アルゴリズムが用いられていない。なお、ベクトルニューロン層に畳み込むためのカーネルの次元は、チャンネル数およびベクトルの要素数も考慮にいれる場合には、「Width」×「Height」×「Depth」×「ベクトルの要素数」と表現されることもある。この表現にしたがうと、Conv層210からPrimeVN層220への畳み込みに用いられるカーネルの次元は、1×1×32×16である。
【0033】
PrimeVN層220に3×3×16のカーネルをストライド「2」で適用することで、PrimeVN層220の部分領域R220のうちから、ConvVN1層230の一つの部分領域R230に含まれるノードに出力を与える部分領域R220、が決まる。ここでは、同じサイズ、同じ次元、同じストライドで、12種類のカーネルが用いられることから、ConvVN1層230の部分領域R230に含まれるノードの数は12である。PrimeVN層220のノードからConvVN1層230のノードへの出力の生成には、上記の式(2)~式(5)で示される出力決定アルゴリズムが用いられる。ここで、下位層220に適用されるカーネルは、上位層230の1つのノードを決めるために用いる下位層220の3×3×16個のノードを指定する、とも表現される。これは、以下の説明でもあてはまる。
【0034】
ConvVN1層230に3×3×12のカーネルをストライド「1」で適用することで、ConvVN1層230の部分領域R230のうちから、ConvVN2層240の一つの部分領域R240に出力を与える部分領域R230が決まる。ここでは、同じサイズ、同じ次元、同じストライドで、6種類のカーネルが用いられることから、ConvVN2層240の部分領域R240に含まれるノードの数は6である。ConvVN1層230のノードからConvVN2層240のノードを生成する際には、上記の式(2)~式(5)で示される出力決定アルゴリズムが用いられる。
【0035】
ConvVN2層240に4×4×6のカーネルをストライド「1」で適用することで、ConvVN2層240の部分領域R240のうちから、ClassVN層250の一つの部分領域R250に出力を与える部分領域R240が決まる。ここでは、同じサイズ、同じ次元、同じストライドで、2種類のカーネルが用いられることから、ClassVN層250の部分領域R250に含まれるノードの数は2である。ConvVN2層240のノードからClassVN層250のノードを生成する際には、上記の式(2)~式(5)で示される出力決定アルゴリズムが用いられる。
【0036】
最上位層であるClassVN層250は1つの部分領域R250で構成される。ClassVN層250は、機械学習モデル200に入力された入力データIMについて、予め定められたラベルに分類する。本実施形態では、予め定めたラベルは、ラベル「0」とラベル「1」とである。ClassVN層250では、2つのノードのうち、アクティベーション値ajが最大となるノードに対応するラベルが出力となる。ClassVN層250から出力されるラベルは、プロセッサー110によって制御されることで表示部150によって出力される。
【0037】
上記
図2において、PrimeVN層220の1つの部分領域R220は、入力データIMの5×5ピクセルの部分範囲に対応する。また、ConvVN1層230の1つの部分領域R230は、入力データIMの9×9ピクセルの部分範囲に対応する。また、ConvVN2層240の部分領域R240は、入力データIMの17×17ピクセルの部分範囲に対応する。また、ClassVN層250の部分領域R250は、入力データIMの29×29ピクセルの部分範囲に対応する。
【0038】
図3は、クラス分類処理の処理手順を示すフローチャートである。最初の2つのステップS110~S120は、教師データTDを用いて機械学習モデル200の学習を行う準備工程S100である、次の3つのステップS210~S230は、学習済みの機械学習モデル200を使用して被分類データDiのクラスを判別するクラス分類工程S200である。準備工程S100とクラス分類工程S200を連続して行う必要はなく、クラス分類工程S200は、準備工程S100の後の任意のタイミングで実行することが可能である。
【0039】
図3のステップS110では、クラス分類処理部112が、複数の教師データTDを用いて機械学習モデル200の学習を実行する。個々の教師データTDには、予めラベルが付与されている。本実施形態では、0と1のいずれかのラベルが、個々の教師データTDに付与されているものと仮定する。
【0040】
ClassVN層250の出力は、ラベルの数と等しい個数のクラスに対する複数の判定値に変換されるが、
図2ではその図示を省略している。本実施形態では、ClassVN層250の2つのノードの出力が、2つのラベル「0」「1」に対応する2つのクラスに対する判定値に変換される。これらの判定値は、通常はソフトマックス関数によって正規化された値である。具体的には、例えば、ClassVN層250の各ノードの出力ベクトルから、その出力ベクトルのベクトル長さを算出し、更に、2つのノードのベクトル長さをソフトマックス関数で正規化する、という演算を実行することによって、2つのクラスに対する判定値を得ることができる。上述したように、上記(4)式で得られるアクティベーション値a
jは、出力ベクトルM
L+1
jのベクトル長さに相当する値であり、正規化されている。従って、ClassVN層250の2つのノードのそれぞれにおけるアクティベーション値a
jを出力して、そのまま2つのクラスに対する判定値として使用してもよい。
【0041】
複数の教師データTDを用いた学習が終了すると、学習済みの機械学習モデル200がメモリー120に保存される。
図3のステップS120では、学習済みの機械学習モデル200に複数の教師データTDを再度入力して、既知特徴スペクトル群KSGを生成する。既知特徴スペクトル群KSGは、以下で説明する特徴スペクトルの集合である。
【0042】
図4は、学習済みの機械学習モデル200に任意の入力データを入力することによって得られる特徴スペクトルSpを示す説明図である。ここでは、ConvVN1層230の出力から得られる特徴スペクトルSpについて説明する。
図4の横軸は、ConvVN1層230の1つの平面位置(x,y)におけるノードの出力ベクトルの要素番号NDと、チャンネル番号NCとの組み合わせで表されるスペクトル位置である。本実施形態では、ノードのベクトル次元が16なので、出力ベクトルの要素番号NDは0から15までの16個である。また、ConvVN1層230のチャンネル数は12なので、チャンネル番号NCは0から11までの12個である。
【0043】
図4の縦軸は、各スペクトル位置での特徴値C
Vを示す。この例では、特徴値C
Vは、出力ベクトルの各要素の値V
NDである。なお、特徴値C
Vとしては、出力ベクトルの各要素の値V
NDと、そのノードのアクティベーション値a
jとを乗算した値V
ND×a
jを使用してもよく、或いは、アクティベーション値a
jをそのまま使用してもよい。後者の場合には、特徴スペクトルSpに含まれる特徴値C
Vの数はチャンネル数に等しく、12個である。
【0044】
1つの入力データに対してConvVN1層230の出力から得られる特徴スペクトルSpの数は、ConvVN1層230の平面位置(x,y)の数に等しいので、6×6=36個である。同様に、1つの入力データに対して、ConvVN2層240の出力から16個の特徴スペクトルSpが得られ、ClassVN層250の出力から1個の特徴スペクトルSpが得られる。
【0045】
類似度演算部260は、学習済みの機械学習モデル200に教師データTDが再度入力されたときに、
図4に示す特徴スペクトルSpを算出して、既知特徴スペクトル群KSGに登録する。
【0046】
図5は、既知特徴スペクトル群KSGの構成を示す説明図である。この例では、既知特徴スペクトル群KSGは、ConvVN1層230の出力から得られた既知特徴スペクトル群KSG_ConvVN1と、ConvVN2層240の出力から得られた既知特徴スペクトル群KSG_ConvVN2と、ClassVN層250の出力から得られた既知特徴スペクトル群KSG_ConvVN1とを含んでいる。
【0047】
既知特徴スペクトル群KSG_ConvVN1の個々のレコードは、レコード番号と、レイヤー名と、ラベルLbと、既知特徴スペクトルKSpとを含んでいる。また、個々のレコードは、教師データTDの個別のデータ名や、入力データIMにおいて特徴スペクトルSpに対応する部分の左上の座標、などの他の項目を含んでいてもよい。既知特徴スペクトルKSpは、教師データTDの入力に応じて得られた
図4の特徴スペクトルSpと同じものである。
図5の例では、複数の教師データTDを学習済みの機械学習モデル200に入力することによって、ConvVN1層230の出力から、ラベルLb=0に関連づけられたN1_0max個の既知特徴スペクトルKSpと、ラベルLb=1に関連づけられたN1_1max個の既知特徴スペクトルKSpと、が得られて登録されている。N1_0max,N1_1maxは、それぞれ2以上の整数である。前述したように、ラベルLb=0とラベルLb=1は、互いに異なるクラスに対応する。従って、既知特徴スペクトル群KSG_ConvVN1における個々の既知特徴スペクトルKSpは、複数のクラスのうちの1つのクラスに関連付けられて登録されていることが理解できる。他の既知特徴スペクトル群KSG_ConvVN2,KSG_ConvVN1も同様である。
【0048】
なお、ステップS120で使用される複数の教師データTDは、ステップS110で使用された複数の教師データTDと同じものである必要は無い。但し、ステップS120においても、ステップS110で使用された複数の教師データTDの一部又は全部を利用すれば、新たな教師データを準備する必要が無いという利点がある。
【0049】
図3のステップS210では、クラス分類処理部112が、機械学習モデル200に被分類データDiを入力して、被分類データDiのクラス分類処理を実行する。本実施形態では、被分類データDiが、2つのラベルLb=0,Lb=1のいずれのクラスに分類されるかが判定される。ClassVN層250からの2つの出力は、ラベルLb=0のクラスに該当する確率を示す第1の判定値と、ラベルLb=1のクラスに該当する確率を示す第2の判定値である。クラス分類処理部112は、これらの2つの判定値のうち、予め定められた閾値よりも大きな判定値に対応するクラスを、クラス分類処理の結果としてユーザーに提示する。
【0050】
図3のステップS220では、類似度演算部260が、ConvVN1層230と、ConvVN2層240と、ClassVN層250の出力から、既知特徴スペクトル群KSGとの類似度S_ConvVN1,S_ConvVN2,S_ClassVNをそれぞれ算出する。以下では、ConvVN1層230の出力から類似度S_ConvVN1を算出する方法を説明する。
【0051】
類似度演算部260は、既知特徴スペクトル群KSGとの類似度S_ConvVN1として、類似度画像S_ConvVN1_Mと、クラス別類似度S_ConvVN1_Cの2種類の類似度のいずれかを算出することができる。なお、
図1では、これらの符号の末尾「_M」「_C」は省略している。
【0052】
類似度画像S_ConvVN1_Mの各画素位置(x,y)における類似度S(x,y)は、
図5に示した既知特徴スペクトル群KSGを用いて、次式に従って求めることができる。
S(x,y)=max[G{Sp(x,y),KSp(j)}] (7)
ここで、G{a,b}はaとbの類似度を求める関数、Sp(x,y)は被分類データDiに応じて得られるConvVN1層230の平面位置(x,y)での特徴スペクトル、KSp(j)はConvVN1層230に関連付けられたすべての既知特徴スペクトル、max[X]はXの最大値を取る論理演算を示す。すなわち、各画素位置(x,y)における類似度S(x,y)は、被分類データDiに応じて得られた特徴スペクトルSp(x,y)と、同じConvVN1層230で得られていたすべての既知特徴スペクトルKSp(j)との間の類似度のうちの最大値である。
【0053】
類似度を求める関数G{a,b}としては、例えば、コサイン類似度を求める式や、距離に応じた類似度を求める式を使用できる。なお、各位置(x,y)での画素値は、類似度S(x,y)の他に、上記(7)式において最大値を与えた既知特徴スペクトルKSp(j)に関連づけられたラベルLbも含む形で保存される。類似度画像S_ConvVN1_Mの類似度S(x,y)は、その位置(x,y)に対応する被分類データDiの画素位置に、そのラベルLbに対応するクラスの特徴が存在する確率を表している。換言すれば、類似度S(x,y)は、その層の平面位置(x,y)における特徴が、複数のクラスのうちのいずれかのクラスの特徴と類似する程度を示す指標である。
【0054】
一方、クラス別類似度S_ConvVN1_Cは、例えば次式を用いて算出できる。
S_ConvVN1_C(Class)=max[G{Sp(i,j),KSp(Class,k)}] (8)
ここで、”Class”は複数のクラスに対する序数、G{a,b}はaとbの類似度を求める関数、Sp(i,j)は被分類データDiに応じて得られるすべての平面位置(i,j)での特徴スペクトル、KSp(Class,k)は、ConvVN1層230と特定の”Class”とに関連付けられたすべての既知特徴スペクトル、max[X]はXの最大値を取る論理演算を示す。すなわち、クラス別類似度S_ConvVN1_Cは、ConvVN1層230のすべての平面位置(i,j)における特徴スペクトルSp(i,j)のそれぞれと、特定のクラスに対応するすべての既知特徴スペクトルKSp(k)のそれぞれとの間で算出された類似度のうちの最大値である。このようなクラス別類似度S_ConvVN1_Cは、複数のラベルLbに対応する複数のクラスのそれぞれに対して求められる。クラス別類似度S_ConvVN1_Cは、被分類データDiが、そのクラスの特徴に類似している程度を表している。
【0055】
ConvVN2層240とClassVN層250の出力に関する類似度S_ConvVN2,S_ClassVNも、類似度S_ConvVN1と同様に生成される。なお、これらの3つの類似度S_ConvVN1,S_ConvVN2,S_ClassVNをすべて生成する必要はないが、これらのうちの1つ以上を生成することが好ましい。本開示において、類似度の生成に使用された層を、「特定層」とも呼ぶ。
【0056】
図3のステップS230では、クラス分類処理部112が、既知特徴スペクトル群KSGとの類似度S_ConvVN1,S_ConvVN2,S_ClassVNをユーザーに提示し、ユーザーは、これに応じてクラス分類処理の結果を確認する。上述したように、既知特徴スペクトル群KSGとの類似度S_ConvVN1,S_ConvVN2,S_ClassVNは、被分類データDiが、いずれかのラベルに対応するクラスの特徴に類似している程度を表しているので、これらの類似度S_ConvVN1,S_ConvVN2,S_ClassVNの少なくとも1つから、クラス分類処理の結果の良否を確認することができる。なお、クラス分類工程S200の3つのステップS210~S230は、実際にはほぼ同時に実行される。
【0057】
以上のように、本実施形態では、上位層L+1の個々のノードの出力ベクトルML+1
jは、(a)下位層Lの各ノードの出力ベクトルML
iと予測行列WL
ijとの積に基づく予測ベクトルvijを求め、(b)下位層Lの各ノードから得られた予測ベクトルvijの線形結合である和ベクトルujを求め、(c)和ベクトルujのノルム|uj|を正規化することによって正規化係数であるアクティベーション値ajを求め、(d)和ベクトルujをノルム|uj|で除算し、更に、アクティベーション値ajを乗じる、という演算によって求められる。従って、カプセルネットワークのように動的ルーチンを複数回実行する必要がないので、機械学習モデル200を用いた演算をより高速に実行できるという利点がある。
【0058】
なお、既知スペクトル群KSGの生成方法や、ConvVN1層等の中間層の出力データの生成方法は上記実施形態に限定されるものではなく、例えば、Kmeans法を用いてこれらのデータを生成してもよい。また、PCAやICA、Fisherなどの変換を用いてこれらのデータを生成してもよい。また、既知スペクトル群KSGと中間層の出力データの変換方法は異なっていてもよい。
【0059】
・他の実施形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
【0060】
(1)本開示の第1の形態によれば、情報処理装置が提供される。この情報処理装置は、ベクトルニューラルネットワーク型の機械学習モデルを記憶するメモリーと、前記機械学習モデルを用いた演算を実行するプロセッサーと、を備える。前記機械学習モデルは、複数のノードをそれぞれ含む複数のベクトルニューロン層を有し、前記複数のベクトルニューロン層のうちの1つを上位層と呼び、前記上位層の下位にあるベクトルニューロン層を下位層と呼ぶとき、前記上位層の各ノードは、前記下位層の複数のノードからの出力ベクトルを入力として、1つの出力ベクトルを出力するように構成されている。前記上位層の任意のノードである対象ノードは、(a)前記下位層の各ノードの出力ベクトルと予測行列との積に基づく予測ベクトルを求め、(b)前記下位層の前記各ノードから得られた前記予測ベクトルの線形結合に基づく和ベクトルを求め、(c)前記和ベクトルのノルムを正規化することによって正規化係数を求め、(d)前記和ベクトルを前記ノルムで除算し、更に、前記正規化係数を乗じることによって前記対象ノードの前記出力ベクトルを求める、ように構成されている。
この情報処理装置によれば、カプセルネットワークのように動的ルーチンを複数回実行する必要がないので、機械学習モデルを用いた演算をより高速に実行できる。
【0061】
(2)上記情報処理装置において、前記正規化係数は、前記上位層における前記正規化係数の総和が1になるように前記ノルムを正規化関数で正規化することによって得られるものとしてもよい。
この情報処理装置によれば、簡単な演算で適切な正規化係数を求めることができる。
【0062】
(3)上記情報処理装置において、前記予測行列は複数準備されており、前記上位層の各ノードの前記出力ベクトルの演算に使用される前記下位層の前記複数のノードの範囲は、前記複数の予測行列を複数の要素とするカーネルを用いた畳み込みによって制限され、前記複数の予測行列は、前記機械学習モデルの学習によって決定されるものとしてもよい。
この情報処理装置によれば、カーネルによって演算の範囲が制限されているので予測行列の数が少なくてすみ、また、学習によって適切な予測行列を決定できる。
【0063】
(4)上記情報処理装置において、前記メモリーは、学習済みの前記機械学習モデルに複数の教師データが入力されたときに前記複数のベクトルニューロン層のうちの少なくとも1つの特定層の出力から得られた既知特徴ベクトル群を格納しており、前記機械学習モデルは、学習済みの前記機械学習モデルに新たな入力データが入力されたときに前記特定層の出力から得られる特徴ベクトルと、前記既知特徴ベクトル群との類似度を演算する類似度演算部を有するものとしてもよい。
この情報処理装置によれば、特徴ベクトルの類似度を利用して、入力データが複数の教師データのいずれに類似するかを確認できる。
【0064】
(5)上記情報処理装置において、前記特定層は、第1軸と第2軸の2つの軸で規定された平面に配置されたベクトルニューロンが、前記2つの軸とは異なる方向の第3軸に沿って複数のチャンネルとして配置されている構成を有し、前記特徴ベクトルは、(i)前記特定層のうちの1つの平面位置におけるベクトルニューロンの出力ベクトルの複数の要素値を、前記第3軸に沿った前記複数のチャンネルにわたって配列した第1種の特徴スペクトルと、(ii)前記第1種の特徴スペクトルの各要素値に、前記正規化係数を乗じることによって得られる第2種の特徴スペクトルと、(iii)前記特定層のうちの1つの平面位置における前記正規化係数を、前記第3軸に沿った前記複数のチャンネルにわたって配列した第3種の特徴スペクトルと、のうちのいずれかであるものとしてもよい。
この情報処理装置によれば、特徴ベクトルを容易に求めることができる。
【0065】
(6)本開示の第2の形態によれば、ベクトルニューラルネットワーク型の機械学習モデルを用いて演算処理を実行する演算方法が提供される。前記機械学習モデルは、複数のノードをそれぞれ含む複数のベクトルニューロン層を有し、前記複数のベクトルニューロン層のうちの1つを上位層と呼び、前記上位層の下位にあるベクトルニューロン層を下位層と呼ぶとき、前記上位層の各ノードは、前記下位層の複数のノードからの出力ベクトルを入力として、1つの出力ベクトルを出力するように構成されている。前記上位層の任意のノードである対象ノードの前記出力ベクトルを求める工程は、(a)前記下位層の各ノードの出力ベクトルと予測行列との積に基づく予測ベクトルを求める工程と、(b)前記下位層の前記各ノードから得られた前記予測ベクトルの線形結合に基づく和ベクトルを求める工程と、(c)前記和ベクトルのノルムを正規化することによって正規化係数を求める工程と、(d)前記和ベクトルを前記ノルムで除算し、更に、前記正規化係数を乗じることによって前記対象ノードの前記出力ベクトルを求める工程と、を含む。
この演算方法によれば、カプセルネットワークのように動的ルーチンを複数回実行する必要がないので、機械学習モデルを用いた演算をより高速に実行できる。
【0066】
(7)本開示の第3の形態によれば、ベクトルニューラルネットワーク型の機械学習モデルを用いる演算処理をプロセッサーに実行させるコンピュータープログラムが提供される。前記機械学習モデルは、複数のノードをそれぞれ含む複数のベクトルニューロン層を有し、前記複数のベクトルニューロン層のうちの1つを上位層と呼び、前記上位層の下位にあるベクトルニューロン層を下位層と呼ぶとき、前記上位層の各ノードは、前記下位層の複数のノードからの出力ベクトルを入力として、1つの出力ベクトルを出力するように構成されている。前記コンピュータープログラムは、前記上位層の任意のノードである対象ノードの前記出力ベクトルを求める処理として、(a)前記下位層の各ノードの出力ベクトルと予測行列との積に基づく予測ベクトルを求める処理と、(b)前記下位層の前記各ノードから得られた前記予測ベクトルの線形結合に基づく和ベクトルを求める処理と、(c)前記和ベクトルのノルムを正規化することによって正規化係数を求める処理と、(d)前記和ベクトルを前記ノルムで除算し、更に、前記正規化係数を乗じることによって前記対象ノードの前記出力ベクトルを求める処理と、を前記プロセッサーに実行させる。
このコンピュータープログラムによれば、カプセルネットワークのように動的ルーチンを複数回実行する必要がないので、機械学習モデルを用いた演算をより高速に実行できる。
【0067】
本開示は、上記以外の種々の形態で実現することも可能である。例えば、クラス分類装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)等の形態で実現することができる。
【符号の説明】
【0068】
100…情報処理装置、110…プロセッサー、112…クラス分類処理部、120…メモリー、130…インターフェイス回路、150…表示部、200…機械学習モデル、210…畳み込み層、220…プライマリーベクトルニューロン層、230…第1畳み込みベクトルニューロン層、240…第2畳み込みベクトルニューロン層、250…分類ベクトルニューロン層、260…類似度演算部