JP5510014B2 - ニューラルネットワーク設計方法及びプログラム - Google Patents
ニューラルネットワーク設計方法及びプログラム Download PDFInfo
- Publication number
- JP5510014B2 JP5510014B2 JP2010092623A JP2010092623A JP5510014B2 JP 5510014 B2 JP5510014 B2 JP 5510014B2 JP 2010092623 A JP2010092623 A JP 2010092623A JP 2010092623 A JP2010092623 A JP 2010092623A JP 5510014 B2 JP5510014 B2 JP 5510014B2
- Authority
- JP
- Japan
- Prior art keywords
- neuron
- coefficient
- neurons
- procedure
- connection
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本発明は、物理モデルに適用可能なニューラルネットワークを設計するニューラルネットワーク設計方法、及び、コンピュータにニューラルネットワークを設計させるプログラムに関する。本発明は、このようなプログラムを格納したコンピュータ読み取り可能な記憶媒体にも関する。
リカレントニューラルネットワーク(RNN:Recurrent Neural Network)は、ロボットの動作等に適用するために開発されたニューラルネットワークであるが、ロボットの動作のみならず、歩数計や音声解析装置等の様々な電子装置等の物理モデルに対して適用可能である。RNN自体は、例えば特許文献1、非特許文献1等にて提案されている。
RNNは、ニューロンと結線からなるネットワークであり、ニューロンと入出力の結線との関係式は図1のように与えられる。図1において、εiは遅れパラメータ、yi, yjはニューロンの状態量、Cijは重み係数、tは時間を表し、ニューロンの状態量を表すyiをニューロンと同一視する場合もある。
図1の関係式の拡張として、図2のような関係式も考えられる。図2は、図1の構成に加え値giがニューロンyiに入力されることを示し、値giはこのRNN回路のニューロン以外で求められた値である。
図3は、1つのニューロンと3つの結線からなるRNN回路の一例を示す図である。図3において、ε1=1であり、結線に添えられた「1」は重み係数を表す。又、g1=0(固定)であり、この場合はRNN回路を図1のように値giの結線が無い簡略化した形式で表すこともできる。図4は、図3のRNN回路の関係式を説明する図である。図4の微分方程式を解くと、y1=C(定数)が求められる。
図5は、2つのニューロンと6つの結線からなるRNN回路の一例を示す図である。図5において、εi=1であり、結線に添えられた「1」は重み係数を表す。又、gi=0(固定)であり、この場合はRNN回路を図1のように値giの結線が無い簡略化した形式で表すこともできる。図6は、図5のRNN回路の関係式を説明する図である。図6の微分方程式を解くと、y2=C・tの1次関数が求められる。
本明細書では、説明の便宜上、ニューロンを2つのタイプに分け、図7に示すようにεi≠0のニューロンを「通常ニューロン」と定義する。これに対し、図8に示すようにεi=0のニューロンを「代入ニューロン」と定義する。通常ニューロンは、εi≠0により1階微分の項が消えないため、1階微分方程式を持ったニューロンである。これに対し、代入ニューロンは、εi=0により1階微分の項が消えてしまうため、微分方程式ではなく代入式となるニューロンである。
図9は、図3のニューロン及び図5のニューロンを代入ニューロンで繋いだRNN回路の一例を示す図である。図3及び図5のニューロンを繋いだ結果、y4のニューロンの出力はy4=C1・t+ C3となる。
RNN回路を用いて電子装置等の出力を得たい場合、最初から直接RNN回路を構成するのではなく、図3、図5、図9等の様々なRNN回路をパーツとして予め用意しておいて、それらのパーツを組み合わせることでより大きなRNN回路を構成する方が設計手順が分かりやすい場合や設計手順が簡単になる場合がある。図10は、図9のRNN回路1と図5のRNN回路2を組み合わせたRNN回路を示す図である。図10では、値g5の入力として状態量y4の値を代入することにより2つのRNN回路1,2を組み合わせており、ニューロンと入出力の結線との関係式が図10の右側に示されている。
図10中、右側の真中の式からもわかるように、状態量y6の2階微分はg5の値になっている。これは、例えばロボットの物理モデルの一例で説明すると、RNN回路2は、加速度g5が与えられた時に動作y6を出力する回路となる。又、この例では、RNN回路1は加速度y4を求める回路となる。従って、ロボットのアーム等をある加速度で動かしたい場合、RNN回路1で所望の加速度を求め、RNN回路1をRNN回路2と組み合わせることによりアームの実際の動きを得ることができる。図10の例では、RNN回路1とRNN回路2の組み合わせにより、加速度y4=C1・t+C3が与えられたときの動作y6を出力する回路が得られる。
様々なRNN回路をパーツとして予め用意しておき、それらのパーツを組み合わせることでより大きなRNN回路を構成する方法は、分かりやすく自然なニューラルネットワークの設計方法である。しかし、設計されたRNN回路は、計算量やメモリ量が必ず最適になるとは限らない。設計されたRNN回路の結線やニューロンを減らして、同じ出力結果を得ることのできる、よりコンパクトなRNN回路を設計できれば、RNN回路の最適化を図ることができるが、従来は設計者が手動でRNNの結線やニューロンを減らすという面倒で時間のかかる作業を行うしかない。このため、RNN回路の最適化には時間がかかると共に、最適化の結果が設計者の熟練度に依存してしまい安定しない。
永嶋史朗、「双線形時間遅れニューラルネットワークによるロボットソフトウェアシステム」、日本ロボット学会誌、Vol.24, No.6, pp.53-64, 2006
従来のニューラルネットワーク設計方法では、ニューラルネットワーク回路を安定に、且つ、比較的簡単に最適化することは難しいという問題があった。
そこで、本発明は、ニューラルネットワーク回路を安定に、且つ、比較的簡単に最適化することのできるニューラルネットワーク設計方法及びプログラムを提供することを目的とする。
本発明の一観点によれば、コンピュータによるニューラルネットワーク設計方法であって、リカレントニューラルネットワーク(RNN)回路にニューロンの遅れパラメータεiがεi=0である代入ニューロンのうち削除可能な代入ニューロンがあるか否かを記憶部に格納された判定条件に基づいて判定する判定手順と、前記判定手順が削除可能な代入ニューロンがあると判定すると、削除可能な代入ニューロンの出力値を入力項に持つ全てのニューロンに対し結線の係数を変更する係数変更処理を前記記憶部に格納された係数変更処理情報に基づいて行う変更手順と、前記係数変更処理が終了すると、削除可能なニューロンとその入出力結線を削除する処理を行い、その結果のRNN回路を前記記憶部に格納する削除手順を前記コンピュータに実行させるニューラルネットワーク設計方法が提供される。
本発明の一観点によれば、コンピュータにニューラルネットワークを設計させるプログラムであって、リカレントニューラルネットワーク(RNN)回路にニューロンの遅れパラメータεiがεi=0である代入ニューロンのうち削除可能な代入ニューロンがあるか否かを記憶部に格納された判定条件に基づいて判定する判定手順と、前記判定手順が削除可能な代入ニューロンがあると判定すると、削除可能な代入ニューロンの出力値を入力項に持つ全てのニューロンに対し結線の係数を変更する係数変更処理を前記記憶部に格納された係数変更処理情報に基づいて行う変更手順と、前記係数変更処理が終了すると、削除可能なニューロンとその入出力結線を削除する処理を行い、その結果のRNN回路を前記記憶部に格納する削除手順を前記コンピュータに実行させるプログラムが提供される。
開示のニューラルネットワーク設計方法及びプログラムによれば、ニューラルネットワーク回路を安定に、且つ、比較的簡単に最適化することが可能となる。
開示のニューラルネットワーク設計方法及びプログラムでは、ニューラルネットワーク回路に対し、不必要なニューロンと結線を除去する。これにより、不必要なニューロンと結線が除去された最適なニューラルネットワーク回路が実現できる。又、結線数を減少させることでニューラルネットワーク回路の演算量を削減でき、ニューロン数を減少させることで演算等で用いるメモリ容量を削減できる。
以下に、開示のニューラルネットワーク設計方法及びプログラムの各実施例を図面と共に説明する。
図11は、RNN回路を搭載した電子装置の一例を示すブロック図である。電子装置は、例えば歩数計の機能を備えた携帯電話である。以下の説明においても、図1乃至図9の説明と同様に、εiは遅れパラメータ、yi, yjはニューロンの状態量、Cijは重み係数、tは時間を表し、ニューロンの状態量を表すyiをニューロンと同一視する場合もある。又、giはニューロンyiに入力される値である。
図11の例では、説明の便宜上、RNN回路が歩数をカウントする歩数計の機能を実現するものとする。図11の電子装置(即ち、携帯電話)10は、加速度センサ11、メモリ12、CPU(Central Processing Unit)13、及び表示装置14を有する。加速度センサ11の出力値giがメモリ12に入力され、CPU13がRNN回路の計算を行って歩数の結果を表示装置14に出力する。メモリ12には、RNN回路を構成する各yiのニューロン(又は、状態量)の初期値と加速度センサ11の各出力値giが代入され保存されている。又、メモリ12には、RNN回路の実行プログラムが保存されている。クロック毎に、各yiの値とgiの値が実行プログラムによりCPU13で演算される。CPU13の演算により計算された各yiの値はメモリ12に保存され、次のgiの値がメモリ12に代入される。このような処理が所定の回数実行された後、出力として欲しいニューロン(又は、状態量)の値、即ち、歩数値がCPU13によりメモリ12から読み出され、表示装置14に表示されることで歩数計の一連の処理が終了する。
電子装置10用に設計されたRNN回路において、通常ニューロンは1階の微分方程式を持つため削除は難しい。そこで、本発明の一実施例では、不必要なニューロンを除去するために代入ニューロンに着目し、余分な代入ニューロンを削除してRNN回路を最適化する。具体的には、代入ニューロンを、「削除可能な代入ニューロン」と「削除不可能な代入ニューロン」とに区別する。
図12は、削除可能な代入ニューロンを示す図であり、図13は、削除不可能な代入ニューロンを示す図である。削除可能な代入ニューロンは、図12に示すように出力が他のニューロンの入力になる代入ニューロンとして定義する。これに対して、削除不可能な代入ニューロンは、図13に示すように出力が他のニューロンの入力にならない代入ニューロンとして定義する。つまり、図12に示す削除可能な代入ニューロンは、計算途中のニューロンであり、図13に示す削除不可能な代入ニューロンは、最終出力を有するニューロンである。
本実施例では、以下に説明する処理で削除可能な代入ニューロンを削除してRNN回路の最適化を図る。
図14は、削除可能な代入ニューロンを削除する処理を説明するフローチャートであり、図15は、図14のニューロン削除処理(又は、RNN回路最適化処理)で行われる結線の係数の変更処理を説明する図である。この係数変更処理により、削除可能ニューロンの出力値を入力項に持つニューロンに対し、結線の係数を変更する。図15に示すように、ykのニューロンに入力される結線のうち、yiのニューロンと結ばれた結線以外の結線の係数を変更する。又、図15において、Cijは重み係数であり、Cij=0の時は通常は結線を記載しないこととする。
図14において、ステップS1は、コンピュータシステムの記憶部に格納されている周知の方法で設計されたRNN回路に削除可能な代入ニューロンがあるか否かを記憶部に格納されている判定条件に基づいて判定し、判定結果がYesであると処理はステップS2へ進む。この判定条件は、図8に示すようにεi=0により1階微分の項が消えてしまうため微分方程式ではなく代入式となる代入ニューロンのうち、出力が他のニューロンの入力になる代入ニューロンを削除可能な代入ニューロンとして定義する。記憶部には、遅れパラメータεi、状態量yi, yj、重み係数Cij、値gi等に加え、ニューロンと入出力の結線との関係式等の結線情報がRNN回路を形成する各ニューロンについて格納されているので、判定条件は、εi=0、且つ、出力が他のニューロンの入力となる結線を有する結線情報が記憶部に格納されているニューロンを削除可能な代入ニューロンと判定する情報である。
ステップS2は、削除可能な代入ニューロンの出力値を入力項に持つ全てのニューロンに対し、記憶部に格納されている係数変更処理情報に基づいて図15の係数変更処理を行って結線の係数を変更する。係数変更処理情報は、図15に示す係数変更処理のアルゴリズム、或いは、係数変更処理を表す計算式を示す。従って、係数変更処理情報は、削除可能ニューロンの出力値を入力項に持つニューロンに対し、結線の係数を変更する任意のアルゴリズムに基づいた係数変更処理を定義する。ステップS2の結線の係数変更処理が終了すると、処理は次のステップS3へ進む。
ステップS3は、削除可能ニューロンとその入出力結線を削除することで、削除可能ニューロンとその入出力結線を全て削除し、その結果(即ち、削除可能ニューロンとその入出力結線を全て削除されたRNN回路)を記憶部に格納する。ステップS3の削除処理の後、処理はステップS1へ戻る。従って、ステップS1では、RNN回路に削除可能な代入ニューロンがあるか否かを再度判定し、削除可能な代入ニューロンが無く判定結果がNoになると処理は終了する。上記の如き処理で余分な代入ニューロンを削除することにより、最適化されたRNN回路を得ることができる。
本実施例によれば、RNN回路の結線やニューロンを減らす作業をコンピュータが自動的に行うため、RNN回路の最適化を比較的短時間で行えると共に、最適化の結果が設計者の熟練度に依存しないので常に安定した結果(即ち、最適化されたRNN回路)を得ることができる。
各ニューロンは、ニューロン番号iと遅れパラメータεの値の組(i, εi)を持ち、結線は出力ニューロン番号i、入力ニューロン番号jと係数Cijの組(i, j, Cij)を持つ。図16は、yiのニューロンが組(i, εi)、ykのニューロンが組(k, εk)を持ち、結線が組(i, k, Cki)、(-1, i, 1)、(k, -1, 1)を持つRNN回路の一例を示す図である。ここで、-1はニューロン番号には現れない数字であり、直接入力又は直接出力を示す。
(i, 0)となる代入ニューロンのうち、結線の組(i, j, Cij)でj≧0、且つ、Cij>0となる代入ニューロンが存在し、(i, -1, 0)となる時(即ち、直接出力が無い時)にこれらの条件を満たす代入ニューロンを削除可能な代入ニューロンであると判断する。これらの条件(即ち、上記判定条件)を満たす代入ニューロンを探し、探し出された代入ニューロンを全て削除すれば良い。図15で説明した係数変更処理により結線の係数が変更されたとき、結線の組も(j, k, Ckj)から(j, k, Ckj+Cki・Cij)に変更する。
次に、図14のニューロン削除処理の一例を、図17と共に説明する。図17は、周知の方法で設計されたRNN回路の一例を示す図であり、この例ではこのRNN回路の最適化を考える。図17のRNN回路は、通常ニューロンを3個(y1, y4, y5)、削除不可能な代入ニューロンを1個(y3)、削除可能な代入ニューロンを1個(y2)有する。図14のステップS1は、RNN回路に削除可能な代入ニューロンがあるか否かを判定し、図17のRNN回路には削除可能な代入ニューロンがあるのでステップS1の判定結果がYesとなり、処理はステップS2へ進む。ステップS2は、削除可能な代入ニューロンの出力値を入力項に持つ全てのニューロンに対し、図15の係数変更処理により結線の係数を変更する。図17のRNN回路では、y3のニューロンとy5のニューロンがy2の削除可能ニューロンと結ばれたニューロンであるため、これら2つのニューロンの結線の係数を変更すれば良い。
図18は、y3のニューロンの結線の係数を図15の係数変更処理により変更した結果を示す図である。図18において、y2が削除可能な代入ニューロンに入力されるニューロンは、y1のニューロンとy4のニューロンである。そこで、y1のニューロンとy3のニューロンを結ぶ結線の係数と、y4のニューロンとy3のニューロンを結ぶ結線の係数を変更すれば良い。y1のニューロンとy3のニューロンを結ぶ結線の変換後の係数値は「4+6・2」となる。「4」はy1のニューロンとy3のニューロンを結ぶ結線の元の係数値、「6」はy2のニューロンとy3のニューロンを結ぶ結線の元の係数値、「2」はy1のニューロンとy2のニューロンを結ぶ結線の元の係数値である。又、y4のニューロンとy3のニューロンを結ぶ結線の変換後の係数値は「0+6・3」となる。「0」はy4のニューロンとy3のニューロンを結ぶ結線の元の係数値(この例では、元々y4のニューロンとy3のニューロンを結ぶ結線は無い)、「6」はy2のニューロンとy3のニューロンを結ぶ結線の元の係数値、「3」はy4のニューロンとy2のニューロンを結ぶ結線の元の係数値である。
図19は、y5のニューロンの結線の係数を図15の係数変更処理により変更した結果を示す図である。図19において、y2の削除可能ニューロンに入力されるニューロンは、y1のニューロンとy4のニューロンである。そこで、y1のニューロンとy5のニューロンを結ぶ結線の係数と、y4のニューロンとy5のニューロンを結ぶ結線の係数を変更すれば良い。y1のニューロンとy5のニューロンを結ぶ結線の変換後の係数値は「0+7・2」となる。「0」はy1のニューロンとy5のニューロンを結ぶ結線の元の係数値(この例では、元々y1のニューロンとy5のニューロンを結ぶ結線は無い)、「7」はy2のニューロンとy5のニューロンを結ぶ結線の元の係数値、「2」はy1のニューロンとy2のニューロンを結ぶ結線の元の係数値である。又、y4のニューロンとy5のニューロンを結ぶ結線の変換後の係数値は「5+7・3」となる。「5」はy4のニューロンとy5のニューロンを結ぶ結線の元の係数値、「7」はy2のニューロンとy5のニューロンを結ぶ結線の元の係数値、「3」はy4のニューロンとy2のニューロンを結ぶ結線の元の係数値である。
ステップS2において図18及び図19と共に説明した如き結線の係数に対する係数変更処理が終了すると、処理は次のステップS3に進む。ステップS3は、削除可能ニューロンとその入出力結線を削除することで、例えばy2の削除可能ニューロンとその入出力結線を全て削除する。図20は、y2の削除可能ニューロンとその入出力結線が全て削除された結果を示す図である。
ステップS3において図20と共に説明した如き削除処理が終了すると、処理はステップS1へ戻る。従って、ステップS1では、RNN回路に削除可能な代入ニューロンがあるか否かを再度判定する。図20のRNN回路の場合、削除可能な代入ニューロンは無いのでステップS3の判定結果はNoとなり、処理は終了する。上記の処理により、図20のように最適化されたRNN回路が得られる。
次に、図10のRNN回路についてを再度説明する。図10のRNN回路は、図9のRNN回路1と図5のRNN回路2の2つのパーツ(即ち、2つのRNN回路)を組み合わせたRNN回路である。しかし、図10のRNN回路は削除可能ニューロンy4を有するため、最適化されたRNN回路ではない。そこで、図14のニューロン削除処理を用いて図10のRNN回路を最適化すると、図21の如き結果を得ることができる。図21は、図10のRNN回路を図14のニューロン削除処理により最適化した結果を示す図である。図21のRNN回路は、削除可能ニューロンを有さない最適化されたRNN回路であることがわかる。
最適化されたRNN回路においては、代入ニューロンの出力は他のニューロンの入力になっていないという特徴を有する。図22は、代入ニューロンの出力が他のニューロンの入力になっていない最適化されたRNN回路の一例を示す図である。
図23は、コンピュータシステムの一例を示すブロック図である。図23に示すコンピュータシステム100は、CPU101、記憶部102、インタフェース(I/F)103、入力装置104、及び表示部105がバス106により接続された構成を有する。CPU101は、記憶部102に格納されたプログラムを実行することによりコンピュータシステム100全体を制御する。記憶部102は、半導体記憶装置、磁気記録媒体、光記録媒体、光磁気記録媒体等で形成可能であり、上記のプログラムや各種データを格納すると共に、CPU101が実行する演算の中間結果や演算結果等を一時的に格納する一時メモリとしても機能する。I/F103は、記憶部102に格納するプログラムやデータをネットワーク(図示せず)から受信することができる。入力装置104は、キーボード等により形成可能である。表示部105は、ディスプレイ等により形成可能である。入力装置104及び表示部105は、タッチパネルのように入力装置と表示部の両方の機能を有する入出力装置で形成しても良い。
CPU101は、記憶部102に格納されたプログラムを実行することにより、コンピュータシステム100をニューラルネットワークを設計する装置として機能させる。プログラムは、CPU101に少なくともニューラルネットワークの設計処理の手順を実行させるものであっても良く、記憶部102を含む適切なコンピュータ読み取り可能な記憶媒体に格納されていても良い。又、プログラムは、CPU101に少なくとも図14のニューロン削除処理を実行させるものであっても良い。つまり、CPU101に図14のニューロン削除処理を実行させるプログラムは、CPU101にニューラルネットワークの設計処理の手順を実行させるプログラムに対してプラグイン可能な構成としても良い。
尚、上記実施例では、RNN回路が歩数計に適用されているが、本発明により設計されるRNN回路は歩数計に限定されず、ロボット等の駆動回路、各種装置の制御回路や音声解析回路等を含む各種物理モデルに対して適用可能であることは言うまでもない。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
コンピュータによるニューラルネットワーク設計方法であって、
リカレントニューラルネットワーク(RNN)回路にニューロンの遅れパラメータεiがεi=0である代入ニューロンのうち削除可能な代入ニューロンがあるか否かを記憶部に格納された判定条件に基づいて判定する判定手順と、
前記判定手順が削除可能な代入ニューロンがあると判定すると、削除可能な代入ニューロンの出力値を入力項に持つ全てのニューロンに対し結線の係数を変更する係数変更処理を前記記憶部に格納された係数変更処理情報に基づいて行う変更手順と、
前記係数変更処理が終了すると、削除可能なニューロンとその入出力結線を削除する処理を行い、その結果のRNN回路を前記記憶部に格納する削除手順
を前記コンピュータに実行させる、ニューラルネットワーク設計方法。
(付記2)
前記判定条件は、出力が他のニューロンの入力になる代入ニューロンを削除可能な代入ニューロンとして定義し、
前記係数変更処理情報は、削除可能ニューロンの出力値を入力項に持つニューロンに対し、結線の係数を変更することを係数変更処理として定義する、付記1記載のニューラルネットワーク設計方法。
(付記3)
前記削除処理は、前記削除可能ニューロンとその入出力結線を全て削除する処理を行う、付記1又は2記載のニューラルネットワーク設計方法。
(付記4)
前記変更手順及び前記削除手順は、前記判定手順において削除可能な代入ニューロンが無いと判定されるまで繰り返される、付記1乃至3のいずれか1項記載のニューラルネットワーク設計方法。
(付記5)
各ニューロンは、ニューロン番号iと遅れパラメータεの値の組(i, εi)を持ち、
結線は出力ニューロン番号i、入力ニューロン番号jと係数Cijの組(i, j, Cij)を持ち、
yiのニューロンが組(i, εi)、ykのニューロンが組(k, εk)を持ち、
結線が組(i, k, Cki)、(-1, i, 1)、(k, -1, 1)を持ち、
-1はニューロン番号には現れない数字であり直接入力又は直接出力を示すRNN回路に対して、
前記判定手順は、(i, 0)となる代入ニューロンのうち、結線の組(i, j, Cij)でj≧0、且つ、Cij>0となる代入ニューロンが存在し、(i, -1, 0)となる時にこれらの所定条件を満たす代入ニューロンを削除可能な代入ニューロンであると判断し、
前記変更手順は、結線の係数が変更されたとき、結線の組を(j, k, Ckj)から(j, k, Ckj+Cki・Cij)に変更し、
前記削除手順は、前記所定条件を満たす代入ニューロンを全て削除する、付記1乃至4のいずれか1項記載のニューラルネットワーク設計方法。
(付記6)
コンピュータにニューラルネットワークを設計させるプログラムであって、
リカレントニューラルネットワーク(RNN)回路にニューロンの遅れパラメータεiがεi=0である代入ニューロンのうち削除可能な代入ニューロンがあるか否かを記憶部に格納された判定条件に基づいて判定する判定手順と、
前記判定手順が削除可能な代入ニューロンがあると判定すると、削除可能な代入ニューロンの出力値を入力項に持つ全てのニューロンに対し結線の係数を変更する係数変更処理を前記記憶部に格納された係数変更処理情報に基づいて行う変更手順と、
前記係数変更処理が終了すると、削除可能なニューロンとその入出力結線を削除する処理を行い、その結果のRNN回路を前記記憶部に格納する削除手順
を前記コンピュータに実行させる、プログラム。
(付記7)
前記判定条件は、出力が他のニューロンの入力になる代入ニューロンを削除可能な代入ニューロンとして定義し、
前記係数変更処理情報は、削除可能ニューロンの出力値を入力項に持つニューロンに対し、結線の係数を変更することを係数変更処理として定義する、付記6記載のプログラム。
(付記8)
前記削除処理は、前記削除可能ニューロンとその入出力結線を全て削除する処理を行う、付記6又は7記載のプログラム。
(付記9)
前記変更手順及び前記削除手順は、前記判定手順において削除可能な代入ニューロンが無いと判定されるまで繰り返される、付記6乃至8のいずれか1項記載のプログラム。
(付記10)
各ニューロンは、ニューロン番号iと遅れパラメータεの値の組(i, εi)を持ち、
結線は出力ニューロン番号i、入力ニューロン番号jと係数Cijの組(i, j, Cij)を持ち、
yiのニューロンが組(i, εi)、ykのニューロンが組(k, εk)を持ち、
結線が組(i, k, Cki)、(-1, i, 1)、(k, -1, 1)を持ち、
-1はニューロン番号には現れない数字であり直接入力又は直接出力を示すRNN回路に対して、
前記判定手順は、(i, 0)となる代入ニューロンのうち、結線の組(i, j, Cij)でj≧0、且つ、Cij>0となる代入ニューロンが存在し、(i, -1, 0)となる時にこれらの所定条件を満たす代入ニューロンを削除可能な代入ニューロンであると判断し、
前記変更手順は、結線の係数が変更されたとき、結線の組を(j, k, Ckj)から(j, k, Ckj+Cki・Cij)に変更し、
前記削除手順は、前記所定条件を満たす代入ニューロンを全て削除する、付記6乃至9のいずれか1項記載のプログラム。
(付記11)
付記6乃至10のいずれか1項記載のプログラムを記載した、コンピュータ読み取り可能な記憶媒体。
(付記1)
コンピュータによるニューラルネットワーク設計方法であって、
リカレントニューラルネットワーク(RNN)回路にニューロンの遅れパラメータεiがεi=0である代入ニューロンのうち削除可能な代入ニューロンがあるか否かを記憶部に格納された判定条件に基づいて判定する判定手順と、
前記判定手順が削除可能な代入ニューロンがあると判定すると、削除可能な代入ニューロンの出力値を入力項に持つ全てのニューロンに対し結線の係数を変更する係数変更処理を前記記憶部に格納された係数変更処理情報に基づいて行う変更手順と、
前記係数変更処理が終了すると、削除可能なニューロンとその入出力結線を削除する処理を行い、その結果のRNN回路を前記記憶部に格納する削除手順
を前記コンピュータに実行させる、ニューラルネットワーク設計方法。
(付記2)
前記判定条件は、出力が他のニューロンの入力になる代入ニューロンを削除可能な代入ニューロンとして定義し、
前記係数変更処理情報は、削除可能ニューロンの出力値を入力項に持つニューロンに対し、結線の係数を変更することを係数変更処理として定義する、付記1記載のニューラルネットワーク設計方法。
(付記3)
前記削除処理は、前記削除可能ニューロンとその入出力結線を全て削除する処理を行う、付記1又は2記載のニューラルネットワーク設計方法。
(付記4)
前記変更手順及び前記削除手順は、前記判定手順において削除可能な代入ニューロンが無いと判定されるまで繰り返される、付記1乃至3のいずれか1項記載のニューラルネットワーク設計方法。
(付記5)
各ニューロンは、ニューロン番号iと遅れパラメータεの値の組(i, εi)を持ち、
結線は出力ニューロン番号i、入力ニューロン番号jと係数Cijの組(i, j, Cij)を持ち、
yiのニューロンが組(i, εi)、ykのニューロンが組(k, εk)を持ち、
結線が組(i, k, Cki)、(-1, i, 1)、(k, -1, 1)を持ち、
-1はニューロン番号には現れない数字であり直接入力又は直接出力を示すRNN回路に対して、
前記判定手順は、(i, 0)となる代入ニューロンのうち、結線の組(i, j, Cij)でj≧0、且つ、Cij>0となる代入ニューロンが存在し、(i, -1, 0)となる時にこれらの所定条件を満たす代入ニューロンを削除可能な代入ニューロンであると判断し、
前記変更手順は、結線の係数が変更されたとき、結線の組を(j, k, Ckj)から(j, k, Ckj+Cki・Cij)に変更し、
前記削除手順は、前記所定条件を満たす代入ニューロンを全て削除する、付記1乃至4のいずれか1項記載のニューラルネットワーク設計方法。
(付記6)
コンピュータにニューラルネットワークを設計させるプログラムであって、
リカレントニューラルネットワーク(RNN)回路にニューロンの遅れパラメータεiがεi=0である代入ニューロンのうち削除可能な代入ニューロンがあるか否かを記憶部に格納された判定条件に基づいて判定する判定手順と、
前記判定手順が削除可能な代入ニューロンがあると判定すると、削除可能な代入ニューロンの出力値を入力項に持つ全てのニューロンに対し結線の係数を変更する係数変更処理を前記記憶部に格納された係数変更処理情報に基づいて行う変更手順と、
前記係数変更処理が終了すると、削除可能なニューロンとその入出力結線を削除する処理を行い、その結果のRNN回路を前記記憶部に格納する削除手順
を前記コンピュータに実行させる、プログラム。
(付記7)
前記判定条件は、出力が他のニューロンの入力になる代入ニューロンを削除可能な代入ニューロンとして定義し、
前記係数変更処理情報は、削除可能ニューロンの出力値を入力項に持つニューロンに対し、結線の係数を変更することを係数変更処理として定義する、付記6記載のプログラム。
(付記8)
前記削除処理は、前記削除可能ニューロンとその入出力結線を全て削除する処理を行う、付記6又は7記載のプログラム。
(付記9)
前記変更手順及び前記削除手順は、前記判定手順において削除可能な代入ニューロンが無いと判定されるまで繰り返される、付記6乃至8のいずれか1項記載のプログラム。
(付記10)
各ニューロンは、ニューロン番号iと遅れパラメータεの値の組(i, εi)を持ち、
結線は出力ニューロン番号i、入力ニューロン番号jと係数Cijの組(i, j, Cij)を持ち、
yiのニューロンが組(i, εi)、ykのニューロンが組(k, εk)を持ち、
結線が組(i, k, Cki)、(-1, i, 1)、(k, -1, 1)を持ち、
-1はニューロン番号には現れない数字であり直接入力又は直接出力を示すRNN回路に対して、
前記判定手順は、(i, 0)となる代入ニューロンのうち、結線の組(i, j, Cij)でj≧0、且つ、Cij>0となる代入ニューロンが存在し、(i, -1, 0)となる時にこれらの所定条件を満たす代入ニューロンを削除可能な代入ニューロンであると判断し、
前記変更手順は、結線の係数が変更されたとき、結線の組を(j, k, Ckj)から(j, k, Ckj+Cki・Cij)に変更し、
前記削除手順は、前記所定条件を満たす代入ニューロンを全て削除する、付記6乃至9のいずれか1項記載のプログラム。
(付記11)
付記6乃至10のいずれか1項記載のプログラムを記載した、コンピュータ読み取り可能な記憶媒体。
以上、開示のニューラルネットワーク設計方法及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
10 電子装置
11 加速度センサ
12 メモリ
13 CPU
14 表示装置
100 コンピュータシステム
101 CPU
102 記憶部
103 I/F
104 入力装置
105 表示部
11 加速度センサ
12 メモリ
13 CPU
14 表示装置
100 コンピュータシステム
101 CPU
102 記憶部
103 I/F
104 入力装置
105 表示部
Claims (5)
- コンピュータにニューラルネットワークを設計させるプログラムであって、
リカレントニューラルネットワーク(RNN)回路にニューロンの遅れパラメータεiがεi=0である代入ニューロンのうち削除可能な代入ニューロンがあるか否かを記憶部に格納された判定条件に基づいて判定する判定手順と、
前記判定手順が削除可能な代入ニューロンがあると判定すると、削除可能な代入ニューロンの出力値を入力項に持つ全てのニューロンに対し結線の係数を変更する係数変更処理を前記記憶部に格納された係数変更処理情報に基づいて行う変更手順と、
前記係数変更処理が終了すると、削除可能なニューロンとその入出力結線を削除する処理を行い、その結果のRNN回路を前記記憶部に格納する削除手順
を前記コンピュータに実行させる、プログラム。 - 前記判定条件は、出力が他のニューロンの入力になる代入ニューロンを削除可能な代入ニューロンとして定義し、
前記係数変更処理情報は、削除可能ニューロンの出力値を入力項に持つニューロンに対し、結線の係数を変更することを係数変更処理として定義する、請求項1記載のプログラム。 - 前記削除処理は、前記削除可能ニューロンとその入出力結線を全て削除する処理を行う、請求項1又は2記載のプログラム。
- 前記変更手順及び前記削除手順は、前記判定手順において削除可能な代入ニューロンが無いと判定されるまで繰り返される、請求項1乃至3のいずれか1項記載のプログラム。
- コンピュータによるニューラルネットワーク設計方法であって、
リカレントニューラルネットワーク(RNN)回路にニューロンの遅れパラメータεiがεi=0である代入ニューロンのうち削除可能な代入ニューロンがあるか否かを記憶部に格納された判定条件に基づいて判定する判定手順と、
前記判定手順が削除可能な代入ニューロンがあると判定すると、削除可能な代入ニューロンの出力値を入力項に持つ全てのニューロンに対し結線の係数を変更する係数変更処理を前記記憶部に格納された係数変更処理情報に基づいて行う変更手順と、
前記係数変更処理が終了すると、削除可能なニューロンとその入出力結線を削除する処理を行い、その結果のRNN回路を前記記憶部に格納する削除手順
を前記コンピュータに実行させる、ニューラルネットワーク設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010092623A JP5510014B2 (ja) | 2010-04-13 | 2010-04-13 | ニューラルネットワーク設計方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010092623A JP5510014B2 (ja) | 2010-04-13 | 2010-04-13 | ニューラルネットワーク設計方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011221927A JP2011221927A (ja) | 2011-11-04 |
JP5510014B2 true JP5510014B2 (ja) | 2014-06-04 |
Family
ID=45038814
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010092623A Active JP5510014B2 (ja) | 2010-04-13 | 2010-04-13 | ニューラルネットワーク設計方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5510014B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6065543B2 (ja) * | 2012-06-08 | 2017-01-25 | 富士通株式会社 | ニューラルネットワーク設計方法、フィッティング方法、及びプログラム |
JP6150964B1 (ja) | 2016-10-03 | 2017-06-21 | 三菱電機株式会社 | ネットワーク構築装置及びネットワーク構築方法 |
CN113361574A (zh) * | 2021-05-27 | 2021-09-07 | 北京百度网讯科技有限公司 | 数据处理模型的训练方法、装置、电子设备及存储介质 |
-
2010
- 2010-04-13 JP JP2010092623A patent/JP5510014B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011221927A (ja) | 2011-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fazlyab et al. | Analysis of optimization algorithms via integral quadratic constraints: Nonstrongly convex problems | |
Lessard et al. | Analysis and design of optimization algorithms via integral quadratic constraints | |
CN114861576B (zh) | 超导量子芯片版图的仿真方法及装置、电子设备和介质 | |
Aksoy et al. | Exact and approximate algorithms for the optimization of area and delay in multiple constant multiplications | |
JP4800299B2 (ja) | コスト情報管理システム、コスト情報管理方法およびコスト情報管理プログラム | |
JP2019139323A (ja) | 最適化システム、最適化装置及び最適化システムの制御方法 | |
JP5510014B2 (ja) | ニューラルネットワーク設計方法及びプログラム | |
CN102142049B (zh) | 一种有限元素分析的方法、系统 | |
US8612892B2 (en) | Incremental run-time layout composition | |
WO2023035250A1 (zh) | 用于对芯片进行布局的方法、设备、介质以及程序产品 | |
US9805156B2 (en) | Selective parasitic extraction | |
JP6219528B2 (ja) | シミュレーションシステム、及びシミュレーション方法 | |
JP5888013B2 (ja) | ニューラルネットワーク設計方法、プログラム及びデジタルアナログフィッティング方法 | |
CN116932988A (zh) | 组合优化问题求解方法、装置、存储介质和电子设备 | |
JP6065543B2 (ja) | ニューラルネットワーク設計方法、フィッティング方法、及びプログラム | |
JP2012221418A (ja) | 解析装置、その方法及びそのプログラム | |
Bonaventura et al. | A self adjusting multirate algorithm based on the TR-BDF2 method | |
Brethes et al. | A mesh‐adaptative metric‐based full multigrid for the Poisson problem | |
EP3545441A1 (en) | Systems and methods for satisfiability modulo theories processes using uninterpreted function symbols | |
Luo et al. | Design of distributed compliant micromechanisms with an implicit free boundary representation | |
WO2011131248A1 (en) | Method and apparatus for losslessly compressing/decompressing data | |
Hernandez et al. | Transformations on the FSMD of the RTL code with combinational logic statements for equivalence checking of HLS | |
Rueda Ramírez | Efficient Space and Time Solution Techniques for High-Order Discontinuous Galerkin Discretizations of the 3D Compressible Navier-Stokes Equations | |
JP7462140B2 (ja) | ニューラルネットワーク回路及びニューラルネットワーク演算方法 | |
CN115344986B (zh) | 一种提高三维结构的强度的装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
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: 20140225 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140310 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5510014 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |