IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 大庭 富美男の特許一覧

特開2024-113761演算装置、集積回路、機械学習装置、判別装置、方程式利用装置、演算方法。
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024113761
(43)【公開日】2024-08-23
(54)【発明の名称】演算装置、集積回路、機械学習装置、判別装置、方程式利用装置、演算方法。
(51)【国際特許分類】
   G06N 3/08 20230101AFI20240816BHJP
【FI】
G06N3/08
【審査請求】未請求
【請求項の数】28
【出願形態】OL
(21)【出願番号】P 2023018916
(22)【出願日】2023-02-10
(71)【出願人】
【識別番号】720000890
【氏名又は名称】大庭 富美男
(72)【発明者】
【氏名】大庭 富美男
(57)【要約】

【課題】方程式を導くことのできる演算装置(機械学習装置)の提供。
【解決手段】演算装置の入力層は、複数の入力データにそれぞれ対応付けられて、複数の前記入力データをそれぞれべき乗する複数のべき指数(p0,p1,…,pN)と、所定の学習用関数の係数とを、前記ニューラルネットワーク構造の学習パラメータとして有し、演算装置の出力層は、前記入力層に入力された複数の前記入力データが複数の前記べき指数によりそれぞれべき乗された複数のべき乗値(D0p0,D1p1,…,DNpN)の積(YY0=D0p0*D1p1*…*DNpN)と前記学習用関数(De=g(D0,D1,…,DN))との積に基づいて、前記出力値(y=f(YY0*De))を出力する。
【選択図】図1
【特許請求の範囲】
【請求項1】
入力層及び出力層を少なくとも含むニューラルネットワーク構造を用いて、前記入力層に入力される複数の入力データ(D0,D1,…,DN)に対して前記出力層から出力値を出力する演算装置であって、
前記入力層は、
複数の前記入力データにそれぞれ対応付けられて、複数の前記入力データをそれぞれべき乗する複数のべき指数(p0,p1,…,pN)と、所定の学習用関数の係数とを、前記ニューラルネットワーク構造の学習パラメータとして有し、
前記出力層は、
前記入力層に入力された複数の前記入力データが複数の前記べき指数によりそれぞれべき乗された複数のべき乗値(D0p0,D1p1,…,DNpN)の積(YY0=D0p0*D1p1*…*DNpN)と前記学習用関数(De=g(D0,D1,…,DN))との積に基づいて、前記出力値(y=f(YY0*De))を出力する、
演算装置。
【請求項2】
前記学習パラメータとしての複数の前記べき指数、前記学習用関数の係数パラメータは、
複数の前記入力データを学習データとして複数組用いることで学習されるパラメータであって、
前記学習データとしての複数の前記入力データを前記入力層に入力したときに出力される前記出力値(y)の変動係数の値が小さくなるように調整される、
請求項1に記載の演算装置。
【請求項3】
請求項1に記載の前記出力値(y)の前記変動係数の値に基づいて、前記べき指数の優劣順を前記変動係数の値順にリスト出力表示する、
請求項1に記載の演算装置。
【請求項4】
前記出力値(y)の前記変動係数の値に基づいて、前記学習用関数の型ごとの優劣順を前記変動係数の値順にリスト出力表示する、
請求項1に記載の演算装置。
【請求項5】
前記ニューラルネットワーク構造は、
前記入力層と前記出力層との間に隠れ層をさらに含み、
前記隠れ層は、
複数の前記入力データが前記学習パラメータとしての複数の重み付けパラメータ(w0,w1,…,wN)を介してそれぞれ入力されて、下記の式[数1]で規定される目標値(YY)を前記出力層に出力する第1の隠れノードと、
複数の前記入力データが前記複数の重み付けパラメータを介してそれぞれ入力されるともに、前記学習パラメータとしてのバイアスパラメータ(b)が入力されて、下記の式[数2]で規定される加算型演算出力(BYA)を前記出力層に出力する第2の隠れノードとを有し、
前記出力層は、
前記目標値(YY)と前記加算型演算出力(BYA)とに基づいて、前記出力値(y=f(YY,BYA))を出力する、
請求項1に記載の演算装置。
[数1]
YY=D0p0*D1p1*…*DNpN*W0*W1*…*WN*De
(=YY0*W0*W1*…*WN*De)
[数2]
BYA=B*(base)(Σ[n=0→N](wn*pn*dn))
但し、
baseは、1を除く正の数
Dn=basedn(n=0,1,…,N)
Wn=basewn(n=0,1,…,N)
B=base
である。
【請求項6】
前記変動係数は、下記[数3]で規定される目標値YYの平均値と、標準偏差との比で規定される値であり、
前記変動係数が最小となるように重み付けパラメータwnを決定した後、前記重み付けパラメータwnを用いて、下記[数3]で規定されるYYと、下記[数4]で規定されるBYAとの差分が最小となるバイアスパラメータB(B=base)を計算する、

