JP3631443B2 - Neural network connection weight optimization apparatus, method and program - Google Patents

Neural network connection weight optimization apparatus, method and program Download PDF

Info

Publication number
JP3631443B2
JP3631443B2 JP2001155478A JP2001155478A JP3631443B2 JP 3631443 B2 JP3631443 B2 JP 3631443B2 JP 2001155478 A JP2001155478 A JP 2001155478A JP 2001155478 A JP2001155478 A JP 2001155478A JP 3631443 B2 JP3631443 B2 JP 3631443B2
Authority
JP
Japan
Prior art keywords
neural network
predetermined
neural
function
connection weight
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
Application number
JP2001155478A
Other languages
Japanese (ja)
Other versions
JP2002352215A (en
Inventor
佐藤  誠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001155478A priority Critical patent/JP3631443B2/en
Publication of JP2002352215A publication Critical patent/JP2002352215A/en
Application granted granted Critical
Publication of JP3631443B2 publication Critical patent/JP3631443B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ニューラルネットの好ましさを決定するモデル評価関数に基づいてニューラルネットの結合重みを最適化するためのニューラルネット結合重み最適化装置及び方法に関する。
【0002】
【従来の技術】
ニューラルネットは、高度な情報処理機能を人工的に実現するために開発されたコンピュータ技術である。すなわち、ニューラルネットは、コンピュータを使用して脳の神経回路などを模擬した人工知能の技術であり、情報を入力するための入力素子の集まりである入力層、この入力から答えがどのような値になるのかを出力する出力素子の集まりである出力層、およびそれらの層の中間にある中間素子の集まりである中間層から構成され、各層の各素子は、結合重みパラメータを持つ多くの結合によって連結しあっている。
【0003】
ニューラルネットは、何らかのモデル評価関数に基づいて、高い評価関数値(評価関数によっては低い評価関数値)をとるような結合重みパラメータの最適化を行うことにより、高度な情報処理機能を獲得することができる。
【0004】
ニューラルネットの結合重みパラメータの最適化方法としては、誤差逆伝播法(例えば、Rumelhalt, D.E., G.E.Hinton, and R.J.Williams., “Learning representations by back−propagating errors.”, Nature 323, pp.533−536., 1986.)などがあるが、すべてのパラメータに対して偏微分計算が可能であるなどモデル評価関数に多くの制約が必要になるという問題点がある。
【0005】
また、一般的なモデル評価関数を対象とするパラメータ最適化法としては、遺伝的アルゴリズム(例えば、Goldberg, D.E., “Genetic Algorithms in Search, Optimization, and Machine Learning.”, Addison−Wesley Publishing Company Inc., 1989.)などがあるが、ニューラルネットの結合重み値を単に集め実数ベクトルとするため、十分な最適化性能が得られないという問題点がある。
【0006】
【発明が解決しようとする課題】
ニューラルネットの結合重みパラメータをモデル評価関数に対して最適化することにより高度な情報処理機能を獲得するための従来の技術として、誤差逆伝播法などのニューラルネットの結合重み最適化に特化した方法は、一般的なモデル評価関数に用いることはできないという問題があり、単にニューラルネットの結合重みを集めた実数ベクトルを用いた遺伝的アルゴリズムなどの方法は、一般的なモデル評価関数を用いることができるが、十分な最適化性能が得られないという問題があった。
【0007】
本発明は、上記事情を考慮してなされたもので、一般的なモデル評価関数に基づくニューラルネットの結合重みの最適化として従来よりも優れた最適化を可能とするニューラルネット結合重み最適化装置及び方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明は、複数のネットワーク素子及び0又は1つ以上のバイアス素子からなる所定の結合構造を有するニューラルネットの結合重みを最適化するニューラルネット結合重み最適化方法であって、1つ又は複数のニューラルネットと、当該ニューラルネットの結合重みを所定の評価関数に基づいて評価した評価結果とを対応付けて解候補ニューラルネット集合記憶手段に記憶する第1のステップと、前記解候補ニューラルネット集合記憶手段に記憶された前記ニューラルネットから選択した所定数のニューラルネットの各々について、当該ニューラルネットの全結合重みのうち同一のネットワーク素子への入力に係る結合重みごとに、ネットワーク素子の機能を考慮した所定の符号化関数変換を施して符号化し、各ネットワーク素子について得られた符号を連結して、符号化ニューラルネットを生成する第2のステップと、この第2のステップで生成された前記符号化ニューラルネットをもとにして、所定数の符号化ニューラルネットを新たに生成する第3のステップと、この第3のステップで生成された前記符号化ニューラルネットの各々について、当該符号化ニューラルネットの全符号のうち各々のネットワーク素子に対応する符号部分ごとに、ネットワーク素子の機能を考慮した所定の逆関数変換を施して、前記解候補ニューラルネット集合記憶手段に記憶されている前記ニューラルネットと同じ形式のニューラルネットを新たに生成する第4のステップと、この第4のステップで生成された前記ニューラルネットの各々について前記モデル評価関数に基づく評価を行って評価結果を求め、少なくとも、該評価結果に基づいて該ニューラルネット及びその評価結果を前記解候補ニューラルネット集合記憶手段に追加するか否かを判断し、追加すると判断された該ニューラルネットとその評価結果とを対応付けて前記解候補ニューラルネット集合記憶手段に記憶する第5のステップとを有することを特徴とする。
【0009】
好ましくは、前記第5のステップでは、さらに、前記解候補ニューラルネット集合記憶手段に記憶されている既存の前記ニューラルネット及びその評価結果のうち所定の条件を満たすものを該解候補ニューラルネット集合記憶手段から削除するようにしてもよい。
【0010】
好ましくは、前記第2のステップから前記第5のステップを、前記第5のステップの後において所定の終了条件が成立したと判断されるまで、繰り返し実行し、前記第5のステップの後において所定の終了条件が成立したと判断された場合には、前記解候補ニューラルネット集合記憶手段に記憶されている前記ニューラルネットのうち、その時点で最も良い前記評価結果を持つものを、最適化されたニューラルネットとして選択するようにしてもよい。
【0011】
好ましくは、前記第2のステップでは、前記ニューラルネットの前記同一のネットワーク素子への入力に係る結合重みに対して前記所定の符号化関数変換を施すにあたっては、当該ネットワーク素子への入力に係る全結合重みのうちバイアス素子からの入力に係る結合重み以外の結合重みからなる結合重みベクトルのベクトル長を求め、該ベクトル長又は該ベクトル長を正数倍した値に基づいて当該ネットワーク素子への入力に係る全結合重みの各々に所定の演算を施して得た値と、該ベクトル長又は該ベクトル長を正数倍した値とを、符号として連結することにより、前記符号化ニューラルネットを生成するようにしてもよい。好ましくは、前記所定の演算は、前記結合重みを、前記ベクトル長又は前記ベクトル長を正数倍した値で除する演算であるようにしてもよい。
【0012】
好ましくは、前記第4のステップでは、前記符号化ニューラルネットの全符号のうち一つの前記ネットワーク素子に対応する符号部分に対して前記所定の逆関数変換を施すにあたっては、該符号部分のうち前記ベクトル長又は前記ベクトル長を正数倍した値に対応する符号値に基づいて、該符号部分のうち前記結合重みの各々に所定の演算を施して得た値に対応する符号値に対してそれぞれ所定の演算を施すことによって、新ニューラルネットにおける該当する結合重みを求めるようにしてもよい。好ましくは、前記所定の演算は、前記符号部分のうち前記ベクトル長又は前記ベクトル長を正数倍した値に対応する符号値に対して所定の修正を施した修正値を求め、前記符号部分のうち前記結合重みの各々に所定の演算を施して得た値に対応する符号値に対してそれぞれ該修正値を乗ずる演算であるようにしてもよい。好ましくは、前記所定の修正は、前記値に対してその絶対値とる修正、または前記値が予め定められた正数のしきい値未満である場合に該値を該予め定められた正数のしきい値とする修正であるようにしてもよい。
【0013】
好ましくは、前記第3のステップでは、遺伝的アルゴリズムによって、前記符号化ニューラルネットを生成するようにしてもよい。
【0014】
なお、装置に係る本発明は方法に係る発明としても成立し、方法に係る本発明は装置に係る発明としても成立する。
また、装置または方法に係る本発明は、コンピュータに当該発明に相当する手順を実行させるための(あるいはコンピュータを当該発明に相当する手段として機能させるための、あるいはコンピュータに当該発明に相当する機能を実現させるための)プログラムとしても成立し、該プログラムを記録したコンピュータ読取り可能な記録媒体としても成立する。
【0015】
さて、ニューラルネットの機能は、各ネットワーク素子の機能を集めることで実現されており、各ネットワーク素子の機能に影響しているのは、その素子に入力される結合重みのみと考えることができる。本発明では、ニューラルネットの全結合重みを各ネットワーク素子に入力される結合重みの部分集合ごとにグループ化し、符号化関数変換を施すことで、符号化ニューラルネットを生成し、符号化されたニューラルネット集合から新たに生成された新符号化ニューラルネットを各ネットワーク素子に入力される結合重みの部分集合ごとに逆符号化関数変換を施すことで、新ニューラルネット集合を生成するので、一般的なモデル評価関数に基づくニューラルネットの結合重みの最適化として従来よりも優れた最適化が可能になる。また、各ネットワーク素子の機能ごとに最適化を行うことができる。また、本発明によれば、機能的には似ているが加重値は大きく異なるニューラルネット素子を、似た符号ベクトルに変換できるので、各ネットワーク素子の機能上の重複を避けた結合重みパラメータの最適化を行うことができ、高性能な最適化が実現できる。
【0016】
【発明の実施の形態】
以下、図面を参照しながら発明の実施の形態を説明する。
【0017】
図1に、本発明の一実施形態に係るニューラルネットの結合重みパラメータに関する最適化処理を行うニューラルネット結合重み最適化装置の構成例を示す。
【0018】
図1に示されるように、本実施形態のニューラルネット結合重み最適化装置は、解候補ニューラルネット集合記憶部101、モデル評価関数記憶部102、ニューラルネット素子符号化部103、符号化ニューラルネット集合記憶部104、新符号化ニューラルネット生成部105、新符号化ニューラルネット集合記憶部106、ニューラルネット素子復号化部107、新ニューラルネット集合記憶部108、新ニューラルネット評価・選択部109を備えている。
【0019】
このニューラルネット結合重み最適化装置は、ソフトウェアによって実現することができる(すなわち計算機上でプログラムを実行する形で実現することができる)。その際、そのソフトウェアの一部または全部の機能をチップ化あるいはボード化して該計算機に組み込んで実現することもできる。また、このニューラルネット結合重み最適化装置は、ソフトウェアによって実現する場合には、他のソフトウェアの一機能として組み込むようにすることも可能である。また、このニューラルネット結合重み最適化装置を専用のハードウェアとして構成することも可能である。
【0020】
解候補ニューラルネット集合記憶部101、モデル評価関数記憶部102、符号化ニューラルネット集合記憶部104、新符号化ニューラルネット集合記憶部106、新ニューラルネット集合記憶部108は、いずれも、例えばハードディスクや光ディスクや半導体メモリなどの記憶装置によって構成される。なお、各記憶部は、別々の記憶装置によって構成されていてもよいし、それらの全部または一部が同一の記憶装置によって構成されていてもよい。
【0021】
なお、図1では省略しているが、ニューラルネット結合重み最適化装置は、外部とデータをやり取りするための入出力装置を備えている。もちろん、GUI(グラフィカル・ユーザ・インタフェース)を備えてもよいし、ネットワーク接続インタフェースを備えてもよい。
【0022】
図2に、本ニューラルネット結合重み最適化装置の全体的な処理手順の一例を示す。
【0023】
あらかじめ、モデル評価関数記憶部102には、ニューラルネットを評価するためのモデル評価関数を示すデータが格納されている。モデル評価関数には、所望の一般的なモデル評価関数を用いることができる。
【0024】
また、解候補ニューラルネット集合記憶部101には、予め作成された初期的なニューラルネットを示すデータが1つ以上格納されている。この初期的なニューラルネットの生成方法は、従来の方法に従って構わない(例えば、ニューラルネットの構造はユーザが作成あるいは選択し、結合重みは所定のアルゴリズムでランダムに生成する)。なお、解候補ニューラルネット集合記憶部101に予め格納されているニューラルネットの各々については、ステップS4で新ニューラルネットに対して行う評価と同様の方法による評価がなされ、その評価結果(例えば、評価関数値)が各ニューラルネットに対応付けて記憶されているものとする。
【0025】
まず、ニューラルネット素子符号化部103は、解候補ニューラルネット集合記憶部101からn個(nは予め定められたもしくは指定された1以上の整数)のニューラルネットを取り出し、取り出したn個のニューラルネットの各々について、当該ニューラルネットにおける同一素子に入力している結合重みを同一グループとして扱い所定の符号化関数変換を施すことによって、n個の符号化ニューラルネットを生成し、それらを符号化ニューラルネット集合記憶部104に格納する(ステップS1)。
【0026】
次に、新符号化ニューラルネット生成部105は、このステップS1で生成され符号化ニューラルネット集合記憶部104に格納された符号化ニューラルネットをもとにして、例えば遺伝的アルゴリズムなどの所定の方法に従って、新符号化ニューラルネットをm個(mは予め定められたもしくは指定された1つ以上の整数)生成し、それらを新符号化ニューラルネット集合記憶部106に格納する(ステップS2)。
【0027】
この生成方法としては、種々の方法を用いることが可能である。例えば、blx法(例えば、Eshelman, L.J., and Schaffer, J.D., “Real−Coded Genetic Algorithms and Interval−Schemata.”, Foundations of Genetic Algorithms 2., pp.187−202., 1993.)として知られる方法を用いてもよい。
【0028】
次に、ニューラルネット素子復号化部107は、このステップS2で生成され新符号化ニューラルネット集合記憶部106に格納されたm個の新符号化ニューラルネットを取り出し、取り出したm個のニューラルネットの各々について、当該ニューラルネットにおける同一素子に対応している符号を同一グループとして扱い所定の逆関数変換を行うことによって、m個の新ニューラルネットを生成し、それらを新ニューラルネット集合記憶部108に格納する(ステップS3)。
【0029】
次に、新ニューラルネット評価・選択部109は、このステップS3で新ニューラルネット集合記憶部108に格納されたm個の新ニューラルネットの各々について、モデル評価関数記憶部102に格納された情報をもとにして評価を行い、この評価結果に基づいて、解候補ニューラルネット集合記憶部101に格納されている解候補ニューラルネットの全部又は一部と新ニューラルネット集合記憶部108に格納されたm個の新ニューラルネットの中から(あるいは新ニューラルネット集合記憶部108に格納されたm個の新ニューラルネットの中から)、1つ以上のニューラルネットを選択し、選択された新ニューラルネットのデータについては、これを該評価結果とともに新たな解候補ニューラルネットとして解候補ニューラルネット集合記憶部101に記憶する(ステップS4)。なお、選択された新ニューラルネットを解候補ニューラルネット集合記憶部101に記憶するにあたって、解候補ニューラルネット集合記憶部101から所定の基準で選択した1つ以上の解候補ニューラルネットを削除するようにしてもよい。
【0030】
この評価・選択方法としては、種々の方法を用いることが可能である。例えば、mgg法(例えば、佐藤、小野、小林、 「遺伝的アルゴリズムにおける世代交代モデルの提案と評価」、 人工知能学会誌、 vol.12、No.5、 pp.734−744.、 1997.)として知られる方法を用いてもよい。
【0031】
ここで、予め定められた所定の終了条件が満たされたか否かを判断し(ステップS5)、満たされなかった場合には、ステップS1に戻って、同様の処理を繰り返し行う。
【0032】
なお、終了条件としては、例えば、繰り返し回数が予め定められた回数に達したこと、当該回と前回の評価結果(例えば、評価関数値)の差分が予め定められた値を下回ったこと、当該回と前回の評価結果(例えば、評価関数値)の変化率が予め定められた値を下回ったこと、これらの各条件の論理和あるいは論理積による組合せなど、種々のものが考えられる。
【0033】
終了条件が満たされた場合には、処理ループを抜けて、解候補ニューラルネット集合記憶部101に記憶されているニューラルネットのうち、最も良い評価結果を持つものを選択する。この選択されたニューラルネットが、本最適化処理により得られたニューラルネットとなる。
【0034】
ここで、図2の手順において遺伝的アルゴリズムを利用した場合に、1回のループ処理は、例えば、図3のようになる。すなわち、当該回のステップS1で解候補ニューラルネット集合記憶部101から例えば2個のニューラルネットをランダムに選択して取り出してそれぞれのニューラルネットa,bを符号化ニューラルネットに変換した後、ステップS2でそれら符号化ニューラルネットに遺伝的アルゴリズムを適用して例えば4個の新符号化ニューラルネットを生成し、次いでステップS3でそれらを復号化して新ニューラルネットc〜fに逆変換し新ニューラルネット集合記憶部108に格納する。次に、ステップS4で、新ニューラルネットc〜fを評価し、次いで、例えばもとの解候補ニューラルネットa,と新ニューラルネットc〜fについてそれらの評価結果に基づいて最も良い2つを選択し(例えばニューラルネットe,fとする)、それらが元のニューラルネット(a,b)でなければ、選択したニューラルネットe,fで元のニューラルネットa,bを更新する。もちろん、これは一例であって、遺伝的アルゴリズムを利用した場合の1回のループ処理としては他にも種々の方法が可能であり、また、遺伝的アルゴリズム以外のアルゴリズムを利用した様々な方法が可能である。
【0035】
さて、以下では、本実施形態のニューラルネット結合重み最適化装置におけるニューラルネット素子符号化及びニューラルネット素子復号化について具体例を用いつつ説明する。
【0036】
図4は、図1のニューラルネット結合重み最適化装置のうち解候補ニューラルネット集合記憶部101の記憶内容とニューラルネット素子符号化部103の処理と符号化ニューラルネット集合記憶部104の記憶内容を例示したものである。
【0037】
前述したように、解候補ニューラルネット集合記憶部101には、1つ以上の解候補ニューラルネット(201)が、それぞれ評価結果を対応付けられて、格納されている。なお、複数の解候補ニューラルネットが格納されている場合には、全ての解候補ニューラルネットは同じ構造を持つものとする。
【0038】
図4に例示した解候補ニューラルネット201は、3つのネットワーク素子(入力素子)i1〜i3及び1つのバイアス素子から3つのネットワーク素子(中間素子)h1〜h3へそれぞれ結合し、3つのネットワーク素子(中間素子)h1〜h3及び1つのバイアス素子から2つのネットワーク素子(出力素子)o1,uへそれぞれ結合する例である。
【0039】
ニューラルネット素子符号化部103では、各々の解候補ニューラルネットについて、当該解候補ニューラルネットの全結合重みを、同一ネットワーク素子に入力している結合重みごとにグループ化し、符号化関数変換(203)を行うことにより、符号化ニューラルネットを生成する。例えば、図4の解候補ニューラルネット(201)においてネットワーク素子uに入力している結合重みのグループ(202)に対して、符号化関数変換(203)を行うことにより、符号化ニューラルネットのuに相当する部分(204)を生成する。このような処理をすべてのネットワーク素子h1,h2,h3,o1,uに対して行って、それらを連結することにより、符号化ニューラルネットを生成する。生成された符号化ニューラルネット(205)は、符号化ニューラルネット集合記憶部104に格納される。
【0040】
ここで、符号化関数変換についてより詳しく説明する。
【0041】
まず、図5に、従来方法による符号化ニューラルネット生成方法(1203)を示す。従来方法によれば、全ネットワーク素子に入力される全結合重みをそのまま順番に並べることにより、符号化ニューラルネットを生成する。
【0042】
例えば、ネットワーク素子u(1202)へ入力する結合重みWu,1〜Wu,bをそのまま並べることにより、符号化されたニューラルネットのuに相当する部分(1204)、
{Wu,1u,2u,3u,b
を生成することになる。他のネットワーク素子h1,h2,h3,o1についても同様である。
【0043】
そして、各ネットワーク素子h1,h2,h3,o1,uにそれぞれ相当する部分、
{Wh1,1h1,2h1,3h1,b
{Wh2,1h2,2h2,3h2,b
{Wh3,1h3,2h3,3h3,b
{Wo1,1o1,2o1,3o1,b
{Wu,1u,2u,3u,b
を連結することにより、符号化ニューラルネット、
{Wh1,1h1,2h1,3h1,bh2,1 … Wo1,bu,1u,2u,3u,b
を生成する。
【0044】
従って、例えば、図4の解候補ニューラルネット(201)において、ネットワーク素子i1,i2,i3及びバイアス素子からそれぞれネットワーク素子h1へ入力する結合重みは、{0.1,2.3,3.0,−2.0}であり、同様に、ネットワーク素子h2へ入力する結合重みは、{2.3,−1.3,10.0,1.0}、ネットワーク素子h3へ入力する結合重みは、{2.1,2.2,−3.3,−2.0}であり、また、ネットワーク素子h1,h2,h3及びバイアス素子からそれぞれネットワーク素子o1へ入力する結合重みは、{−5.1,2.4,−1.0,2.0}であり、同様に、ネットワーク素子uへ入力する結合重みは、{−0.1,20.4,−0.8,1.0}であるとすると、従来方法により得られる符号化ニューラルネットは、
{0.1,2.3,3.0,−2.0,2.3,−1.3,10.0,1.0,2.1,2.2,−3.3,−2.0,−5.1,2.4,−1.0,2.0,−0.1,20.4,−0.8,1.0}
となる。
【0045】
次に、図6に、本実施形態における符号化関数変換(203)の一例を示す。本例では、各々のネットワーク素子について、当該ネットワーク素子に入力される結合重みの部分集合に含まれる重みのうちバイアス素子との結合重み以外の結合重みベクトルのベクトル長を計算し、結合重みの部分集合の全要素をベクトル長で除したものと当該ベクトル長とを符号として連結することにより、当該ネットワーク素子に対応する部分の符号化ニューラルネットを生成する。
【0046】
例えば、ネットワーク素子u(202)へ入力する結合重みWu,1〜Wu,bのうちWu,1〜Wu,3をベクトルとしたときのベクトル長L
=(Wu,1 +Wu,2 +Wu,3 1/2
を計算し、Wu,1〜Wu,bをそれぞれLで割って、
u,1=Wu,1/L
u,2=Wu,2/L
u,3=Wu,3/L
u,b=Wu,b/L
を計算し、wu,1、wu,2、wu,3、wu,b、Lを並べることにより、符号化ニューラルネットのuに相当する部分(204)、
{wu,1u,2u,3u,b
を生成する。他のネットワーク素子h1,h2,h3,o1についても同様である。
【0047】
そして、各ネットワーク素子h1,h2,h3,o1,uにそれぞれ相当する部分、
{wh1,1h1,2h1,3h1,bh1
{wh2,1h2,2h2,3h2,bh2
{wh3,1h3,2h3,3h3,bh3
{wo1,1o1,2o1,3o1,bo1
{wu,1u,2u,3u,b
を連結することにより、符号化ニューラルネット、
{wh1,1h1,2h1,3h1,bh1h2,1 … wo1,bo1u,1u,2u,3u,b
を生成する。
【0048】
従って、例えば、図4の解候補ニューラルネット(201)において、上記にて例示した結合重みを持つものすると、本例による符号化関数変換により得られる符号化ニューラルネットは、
{ 0.0264442…, 0.6082187…, 0.7933288…,−0.5288858…,3.7815340…,
0.2223701…,−0.1256874…, 0.9668269…, 0.0966826…,10.343113…,
0.4679393…, 0.4902221…,−0.7353332…,−0.4456565…,4.4877611…,
−0.8909061…, 0.4192499…,−0.1746874…, 0.3493749…,5.7245087…,
−0.0048981…, 0.9992199…,−0.0391850…, 0.0489813…,20.415925…}
となる。
【0049】
このようにすることによって、機能的には似ているが加重値は大きく異なるニューラルネット素子を、似た符号ベクトルに変換できるので(例えば、{10,20,30,−40}および{20,40,60,−80}という加重値ベクトルを{1,2,3,−4,10}および{1,2,3,−4,20}というベクトルに変換できる)、各ネットワーク素子の機能上の重複を避けた結合重みパラメータの最適化を行うことができ、高性能な最適化が実現できるようになる。
【0050】
次に、図7は、図1のニューラルネット結合重み最適化装置のうちニューラルネット復号化部107の処理を例示したものである。
【0051】
前述したように、ニューラルネット素子復号化部107は、新符号化ニューラルネットにおける同一素子に対応している符号を同一グループとして扱い所定の逆関数変換を行うことによって新ニューラルネットを生成する。
【0052】
ここで、逆関数変換についてより詳しく説明する。
【0053】
図7の例は、新符号化ニューラルネットにおける各ネットワーク素子に相当する符号ベクトルの各々について、当該符号ベクトルのうち長さを表す変数の絶対値をそれ以外の変数に乗ずることにより、当該符号ベクトルに対応する新ニューラルネットの部分を生成する。
【0054】
例えば、新符号化ニューラルネットのうち素子uに対応している符号(301)、
{wu,1 newu,2 newu,3 newu,b new new
については、ベクトルの長さに対応する符号L new(L newは負の値である場合がある)の絶対値|L new|を取り、L new以外の各結合重みに対応する符号Wu,1 new〜Wu,b newにそれぞれ|L new|を乗じて、
u,1 new =wu,1 new ・|L new
u,2 new =wu,2 new ・|L new
u,3 new =wu,3 new ・|L new
u,b new =wu,b new ・|L new
を計算し、新ニューラルネットの素子uに入力する結合重み(303)、
{Wu,1 newu,2 newu,3 newu,b new
を求める。新符号化ニューラルネットのうち素子h1,h2,h3,o1に対応している符号についてもそれぞれ同様である。
【0055】
なお、逆関数変換には、種々のバリエーションが考えられる。
【0056】
例えば、上記ではLnewの絶対値をとったが、その代わりに、Lnewが予め定められたしきい値Lth以上である場合には、そのLnewを用い、Lnewが予め定められたしきい値Lth未満である場合には、Lnew=Lthとする方法もある。
【0057】
また、上記では、新符号化ニューラルネット生成においてLnewが負の値になる場合があることを想定したが、その代わりに、図2のステップS2において、Lnewが負の値にならないアルゴリズムを採用するか、またはLnewが負の値(あるいは0以下)になる場合があるアルゴリズムであってもLnewが負の値(あるいは0以下)になったときにはLnewを0以上(あるいは正の値)に修正するかまたは当該新符号化ニューラルネットを用いない(破棄する)ようにしてもよい。この場合には、Lnewの絶対値をとるなどの処理が不要になる。
【0058】
また、上記したものの他にも、符号化関数変換及び逆関数変換には、種々のバリエーションが考えられる。
【0059】
例えば、上記した符号化関数変換例では、当該ネットワーク素子に入力される結合重みの部分集合に含まれる重み(W〜Wとする)のうちバイアス素子との結合重み以外の結合重み(W〜Wとする)のベクトル長L(=(W +…+W 1/2)を計算し、結合重みの部分集合の全要素(W〜W)をベクトル長Lで除したものと当該ベクトル長とを符号として連結することにより、当該ネットワーク素子に対応する符号化ニューラルネットの部分(W/L,…,W/L,L)を生成したが、その代わりに、ベクトル長Lをk倍し(ただし、k>0)、全要素W〜WをL・kで除したものとL・kとを符号として連結することにより、当該ネットワーク素子に対応する符号化ニューラルネットの部分(W/(L・k),…,W/(L・k),(L・k))を生成する方法も可能である。このバリエーションに対応する逆関数変換は、L・kをLとして扱えば、これまで説明した例と同様である。
【0060】
また、例えば、ベクトル長Lをk倍し(ただし、k>0)、要素W〜WをLで除したものと、要素Wt+1〜WをL・kで除したものと、LおよびL・k(もしくは、Lおよびk)とを符号として連結することにより、当該ネットワーク素子に対応する符号化ニューラルネットの部分(W/L,…,W/L,Wt+1/(L・k),…,W/(L・k),L,(L・k))を生成する方法(ベクトル長の部分は、L,(L・k)の代わりにL,kでもよい)も可能である。このバリエーションに対応する逆関数変換は、LをW〜Wに対するL、L・kをWt+1〜Wに対するLとして扱えば、これまで説明した例と同様である。
【0061】
また、例えば、ベクトル長Lをk1倍し(ただし、k1>0)、さらにベクトル長Lをk2倍し(ただし、k2>0)、要素W〜WをL・k1で除したものと、要素Wt+1〜WをL・k2で除したものと、L・k1およびL・k2(もしくは、L、k1およびk2)とを符号として連結することにより、当該ネットワーク素子に対応する符号化ニューラルネットの部分(W/(L・k1),…,W/(L・k1),Wt+1/(L・k2)…,W/(L・k2),(L・k1),(L・k2))を生成する方法(ベクトル長の部分は、(L・k1),(L・k2)の代わりにL,k1,k2でもよい)も可能である。このバリエーションに対応する逆関数変換は、L・k1をW〜Wに対するL、L・k2をWt+1〜Wに対するLとして扱えば、これまで説明した例と同様である。
【0062】
なお、kや、k1及びk2は、固定にする方法と、ニューラルネット毎に決定する方法などがある。
【0063】
もちろん、これらの他にも、符号化関数変換及び逆関数変換には、種々のバリエーションが考えられる。
【0064】
以上説明してきたように、本実施形態によれば、一般的なモデル評価関数に対してニューラルネットの結合重みを最適化することが可能になる。また、各ネットワーク素子の機能ごとに最適化を行うことができる。
【0065】
以下では、本実施形態のニューラルネットの結合重み最適化処理による作用・効果について次の例に従って説明する。
【0066】
図8は、入力素子数10、中間素子数5、出力素子数1のニューラルネットを例示しており、このネットワークの結合重みベクトルW(結合重みの個数=61)を最適化する。
【0067】
図9は、次の最適化の基準となるモデル評価関数fに用いるデータ(入力及び教師信号)の一例を示している。
f(W)=Σ(t(i)−O(in(i),W))
ここで、f(W):結合重みWのネットワークのモデル評価関数値
O(in(i),W):in(i)が入力されたときのネットワークの出力値である。また、総和を取る範囲は、i=1〜Nである。
なお、この例では、f(W)が小さいネットワークほど、好ましいネットワークであると評価される。
なお、図4の例のように出力素子が複数ある場合には、例えば、各出力素子に対するモデル評価関数値f(W)の総和をとればよい。
【0068】
図10と図11に、図9のモデル評価関数を用い且つ新符号化ニューラルネット生成部105においてblx法を用い且つ新ニューラルネット評価・選択部109においてmgg法を用いた場合における、本実施形態の図6及び図7の方法による最適化結果(C1,C3)と、図5の従来方法による最適化結果(C2,C4)とを示す。
【0069】
図10と図11の横軸は、図2の手順のループ処理の反復回数であり、図10の縦軸は、モデル評価関数値の変化を示し、図11の縦軸は、図9のデータに関する分類精度の変化を示す。
【0070】
図10及び図11から、本実施形態の最適化結果の方が優れていることが明らかである。
【0071】
このように本実施形態によれば、ニューラルネット全結合重みを同一素子に入力しているグループごとに分け、それぞれのグループに符号化関数変換を行うことで、ニューラルネットの各素子ごとに独立に最適化を行うことができるので、従来手法と比較して効率的な結合重みの最適化を行うことができる。
【0072】
なお、以上の各機能は、ソフトウェアとして実現可能である。
また、本実施形態は、コンピュータに所定の手段を実行させるための(あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるための)プログラムとして実施することもでき、該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
【0073】
なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。
また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。
また、この発明の実施の形態は、装置全体としての発明、装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。
従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。
【0074】
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【0075】
【発明の効果】
本発明によれば、一般的なモデル評価関数に基づくニューラルネットの結合重みの最適化として従来よりも優れた最適化が可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るニューラルネット結合重み最適化装置の構成例を示す図
【図2】同実施形態に係るニューラルネット結合重み最適化装置の処理手順の一例を示すフローチャート
【図3】同実施形態に係るニューラルネット結合重み最適化装置の処理手順について説明するための図
【図4】同実施形態に係るニューラルネット結合重み最適化装置のニューラルネット素子符号化部の処理について説明するための図
【図5】従来方法における符号化関数変換について説明するための図
【図6】同実施形態に係るニューラルネット結合重み最適化装置における符号化関数変換について説明するための図
【図7】同実施形態に係るニューラルネット結合重み最適化装置における逆関数変換について説明するための図
【図8】解候補ニューラルネットの構造例を示す図
【図9】最適化の基準となるモデル評価関数の一例を示す図
【図10】最適化結果の一例を従来方法と比較して説明するための図
【図11】最適化結果の一例を従来方法と比較して説明するための図
【符号の説明】
101…解候補ニューラルネット集合記憶部
102…モデル評価関数記憶部
103…ニューラルネット素子符号化部
104…符号化ニューラルネット集合記憶部
105…新符号化ニューラルネット生成部
106…新符号化ニューラルネット集合記憶部
107…ニューラルネット素子復号化部
108…新ニューラルネット集合記憶部
109…新ニューラルネット評価・選択部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a neural network connection weight optimization apparatus and method for optimizing the connection weight of a neural network based on a model evaluation function that determines the preference of the neural network.
[0002]
[Prior art]
A neural network is a computer technology developed to artificially realize advanced information processing functions. In other words, a neural network is an artificial intelligence technology that uses a computer to simulate a neural circuit in the brain. The input layer is a collection of input elements for inputting information. It consists of an output layer, which is a collection of output elements that output whether or not, and an intermediate layer, which is a collection of intermediate elements in the middle of those layers. They are connected.
[0003]
A neural network acquires advanced information processing functions by optimizing the connection weight parameter that takes a high evaluation function value (or a low evaluation function value depending on the evaluation function) based on some model evaluation function. Can do.
[0004]
As a method for optimizing the connection weight parameter of the neural network, an error back-propagation method (for example, Rumelhalt, DE, GE Hinton, and RJ Williams, “Learning representations by back-propagating errors. ”, Nature 323, pp. 533-536., 1986.), but there is a problem that many constraints are required for the model evaluation function, such as partial differential calculation is possible for all parameters. .
[0005]
Further, as a parameter optimization method for a general model evaluation function, a genetic algorithm (for example, Goldberg, DE, “Genetic Algorithms in Search, Optimization, and Machining Learning.”, Addison-Wesley Publishing). Company Inc., 1989.), however, there is a problem that sufficient optimization performance cannot be obtained because the connection weight values of the neural network are simply collected and used as a real vector.
[0006]
[Problems to be solved by the invention]
As a conventional technique for acquiring advanced information processing functions by optimizing the neural network connection weight parameters with respect to the model evaluation function, we specialize in neural network connection weight optimization such as the error back propagation method. There is a problem that the method cannot be used for a general model evaluation function, and a method such as a genetic algorithm using a real vector that collects connection weights of a neural network uses a general model evaluation function. However, there was a problem that sufficient optimization performance could not be obtained.
[0007]
The present invention has been made in consideration of the above circumstances, and is a neural network connection weight optimization device that enables optimization better than conventional optimization of connection weights of a neural network based on a general model evaluation function. And to provide a method.
[0008]
[Means for Solving the Problems]
The present invention is a neural network connection weight optimization method for optimizing a connection weight of a neural network having a predetermined connection structure composed of a plurality of network elements and zero or one or more bias elements. A first step of associating a neural network with an evaluation result obtained by evaluating a connection weight of the neural network based on a predetermined evaluation function, and storing it in a solution candidate neural network set storage means; and the solution candidate neural network set storage For each of a predetermined number of neural networks selected from the neural network stored in the means, the function of the network element is considered for each connection weight related to the input to the same network element among all the connection weights of the neural network. Encode by performing a predetermined encoding function conversion, for each network element A second step of generating a coded neural network by concatenating the generated codes and a new number of coded neural networks based on the coded neural network generated in the second step. For each of the coded neural nets generated in the third step, and for each code part corresponding to each network element among all the codes of the coded neural network, a network is generated. A fourth step of newly generating a neural network of the same format as the neural network stored in the solution candidate neural network set storage means by performing a predetermined inverse function transformation considering the function of the element; Each of the neural networks generated in step 4 is evaluated based on the model evaluation function. Determining whether to add the neural network and its evaluation result to the solution candidate neural network set storage means based on at least the evaluation result, and the neural network determined to be added and its evaluation result And a fifth step of storing them in the solution candidate neural network set storage means in association with each other.
[0009]
Preferably, in the fifth step, among the existing neural nets stored in the solution candidate neural net set storage means and evaluation results thereof, those satisfying a predetermined condition are stored in the solution candidate neural network set storage. You may make it delete from a means.
[0010]
Preferably, the second step to the fifth step are repeatedly executed until it is determined that a predetermined end condition is satisfied after the fifth step, and the predetermined step is performed after the fifth step. If it is determined that the termination condition is satisfied, among the neural networks stored in the solution candidate neural network set storage means, those having the best evaluation result at that time are optimized. You may make it select as a neural network.
[0011]
Preferably, in the second step, when the predetermined encoding function conversion is performed on the connection weights related to the input to the same network element of the neural network, all the inputs related to the input to the network element are performed. Obtain a vector length of a coupling weight vector composed of coupling weights other than the coupling weights related to the input from the bias element among the coupling weights, and input to the network element based on the vector length or a value obtained by multiplying the vector length by a positive number. The coded neural network is generated by concatenating the value obtained by performing a predetermined operation on each of all the connection weights according to the above and the vector length or a value obtained by multiplying the vector length by a positive number as a code. You may do it. Preferably, the predetermined operation may be an operation of dividing the coupling weight by the vector length or a value obtained by multiplying the vector length by a positive number.
[0012]
Preferably, in the fourth step, when the predetermined inverse function transformation is performed on a code portion corresponding to one network element among all codes of the coding neural network, Based on a code value corresponding to a vector length or a value obtained by multiplying the vector length by a positive number, a code value corresponding to a value obtained by performing a predetermined operation on each of the coupling weights in the code portion, respectively. A corresponding connection weight in the new neural network may be obtained by performing a predetermined calculation. Preferably, the predetermined calculation obtains a correction value obtained by performing a predetermined correction on a code value corresponding to the vector length or a value obtained by multiplying the vector length by a positive number in the code portion, and Of these, a code value corresponding to a value obtained by performing a predetermined calculation on each of the coupling weights may be calculated by multiplying the correction value by each. Preferably, the predetermined correction is a correction that takes an absolute value for the value, or if the value is less than a predetermined positive threshold, the value is the predetermined positive number. You may make it the correction used as a threshold value.
[0013]
Preferably, in the third step, the encoded neural network may be generated by a genetic algorithm.
[0014]
The present invention relating to the apparatus is also established as an invention relating to a method, and the present invention relating to a method is also established as an invention relating to an apparatus.
Further, the present invention relating to an apparatus or a method has a function for causing a computer to execute a procedure corresponding to the invention (or for causing a computer to function as a means corresponding to the invention, or for a computer to have a function corresponding to the invention. It is also established as a program (for realizing) and also as a computer-readable recording medium on which the program is recorded.
[0015]
Now, the function of the neural network is realized by collecting the functions of each network element, and it can be considered that only the connection weight input to the element influences the function of each network element. In the present invention, all the connection weights of a neural network are grouped for each subset of connection weights input to each network element, and an encoded neural network is generated by performing an encoding function conversion to generate an encoded neural network. A new neural network set is generated by performing inverse encoding function conversion for each subset of connection weights input to each network element. As an optimization of the connection weight of the neural network based on the model evaluation function, it is possible to perform an optimization superior to the conventional one. Further, optimization can be performed for each function of each network element. Further, according to the present invention, a neural network element that is functionally similar but has a significantly different weight value can be converted into a similar code vector. Optimization can be performed, and high-performance optimization can be realized.
[0016]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the invention will be described with reference to the drawings.
[0017]
FIG. 1 shows a configuration example of a neural network connection weight optimizing device that performs an optimization process related to a connection weight parameter of a neural network according to an embodiment of the present invention.
[0018]
As shown in FIG. 1, the neural network connection weight optimization apparatus according to the present embodiment includes a solution candidate neural network set storage unit 101, a model evaluation function storage unit 102, a neural network element encoding unit 103, an encoded neural network set. A storage unit 104, a new encoded neural network generation unit 105, a new encoded neural network set storage unit 106, a neural network element decoding unit 107, a new neural network set storage unit 108, and a new neural network evaluation / selection unit 109 are provided. Yes.
[0019]
This neural network connection weight optimization device can be realized by software (that is, can be realized by executing a program on a computer). At that time, a part or all of the functions of the software can be realized as a chip or board and incorporated in the computer. In addition, when the neural network connection weight optimization apparatus is realized by software, it can be incorporated as a function of other software. It is also possible to configure this neural network connection weight optimization device as dedicated hardware.
[0020]
The solution candidate neural network set storage unit 101, the model evaluation function storage unit 102, the encoded neural network set storage unit 104, the new encoded neural network set storage unit 106, and the new neural network set storage unit 108 are all, for example, a hard disk, It is configured by a storage device such as an optical disk or a semiconductor memory. Each storage unit may be configured by a separate storage device, or all or a part of them may be configured by the same storage device.
[0021]
Although not shown in FIG. 1, the neural network connection weight optimization device includes an input / output device for exchanging data with the outside. Of course, a GUI (graphical user interface) may be provided, or a network connection interface may be provided.
[0022]
FIG. 2 shows an example of the overall processing procedure of the present neural network connection weight optimization apparatus.
[0023]
The model evaluation function storage unit 102 stores data indicating a model evaluation function for evaluating the neural network in advance. A desired general model evaluation function can be used as the model evaluation function.
[0024]
The solution candidate neural network set storage unit 101 stores at least one piece of data indicating an initial neural network created in advance. This initial neural network generation method may be in accordance with a conventional method (for example, the structure of the neural network is created or selected by the user, and the connection weight is randomly generated by a predetermined algorithm). Each of the neural networks stored in advance in the solution candidate neural network set storage unit 101 is evaluated by the same method as the evaluation performed on the new neural network in step S4, and the evaluation result (for example, evaluation It is assumed that (function value) is stored in association with each neural network.
[0025]
First, the neural network element encoding unit 103 extracts n (n is a predetermined or designated integer greater than or equal to 1) neural network from the solution candidate neural network set storage unit 101, and the extracted n neural networks. For each of the nets, n coding neural nets are generated by treating the connection weights input to the same element in the neural network as the same group and performing a predetermined coding function conversion, and these are coded neural networks. The data is stored in the net set storage unit 104 (step S1).
[0026]
Next, the new encoded neural network generation unit 105 generates a predetermined method such as a genetic algorithm based on the encoded neural network generated in step S1 and stored in the encoded neural network set storage unit 104. Accordingly, m new encoded neural nets (m is a predetermined or designated integer or more) are generated and stored in the new encoded neural network set storage unit 106 (step S2).
[0027]
As this generation method, various methods can be used. For example, the blx method (for example, Eshelman, LJ, and Schaffer, JD, “Real-Coded Genetic Algorithms and Interval-Schemata.”, Foundations of Genetic Algorithms. .) May be used.
[0028]
Next, the neural network element decoding unit 107 extracts the m new encoded neural nets generated in step S2 and stored in the new encoded neural network set storage unit 106, and the m neural nets extracted are extracted. For each, the codes corresponding to the same elements in the neural network are treated as the same group, and predetermined inverse function transformation is performed to generate m new neural networks, which are stored in the new neural network set storage unit 108. Store (step S3).
[0029]
Next, the new neural network evaluation / selection unit 109 obtains the information stored in the model evaluation function storage unit 102 for each of the m new neural networks stored in the new neural network set storage unit 108 in step S3. Based on the evaluation result, all or part of the solution candidate neural nets stored in the solution candidate neural network set storage unit 101 and m stored in the new neural network set storage unit 108 are evaluated. One or more neural nets are selected from the new neural nets (or from the m new neural nets stored in the new neural net set storage unit 108), and data of the selected new neural nets are selected. For this, the solution candidate neural network is used as a new solution candidate neural network together with the evaluation result. Stored in the case memory portion 101 (step S4). When storing the selected new neural network in the solution candidate neural network set storage unit 101, one or more solution candidate neural networks selected on the basis of a predetermined criterion are deleted from the solution candidate neural network set storage unit 101. May be.
[0030]
As this evaluation / selection method, various methods can be used. For example, the mgg method (for example, Sato, Ono, Kobayashi, “Proposal and Evaluation of Generation Alternation Model in Genetic Algorithm”, Japanese Society for Artificial Intelligence, Vol. 12, No. 5, pp. 734-744., 1997.) May be used.
[0031]
Here, it is determined whether or not a predetermined end condition set in advance is satisfied (step S5). If not satisfied, the process returns to step S1 and the same processing is repeated.
[0032]
As the end condition, for example, the number of repetitions reaches a predetermined number, the difference between the number of times and the previous evaluation result (for example, the evaluation function value) falls below a predetermined value, Various things can be considered, such as the rate of change between the first and previous evaluation results (e.g., evaluation function value) being lower than a predetermined value, and a combination of these conditions as a logical sum or logical product.
[0033]
When the termination condition is satisfied, the processing loop is exited and the neural network stored in the solution candidate neural network set storage unit 101 is selected with the best evaluation result. This selected neural network is a neural network obtained by this optimization processing.
[0034]
Here, when a genetic algorithm is used in the procedure of FIG. 2, one loop process is as shown in FIG. 3, for example. That is, for example, two neural networks are randomly selected and extracted from the solution candidate neural network set storage unit 101 in step S1 of this time, and the respective neural nets a and b are converted into encoded neural nets. In step S3, for example, four new encoded neural nets are generated by applying a genetic algorithm to these encoded neural nets. Then, in step S3, they are decoded and inversely converted into new neural nets c to f. It is stored in the storage unit 108. Next, in step S4, the new neural nets c to f are evaluated, and then, for example, the best two of the original solution candidate neural net a and the new neural nets c to f are selected based on the evaluation results. If they are not the original neural network (a, b), for example, the original neural nets a, b are updated with the selected neural nets e, f. Of course, this is only an example, and various other methods are possible as one loop processing when a genetic algorithm is used, and various methods using an algorithm other than the genetic algorithm are possible. Is possible.
[0035]
Now, neural network element encoding and neural network element decoding in the neural network connection weight optimizing device of this embodiment will be described using specific examples.
[0036]
FIG. 4 shows the stored contents of the solution candidate neural network set storage unit 101, the processing of the neural network element encoding unit 103, and the stored content of the encoded neural network set storage unit 104 in the neural network connection weight optimization apparatus of FIG. This is just an example.
[0037]
As described above, the solution candidate neural network set storage unit 101 stores one or more solution candidate neural networks (201), each associated with an evaluation result. When a plurality of solution candidate neural networks are stored, all solution candidate neural networks have the same structure.
[0038]
The solution candidate neural network 201 illustrated in FIG. 4 is coupled to three network elements (input elements) i1 to i3 and one bias element to three network elements (intermediate elements) h1 to h3, respectively. In this example, intermediate elements h1 to h3 and one bias element are coupled to two network elements (output elements) o1 and u, respectively.
[0039]
In the neural network element encoding unit 103, for each solution candidate neural network, all connection weights of the solution candidate neural network are grouped for each connection weight input to the same network element, and an encoding function conversion (203) is performed. To generate a coded neural network. For example, the coding function transformation (203) is performed on the connection weight group (202) input to the network element u in the solution candidate neural network (201) of FIG. A portion (204) corresponding to is generated. Such a process is performed on all the network elements h1, h2, h3, o1, u and connected to generate an encoded neural network. The generated encoded neural network (205) is stored in the encoded neural network set storage unit 104.
[0040]
Here, the encoding function conversion will be described in more detail.
[0041]
First, FIG. 5 shows an encoded neural network generation method (1203) according to a conventional method. According to the conventional method, an encoded neural network is generated by arranging all connection weights input to all network elements in order.
[0042]
For example, the connection weight W input to the network element u (1202)u, 1~ Wu, b, The portion corresponding to u of the encoded neural network (1204),
{Wu, 1  Wu, 2  Wu, 3  Wu, b}
Will be generated. The same applies to the other network elements h1, h2, h3, o1.
[0043]
And portions corresponding to the respective network elements h1, h2, h3, o1, u,
{Wh1,1  Wh1,2  Wh1,3  Wh1, b}
{Wh2,1  Wh2,2  Wh2,3  Wh2, b}
{Wh3,1  Wh3,2  Wh3,3  Wh3, b}
{Wo1,1  Wo1,2  Wo1,3  Wo1, b}
{Wu, 1  Wu, 2  Wu, 3  Wu, b}
By connecting the coding neural network,
{Wh1,1  Wh1,2  Wh1,3  Wh1, b  Wh2,1  ... Wo1, b  Wu, 1  Wu, 2  Wu, 3  Wu, b}
Is generated.
[0044]
Therefore, for example, in the solution candidate neural network (201) of FIG. , −2.0}. Similarly, the coupling weights input to the network element h2 are {2.3, −1.3, 10.0, 1.0}, and the coupling weights input to the network element h3 are , {2.1, 2.2, −3.3, −2.0}, and the coupling weights input from the network elements h1, h2, h3 and the bias element to the network element o1 are {−5 .1, 2.4, −1.0, 2.0}, and similarly, the connection weights input to the network element u are {−0.1, 20.4, −0.8, 1.0. } Is obtained by the conventional method. Encoding neural net,
{0.1, 2.3, 3.0, -2.0, 2.3, -1.3, 10.0, 1.0, 2.1, 2.2, -3.3, -2 0.0, -5.1, 2.4, -1.0, 2.0, -0.1, 20.4, -0.8, 1.0}
It becomes.
[0045]
Next, FIG. 6 shows an example of the encoding function conversion (203) in the present embodiment. In this example, for each network element, the vector length of the coupling weight vector other than the coupling weight with the bias element among the weights included in the subset of coupling weights input to the network element is calculated, and the coupling weight part is calculated. An encoded neural network corresponding to the network element is generated by concatenating all elements of the set divided by the vector length and the vector length as a code.
[0046]
For example, the connection weight W input to the network element u (202)u, 1~ Wu, bWu, 1~ Wu, 3Vector length L whenu,
Lu= (Wu, 1 2+ Wu, 2 2+ Wu, 3 2)1/2
And Wu, 1~ Wu, bEach LuDivide by
wu, 1= Wu, 1/ Lu
wu, 2= Wu, 2/ Lu
wu, 3= Wu, 3/ Lu
wu, b= Wu, b/ Lu
And wu, 1, Wu, 2, Wu, 3, Wu, b, Lu, The portion corresponding to u of the encoded neural network (204),
{Wu, 1  wu, 2  wu, 3  wu, b  Lu}
Is generated. The same applies to the other network elements h1, h2, h3, o1.
[0047]
And portions corresponding to the respective network elements h1, h2, h3, o1, u,
{Wh1,1  wh1,2  wh1,3  wh1, b  Lh1}
{Wh2,1  wh2,2  wh2,3  wh2, b  Lh2}
{Wh3,1  wh3,2  wh3,3  wh3, b  Lh3}
{Wo1,1  wo1,2  wo1,3  wo1, b  Lo1}
{Wu, 1  wu, 2  wu, 3  wu, b  Lu}
By connecting the coding neural network,
{Wh1,1  wh1,2  wh1,3  wh1, b  Lh1  wh2,1  … Wo1, b  Lo1  wu, 1  wu, 2  wu, 3  wu, b  Lu}
Is generated.
[0048]
Therefore, for example, if the solution candidate neural network (201) in FIG. 4 has the coupling weights exemplified above, the encoding neural network obtained by the encoding function conversion according to this example is
{0.0264442 ..., 0.6082187 ..., 0.7933288 ..., -0.5288858 ..., 3.7815340 ...,
0.2223370 ..., -0.1256874 ..., 0.9668269 ..., 0.0966826 ..., 10.343113 ...,
0.4679393 ..., 0.4902221 ..., -0.7353332 ..., -0.4456565 ..., 4.4877611 ...,
-0.8909061 ..., 0.4192499 ..., -0.1746874 ..., 0.349373749 ..., 5.72445087 ...,
-0.0048981 ..., 0.9992199 ..., -0.0391850 ..., 0.0489813 ..., 20.4159925 ...}
It becomes.
[0049]
In this way, neural network elements that are functionally similar but have significantly different weights can be converted into similar code vectors (eg, {10, 20, 30, -40} and {20, 40, 60, −80} can be converted into {1, 2, 3, −4, 10} and {1, 2, 3, −4, 20} vectors), on the function of each network element It is possible to optimize the connection weight parameter that avoids duplication, and to realize high-performance optimization.
[0050]
Next, FIG. 7 illustrates the processing of the neural network decoding unit 107 in the neural network connection weight optimization apparatus of FIG.
[0051]
As described above, the neural network element decoding unit 107 generates a new neural network by treating codes corresponding to the same element in the new encoded neural network as the same group and performing a predetermined inverse function conversion.
[0052]
Here, the inverse function conversion will be described in more detail.
[0053]
In the example of FIG. 7, for each of the code vectors corresponding to each network element in the new encoding neural network, the code vector is obtained by multiplying the other variables by the absolute value of the variable representing the length of the code vector. A new neural network part corresponding to is generated.
[0054]
For example, the code (301) corresponding to the element u in the new encoding neural network,
{Wu, 1 new  wu, 2 new  wu, 3 new  wu, b new  Lu new}
For, the code L corresponding to the length of the vectoru new(Lu newMay be negative) | Lu new| Lu newW corresponding to each combination weight other thanu, 1 new~ Wu, b newEach | Lu newMultiply
Wu, 1 new  = Wu, 1 new  ・ | Lu new
Wu, 2 new  = Wu, 2 new  ・ | Lu new
Wu, 3 new  = Wu, 3 new  ・ | Lu new
Wu, b new  = Wu, b new  ・ | Lu new
And the connection weight (303) to be input to the element u of the new neural network
{Wu, 1 new  Wu, 2 new  Wu, 3 new  Wu, b new}
Ask for. The same applies to the codes corresponding to the elements h1, h2, h3 and o1 in the new encoded neural network.
[0055]
Various variations can be considered for the inverse function transformation.
[0056]
For example, in the above, LnewInstead of L, but instead of LnewIs a predetermined threshold value LthIf this is the case, the LnewAnd LnewIs a predetermined threshold value LthL if less thannew= LthThere is also a method.
[0057]
Also, in the above, Lnew2 may be negative, but instead, in step S2 of FIG.newAdopt an algorithm that does not become negative or LnewEven if the algorithm may be negative (or less than 0)newL becomes negative (or 0 or less)newMay be corrected to 0 or more (or a positive value), or the new coded neural network may not be used (discarded). In this case, LnewProcessing such as taking the absolute value of becomes unnecessary.
[0058]
In addition to the above, various variations can be considered for the encoding function conversion and the inverse function conversion.
[0059]
For example, in the coding function conversion example described above, the weight (W) included in the subset of connection weights input to the network element.1~ Wn) And a coupling weight other than the coupling weight with the bias element (W1~ WtVector length L (= (W1 2+ ... + Wt 2)1/2) And calculate all elements (W1~ Wn) Divided by the vector length L and the vector length are connected as a code, so that the portion of the encoded neural network corresponding to the network element (W1/L,...,Wn/ L, L), but instead, vector length L is multiplied by k (where k> 0) and all elements W1~ WnBy dividing L · k by L · k as a code, the portion of the encoded neural network corresponding to the network element (W1/(L·k),...,WnA method of generating / (L · k), (L · k)) is also possible. The inverse function transformation corresponding to this variation is the same as the example described so far if L · k is treated as L.
[0060]
Also, for example, the vector length L is multiplied by k (where k> 0), and the element W1~ WtDivided by L and element Wt + 1~ WnIs divided by L · k, and L and L · k (or L and k) are connected as codes, thereby the portion of the encoded neural network corresponding to the network element (W1/L,...,Wt/ L, Wt + 1/(L·k),...,Wn/ (L · k), L, (L · k)) (the vector length portion may be L or k instead of L or (L · k)). The inverse function transformation corresponding to this variation1~ WtL, L · k for Wt + 1~ WnIt is the same as the example described so far if it is treated as L for.
[0061]
Further, for example, the vector length L is multiplied by k1 (where k1> 0), the vector length L is further multiplied by k2 (where k2> 0), and the element W1~ WtDivided by L · k1 and element Wt + 1~ WnIs divided by L · k2, and L · k1 and L · k2 (or L, k1 and k2) are connected as a code to obtain a part of the encoded neural network corresponding to the network element (W1/(L·k1),...,Wt/ (L · k1), Wt + 1/ (L · k2) ..., Wn/ (L · k2), (L · k1), (L · k2)) (the vector length part is L, k1, k2 instead of (L · k1), (L · k2)) Good) is also possible. The inverse function transformation corresponding to this variation uses L · k1 as W1~ WtL, L · k2 for Wt + 1~ WnIt is the same as the example described so far if it is treated as L for.
[0062]
There are a method of fixing k, k1, and k2 and a method of determining each neural network.
[0063]
Of course, in addition to these, various variations can be considered for the encoding function conversion and the inverse function conversion.
[0064]
As described above, according to the present embodiment, it is possible to optimize the connection weight of the neural network for a general model evaluation function. Further, optimization can be performed for each function of each network element.
[0065]
In the following, the operation and effect of the connection weight optimization processing of the neural network of this embodiment will be described according to the following example.
[0066]
FIG. 8 illustrates a neural network having 10 input elements, 5 intermediate elements, and 1 output element, and optimizes the connection weight vector W (number of connection weights = 61) of this network.
[0067]
FIG. 9 shows an example of data (input and teacher signal) used for the model evaluation function f serving as the next optimization criterion.
f (W) = Σ (t (i) −O (in (i), W))2
Here, f (W): network model evaluation function value of the connection weight W
O (in (i), W): An output value of the network when in (i) is input. Moreover, the range which takes a sum total is i = 1-N.
In this example, a smaller f (W) network is evaluated as a preferable network.
When there are a plurality of output elements as in the example of FIG. 4, for example, the sum of model evaluation function values f (W) for each output element may be taken.
[0068]
FIGS. 10 and 11 show this embodiment in the case where the model evaluation function of FIG. 9 is used, the blx method is used in the new encoded neural network generation unit 105, and the mgg method is used in the new neural network evaluation / selection unit 109. 6 and 7 show the optimization results (C1, C3) and the optimization results (C2, C4) of the conventional method of FIG.
[0069]
The horizontal axis of FIGS. 10 and 11 is the number of iterations of the loop processing of the procedure of FIG. 2, the vertical axis of FIG. 10 indicates the change in the model evaluation function value, and the vertical axis of FIG. Shows the change in classification accuracy.
[0070]
From FIG. 10 and FIG. 11, it is clear that the optimization result of this embodiment is superior.
[0071]
As described above, according to the present embodiment, the neural network total connection weight is divided into groups that are input to the same element, and the coding function conversion is performed on each group, so that each element of the neural network can be independently performed. Since optimization can be performed, it is possible to optimize the coupling weight more efficiently than in the conventional method.
[0072]
Each function described above can be realized as software.
The present embodiment can also be implemented as a program for causing a computer to execute predetermined means (or for causing a computer to function as predetermined means, or for causing a computer to realize predetermined functions) The present invention can also be implemented as a computer-readable recording medium that records the program.
[0073]
Note that the configuration illustrated in the embodiment of the present invention is an example, and is not intended to exclude other configurations, and a part of the illustrated configuration may be replaced with another, or one of the illustrated configurations. Other configurations obtained by omitting a part, adding another function or element to the illustrated configuration, or combining them are also possible. Also, another configuration that is logically equivalent to the exemplified configuration, another configuration that includes a portion that is logically equivalent to the illustrated configuration, another configuration that is logically equivalent to the main part of the illustrated configuration, and the like are possible. is there. Further, another configuration that achieves the same or similar purpose as the illustrated configuration, another configuration that achieves the same or similar effect as the illustrated configuration, and the like are possible.
In addition, various variations of various components illustrated in the embodiment of the present invention can be implemented in appropriate combination.
Further, the embodiments of the present invention include inventions according to various viewpoints, stages, concepts, or categories, such as inventions of the entire device, inventions of components inside the device, or inventions of methods corresponding thereto. It is inherent.
Therefore, the present invention can be extracted from the contents disclosed in the embodiments of the present invention without being limited to the exemplified configuration.
[0074]
The present invention is not limited to the embodiment described above, and can be implemented with various modifications within the technical scope thereof.
[0075]
【The invention's effect】
According to the present invention, it is possible to optimize the neural network coupling weight based on a general model evaluation function, which is better than the conventional optimization.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration example of a neural network connection weight optimization apparatus according to an embodiment of the present invention.
FIG. 2 is a flowchart showing an example of a processing procedure of the neural network connection weight optimization device according to the embodiment;
FIG. 3 is a view for explaining the processing procedure of the neural network connection weight optimization device according to the embodiment;
FIG. 4 is a diagram for explaining processing of a neural network element encoding unit of the neural network connection weight optimization apparatus according to the embodiment;
FIG. 5 is a diagram for explaining encoding function conversion in a conventional method;
FIG. 6 is a diagram for explaining coding function conversion in the neural network connection weight optimization device according to the embodiment;
FIG. 7 is a diagram for explaining inverse function conversion in the neural network connection weight optimization device according to the embodiment;
FIG. 8 is a diagram showing an example of the structure of a solution candidate neural network
FIG. 9 is a diagram showing an example of a model evaluation function serving as a standard for optimization
FIG. 10 is a diagram for explaining an example of optimization results in comparison with a conventional method;
FIG. 11 is a diagram for explaining an example of optimization results in comparison with a conventional method;
[Explanation of symbols]
101 ... Solution candidate neural network set storage unit
102 ... Model evaluation function storage unit
103: Neural network element encoding unit
104: Coding neural network set storage unit
105 ... New encoding neural network generation unit
106: New encoding neural network set storage unit
107: Neural network element decoding unit
108 ... New neural network set storage unit
109 ... New neural network evaluation / selection unit

Claims (16)

複数のネットワーク素子及び0又は1つ以上のバイアス素子からなる所定の結合構造を有するニューラルネットの結合重みを最適化するニューラルネット結合重み最適化方法であって、
1つ又は複数のニューラルネットと、当該ニューラルネットの結合重みを所定の評価関数に基づいて評価した評価結果とを対応付けて解候補ニューラルネット集合記憶手段に記憶する第1のステップと、
前記解候補ニューラルネット集合記憶手段に記憶された前記ニューラルネットから選択した所定数のニューラルネットの各々について、当該ニューラルネットの全結合重みのうち同一のネットワーク素子への入力に係る結合重みごとに、ネットワーク素子の機能を考慮した所定の符号化関数変換を施して符号化し、各ネットワーク素子について得られた符号を連結して、符号化ニューラルネットを生成する第2のステップと、
この第2のステップで生成された前記符号化ニューラルネットをもとにして、所定数の符号化ニューラルネットを新たに生成する第3のステップと、
この第3のステップで生成された前記符号化ニューラルネットの各々について、当該符号化ニューラルネットの全符号のうち各々のネットワーク素子に対応する符号部分ごとに、ネットワーク素子の機能を考慮した所定の逆関数変換を施して、前記解候補ニューラルネット集合記憶手段に記憶されている前記ニューラルネットと同じ形式のニューラルネットを新たに生成する第4のステップと、
この第4のステップで生成された前記ニューラルネットの各々について前記モデル評価関数に基づく評価を行って評価結果を求め、少なくとも、該評価結果に基づいて該ニューラルネット及びその評価結果を前記解候補ニューラルネット集合記憶手段に追加するか否かを判断し、追加すると判断された該ニューラルネットその評価結果とを対応付けて前記解候補ニューラルネット集合記憶手段に記憶する第5のステップとを有することを特徴とするニューラルネット結合重み最適化方法。
A neural network connection weight optimization method for optimizing a connection weight of a neural network having a predetermined connection structure composed of a plurality of network elements and zero or one or more bias elements,
One or more neural network, a first step of storing the connection weights of the neural network in the candidate solution neural network set storage unit in association with the evaluation results of the evaluation on the basis of a predetermined evaluation function,
For each of a predetermined number of neural networks selected from the neural network stored in the solution candidate neural network set storage means, for each connection weight related to input to the same network element among all the connection weights of the neural network, A second step of performing encoding by performing a predetermined encoding function conversion in consideration of the function of the network element and concatenating the codes obtained for each network element to generate an encoded neural network;
A third step of newly generating a predetermined number of encoded neural nets based on the encoded neural net generated in the second step;
For each of the encoded neural nets generated in the third step, a predetermined inverse considering the function of the network element for each code part corresponding to each network element among all the codes of the encoded neural network. A fourth step of performing function conversion to newly generate a neural network of the same format as the neural network stored in the solution candidate neural network set storage means ;
Each of the neural networks generated in the fourth step is evaluated based on the model evaluation function to obtain an evaluation result, and at least based on the evaluation result, the neural network and its evaluation result are determined as the solution candidate neural network. A fifth step of determining whether to add to the net set storage means and associating the neural network determined to be added with the evaluation result in association with each other and storing them in the solution candidate neural net set storage means A neural network connection weight optimization method characterized by:
前記第5のステップでは、さらに、前記解候補ニューラルネット集合記憶手段に記憶されている既存の前記ニューラルネット及びその評価結果のうち所定の条件を満たすものを該解候補ニューラルネット集合記憶手段から削除することを特徴とする請求項1に記載のニューラルネット結合重み最適化方法。In the fifth step, the existing neural network stored in the solution candidate neural network set storage unit and the evaluation result satisfying a predetermined condition are deleted from the solution candidate neural network set storage unit. The neural network connection weight optimization method according to claim 1, wherein: 前記第5のステップでは、前記第4のステップで生成された前記ニューラルネットの評価結果と、前記解候補ニューラルネット集合記憶手段に記憶されている既存の前記ニューラルネットのうち前記第2のステップで選択された前記ニューラルネットの評価結果とを比較して、より良い評価結果を持つものを、前記第2のステップで前記ニューラルネットを選択した数と同じ数だけ選択し、選択されたニューラルネット及びその評価結果で、前記解候補ニューラルネット集合記憶手段に記憶されている前記ニューラルネット及びその評価結果のうち前記第2のステップで選択された前記ニューラルネット及び評価結果の部分を更新することを特徴とする請求項1に記載のニューラルネット結合重み最適化方法。In the fifth step, in the second step of the evaluation result of the neural network generated in the fourth step and the existing neural network stored in the solution candidate neural network set storage unit , The evaluation result of the selected neural network is compared, and the one having the better evaluation result is selected in the same number as the number of the neural network selected in the second step, and the selected neural network and The neural network stored in the solution candidate neural network set storage means and the portion of the neural network and the evaluation result selected in the second step among the evaluation results are updated with the evaluation result. The neural network connection weight optimization method according to claim 1. 前記第2のステップから前記第5のステップを、前記第5のステップの後において所定の終了条件が成立したと判断されるまで、繰り返し実行し、
前記第5のステップの後において所定の終了条件が成立したと判断された場合には、前記解候補ニューラルネット集合記憶手段に記憶されている前記ニューラルネットのうち、その時点で最も良い前記評価結果を持つものを、最適化されたニューラルネットとして選択することを特徴とする請求項1ないし3のいずれか1項に記載のニューラルネット結合重み最適化方法。
The second step to the fifth step are repeatedly executed until it is determined that a predetermined end condition is satisfied after the fifth step,
If it is determined that a predetermined termination condition is satisfied after the fifth step, among the neural networks stored in the solution candidate neural network set storage unit , the best evaluation result at that time The neural network connection weight optimization method according to any one of claims 1 to 3, wherein the neural network is selected as an optimized neural network.
前記第2のステップでは、前記ニューラルネットの前記同一のネットワーク素子への入力に係る結合重みに対して前記所定の符号化関数変換を施すにあたっては、当該ネットワーク素子への入力に係る全結合重みのうちバイアス素子からの入力に係る結合重み以外の結合重みからなる結合重みベクトルのベクトル長を求め、該ベクトル長又は該ベクトル長を正数倍した値に基づいて当該ネットワーク素子への入力に係る全結合重みの各々に所定の演算を施して得た値と、該ベクトル長又は該ベクトル長を正数倍した値とを、符号として連結することにより、前記符号化ニューラルネットを生成することを特徴とする請求項1ないし4のいずれか1項に記載のニューラルネット結合重み最適化方法。In the second step, when the predetermined encoding function conversion is performed on the connection weight related to the input to the same network element of the neural network, the total connection weight related to the input to the network element is calculated. The vector length of a coupling weight vector composed of coupling weights other than the coupling weights related to the input from the bias element is obtained, and all the vectors related to the input to the network element based on the vector length or a value obtained by multiplying the vector length by a positive number The encoded neural network is generated by concatenating a value obtained by performing a predetermined operation on each of the connection weights and the vector length or a value obtained by multiplying the vector length by a positive number as a code. The neural network connection weight optimization method according to any one of claims 1 to 4. 前記所定の演算は、前記結合重みを、前記ベクトル長又は前記ベクトル長を正数倍した値で除する演算であることを特徴とする請求項5に記載のニューラルネット結合重み最適化方法。6. The neural network connection weight optimization method according to claim 5, wherein the predetermined operation is an operation of dividing the connection weight by the vector length or a value obtained by multiplying the vector length by a positive number. 前記第2のステップでは、前記ニューラルネットの前記同一のネットワーク素子への入力に係る結合重みに対して前記所定の符号化関数変換を施すにあたっては、当該ネットワーク素子への入力に係る全結合重みのうちバイアス素子からの入力に係る結合重み以外の結合重みからなる結合重みベクトルのベクトル長を求め、該ベクトル長を第1の正数倍した値に基づいて該バイアス素子からの入力に係る結合重み以外の結合重みの各々に所定の演算を施して得た値と、該ベクトル長を第2の正数倍(ただし、第1の正数と第2の正数とは異なる値であり且つ第1の正数と第2の正数の少なくとも一方は1ではない値)した値に基づいて該バイアス素子からの入力に係る結合重みの各々に所定の演算を施して得た値と、該ベクトル長を第1の正数倍した値及び該ベクトル長を第2の正数倍した値を特定可能とする値の組とを、符号として連結することにより、前記符号化ニューラルネットを生成することを特徴とする請求項1ないし4のいずれか1項に記載のニューラルネット結合重み最適化方法。In the second step, when the predetermined encoding function conversion is performed on the connection weight related to the input to the same network element of the neural network, the total connection weight related to the input to the network element is calculated. Of these, the vector length of a coupling weight vector composed of coupling weights other than the coupling weight related to the input from the bias element is obtained, and the coupling weight related to the input from the bias element based on a value obtained by multiplying the vector length by a first positive number And a value obtained by performing a predetermined operation on each of the connection weights other than, and the vector length multiplied by a second positive multiple (however, the first positive number and the second positive number are different values and the first A value obtained by performing a predetermined operation on each of the coupling weights related to the input from the bias element based on a value obtained by at least one of a positive number of 1 and a second positive number being a value that is not 1), and the vector The length is the first positive 2. The encoded neural network is generated by concatenating, as a code, a set of a value obtained by specifying a value obtained by multiplying the multiplied value and a value obtained by multiplying the vector length by a second positive number as a code. 5. The neural network connection weight optimization method according to any one of items 4 to 4. 前記所定の演算は、前記バイアス素子からの入力に係る結合重み以外の結合重みを、前記ベクトル長を第1の正数倍した値で除するとともに、前記バイアス素子からの入力に係る結合重みを、前記ベクトル長を第2の正数倍した値で除する演算であることを特徴とする請求項5または6に記載のニューラルネット結合重み最適化方法。The predetermined calculation divides a coupling weight other than a coupling weight related to an input from the bias element by a value obtained by multiplying the vector length by a first positive number, and a coupling weight related to an input from the bias element. 7. The method for optimizing a neural network connection weight according to claim 5, wherein the vector length is divided by a value obtained by multiplying the vector length by a second positive number. 前記第4のステップでは、前記符号化ニューラルネットの全符号のうち一つの前記ネットワーク素子に対応する符号部分に対して前記所定の逆関数変換を施すにあたっては、該符号部分のうち前記ベクトル長又は前記ベクトル長を正数倍した値に対応する符号値に基づいて、該符号部分のうち前記結合重みの各々に所定の演算を施して得た値に対応する符号値に対してそれぞれ所定の演算を施すことによって、新ニューラルネットにおける該当する結合重みを求めることを特徴とする請求項5または6に記載のニューラルネット結合重み最適化方法。In the fourth step, in performing the predetermined inverse function transformation on a code portion corresponding to one network element of all codes of the coding neural network, the vector length or Based on a code value corresponding to a value obtained by multiplying the vector length by a positive number, a predetermined operation is performed for each code value corresponding to a value obtained by performing a predetermined operation on each of the coupling weights in the code portion. 7. The neural network connection weight optimization method according to claim 5, wherein the corresponding connection weight in the new neural network is obtained by applying 前記所定の演算は、前記符号部分のうち前記ベクトル長又は前記ベクトル長を正数倍した値に対応する符号値に対して所定の修正を施した修正値を求め、前記符号部分のうち前記結合重みの各々に所定の演算を施して得た値に対応する符号値に対してそれぞれ該修正値を乗ずる演算であることを特徴とする請求項9に記載のニューラルネット結合重み最適化方法。The predetermined calculation obtains a correction value obtained by performing a predetermined correction on a code value corresponding to the vector length or a value obtained by multiplying the vector length by a positive number in the code portion, and the combination in the code portion. The neural network connection weight optimization method according to claim 9, wherein the correction is performed by multiplying a code value corresponding to a value obtained by performing a predetermined calculation on each of the weights. 前記第4のステップでは、前記符号化ニューラルネットの全符号のうち一つの前記ネットワーク素子に対応する符号部分に対して前記所定の逆関数変換を施すにあたっては、該符号部分のうち前記ベクトル長を第1の正数倍した値及び前記ベクトル長を第2の正数倍した値を特定可能とする値の組に対応する符号値の組に基づいて特定した前記ベクトル長を第1の正数倍した値に相当する値に基づいて、該符号部分のうち前記バイアス素子からの入力に係る結合重み以外の結合重みの各々に所定の演算を施して得た値に対応する符号値に対してそれぞれ所定の演算を施すとともに、該符号部分のうち前記ベクトル長を第1の正数倍した値及び前記ベクトル長を第2の正数倍した値を特定可能とする値の組に対応する符号値の組に基づいて特定した前記ベクトル長を第2の正数倍した値に相当する値に基づいて、該符号部分のうち前記バイアス素子からの入力に係る結合重みの各々に所定の演算を施して得た値に対応する符号値に対してそれぞれ所定の演算を施すことによって、新ニューラルネットにおける該当する結合重みを求めることを特徴とする請求項7または8に記載のニューラルネット結合重み最適化方法。In the fourth step, when performing the predetermined inverse function transformation on the code portion corresponding to one of the network elements among all the codes of the coding neural network, the vector length of the code portion is set. The vector length specified based on a set of code values corresponding to a set of values that can specify a value obtained by multiplying a first positive number and a value obtained by multiplying the vector length by a second positive number is a first positive number. Based on a value corresponding to the multiplied value, a code value corresponding to a value obtained by performing a predetermined calculation on each of the coupling weights other than the coupling weight related to the input from the bias element in the code part. A code corresponding to a set of values that perform a predetermined calculation and that can specify a value obtained by multiplying the vector length by a first positive number and a value obtained by multiplying the vector length by a second positive number in the code portion. Identified based on value pairs Further, based on a value corresponding to a value obtained by multiplying the vector length by a second positive number, it corresponds to a value obtained by performing a predetermined calculation on each of the coupling weights related to the input from the bias element in the sign portion. 9. The neural network connection weight optimization method according to claim 7 or 8, wherein a corresponding connection weight in the new neural network is obtained by performing a predetermined operation on each of the code values. 前記所定の演算は、特定された前記ベクトル長を第1の正数倍した値に相当する値に対して所定の修正を施した第1の修正値を求め、前記符号部分のうち前記バイアス素子からの入力に係る結合重み以外の結合重みの各々に所定の演算を施して得た値に対応する符号値に対してそれぞれ該第1の修正値を乗ずるとともに、特定された前記ベクトル長を第2の正数倍した値に相当する値に対して所定の修正を施した第2の修正値を求め、前記符号部分のうち前記バイアス素子からの入力に係る結合重みの各々に所定の演算を施して得た値に対応する符号値に対してそれぞれ該第2の修正値を乗ずる演算であることを特徴とする請求項11に記載のニューラルネット結合重み最適化方法。The predetermined calculation obtains a first correction value obtained by performing a predetermined correction on a value corresponding to a value obtained by multiplying the specified vector length by a first positive number, and the bias element of the sign portion is obtained. And multiplying the code value corresponding to the value obtained by performing a predetermined calculation on each of the connection weights other than the connection weights related to the input from the first correction value, and the specified vector length A second correction value obtained by performing a predetermined correction on a value corresponding to a value that is a multiple of 2 is obtained, and a predetermined calculation is performed on each of the coupling weights related to the input from the bias element in the sign portion. 12. The method for optimizing a neural network connection weight according to claim 11, wherein the calculation is performed by multiplying the code value corresponding to the value obtained by the second correction value. 前記所定の修正は、前記値に対してその絶対値とる修正、または前記値が予め定められた正数のしきい値未満である場合に該値を該予め定められた正数のしきい値とする修正であることを特徴とする請求項10または12に記載のニューラルネット結合重み最適化方法。Said predetermined correction, the value that takes the absolute value correction, or the value is a positive number of threshold values determined the advance said value if it is less than the threshold value of a positive number that is predetermined for The neural network connection weight optimization method according to claim 10 or 12, characterized in that: 前記第3のステップでは、遺伝的アルゴリズムによって、前記符号化ニューラルネットを生成することを特徴とする請求項1に記載のニューラルネット結合重み最適化方法。The neural network connection weight optimization method according to claim 1, wherein in the third step, the encoded neural network is generated by a genetic algorithm. 複数のネットワーク素子及び0又は1つ以上のバイアス素子からなる所定の結合構造を有するニューラルネットの結合重みを最適化するニューラルネット結合重み最適化装置であって、
1つ又は複数のニューラルネットと、当該ニューラルネットの結合重みを所定の評価関数に基づいて評価した評価結果とを対応付けて記憶するための解候補ニューラルネット集合記憶手段と、
前記解候補ニューラルネット集合記憶手段に記憶された前記ニューラルネットから選択した所定数のニューラルネットの各々について、当該ニューラルネットの全結合重みのうち同一のネットワーク素子への入力に係る結合重みごとに、ネットワーク素子の機能を考慮した所定の符号化関数変換を施して符号化し、各ネットワーク素子について得られた符号を連結して、符号化ニューラルネットを生成するための手段と、
この手段により生成された前記符号化ニューラルネットをもとにして、所定数の符号化ニューラルネットを新たに生成するための手段と、
この手段により生成された前記符号化ニューラルネットの各々について、当該符号化ニューラルネットの全符号のうち各々のネットワーク素子に対応する符号部分ごとに、ネットワーク素子の機能を考慮した所定の逆関数変換を施して、前記解候補ニューラルネット集合記憶手段に記憶されている前記ニューラルネットと同じ形式のニューラルネットを新たに生成するための手段と、
この手段により生成された前記ニューラルネットの各々について前記モデル評価関数に基づく評価を行って評価結果を求め、少なくとも、該評価結果に基づいて該ニューラルネット及びその評価結果を前記解候補ニューラルネット集合記憶手段に追加するか否かを判断し、追加すると判断された該ニューラルネットその評価結果とを対応付けて前記解候補ニューラルネット集合記憶手段に記憶するための手段とを備えたことを特徴とするニューラルネット結合重み最適化装置。
A neural network connection weight optimization device for optimizing a connection weight of a neural network having a predetermined connection structure comprising a plurality of network elements and zero or one or more bias elements,
One or more neural networks, and the solution candidate neural net set storage means for storing the connection weights of the neural network in association with the evaluation result of the evaluation on the basis of a predetermined evaluation function,
For each of a predetermined number of neural networks selected from the neural network stored in the solution candidate neural network set storage means, for each connection weight related to input to the same network element among all the connection weights of the neural network, Means for generating a coded neural network by performing a predetermined coding function conversion in consideration of the function of the network element and coding, concatenating the codes obtained for each network element;
Means for newly generating a predetermined number of encoded neural nets based on the encoded neural net generated by the means;
For each of the encoded neural nets generated by this means, a predetermined inverse function transformation taking into account the function of the network element is performed for each code part corresponding to each network element among all the codes of the encoded neural network. And a means for newly generating a neural network of the same format as the neural network stored in the solution candidate neural network set storage means ,
Each of the neural nets generated by the means is evaluated based on the model evaluation function to obtain an evaluation result, and at least the neural network and the evaluation result are stored in the solution candidate neural net set storage based on the evaluation result. Determining whether to add to the means, and means for associating the neural network determined to be added with the evaluation result and storing it in the solution candidate neural network set storage means, Neural network connection weight optimization device.
複数のネットワーク素子及び0又は1つ以上のバイアス素子からなる所定の結合構造を有するニューラルネットの結合重みを最適化するニューラルネット結合重み最適化装置としてコンピュータを機能させるためのプログラムであって、
1つ又は複数のニューラルネットと、当該ニューラルネットの結合重みを所定の評価関数に基づいて評価した評価結果とを対応付けて解候補ニューラルネット集合記憶手段に記憶するための機能と、
前記解候補ニューラルネット集合記憶手段に記憶された前記ニューラルネットから選択した所定数のニューラルネットの各々について、当該ニューラルネットの全結合重みのうち同一のネットワーク素子への入力に係る結合重みごとに、ネットワーク素子の機能を考慮した所定の符号化関数変換を施して符号化し、各ネットワーク素子について得られた符号を連結して、符号化ニューラルネットを生成するための機能と、
この機能により生成された前記符号化ニューラルネットをもとにして、所定数の符号化ニューラルネットを新たに生成するための機能と、
この機能により生成された前記符号化ニューラルネットの各々について、当該符号化ニューラルネットの全符号のうち各々のネットワーク素子に対応する符号部分ごとに、ネットワーク素子の機能を考慮した所定の逆関数変換を施して、前記解候補ニューラルネット集合記憶手段に記憶されている前記に属するニューラルネットと同じ形式のニューラルネットを新たに生成するための機能と、
この機能により生成された前記ニューラルネットの各々について前記モデル評価関数に基づく評価を行って評価結果を求め、少なくとも、該評価結果に基づいて該ニューラルネット及びその評価結果を前記解候補ニューラルネット集合記憶手段に追加するか否かを判断し、追加すると判断された該ニューラルネットその評価結果とを対応付けて前記解候補ニューラルネット集合記憶手段に記憶するための機能とをコンピュータに実現させるためのプログラム。
A program for causing a computer to function as a neural network connection weight optimization device that optimizes connection weights of a neural network having a predetermined connection structure composed of a plurality of network elements and zero or one or more bias elements,
One or more neural network, a function for storing the connection weights of the neural network in the candidate solution neural network set storage unit in association with the evaluation results of the evaluation on the basis of a predetermined evaluation function,
For each of a predetermined number of neural networks selected from the neural network stored in the solution candidate neural network set storage means, for each connection weight related to input to the same network element among all the connection weights of the neural network, Encoding by performing a predetermined encoding function conversion in consideration of the function of the network element, concatenating the codes obtained for each network element, and a function for generating an encoded neural network,
Based on the encoded neural net generated by this function, a function for newly generating a predetermined number of encoded neural nets,
For each of the encoded neural nets generated by this function, a predetermined inverse function conversion considering the function of the network element is performed for each code part corresponding to each network element among all codes of the encoded neural network. And a function for newly generating a neural network of the same format as the neural network belonging to the above stored in the solution candidate neural network set storage means ,
Each of the neural nets generated by this function is evaluated based on the model evaluation function to obtain an evaluation result, and at least the neural network and the evaluation result are stored in the solution candidate neural net set storage based on the evaluation result. Determining whether to add to the means , and causing the computer to realize a function for associating the neural network determined to be added with the evaluation result and storing it in the solution candidate neural network set storage means program.
JP2001155478A 2001-05-24 2001-05-24 Neural network connection weight optimization apparatus, method and program Expired - Lifetime JP3631443B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001155478A JP3631443B2 (en) 2001-05-24 2001-05-24 Neural network connection weight optimization apparatus, method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001155478A JP3631443B2 (en) 2001-05-24 2001-05-24 Neural network connection weight optimization apparatus, method and program

Publications (2)

Publication Number Publication Date
JP2002352215A JP2002352215A (en) 2002-12-06
JP3631443B2 true JP3631443B2 (en) 2005-03-23

Family

ID=18999660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001155478A Expired - Lifetime JP3631443B2 (en) 2001-05-24 2001-05-24 Neural network connection weight optimization apparatus, method and program

Country Status (1)

Country Link
JP (1) JP3631443B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210019122A1 (en) * 2018-03-28 2021-01-21 Sony Corporation Information processing method, information processing apparatus, and program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116192673A (en) * 2022-12-27 2023-05-30 中国联合网络通信集团有限公司 Genetic algorithm-based multi-target dynamic weighting service combination method and device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210019122A1 (en) * 2018-03-28 2021-01-21 Sony Corporation Information processing method, information processing apparatus, and program

Also Published As

Publication number Publication date
JP2002352215A (en) 2002-12-06

Similar Documents

Publication Publication Date Title
Bianchi et al. Graph neural networks with convolutional arma filters
Chen et al. Combined genetic algorithm optimization and regularized orthogonal least squares learning for radial basis function networks
CN109165720A (en) Neural network model compression method, device and computer equipment
Honkela et al. Variational learning and bits-back coding: an information-theoretic view to Bayesian learning
JP6973150B2 (en) Shortest path matrix generation program, device, and method
CN111860783B (en) Graph node low-dimensional representation learning method and device, terminal equipment and storage medium
Amin A novel classification model for cotton yarn quality based on trained neural network using genetic algorithm
CN117316333B (en) Inverse synthesis prediction method and device based on general molecular diagram representation learning model
AL-Bundi et al. A review on fractal image compression using optimization techniques
JPH11510936A (en) Optimization method of fuzzy rules by computer
CN114925270A (en) Session recommendation method and model
Yao et al. Evolving artificial neural networks for medical applications
CN114528971A (en) Atlas frequent relation mode mining method based on heterogeneous atlas neural network
Duong et al. System identification by genetic algorithm
Ordóñez et al. Genetic Approach for Optimizing Ensembles of Classifiers.
US20080154809A1 (en) Use and construction of categorical interactions using a rule gene in a predictive model
JP3631443B2 (en) Neural network connection weight optimization apparatus, method and program
JP2020515117A (en) Generalized polar code
CN115238134A (en) Method and apparatus for generating a graph vector representation of a graph data structure
US20210334313A1 (en) Methods and systems for tensor network contraction based on local optimization of contraction tree
JP7438544B2 (en) Neural network processing device, computer program, neural network manufacturing method, neural network data manufacturing method, neural network utilization device, and neural network downsizing method
CN115168864A (en) Intelligent cross contract vulnerability detection method based on feature cross
Javaheripi et al. Swann: Small-world architecture for fast convergence of neural networks
Panella et al. A training procedure for quantum random vector functional-link networks
CN112131995A (en) Action classification method and device, computing equipment and storage medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041216

R151 Written notification of patent or utility model registration

Ref document number: 3631443

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071224

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 9

EXPY Cancellation because of completion of term