(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-24
(45)【発行日】2024-06-03
(54)【発明の名称】ニューラルネットワーク演算方法及びデータ分類システム
(51)【国際特許分類】
G06N 3/08 20230101AFI20240527BHJP
G06N 3/048 20230101ALI20240527BHJP
G06F 18/241 20230101ALI20240527BHJP
【FI】
G06N3/08
G06N3/048
G06F18/241
(21)【出願番号】P 2023503449
(86)(22)【出願日】2021-08-02
(86)【国際出願番号】 JP2021028594
(87)【国際公開番号】W WO2023012863
(87)【国際公開日】2023-02-09
【審査請求日】2023-01-18
(73)【特許権者】
【識別番号】720000890
【氏名又は名称】大庭 富美男
(72)【発明者】
【氏名】大庭 富美男
【審査官】多賀 実
(56)【参考文献】
【文献】特開平10-134018(JP,A)
【文献】特開2003-030622(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06N 3/00-99/00
G06F 18/00-18/40
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
N次元の入力データ要素(d0,d1,・・,dn,・・,d(N-1))と重み付けパラメータwnのそれぞれのbaseべき乗値であるDn及びWnの積とした目標値YYと、次式で規定される入力データ要素dnと重み付けパラメータwnとバイアスパラメータbのbaseべき乗値Bの加算型演算出力BYAとの差分式|YY-BYA|を損失関数Lとし、前記損失関数Lを最小化する演算により、前記重み付けパラメータwnと前記バイアスパラメータbの値を抽出すること、を特徴とするニューラルネットワーク演算方法。但し、baseは1を除く正の数とする。
【数3】
【請求項5】
N次元の入力データ要素(d0,d1,・・,dn,・・,d(N-1))から切り出した2次元データ(d0,d1)を入力とし、次式によって規定されるbaseべき乗値の差分により計算される目標値YYsと、次式で規定される入力要素と差分の重み付けパラメータsとバイアスBのパラメータの差動型演算出力BYAsとの差分式|YYs-BYAs|を損失関数Lとし、前記損失Lを最小化する演算により、前記重み付けパラメータsと前記バイアスBのパラメータ値を抽出することを特徴とするニューラルネットワーク演算方法。但し、baseは1を除く正の数とする。
【数4】
【数5】
【請求項6】
N次元の入力データ要素(d0,d1,・・,dn,・・,d(N-1))から切り出した4次元データ(d0,d1,d2,d3)を入力とし、次式によって規定されるべき乗値の差分により計算される目標値YYsと、次式で規定される入力要素と差分の重み付けパラメータsとバイアスBのパラメータの差動型演算出力BYAsとの差分式|YYs-BYAs|を損失関数Lとし、前記損失Lを最小化する演算により、前記重み付けパラメータsと前記バイアスBのパラメータ値を抽出することを特徴とするニューラルネットワーク演算方法。
【数6】
【数7】
【請求項10】
前記判別対象物の判定に用いたニューラルネットワーク判別器の出力値を、当該出力値の分散あるいは標準偏差に応じたポイントに変換する手段と、前記ポイントを合算する手段と、を備え、前記合算したポイントによる判別対象物の判定結果が、最も高い判別率を得るように、それぞれのニューラルネットワーク判別器出力のポイントに重み付けを行う請求項8又は9に記載のデータ分類システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワーク演算方法及びデータ分類システムに関する。
【背景技術】
【0002】
AI(Artificial Intelligence)の利用方法として分類問題に応用されている。例えばA群、B群の異なる分布データ(D0,D1,・・・,D(n-1))を学習させ、特徴量パラメータを抽出し、新たな未知の入力データの属する群を判別し振り分けることができる。
それに用いる従来技術は、脳の神経細胞の情報伝達仕組みを数式モデル化したニューロン式を用いている。その構成は複数の入力を受け取り、それらの値を重み付きで足し合わせて出力する加算型ニューロン式で表される。
[数21]
この加算型ニューロン式に活性化関数と呼ぶ非線形な関数(シグモイド関数、ReLU、tanh等が考案されている。)を作用させたものが、ニューロン伝達の基本構造式になる。
[数22]
特徴量パラメータwn、bはそれぞれ重み、バイアスと呼ぶ2種類の調整可能な変数であり、これらのパラメータについて少しずつ変化させることで、目標値との差分(一般的に差の2乗和がよく使われる)で設定した損失関数L(次式[数23]をなるべくゼロに近づけて最適な学習パラメータwn、bを特徴量として抽出できる。なお、次式[数23]は、学習時の複数セット(バッチサイズ)M個を用いた時の損失関数の例であり、式中のtmは目標値、ymは出力値を表す。
[数23]
【0003】
例えば分類問題で、A群、B群の異なる分布データ(D0,D1,・・・,D(n-1))の塊に対して、加算型ニューロン式でそれぞれ学習させ抽出されたwn、bは、異なる特徴量数値が得られ、そのパラメータwn、bを用い、未知の入力データから得られた出力を演算することで、どちらの群に属するものなのか判別できる技術である。
【0004】
特許文献1には、精度と訓練の効率とを向上できるというニューラルネ ット及びその
学習方法が開示されている。特許文献2には、誤り訂正符号の検査行列に基づいて階層型ニューラル ネットワークにおける一部のノード間に結合を行って疎結合部分を生成する
ことができるという判別器学習方法が開示されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2017-049907号公報
【文献】国際公開第2015/118686号
【非特許文献】
【0006】
【文献】E.Anderson: The Species Ploblem in Iris.Annals of the Missouri Boanical Garden,Vol.23,457-509,1936:
【発明の概要】
【発明が解決しようとする課題】
【0007】
これには次のような欠点がある。
2種の特徴量パラメータwn、bは、同時に少しずつ変化させ損失を最小近くに動かした非線形な演算値であり、それを用いた出力は複雑な演算結果となってしまうため判別結果の解釈が困難である。例えば、設計者が決めた損失関数の目標値が便宜上の符号(例:-1,1,1等のラベル固定値)であり、この符号に対する損失を最小になるように動かし、学習させて得られた特徴量パラメータを用いた出力の判別結果の解釈は難しく、誤判定の理由が明確でなかった。つまり説明責任が問題となってしまうため、ニューラルネットの実装への妨げになっている。
【0008】
特許文献1、2はニューラルネットの高速化を目的として、活性化関数(シグモイド関数等)を使わず、並列配置した三角関数を利用、あるいはニューロン間全ての足し算し逐次演算を行わず、誤り訂正符号等の行列表を配置してニューロン間の疎結合部分を形成し間引くことで演算精度に影響無く高速化を図っているが、演算の結果及び処理プロセスを対外的に説明できるものではない。
【課題を解決するための手段】
【0009】
第1の視点によれば、N次元の入力データ要素(d0,d1,・・,dn,・・,d(N-1))と重み付けパラメータwnのそれぞれのbaseべき乗値であるDn及びWnの積とした目標値YYと、次式で規定される入力データ要素dnと重み付けパラメータwnとバイアスパラメータbのbaseべき乗値Bの加算型演算出力BYAとの差分式|YY-BYA|を損失関数Lとし、前記損失関数Lを最小化する演算により、前記重み付けパラメータwnと前記バイアスパラメータbの値を抽出することを特徴とするニューラルネットワーク演算方法が提供される。ここで、底(base)は、1を除く正の数である。
【0010】
第2の視点によれば、N次元の入力データ要素(d0,d1,・・,dn,・・,d(N-1))から切り出した2次元データ(d0,d1)を入力とし、次式によって規定されるbaseべき乗値の差分により計算される目標値YYと、次式で規定される入力要素と差分の重み付けパラメータsとバイアスBのパラメータの差動型演算出力BYAとの差分式|YY-BYA|を損失関数Lとし、前記損失関数Lを最小化する演算により、前記重み付けパラメータsと前記バイアスBのパラメータ値を抽出すること、を特徴とするニューラルネットワーク演算方法が提供される。ここで、底(base)は、1を除く正の数である。
【発明の効果】
【0011】
本発明によれば、活性化関数を用いない加算型または差動型ニューラルネット演算を使うことで、AIモデル作成プロセスを可視化し、データ間の関係や影響度合いから判別結果の解釈が可能であり、得られた知見からほかのAIモデルの生成も検討することができる。
【図面の簡単な説明】
【0012】
【
図1】本発明の第1の実施形態に係るニューラルネットワーク装置の構成を示すブロック図である。
【
図2】本発明の第1の実施形態のニューラルネットワーク装置によって構成される加算型ニューラルネットワークの構造を示す図である。
【
図3】従来の単層ニューラルネットワークの構造を示す図である。
【
図4】本発明の第1の実施形態に係るニューラルネットワーク装置による重み学習処理を示すフローチャートである。
【
図5】本発明の第1の実施形態のニューラルネットワーク装置によって構成される多層型の加算型ニューラルネットワークの構造を示す図である。
【
図6】本発明の第2の実施形態のニューラルネットワーク装置によって構成される2入力の差動型ニューラルネットワークの構造を示す図である。
【
図7】本発明の第2の実施形態に係る2入力の差動型ニューラルネットワーク装置による重み学習処理を示すフローチャートである。
【
図8】本発明の第2の実施形態のニューラルネットワーク装置によって構成される4入力の差動型ニューラルネットワークの構造を示す図である。
【
図9】本発明の第2の実施形態に係る4入力の差動型ニューラルネットワーク装置による重み学習処理を示すフローチャートである。
【
図10】本発明の第3の実施形態に係るニューラルネットワーク装置の構成を示すブロック図である。
【
図11】本発明の第3の実施形態に係るニューラルネットワーク装置による判別システムを示すフローチャートである。
【
図12】本発明の第3の実施形態に係るポイントを群毎に個別判別データ毎に合算する例の表である。
【
図13】本発明の実施例1で用いるIrisデータの表(1)である。
【
図14】本発明の実施例1で用いるIrisデータの表(2)である。
【
図15】本発明の実施例1に係るIrisデータのがく辺長-がく辺幅、がく辺長-花びら長の相関グラフである。
【
図16】本発明の実施例1に係るニューラルネットワーク装置によって構成される多層型の加算型ニューラルネットワークの構造を示す図である。
【
図17】本発明の実施例1に係る花の種類setosaの学習過程の図である。
【
図18】本発明の実施例1に係る花の種類versicolorの学習過程の図である。
【
図19】本発明の実施例1に係る花の種類virginicaの学習過程の図である。
【
図20】本発明の実施例1に係る花の種類setosaから抽出した特徴量に基づく出力の図である。
【
図21】本発明の実施例1に係る花の種類versicolorから抽出した特徴量に基づく出力の図である。
【
図22】本発明の実施例1に係る花の種類virginicaから抽出した特徴量に基づく出力の図である。
【
図23】本発明の実施例1に係る花の3種の特徴量纏め表である。
【
図24】本発明の実施例1に係る判定加算ポイント表である。
【
図25】本発明の実施例1に係る花の3種の判別結果の表(1)である。
【
図26】本発明の実施例1に係る花の3種の判別結果の表(2)である。
【
図27】本発明の実施例1に係る花の3種の判別結果の表(3)である。
【
図28】本発明の実施例1に係る花の3種の判別結果の表(4)である。
【
図29】本発明の実施例1に係る花の3種の判別結果の表(5)である。
【
図30】本発明の実施例1に係る花の3種の判別結果の表(6)である。
【
図31】本発明の実施例1に係る誤判別のレーダーチャートを用いた説明図である。
【
図32】本発明の実施例2に係るニューラルネットワーク装置によって構成される4次元入力の差動型ニューラルネットワークの構造を示す図である。
【
図33】本発明の実施例2に係る差動型演算スイッチ選択のための群間変動係数及び群間最小変動倍数の比較表である。
【
図34】本発明の実施例2に係る花の3種類の学習過程の図(1)である。
【
図35】本発明の実施例2に係る花の3種類の学習過程の図(2)である。
【
図36】本発明の実施例2に係る花の3種類の学習過程の図(3)である。
【
図37】本発明の実施例2に係る花の3種類から抽出した特徴量に基づく出力の図(1)である。
【
図38】本発明の実施例2に係る花の3種類から抽出した特徴量に基づく出力の図(2)である。
【
図39】本発明の実施例2に係る花の3種類から抽出した特徴量に基づく出力の図(3)である。
【
図40】本発明の実施例2に係る花の3種の特徴量纏め表である。
【
図41】本発明の実施例2に係る判定加算ポイント表である。
【
図42】本発明の実施例2に係る判定ポイント表(1)である。
【
図43】本発明の実施例2に係る判定ポイント表(2)である。
【
図44】本発明の実施例2に係る判定ポイント表(3)である。
【
図45】本発明の実施例2に係る判定ポイント表(4)である。
【
図46】本発明の実施例2に係る判定ポイント表(5)である。
【
図47】本発明の実施例2に係る判定ポイント表(6)である。
【
図48】本発明の実施例2に係る誤判別のレーダーチャートを用いた説明図(1)である。
【
図49】本発明の実施例2に係る誤判別のレーダーチャートを用いた説明図(2)である。
【
図50】本発明の実施例2に関わる差分比分類の群間変動係数及び群間最小変動倍数の表である。
【
図51】本発明の実施例2に関わる差分比の判定ポイント表(1)である。
【
図52】本発明の実施例2に関わる差分比の判定ポイント表(2)である。
【
図53】本発明の実施例2に関わる差分比の判定ポイント表(3)である。
【
図54】本発明の実施例2に関わる差分比の判定ポイント表(4)である。
【
図55】本発明の実施例2に関わる差分比の判定ポイント表(5)である。
【
図56】本発明の実施例2に関わる差分比の判定ポイント表(6)である。
【
図57】本発明の実施例1に関わる比分類の群間変動係数及び群間最小変動倍数の表である。
【
図58】本発明の実施例3に係る判定ポイント表(1)である。
【
図59】本発明の実施例3に係る判定ポイント表(2)である。
【
図60】本発明の実施例3に係る判定ポイント表(3)である。
【
図61】本発明の実施例3に係る判定ポイント表(4)である。
【
図62】本発明の実施例3に係る判定ポイント表(5)である。
【
図63】本発明の実施例3に係る判定ポイント表(6)である。
【
図64】本発明の実施例3に関わる実施例1及び実施例2の判定ポイントに重み付け係数を掛算した判別率のグラフである。
【発明を実施するための形態】
【0013】
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。
図1はこの発明の第1の実施形態に係るニューラルネットワーク装置の構成を示すブロック図である。
図1において、ニューラルネットワーク装置1は、判別器学習部2、重み記憶部3、学習データ記憶部4および教師データ記憶部5を備えて構成される。
【0014】
判別器学習部2は、ニューラルネットワークを学習し、学習したニューラルネットワークを用いた判別を行う。その構成として、判別器学習部2は、重み学習部20及び判別処理部21を備える。
【0015】
重み学習部20は、損失関数が最小となるようにニューラルネットワークを学習する。すなわち、重み学習部20は、判別処理部21から出力された判別結果と教師データ記憶部5から読み出した教師データを入力すると、これらのデータを用いて重み学習を行い、重み記憶部3に重みとバイアスを記憶する。
【0016】
判別処理部21は、重み記憶部3から重みとバイアスを入力し、学習データ記憶部4から学習データを入力すると、これらを用いた判別結果を装置外部のディスプレイなどの所定の出力装置へ出力する。
【0017】
重み記憶部3は、ニューラルネットワークにおけるノード間の重みとバイアスを記憶する記憶部である。重み記憶部3には、重みの初期化処理時にはニューラルネットワークの全てのノード間の重みとバイアスの初期値が記憶され、学習データ記憶部4から読み出した学習データを用いてニューラルネットワークを学習したノード間の重みとバイアスを記憶する。
【0018】
学習データ記憶部4は、学習データを記憶する記憶部である。学習データとは、予め正常と異常が判別された状態情報および特徴量を示すテスト用のデータである。また、判別データBBは判別対象のデータである。
【0019】
なお、重み学習部20と判別処理部21は、例えば、この実施の形態に特有な処理が記述されたプログラムをマイクロコンピュータが実行することで、ハードウェアとソフトウェアが協働した具体的な手段として実現することができる。
【0020】
重み記憶部3、学習データ記憶部4は、例えば、ニューラルネットワーク装置として機能するコンピュータに搭載、またはネットワーク接続されているハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)装置、USBメモリ、記憶メディア再生装置で再生可能な記憶メディア(CD、DVD、BD)に構築される。
【0021】
ここで、第1の実施形態のニューラルネットワーク装置によって構成される加算型ニューラルネットワークの構造について説明する。
図2は、本発明の第1の実施形態のニューラルネットワーク装置によって構成される加算型ニューラルネットワークの構造を示す図である。
図2に示すように、加算型ニューラルネットワークは入力層、隠れ層および出力層によって構成され、各層は複数のノードを有している。またこのような加算型ニューラルネットワークは、入力層と中間層とのノード間および隠れ層と出力層とのノード間に任意の重みを設定してノード間の結合状態を調整することにより様々な問題(分類問題あるいは回帰問題)を解くことができる判別器として機能する。
【0022】
図3は従来の単層ニューラルネットワークの構造を示す図である。
図3に示すように、従来の単層ニューラルネットワークは、入力層を重み付けで結合した1つの演算部をも
ち、ニューラルネットワーク演算により出力を算出する。これに対し、第1の実施形態では、
図2に示すように、入力層を重み付けで結合した2つの演算部を配置した隠れ層をもち、ニューラルネットワーク演算により、2つの演算値の差が最小となるパラメータを求め、出力値を算出する。
【0023】
続いて、上記した加算型ニューラルネットワークのノード間の重みを決定する方法について説明する。
図4は、本発明の第1の実施形態に係るニューラルネットワーク装置による重み学習処理を示すフローチャートである。以下、
図4に沿って重み学習部20による重み学習の詳細を説明する。
【0024】
まず、重み学習部20は、加算型ニューラルネットワークの特徴量である重みとバイアスを初期化する(ステップST1)。具体的には、初期値に0を与える。
【0025】
次に、重み学習部20は、隠れ層の演算式YY、BYAの初期値を計算する(ステップST2)。
【0026】
ここで、隠れ層の演算式YY(目標値)、BYA(加算型演算出力)について説明する。隠れ層の演算式YY、BYAは、下記式[数1]、[数2]、[数3]で表すことができる。ただし特徴量パラメータwn、bの底(base)のべき乗をそれぞれWn、Bと
し、入力データ要素Dnのlog値をdnとする。
演算式YY[数1]は入力データ要素Dn(D0,D1,・・・,D(N-1))と特
徴量パラメータWn(W0、W1、・・・,W(N-1))の全ての積で表し、BYA[
数2]は従来の加算型ニューロン式[数21]をbaseべき乗した式に等しい。また、BYA[数3]はBとwnとdnの積の和をbaseべき乗した値の積に等しい。
【数1】
【数2】
【数3】
【0027】
続いて、重み学習部20は、損失量|YY-BYA|の初期値を計算する(ステップST3)。
【0028】
次に、重み学習部20は、バイアス(パラメータb)を少しプラス方向に設定量だけ更新する。(ステップST4)。
【0029】
続いて、重み学習部20は、損失量の値が小さくなるように重み(重み付けパラメータwn)の修正量(適度なシフト量Δwn)を算出する(ステップST5)。
【0030】
この後、重み学習部20は、ST5で求めた修正量で重みの値を従前の値から更新する。(ステップST6)。
【0031】
さらに、重み学習部20は、ST5~ST6のステップを設定回数分のループを廻し重み量を更新する。(ステップST7)
【0032】
この後、重み学習部20は、重み学習の終了条件を満たしたか否かを確認する。(ステップST7)。ここで終了条件は損失量が減少から増加に転じた一つ前の最小値がよい。また、学習回数が設定回数以上となった場合でもよい。
【0033】
以上、説明したとおり、この第1の実施形態によれば、重み学習部20によって学習された重みとバイアスの値で更新されたニューラルネットワークを用いて分類問題あるいは回帰問題を解く判別処理部21とを備える構造を持つ。これによると重み学習部20は損失量|YY-BYA|を最小にする特徴量を抽出することで、判別処理部21は入力データ要素順の積に相応した判別機学習結果を得ることができる。
【0034】
上記した第1の実施形態では、隠れ層が1段の場合の例を挙げて説明したが、本発明は、複数段の隠れ層を持つ多層型の加算型ニューラルネットワークにも適用することができる。
図5は、多層型の加算型ニューラルネットワークの構造を示す図である。ここで1段目の隠れ層のノードn
1,n
2の出力を受け取る2段目の隠れ層として、2つの重みh0、h1を紐づけた2段目の目標値ZZのノードをn
3、加算型演算出力BZAのノードをn
4とする2つのノードを挿入し拡張している。このような2段の隠れ層構造を持つニューラルネットワークを用いることで、より複雑な問題に対して判別精度を向上できる。
【0035】
[第2の実施形態]
続いて、本発明の第2の実施形態について説明する。本発明の第2の実施形態のニューラルネットワーク装置は、ニューラルネットワークのノードにおける演算として加算ではなく差分を取る減算を行う差動型ニューラルネットワークを構成する点で、第1の実施形態と異なっている。ニューラルネットワーク装置自体の構成は、第1の実施形態と同様であるので、以下、その相違点を中心に説明する。
【0036】
ここで、第2の実施形態のニューラルネットワーク装置によって構成される差動型ニューラルネットワークの構造について説明する。
図6は、本発明の第2の実施形態のニューラルネットワーク装置によって構成される2入力差動型ニューラルネットワークの構造を示す図である。
図6に示すように、2入力はノードs1で2入力データ要素の差の絶対値に変換されニューラルネットワーク演算への入力となる。このノードs
1を重みs01で結合した2つの演算部を配置した隠れ層ノードs
2、s
3をもち、ニューラルネットワーク演算により、2つの演算値の差が最小となるパラメータを求め、出力値を算出する。
【0037】
次に動作について説明する。
図7は、実施の形態2における2入力差動型の重み学習処理を示すフローチャートであり、この
図7に沿って重み学習部20による重み学習の詳細を説明する。
【0038】
まず、重み学習部20は、データ間差分を計算する(ステップSS1)。
【0039】
次に、重み学習部20は、差動型ニューラルネットワークの特徴量である重みとバイアスを初期化する(ステップSS3)。具体的には、初期値に0を与える。
【0040】
次に、重み学習部20は、重み学習部20は、隠れ層の演算式YYs、BYAsの初期値を計算する(ステップSS4)。
【0041】
ここで、隠れ層の演算式YYs(目標値)、BYAs(差動型演算出力)について説明する。隠れ層の演算式YYs、BYAsは下記式[数4]、[数5]で表すことができる。ただし記号s01は2入力データ要素間(D0,D1)の特徴量パラメータの重みを表し、Bはバイアスを表す。また入力データ要素Dn(D0,D1)のlog値をdn(d0,d1)とする。
【0042】
演算式YYs[数4]は2入力データ要素Dn(D0,D1)間の差の絶対値で表し、BYAs[数5]は2入力データ要素のlog値の差の絶対値のbaseべき乗にバイアスBを加えた値に等しい。
【数4】
【数5】
【0043】
続いて、重み学習部20は、損失量|YYs-BYAs|の初期値を計算する(ステップSS5)。
【0044】
次に、重み学習部20は、バイアス(B)を少しプラス方向に設定量だけ更新する(ステップSS6)。
【0045】
続いて、重み学習部20は、損失量の値が小さくなるように重み(重み付けパラメータs)の修正量(適度なシフト量Δs)を算出する(ステップSS7)。
【0046】
この後、重み学習部20は、SS7で求めた修正量で重みの値を従前の値から更新する。(ステップSS8)。
【0047】
さらに、重み学習部20は、SS6~SS8のステップを設定回数分のループを廻し重み量を更新する。(ステップSS9)
【0048】
この後、重み学習部20は、重み学習の終了条件を満たしたか否かを確認する。(ステップSS10)。ここで終了条件は損失量が減少から増加に転じた一つ前の最小値がよい。また、学習回数が設定回数以上となった場合でもよい。
【0049】
上記した第2の実施形態では、2入力の差動型ニューラルネットワークを構成する例を挙げて説明したが、本発明は、4入力の差動型ニューラルネットワークを構成することもできる。
図8は、4入力の差動型ニューラルネットワークの構造を示す図である。
【0050】
図8に示すように、4入力はノードt
1~t
4で2入力データ要素の差の絶対値に変換され、さらに2つのノードt
5~t
6で4入力データ要素の差の絶対値に変換されニューラルネットワーク演算への入力となる。次にスイッチts
1により2つのノードt
5~t
6のどちらかを選択し、重みs0123またはs1203で結合された2つの演算部を配置した隠れ層ノードt
7、t
8へつなぐ。その後ニューラルネットワーク演算を行い、2つの演算値の差が最小となるパラメータを求め、出力値を算出する。ここで2入力の差動型との違いはスイッチts1を追加しており、この2つのノードt
5~t
6のどちらか一方を選択する方法は、統計を用いて群間データ差を算出し大きい方を選んでもよい。なお、4次元データ(D0,D1,D2,D3)の差分絶対値は、(D01,D23,D02,D13,D12,D03)の6通りがある。これらの絶対値の差分は|D01-D23|、|D02-D13|、|D12-D03|の3通りを持ち、|D01-D23|=|D012-D13|が成り立つため、
図8に示すとおり、実質2通りである。
【0051】
図9は、4入力の差動型ニューラルネットワークの重み学習処理を示すフローチャートである。
図7に示した2入力の差動型ニューラルネットワークの重み学習処理との相違点では、ステップSS2において、演算に用いる差分値を2つの差分値からどちらか一方に選択する処理が追加されている点である。以降の処理は、2入力の差動型ニューラルネットワークの重み学習処理と同様であるので、説明を省略する。
【0052】
以上、説明したとおり、第2の実施形態によれば、第1の実施形態重みと同じく学習部20によって学習された重みとバイアスの値で更新されたニューラルネットワークを用いて分類問題あるいは回帰問題を解く判別処理部21とを備える構造を持つ。これによると重み学習部20は損失量|YYs-BYAs|を最小にする特徴量を抽出することで、判別処理部21は入力データ要素間の差に相応した判別機学習結果を得ることができる。
【0053】
4入力の差動型入力は、2入力の差動型入力に対して2つのノードのどちらかを選択するスイッチを設けている点が異なる。このスイッチの効果は多数入力の差動演算が可能となる点にある。例えば16入力の場合、4入力毎の4つのブロックに分けた差動型入力ネットワークを構成し、4入力毎の差動演算を行うと4つのブロックの4出力を得ることができる。その4出力を受ける新たな4入力の隠れ層を追加することで、多数の入力に対応したニューラルネットワークを実現できる。
[第3の実施形態]
【0054】
続いて、上記したニューラルネットワーク演算方法を用いて構成されたニューラルネットワークを用いて判別を行う本発明の第3の実施形態について説明する。
【0055】
本発明の第3の実施形態について図面を参照して詳細に説明する。
図10はこの発明の第3の実施形態に係るニューラルネットワーク装置の構成を示すブロック図である。
図10において、ニューラルネットワーク装置30は、重み記憶部3、判別値演算部5、判定ポイント処理部6、分類処理部7、判別結果記憶部8、および出力処理部9を備えて構成される。以下、判別値演算部5以降について、その詳細を説明する。
【0056】
重み記憶部3は、ニューラルネットワークにおけるノード間の重みとバイアスを記憶する記憶部である。本実施形態では、事前に、上記した第1、第2の実施形態のニューラルネットワーク演算方法を用いて、加算型ニューラルネットワークと差動型ニューラルネットワークが構成されているものとして説明する。
【0057】
判別値演算部5は、各群分類毎に抽出されて重み記憶部3に保存された特徴量パラメータを用いて、個別に群毎の判別値計算する。例えば学習データの出力は3群の分類とすると、特徴量パラメータは3種類あり、個別では3つの群毎の学習演算結果(値)を持つ。さらに、複数の演算方式を用いて、例えば加算型1方式、差動型1方式の2方式の特徴量を持つとすると、個別では2方式に各3つの群毎の判別値を持つ。
【0058】
判定ポイント処理部6は、ポイント変換部31とポイント合算部32で構成される。判別値演算部5の複数の演算方式による学習演算結果(値)をポイント変換部31で個別のポイントに変換し、次にポイント合算部32で複数の演算方式によるポイントを群毎に個別に合算する。
【0059】
ポイント変換部31は、判別器学習部2の複数の演算方式により得られた判定値をポイントに変換する。ポイントへの変換方法は統計手法を用い、例えば分散あるいは標準偏差σ、2σ、3σによる中心値からの距離が近いと得点が高くなるような重み付けとしてもよい。
【0060】
ポイント合算部32は、ポイント変換部31で得られた複数の演算方式のポイントを加算集計する。また、
図12の例に示すように、演算方式1と演算方式2のポイントに重み付け係数a,b(a+b=1)を設けて、判別率が最大となる係数を設定してもよい。群分類の判断基準として群分類の判断基準はそのポイントの合算値の一番大きい群とする。
【0061】
分類処理部7は、ポイント合算部32で得られた個別の合算値を所定の判断基準を用いて属する群を期待値として出力する。ここで、期待値とは、判別データがある群に属する確率を所定の計算式で計算したものである。
【0062】
判別結果記憶部8は、ポイント変換部31のポイント変換値と、ポイント合算部32のポイント合算値及び分類処理部7の期待値を記憶する。
【0063】
出力処理部9は、期待値判別結果を装置外部のディスプレイなどの所定の出力装置へ出力する。
【0064】
次に動作について説明する。
図11は、実施の形態3における複数演算出力の判別処理を示すフローチャートであり、この
図11に沿って判別システムの動作を説明する。
【0065】
まず、判別値演算部5は、重み記憶部3に保存された複数のニューラルネットワーク演算方法、群毎の特徴量パラメータを取り出す(ステップSU1)。
【0066】
次に、判別値演算部5は、重み記憶部3から取り出した特徴量パラメータを用いて、個別に判別値を計算する(ステップSU2)。
【0067】
次に、判定ポイント処理部6は、判別値演算部5で計算された、個別の判別値をポイント変換部31にてポイントに変換する(ステップSU3)。
【0068】
次に、判定ポイント処理部6は、ポイント変換部31で得られたポイントを、ポイント合算部32にて、群毎に個別に合算する(ステップSU4)。
【0069】
次に、分類処理部7はポイント合算部32で得られた個別の合算値を所定の判断基準を用いて属する群に分類する(ステップSU5)。
【0070】
次に、出力処理部9は群分類結果を出力装置へ出力する。(ステップSU6)。
【0071】
以上、説明したとおり、第3の実施形態によれば、複数のニューラルネットワーク演算結果を統合し一つの解にできる。例えば、第1の実施形態及び第2の実施形態を併用した場合、異なる加算型及び差動型の演算方式の特徴を活かした判別器学習結果を得ることができる。
【実施例1】
【0072】
第1の実施例として、判別対象物Iris(あやめ)の花分類に、第1の実施形態で説明した加算型演算を適用して群分類の学習を実施した例を示す。本実施例では、Iris(あやめ)の花分類に、第1の実施形態で説明した加算型演算を適用して群分類の学習を行う。
【0073】
図13及び
図14は、本発明の実施例1で用いるIrisデータの例を示す表である。Irisデータとして、3種類のあやめ(setosa,versicolor,virginica)について、がく辺長と幅、花びら(花弁)長と幅を対応付けた4次元のデータを各50個用意した。
【0074】
上記Irisデータの基本セットは機械学習の基本としてよく引用されており、非特許文献1に記載されている。
【0075】
図13及び
図14のIrisデータのがく辺長-がく辺幅、がく辺長-花びら長の相関グラフを
図15に示した。種類間のデータ比較から、setosaは他の2種類からデータ間距離が離れているため、難なく区別できるが、versicolorとvirginicaのデータ間距離は近く、分別は難しいデータ構成である。
【0076】
データの表記方法は、Irisデータの次元数N=4,バッチサイズM=50のそれぞれの構成要素順をn,mとする。入力データをDnm=(D0m,D1m,D2m,D3
m)のLog値入力をdnm=(d0m,d1m,d2m,d3m)とし、重み特徴量を
(w0、w1、w2、w3)及びバイアス特徴量をbと表記する。
【0077】
学習用データは、バッチサイズM=50の前半40個を学習用データとし、後半10個を、うまく学習できたかどうかを確かめるテスト用データに用いた。従って学習用データのバッチサイズはM=40である。
【0078】
図16に、本実施例で用いる加算型ニューラルネットワークの構造を示す。この加算型ニューラルネットワークの構造は、
図5に示した本発明の第1の実施形態のニューラルネットワーク装置によって構成される多層型の加算型ニューラルネットワークの構造に相当する。
【0079】
図16の入力dnmは、入力データDnmのLog値を用いると、隠れ層1の出力演算
式YYm、BYAmはYY[数1]及びBYA[数2]から、底(base)を理解の便として、10としたべき乗式は、次のように表すことができる。ここで、底(base)は1を除く正の数を扱うことができる。例えば0.9のような任意の小数でもよい。
【数6】
【数7】
【0080】
次に、この2出力YYmとBYAmの差の損失量[数8]が最小となる特徴量wn、bを学習する。
【数8】
【0081】
次に、抽出した特徴量wn、bを用いて計算されたYYmとBYAmを中間層2の入力とすると、隠れ層2の出力演算式ZZm、BZAmはそれぞれ、[数9]及び[数10]に表すことができる。次に、同様に2出力ZZmとBZAmの差の損失量[数11]が最小となる隠れ層2の特徴量h0、h1、bhを学習する。
【数9】
【数10】
【数11】
【0082】
上記手順を踏み、Irisデータの3種類について学習を行い、3種類の特徴量w0、w1、w2、w3、b、h0、h1、bhを学習し抽出することができる。次に、この学習済の特徴量を用いて出力値Z-Actmを計算する。この出力値Z-Actmを計算するための計算式を[数12]に示す。[数12]の出力式は、隠れ層2の出力式BZAm[数10]と同じ式を用いることができる。
【数12】
【0083】
ここで、特徴量の抽出のための初期設定について述べる。
図4のフローチャートに示す重み学習を進めるにあたり、ループを行うバイアス更新回数、重み更新回数、及び、重み及びバイアス更新量を適度な値に初期設定する。本実施例では、隠れ層1のバイアス更新回数を最大200回、重み更新回数を10回に設定した。バイアスの更新量はYY[数1]及びYYm[数6]より、重みWn=1(wn=0)のときはデータ積の項のみに単純化できることから、例えばデータ積の平均値を200で割った値を、200回刻みの分割量として初期設定にできる。さらに損失量が最小値を超えて、増加に転じてからはバイアスの更新を続ける必要は無いため、バイアスの刻みは損失量が最小となる更新回数が、ちょうど200回となるようにオートチューニングを行うプログラムとした。重み更新量(Δwn)は、損失量の0.1%を設定値とした。目的に応じ、更新回数の増減及び、更新量を細かくしたり、または荒く設定値を可変してもよい。また、隠れ層2のバイアス更新回数は200回に固定、重み更新回数は20回を設定値とした。
【0084】
次に、学習途中の「見える化」について述べる。以下のような表示を行うことにより、特徴量の抽出のための初期設定値が適切であるか、または学習が順調に進んでいるかを途中観察できるようにした。
図17は花の種類setosaの学習個数40個(m=0~m=39)を学習させたときのグラフを4つ表示している。
【0085】
左上のグラフは、バイアス更新回数を横軸に、演算出力BYA[数7]を縦軸にしたグラフである。このグラフから学習回数が進むにつれBYAのばらつき変化の度合いを観測できる。
【0086】
次に右上のグラフは、バイアス更新回数を横軸に、隠れ層1層目の損失|YY-BYA|_Loss[数8]、BYA/YY、隠れ層2層目の損失Z-Act_Loss[数11]を縦軸にしたグラフである。隠れ層1層目の損失はサイクル回数200で最小値を取り、隠れ層2層目の損失はサイクル回数49で最小値を取っている。このグラフから、損失の最小値を探す学習が順調に設定サイクル数内で進行できたことを確認できる。
【0087】
次に左下のグラフは、バイアス更新回数を横軸に、特徴量バイアスb及び重みw0、w1、w2、w3を縦軸にしたグラフである。このグラフから、バイアスのサイクル最大設定回数200まで順調に進み、この例ではw3がプラス方向にシフト、w0、w1、w2はそれぞれ異なったシフト量でマイナスに動いたことが判る。
【0088】
次に右下のグラフは、目標値YYを横軸に、演算出力BYA及び隠れ層2層目の出力Z-Actのプロット図である。このグラフから、隠れ層2層目の出力Z-Actは隠れ層1層目の出力BYAよりばらつきが減り線形性が向上していることが判る。
【0089】
同様に、versicolor,virginicaの出力を
図18、
図19に示した。花種別にグラフの傾向が異なり、それぞれ3種の特徴量b、w0、w1、w2、w3及びh0、h1、bhを抽出できた。
【0090】
以上のように、本実施例では、学習途中のパラメータ変化、更新量をモニターできるようにした。
図17~
図19のグラフからも明らかなとおり、これらのグラフにより、入力データの誤り、あるいは判別に適しないデータ形式や初期設定値のチェック、あるいは想定外のエラー等の原因を特定し対応することが容易となっている。
【0091】
次に出力結果について説明する。
図20に、上記に説明したsetosaの学習結果から抽出した特徴量b、w0、w1、w2、w3及びh0、h1、bhを使い、Iris3種の個別の花毎の出力値Z-Actm[数12]を示した。
図20からも明らかなとおり、出力値Z-Actmに対し、適切な判定リミット(閾値)を設定することで花の種類の判別ができる。この判定リミット(閾値)は、統計的手法を用いて判別正解率が最も高くなるリミットを自動算出して設定することができる。
【0092】
また、
図20のグラフからsetosaはリミット判定(閾値)で100%判別可能なことが判る。同様にversicolor、virginicaのグラフを
図21、
図22に示した。versicolor、virginicaにおいては、リミット判定(閾値)で誤判定の花が有ることが判る。
【0093】
学習した3種の特徴量纏め表を
図23に整理した。
図23の3種の特徴量と、統計的手法を用いて設定した判定リミット(閾値)を用いると、新たな未知の種の入力データに対し出力値を計算し、リミット判定(閾値判定)を行うことで、花の種類を区別することができる。
【0094】
但し、上記のリミット判定方法によれば、同じ個体で3種の特徴量を用い3種のリミット判定を行った結果が異なるので注意する必要がある。例えば、同じ個体にversicolorの特徴量を用いて計算された出力値はversicolorと判定され、virginicaの特徴量を用いた出力値はvirginicaに判定されてしまい、判別結果が2つに割れてしまうような場合は、1つの種に判別できないため、統合的に解決する必要がある。この解決策として、以下、3種の学習データを用いた出力統計分布の標準偏差σを利用し、分別の対象とする個体のデータを、より中心値に近いほうの種類へ統一して判別する方法を説明する。
【0095】
3種の特徴量を用いた出力値から、属する種を統一して判別する方法について説明する。
図24に判定リミット(閾値)と、群毎の出力平均値、σ、1.5σ、2σ、3σの値を纏めた。
図24のU.L.及びL.L.は、それぞれ上側閾値、した側閾値を示す。また、
図24に判定リミット(閾値)及びσに対応する加算ポイントを設定した項目を追加した。この判定加算ポイントの和を3種の群毎に個別に合算してポイントの最大となる群を属する群と定義することで、出力を一つに統一して判別することができる。また、同じ個体で合算ポイントが例えばversicolor、virginicaで同じであれば、versicolor、virginicaの区別ができないと判定される。ここで、判定加算ポイントは目的あるいは判別成績に応じ、変更してもよい。また、目的に応じて判別精度が十分であれば、判定加算ポイントを使わず、先の群毎の出力値Z-Actmから求めた判定リミット(閾値)で判別してもよい。
【0096】
3種の150個の花の分類を加算ポイントを用いて判別した結果を
図25~
図30の表にした。総合判別精度は141個/150個の正解率94%であり、3種の後半10個づつのテスト用データの正解率は100%の結果を得られた。誤判定9個はversicolorをvirginicaへ誤判定4個、virginicaをversinicaへの誤判定が5個であった。
【0097】
次に、誤判定について説明する。本事例は目標値にデータの積を用いたニューラルネットワーク加算型演算の出力であり、その出力は入力データ要素順の積に相応した判別機学習結果を表すため、誤判定9個はデータの大きさ(サイズ)に起因している。例えば、
図25の表にあるversicolorの誤判定No.57、71、78,86、及びvirginicaの誤判定No.109、120、130、134,135のデータをグラフ表示(レーダーチャート)で比較した図を
図31に示す。versicolorの誤判定4個はデータD03(花びら幅)が平均より特に大きく、全体的にも大きめな特徴があり誤判定されている。virginicaの誤判定5個はデータD03(花びら幅)が平均より特に小さいことが判る。
【0098】
以上、[実施例1]として、Iris(あやめ)の花分類の目標値にデータ積を用いた加算型演算の分類を行い、入力データ要素順のデータの大きさで判別する方法を説明した。但しIris(あやめ)の花分類の目標値を大きさで分類するのが最適とは限らない。大きさ(サイズ)による分類以外に比率(バランス)、あるいは部位の差や差分比を用いた比較も有効である。また、これらを組み合わせることで判別精度を向上させることができる。比率(バランス)の比較は、加算型演算の個体のデータ入力値を比率に変えることに等しい。第2の実施形態で説明した差動型演算のニューラルネットワークを用いて差や差分比の比較を行った例を[実施例2]として説明する。
【実施例2】
【0099】
「第2の実施形態」の実施例は、Iris(あやめ)の花分類に差動型演算を適用して群分類の学習を実施する例を示す。
【0100】
図32に、本実施例で用いる差動型ニューラルネットワークの構造を示す。本差動型ニューラルネットワークの構造は、
図8に示した本発明の第2の実施形態のニューラルネットワーク装置によって構成される4入力の差動型ニューラルネットワークの構造に相当する。
【0101】
図32の構造図は、
図9のフローチャートに示すステップSS1、SS2の手順に従い、
図8の構造図からノードt6に繋がるスイッチts1の1側を選択し、0側を削除した構成図である。スイッチts1の選択方法は
図33に示すように、統計を用いノードt5とノードt6の群間変動係数及び群間平均値差異を比較し差の大きいノードt6を選択した。
【0102】
データの表記方法は、Irisデータの次元数N=4,バッチサイズM=50のそれぞれの構成要素順をn,mとする。入力データをDnm=(D0m,D1m,D2m,D3
m)のLog値入力をdnm=(d0m,d1m,d2m,d3m)とし、その差分は、
例えばD0とD1の差の絶対値である|D0m-D1m|をD01mと表記し、Log値d
01mは|d0m-d1m|と表記する。
【0103】
4次元の隠れ層の演算式YYsm、BYAsmは2次元式[数4]、[数5]と同様に、重みs1203、バイアスBの2つの特徴量を用いて、底(base)を10としたべ
き乗式は、下記式[数13]、[数14]に表すことができる。(特許請求の範囲の[数6]、[数7]に対応する)。なお、特許請求の範囲の[数6]、[数7]では、構成要素の順を表す添え字mを省略している。
【数13】
【数14】
【0104】
ここで、
図9のフローチャートに示す重み学習を進めるにあたり、ステップSS3以降の特徴量の抽出のための初期設定について述べる。ループを行うバイアス更新回数、重み更新回数、及び、重み及びバイアス更新量を適度な値に初期設定する。本実施例では、バイアス更新回数を最大200回、重み更新回数を20回に設定した。バイアスの更新量は、YYsm[数13]の平均値を200で割った値を、200回刻みの分割量として初期設定にした。さらに損失量が最小値を超えて、増加に転じてからはバイアスの更新を続ける必要は無いため、バイアスの刻みは損失量が最小となる更新回数が、ちょうど200回となるようにオートチューニングを行うプログラムとした。重み更新量(Δs)は、損失量の0.01%を設定値とした。目的に応じ、更新回数の増減及び、更新量を細かくしたり、または荒く設定値を可変してもよい。
【0105】
次に、ステップSS4~SS10にて、この2出力YYsmとBYAsmの差の損失量が最小となる特徴量s1203、Bの抽出をループを回し学習する。上記手順を踏み、I
risデータの3種類について学習を行い、3種類の特徴量s1203、Bを抽出するこ
とができる。最終出力式yは、出力式BYAsと同じ式を用いることができる。
【0106】
次に、学習途中の「見える化」について述べる。前述の第1の実施形態と同様に学習の途中観察できるようにしている。
図34~
図36は花の種類毎に特徴量を学習させたときのグラフを4つ表示している。これらのグラフの形式は、第1の実施形態と同じであるため説明を省略する。
【0107】
次に出力結果について説明する。
図37~
図39に、上記に説明した3種類の特徴量s1203及びBを用いた個別の花毎の出力値BYAsを示した。また、学習した3種の特
徴量纏め表を
図40に整理した。出力値BYAsに対し、適切な判定リミット(閾値)を設定することで花の種類の判別ができる。リミット設定、判定方法及び判定加算ポイントの方法についても、前述の第1の実施形態と同じであるため説明を省略する。
図41に判定リミット(閾値)と、群毎の出力平均値、σ、1.5σ、2σ、3σの値を纏めた。
【0108】
3種の150個の花の分類を加算ポイントを用いて判別した結果を
図42~
図47の表にした。総合判別精度は142個/150個の正解率94.7%である。誤判定8個はsetosaをversicolorへ誤判定1個、versicolorをvirginicaへ誤判定4個、virginicaをversinicaへの誤判定が3個であった。
【0109】
次に、誤判定について説明する。本事例は目標値にデータ間の差を用いたニューラルネットワーク差動型演算の出力であり、その出力は入力データ要素間の差に相応した判別機学習結果を表し、誤判定8個はデータ間の差の大きさに起因している。例えば、
図48、
図49のデータ間のログ値の差をログ値比較したグラフ表示(レーダーチャート)から、setosaの誤判定No.44は|d03|の大きさが規格化平均値1の半分であり、|d03-d12|の差は平均の0.6倍と小さくなっている。これはD0(がく辺長)とD3(花びら幅)の差はsetosaの標準値より小さく、versicolorに近いことを示している。同様にversicolorの誤判定No.69,71,73.84は、|d12|が大きく|d03|が小さいことに起因している。virginicaの誤判定130、132,134は|d03|が大きく|d12|が小さいことに起因している。
【0110】
以上のように、[実施例2]としてIris(あやめ)の花分類の目標値にデータ間の差を用いた差動型演算の分類を行い、入力データ間の差で判別する方法を説明した。差分比の比較は、差動型演算の個体のデータ入力値を比率に変えることに等しい。
【0111】
次に差分比の事例を説明する。4次元入力には、
図50のように8パターンの差分比出力が存在する。高い判別率のパターンの選び方は全て差動演算を行い判別率を比較するのもよいが、高次元入力においてはパターン数が増え処理時間が増加するため
図33のように、群間変動係数及び群間最小変動倍数を比較した結果を
図50の下段に示している。これによると、差分比|D03-D12|/D3の値が上述で扱った差|D03-D12|の分類事例より大きく判別には有利である。D3を分母にした差分比の演算方法は、入力を(D0/D3,D1/D3,D2/D3,1)とした違いだけであり、この差分比|D03-D12|/D3により分類した判定ポイント表を
図51~
図56に示す。総合判別精度は正解率94.7%(142個/150個)であり、誤判定の花も差の分類結果と同じであるが、判定ポイントにやや違いが生じている。
【0112】
ここで、加算型演算に関する、大きさ(積)と比の群間変動係数及び群間最小変動倍数の比較結果についても
図57を用いて説明する。4次元入力には、
図57のように4パターンの比出力があり、上述で扱った大きさ(積)の値が一番大きく判別には有利である。以下に述べる[実施例3]の説明には、判別に有利な[実施例1]大きさ(積)の判定ポイント及び、D3による[実施例2]差分比の判定ポイントを用いて説明する。
【0113】
[実施例1]で大きさ(積)による分類、[実施例2]は差、差分比による分類を行い、どちらも94%程度の判別正解率を得て、それぞれ誤判別された花の説明を行った。これらによると目標値の選び方によって判別精度及び、誤判別される個体の花には違いがあり、それぞれ視点が異なった理由で説明されていることが判る。目標値に着目すると、比較指標に大きさ、比率、差、差分比を用いて、本発明のニューラルネットワーク演算をそれぞれの指標で並列に処理し、判別に優位な指標の出力値を組み合わせて総合的なスコアを得ることにより、更なる判別率の向上を行い、判別結果の理由を判りやすく説明できる。次にIris(あやめ)の花分類に、前述の加算型演算及び差動型演算による分類結果を組み合わせて判別精度を向上させた例を[実施例3]として説明する。
【0114】
[実施例3]
「第3の実施形態」の実施例は、Iris(あやめ)の花分類に、[実施例1]の大きさ(積)による分類と[実施例2]の差分比による分類結果を組み合わせた判別の事例を示す。
【0115】
図11の複数演算出力の判別処理を示すフローチャートのステップSU1~SU3のポイント変換は、[実施例1]及び[実施例2]の事例で説明しているので省略する。ステップSU4~SU6について、[実施例1]及び[実施例2]の大きさ(積)及び差分比による分類の判定ポイントをそのまま合算した分類結果例を
図58~
図63の表に示した。次に、複数演算出力の判別率を俯瞰する目的で、[実施例1]と[実施例2]のポイントに重み付け係数a,b(a+b=1)を設けて横軸にとり、判別率を縦軸にしたグラフを
図64に示した。これによると、判別率の変化は、a=0では([実施例2]による)判別率は94.7%から、a=0.45~0.5で判別率は96%に向上し、a=1の([実施例1]による)判別率は94%へ低下していることが定量的に解る。
【0116】
以上のように、大きさ(積)による加算型演算及び、データ間差分比による差動型演算による分類結果を組み合わせて判別精度を94%から96%に向上させることができた。
【0117】
これによると、データ分類の過程及び結果から次のような知見を得ることができる。・setosaに比べてversicolorとvirginicaはよく似ており、判別がときに困難である。
一方で、部位の大きさと差による見分け方を組み合わせると判別しやすい。
この部位の大きさと差による見分けの優位性は、本発明による加算型演算と差動型演算の目標値と出力値を用いて判別の可視化を行い、定量的に得られた新たな知見であり、従来のニューラルネットワークでは解らない。また、非特許文献1では、長さ・幅に対応する長方形を作成し、がく辺と花弁での差分に着目し、種間の違いを視覚的に提示して判別を試みており、その後のFisherによる回帰分析及び統計的判別分析の基礎となっている。しかし、多角的な分析による被対象物の誤判定に応じた具体的説明は難しい。これに対し本発明では、これらを用いて様々な観点でのニューラルネットワーク判別器を作成し、その判定結果を得るだけでなく、目標値との差異から説明責任を果たすことができる。
【0118】
なお、本発明の加算型ニューラルネットワークに用いる[数6]及び[数7]の出力式は、[数15]及び[数16]のように表すことができる。これによると、目標値をLog(YYm)、加算型演算出力値BYAをLog(BYAm)としたときの2出力Log(YYm)とLog(BYAm)の差の損失量|Log(YYm)-Log(BYAm)|が最小となる特徴量wn、bを学習することと等価であり、特徴量wn,bの抽出に[数15]及び[数16]の出力式を用いてもよい。但し、底(base)は1を除く正の数とする。なお、特許請求の範囲の|Log(YY)-Log(BYA)|では、構成要素の順を表す添え字mを省略している。
【数15】
【数16】
【符号の説明】
【0119】
1 ニューラルネットワーク装置
2 判別器学習部
3 重み記憶部
4 学習データ記憶部
5 判別値演算部
6 判定ポイント処理部
7 分類処理部
8 判別結果記憶部
9 出力処理部
20 重み学習部
21 判別処理部
31 ポイント変換部
32 ポイント合算部
AA 判別結果
BB 判別データ