請求項2に記載の演算装置。
[数3]
YY=D0p0*D0p1*…*DNpN*W0*W1*…*WN*De
[数4]
BYA=B*(base)(Σ[n=0→N](wn*pn*dn))
但し、
baseは、1を除く正の数
Dn=basedn(n=0,1,…,N)
Wn=basewn(n=0,1,…,N)
B=base
【請求項7】
前記学習パラメータの決定後、さらに、下記の出力式[数5]によって規定されるZZの第2の変動係数CV’を損失関数とし、特徴量である重み付けパラメータwnを勾配降下法で動かし最小値となる第2の変動係数CV’の値(損失量)を探索し重み付けパラメータwnを決定する
請求項6に記載の演算装置。
[数5]
ZZ=f(YY,BYA)
ZZ=D0(p0+w0)*D1(p1+w1)*…*DN(pN+wN)*De*B*W
【請求項8】
前記学習パラメータとしての複数の前記べき指数、複数の前記重み付けパラメータ、及び前記バイアスパラメータは、
複数の前記入力データを前記学習データとして複数組用いることで学習されるパラメータであって、
前記学習データとしての複数の前記入力データを前記入力層に入力したときに前記第1の隠れノードから出力される前記目標値(YY)と前記第2の隠れノードから出力される前記加算型演算出力(BYA)との間の差分(|YY-BYA|)が小さくなるように調整される、
請求項5に記載の演算装置。
【請求項9】
前記学習パラメータとしての複数の前記べき指数、及び学習用関数の係数は、
複数の前記入力データと、複数の前記入力データに対応付けられた教師データとを含む学習データを複数組用いることで学習されるパラメータであって、
前記学習データに含まれる複数の前記入力データを前記入力層に入力したときに前記出力層から出力される前記出力値と、前記学習データに含まれる教師データとの間の差分が小さくなるように調整される、
請求項1に記載の演算装置。
【請求項10】
前記学習パラメータとしての複数の前記べき指数、及び学習用関数の係数は、
複数の前記入力データと、複数の前記入力データに対応付けられた教師データとを含む学習データを複数組用いることで学習されるパラメータであって、
前記学習データに含まれる複数の前記入力データを前記入力層に入力したときに前記出力層から出力される前記出力値と、前記学習データに含まれる教師データとの間の差分が小さくなるように調整される、
請求項5に記載の演算装置。
【請求項11】
前記複数のべき乗値(D0p0,D1p1,…,DNpN)の積(YY0=D0p0*D1p1*…*DNpN)と、前記学習用関数(De=g(D0,D1,…,DN))とを用いた第1の方程式から、
前記入力データに相当する部分を、変数と、定数項とで表した第2の方程式を作成し、ユーザに提示する、
請求項1から10いずれか一項に記載の演算装置。
【請求項12】
請求項1乃至請求項10のいずれか一項に記載の演算装置により用いられる前記ニューラルネットワーク構造を構成する集積回路であって、
前記入力層及び前記出力層を構成する入出力部と、
前記学習パラメータを記憶する記憶部と、
前記入力層に入力される複数の前記入力データ及び前記記憶部に記憶された前記学習パラメータに基づいて、前記出力層から前記出力値を出力するための演算を行う演算部とを備える、
集積回路。
【請求項13】
請求項1乃至請求項10のいずれか一項に記載の演算装置により用いられる前記ニューラルネットワーク構造を有する学習モデルを生成する機械学習装置であって、
複数の前記入力データを少なくとも含む学習データを記憶する学習データ記憶部と、
前記学習データ記憶部に記憶された前記学習データを前記学習モデルに入力することで、前記学習パラメータの学習を行う学習部と、
前記学習部による学習結果として、前記学習パラメータを記憶する学習パラメータ記憶部とを備える、
機械学習装置。
【請求項14】
請求項1乃至請求項10のいずれか一項に記載の演算装置により生成された前記学習モデルを用いて、判別データに対する判別結果を出力する判別装置であって、
前記判別データを取得する判別データ取得部と、
前記判別データ取得部により取得された前記判別データを前記学習モデルに入力することで、当該学習モデルからの前記出力値に基づいて前記判別結果を出力する判別処理部とを備える、
判別装置。
【請求項15】
請求項1から10いずれか一項に記載の演算装置を用いて、分類対象物の分類すべき群内のデータ間の関係に成り立つ関数を探索し、
前記関数に、未知の分類対象物のデータを入力することで、前記未知の分類対象物の分類を行う、判別装置。
【請求項16】
請求項1から10いずれか一項に記載の演算装置によって導出された、特性の異なる判別式の中から、前記判別式の識別性能と、前記変動係数の値とに基づいて、複数の判別式を選択し、
前記複数の判別式を用いて、未知の分類対象物の分類を行う判別装置。
【請求項17】
請求項10に記載の演算装置によって導出された第2の方程式を記憶する方程式記憶部と、
前記第2の方程式を用いて入力値に対する出力を計算する計算部と、
を備える方程式利用装置。
【請求項18】
入力層及び出力層を少なくとも含むニューラルネットワーク構造を用いて、前記入力層に入力される複数の入力データ(D0,D1,…,DN)に対して前記出力層から出力値を出力するとして動作する演算装置を用いた演算方法であって、
複数の前記入力データにそれぞれ対応付けられて、複数の前記入力データをそれぞれべき乗する複数のべき指数(p0,p1,…,pN)と、所定の学習用関数の係数とを、前記ニューラルネットワーク構造の学習パラメータとして有する前記入力層に、前記複数の入力データ(D0,D1,…,DN)を入力し、
前記演算装置に、前記出力層から、
前記入力層に入力された複数の前記入力データが複数の前記べき指数によりそれぞれべき乗された複数のべき乗値(D0p0,D1p1,…,DNpN)の積(YY0=D0p0*D1p1*…*DNpN)と前記学習用関数(De=g(D0,D1,…,DN))との積に基づいて、前記出力値(y=f(YY0*De))を出力させる、
演算方法。
【請求項19】
前記学習パラメータとしての複数の前記べき指数、前記学習用関数の係数パラメータは、
複数の前記入力データを学習データとして複数組用いることで学習されるパラメータであって、
前記演算装置は、前記学習データとしての複数の前記入力データを前記入力層に入力したときに出力される前記出力値(y)の変動係数の値が小さくなるように調整する、
請求項18に記載の演算方法。
【請求項20】
前記演算装置は、前記出力値(y)の前記変動係数の値に基づいて、前記べき指数の優劣順を前記変動係数の値順にリスト出力表示する、
請求項18に記載の演算方法。
【請求項21】
前記演算装置は、前記出力値(y)の前記変動係数の値に基づいて、前記前記統計分岐関数の型ごとの優劣順を前記変動係数の値順にリスト出力表示する、
請求項18に記載の演算方法。
【請求項22】
前記ニューラルネットワーク構造は、
前記入力層と前記出力層との間に隠れ層をさらに含み、
前記隠れ層は、
複数の前記入力データが前記学習パラメータとしての複数の重み付けパラメータ(w0,w1,…,wN)を介してそれぞれ入力されて、下記の式[数1]で規定される目標値(YY1)を前記出力層に出力する第1の隠れノードと、
複数の前記入力データが前記複数の重み付けパラメータを介してそれぞれ入力されるともに、前記学習パラメータとしてのバイアスパラメータ(b)が入力されて、下記の式[数2]で規定される加算型演算出力(BYA)を前記出力層に出力する第2の隠れノードとを有し、
前記出力層は、
前記目標値(YY1)と前記加算型演算出力(BYA)とに基づいて、前記出力値(y=f(YY1,BYA))を出力する、
請求項18に記載の演算方法。
【請求項23】
前記変動係数は、下記[数3]で規定される目標値YYの平均値と、標準偏差との比で規定される値であり、
前記演算装置は、前記変動係数が最小となるように重み付けパラメータwnを決定した後、前記重み付けパラメータwnを用いて、下記[数3]で規定されるYYと、下記[数4]で規定されるBYAとの差分が最小となるB(B=base)を逆算する、
請求項19に記載の演算方法。
[数3]
YY=D0p0*D0p1*…*DNpN*W0*W1*…*WN*De
[数4]
BYA=B*(base)(Σ[n=0→N](wn*pn*dn))
但し、
baseは、1を除く正の数
Dn=basedn(n=0,1,…,N)
Wn=basewn(n=0,1,…,N)
B=base
【請求項24】
前記演算装置は、前記学習パラメータの決定後、さらに、下記の出力式[数5]によって規定されるZZの第2の変動係数CV’を損失関数とし、特徴量である重み付けパラメータwnを勾配降下法で動かし最小値となる第2の変動係数CV’の値(損失量)を探索し重み付けパラメータwnを決定する、
請求項23に記載の演算方法。
[数5]
ZZ=f(YY,BYA)
ZZ=D0(p0+w0)*D1(p1+w1)*…*DN(pN+wN)*De*B*W
【請求項25】
前記学習パラメータとしての複数の前記べき指数、複数の前記重み付けパラメータ、及び前記バイアスパラメータは、
複数の前記入力データを前記学習データとして複数組用いることで学習されるパラメータであって、
前記演算装置は、前記学習データとしての複数の前記入力データを前記入力層に入力したときに前記第1の隠れノードから出力される前記目標値(YY1)と前記第2の隠れノードから出力される前記加算型演算出力(BYA)との間の差分(|YY1-BYA|)が小さくなるように調整する、
請求項22に記載の演算方法。
【請求項26】
前記学習パラメータとしての複数の前記べき指数、及び学習用関数の係数は、
複数の前記入力データと、複数の前記入力データに対応付けられた教師データとを含む学習データを複数組用いることで学習されるパラメータであって、
前記演算装置は、前記学習データに含まれる複数の前記入力データを前記入力層に入力したときに前記出力層から出力される前記出力値と、前記学習データに含まれる教師データとの間の差分が小さくなるように調整する、
請求項18に記載の演算方法。
【請求項27】
前記学習パラメータとしての複数の前記べき指数、及び学習用関数の係数は、
複数の前記入力データと、複数の前記入力データに対応付けられた教師データとを含む学習データを複数組用いることで学習されるパラメータであって、
前記演算装置は、前記学習データに含まれる複数の前記入力データを前記入力層に入力したときに前記出力層から出力される前記出力値と、前記学習データに含まれる教師データとの間の差分が小さくなるように調整する、
請求項22に記載の演算方法。
【請求項28】
前記複数のべき乗値(D0p0,D1p1,…,DNpN)の積(YY0=D0p0*D1p1*…*DNpN)と、前記学習用関数(De=g(D0,D1,…,DN))とを用いた第1の方程式から、
前記入力データに相当する部分を、変数と、定数項とで表した第2の方程式を作成し、ユーザに提示する、
請求項18から27いずれか一項に記載の演算方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ニューラルネットワークを用いた演算装置、集積回路、機械学習装置、判別装置、方程式利用装置、演算方法に関する。
【背景技術】
【0002】
近年、機械学習は様々な分野に適用され、特に、ニューラルネットワーク構造は回帰問題及び分類問題のいずれにも幅広く応用されている。このようなニューラルネットワーク構造では、入力層に入力された複数の入力データに対して重み係数がそれぞれ乗算され、それらの総和を算出した結果に基づく出力値が出力層から出力される(例えば、特許文献1、特許文献2等参照)。しかしながら、出力結果が人に理解し難い欠点があるため、演算方式を加算型演算及び差動型演算方式を採用した特許文献3が公開された。さらに出力形式に、べき乗値の積の 方程式を持つ、べき指数型ニューラルネットワークを採用した特許文献4が公開され、これにより人に理解しやすい出力形式、及び出力精度の向上がなされた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2015/118686号
【特許文献2】特開平7-141315号公報
【特許文献3】特開2021-124979号公報
【特許文献4】特開2022-161099号公報
【非特許文献】
【0004】
【非特許文献1】E.Anderson: The Species Ploblem in Iris.Annals of the Missouri Boanical Garden,Vol.23,457-509,1936
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の特許文献1、特許文献2、特許文献3等に記載されたようなニューラルネットワーク構造は、重み係数を調節することで機械学習が行われるが、複数の入力データに対する「べき指数」は、例えば、「1」等のように固定されており、高次のべき指数を有する出力式の厳密解を一つも表現できない問題があった。特許文献4では、べき指数をニューラルネットワークの特徴量に組み込むことで、この問題の解決を試みている。特許文献4によれば、幾何問題、倒立振子のような物理、運動方程式の個体間同士が干渉しない個の系のべき乗値の積で表される方程式をデータから導くことができる。しかしながら、例えば群の系である水流や電流の分子、電子の干渉が織り成す波動方程式等はネイピア数(e)を含む統計分布関数を解に含むため厳密解の方程式を導けないという問題があった。
【0006】
本発明は、上述した課題に鑑み、べき指数により表現される現象の取り扱いに数種類の関数を加味した学習用関数を用意し、個体間の干渉が織り成す現象においても入力と出力との間に成り立つ相関関係を精度良く導出することを可能とする演算装置、集積回路、機械学習装置、判別装置、方程式利用装置、演算方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために、本発明の一態様に係る演算装置は、入力層及び出力層を少なくとも含むニューラルネットワーク構造を用いて、前記入力層に入力される複数の入力データ(D0,D1,…,DN)に対して前記出力層から出力値を出力する演算装置であって、
前記入力層は、
複数の前記入力データにそれぞれ対応付けられて、複数の前記入力データをそれぞれべき乗する複数の整数のべき指数(p0,p1,…,pN)と、小数の重み付け特徴量(w0,w1,…,wN)と、所定の学習用関数の係数とを、前記ニューラルネットワーク構造の学習パラメータとして有し、
前記出力層は、
前記入力層に入力された複数の前記入力データが複数の前記べき指数と重み付け特徴量によりそれぞれべき乗された複数のべき乗値(D0p0+w0,D1p1+w1,…,DNpN+wN)の積
(D0p0+w0*D1p1+w1*…*DNpN+wN)と前記学習用関数(De=g(q,Dn))との積に基づいて、前記出力値(ZZ=f(D0p0+w0*D1p1+w1*…*DNpN+wN*De))を出力する。
【0008】
本発明の別の一態様に係る演算方法は、入力層及び出力層を少なくとも含むニューラルネットワーク構造を用いて、前記入力層に入力される複数の入力データ(D0,D1,…,DN)に対して前記出力層から出力値を出力するとして動作する演算装置を用いた演算方法であって、複数の前記入力データにそれぞれ対応付けられて、複数の前記入力データをそれぞれべき乗する複数のべき指数(p0,p1,…,pN)と、所定の学習用関数の係数とを、前記ニューラルネットワーク構造の学習パラメータとして有する前記入力層に、前記複数の入力データ(D0,D1,…,DN)を入力し、
前記演算装置に、前記出力層から、
前記入力層に入力された複数の前記入力データが複数の前記べき指数によりそれぞれべき乗された複数のべき乗値(D0p0,D1p1,…,DNpN)の積(YY0=D0p0*D1p1*…*DNpN)と前記学習用関数(De=g(D0,D1,…,DN))との積に基づいて、前記出力値(y=f(YY0*De))を出力させる。
【発明の効果】
【0009】
本発明によれば、べき指数と学習用関数により表現される現象の取り扱いを可能とするとともに、当該現象において入力と出力との間に成り立つ相関関係を精度良く導出することができる。
【0010】
上記以外の課題、構成及び効果は、後述する発明を実施するための形態にて明らかにされる。
【図面の簡単な説明】
【0011】
図1】本発明の基本形態に係る演算装置により用いられるニューラルネットワーク構造100D及びその基本原理を説明する図である。
図2】本発明の基本形態に係るニューラルネットワーク構造を用いた演算装置1の構成を示すブロック図である。
図3】勾配消失の問題点を表す図である。
図4】第1の実施形態に係る、平均寿命L(故障に至った平均時間)を出力値として縦軸、温度(1000/T)を横軸に表したアレニウスプロット図である。
図5】第1の実施形態に係る、平均寿命L(故障に至った平均時間)を出力値として縦軸、電圧を横軸に表したグラフである。
図6】第1の実施形態に係る、図4図5に基づく入力データの値を表にした図である。
図7】本発明の基本形態に係る、学習用関数(Eureka関数)の具体例を表した表である。
図8】第1の実施形態に係る、変動係数CV(損失量)の小さい順のリストである。
図9】第1の実施形態に係る、出力式(関係式)[数3-9]で計算されたZZ’の値の一覧表である。
図10】第1の実施形態に係る、平均寿命Lの測定値を横軸、式[数3-10]に基づく寿命計算(予測)値を縦軸に表した相関グラフである。
図11】第2の実施形態に係る、横軸に波長λ、縦軸に強度E、及び、温度Tをパラメータにしたグラフである。
図12】第2の実施形態に係る、[図11]から抽出した実験波長λ、実験温度T、及び、実験強度Eの一覧表である。
図13】第2の実施形態に係る、変動係数CV(損失量)の小さい順のリストである。
図14】第2の実施形態に係る、横軸に波長λ、縦軸に強度Eをとり、図12の測定データをドット表示、[数3-20]式の値を実線としたグラフである。
図15】第3の実施形態に係る、Irisデータの表(1)である。
図16】第3の実施形態に係る、Irisデータの表(2)である。
図17】第3の実施形態に係る、Irisデータのがく辺長-がく辺幅、がく辺長-花びら長の相関グラフである。
図18】第3の実施形態に係る、報酬(判別率)の降順リストの上位30番までの表である。
図19】第3の実施形態に係る、横軸にirisの花No.を、縦軸に判別式AAの値をプロットしたグラフである。
図20】第3の実施形態に係る、判別式AB、及び判別式ACを探索した結果のリストである。
図21】第3の実施形態に係る、横軸にirisの花No.を、縦軸に判別式ABの値をプロットしたグラフである。
図22】第3の実施形態に係る、横軸にirisの花No.を、縦軸に判別式ACの値をプロットしたグラフである。
図23】第3の実施形態に係る、多数決判別式Z=MODE(AA,AB,AC)を用いてIrisの花の判別の学習データを分類した表である。
【発明を実施するための形態】
【0012】
以下、本発明の基本原理を示す「基本形態」と、その基本原理を応用して本発明を実施するための「実施形態」とに分けて、図面を参照しつつ説明する。
【0013】
(基本形態)
図1は、本発明の基本形態に係る演算装置により用いられるニューラルネットワーク構造100D及びその基本原理を説明する図である。
【0014】
演算装置(図2の符号1)は、入力層110D及び出力層120Dを少なくとも含むニューラルネットワーク構造100Dを用いて、入力層110Dに入力される複数の入力データDn=(D0,D1,…,DN)に対して出力層120Dから出力値ZZを出力する装置である。
【0015】
図1に示すニューラルネットワーク構造100Dは、N+1次元(Nは1以上の自然数)のニューロン(ノード)を有する入力層110Dと、1個のニューロン(ノード)と有する出力層120Dとから構成される。入力層110Dと出力層120Dとの間には変換層140と隠れ層130とを含む。
【0016】
入力層110DのN+1個ニューロンは、N+1次元の入力デ―タDn=(D0,D1,…,DN)にそれぞれ対応付けられて、N+1次元の入力データDnがそれぞれ入力され、変換層140に出力する。
【0017】
変換層140は、入力層110DのN+1次元の入力データDnをそれぞれべき乗するN+1次元のべき指数pn=(p0,p1,・・・,pN)を、ニューラルネットワーク構造100Dの学習パラメータとして有する。さらに変換層140は、複数の学習用関数の値De(=g(q、Dn))を入力とする1つの学習用関数ノード141を有したN+2次元のノードで構成される。
【0018】
学習用関数の値De(=g(q、Dn))は、学習用関数の係数qを学習パラメータとして入力層110DのN+1次元の入力データDnとの掛け合わせをパラメータに有する学習用関数の出力値である。
【0019】
変換層140のN+1個のニューロンの出力は、N+1次元の入力データDn=(D0,D1,…,DN)をそれぞれべき乗するN+1次元のべき指数pn=(p0,p1,…,pN)に対応付けられた、べき乗値(D0p0,D1p1,…,DNpN)に変換される。さらに、N+1個のニューロンの出力は、学習用関数の値Deと連結され、N+2次元の入力データ(D0p0,D1p1,…,DNpN,De)として、隠れ層130の隠れ層入力ノード133に出力される。
【0020】
隠れ層130は、第1の隠れノード131と、第2の隠れノード132とを有する。第1の隠れノード131は、学習パラメータとしてのN+1次元の重み付けパラメータwn=(w0,w1,…,wN)を介して、隠れ層入力ノード133の入力N+2次元の入力データ(D0p0,D1p1,…,DNpN,De)がそれぞれ入力されて、下記の式[数3-1]で規定される目標値YYを出力層120Dに出力する。第2の隠れノード132は、学習パラメータとしてのバイアスパラメータbが入力されて、下記の式[数3-2]で規定される加算型演算出力BYAを前記出力層120Dに出力する。
【0021】
出力層120Dは、目標値YYと加算型演算出力BYAとに基づいて、出力値ZZ(=f(YY,BYA))を出力する。
【0022】
[数3-1]
YY=D0p0*D0p1*…*DNpN*W0*W1*…*WN*De
[数3-2]
BYA=B*(base)(Σ[n=0→N](wn*pn*dn))
ただし、上記の式における各パラメータは、下記の通りである。
baseは、1を除く正の数
Dn=basedn(n=0,1,…,N) :入力データ
pn(p0,p1,…,pN) :べき指数
Dnpn :べき乗値
De=g(q,Dn) :学習用関数値
wn=logbaseWn(n=0,1,…,N) :重み付けパラメータ
(Wn=basewn
W=W0*W1*…*WN :重み付けパラメータの積
b=logbaseB :バイアスパラメータ
(B=base
YY :目標値
BYA :加算型演算出力
【0023】
学習パラメータとしてのN+1次元のべき指数pn、N+1次元の重み付けパラメータwn、バイアスパラメータb、及び学習用関数の係数qは、複数の入力データDnを学習データとして複数用いることで学習されるパラメータである。
【0024】
N+1次元のべき指数pn、N+1次元の重み付けパラメータwn、及び、バイアスパラメータb、及び学習用関数の係数qは、学習データとしてのN+1次元の入力データDnを入力層110Dに入力したときに第1の隠れノード131から出力される目標値YYと第2の隠れノード132から出力される加算型演算出力BYAとの間の所定の損失関数(変動係数)が小さくなるように調整される。
【0025】
演算装置1は、上記のように、学習データにより学習パラメータを調整(探索)する一連の工程を所定の回数だけ反復実施したときや上記の損失関数の値(損失量)が所定の許容値より小さくなったときに、所定の学習終了条件が満たされたと判定し、学習パラメータに対する学習を終了する。これにより、学習パラメータとしてのN+1次元のべき指数pn、N+1次元の重み付けパラメータwn、バイアスパラメータb、及び学習用関数の係数qを有する学習済みのニューラルネットワーク構造100Dが実現される。
【0026】
本基本形態に係る演算装置が用いるニューラルネットワーク構造100Dによれば、隠れ層130が、上記の式[数3-1]で規定される目標値を出力層に出力する第1の隠れノード131と、上記の式[数3-2]で規定される加算型演算出力を出力層に出力する第2の隠れノード132とを有し、出力層120Dが、目標値と加算型演算出力とに基づいて、出力値を出力する。したがって、演算装置1は、べき指数、及び学習用関数により表現される現象の取り扱いを可能とするとともに、当該現象において入力と出力との間に成り立つ相関関係を精度良く導出することができる。
【0027】
本基本形態の特徴である学習用関数を使わないとき、学習用関数の値De=1とする、このとき学習用関数を使わない特許文献4と整合性を保つ。
【0028】
(基本形態の装置構成)
図2は、本発明の基本形態に係るニューラルネットワーク構造を用いた演算装置1の構成を示すブロック図である。
【0029】
演算装置1は、基本形態のニューラルネットワーク構造100Dを有する学習モデルを生成する機械学習装置1Aと、機械学習装置1Aにより生成された学習モデルを用いて判別対象の判別データBBに対する判別結果AAを出力する判別装置1Bとして機能する。機械学習装置1Aは、学習フェーズにて用いられ、判別装置1Bは、判別フェーズ(推論フェーズ)にて用いられる。
【0030】
演算装置1は、その構成要素として、判別器学習部2、学習パラメータ記憶部3、学習データ記憶部4、学習データ処理部5、判別結果処理部6、判別データ取得部7、及び、学習用関数記憶部8を備えて構成される。
【0031】
判別器学習部2は、ニューラルネットワーク構造100Dを有する学習モデルを用いて学習パラメータの学習を行う学習部20と、学習中又は学習済みの学習パラメータを反映させた学習モデルを用いて判別データに対する判別結果を出力する判別処理部21とを備える。基本形態に係る学習パラメータは、N+1次元のべき指数pn、N+1次元の重み付けパラメータwn、学習用関数の係数q、及び、バイアスパラメータbである。
【0032】
学習パラメータ記憶部3は、学習フェーズにおいて学習部20により学習が行われた学習結果として、学習パラメータと学習用関数の整理No.を記憶する。学習パラメータ記憶部3には、学習パラメータの初期化処理により学習パラメータの初期値が記憶され、学習部20で学習が繰り返し行われることにより学習パラメータが逐次更新される。そして、学習パラメータ記憶部3には、学習部20による学習が終了したときの学習パラメータと学習用関数の整理No.が記憶され、判別フェーズ(推論フェーズ)にて判別処理部21により読み出される。
【0033】
学習データ記憶部4は、複数の入力データを少なくとも含む学習データを複数組記憶する。この学習データは、入力データと、その入力データに対応付けられた教師データとを含むものであってもよい。また、教師なし学習を行う場合、学習データは、入力データのみであってもよい。教師データは、例えば、判別結果に対応するデータであり、判別結果として、例えば、正常を「0」及び異常を「1」で表す場合には、「0」か「1」が設定される。
【0034】
学習用関数記憶部8は、予め設定した複数の学習用関数と、紐づけられた学習用関数の整理No.を複数組記憶する。
【0035】
学習部20は、学習データ記憶部4に記憶された学習データ、及び学習用関数記憶部8に記憶された複数の学習用関数を、学習データ処理部5を介して学習モデルに入力し、例えば、損失関数が最小となるように学習パラメータの学習を行う。すなわち、学習部20は、判別処理部21から出力された判別結果と、学習データ処理部5から読み出した学習データとが入力されて、これらのデータを用いて学習を行い、学習パラメータ記憶部3に学習パラメータと学習用関数の整理No.を記憶する。また、教師ありの学習を行う場合、学習部20は、前記学習データに含まれる複数の前記入力データを前記入力層に入力したときに前記出力層から出力される前記出力値と、前記学習データに含まれる教師データとの間の差分が小さくなるように調整する学習を行う。
【0036】
判別処理部21は、学習フェーズにて、学習データ処理部5により取得された学習データを、初期値又は学習中の学習パラメータを反映させた学習モデルに入力することで、当該学習モデルからの出力値に基づいて判別結果を学習部20及び判別結果処理部6に出力する。
【0037】
また、判別処理部21は、判別フェーズ(推論フェーズ)にて、判別データ取得部7により取得された判別データを、学習済みの学習パラメータを反映させた学習モデルに入力することで、当該学習モデルからの出力値(例えば、特徴量等)を判別結果処理部6に出力する。
【0038】
学習データ処理部5は、学習フェーズにて、学習データ記憶部4、及び学習用関数記憶部8から学習データを読み出して所定の前処理を施した後、その学習データを学習部20及び判別処理部21に送る。その際、学習データ処理部5は、判別結果処理部6からの要求に応じて、学習データを学習部20及び判別処理部21に送る。
【0039】
判別結果処理部6は、判別処理部21から出力された出力値を受け取り、判別結果AAとして、例えば、ディスプレイ等の所定の出力装置に出力する。また、判別結果処理部6は、学習フェーズにて、判別結果に基づいて変動係数や判別率等を計算し、その計算結果に応じて、学習データを学習部20及び判別処理部21にさらに送るように、学習データ処理部5に要求する。
【0040】
判別データ取得部7は、判別フェーズ(推論フェーズ)にて、所定の入力装置から判別データBBを受け付けて所定の前処理を施した後、その判別データBBを判別処理部21に送る。
【0041】
上記構成を有する演算装置1は、汎用又は専用のコンピュータにより構成される。なお、機械学習装置1A及び判別装置1Bは、別々のコンピュータにより構成されていてもよい。その場合、機械学習装置1Aは、学習データ記憶部4、学習用関数記憶部8、学習部20及び学習パラメータ記憶部3を少なくとも備えていれればよい。また、判別装置1Bは、判別データ取得部7及び判別処理部21を少なくとも備えていればよい。
【0042】
演算装置1の構成要素のうち、学習パラメータ記憶部3、学習データ記憶部4、及び学習用関数記憶部8は、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)等の記憶装置(内蔵型、外付け型、ネットワーク接続型等)で構成されてもよいし、USBメモリ、記憶メディア再生装置で再生可能な記憶メディア(CD、DVD、BD)等で構成されてもよい。また、演算装置1の構成要素のうち、USBメモリ、記憶メディア再生装置で再生可能な記憶メディア(CD、DVD、BD)等で構成されてもよい。また、演算装置1の構成要素のうち、判別器学習部2、学習データ処理部5、判別結果処理部6及び判別データ取得部7は、例えば、1又は複数のプロセッサ(CPU、MPU、GPU等)を有する演算装置で構成される。
【0043】
(プログラム)
演算装置1は、各種の記憶装置や記憶メディアに記憶されたプログラムや外部からネットワークを介してダウンロードにより取得されたプログラムを実行することで、判別器学習部2、学習データ処理部5、判別結果処理部6及び判別データ取得部7として機能するものでもよい。
【0044】
(集積回路)
ニューラルネットワーク構造100Dは、集積回路により構成されてもよい。その場合、集積回路は、入力層及び出力層を構成する入出力部と、学習パラメータを記憶する記憶部と、入力層に入力される複数の入力データ及び記憶部に記憶された学習パラメータに基づいて、出力層から前記出力値を出力するための演算を行う演算部とを備える。集積回路は、例えば、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等により構成され、これら以外のハードウェアが用いられてもよい。
【0045】
次に、式[数3-1]で規定される目標値YYと式[数3-2]で規定される加算型演算出力BYAとの関係にて調整される損失関数について説明する。
【0046】
前記損失関数の値(損失量)の最小値の探索方法には少なくとも3通りの方法がある。
【0047】
第1の方法は式[数3-1]で規定される目標値YYと式[数3-2]で規定される加算型演算出力BYAとの間の差分(|YY-BYA|)を損失関数とし、特徴量であるべき指数pn、重み付けパラメータwn、複数の学習用関数の係数q、及び、バイアスパラメータbを動かし損失量を直接計算し最小値を探索する方法である。
【0048】
第2の方法は式[数3-1]で規定される目標値YYの平均値と標準偏差の比で規定される変動係数CV(標準偏差/平均値)を損失関数とし、特徴量であるべき指数pn、及び、複数の学習用関数の係数qを動かし最小値となる変動係数CVの値(損失量)を探索することで、特徴量であるべき指数pn、一つの学習用関数De、及び、学習用関数の係数qが決定される。
【0049】
第3の方法は、第2の方法を用いて特徴量であるべき指数pn、一つの学習用関数De、及び、学習用関数Deの係数qが決定されたとき、下記の出力式[数3-3]ZZの変動係数CV(第2の変動係数CV’)を損失関数とし、特徴量である重み付けパラメータwnを勾配降下法で動かし最小値となる変動係数CV(第2の変動係数CV’)の値(損失量)を探索し重み付けパラメータwnを決定する方法である。
【0050】
第2の方法は、特徴量である複数の重み付けパラメータwn、及び、バイアスパラメータbを動かす必要が無い、また、第2、及び第3の方法のバイアスパラメータbは一義的に決定されプログラムの構成上有利である。また、損失量である変動係数CVをパラメータ更新毎に計算し記憶するため、例えば特徴量であるべき指数pn毎の損失量リスト、あるいは損失量に係るグラフを再計算する必要無く作成できる。実施形態では、損失関数に第2、及び、第3の方法を適宜採用する。
【0051】
演算装置1の出力層120Dから出力される出力式ZZ(=f(YY,BYA))は下記の式[数3-3]に設計される。また、前記の損失関数の第2の方法、及び第3の方法によれば、特徴量であるバイアスパラメータB(B=base)、及び重み付けパラメータの積Wは一義的に決定され、ZZ’=ZZ/(B*W)と置き換えて下記の式[数3-4]に単純化できる。換言すると、第2、第3の方法では、最初に、YYの変動係数が最小となるように重み付けパラメータwnを決定し、これを使って、YY-BYAの差分が最小(つまりYY=BYA)となるバイアスパラメータBを計算する。
【0052】
[数3-3]
ZZ=f(YY,BYA)
ZZ=D0(p0+w0)*D1(p1+w1)*…*DN(pN+wN)*De*B*W
[数3-4]
ZZ’=D0(p0+w0)*D1(p1+w1)*…*DN(pN+wN)*De
【0053】
出力式[数3-4]ZZ’は特徴量であるべき指数pnを整数値、重み付けパラメータwnは±1に収まる程度の小数値を探索し、入力データDnのべき数値をpn+wnの実数値の範囲で見つけることができる。
【0054】
特許文献1、2に例示される従来のニューラルネットワークの損失関数の最小値の探索方法に内在する問題について図3を用いて説明する。図3は横軸に重み付け特徴量w、縦軸に損失量Lを表したイメージ図である。図3に示すように、特許文献1、2に例示されるニューラルネットワークの損失関数の最小値の探索方法では、勾配降下法を利用して損失(誤差)Lを最小になるように重み付けパラメータwを微少量(Δw)動かしていく。この方法では最小と予測した損失(誤差)L(ローカルミニマム)よりさらに小さい点が存在しても、そこで探索が終了し。グローバルミニマムを探し出せないという勾配消失の問題点がある。この問題点の対処法には、1つに、パラメータwを動かすステップ幅Δwを大きくする。2つ目には入力データDnのサンプル数を全数使うのではなくサンプリングして量を減らしたデータ(ミニバッチ)を利用することでデータを粗くしローカルミニマムで終了してしまうポテンシャルを減らす方法がある。副作用として、前者は、ステップ幅Δwを大きくし過ぎると精度が悪化しミニマム点を見逃してしまうリスクがある。後者は必ずしもローカルミニマムを防ぐことができる訳ではなくミニバッチのデータを作るにあたり試行を重ねる必要がある。いずれの対策も完全な対策ではなく、ローカルミニマムに陥ってしまわないためには、この2つの方法を組み合わせ評価できる程度に、利用者に、ニューラルネットワークだけでなく解決しようする問題についての知識や経験が求めれられるという問題点があった。
【0055】
本発明である演算装置1の損失関数の最小値の探索方法は、2段階の処理を行い前記の問題点を克服している。第1段階は前記の第2の方法を用いて、べき指数pnを整数値で探索し損失(誤差)Lの最小となるべき指数を絞り込む。第2段階は前記の第3の方法を用いて、その絞り込んだ整数のべき指数pnを使い、重み付けパラメータwnを勾配降下法で微少量動かして損失(誤差)Lの最小値を探索する。このように2段階の方法で処理することで、ローカルミニマムで終了してしまうことを防止できる。
【0056】
(第1の実施形態)
続いて、関係式を探索し発見する方法の具体例として第1の実施形態について説明する。以下では、前記の基本形態に係るニューラルネットワーク構造100Dの基本原理の手順に沿い、本発明に該当する特徴部分を中心に具体例を説明する。
【0057】
昨今、高集積LSIを始めとした各種電子部品の小型化に併せてプリント配線板もファインパターン化と部品の狭ピッチ化、導体隙間の縮小化の技術が急速に進歩した結果、配線の断線あるいは絶縁信頼性の問題がクローズアップされている。信頼性評価をどのようにして行うか、その試験結果から寿命推定にあたってはそこに絶対的なものは無く、試験と経験的なものの繰り返しで技術者が判断せざるをえないという課題がある。この課題を解決する策として、一歩進んだ寿命予測の方法が望まれており、配線基板へ電子部品実装したセットの信頼性の高い寿命予測式を導くことが重要である。
【0058】
第1の実施形態では、プリント配線材に電子部品を実装した基板の信頼性評価実験 のデータから寿命予測式を導いた事例を説明する。
【0059】
プリント配線材として標準的なFR-4材の基材、及び、電子部品を実装し、温度、湿度、電圧の3項目について信頼度試験の分流実験をそれぞれ複数の試料を用いて行い、故障と判断された平均寿命L(故障に至った平均時間)を出力値として縦軸に表したグラフを図4図5に示す。図4は電圧を75Vに固定し、湿度60%、及び、95%のときのアレニウスプロットである。図5は、電圧50V、65V及び、75Vの試験点数を増やした電圧依存性グラフである。
【0060】
前記の図4図5に基づく入力データを、実験温度50℃、75℃、85℃を項目名D0に、実験湿度95%、60%を項目名D1に、実験電圧75V、65V、50Vを項目名D2に分割し、故障と判断された寿命Lを項目名D3の値として図6の表に示す。
【0061】
演算装置1は、[数3-4]に基づく出力式(関係式)ZZ’の特徴量である4次元のべき指数pn、4次元の重み付けパラメータwn、及び学習用関数Deとその係数qを抽出する。より具体的には、演算装置1は、前記の図6の表のサンプル数11個の4次元入力データDn=(D0,D1,D2,D3)から当該現象において入力項目データ間に成り立つ[数3-4]に基づく出力式(関係式)ZZ’の特徴量pn、wn、及びDe並びにその係数qを、前記の基本形態のフローに従い探索し抽出する。
【0062】
前記の信頼度試験結果の4次元入力データDn=(D0,D1,D2,D3)の項目名D0、D1、及びD2は、それぞれ温度、湿度、電圧のパラメータ値であり、D3は1次元の故障と判断された平均寿命L(故障に至った平均時間)の出力値である。項目名D3の出力式こそ目的とする導きたい平均寿命Lの寿命予測式であることから、[数3-4]に基づく出力式(関係式)ZZ’は特徴量p3を例えば-1に、及びw3を0に固定すると下記の式[数3-5]に表すことができ、平均寿命LのD3を解にした式は[数3-6]に表すことができる。
【0063】
[数3-5]
ZZ’=D0(p0+w0)*D1(p1+w1)*D2(p2+w2)*D3(-1)*De
[数3-6]
D3=D0(p0+w0)*D1(p1+w1)*D2(p2+w2)*De/ZZ’
【0064】
前記の例のように、学習用関数Deを出力式ZZ’に利用する場合、入力データDnのいずれか1つに目的とする導きたい出力項目が含まれ、その出力項目を指定し特徴量pnを-1、及び1に、wnを0に固定できる機能を演算装置1に含む。この機能はコンピュータの特徴量の探索時間短縮に寄与する。
【0065】
ここで、前記の学習用関数De=g(q,Dn)として利用可能な関数の例について説明する。学習用関数は、学習用関数ノード141で用いる関数のことであり、代表例として古典力学に用いる統計分布関数であるMaxwell-Bolzman分布の型がある。その型はDe=exp(q/(D0))と表現できる。exp()内の要素である特徴量qは設定した所定の範囲の値の幅を所定の刻み量でスキャンして得られる。D0は入力データDn=(D0,D1,…,DN)の中の例えばD0で構成される。量子物理学の代表的なものとして、フェルミ・ディラック分布関数はDe=1/(1+exp(q/(D0)))、ボーズ粒子の分布関数はDe=1/(exp(q/(D0))-1)、標準正規分布関数はDe=exp(-q*D0)の型がある。このような典型的な型のexp()内の要素には入力データDnのいずれか1つの項目を用いる場合が多いが、その限りではないため入力データDnの複数項目の積、及び比の組み合わせを予め学習用関数の種類に複数登録し、最も相応しい学習用関数Deを探索し抽出する。入力データDnの2次元入力項目D0、D1を用いた学習用関数の例を図7に示す。次元数は最大入力項目数の組み合わせでもよく、入力データ項目の特徴から項目数を絞ってもよい。また、統計分布関数以外に波の振動を表現できる双極線三角関数、あるいは、ネイピア数(e)への収束過程を表す関数の型も学習用関数として用いることができる。後者のネイピア数(e)への収束過程を表す関数の型は、qを利率(例えば年利)、D0を利率の分割数、D1を運用回数としたときの複利計算式De=(1+q/D0)^D1の型と同じであり、入力データから経済活動に内在された式の特徴を掴むことができる。これらは学習用関数Deとして利用可能な関数の一例であり、これ以外にも様々な種類の関数を学習用関数として用いることができる。以下、これらの関数を総称してEureka関数とも呼ぶ。
【0066】
第1段階は4次元入力データDn=(D0,D1,D2,D3)を前記のニューラルネットワーク構造100Dの入力層110Dに入力し、整数値のべき指数と最も相応しい学習用関数Deを探索する。
【0067】
4次元入力データDn=(D0,D1,D2,D3)は変換層140に渡され、それぞれのべき乗値Dnpnに変換し、隠れ層130の隠れ層入力ノード133に渡される。特徴量である4次元の整数べき指数pnの初期値はふり幅を-9~9の範囲に設定し(-9,-9,-9,-9)をスタート値に(0,0,0,0)まで、1ステップずつスキャンされる。整数べき指数pnの初期値はふり幅はユーザが任意に設定でき-6~6等に短くしてもよい。前記したように本事例では項目名D3を平均寿命Lの出力式に指定することで特徴量p3を-1、及び1に固定される。また、(0,0,0,0)は特異点であり除かれる。
【0068】
変換層140の学習用関数ノード141のDeには登録されている複数の学習用関数が並列にセットされ、隠れ層130の隠れ層入力ノード133に渡される。
【0069】
隠れ層130の隠れ層入力ノード133にセットされた、それぞれのべき乗値Dnpn、及び複数の学習用関数Deは第1の隠れ層ノード131で[数3-1]式YYの演算処理が行われる。前記したように第1段階では、[数3-1]式YYの特徴量である重み付けパラメータwnは全て0、重み付けパラメータの積Wは1に固定され、複数の学習用関数Deに対してべき乗値の積で表されるYY=D0p0*D1p1*D2p2*D3p3*Deが演算される。
【0070】
演算装置1は、前記の[数3-1]式YYの演算値から変動係数CV(損失量)の最小値となる一つの学習用関数Deと学習用関数の係数qを決定するためにq値を所定の範囲と刻みでスキャンする。変動係数CV(損失量)が最小となった一つの学習用関数Deとq値が決定されると、機械学習装置1Aの学習パラメータ記憶部3に整数べき指数pn、学習用関数Deの整理No.及び学習用関数の係数qの特徴量、及び変動係数CV(損失量)が記憶される。
【0071】
前記したように、整数べき指数pnは初期値(-9,-9,-9,-9)から(0,0,0,0)まで繰り返し、機械学習装置1Aの学習パラメータ記憶部3に整数べき指数pn、学習用関数Deの整理No.及び学習用関数の係数qの特徴量、及び変動係数CV(損失量)を記憶し、整数値のべき指数と最も相応しい学習用関数Deの探索を行い第1段階を完了する。次に判別処理部21は機械学習装置1Aの学習パラメータ記憶部3から整数べき指数pn、学習用関数Deの整理No.及び学習用関数の係数qの特徴量、及び変動係数CV(損失量)の値を受け取り、変動係数CV(損失量)の小さい順リストを作成しディスプレイ等に出力する。
【0072】
図8に出力された変動係数CV(損失量)の小さい順のリストを示す。但し、説明の便宜上p3=-1のときのリストを表示している。図8から理解されるように、図8のリストは、前記べき指数の優劣順を前記変動係数の値順に出力したものとなっている。
【0073】
図8の変動係数CV(損失量)の小さい順リストから、最小の特徴量組み合わせはpn=(0,-3,-1,-1)、学習用関数はexp(q/D0)、係数q=10116である。これより前記の出力式(関係式)[数3-5]ZZ’は下記の式[数3-7]に表すことができ、平均寿命LのD3を解にした式は[数3-8]に表すことができる。
【0074】
[数3-7]
ZZ’=D0(0+w0)*D1(-3+w1)*D2(-1+w2)*D3(-1)*exp(q/D0)
[数3-8]
D3=D0(0+w0)*D1(-3+w1)*D2(-1+w2)*exp(q/D0)/ZZ’
【0075】
第2段階では、変動係数CV(損失量)の最も小さかった整数べき指数pn、学習用関数Deの整理No.及び学習用関数の係数qの特徴量の4次元の入力データを判別処理部21から判別結果処理部6を通して学習データ処理部5に出力させ、重み付けパラメータwnの特徴量を探索する。
【0076】
第1段階処理で得られた特徴量を受けて第2段階へ進む流れは、変動係数CV(損失量)の最小の特徴量を第2段階へ渡す連続処理でもよく、一旦ストップし、変動係数CV(損失量)リストのデータから特徴量を指定し第2段階の処理へマニュアルで入力する流れでもよい。
【0077】
学習データ処理部5は、学習用関数Deの整理No.に対応した学習用関数Deを学習用関数記憶部8から受け取り、整数べき指数pn、学習用関数Deの整理No.に対応した学習用関数、及び学習用関数の係数qを学習部20に出力する。
【0078】
前記の学習データ処理部5から学習部20へのデータ受け渡しの流れは、ニューラルネットワーク構造100Dの入力層110Dから変換層140の流れであり、隠れ層入力ノード133に入力データが変換されセットされる。
【0079】
隠れ層入力ノード133のデータは、それぞれ第1の隠れ層ノード131、及び第2の隠れ層ノード132に渡され、前記の損失関数計算方法である第3の方法を用いて変動係数CVの値(損失量)が計算され、重み付けパラメータwnの特徴量が決定される。
【0080】
前記変動係数CVの値(損失量)が最小値となるときの特徴である重み付けパラメータwnは(0,0,-0.4)が抽出される。出力式(関係式)[数3-7]のZZ’は[数3-9]に表され、ZZ’の平均値に近似する。このZZ’の平均値をZZ’(平均)と定義すると、平均寿命LのD3を解にした式(第2の方程式)は[数3-10]に表される。
【0081】
[数3-9]
ZZ’=D1(-3)*D2(-1。4)*D3(-1)*exp(q/D0)
[数3-10]
D3=D1(-3)*D2(-1.4)*exp(q/D0)/ZZ’(平均)
【0082】
前記の図6のサンプル数11個に対応した出力式(関係式)[数3-9]で計算されたZZ’の値を図9に表記した。この表から出力式(関係式)ZZ’の平均値は1.76E+09、標準偏差は7.83+E07であり、ばらつきの少ない定数近似ができていることが判る。前記のZZ’(平均)の平均値を便宜上A=1/ZZ’(平均値)に置き換えると、式[数3-10]は式[数3-11]に表現できる。なお、図9のZZ’の列の値は、E表記である。
[数3-11]
D3=A*D1(-3)*D2(-1。4)*exp(q/D0)
q=10116 定数
A=5.68E-10 定数
【0083】
前記の平均寿命LのD3を解にした式は、前記した手順に従ってコンピュータアルゴリズムにより自動計算される。さらに、平均寿命LのD3の相関関数グラフが表示され、図10に横軸に平均寿命LのD3の測定値、式[数3-10]による寿命計算(予測)値を縦軸に表した。相関係数は0.999と非常に強い相関を示している。
【0084】
このように、本発明の演算装置1は、少ない入力データから精度の高い寿命予測式を導くことができる。さらに、本発明の演算装置1は、その得られた寿命予測式の分析にも効果を発揮する。[数3-11]は項目名Dnを測定名に置き換えて式[数3-12](第2の方程式)に表すことができる。
【0085】
[数3-12]
L=A*H(-3)*V(-1、4)*exp(Eb/kT)
A=5.68E-10 定数
n=1.4 (逆)n乗則電圧加速係数
k=8.6157E-5eV/K ボルツマン定数
Eb=0.872eV 活性化エネルギー
【0086】
式[数3-12]は、電子部品の故障は電圧Vに対して逆n乗則の関係を持つexp(Eb/kT)の型を含む化学反応論で知られている経験則のアレニウスモデル式を測定データに最も相応しい一つの式として発見しており、人に解りやすく、モデルの分析・解析を進める上で役立つ。
【0087】
モデルの分析・解析を進める上で、前記の図8の変動係数CV(損失量)の小さい順リストが役に立つ。図8を参照すると、pn=(0~-9,-3,-1,-1)の損失は上位10を占めており、-1.111~-1.097の範囲に集中していることが判る。つまり温度Tのべき指数p0は0~-9のどの値でも大差無い損失量である。技術者の眼には、測定結果を表現する複数の式に有意差が認められないとき図8のリストから、既知の理論式であるアイリングモデル式が上位2番目にあり、これも視野に入れて、どの方程式を採用するかの判断基準にすることができる。図8のリストからアイリングモデル式のpnは(-1,-3,-1,-1)で表され、学習用関数の係数qは9772である特徴量を使い、前記した第2段階からスタートし、重み付けパラメータwnの特徴量を探索するとwnは(0,0,-0.4)と同等な値が得られ、アイリングモデルの寿命予測式は下記式[数3-13]に表すことができる。相関係数は0.999と計算され、前記[数3-12]の相関係数と遜色無く、どちらの式を採用しても高い精度の得られるモデル式であることが判る。
【0088】
[数3-13]
L=A*T(-1)*H(-3)*V(-1、4)*exp(Eb/kT)
A=5.32E-7 定数
n=1.4 (逆)n乗則電圧加速係数
k=8.6157E-5eV/K ボルツマン定数
Eb=0.842eV アイリングモデルの活性化エネルギー
【0089】
前記のように、本発明を利用することで、寿命予測式の導出にあたり、試験と経験的なものの繰り返しで技術者が判断せざるをえないという課題を解決し、論理的に説明できる精度の高い寿命予測式(第2の方程式)を、自動的に一貫したコンピュータ処理によりフィッテングし精度よく導くことができる。また、コンピュータに、このようにして導出した寿命予測式(第2の方程式)を記憶する記憶部(方程式記憶部)と、この第2の方程式を用いて入力値に対する出力を計算する計算部と、を備えさせることで、電子部品の寿命の予測を行う方程式利用装置を構成することができる。
【0090】
(第2の実施形態)
続いて、関係式を探索し発見する方法の第2の具体例として第2の実施形態について説明する。ドイツの物理学者であるPlanck博士は黒体輻射スペクトル分布の温度、波長、強度のデータを元に、波長λ全域を内挿(フィッテイング)し非常によく合う有名なスペクトル分布の実験式を見出したことで知られている。
【0091】
第2の実施形態では、文献にある黒体輻射スペクトル分布のグラフのデータを抽出し、本発明を用いてスペクトル分布の実験式を僅かなデータから簡単に自動的に導く方法を第1の実施形態に倣い説明する。
【0092】
図11は、天野 清著「熱輻射論と量子論の起源」の第3図として掲載されているものであり、横軸に波長λ、縦軸に強度E、及び、温度Tをパラメータにしたグラフであり観測値をドット表示している。図12は、図11のデータから、実験波長λを項目名D0に、実験温度Tを項目名D1に、実験強度Eを項目名D2に分割し、それらの値を抽出した表である。
【0093】
前記の図12の表のサンプル数21個の3次元入力データDn=(D0,D1,D2)から当該現象において入力項目データ間に成り立つ出力式(関係式)を、前記の式[数3-4]ZZ’の特徴量である3次元のべき指数pn、3次元の重み付けパラメータwn、及び学習用関数Deとその係数qを抽出し、最終的には実験強度Eを表現する式(項目名D2の式)を導く。本方法の手順は第1の実施形態と同じであり、特徴部分のみを説明する。
【0094】
前記の3次元入力データDn=(D0,D1,D2)の項目名D0、及び、D1は、それぞれ波長、温度のパラメータ値であり、D2は1次元の強度Eの出力値である。項目名D2の出力式が導きたいスペクトル分布の実験式であることから、[数3-4]に基づく出力式(関係式)ZZ’は特徴量p2を-1、及び1に、w2を0に固定すると下記の式[数3-15]に表すことができ、強度EのD2を解にした式は[数3-16]に表すことができる。但し、説明の便宜上p2=-1とした場合について表示している。
【0095】
[数3-15]
ZZ’=D0(p0+w0)*D1(p1+w1)*D2(-1)*De
[数3-16]
D2=D0(p0+w0)*D1(p1+w1)*De/ZZ’
【0096】
第1段階の手順は3次元入力データDn=(D0,D1,D2)を前記のニューラルネットワーク構造100Dの入力層110Dに入力され、整数値のべき指数と最も相応しい学習用関数Deの探索が行われる。特徴量である3次元の整数べき指数pnの初期値はふり幅を-9~9の範囲に設定し(-9,-9,-9)をスタート値に(0,0,0)まで、1ステップずつスキャンされる。
【0097】
第1段階を完了すると、変動係数CV(損失量)の値の最小値である整数値のべき指数pnと最も相応しい学習用関数Deとその係数qが決定され、変動係数CV(損失量)の小さい順リストを作成しディスプレイ等に出力される。
【0098】
本事例の変動係数CV(損失量)の小さい順リストを図13に示す。図13から理解されるように、図13のリストは、前記統計分岐関数の型ごとの優劣順を前記変動係数の値順にリスト出力表示したものとなっている。
【0099】
図13の変動係数CVの小さい順リストから、一番の最小の特徴量組み合わせはpn=(-5,0,-1)、学習用関数は1/(exp(q/D0/D1)-1)、係数q=13964を抽出している。これより前記の出力式(関係式)[数3-15]ZZ’は下記の式[数3-17]に表すことができ、強度EのD2を解にした式は[数3-18]に表すことができる。
【0100】
[数3-17]
ZZ’=D0(-5)*D2(-1)/(exp(q/D0/D1)-1)
[数3-18]
D2=D0(-5)/(exp(q/D0/D1)-1)/ZZ’
【0101】
第2段階では、整数べき指数pn=(-5,0,-1)、学習用関数、1/(exp(q/D0/D1)-1)、及び、学習用関数の係数q=14125の特徴量から重み付けパラメータwnの特徴量を探索する手順が行われる。
【0102】
前記手順の結果、変動係数CVの値(損失量)が最小値となるときの特徴である重み付けパラメータwnとして(0,0)が抽出される。つまり、小数値の重み付け特徴量w0,w1は共に0が最適値であり、式[数3-17]のZZ’はは単純な整数値のべき指数の式で構成されていることが判り[数3-19]に表され、ZZ’の平均値であるZZ’(平均)は、3.4E-6と出力される。便宜上、c1=1/ZZ’、q=c2に置き換え、D0を項目名の波長λ、D1を温度T、D2を強度Eに置き換えて、強度Eを解にした式は[数3-20]に表される。
【0103】
[数3-19]
ZZ’=D0(-5)*D2(-1)/(exp(q/D0/D1)-1)
q=1.4 E4
ZZ’(平均値)=3.4E-6 定数
[数3-20]
E=c1*λ(-5)/(exp(c2/(λ*T))-1)
c1=2.8E5 定数(1/ZZ’)
c2=1.4 E4 定数(q)
【0104】
前記式[数3-20]の式は、Planck博士の発見した黒体輻射のスペクトル分布の実験式と同じである。
【0105】
確認のため図11に倣い、横軸に波長λ、縦軸に強度Eをとり、図12の測定データをドット表示、[数3-20]式の値を実線としたグラフを図14に示す。相関係数は0.997であり実験値と実験式はよい一致を示していることが判る。
【0106】
前記した第1の実施例、及び、第2の実施例で示したように、本発明は測定データから第1の手順で整数のべき指数pnを1シフトの盲目的スキャン探索を行い、第2の手順で小数のべき指数wnを勾配降下法を用いて探索を実施する2段階のべき指数探索を行い、損失量が前記したローカルミニマムに留まることを防止している。しかも自然界においては、べき指数が単純な整数値である場合も多く見受けられ方程式発見において有効な手法である。また、整数のべき指数のみを入力項目の次元数分相当だけ探索するのは探索時間への影響も少ないが、第1の手順から整数値をベースにした勾配降下法による探索を用いてもよい。
【0107】
さらに本発明では、損失関数に変動係数CVを採用できるという他のニューラルネットワークには無い利点がある。前記の事例で示したように変動係数CV(損失量)の順位リストが作成され、べき指数と変動係数CV(損失量)の関係を可視化、及び、分析を可能にした。この利点からも第1の手順へ整数のべき指数pnを1シフトの盲目的スキャン探索を選択する価値がある。
【0108】
前記に示した本発明であるEureka関数(学習用関数)を加味したべき指数型ニューラルネットワークの名称は統一し、以下、べき指数型ニューラルネットワークと呼ぶ。
【0109】
(第3の実施形態)
【0110】
次に、物の判別に本発明であるべき指数型ニューラルネットワークを利用し高判別率を得る関数を導く方法について説明する。
【0111】
以下、分類対象物が、例えば異なるA,B,Cの3種類存在し、その種類を判別するためのデータ項目(4次元データ)としてD0、D1、D2、D3の4項目を選択して判別する方法を考える。この場合、異なるA,B,Cの判別・分類方法には、2つの方法が考えられる。
【0112】
まず、1つめの判別方法について説明する。最初に分類対象物A群、B群、C群の学習データを用いて、それぞれの群内に成り立つデータ間の関係に最も誤差の少ない関数を探索する。次に、発見したそれぞれの3つの関数に閾値を設定し、例えば、分類Aに属する4次元データに分類Bの式を適用すると閾値を基準とした外れ値が得られる。これらの関数を用いて、未知の分類対象物から得た4次元のデータから、当該分類対象物を精度よく分類することができる。
【0113】
前記の方法は、べき指数型ニューラルネットワークの関係式の探索手順を利用し、精度の高いA群を表す関数、B群を表す関数、C群を表す関数を決定し、それぞれの式に閾値を設定し判別式に用いる方法である。
【0114】
2つめの分類方法は、分類対象物A群、B群、C群の判別率を最大にする式を探索し、判別式に利用する方法である。
【0115】
2つめの分類方法について、判別対象物Iris(あやめ)の花分類の実施例を用いて説明する。以下、特性の異なる判別式の中から、前記判別式の識別性能と、前記変動係数の値とに基づいて、複数の判別式を選択し、これらの判別式を用いて判別対象物Iris(あやめ)の花分類を行う方法を説明する。
【0116】
物の判別にあたり判別率は、強化学習によるところの報酬と同じ意味で扱うことができる。前記の関数の探索に変動係数CVを損失量とした昇順の順位リストを用いたのと同様に、整数のべき指数pnを探索し得られた報酬(判別率)の降順の順位リストを利用して最大の報酬(判別率)を得られる報酬関数(判別式)を決定する。
【0117】
以下、3種類のあやめ(setosa,versicolor,virginica)の判別の例を用いて第3の実施形態を詳細に説明する。図15及び図16は、3種類のあやめのデータ(以下、「Irisデータ」という。)の例を示す表である。図15及び図16の例では、Irisデータとして、がく辺長と幅、花びら(花弁)長と幅を対応付けた4次元のデータを各50個用意し、それぞれに整理番号として、A群No.1~50(setosa)、B群No.51~100(versicolor)、及びC群No.101~150(virginica)に割り振っている。
【0118】
上記Irisデータの基本セットは機械学習の基本としてよく引用されており、非特許文献1に記載されている。
【0119】
図15及び図16のIrisデータのがく辺長-がく辺幅、がく辺長-花びら長の相関グラフを図17に示した。種類間のデータ比較から、setosaは他の2種類からデータ間距離が離れているため、難なく区別できるが、versicolorとvirginicaのデータ間距離は近く、分別は難しいデータ構成である。本事例ではversicolorを中心に、virginica、及びsetosaとの判別率を最大に判別する具体例を説明する。
【0120】
図1のニューラルネットワーク構造100Dの入力層110Dに入力されたversicolor、virginica、及び、setosaの学習データを用いて、べき指数pnで構成される前記式[数3-1]を第1の隠れ層ノード131にて、重み付け特徴量wn=0、学習用関数De=1のべき乗値の積の式YYの値がそれぞれ計算される。
【0121】
べき指数pnは(-9,-9,-9,-9)から(0,0,0,0)までスキャンし、それぞれのべき指数pnのべき乗値の積の式YYの値をversicolorの値の群とvirginicaの値の群、及び、setosaの値の群と比較し最大の報酬(判別率)を得られるべき乗値の積の式YYの値の上限、下限の閾値が計算されて、それぞれのべき指数pnに対応した報酬(判別率)が記憶されリスト化される。
【0122】
このとき、べき指数pnの要素の絶対値に1、または、絶対値の素数の値を一つも含まないべき指数pnと、全ての絶対値の素数の値が同じべき指数pnは演算から除外することが好ましい。例えば、べき指数pn=(-2,-1,3,1)のとき、2倍、3倍等の値である(-4,-2,6,2)、(-6,-3,9,3)、及び、べき指数pn=(-1,-1,-1,-1)に対応した、(-2,-2,-2,-2)、(-3,-3,-3,-3)は数学的に報酬(判別率)が同値になるため除外する。このようにすることで、計算時間の短縮、及び、リストをシンプルにできる利点が得られる。
【0123】
また、本事例では、学習データの要素である、がく辺長、がく辺幅、がく辺長、及び、花びら長の4つの要素を全て使う判別式を探索するのは明らかであり、べき指数pnの要素に1個でも0を含むべき指数pnを除外している。
【0124】
図18に、前記に計算された報酬(判別率)の降順リストの上位30番までを示す。図18から最大の報酬(判別率)は99.3%であり4個存在している。ここで報酬(判別率)が同順であった場合、対象とする群の変動係数が小さい順にリスト化し優劣を付ける。これにより、べき乗値の積の式YYの群の個々の値のばらつきが少ない、すなわち頑強(ロバスト)なべき指数pnを上位とし優劣を付けることができる。
【0125】
図18の最上位はpn=(-2、-1,4,1)のとき99.3%(149個/150)が得られ、誤判別はNo.84の1個である。下記[数3-21]に、その式(判別式AA)、及び、閾値、判定値を示す。
【0126】
[数3-21]
YY=D2*D3/(D0*D1) 判別式AA
上限閾値 8.8
下限閾値 0.2
判定値 A<0.2,0.2≦B≦8.8,C>8.8
【0127】
図19に横軸にirisの花No.を、縦軸に判別式AAの値をプロットしたグラフを示す。誤判別はversicolorのNo.84をvirginicaに誤判別していることが判る。
【0128】
前記の手順で得られた判別式AAを用いて、花の分類先の未知の入力データを分類することができる。
【0129】
次に、判別率をさらに向上させる方法について説明する。本事例では既に99.3%(149個/150)の判別率が得られており100%分類を目指し探索を進める手法である。
【0130】
最初に、本発明の背景にある分類の考え方について説明する。分類とは、何らかの基準を人が設定し、その基準に基づいてカテゴリを複数作り、個々のものをいずれかのカテゴリ枠の中に入れていくことであり恣意性が含まれる、本事例のIrisの花の分類も絶対的ではない。分類基準を人が設定するので、分類式が前記の第1の実施形態、及び、第2の実施形態で示したような自然則を基準とする1つの方程式に代表されるものでは無いことから、人の取るべき行動様式の一つである複数人による多数決判別を模擬し分類式に取り入れる。以下、べき指数型ニューラルネットワークを用いて、複数の判別式による多数決判別を分類式に取り入れる方法について説明する。
【0131】
前記の、判別式[数3-21]を便宜上、判別式AAと表す。また、未知の判別式AB、及び、判別式ACを定義すると、多数決判別はMODE関数を用いて次式に表すことができる。
【0132】
[数3-22]
Z=MODE(AA,AB,AC)
【0133】
前記の多数判別式[数3-22]のMODE関数は、例えば判別式AAの判別結果がvirginica(記号C)、判別式ABの判別結果がversicolor(記号B)、及び、判別式ACの判別結果がversicolor(記号B)のとき、MODE関数Zの出力は、versicolor(記号B)が出力される。あるいは判別式AA、判別式AB、及び、判別式ACの判別結果が全て異なるか、最大数が複数のとき最初の最大数の記号が出力される。なお、判別式の数は、Z=MODE(AA、AB、AC、AD、AE)のように、さらに複数用いてもよい。
【0134】
次に、前記の判別式AB、及び判別式ACを探索する方法について具体例をもって説明する。
【0135】
前記の判別式AAの1つの誤判別は花のNo,84をversicolor(記号B)から、virginica(記号C)に間違えている。従って判別率を向上させるための条件は、判別式ABは花のNo,84に正解を出すこと、但し、他の花No.を間違えてもよいが、判別率は高いものを選択すること。次に、判別式ACは判別式AAと判別式ABの誤判定の花のNo,に正解を出すこと、但し、他の花No.を間違えてもよいが、判別率は高いものを選択するという条件である。
【0136】
前記の図18に示した判別率の降順リストを基に、前記の条件に合致する判別式AB、及び判別式ACを探索した結果を図20のリストに示す。
【0137】
図20のリスト1番目のpn=(-1、3,-2,5)の判別率は98.7%(148個/150)、誤判別は2つNo.134、135であり、CをBに間違えている。図21に横軸にirisの花No.を、縦軸に判別式ABの値をプロットしたグラフを示す。下記[数3-23]に判別式ABを示す。
【0138】
[数3-23]
YY/W=D1/(D0*D2*D3) 判別式AB
上限閾値 21.0
下限閾値 1.11E-2
判定値 A>21.0,1.11E-2≦B≦21.0,C<1.11E-2
【0139】
図20のリスト2番目のpn=(-1、2,7,-1)の判別率は90.7%(136個/150)、誤判別は14個No.102、107、114、115、120、122、124,127,128,139,142,143,146、147であり、CをBに間違えている。図22に横軸にirisの花No.を、縦軸に判別式ACの値をプロットしたグラフを示す。下記[数3-24]に判別式ACを示す。判別式ACの判別成績は芳しくないが、判別式AAと判別式ABが間違えるところに正解を出せるという尖った見方ができる式である。
【0140】
[数3-24]
YY/W=D1*D2/(D0*D3) 判別式AC
上限閾値 69.3E3
下限閾値 1.8E3
判定値 A<1.8E3,1.8E3≦B≦69.3E3,C>69.3E3
【0141】
前記したように、判別式AA式[数3-21]、判別式AB式[数3-23]、及び、判別式AC式[数3-24]の3つの式を利用した多数決判別式[数3-22]であるZ=MODE(AA,AB,AC)を用いてIrisの花の判別の学習データを分類した結果の表を図23に示しており、判別率は100%を達成している。
【0142】
3つの式の組み合わせには次のような特徴がある。それぞれ式のべき指数pnの要素順は符号の向き(±)が異なるものを含む、べき指数0を境にした異なる象限を利用したべき乗値の積の式の組み合わせである。
【0143】
また、多数決判別を使わない判別方法の手段として、特許文献3による前記の図18のリストで表現される式の出力値を、当該出力値の分散あるいは標準偏差に応じたポイント(スコア)に変換する手段と、前記ポイントを合算する手段と、を備え、前記合算したポイント(スコア)による判別対象物の判定結果が、最も高い判別率を得るように、それぞれの判別器出力のポイント(スコア)に重み付けを行うことで実現する方法も採用できる。これらの方法との比較において、本事例に説明した多数決判別方法は分類式がシンプルであり、特許文献3による方法は閾値を使わない利点がある。
【0144】
つまり、本発明は、自然に、べき指数の象限が異なる違った見方のできる複数の最適な式を探索・発見し組み合わせ、人の理解しやすい高精度な分類式を提示できる。
【0145】
前記の手順で示したように、機械学習のプロセス、データ、モデルの作成方法は透明である。従来のAI(Artificial Intelligence)や機械学習のソリューションは複雑で不透明であることが多く、実利用段階になると工程や作成方法のはっきりしないものは信頼して使えないという懸念がある。本発明は、そのような懸念点を、方程式を導くことができるべき指数型ニューラルネットワークを構築し、モデル式の部品にべき乗値の積の式と学習用関数を準備し組み合わせることで、人が解釈できない問題を解決し、透明なAI(Transparent AI)を実現できる。
【符号の説明】
【0146】
1…演算装置、1A…機械学習装置、1B…判別装置、
2…判別器学習部、3…学習パラメータ記憶部、4…学習データ記憶部、
5…学習データ処理部、6…判別結果処理部、7…判別データ取得部、
8…学習用関数記憶部、20…学習部、21…判別処理部、
100D…ニューラルネットワーク構造、
110D…入力層、120D…出力層
130…隠れ層、131…第1の隠れノード、132…第2の隠れノード
133…隠れ層入力ノード、140…変換層、141…学習用関数ノード
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23