JP6287999B2 - ニューラルネットワーク学習装置 - Google Patents

ニューラルネットワーク学習装置 Download PDF

Info

Publication number
JP6287999B2
JP6287999B2 JP2015157089A JP2015157089A JP6287999B2 JP 6287999 B2 JP6287999 B2 JP 6287999B2 JP 2015157089 A JP2015157089 A JP 2015157089A JP 2015157089 A JP2015157089 A JP 2015157089A JP 6287999 B2 JP6287999 B2 JP 6287999B2
Authority
JP
Japan
Prior art keywords
neural network
intermediate layer
learning
neuron
loss function
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.)
Active
Application number
JP2015157089A
Other languages
English (en)
Other versions
JP2017037392A (ja
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor 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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2015157089A priority Critical patent/JP6287999B2/ja
Priority to US15/180,310 priority patent/US10460236B2/en
Publication of JP2017037392A publication Critical patent/JP2017037392A/ja
Application granted granted Critical
Publication of JP6287999B2 publication Critical patent/JP6287999B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Feedback Control In General (AREA)

Description

本発明は、ニューラルネットワーク学習装置に関する。
従来のニューラルネットワーク学習装置に関する技術として、特許文献1には、砂時計ニューラルネットワークの引き延ばし学習方法が記載されている。特許文献1に記載された学習方法では、砂時計ニューラルネットワークの中間層を段階的に引き延ばして学習させ、中間層が最小次元となる砂時計ニューラルネットワークを得ることが図られている。
特開平9−185595号公報
上記従来技術では、ニューラルネットワークが砂時計型に限定されており、各中間層におけるニューロン数が固定されている。中間層を引き延ばして学習させた結果、中間層数が不必要に多くなる可能性がある。よって、上記従来技術においては、ニューラルネットワークの構造を最適化する上で改善の余地がある。
本発明は、ニューラルネットワークの構造を最適化することが可能なニューラルネットワーク学習装置を提供することを課題とする。
本発明に係るニューラルネットワーク学習装置は、入力又は予め設定された初期構造の階層型のニューラルネットワークを学習させるニューラルネットワーク学習装置であって、複数の学習データによりニューラルネットワークを学習させる学習処理を行う学習部を備え、学習処理は、データベースから学習データを読み込むデータ読込処理と、データ読込処理で学習データを読み込んだ場合、当該学習データを用いてニューラルネットワークの損失関数を算出し、損失関数に応じてニューラルネットワークの結合荷重を修正する結合荷重修正処理と、結合荷重修正処理の実行後、損失関数が予め設定された第1閾値よりも大きい場合に、ニューラルネットワークの中間層にニューロンを新たに生成するニューロン生成処理と、結合荷重修正処理の実行後、ニューラルネットワークの中間層における複数のニューロンの結合荷重の合計値が、予め設定された基準合計値よりも小さい場合に、当該中間層のニューロンの一部を消滅させるニューロン消滅処理と、を含み、結合荷重修正処理においては、ニューロン生成処理でニューロンを新たに生成した場合、及び、ニューロン消滅処理でニューロンの一部を消滅させた場合のうちの何れかの場合、当該学習データを用いて損失関数を再度算出し、損失関数に応じて結合荷重を再度修正し、学習処理の実行後、損失関数が予め設定された第2閾値よりも大きい場合に、少なくとも1つのニューロンを含む追加中間層をニューラルネットワークの中間層として新たに生成する中間層生成処理を行う中間層生成部をさらに備え、学習部は、中間層生成処理で追加中間層を新たに生成した場合、追加中間層が生成されたニューラルネットワークにて学習処理を再度実行する。
このニューラルネットワーク学習装置では、ニューロン数を損失関数及び結合荷重に応じた最適な数となるように調整できる。さらに、中間層数を損失関数に応じた最適な数となるように調整できる。よって、ニューラルネットワークの構造を最適化することが可能となる。
本発明によれば、ニューラルネットワークの構造を最適化することが可能なニューラルネットワーク学習装置を提供することができる。
実施形態に係るニューラルネットワーク学習装置の構成を示すブロック図である。 図1のニューラルネットワーク学習装置におけるニューラルネットワークの構造を説明する図である。 図1のニューラルネットワーク学習装置における処理を示すフローチャートである。
以下、本発明の実施形態について図面を用いて詳細に説明する。なお、以下の説明において、同一又は相当要素には同一符号を用い、重複する説明は省略する。
図1は、実施形態に係るニューラルネットワーク学習装置の構成を示すブロック図である。図2は、図1のニューラルネットワーク学習装置におけるニューラルネットワークの構造を説明する図である。図1に示すように、ニューラルネットワーク学習装置100は、入力又は予め設定された初期構造の階層型のニューラルネットワークを、学習させて最適化する装置である。
ニューラルネットワークは、人間の脳の情報処理機構を模した数理モデルであり、学習というプロセスを介して、必要とされる情報処理を実現する。ニューラルネットワークは、例えば、パターン認識及び連想記憶等の処理に適用することができる。ニューラルネットワーク学習装置100で得られる最適化したニューラルネットワークとは、対象とする問題に対する答えを出力する、適切なネットワーク構造を有するニューラルネットワークを意味する。まず、ニューラルネットワーク学習装置100が対象とする階層型のニューラルネットワークの一例について説明する。
図2に示すように、ニューラルネットワーク1は、入力層2、1又は複数の中間層4及び出力層6を備え、各層にそれぞれ、n,n,n個のニューロン8を含む。図示する一例では、例えばパターン認識として4クラスに識別すべく、出力層6が4つのニューロン8を含む4次元のものとされている。
ニューロン8とは、ニューラルネットワーク1を構成する一素子である。ニューロン8は、生体の神経細胞を厳密に模倣したものではなく、神経細胞の特定の機能を抽出して単純化した数理モデルである。ニューロン8は、素子、ユニット、又はニューロンモデルとも称される。中間層4は、隠れ層とも称される。
中間層4の数及び中間層4のニューロン数nは、後述するように、適応的に変化する。入力データxの各成分を受け取った入力層2のニューロン8は、入力データxをそのまま出力する。中間層4のニューロン8は、入力データxのベクトルを受け取り、下式(1)で表される反応強度Bb(x)を出力する。ここで、Sa(x)は、中間層4のニューロン8が単体時に出力する単体反応強度であり、下式(2)で与えられる。μaは、ニューロン8の反応中心、σaはニューロン8の反応幅である。中間層4の各ニューロン8は競合関係にあり、それらの反応強度の和は全ての入力に対して1に保たれる。
Figure 0006287999

Figure 0006287999
出力層6のニューロンcは、中間層4のニューロン8との間の結合荷重wによって重みづけられた中間層4の各ニューロン8の反応強度を受け、その線形和を出力する。ニューラルネットワーク1の出力データyは、下式(3)で表すことができる。なお、以下では、反応中心μ、反応幅σ及び結合荷重wをパラメータξでひとまとめに表現する場合がある。結合荷重は、例えば、結合係数、結合重み、又は重みとも称される。
Figure 0006287999
図1に示すように、ニューラルネットワーク学習装置100は、CPU[Central ProcessingUnit]、ROM[Read OnlyMemory]、RAM[RandomAccess Memory]等を有する電子制御ユニットである。ニューラルネットワーク学習装置100では、ROMに記憶されているプログラムをRAMにロードし、CPUで実行することで、各種の制御を実行する。ニューラルネットワーク学習装置100は、複数の電子制御ユニットから構成されていてもよい。ニューラルネットワーク学習装置100は、例えば汎用コンピュータにより構成できる。
ニューラルネットワーク学習装置100は、初期構造取得部10と、演算部12とを有している。初期構造取得部10は、初期構造を有するニューラルネットワーク1を取得する。例えば初期構造取得部10は、初期構造のニューラルネットワーク1を、外部からの入力により、又は、予め設定することにより取得する。例えば初期構造のニューラルネットワーク1においては、中間層4は1層とされ、中間層4のニューロン数は複数とされ、各ニューロン8の結合荷重wは、予め設定された初期荷重値とされている。演算部12は、初期構造取得部10で取得した初期構造のニューラルネットワーク1を最適化する演算を行う。
本実施形態において、演算部12は、データベース20、学習部30及び中間層生成部40を備えている。データベース20は、複数の学習データ(学習サンプルとも称される)を予め記憶して格納する。学習データは、ニューラルネットワーク1を学習するためのデータである。学習データは、入力データと結果の規範としての教師データとの組で表されるデータである。学習データは、例えば実測又はシミュレーション等により得ることができる。データベース20は、学習部30の処理に用いられる後述の第1閾値th_e、基準変化量th_d、基準回数th_c、基準合計値th_w、及び、基準ニューロン数th_nを予め記憶して格納する。データベース20は、中間層生成部40の処理に用いられる後述の第2閾値th_e2、及び、基準追加数N1を予め記憶して格納する。
学習部30は、複数の学習データによりニューラルネットワーク1を学習させる学習処理を行う。学習処理は、データ読込処理、結合荷重修正処理、ニューロン生成処理、及びニューロン消滅処理を含む。学習部30は、学習データ読込部32と、結合荷重修正部34と、ニューロン生成部36と、ニューロン消滅部38と、を有している。
学習データ読込部32は、データ読込処理を実行する。データ読込処理は、データベース20から学習データを読み込む処理である。例えばデータ読込処理では、データベース20に記憶された複数の学習データの1つを読み込む。学習データ読込部32は、読み込んだ学習データを結合荷重修正部34へ出力する。
結合荷重修正部34は、結合荷重修正処理を実行する。結合荷重修正処理は、学習データ読込部32のデータ読込処理で学習データを読み込んだ場合、当該学習データを用いてニューラルネットワーク1の損失関数を算出し、算出した損失関数に応じてニューラルネットワーク1の結合荷重wを修正する。例えば結合荷重修正処理では、誤差逆伝播法(バックプロパゲーション法)により結合荷重wを修正する。
誤差逆伝播法は、ニューラルネットワーク1を学習させる学習法の一つであり、学習データを用いてニューラルネットワーク1の結合荷重を決定する。誤差逆伝播法は、入力データに対しての教師データを、ニューラルネットワーク1から得られる実際の出力データと照らし合わせ、その誤差を基に各結合荷重wを出力層6側から入力層2側へ変化させていく手法である。損失関数は、複数の学習データによるニューラルネットワーク1の各損失の総和に基づく値として求めることができる。例えばニューラルネットワーク1の出力データは2乗誤差によって評価できることから、1つの学習データに着目した場合の損失関数rは、下式(4)により求めることができる。zは教師データである。損失関数は、例えば損失係数、誤差関数、学習誤差、又はエラーとも称される。
Figure 0006287999
損失関数は、ネットワークにおけるパラメータξによって微分可能である。例えば2乗誤差を極小とする学習則として確率的降下法を採用すると、パラメータξの更新則は、各学習データに対して、下式(5)で与えられる。εは、学習係数であり、十分に小さい正の定数である。
Figure 0006287999
∇ξは、パラメータξについてのグラジエントであり、∇ξycを書き下すと下式(6)〜(8)が与えられる。下式(6)〜(8)で示されるように、中間層4の1つのニューロン8が支配的である学習データによっては、主にそのニューロン8の結合荷重wの学習が進む。中間層4の複数のニューロン8が出力に影響を及ぼす学習データによっては、それらの複数のニューロン8の結合荷重w、反応中心μ及び反応幅σの学習が進む。なお、損出関数の算出及び結合荷重wの修正については、上述した手法に限定されず、種々の公知手法を用いることができる。損失関数としては、2乗誤差に基づく関数以外に、例えば交差エントロピ誤差に基づく関数を用いることもできる。
Figure 0006287999
結合荷重修正処理では、後述するニューロン生成処理でニューロン8を新たに生成した場合、及び、後述するニューロン消滅処理でニューロン8の一部を消滅させた場合のうちの何れかの場合、読み込んだ学習データを用いてニューラルネットワーク1の損失関数を再度算出し、この損失関数に応じてニューラルネットワーク1の結合荷重wを再度修正する。
ニューロン生成部36は、ニューロン生成処理を実行する。ニューロン生成処理は、結合荷重修正部34による結合荷重修正処理の実行後、算出した損失関数が第1閾値th_eよりも大きい場合に、ニューラルネットワーク1の中間層4にニューロン8を新たに生成する処理である。ニューロン生成処理では、結合荷重修正処理の実行後、当該結合荷重修正処理で算出した損失関数が第1閾値th_eよりも大きく、損失関数の変化量が基準変化量th_dよりも小さく、且つ、構造不変回数が基準回数th_cよりも大きいか否かを判定する。当該判定結果がYesの場合に、ニューロン8を生成する対象の1又は複数の中間層4において、予め設定された値のパラメータξを有するニューロン8を1つ生成する。
例えば、新たに追加するニューロン8のパラメータξは、下式(9)〜(11)と設定することができる。y(nm)は、中間層4のニューロン数がn個である出力データであり、B(nm+1) nm+1は、中間層4のニューロン数が(nm+1)であるニューラルネットワーク1の(nm+1)番目の素子の反応強度である。γは反応幅の局所性を定める正の定数である。
Figure 0006287999
ニューロン生成処理では、ニューラルネットワーク1に存在する中間層4が1つの場合には、その中間層4をニューロン8を生成する対象の中間層(以下、「生成対象中間層」という)としてもよい。ニューラルネットワーク1の中間層4が複数存在する場合には、複数の中間層4のうち任意の少なくとも1つを生成対象中間層としてもよい。後述の中間層生成処理で追加中間層が新たな中間層4として生成されている場合には、この新たに生成された追加中間層を生成対象中間層としてもよい。生成対象中間層の選定については限定されず、公知の手法を用いることができる。
なお、ニューロン生成処理により生成するニューロン数は1つに限定されず、複数のニューロン8を生成してもよい。また、ニューロン生成処理によるニューロン8の生成については、上述した手法に限定されず、種々の公知手法を用いることができる。
ニューロン消滅部38は、ニューロン消滅処理を実行する。ニューロン消滅処理は、結合荷重修正部34による結合荷重修正処理の実行後、ニューラルネットワーク1の中間層4における複数のニューロン8の結合荷重wの合計値が、基準合計値th_wよりも小さい場合、当該中間層4のニューロン8の一部を消滅させる処理である。ニューロン消滅処理では、結合荷重修正処理の実行後、ニューロン8を消滅させる対象の1又は複数の中間層4において、各ニューロン8の結合荷重wの合計値が基準合計値th_wよりも小さく、ニューロン数が基準ニューロン数th_nよりも大きく、且つ、構造不変回数が基準回数th_cよりも大きいか否かを判定する。当該判定結果がYesの場合に、当該中間層4における1又は複数のニューロン8を消滅させる。
例えば、消滅させるニューロン8は、消滅させた場合に下式(12)を満たすものとすることができる。ただし、θはニューロン8の削除されやすさを定める正の定数である。ニューロン8の消滅による出力データの変化を小さくするために、結合荷重wを下式(13)に従って修正してもよい。
Figure 0006287999
ニューロン消滅処理では、ニューラルネットワーク1に存在する中間層4が1つの場合には、その中間層4をニューロン8を消滅させる対象の中間層(以下、「消滅対象中間層」という)としてもよい。ニューラルネットワーク1の中間層4が複数存在する場合には、複数の中間層4のうち任意の少なくとも1つを消滅対象中間層としてもよい。後述の中間層生成部40で追加中間層が新たな中間層4として生成されている場合には、この新たに生成された追加中間層を消滅対象中間層としてもよい。消滅対象中間層は、ニューロン生成処理の生成対象中間層と同じ中間層としてもよい。消滅対象中間層の選定については限定されず、公知の手法を用いることができる。なお、ニューロン消滅処理によるニューロン8の消滅については、上述した手法に限定されず、種々の公知手法を用いることができる。
上記において、損失関数の変化量とは、繰り返し実行される結合荷重修正処理において、前回算出された損失関数と今回算出された損出関数との差異である。損失関数の変化量は、例えば、連続する複数回の結合荷重修正処理における各損出関数を、結合荷重修正部34に記憶することで求めることができる。構造不変回数とは、繰り返し実行される結合荷重修正処理の回数のうち、ネットワーク構造(ニューロン数)の変化がない状態が続いている回数である。構造不変回数は、例えば、結合荷重修正部34において、結合荷重修正処理の実行の都度にカウントアップすると共に、ニューロン生成処理及びニューロン消滅処理でニューロン数を増減した場合に当該カウントをクリアすることにより求めることができる。
第1閾値th_e、基準変化量th_d及び基準回数th_cは、ニューロン生成処理でニューロン8を生成するか否かを適切に判定するために予め設定された値である。基準合計値th_w、基準ニューロン数th_n及び基準回数th_cは、ニューロン消滅処理でニューロン8を消滅させるか否かを適切に判定するために予め設定された値である。これらの値は、固定の値であってもよいし、変動する値であってもよく、例えば経験又は理論等に基づき得ることができる。
中間層生成部40は、中間層生成処理を実行する。中間層生成処理は、学習部30による学習処理の実行後、算出した損失関数が第2閾値th_e2よりも大きい場合に、少なくとも1つのニューロン8を含む追加中間層を、ニューラルネットワークの中間層4として新たに生成する処理である。中間層生成処理は、学習処理の実行後、結合荷重修正処理で算出した損失関数が第2閾値th_e2よりも大きく、且つ、当該中間層生成処理で既に生成している追加中間層の数が基準追加数N1よりも小さいか否かを判定する。当該判定結果がYesの場合に、追加中間層を1層新たに生成し、中間層4の総レイヤー数を増やす。追加中間層の数は、例えば、中間層生成部40において、中間層生成処理により追加中間層を生成する都度、生成する追加中間層の数をカウントアップすることにより求めることができる。
中間層生成処理では、例えばニューラルネットワーク1において最も出力層6側の中間層4と出力層6との間に、追加中間層を中間層4として新たに生成する。追加中間層におけるニューロン8の数は、1つでもよいし、複数でもよい。追加中間層のニューロン8の結合荷重wは、予め設定された初期荷重値とされている。ニューラルネットワーク1において追加中間層を生成する位置は、特に限定されず、複数の中間層4の間に生成してもよいし、最も入力層2側の中間層4と入力層2との間に生成してもよい。生成する追加中間層の数は、1つでもよいし複数でもよい。
本実施形態において、学習部30は、中間層生成処理で追加中間層を中間層4として新たに生成した場合、この追加中間層が生成されたニューラルネットワーク1にて学習処理を再度改めて実行する。すなわち、学習部30は、中間層生成処理により追加中間層を中間層4として含む新たなニューラルネットワーク1を構築した場合、当該新たなニューラルネットワーク1において、上述したデータ読込処理と結合荷重修正処理とニューロン生成処理とニューロン消滅処理とを再度改めて実行する。
次に、ニューラルネットワーク学習装置100で実行される学習処理及び中間層生成処理の一例について、図3に示すフローチャートを参照して説明する。
まず、演算部12は、初期構造取得部10で取得した初期構造のニューラルネットワーク1を有している。データベース20には、上述したように、複数の学習データ、第1閾値th_e、基準変化量th_d、基準回数th_c、基準合計値th_w、基準ニューロン数th_n、第2閾値th_e2、及び、基準追加数N1が予め記憶されている。初期構造のニューラルネットワーク1では、中間層4が1層とされ、各ニューロン8の結合荷重wが初期荷重値とされている。
ニューラルネットワーク学習装置100では、図3に示すように、学習データ読込部32により、データベース20から学習データを読み込む(S1)。結合荷重修正部34により、学習データを用いて損失関数を算出し、当該損失関数に応じて結合荷重を修正する(S2,S3)。
ニューロン生成部36により、算出した損失関数が第1閾値th_eよりも大きく、損失関数の変化量が基準変化量th_dよりも小さく、且つ、構造不変回数が基準回数th_cよりも大きいか否かを判定する(S4)。上記S4でYESの場合、ニューロン生成部36により、生成対象中間層である中間層4に新たなニューロン8を1つ生成する(S5)。上記S5の後、上記S2に戻り、結合荷重修正部34により、学習データを用いて損失関数を再度算出し、当該損失関数に応じて結合荷重wを再度修正する。
上記S4でNOの場合、ニューロン消滅部38により、消滅対象中間層である中間層4において、結合荷重wの合計値が基準合計値th_wよりも小さく、ニューロン数が基準ニューロン数th_nよりも大きく、且つ、構造不変回数が基準回数th_cよりも大きいか否かを判定する(S6)。上記S6でYESの場合、ニューロン消滅部38により、消滅対象中間層である中間層4のニューロン8の一部を消滅させる(7)。上記S7の後、上記S2に戻り、結合荷重修正部34により、学習データを用いて損失関数を再度算出し、当該損失関数に応じて結合荷重wを再度修正する。
上記S6でNOの場合、データベース20に記憶された複数の学習データの全てを学習データ読込部32で読み込んだか否かを判定する(S8)。上記S6でNOの場合、上記S1に戻り、学習データ読込部32により、複数の学習データのうちの未だ読み込んでいない学習データの読込みを行う。
上記S8でYESの場合、損失関数が第2閾値th_e2よりも大きく、且つ、追加中間層の追加数が基準追加数N1よりも小さいか否かを判定する(S9)。上記S9でYESの場合、中間層生成部40により追加中間層を中間層4として新たに生成し、新たな構造のニューラルネットワーク1を構築する(S10)。上記S10の後、上記S1に戻り、学習部30により、追加中間層が生成されたニューラルネットワーク1にて学習処理を改めて再度実行する。上記S9でNOの場合、処理を終了し、ニューラルネットワーク1の最適化が完了する。
以上、ニューラルネットワーク学習装置100によれば、ニューロン8の数を損失関数及び結合荷重wに応じた最適な数となるように調整できる。さらに、中間層4の数を損失関数に応じた最適な数となるように調整できる。よって、ニューラルネットワーク1の構造を最適化することが可能となる。
上記S1〜S8が学習処理に対応し、上記S1,S8がデータ読込処理に対応し、上記S2,S3が結合荷重修正処理に対応し、上記S4,S5がニューロン生成処理に対応し、上記S6,S7がニューロン消滅処理に対応する。上記S9,S10が中間層生成処理に対応する。
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく様々な形態で実施される。
上記実施形態において、データベース20は、ニューラルネットワーク学習装置100と通信可能な他のコンピュータが有していてもよい。初期構造取得部10は、ニューラルネットワーク学習装置100と別途に設けられていてもよいし、場合によっては設けられていなくともよい。
上記実施形態では、ニューロン生成処理において、損失関数が第1閾値th_eよりも大きく、損失関数の変化量が基準変化量th_dよりも小さく、且つ、構造不変回数が基準回数th_cよりも大きいか否かを判定した(上記S4参照)。当該判定条件は限定されず、要はニューロン生成処理では、損失関数が第1閾値th_eよりも大きい場合にニューロン8を生成すればよい。なお、損失関数の変化量が基準変化量th_dよりも小さいか否かをニューロン生成の判定条件として含むことにより、通常の学習による収束を待ってから、通常の学習ではできない部分を、ニューロンの生成による構造の修正により補うことができる。構造不変回数が基準回数th_cよりも大きいか否かをニューロン生成の判定条件として含むことにより、同様に、通常の学習による収束を待ってから構造の修正を行うことができる。
上記実施形態では、ニューロン消滅処理において、結合荷重wの合計値が基準合計値th_wよりも小さく、ニューロン数が基準ニューロン数th_nよりも大きく、且つ、構造不変回数が基準回数th_cよりも大きいか否かを判定した(上記S6参照)。当該判定条件は限定されず、要はニューロン消滅処理では、結合荷重wの合計値が基準合計値th_wよりも小さい場合にニューロン8の一部を消滅させればよい。なお、ニューロン数が基準ニューロン数th_nよりも大きいか否かをニューロン消滅の判定条件として含むことにより、ニューロン数が異常に小さくなる(例えば0になり層が消失してしまう)ことを防ぐことができる。構造不変回数が基準回数th_cよりも大きいか否かをニューロン消滅の判定条件として含むことにより、構造不変回数が基準回数th_cよりも大きいか否かをニューロン生成の判定条件として含む上述の場合と同様に、通常の学習による収束を待ってから構造の修正を行うことができる。
上記実施形態では、中間層生成処理において、損失関数が第2閾値th_e2よりも大きく、且つ、追加中間層の追加数が基準追加数N1よりも小さいか否かを判定した(上記S9参照)。当該判定条件は限定されず、要は中間層生成処理では、損失関数が第2閾値th_e2よりも大きい場合に追加中間層を生成すればよい。
図3に示す学習処理では、ニューロン生成部36のニューロン生成処理(S4,S5)の後にニューロン消滅部38のニューロン消滅処理(S6,S7)を実行したが、これとは逆に、ニューロン消滅処理の後にニューロン生成処理を実行してもよい。図3に示す学習処理では、複数の学習データの全てを読み込むまで学習データの読込みを繰り返したが、複数の学習データの全てをN回(Nは1以上の整数)読み込むまで学習データの読込みを繰り返せばよい。
1…ニューラルネットワーク、4…中間層、8…ニューロン、30…学習部、40…中間層生成部、100…ニューラルネットワーク学習装置。

Claims (1)

  1. 入力又は予め設定された初期構造の階層型のニューラルネットワークを学習させるニューラルネットワーク学習装置であって、
    複数の学習データにより前記ニューラルネットワークを学習させる学習処理を行う学習部を備え、
    前記学習処理は、
    データベースから前記学習データを読み込むデータ読込処理と、
    前記データ読込処理で前記学習データを読み込んだ場合、当該学習データを用いて前記ニューラルネットワークの損失関数を算出し、前記損失関数に応じて前記ニューラルネットワークの結合荷重を修正する結合荷重修正処理と、
    前記結合荷重修正処理の実行後、前記損失関数が予め設定された第1閾値よりも大きい場合に、前記ニューラルネットワークの中間層にニューロンを新たに生成するニューロン生成処理と、
    前記結合荷重修正処理の実行後、前記ニューラルネットワークの中間層における複数のニューロンの前記結合荷重の合計値が、予め設定された基準合計値よりも小さい場合に、当該中間層のニューロンの一部を消滅させるニューロン消滅処理と、を含み、
    前記結合荷重修正処理においては、
    前記ニューロン生成処理でニューロンを新たに生成した場合、及び、前記ニューロン消滅処理でニューロンの一部を消滅させた場合のうちの何れかの場合、当該学習データを用いて前記損失関数を再度算出し、前記損失関数に応じて前記結合荷重を再度修正し、
    前記学習処理の実行後、前記損失関数が予め設定された第2閾値よりも大きい場合に、少なくとも1つのニューロンを含む追加中間層を前記ニューラルネットワークの中間層として新たに生成する中間層生成処理を行う中間層生成部をさらに備え、
    前記学習部は、
    前記中間層生成処理で前記追加中間層を新たに生成した場合、前記追加中間層が生成された前記ニューラルネットワークにて前記学習処理を再度実行する、ニューラルネットワーク学習装置。
JP2015157089A 2015-08-07 2015-08-07 ニューラルネットワーク学習装置 Active JP6287999B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015157089A JP6287999B2 (ja) 2015-08-07 2015-08-07 ニューラルネットワーク学習装置
US15/180,310 US10460236B2 (en) 2015-08-07 2016-06-13 Neural network learning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015157089A JP6287999B2 (ja) 2015-08-07 2015-08-07 ニューラルネットワーク学習装置

Publications (2)

Publication Number Publication Date
JP2017037392A JP2017037392A (ja) 2017-02-16
JP6287999B2 true JP6287999B2 (ja) 2018-03-07

Family

ID=58049553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015157089A Active JP6287999B2 (ja) 2015-08-07 2015-08-07 ニューラルネットワーク学習装置

Country Status (2)

Country Link
US (1) US10460236B2 (ja)
JP (1) JP6287999B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681899B2 (en) 2018-12-07 2023-06-20 Samsong Electronics Co., Ltd. Dividing neural networks

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10515312B1 (en) * 2015-12-30 2019-12-24 Amazon Technologies, Inc. Neural network model compaction using selective unit removal
JP6719399B2 (ja) * 2017-02-10 2020-07-08 ヤフー株式会社 解析装置、解析方法、およびプログラム
JP6781415B2 (ja) 2017-03-16 2020-11-04 日本電気株式会社 ニューラルネットワーク学習装置、方法、プログラム、およびパターン認識装置
JP7331172B2 (ja) * 2017-05-11 2023-08-22 キヤノン株式会社 画像認識装置および学習装置
JP7023613B2 (ja) * 2017-05-11 2022-02-22 キヤノン株式会社 画像認識装置および学習装置
CN107392312B (zh) * 2017-06-01 2020-11-24 华南理工大学 一种基于dcgan性能的动态调整方法
WO2019066718A1 (en) * 2017-09-28 2019-04-04 Agency For Science, Technology And Research DEEP REPRESENTATIVE SELF ASSESSMENT UNITS
JP7230324B2 (ja) * 2018-12-07 2023-03-01 公立大学法人会津大学 ニューラルネットワークの学習方法、コンピュータプログラム及びコンピュータ装置
CN111325311B (zh) * 2018-12-14 2024-03-29 深圳云天励飞技术有限公司 用于图像识别的神经网络模型生成方法及相关设备
EP3912099A1 (en) * 2019-01-23 2021-11-24 Google LLC Compound model scaling for neural networks
CN113383347A (zh) * 2019-02-15 2021-09-10 三菱电机株式会社 信息处理装置、信息处理方法和信息处理程序
CN118212887A (zh) * 2019-06-13 2024-06-18 索尼集团公司 具有人工智能功能的显示装置
US11734569B2 (en) * 2020-02-14 2023-08-22 Wipro Limited Method and system for improving performance of an artificial neural network (ANN) model
JP2022108332A (ja) * 2021-01-13 2022-07-26 株式会社Jvcケンウッド 機械学習装置、機械学習方法、および機械学習プログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197821A (ja) 1991-11-11 1993-08-06 Omron Corp 階層型ニューラルネットの最適化方法及び装置
JPH0675934A (ja) 1992-08-28 1994-03-18 Hitachi Ltd ニューラルネットワーク構成法および該ネットワークを用いた設備異常診断法
US5627941A (en) 1992-08-28 1997-05-06 Hitachi, Ltd. Method of configuring a neural network and a diagnosis/control system using the neural network
JPH09185595A (ja) 1996-01-08 1997-07-15 Fujitsu Ltd 砂時計ニューラルネットワークの引き延ばし学習方法および能動的物体認識装置
JP4226754B2 (ja) 2000-03-09 2009-02-18 富士電機システムズ株式会社 ニューラルネットワークの最適化学習方法
JP2005182449A (ja) 2003-12-19 2005-07-07 Takumi Ichimura ニューラルネットワークによるデータベース解析装置
JP2008533615A (ja) * 2005-03-14 2008-08-21 エル ターラー、ステフエン ニューラルネットワーク開発およびデータ解析ツール
JP6042274B2 (ja) 2013-06-28 2016-12-14 株式会社デンソーアイティーラボラトリ ニューラルネットワーク最適化方法、ニューラルネットワーク最適化装置及びプログラム
AU2016243106B2 (en) * 2015-03-27 2020-10-01 Equifax, Inc. Optimizing neural networks for risk assessment
US11315018B2 (en) * 2016-10-21 2022-04-26 Nvidia Corporation Systems and methods for pruning neural networks for resource efficient inference
US11315019B2 (en) * 2017-11-15 2022-04-26 Google Llc Learning neural network structure
US11010658B2 (en) * 2017-12-22 2021-05-18 Intel Corporation System and method for learning the structure of deep convolutional neural networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11681899B2 (en) 2018-12-07 2023-06-20 Samsong Electronics Co., Ltd. Dividing neural networks

Also Published As

Publication number Publication date
US10460236B2 (en) 2019-10-29
JP2017037392A (ja) 2017-02-16
US20170039471A1 (en) 2017-02-09

Similar Documents

Publication Publication Date Title
JP6287999B2 (ja) ニューラルネットワーク学習装置
US20210390416A1 (en) Variable parameter probability for machine-learning model generation and training
US20210342699A1 (en) Cooperative execution of a genetic algorithm with an efficient training algorithm for data-driven model creation
US11610131B2 (en) Ensembling of neural network models
US11853893B2 (en) Execution of a genetic algorithm having variable epoch size with selective execution of a training algorithm
CN106372720B (zh) 一种用于实现深度脉冲神经网络的方法和系统
US20200410090A1 (en) Robust von neumann ensembles for deep learning
CN112288086B (zh) 一种神经网络的训练方法、装置以及计算机设备
US20170004399A1 (en) Learning method and apparatus, and recording medium
JP2019032808A (ja) 機械学習方法および装置
KR20160063965A (ko) 뉴럴 네트워크 구조 확장 방법, 디멘션 리덕션 방법, 및 그 방법을 이용한 장치
TW201531966A (zh) 配置稀疏神經網路
US11574093B2 (en) Neural reparameterization for optimization of physical designs
US20200410295A1 (en) Analyzing and correcting vulnerabilities in neural networks
KR102545113B1 (ko) 기계학습 모델에 기반한 필수 유전자 식별 방법 및 분석장치
WO2020195940A1 (ja) ニューラルネットワークのモデル縮約装置
US11042677B1 (en) Systems and methods for time series simulation
CN112381591A (zh) 基于lstm深度学习模型的销售预测优化方法
CN110889316B (zh) 一种目标对象识别方法、装置及存储介质
US20210312272A1 (en) Neuromorphic circuit, neuromorphic array learning method, and program
JP2021197032A (ja) 制御装置、方法及びプログラム
JP2000276459A (ja) 学習による変換関数を用いた乱数発生装置,乱数発生方法および乱数発生システム
Zhang et al. Online kernel classification with adjustable bandwidth using control-based learning approach
CN117668622B (zh) 设备故障诊断模型的训练方法、故障诊断方法及装置
JP6854486B2 (ja) 判定装置、判定方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171225

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: 20180109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180122

R151 Written notification of patent or utility model registration

Ref document number: 6287999

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151