JP4226754B2 - ニューラルネットワークの最適化学習方法 - Google Patents
ニューラルネットワークの最適化学習方法 Download PDFInfo
- Publication number
- JP4226754B2 JP4226754B2 JP2000071011A JP2000071011A JP4226754B2 JP 4226754 B2 JP4226754 B2 JP 4226754B2 JP 2000071011 A JP2000071011 A JP 2000071011A JP 2000071011 A JP2000071011 A JP 2000071011A JP 4226754 B2 JP4226754 B2 JP 4226754B2
- Authority
- JP
- Japan
- Prior art keywords
- neural network
- intermediate layer
- learning
- elements
- predetermined value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Description
【発明の属する技術分野】
本発明は、予測、診断、制御などの情報処理を行うようにニューラルネットワークを最適化するためのニューラルネットワークの最適化学習方法に関する。
【0002】
【従来の技術】
ニューラルネットワークは、入出力のデータパターンを与えるだけで入出力の非線形な相関関係をモデル化・学習することが可能であり、予測、制御、診断などの情報処理分野において研究・実用化されている。
図8は、多層ニューラルネットワークを説明する概念図である。一般にニューラルネットワークとは、図8に示すように入力層、中間層、出力層からなる多層ニューラルネットワーク構造を有しており、さらに、入力層、中間層、出力層には素子が設けられ、入力層と中間層との素子間、中間層と出力層との素子間に結合を持つ。
【0003】
ここで、中間層は、図8で示したような1層のみに限ることなく複数層にわたることもあり、また、素子数も図8で示したような3個に限定するものでなく任意数の素子とすることができる。このように中間層はブラックボックスであるため隠れ層とも呼ばれている。
なお、説明上、本明細書において入力層における素子を入力層素子と、中間層における素子を中間層素子と、また、出力層における素子を出力層素子と称して説明する。
また、一般的に、中間層素子と出力層素子とには、一定値(図8では1.0である)を出力するバイアス素子が結合されているが、必要時にのみバイアス素子を図示して説明し、それ以外は図示を省略する。
【0004】
結合係数は、ニューラルネットワークの素子間の結合の重みを表すための係数である。結合係数が大きければ、結合が重みを有している、つまり、必要な結合であるとされ、結合係数が小さければ、結合が重みを有していない、つまり、不要な結合であるとされる。
このようなニューラルネットワークの学習とは、複数の入力層素子に入力された入力値に対し、所望の出力値が得られるように入力層と中間層、また、中間層と出力層との結合係数を変更することをいう。
【0005】
ニューラルネットワークの学習では、中間層素子数が多ければより複雑な問題を学習することが可能になる。しかし、中間層素子が多すぎる場合には過学習という問題が発生する。過学習がおきると汎化能力が低下する。
【0006】
例えば、ニューラルネットワークを用いるパターン分類問題で馬の絵のパターンを入力値として馬と判断したことに相当する値を出力させる場合において、中間層素子が多すぎて過学習が起きると特定の馬の絵のパターンからしか馬と判定できなくなり、それ以外の馬の絵のパターンからは馬と判定できなくなる。このように過学習がおきると、学習目標値にノイズがある場合、つまり、学習した馬の絵が良くない場合や、学習目標値と相関の低い入力値が入力された場合、つまり、入力された馬の絵が学習した馬の絵と異なる場合に馬と判定できないというような汎化能力が低下した状態を招く。中間層素子は適切な数とするのが望ましい。
【0007】
このようなニューラルネットワークの学習は、多数提案されている。過学習を考慮しない一般的な学習方法として、従来例1:バックプロパゲーション法(誤差逆伝搬法)がある。このバックプロパゲーション法による学習アルゴリズムでは、ニューラルネットワークからの実際の出力値(以下、ニューロ出力値という。)から学習させたい出力(以下、学習目標値という。)を引いた値(以下、出力誤差という。)の2乗を評価関数とし、この評価関数値が小さくなるように結合係数を増減する。この評価関数は次式のようになる。
【0008】
【数3】
【0009】
ここでニューロ出力値は、結合係数の増減によって変化する値であり、評価関数は結合係数をパラメータとする関数である。学習は、目標値とニューロ出力値とが近い結合係数となるように評価関数の微分により算出される修正量を用いて結合係数の修正を繰り返し行って学習するものである。
【0010】
このバックプロパゲーション法では、ニューラルネットワークの階層数や素子数を事前に決定する必要がある。しかしながら、事前に最適な階層数や素子数に関する情報が得られることはなく、ニューラルネットワークの最適化のためには階層数および素子数を試行錯誤的に探索する必要がある。ニューラルネットワークの内部構造が複雑な場合は、探索に時間と手間がかかる。
また、バックプロパゲーション法により得られた学習後のニューラルネットワークはブラックボックスとなり、中間層素子の意味づけが困難なことが多い。
【0011】
このように、バックプロパゲーション法は、最適な学習・最適な構造を求めることが困難であり、この問題点を改良するために、多くの観点から各種の学習アルゴリズムが提案されている。
【0012】
例えば、従来法2:中間層の重要度順に学習する重畳エネルギー関数法(高橋:「重畳エネルギー関数による多層パーセプトロンの冗長性削減」、電子情報通信学会論文誌、D−II、Vol.J80-D-II,No.9,pp.2532-2540(1997))では、中間層素子の重要度順に学習する学習アルゴリズムが提案されている。この学習アルゴリズムにより学習されるニューラルネットワークは、中間層素子がその重要度順に並ぶ傾向があり、また、不要な中間層素子の生成が抑制される。
【0013】
図9は、重畳エネルギー関数法により学習された中間層素子を説明する説明図である。図9で示すように、この学習アルゴリズムで学習したニューラルネットワークは、重要度の高い中間層素子につながる結合係数が大きく(図9の太線の矢印)、また、重要度の低い中間層素子につながる結合係数は小さく(図9の細線の矢印)なる傾向がある。また、その結果不要な分散表現が抑制される。
【0014】
不要な分散表現について概略説明する。分散表現とは、1つでも良い結合が複数の結合に分割されること、つまり、その結果多くの結合が必要になることを表す。図10は不要な分散表現について説明する説明図であり、簡単化のため、単純なニューラルネットワークを仮定している。このニューラルネットワークの出力層素子への入力値は共に計1.0であるが、図10(a)では2つの中間層素子に分散して情報が伝達されるのに対し、図10(b)では1つの中間層素子を経て情報が伝達されている点が相違する。図10(a)のような場合を分散表現と呼んでいる。
【0015】
重畳エネルギー関数は、このような不要な分散表現を抑制する。続いて、この重畳エネルギー関数について説明する。まず、重畳エネルギー関数で用いる部分ニューロの概念について説明する。図11は、部分ニューロを説明する説明図である。図11に示すようにH個の中間層素子を持つニューラルネットワークにおいて、中間層素子1のみを残し、中間層素子2〜Hの中間層素子を無視した構造を部分ニューロ1とし、中間層素子1、2だけを残し中間層素子3〜Hまでの中間層を無視した構造を部分ニューロ2とし、以下同様に中間層素子1〜iだけを残し中間層素子i+1〜Hまでの中間層を無視した構造を部分ニューロiとしたH個の部分ニューロi(i=1、2、3・・・H)を仮定する。これら部分ニューロの評価関数は、次式のようになる。
【0016】
【数4】
【0017】
ニューラルネットワーク全体の評価関数Jは部分ニューロの評価関数を足して次式になる。
【0018】
【数5】
【0019】
このニューラルネットワーク全体の評価関数Jを重畳エネルギー関数と呼んでいる。この重畳エネルギー関数が最小となるとき、分散表現が抑制され、かつ中間層素子の重要度順に並んだニューラルネットワークとなる。
図12は、重畳エネルギー関数法による学習の流れを示すフローチャートである。ニューラルネットワークの階層数や素子数を決定する初期化を行い(ステップS100)、重畳エネルギー関数法による学習を行い(ステップS110)、学習を所定回数行ったか否かを判定して所定回数行ったならば学習終了と判断する(ステップS120)。
本学習アルゴリズムでは分散表現の発生が抑えられ、より単純なニューラルネットワーク構造となる。
【0020】
また、従来法3:コンパクト構造化法(増田:「隠れユニットの合成による階層型ニューラルネットワークのコンパクト構造化」、計測自動制御学会論文集、Vol.28,No.4,pp.519-527(1992))では、不要の中間層素子を他の中間層素子に融合させることで最適化を行う学習アルゴリズムが提案されている。
【0021】
本学習アルゴリズムにより不要の中間層素子を他の中間層素子に融合する場合、2種類の融合がある。図13は、融合を説明する説明図であり、図13(a)では、入力層に入力される学習パターンの変化に対応して出力値が変化する場合に相関傾向を有する複数の中間層素子を説明し、図13(b)では、入力層の入力値が変化しても出力する値が変化せず一定値を出力するバイアス素子的な振る舞いをする中間層素子を説明する。
【0022】
また、図14は、学習パターンに対する中間層素子の出力を示す出力図であり、図14(a)は、入力層に入力される学習パターンの変化に対応して出力値が変化する場合に相関傾向を有する複数の中間層素子の出力を、また、図14(b)では、入力層の入力値が変化しても出力する値が変化しないバイアス素子的な振る舞いをする中間層素子の出力をそれぞれ説明する。
【0023】
図13(a)で示す2つの中間層素子からは、図14(a)で示すように、同傾向の出力値が出力され(相関の高い中間層素子出力)、また、図13(b)のバイアス素子的な中間層素子からは、図14(b)で示すように、学習パターンが変化するにも拘わらず一定値が出力される(バイアス素子的な振る舞いをする中間層素子出力)。このような相関の高い中間層素子出力およびバイアス素子的な振る舞いをする中間層素子出力を検出する必要がある。
なお、バイアス素子的な振る舞いをする中間層素子とは、バイアス素子とは別個に存在する素子であり、これらは区別される。
【0024】
続いて、これら出力の検出方法について説明する。上述のような中間層素子出力をする中間層素子を検出するため、前記数式2で定義される相関係数γijを導入する。この数式2により、2つの中間層素子からの出力値系列の相関関係を定量的に扱うことができる。図13(a)で示す2個の中間層素子の出力が、図14(a)に示すように、2つの中間層素子からの出力値系列が同傾向の場合には相関係数γijは1に近い値となり、また、出力値系列が逆傾向の場合には相関係数γijは−1に近い値となる。
なお、全く相関関係にない場合は、0に近い値をとるため、相関係数γijにより相関関係が明確に認識できる。この特徴から相関係数の絶対値が1に近い程、相関が高い。
【0025】
しかしながら、図13(b),図14(b)で示すようなバイアス素子的な振る舞いをする中間層素子について、相関係数γijでは判別ができない。そこで、このようなバイアス素子的な振る舞いをする中間層素子を判別するために前記数式1で定義される中間層素子出力値の分散si 2を導入する。
【0026】
図13(b)で示す1個の中間層素子の出力が、図14(b)のような場合、分散si 2は0に近い値となる。中間層素子の出力は、学習パターンの変化にも拘わらず、ほぼ一定となっており、上の層の素子に対してバイアス素子的な振る舞いをしている。
以上、融合する中間層素子の検出について、
▲1▼相関の高い中間層素子については、中間層素子からの出力値の相関係数が高い2つの中間層素子を融合の対象とする。
▲2▼バイアス素子的な振る舞いをする中間層素子については、中間層素子からの出力の分散値が0に近い中間層素子をバイアス素子との融合の対象とする。
【0027】
続いて、▲1▼相関の高い中間層素子についての融合手法について説明する。図15は、ニューラルネットワークの融合を説明する説明図である。
図15(a)で示すような中間層素子i,jからの出力値の相関が高いため図15(b)で示すように中間層素子i,jを融合する場合について説明する。
中間層素子i,jからの出力値系列{OiP},{OjP}の相関が高い場合、2変量Oi,Oj の関係は多変量解析で周知のように、次式の線形回帰式で近似的に表現することができる。
【0028】
【数6】
【0029】
数式6を用いると、上の層に属する任意の素子(中間層素子や出力層素子など)kへの入力は、次式のようになる。
【0030】
【数7】
【0031】
すなわち、図15(b)で示すように中間層素子iおよびバイアス素子から素子kへの結合係数を次式のように修正する。
【0032】
【数8】
【0033】
この修正によって、中間層素子jを中間層素子iに融合することができる。なお、融合を行う際、中間層素子jと中間層素子iとでどちらを融合するかが問題となるが、出力値系列の分散の大きいほうを情報伝達的により活発に機能していると考える。相関の高い中間層素子出力についての融合はこのようになされる。
【0034】
続いて、▲2▼バイアス素子的な振る舞いをする中間層素子とバイアス素子との融合について説明する。
図15(a)で示すような中間層素子iとバイアス素子とを図15(c)で示すように融合する場合について説明する。
中間層素子iからの出力値系列{OiP}の分散が小さい場合、Oiの出力はほぼ一定で、Oiの出力は次式のように平均値で近似できる。
【0035】
【数9】
【0036】
数式9を用いると、上の層に属する任意の素子(中間層素子や出力層素子など)kへの入力は、次式のようになる。
【0037】
【数10】
【0038】
すなわち、図15(c)で示すようにバイアス素子から素子kへの結合係数を次式のように修正する。
【0039】
【数11】
【0040】
この修正によって、バイアス素子的な傾向を有する中間層素子iをバイアス素子に融合することができる。
以上、ニューラルネットワークのコンパクト構造化法ではこのような2通りの融合により中間層素子の削減を行う。
【0041】
図16は、従来のコンパクト構造化の学習アルゴリズムのフローチャートである。図16で示すようにバックプロパゲーション学習(S202)とコンパクト構造化(S203〜S208)を交互に行い、所定回数実施したならば学習終了と判断する(S209)ものである。
【0042】
また、本発明者も複数の最適化アルゴリズムを複合的に組み合わせて学習能力を高めたニューラルネットワークの最適化学習法を発明しており、特願平11−66165号として特許出願されるに至っている。
【0043】
【発明が解決しようとする課題】
このように従来法2,3の各種の学習アルゴリズムは、基本的には、不要な結合・不要な中間層素子の生成を抑制してニューラルネットワークを最適化するもの(従来法2)、もしくは、中間層素子を融合することで中間層素子を削減してニューラルネットワークを最適化するものである(従来法3)。
しかし、ニューラルネットワークの内部構造が複雑で解析困難なため、使い勝手が良い万能な学習アルゴリズムは提案されていないのが実状である。
また、高度な最適化のためのアルゴリズムは、一般的に計算量が厖大であり、学習に時間がかかる欠点がある。
【0044】
以下に、本発明が解決しようとする課題を具体的に示す。
従来法2(重畳エネルギー関数法)の問題点は、
▲1▼不要な中間層素子の抑制が完全でなく、中間層素子が適数よりもはるかに多い状態で学習を行うと、多くの不要中間層素子が残る。
▲2▼不要な中間層素子を自動的に削減することができない。
▲3▼計算量が多く学習時間が長い。
という3点である。
【0045】
▲1▼不要な中間層素子の抑制が完全でないため、中間層素子が適数よりもはるかに多い状態で学習を行うと、多くの不要中間層素子が残る。
中間層素子が最適数より若干多い程度から学習を開始すれば、最適数の中間層素子数に収束するが、この最適数を求める手段はない。最適数よりも多い中間層素子数で学習を開始すると、最適数よりも多い中間層素子数に収束し、最適数に収束しずらい。
【0046】
▲2▼不要中間層素子を自動的に削減することができない。
通常、中間層素子の削除は、学習終了後に人が判断して削除する。また、削除対象とする中間層素子を判断する明確な基準はない。
このように、学習中に自動的に不要中間層素子を削除できなかった。
【0047】
▲3▼計算量が多く学習時間が長い。
不要な中間層素子も含まれるニューラルネットワーク全体の結合係数の値を計算するため、計算量が多くなり、学習時間が長くなっている。
【0048】
また、従来法3(コンパクト構造化法)の問題点は、
▲4▼中間層素子の過融合・過小融合
▲5▼学習初期段階では、中間層素子の融合処理を行うことができない。
という2点である。
【0049】
▲4▼中間層素子の過融合・過小融合
融合を判断するための相関係数および分散のしきい値の設定方法が確立されておらず、不適切な相関係数および分散のしきい値とした場合は、中間層素子が過融合または過小融合することが多い。また、しきい値の調整だけでは、過融合または過小融合を防ぐことが困難な場合もある。
【0050】
▲5▼学習初期段階では、中間層素子の融合処理を行うことができない。
学習初期段階でコンパクト構造化を行うと、良好な融合ができない。コンパクト構造化法は、まず、出力値系列の分散が小さい中間層素子を不要としてバイアス素子に融合し、その後に、出力値系列の相関係数の高い中間層素子どうしを融合する。
しかし、学習初期段階では、各中間層素子どうしの役割が分化しておらず、不要な中間層素子からの出力値系列でも分散および相関係数が大きい。このため、学習初期段階にコンパクト構造化を行うと不要な中間層素子とバイアス素子とを融合できないのみならず、不要な中間層素子と必要な中間層素子とを融合してしまうという問題点もあった。
【0051】
また、特願平11−66165号の発明では、不要中間層素子の自動削除が可能となるように工夫されており、従来法2,3と比較して優れているが、学習終了後に中間層素子を削除する処理である。学習中でも中間層素子を削除できるようにして学習能力を高める学習アルゴリズムが必要とされていた。
【0052】
このようにニューラルネットワークにおいて、中間層素子が最適数のニューラルネットワーク構造を生成する学習アルゴリズムが必要とされている。
また、不要な中間層素子を学習中に削除できるようにして計算時間を少なくし、高速化する学習アルゴリズムが必要とされている。
【0053】
本発明は、以上の問題を改善するものであり、いくつかの有望な学習アルゴリズムを融合し、単体で適用した場合に生じる弱点を他の学習アルゴリズムで補ったり、適用方法を工夫することで、高速かつ効率的にニューラルネットワークを最適化するニューラルネットワークの最適化学習方法を提供することを目的とする。
【0054】
【課題を解決するための手段】
上記課題を解決するため、請求項1に記載の発明は、
ニューラルネットワークの入力層、中間層、および、出力層の素子間の結合係数を増減してニューラルネットワークを最適化するニューラルネットワークの最適化学習方法において、
重畳エネルギー関数法によるニューラルネットワークの学習を行い、
このニューラルネットワークの中間層の中の1個の素子の出力値系列を用いて求めた分散が所定値以下の場合にこの素子をバイアス素子に融合し、また、このニューラルネットワークの中間層の中の2個の素子の出力値系列を用いて求めた相関係数の絶対値が所定値以上の場合にこれら2個の素子を情報伝達的に同じ働きであるとして融合し、次に、中間素子を融合した前後のニューラルネットワークについての学習誤差を求め、学習誤差が予め定められた値を越える場合、または、学習誤差が予め定められた増加率を越える場合は、中間素子を融合した後のニューラルネットワークを破棄して中間素子を融合する前のニューラルネットワークを採用するコンパクト構造化を行い、
学習とコンパクト構造化とを交互に行って中間層の素子を削減しつつニューラルネットワークを最適化することを特徴とする。
【0055】
この請求項1の発明では、重畳エネルギー関数法によるニューラルネットワークの学習と不要な中間層素子を融合するコンパクト構造化を交互に行うことで、学習中に自動的に不要中間層素子を削減する(従来法2の問題▲2▼を解決する)。これによって、不要な中間層素子も含む初期中間層素子が最適数でないような場合の影響が緩和され、最適な中間層素子数に収束しやすくなる(従来法2の問題▲1▼を解決する)。
【0056】
同時に学習中に中間層素子が削減され計算量が減るので学習の高速化が可能である(従来法2の問題▲まる3▼を解決する)。
また、重畳エネルギー関数は、中間層素子の役割を明確にすることができるので、例えば、重要度の低い中間層素子ならば分散および相関係数の不適切なしきい値の設定による過融合・過小融合の影響が緩和される(従来法3の問題▲まる4▼を解決する)。
また、重畳エネルギー関数法により学習初期段階から中間層素子の役割が分化しているため、コンパクト構造化法を学習初期段階から適用することが可能であり(従来法3の問題▲まる5▼を解決する)、さらなる学習の高速化にもつながる。
また、中間層素子の過融合を防止するために、融合前の学習誤差より融合後の学習誤差が一定値、もしくは、一定増加率を越えて増大するときには融合を禁止し、過融合を防ぐ。
【0057】
また、請求項2に記載の発明は、
ニューラルネットワークの入力層、中間層、および、出力層の素子間の結合係数を増減してニューラルネットワークを最適化するニューラルネットワークの最適化学習方法において、
バックプロパゲーション法によるニューラルネットワークの学習を行い、
このニューラルネットワークの中間層の中の1個の素子の出力値系列を用いて求めた分散が所定値以下の場合にこの素子をバイアス素子に融合するコンパクト構造化を行い、
学習とコンパクト構造化とを交互に行って中間層の素子を削減したニューラルネットワークとし、
このニューラルネットワークの中間層の中の1個の素子の出力値系列を用いて求めた分散が所定値以下の場合にこの素子をバイアス素子に融合し、また、このニューラルネットワークの中間層の中の2個の素子の出力値系列を用いて求めた相関係数の絶対値が所定値以上の場合にこれら2個の素子を情報伝達的に同じ働きであるとして融合し、
中間層の素子を削減してニューラルネットワークを最適化することを特徴とする。
【0058】
この請求項2の発明では、バックプロパゲーション法によるニューラルネットワークの学習と中間層素子を融合するコンパクト構造化を交互に行う場合にはバイアス素子的な働きをする中間層素子とバイアス素子とを融合するのみとし、学習終了後に、中間層素子とバイアス素子との融合に加えて、相関の高い出力をする中間層素子同士を融合する(従来法2の問題▲1▼〜▲3▼を解決する)。
コンパクト構造化において過度の融合を防ぐこととなり、分散および相関係数の不適切なしきい値の設定による過融合・過小融合の影響が緩和され(従来法3の問題▲4▼を解決する)、より良好なニューラルネットワークとする。
【0059】
また、請求項3に記載の発明は、
ニューラルネットワークの入力層、中間層、および、出力層の素子間の結合係数を増減してニューラルネットワークを最適化するニューラルネットワークの最適化学習方法において、
重畳エネルギー関数法によるニューラルネットワークの学習を行い、
このニューラルネットワークの中間層の中の1個の素子の出力値系列を用いて求めた分散が所定値以下の場合にこの素子をバイアス素子に融合するコンパクト構造化を行い、
学習とコンパクト構造化とを交互に行って中間層の素子を削減したニューラルネットワークとし、
このニューラルネットワークの中間層の中の1個の素子の出力値系列を用いて求めた分散が所定値以下の場合にこの素子をバイアス素子に融合し、また、このニューラルネットワークの中間層の中の2個の素子の出力値系列を用いて求めた相関係数の絶対値が所定値以上の場合にこれら2個の素子を情報伝達的に同じ働きであるとして融合し、
中間層の素子を削減してニューラルネットワークを最適化することを特徴とする。
【0060】
この請求項3の発明では、重畳エネルギー関数法によるニューラルネットワークの学習と中間層素子を融合するコンパクト構造化とを交互に行う場合にはバイアス素子的な働きをする中間層素子とバイアス素子とを融合するのみとし、学習終了後に、中間層素子とバイアス素子との融合に加えて、相関の高い出力をする中間層素子同士を融合する(従来法2の問題▲1▼〜▲3▼を解決する)。
学習中は、中間層素子をその重要度順に学習するとともにコンパクト構造化において過度の融合を防ぐこととなって分散および相関係数の不適切なしきい値の設定による過融合・過小融合の影響が緩和され(従来法3の問題▲4▼を解決する)、より良好なニューラルネットワークとなる。
また、重畳エネルギー関数法により学習初期段階から中間層素子の役割が分化しているため、コンパクト構造化法を学習初期段階から適用することが可能であり(従来法3の問題▲5▼を解決する)、さらなる学習の高速化にもつながる。
【0061】
また、請求項4に記載の発明は、
請求項2または請求項3に記載のニューラルネットワークの最適化学習方法において、
コンパクト構造化を行う場合にコンパクト構造化の前後のニューラルネットワークについての学習誤差を求め、学習誤差が予め定められた値を越える場合、または、学習誤差が予め定められた増加率を越える場合は、コンパクト構造化後のニューラルネットワークを破棄してコンパクト構造化前のニューラルネットワークを採用することを特徴とする。
【0062】
この請求項4の発明では、中間層素子の過融合を防止するために、融合前の学習誤差より融合後の学習誤差が一定値、もしくは、一定増加率を越えて増大するときには融合を禁止し、過融合を防ぐ。
【0063】
また、請求項5に記載の発明は、
請求項1〜請求項4の何れか1項に記載のニューラルネットワークの最適化学習方法において、
前記分散は、数式1で表され、かつ、前記相関係数は、数式2で表すことを特徴とする。
【0064】
【発明の実施の形態】
以下、図に沿って本発明の各実施形態を説明する。
まず、本発明の実施形態の一部である学習アルゴリズムAでは図16で示す従来法3の学習アルゴリズムを改良し、バックプロパゲーション法による学習の代わりに重畳エネルギー関数法による学習とし、この重畳エネルギー関数法による学習とコンパクト構造化を交互に行うようにした。この学習アルゴリズムAについて説明する。
この学習アルゴリズムAは、汎用計算機・制御装置等にプログラムされ、コンピュータにこの学習アルゴリズムAを行わせることを想定して説明する。なお、後述の他の学習アルゴリズムも同様である。
【0065】
図1は本発明の実施形態の一部である学習アルゴリズムAのフローチャートである。
ステップS1は、初期化処理を行うステップである。学習アルゴリズムAにおける初期化処理とは、中間層の階層数、各層の中間層素子数、分散のしきい値、相関係数のしきい値、学習回数などを入力する。
ステップS2は、重畳エネルギー関数法による学習を行うステップである。重畳エネルギー関数法により求めたニューラルネットワークの結合係数を新しい結合係数とし、古い結合係数と書き換えて保存する。
【0066】
ステップS3は、コンパクト構造化を実行するか否かを判定するステップである。判定方法としては、重畳エネルギー関数法による学習回数が所定回数に達した場合や、学習誤差が減少しなくなったなどの場合が考えられるが、本学習アルゴリズムAでは、学習回数が所定回数に達したか否かについて判定するものとする。学習回数が所定回数に達しているならばステップS4へ進み、学習回数が所定回数に達していないならば初期段階(つまり中間層素子は充分な分化が行われていない段階)としてステップS9へジャンプする。
【0067】
ステップS4は、中間層素子からの出力値系列を用いて分散を算出するステップである。具体的には、複数ある中間層素子の出力値系列を用いて全ての中間層素子についての分散を求めるものであり、コンパクト構造化法で説明した数式1を用いて算出することとなる。
ステップS5は、ステップS4で算出した複数の分散について所定値以下か否かを判定するステップである。複数の分散のうち一つでも所定値以下(バイアス素子へ融合可)と判断するならばステップS8へジャンプし、また、全ての分散が所定値を越える(バイアス素子へ融合不可)と判断するならばステップS6へ進む。
【0068】
ステップS6は、中間層素子からの出力値系列を用いて相関係数を算出するステップである。具体的には、複数ある中間層素子からある2つの中間層素子を選択してこれら2つの中間層素子の出力値系列を用いて相関係数を求めるという処理を全ての中間層素子で想定できる組み合わせについて行うものであり、コンパクト構造化法で説明した数式2を用いて算出することとなる。
例えば、仮に中間層素子1,2,3と3個ある場合には、中間層素子1,2の相関、中間層素子2,3の相関、および中間層素子1,3の相関について相関係数を算出することとなる。
【0069】
ステップS7は、ステップS4で算出した複数の相関係数について所定値以上か否かを判定するステップである。相関係数は、先に説明したように、相似度を示す−1〜+1の指標である。±1に近いと相関が高く、0に近いと相関がないことを表す。相関係数の絶対値が所定値以上(2つの中間層素子が融合可)と判断するならばステップS8へ進み、また、相関係数の絶対値が所定値未満(2つの中間層素子が融合不可)と判断するならばステップS9へジャンプする。
【0070】
ステップS8は、融合を行うステップである。ステップS5からジャンプしてきたならば中間層素子とバイアス素子との融合を、また、ステップS7から来たならば中間層素子同士の融合を行う。
なお、複数の中間層素子の分散を算出して多数の分散が所定値以下の場合、最も分散が小さい中間層素子とバイアス素子とを融合させる。1度に融合可能な全ての素子を融合する場合も考えられるが、1度のコンパクト構造化に対し1回に融合制限した方が良好な学習結果が得られることが多い。
同様に、相関係数の絶対値が所定値以上の中間層素子の組み合わせが多数ある場合、相関係数の絶対値が最も大きい中間層素子の組み合わせを融合させる。この場合も、1度のコンパクト構造化に対し1回に融合制限した方が良好な結果が得られることが多いからである。
【0071】
ステップS9は、学習終了か否かを判断するステップである。具体的には学習回数が所定回数に達したか否かを判断している。学習終了しない場合は、ステップS2の先頭へジャンプして再度重畳エネルギー関数法により学習を行い、学習終了の場合はフローを終了することととなる。
【0072】
学習アルゴリムAでは、重畳エネルギー関数法を用いることで、中間層素子の役割の分化が促進され、通常のコンパクト構造化法よりも早い段階で中間層素子を融合させることが可能である。
また、学習アルゴリムAでは、コンパクト構造化法により中間層素子が削減されるため、計算量が減少し学習時間を短縮することが可能である。
さらに、重畳エネルギー関数は不要な中間層素子の生成を抑制するアルゴリズムであり、中間層素子の役割が明確な構造になりやすい。そのため不要な中間層素子と重要な中間層素子の判定は容易であり、コンパクト構造化法のしきい値の値が多少不適切でもその影響は緩和され、最適な中間層素子数が選択されやすくなる。
【0073】
続いて他の実施形態を説明する。本実施形態の学習アルゴリズムBでは、中間層素子とバイアス素子との融合のみを行うコンパクト構造化(以下、単にコンパクト構造化(1)という)、および、中間層素子とバイアス素子との融合と中間層素子同士の融合という2種類の融合を行うコンパクト構造化(以下、コンパクト構造化(2)という)を準備する。そして、バックプロパゲーション法による学習とコンパクト構造化(1)を交互に行うようにし、学習終了後にコンパクト構造化(2)を行うアルゴリズムとした。
【0074】
この学習アルゴリムBでは、学習中は中間層素子同士の融合を制限し、学習終了後に中間層素子同士の融合を行う。ニューラルネットワークの各中間層素子は、学習の進行にともない成長し役割が分化する。学習初期段階において不要な中間層素子(バイアス素子的であって分散が小さい)であっても学習の進行にともない重要な中間層素子に成長する可能性がある。また学習初期段階において出力値系列が同じような中間層素子(相関が高い)同士であっても学習の進行にともない出力値系列が変化して相関が低くなる可能性もある。そこで、学習中は融合を制限し、学習終了後に中間層素子の役割が充分に明確になった時点で融合する。この学習アルゴリズムBについて説明する。
【0075】
図2は本発明の実施形態の学習アルゴリズムBのフローチャートである。
ステップS11は、初期化処理を行うステップである。中間層の階層数、各層の中間層素子数、分散のしきい値、相関係数のしきい値、学習回数などを入力する。
ステップS12は、バックプロパゲーション法による学習を行うステップである。バックプロパゲーション法により求めたニューラルネットワークの結合係数を新しい結合係数とし、書き換えて保存する。
【0076】
ステップS13は、コンパクト構造化を実行するか否かを判定するステップである。本学習アルゴリズムBでも、学習回数が所定回数に達したか否かについて判定するものとする。学習回数が所定回数に達しているならばステップS14へ進み、学習回数が所定回数に達していないならば初期段階(つまり中間層素子は充分な分化が行われていない段階)としてステップS17へジャンプする。
【0077】
ステップS14は、中間層素子からの出力値系列を用いて分散を算出するステップである。具体的には、複数ある中間層素子の出力値系列を用いて全ての中間層素子についての分散を求めるものであり、コンパクト構造化法で説明した数式1を用いて算出することとなる。
ステップS15は、ステップS14で算出した複数の分散について所定値以下か否かを判定するステップである。複数の分散の一つでも所定値以下(バイアス素子へ融合可)と判断するならばステップS16へ進み、また、全ての分散が所定値を越える(バイアス素子へ融合不可)と判断するならばステップS17へジャンプする。
【0078】
ステップS16は、融合を行うステップである。中間層素子とバイアス素子との融合を行う。
なお、複数の中間層素子の分散を算出して多数の分散が所定値以下の場合、最も分散が小さい中間層素子とバイアス素子とを融合させる。1度に融合可能な全ての素子を融合する場合も考えられるが、1度のコンパクト構造化に対し1回に融合制限した方が良好な学習結果が得られることが多い。
【0079】
ステップS17は、学習終了か否かを判断するステップである。具体的には学習回数が所定回数に達したか否かを判断している。学習終了しない場合は、ステップS12の先頭へジャンプして再度バックプロパゲーション法により学習を行う。学習終了の場合はコンパクト構造化(2)を行うためステップS18へ進む。
【0080】
ステップS18は、中間層素子からの出力値系列を用いて分散を算出するステップである。先の数式1を用いて算出することとなる。
ステップS19は、ステップS18で算出した複数の分散について所定値以下か否かを判定するステップである。複数の分散の一つでも所定値以下(バイアス素子へ融合可)と判断するならばステップS22へジャンプし、また、全ての分散が所定値を越える(バイアス素子へ融合不可)と判断するならばステップS20へ進む。
【0081】
ステップS20は、中間層素子からの出力値系列を用いて2つの中間層素子の相関係数を算出するステップである。数式2を用いて算出することとなる。
ステップS21は、ステップS20で算出した複数の相関係数について所定値以上か否かを判定するステップである。複数のうち1つでも相関係数の絶対値が所定値以上(2つの中間層素子が融合可)と判断するならばステップS22へ進み、また、相関係数が所定値未満(2つの中間層素子の融合不可)と判断するならばフローから抜けて終了する。
【0082】
ステップS22は、融合を行うステップである。ステップS19からジャンプしてきたならば中間層素子とバイアス素子との融合を、また、ステップS21から来たならば中間層素子同士の融合を行い、ステップS18へジャンプする。
なお、コンパクト構造化(2)においても、複数の中間層素子の分散を算出して多数の分散が所定値以下の場合、最も分散が小さい中間層素子とバイアス素子とを融合させ、同様に、相関係数の絶対値が所定値以上の中間層素子の組み合わせが多数ある場合、最も相関係数の絶対値が大きい中間層素子の組み合わせを融合させる。
いずれも、1度のコンパクト構造化に対し1回に融合制限した方が良好な結果が得られることが多いからである。
【0083】
この学習アルゴリズムBでは、コンパクト構造化法の最大の欠点である不適切なしきい値の設定による過融合の発生を防止でき、良好な学習を行うことができる。
また、学習アルゴリムBでは、コンパクト構造化法により中間層素子が削減されるため、計算量が減少し学習時間を短縮することが可能である。
【0084】
続いて他の実施形態を説明する。本実施形態の学習アルゴリズムCでは、図2で示す学習アルゴリズムBを改良し、バックプロパゲーション法による学習の代わりに重畳エネルギー関数法による学習とし、重畳エネルギー関数法による学習とコンパクト構造化(1)を交互に行うようにし、学習終了後にコンパクト構造化(2)を行うアルゴリズムとした。
【0085】
この学習アルゴリムCでは、学習中は中間層素子同士の融合を制限し、学習終了後に中間層素子同士の融合を行う。ニューラルネットワークの各中間層素子は、学習の進行にともない成長し役割が分化する。学習初期段階において不要な中間層素子(バイアス素子的であって分散が小さい)であっても学習の進行にともない重要な中間層素子に成長する可能性があり、また、学習初期段階において出力値系列が同じような中間層素子(相関が高い)同士であっても学習の進行にともない出力値系列が変化して相関が低くなる可能性もある。さらに、重畳エネルギー関数は不要中間層素子の生成を抑制するアルゴリズムであり、学習が進むにつれて中間層素子の役割が明確な構造になりやすい。そのため不要な中間層素子と重要な中間層素子の判定は学習終了後は容易である。
そこで、学習中は融合を制限し、学習終了後に中間層素子の役割が充分に明確になった時点で融合する。この学習アルゴリズムCについて説明する。
【0086】
図3は本発明の実施形態の学習アルゴリズムCのフローチャートである。
ステップS31は、初期化処理を行うステップである。中間層の階層数、各層の中間層素子数、分散のしきい値、相関係数のしきい値、学習回数などを入力する。
ステップS32は、重畳エネルギー関数法による学習を行うステップである。重畳エネルギー関数法により求めたニューラルネットワークの結合係数を新しい結合係数とし、書き換えて保存する。
【0087】
ステップS33は、コンパクト構造化を実行するか否かを判定するステップである。本学習アルゴリズムCでも、学習回数が所定回数に達したか否かについて判定するものとする。学習回数が所定回数に達しているならばステップS34へ進み、学習回数が所定回数に達していないならば初期段階(つまり中間層素子は充分な分化が行われていない段階)としてステップS37へジャンプする。
【0088】
ステップS34は、中間層素子からの出力値系列を用いて分散を算出するステップである。具体的には、複数ある中間層素子の出力値系列を用いて全ての中間層素子についての分散を求めるものであり、コンパクト構造化法で説明した数式1を用いて算出することとなる。
ステップS35は、ステップS34で算出した複数の分散について所定値以下か否かを判定するステップである。複数の分散の一つでも所定値以下(バイアス素子へ融合可)と判断するならばステップS36へ進み、また、全ての分散が所定値を越える(バイアス素子へ融合不可)と判断するならばステップS37へジャンプする。
【0089】
ステップS36は、融合を行うステップである。中間層素子とバイアス素子との融合を行う。
なお、複数の中間層素子の分散を算出して多数の分散が所定値以下の場合、最も分散が小さい中間層素子とバイアス素子とを融合させる。1度に融合可能な全ての素子を融合する場合も考えられるが、1度のコンパクト構造化に対し1回に融合制限した方が良好な学習結果が得られることが多い。
【0090】
ステップS37は、学習終了か否かを判断するステップである。具体的には学習回数が所定回数に達したか否かを判断している。学習終了しない場合は、ステップS32の先頭へジャンプして再度重畳エネルギー関数法により学習を行い、学習終了の場合はコンパクト構造化(2)を行うためステップS38へ進む。
【0091】
ステップS38は、中間層素子からの出力値系列を用いて分散を算出するステップである。先の数式1を用いて算出することとなる。
ステップS39は、ステップS38で算出した複数の分散について所定値以下か否かを判定するステップである。複数の分散の一つでも所定値以下(バイアス素子へ融合可)と判断するならばステップS42へジャンプし、また、全ての分散が所定値を越える(バイアス素子へ融合不可)と判断するならばステップS40へ進む。
【0092】
ステップS40は、中間層素子からの出力値系列を用いて2つの中間層素子の相関係数を算出するステップである。数式2を用いて算出することとなる。
ステップS41は、ステップS40で算出した複数の相関係数について所定値以上か否かを判定するステップである。複数のうち1つでも相関係数の絶対値が所定値以上(2つの中間層素子が融合可)と判断するならばステップS42へ進み、また、相関係数が所定値未満(2つの中間層素子の融合不可)と判断するならばフローから抜けて終了する。
【0093】
ステップS42は、融合を行うステップである。ステップS39からジャンプしてきたならば中間層素子とバイアス素子との融合を、また、ステップS41から来たならば中間層素子同士の融合を行い、ステップS38にジャンプする。
なお、コンパクト構造化(2)においても、複数の中間層素子の分散を算出して多数の分散が所定値以下の場合、最も分散が小さい中間層素子とバイアス素子とを融合させ、同様に、相関係数の絶対値が所定値以上の中間層素子の組み合わせが多数ある場合、最も相関係数の絶対値が大きい中間層素子の組み合わせを融合させる。
いずれも、1度のコンパクト構造化に対し1回に融合制限した方が良好な結果が得られることが多いからである。
【0094】
この学習アルゴリズムCでは、コンパクト構造化法の最大の欠点である不適切なしきい値の設定による過融合の発生を防止でき、良好な学習を行うことができる。
また、学習アルゴリムCでは、コンパクト構造化法により中間層素子が削減されるため、計算量が減少し、学習時間を短縮することが可能である。
さらに、重畳エネルギー関数は不要な中間層素子の生成を抑制するアルゴリズムであり、中間層素子の役割が明確な構造になりやすい。そのため不要な中間層素子と重要な中間層素子の判定は容易であり、コンパクト構造化法のしきい値の値が多少不適切でもその影響は緩和され、最適な中間層素子数が選択されやすくなる。
さらに、この学習アルゴリズムCでは、学習アルゴリズムAでは完全に防ぐことはできない過融合の発生を著しく低減する。
【0095】
これら学習アルゴリズムA〜Cのコンパクト構造化法をさらに改良することにより、全体の学習アルゴリズムも改良することができる。このような改良コンパクト構造化法を説明する。図4は、コンパクト構造化法のフローチャートである。このフローチャートでは、図1で示したコンパクト構造化法、および、図2,図3で示したコンパクト構造化法(2)を改良するものである。
【0096】
ステップS51は、中間層素子からの出力値系列を用いて分散を算出するステップである。先の数式1を用いて算出することとなる。
ステップS52は、ステップS51で算出した複数の分散について所定値以下か否かを判定するステップである。複数の分散のうち一つでも所定値以下(バイアス素子へ融合可)と判断するならばステップS55へジャンプし、また、全ての分散が所定値を越える(バイアス素子へ融合不可)と判断するならばステップS53へ進む。
【0097】
ステップS53は、中間層素子からの出力値系列を用いて2つの中間層素子の相関係数を算出するステップである。数式2を用いて算出することとなる。
ステップS54は、ステップS53で算出した複数の相関係数について所定値以上か否かを判定するステップである。複数のうち1つでも相関係数の絶対値が所定値以上(2つの中間層素子が融合可)と判断するならばステップS55へ進み、また、相関係数が所定値未満(2つの中間層素子の融合不可)と判断するならばフローから抜けて終了する。
【0098】
ステップS55は、ニューラルネットワークを保存するステップである。具体的には、ニューラルネットワークの結合係数を記憶保存する。
ステップS56は、融合前の誤差を検出するステップである。ステップS55で記憶保存されているニューラルネットワークを用いて実際の出力であるニューロ出力値と学習目標値との差である出力誤差を検出し、記憶保存しておく。
【0099】
ステップS57は、融合して新たにニューラルネットワークを生成するステップである。ステップS52からジャンプしてきたならば中間層素子とバイアス素子との融合を、また、ステップS54から来たならば中間層素子同士の融合を行う。
なお、改良コンパクト構造化法においても、複数の中間層素子の分散を算出して多数の分散が所定値以下の場合、最も分散が小さい中間層素子とバイアス素子とを融合させ、同様に、相関係数の絶対値が所定値以上の中間層素子の組み合わせが多数ある場合、最も相関係数の絶対値が大きい中間層素子の組み合わせを融合させる。
いずれも、1度のコンパクト構造化に対し1回に融合制限した方が良好な結果が得られることが多いからである。
【0100】
ステップS58は、融合後の誤差を検出するステップである。ステップS57で生成した新しいニューラルネットワークを用いて実際の出力であるニューロ出力値と学習目標値との差である出力誤差を検出し、記憶保存する。
ステップS59は、融合前後に求めた出力誤差を比較して出力誤差が悪化したか否かを判定するステップである。出力誤差が増えた、つまり、出力誤差が悪化した場合、ステップS60へ進み、出力誤差が減った、つまり、出力誤差が改善された場合フローから抜けて終了する。
【0101】
ステップS60は、ステップS55で保存した融合前のニューラルネットワークを復元するステップである。具体的には、ニューラルネットワークの結合係数を元に戻す。その後フローを抜けて終了する。
【0102】
このように融合を実施する前に、学習誤差が予め定められた値を越える場合、または、学習誤差が予め定められた増加率を越える場合は、融合前のニューラルネットワークに戻し、学習誤差が改善するときのみ融合を実施することで、コンパクト構造化法の過融合を防止し、学習アルゴリズムA〜Cを改善する。
【0103】
【実施例】
続いて、本発明の一部である学習アルゴリズムAに係る実施例について説明する。学習アルゴリズムAに係る実施例では、重畳エネルギー関数により中間層素子の役割が明確になるため、学習初期段階よりコンパクト構造化法が適用可能となることを示す。
図5は、ニューラルネットワークの構造例を示す説明図である。本実施例では、図5で示すように、9個の中間層素子をもつニューラルネットワークとしている。このニューラルネットワークに次式のような関数を学習させる。
【0104】
【数12】
【0105】
学習アルゴリズムAに係る実施例では、バックプロパゲーション法と重畳関数エネルギー法とでニューラルネットワークを学習させることで両者の比較を試みる。これは、図16で示した従来法3によるバックプロパゲーション法・コンパクト構造化法による学習と、図1で示した本発明の実施形態の一部である学習アルゴリズムAによる重畳エネルギー関数法・コンパクト構造化法による学習とを比較するものである。
図6,図7は、学習中のニューラルネットワークの中間層素子の分散変化を示す特性図であり、図6はバックプロパゲーション法・コンパクト構造化法による学習を、また、図7では重畳エネルギー関数法・コンパクト構造化法による学習をそれぞれ行った場合の分散変化を示す。
【0106】
分散は、中間層素子の重要度を示す評価指標としてよく使われる。つまり、分散が小さい素子は学習パターンの入力値系列が変化しても出力値系列が変わらない不要な素子であり、分散が大きい素子は学習パターンの入力値系列が変化するにつれて出力値系列が変化する重要な素子と見なすことができる。
図6,図7を比較すると重畳エネルギー関数法の方がバックプロパゲーション法よりも、学習初期段階で分散が大きい、つまり、不要な中間層素子と重要な中間層素子が早く、しかも明確に分化していることが分かる。
このように、重畳エネルギー関数法を適用することで、学習初期段階より、分散の小さい不要な中間層素子をバイアス素子に融合することが可能である。また、不要な中間層素子と重要な中間層素子の分散の差は大きく明確であるため、しきい値の設定が容易であり、最適な融合が容易である。
【0107】
続いて、第1実施例について説明する。
本実施例では各学習方法別に学習速度、ニューラルネットワークの最適化の度合いを示す。なお、学習する関数は学習アルゴリズムAに係る実施例の数式12と同様であり、説明を省略する。本実施例では比較のため6通りの方法で学習した。これら学習について、以下、検討1〜検討6として説明する。検討1〜検討3については表1として示されている。
【0108】
【表1】
【0109】
検討1は、通常(従来法1)のバックプロパゲーション法によるニューラルネットワークの最適化である。
検討2は、通常(従来法2)の重畳エネルギー関数法である。最も誤差が小さいものの、学習時間が最長という欠点がある。
検討3は、通常(従来法3)のコンパクト構造化法である。学習時間が最短ではあるが、学習誤差が大きい。融合があまり起こらず中間層素子の数が多いにもかかわらず学習誤差が大きいのが問題である。このようにコンパクト構造化法は、しきい値等の設定が難しく、学習に悪影響を与えるというおそれがある。
【0110】
検討4〜検討6については表2として示されている。
【0111】
【表2】
【0112】
検討4は、学習アルゴリズムAである。検討3で示した通常(従来法3)のコンパクト構造化法よりも学習誤差が小さく、かつ、通常の重畳エネルギー関数法よりも学習時間が短い。学習誤差は、検討1(バックプロパゲーション法)の学習誤差よりも若干良い。
検討5は、学習アルゴリズムB(請求項2)と改良されたコンパクト構造化法(請求項4)の発明である。本発明はコンパクト構造化の過融合防止に力点をおいている。よって、コンパクト構造化法の過融合の欠点を意識することなく安心して使用することができる。
【0113】
本実施例では、融合が全く起きず検討1(バックプロパゲーション法)と同じ結果になってしまった。その原因は以下と考えられる。バックプロパゲーションをベースにした学習方法であるため、中間層素子の分化が進まず、分散の小さい素子がなく学習中に過融合が防止された(請求項2)。また、学習終了後、相関の高い中間層素子が多くあったが、学習誤差が規定値以上増加するため、同様に過融合が防止された(請求項4)。
【0114】
検討6は、学習アルゴリズムC(請求項3)と改良されたコンパクト構造化法(請求項4)とを組み合わせた発明である。学習誤差は検討2(重畳エネルギー関数法)とほぼ同程度であり、かつ学習時間は検討2(重畳エネルギー関数法)よりも短い。中間層素子の数も少なく、学習時間と学習誤差のバランスもとれた方法と言える。
【0115】
【発明の効果】
本発明によれば、いくつかの有望な学習アルゴリズムを融合し、単体で適用した場合に生じる弱点を他の学習アルゴリズムで補ったり、適用方法を工夫することで、高速かつ効率的にニューラルネットワークを最適化するニューラルネットワークの最適化学習方法を提供することができる。
【図面の簡単な説明】
【図1】 本発明の実施形態の一部である学習アルゴリズムAのフローチャートである。
【図2】 本発明の実施形態の学習アルゴリズムBのフローチャートである。
【図3】 本発明の実施形態の学習アルゴリズムCのフローチャートである。
【図4】 コンパクト構造化法のフローチャートである。
【図5】 ニューラルネットワークの構造例を示す説明図である。
【図6】 学習中のニューラルネットワークの中間層素子の分散変化を示す特性図である。
【図7】 学習中のニューラルネットワークの中間層素子の分散変化を示す特性図である。
【図8】 多層ニューラルネットワークを説明する概念図である。
【図9】 重畳エネルギー関数法により学習された中間層素子を説明する説明図である。
【図10】 不要な分散表現について説明する説明図である。
【図11】 部分ニューロを説明する説明図である。
【図12】 重畳エネルギー関数法による学習の流れを示すフローチャートである。
【図13】 融合を説明する説明図である。
【図14】 学習パターンに対する中間層素子の出力を示す出力図である。
【図15】 ニューラルネットワークの融合を説明する説明図である。
【図16】 従来のコンパクト構造化の学習アルゴリズムのフローチャートである。
Claims (5)
- ニューラルネットワークの入力層、中間層、および、出力層の素子間の結合係数を増減してニューラルネットワークを最適化するニューラルネットワークの最適化学習方法において、
重畳エネルギー関数法によるニューラルネットワークの学習を行い、
このニューラルネットワークの中間層の中の1個の素子の出力値系列を用いて求めた分散が所定値以下の場合にこの素子をバイアス素子に融合し、また、このニューラルネットワークの中間層の中の2個の素子の出力値系列を用いて求めた相関係数の絶対値が所定値以上の場合にこれら2個の素子を情報伝達的に同じ働きであるとして融合し、次に、中間素子を融合した前後のニューラルネットワークについての学習誤差を求め、学習誤差が予め定められた値を越える場合、または、学習誤差が予め定められた増加率を越える場合は、中間素子を融合した後のニューラルネットワークを破棄して中間素子を融合する前のニューラルネットワークを採用するコンパクト構造化を行い、
学習とコンパクト構造化とを交互に行って中間層の素子を削減しつつニューラルネットワークを最適化することを特徴とするニューラルネットワークの最適化学習方法。 - ニューラルネットワークの入力層、中間層、および、出力層の素子間の結合係数を増減してニューラルネットワークを最適化するニューラルネットワークの最適化学習方法において、
バックプロパゲーション法によるニューラルネットワークの学習を行い、
このニューラルネットワークの中間層の中の1個の素子の出力値系列を用いて求めた分散が所定値以下の場合にこの素子をバイアス素子に融合するコンパクト構造化を行い、
学習とコンパクト構造化とを交互に行って中間層の素子を削減したニューラルネットワークとし、
このニューラルネットワークの中間層の中の1個の素子の出力値系列を用いて求めた分散が所定値以下の場合にこの素子をバイアス素子に融合し、また、このニューラルネットワークの中間層の中の2個の素子の出力値系列を用いて求めた相関係数の絶対値が所定値以上の場合にこれら2個の素子を情報伝達的に同じ働きであるとして融合し、
中間層の素子を削減してニューラルネットワークを最適化することを特徴とするニューラルネットワークの最適化学習方法。 - ニューラルネットワークの入力層、中間層、および、出力層の素子間の結合係数を増減してニューラルネットワークを最適化するニューラルネットワークの最適化学習方法において、
重畳エネルギー関数法によるニューラルネットワークの学習を行い、
このニューラルネットワークの中間層の中の1個の素子の出力値系列を用いて求めた分散が所定値以下の場合にこの素子をバイアス素子に融合するコンパクト構造化を行い、
学習とコンパクト構造化とを交互に行って中間層の素子を削減したニューラルネットワークとし、
このニューラルネットワークの中間層の中の1個の素子の出力値系列を用いて求めた分散が所定値以下の場合にこの素子をバイアス素子に融合し、また、このニューラルネットワークの中間層の中の2個の素子の出力値系列を用いて求めた相関係数の絶対値が所定値以上の場合にこれら2個の素子を情報伝達的に同じ働きであるとして融合し、
中間層の素子を削減してニューラルネットワークを最適化することを特徴とするニューラルネットワークの最適化学習方法。 - 請求項2または請求項3に記載のニューラルネットワークの最適化学習方法において、
コンパクト構造化を行う場合にコンパクト構造化の前後のニューラルネットワークについての学習誤差を求め、学習誤差が予め定められた値を越える場合、または、学習誤差が予め定められた増加率を越える場合は、コンパクト構造化後のニューラルネットワークを破棄してコンパクト構造化前のニューラルネットワークを採用することを特徴とするニューラルネットワークの最適化学習方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000071011A JP4226754B2 (ja) | 2000-03-09 | 2000-03-09 | ニューラルネットワークの最適化学習方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000071011A JP4226754B2 (ja) | 2000-03-09 | 2000-03-09 | ニューラルネットワークの最適化学習方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001256212A JP2001256212A (ja) | 2001-09-21 |
JP4226754B2 true JP4226754B2 (ja) | 2009-02-18 |
Family
ID=18589664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000071011A Expired - Lifetime JP4226754B2 (ja) | 2000-03-09 | 2000-03-09 | ニューラルネットワークの最適化学習方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4226754B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002222409A (ja) * | 2001-01-26 | 2002-08-09 | Fuji Electric Co Ltd | ニューラルネットワークの最適化学習方法 |
JP6287999B2 (ja) | 2015-08-07 | 2018-03-07 | トヨタ自動車株式会社 | ニューラルネットワーク学習装置 |
CN107103171B (zh) * | 2016-02-19 | 2020-09-25 | 阿里巴巴集团控股有限公司 | 机器学习模型的建模方法及装置 |
JP2017182319A (ja) * | 2016-03-29 | 2017-10-05 | 株式会社メガチップス | 機械学習装置 |
KR102606825B1 (ko) | 2017-09-13 | 2023-11-27 | 삼성전자주식회사 | 뉴럴 네트워크 모델을 변형하는 뉴럴 네트워크 시스템, 이를 포함하는 어플리케이션 프로세서 및 뉴럴 네트워크 시스템의 동작방법 |
CN112884123B (zh) * | 2021-02-23 | 2024-03-01 | 杭州海康威视数字技术股份有限公司 | 神经网络优化方法、装置、电子设备及可读存储介质 |
-
2000
- 2000-03-09 JP JP2000071011A patent/JP4226754B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2001256212A (ja) | 2001-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7333923B1 (en) | Degree of outlier calculation device, and probability density estimation device and forgetful histogram calculation device for use therein | |
CN107679859B (zh) | 一种基于迁移深度学习的风险识别方法以及系统 | |
JP2003508835A (ja) | 進化アルゴリズムを用いたニューラルネットワークのアーキテクチャの改良方法 | |
JP4226754B2 (ja) | ニューラルネットワークの最適化学習方法 | |
JPH0738186B2 (ja) | 自己拡張形ニユーラル・ネットワーク | |
CN108040008B (zh) | 在线服务功能链的跨域部署方法 | |
CN111144570A (zh) | 一种联合逻辑规则和置信度的知识表示方法 | |
CN112580728B (zh) | 一种基于强化学习的动态链路预测模型鲁棒性增强方法 | |
CN109508781A (zh) | 神经网络节点的自增减方法、装置及存储介质 | |
KR102460485B1 (ko) | 정책 벡터 기반 인공신경망 탐색 장치 및 방법 | |
CN113077895B (zh) | 基于软件定义的智能化hie平台的构建方法及电子设备 | |
Ma et al. | Diminishing batch normalization | |
JP7412632B2 (ja) | 再学習システム及び再学習方法 | |
JP2002222409A (ja) | ニューラルネットワークの最適化学習方法 | |
JP2000259598A (ja) | ニューラルネットワークの最適化学習方法 | |
CN117035050A (zh) | 一种基于记忆检索的强化学习策略增强方法 | |
Lin et al. | Image backlight compensation using neuro-fuzzy networks with immune particle swarm optimization | |
JP2002236906A (ja) | 積結合型ニューラルネットワークの最適化学習方法 | |
JPH0991264A (ja) | ニューラルネットワーク構造最適化装置ならびに方法 | |
WO2022009433A1 (ja) | 情報処理装置,情報処理方法および情報処理プログラム | |
CN112906814A (zh) | 基于nas网络的目标检测方法及系统 | |
Tchendjou et al. | Fuzzy logic modeling for objective image quality assessment | |
JP2020052814A (ja) | ニューラルネットワーク、学習装置、学習方法、およびプログラム | |
Aran et al. | An incremental neural network construction algorithm for training multilayer perceptrons | |
JP5011529B2 (ja) | データ処理装置、データ処理方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20031226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050420 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050714 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060703 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060704 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081001 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081127 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4226754 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20081215 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A072 Effective date: 20090414 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121205 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121205 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131205 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |