JP2017049907A - ニューラルネットワーク、その学習方法、及びコンピュータプログラム - Google Patents

ニューラルネットワーク、その学習方法、及びコンピュータプログラム Download PDF

Info

Publication number
JP2017049907A
JP2017049907A JP2015174380A JP2015174380A JP2017049907A JP 2017049907 A JP2017049907 A JP 2017049907A JP 2015174380 A JP2015174380 A JP 2015174380A JP 2015174380 A JP2015174380 A JP 2015174380A JP 2017049907 A JP2017049907 A JP 2017049907A
Authority
JP
Japan
Prior art keywords
function
hidden layer
neural network
weight
input
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.)
Pending
Application number
JP2015174380A
Other languages
English (en)
Inventor
駿平 窪澤
Shunpei Kubosawa
駿平 窪澤
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.)
National Institute of Information and Communications Technology
Original Assignee
National Institute of Information and Communications Technology
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 National Institute of Information and Communications Technology filed Critical National Institute of Information and Communications Technology
Priority to JP2015174380A priority Critical patent/JP2017049907A/ja
Publication of JP2017049907A publication Critical patent/JP2017049907A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】精度と訓練の効率とを向上できるニューラルネット及びその学習方法を提供する。【解決手段】ニューラルネットワーク80は、入力ベクトル98の各要素の値を正規化する正規化部90と、正規化された各要素をそれぞれの入力とする入力ノード110、112、及び114を持つ入力層92と、各々が、入力ノードの各々からの出力に、それぞれ0以上の整数の第1の重みを乗算した値を受けるように接続された複数のCOS素子120、…、128を有する隠れ層94と、隠れ層94の出力を、当該隠れ層94の出力にそれぞれ割当られた第2の重みで乗算した値を受けるように接続され、それらの線形和を出力するΣ素子140を含む出力層96と、第1の重みと、第2の重みとを記憶する重み記憶装置とを含む。複数のCOS素子120、…、128の各々の活性化関数は、所定の範囲を周期とする同一の余弦関数である。【選択図】図2

Description

この発明は機械学習に関し、特に、学習が効率化できる新規なニューラルネットワーク(以下単に「ニューラルネット」と呼ぶ。)に関する。
機械学習とは、限られた量の事例から、一般的な法則又は傾向を獲得することを目的とした、帰納的な推論に基づく学習方法である。機械学習は、数理的には、事例データが真のデータ分布に従って抽出された標本であることを仮定し、真のデータ分布の密度関数又はデータが存在するデータ空間上の領域を表す識別関数を大域的に推定することとして定式化される。
ニューラルネットは、機械学習で用いられる枠組みの一つであり、入出力の事例から入出力関係を表す関数を学習(近似)する機能がある。この機能を利用して、一般にニューラルネットは、識別誤差を目的関数として設定し、勾配法でパラメータを最適化することにより、事例データか否かを識別する識別関数として利用されてきた。ニューラルネットは、音声・画像認識等の信号処理に関する分野をはじめとして、機械翻訳等の自然言語処理でも広く利用されている。また、ニューラルネットは本質的に関数近似機能を有するため、識別関数の他にも密度関数の推定等、幅広い目的で利用されている。
ニューラルネットは、理論的には2層で万能な関数近似器になることが知られている(非特許文献1)。ニューラルネットにおける学習とは、近似対象の関数とニューラルネット出力との誤差を、ニューラルネットのパラメータについての関数として捉え、この関数を最小化するパラメータを獲得することを指す。誤差関数最小化においては一般に、パラメータに関する誤差関数の勾配を利用する方法が用いられる。一方で、2層のニューラルネットでは、複雑な関数の近似を、現実的な計算時間によって行うことが困難である問題があった。これは、2層ニューラルネットの学習は、非凸関数の最適化問題を含むためである。2層ニューラルネットのパラメータを勾配法で最適化する際に、出力層のパラメータのみを最適化する場合には、凸関数最適化問題であるため比較的高速に大域的最適解を得ることが可能である。一方で、隠れ層のパラメータのみ、又は隠れ層と出力層のパラメータを同時に最適化する場合には、隠れ層のパラメータ最適化は非凸関数の最適化問題となる。これは、隠れ層素子の活性化関数が一般に非線形だからである。このため、パラメータに適切な初期値を与えなければ大域的最適解を得ることが困難である。また、活性化関数の形状によっては、その導関数値が微小な値である区間が広くなる。このため、パラメータの初期値によっては勾配の量が微小な値となり、現実的な計算時間におけるパラメータの更新(すなわちニューラルネットの学習)によって、パラメータを最適な値へ移動することが困難である。
これらの問題に対して、層を3層以上に増やすことで近似性能の向上を果たしたのが、画像認識及び音声認識において高い識別性能が示された深層学習の枠組みである。深層学習の枠組みでは、各層では2層のみの場合よりも簡単な関数近似を行うが、その層を複数個直列に接続して階層的に近似することで、現実的な計算時間における性能向上を果たしている。つまり、各層では従来よりも簡単な関数を近似するだけでよいとして、各層における近似問題を弛緩したことが、近似性能の向上に伴う識別性能の向上を果たした理由である。
一方で、計算構造の観点から2層のニューラルネットを捉えると、一つの関数(出力層素子)は、各隠れ層素子出力の線形結合によって表現されている。つまり、各隠れ層素子は、関数近似における近似対象(関数)の線形結合における要素である。従って、ニューラルネットの最適化による学習とは、近似対象の関数を各要素に分解することである。
関数を要素に分解する手法としては、フーリエ級数展開及びフーリエ変換等の直交関数系を用いた積分変換が知られている。これらは、複素指数関数または正弦関数、余弦関数等からなる直交関数系を基底関数として用いて、関数を基底関数の線形結合に分解する手法である。ある関数をフーリエ変換すると、その関数を線形結合として構成する複数の周期(基底)関数における係数が得られる。このため、フーリエ係数は周波数(及び位相)に関して振幅を返す関数である。周波数と振幅からなる空間は、周波数領域と呼ばれる。フーリエ変換では、基底関数の直交性を利用して、分解対象の関数と基底関数の内積(積分)によって係数を求める。
計算機上でフーリエ変換するためには、離散フーリエ変換及びその計算量を削減した高速フーリエ変換(FFT)等が用いられる。FFTは、離散フーリエ変換で必要な総和計算を、途中の計算結果を再利用することで効率的に行う方法であり、画像処理及び音声処理等、主として信号処理の分野で広く利用されている。さらに、分解する関数が、周波数領域において疎な成分しか持たない場合、FFTよりもさらに計算量が少ないスパースフーリエ変換(SFT)(非特許文献2)が提案されている。FFTでは、分解対象の離散時間関数における定義域上の全標本点を利用して計算するが、SFTではランダムに抽出した標本点から周波数成分を推定するため、全標本点を用いるよりも計算量が少なくなる。
画像の圧縮処理においては、JPEGに採用された方法のように、画像を(離散)フーリエ変換して高周波成分を除去することで情報量の削減が行われる。これは、自然画像においては、周波数領域における低周波成分が支配的であることによる。同様に、2層ニューラルネットにおいて、余弦関数を活性化関数として用いたニューラルネットにおいても、周波数を表現する重みパラメータを正則化し、低周波成分を重視することにより、素子数あたりの近似精度が向上することが示されている(非特許文献3)。
Cybenko, George. "Approximation by superpositions of a sigmoidal function." Mathematics of control, signals and systems 2.4 (1989): 303-314. Gilbert, Anna C., et al. "Recent developments in the sparse Fourier transform: A compressed Fourier transform for big data." Signal Processing Magazine, IEEE 31.5 (2014): 91-100. 窪澤駿平, 他. (2015). 級数展開に基づく表層非線形ネットワーク. AI学会全国大会予稿集.
最近の機械学習の分野では、深層学習によって、ニューラルネットの多層化による現実的な計算時間における近似性能の向上が示されている。しかし、多層化は計算グラフの大規模化を意味する。このため、性能向上のためには、深層学習を用いても依然として大規模な計算装置が必要である。また、汎用GPU計算機の普及等、計算機の大規模並列化の進展により各層の計算効率は向上しているが、多層モデルでは入力側の層における計算を終えるまで次の層の計算が不可能である。したがって、多層モデルでは層数の増加に比例して必然的に待ち時間が増大し、訓練時のみならず予測時の並列計算効率も低下する。
加えて、深層学習を含む従来のニューラルネットの枠組みでは、既に訓練したニューラルネットにおける近似性能の更なる向上を目的として、新たに素子を追加した場合、ニューラルネット全体で再度訓練しなければ最良の近似を得ることができない問題がある。つまり、性能向上のための調整が非効率である。また、この際に追加した素子が、どの程度近似精度の向上に寄与するかを見積もることが困難であり、いくつ追加すべきかの指標が存在しない問題がある。このため、精度を重視してニューラルネットを設計すると、冗長な構造とせざるを得ない。
それゆえに本発明の目的は、精度の向上と訓練の効率とを向上できるニューラルネット及びその学習方法を提供することである。
本発明の第1の局面に係るニューラルネットは、入力ベクトルの各要素の値を所定の範囲で正規化する正規化手段と、正規化手段により正規化された各要素をそれぞれの入力とする入力ノードを持つ入力層と、各々が、入力ノードの各々からの出力に、それぞれ0以上の整数の第1の重みを乗算した値を受けるように接続された複数の隠れ層素子を有する隠れ層と、隠れ層の出力を、当該隠れ層の出力にそれぞれ割当てられた第2の重みで乗算した値を受けるように接続され、それらの線形和を出力する出力素子を含む出力層と、第1の重みと、第2の重みとを記憶する重み記憶手段とを含むニューラルネットであって、複数の隠れ層素子の各々の活性化関数は、所定の範囲を周期とする同一の周期関数である。
好ましくは、ニューラルネットはさらに、隠れ層の複数の隠れ層素子の各入力に対するバイアスを記憶するバイアス記憶手段を含む。
より好ましくは、周期関数は余弦関数又は正弦関数若しくはそれらの組み合わせである。
より好ましくは、ニューラルネットは、ニューラルネットの学習のための学習データを記憶する記憶手段に接続され、当該学習データの値の分布に基づいて、入力データの値を所定の範囲に正規化するための正規化関数を算出し、正規化手段に設定する正規化関数設定手段をさらに含む。
本発明の第2の局面に係るニューラルネットの学習方法は、上記したいずれかのニューラルネットの学習方法である。この学習方法は、第1の重みとなる整数を、隠れ層素子の入力の各々に対して所定の確率密度関数にしたがってサンプリングし、重み記憶手段に記憶する第1ステップと、重み記憶手段に記憶された第1の重みを固定して、第2の重みを学習データによる学習で最適化する第2ステップと、第2ステップにより最適化された第2の重みの絶対値が所定のしきい値未満である隠れ層素子を隠れ層から削除する第3ステップと、新たな隠れ層素子を隠れ層に追加する第4ステップと、新たな隠れ層素子の第1の重みパラメータを所定の確率密度関数にしたがってサンプリングし、重み記憶手段に記憶する第5ステップと、第2ステップ、第3ステップ、第4ステップ及び第5ステップを、第3ステップにおいて削除すべき隠れ層素子がなくなるまで繰返し実行する第6ステップと、第6ステップの後、第1の重みパラメータを最適化する第7ステップとを含む。
本発明の第3の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかのニューラルネットとして機能させる。
ニューラルネットの隠れ層素子にシグモイド状関数を使用したときの近似関数の構成例と、COS関数を使用したときの近似関数の構成例とを説明するための図である。 この発明の実施の形態に係るニューラルネットのブロック図である。 本発明の実施の形態において、正規化部による正規化のシフト量及びスケールを決定するためのプログラムによる処理シーケンスを示す図である。 図2に示すニューラルネットの学習を実現するプログラムの1例の制御構造を示すフローチャートである。 図2に示すニューラルネットの学習を実現するプログラムの他の1例の制御構造を示すフローチャートである。 事前学習によりニューラルネットの学習を実現するプログラムの1例の制御構造を示すフローチャートである。 本発明の1実施の形態に係る文字認識装置を実現するコンピュータシステムの外観図である。 図7に示すコンピュータのハードウェア構成を示すブロック図である。
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
[構成]
2層ニューラルネットにおける関数近似機能の向上と、素子数の削減を目的として、本実施の形態ではフーリエ級数展開を表現するニューラルネット構造を用いる。
ニューラルネットの本質は、最適化に基づく関数近似器であり、一般には識別タスクにおける識別関数を近似することで識別器として利用される。識別関数には一般に、入力空間を超平面で分割する機能が求められる。このため隠れ層の活性化関数として、単調増加かつ超平面の付近では非線形に形状が変化するシグモイド状の関数が用いられることが多い。式(1)に、隠れ層の素子数がhであり、活性化関数φを持つ2層ニューラルネットの計算構造を示す。
Figure 2017049907
ここで、xは入力ベクトル、fは各隠れ層素子の重みベクトル、pは各隠れ層素子のバイアス、aは出力層の重み、dは出力層のバイアスである。
活性化関数にシグモイド状関数を用いると、線形分離という観点からは解釈しやすい。一方で、シグモイド状関数の場合、計算機上での学習可能性の問題に加えて、近似対象の関数が複雑な形状である場合に、素子数が複雑さに比例して増加する問題がある。これは、シグモイド状関数は非線形に変化する区間が原点付近の1箇所に限定されるため、近似対象の関数の導関数値が0である点の数に比例した素子数を最低限必要とするためである。この様子を図1(A)に示す。図1では、太い実線のグラフ30(中央付近)が近似対象の関数であり、それに重なる太い破線のグラフ32は入出力層が1素子の2層ニューラルネットによる近似結果である。背後の細い線のグラフは、各隠れ層素子の出力を表しており、図1(A)の場合は15素子により近似している。
シグモイド状関数のニューラルネットにおける素子数の増加は、局所的な変化の足し合わせによって関数を近似するために生じる。一方で、大域的な変化の足し合わせによって近似することにより、近似対象の関数の複雑さに関して、素子数の削減が見込まれる。そこで、式(1)の活性化関数φを大域的(周期的)に変化し続けるCOSに置き換えた場合の、隠れ層出力と近似結果を示したのが図1(B)である。このような素子を本明細書ではCOS素子と呼ぶ。図1(B)では、太い実線のグラフ40(中央付近)が近似対象の関数であり、それに重なる太い破線のグラフ42は入出力層が1素子で隠れ層の各素子がCOS素子である2層ニューラルネットによる近似結果である。シグモイド状関数の場合と同精度を達成するために、COS素子は4素子で十分であった。近似対象の関数が凹凸を多く含むほど、COS等の周期関数による活性化によって、より少ない素子数で高精度な近似を達成可能である。
以上から、本実施の形態では、隠れ層の各素子にCOS素子を用いることとした。
本実施の形態で用いるニューラルネットの構造を、1個のラベル分布を近似する関数を例に図2に示す。図2を参照して、この実施の形態に係るニューラルネット80は、入力に対応するベクトル98の各要素を受け、後述するようにその各要素を区間[0,2π]に正規化して出力するための正規化部90と、正規化部90の出力を受ける入力層92と、入力層92の出力を受ける隠れ層94と、隠れ層94の出力を受ける出力層96とを含む。なお、正規化部90はニューラルネットの一部ではないと考えることもできる。ここでは、隠れ層94での処理において、入力が正規化されていることが必要であるため、正規化部90をニューラルネット80の一部として記載してある。
正規化部90は、それぞれ、ベクトル98の第1、第2、及び第3の要素を受け、それらの値を区間[0,2π]に正規化する正規化ノード100、102、及び104を含む。なお、正規化する範囲は[0,2π]に限定されるわけではなく、隠れ層素子の周期と一致するように選べばよい。例えば本実施の形態では、[−π,π]の範囲に値を正規化してもよい。なお、入力されるベクトル98は、本実施の形態では3次元であるが、本発明はそのような実施の形態に限定されるわけではない。入力ベクトル98は1次元(スカラー)又は2次元でもよいし、任意のN次元(Nは4以上の任意の自然数)でもよい。
入力層92は、それぞれ正規化ノード100、102、及び104の出力を受け、隠れ層94に含まれる各素子に分岐して与えるための入力ノード110、112、及び114を含む。
隠れ層94は、いずれも入力ノード110、112、及び114の出力を受けるように接続されたCOS素子120、…、128を含む。COS素子120、…、128はいずれも余弦関数を活性化関数として用いる素子である。各COS素子への入力には、それぞれ重みが割り当てられており、さらに各COS素子にはバイアス入力が与えられる。例えば、図2の場合にはCOS素子120は、入力ノード110、112、及び114からの3つの入力を持ち、これらにはそれぞれf11、f12、及びf13という重みが割り当てられている。図では、ベクトル(f11,f12,及びf13)をfとして表している。また、図を明快にするために図2には示していないが、COS素子120には、スカラー量であるバイアスpが与えられている。さらに、他のCOS素子122、124、126及び128もそれぞれベクトルf及びバイアスpが入力されている。すなわち、ベクトルfの要素の数は入力ノードの数と同じであり、ベクトルfは隠れ層素子の数だけ存在している。したがって、入力ノードの数をm、隠れ層のCOS素子の数をnとすると、これらベクトルはm×n行列で表すことができる。バイアスはベクトルp=(p,…,p)で表すことができる。また、COS素子120、…、128の出力には、それぞれ重みa,…,aが割り当てられている。図2ではこれをベクトルa=(a1,a2,a3,a4,a5)で表している。これらバイアス及び重みが、学習において最適化されるべきパラメータである。これらパラメータは、それぞれ後述するようにコンピュータの記憶装置に記憶されており、適宜読み出すことが可能である。
出力層96は、COS素子120、…、128からの出力を受け、これらにそれぞれの重み(a1,a2,a3,a4,a5)を乗算して線形和をとって出力するΣ素子140を含む。Σ素子140は恒等写像を活性化関数として用いる素子である。
この実施の形態では、COS素子の活性化関数には余弦関数のみを用いている。しかし本発明はそのような実施の形態には限定されない。活性化関数として正弦関数のみを、あるいは正弦関数と余弦関数を共に用いても良い。さらに、後述するように、所定区間で直交関係を充足するような関数系であれば、いわゆる三角関数ではない関数を用いても良い。
図2に示す例では、入力層92は3個の入力ノード110、112、及び114を含み、隠れ層94は5個のCOS素子120、…、128を含む。しかし、これらの個数はこの実施の形態に示す値には限定されない。入力ノードの数は、入力ベクトルが持つ要素の数に応じ、2つでも、4個以上でもよい。COS素子の数も5個には限定されない。要求精度、要求規模及び学習にかけられる時間に応じて4個以下でも6個以上でもよい。
また、Σ素子は複数存在してよい。この場合には、重みベクトルaはΣ素子の数だけ必要になる。入力層92からΣ素子(例えばΣ素子140)へ至るニューラルネットにおける計算構造は、フーリエ級数展開における部分和あるいは離散フーリエ変換と等価である。従って、各Σ素子は、無限大の関数値をもたず、かつ区間が限定された任意の連続関数を近似可能である。Σ素子が近似する連続関数の周波数領域において、COS素子の入力側の重みベクトルfの各要素は周波数成分に対応し(周波数パラメータ)、同入力側のバイアスpは位相成分(正弦成分と余弦成分の混合率)に対応し(位相パラメータ)、同出力側の重みベクトルaの各要素は振幅成分(振幅パラメータ)に対応する。ただし、COS素子の活性化関数として、正弦関数と余弦関数を併用する場合、位相パラメータは必要無い。
一方で、ニューラルネット構造をフーリエ級数展開または離散フーリエ変換と等価であるよう設定しても、基底関数すなわち各隠れ層素子(COS素子120、…、128)により表現される関数同士が直交しなければ、最適化によって得られたパラメータがフーリエ変換と等価である保証は無い。そこで本実施の形態では、訓練後のニューラルネットパラメータがフーリエ級数展開と等価であることを保証するため、各隠れ層素子(COS素子120、…、128)によって表現される関数が互いに直交するための制約を加える。
訓練後のパラメータをフーリエ級数展開と等価にするための制約としては、以下が考えられる。
(1)入力データの各次元が[0,2π]となるよう入力データをシフト及びスケールする。
(2)その上で最適化によりパラメータを調整する際に、各隠れ層素子の周波数パラメータを表すベクトルは0以上の整数を要素として持つようにする。
(3)さらにどの2つの隠れ層素子の周波数パラメータベクトルをとっても、それらの間では少なくとも1個の要素が異なるようにする。
これらの制約と、余弦関数及び正弦関数の性質により、各COS素子が表す入力に対する関数は区間[0,2π]において直交するため、訓練結果のパラメータはフーリエ係数と等価となる。同様に、離散フーリエ変換と等価である様に設定することも可能である。
なお、訓練データが予め定められている場合には、入力データの最大及び最小値が予め判明しているため、シフト及びスケールのための係数は一つに定まる。したがって、正規化部90による正規化処理におけるデータのシフト量及びスケールは簡単に決定できる。すなわち、正規化関数が容易に決定できる。しかし、訓練データが将来追加される場合には、最初の正規化関数によっても制約区間を超える可能性がある。そこで、そのような場合には例えば、最初の訓練データによる正規化関数の決定の際に、以下のような手順にしたがって正規化関数を決定する。
図3を参照して、訓練データを読込み(ステップ160)、その訓練データの値の分布に基づいて実際のデータの値の分布を統計的処理により推定し、実際に生じる可能性がある値を十分にカバーできるように、データの値の範囲を決定する(ステップ162)。さらに、処理できる入力データの値の範囲について余裕を持たせるために、範囲をある割合で拡張する(ステップ164)。こうして拡張された値の範囲に基づいて、データの値を制約区間[0,2π]の範囲内に正規化するよう、データのシフト量及びスケールを求め、正規化関数を決定する(ステップ166)。
なお、図3の手続による正規化関数の再決定を行わず追加しようとする訓練データが制約区間外に写像された場合には、訓練に使用しないか、制約区間の最近傍の点に置き換えて使用することも可能である。
本実施の形態では、入出力の事例について、誤差が最小となるようパラメータを最適化する。最適化においては、従来のニューラルネットと同様に、最急降下法、確率的勾配効果法、及びL−BFGS法等の勾配法を用いてバッチ的に処理することが可能である。また、全てのパラメータを同時に最適化せずに、SFTのように、振幅の大きい順に、まずは周波数・位相パラメータを推定し、次に振幅パラメータの最適化というステップを繰り返すことで、全体のパラメータを最適化することが可能である。他にも、カーネル法の様に、パラメータを別の空間に写像して、写像した空間で最適化することも可能である。
本実施の形態において、各隠れ層素子が表す関数は、制約により互いに直交するため、対応する振幅パラメータを含む各隠れ層素子は、互いに独立かつ並列に最適化することが可能である。これは、フーリエ級数展開における第k部分和において、近似対象との二乗誤差を最小化するパラメータの値は、kの値に依存しないことから明らかである。この特徴により、既に訓練したニューラルネットの近似精度をさらに向上させることを目的として、新たに隠れ層素子を追加する際に、新たに追加する素子の周波数パラメータが既に訓練したニューラルネットの周波数パラメータとは異なる値となるような制約及び直交性に関する制約を加えた上で、新たに追加する素子を最適化し、最適化結果の素子を既に訓練したニューラルネットに追加すると、近似性能は必ず向上する。
本実施の形態における振幅パラメータは、2層ニューラルネットにおける出力層の重みに相当する。従って、周波数・位相パラメータを固定した場合、振幅パラメータ最適化は凸最適化問題であり、大域的最適解への到達が保証される。このため、振幅パラメータのみの最適化であれば、効率的な学習が見込まれる。一方で、少ない素子数で精度よく関数を近似するためには、絶対値が大きな値である振幅パラメータに対応する周波数・位相パラメータを推定する必要がある。そこで、JPEGにおける情報圧縮の様に、近似対象の関数は低周波成分が支配的であるという仮定を置く。すると、以下のようにすることで効率的な学習が見込まれる。すなわち、図4を参照して、周波数パラメータについては、直交性制約を満たす上で、0を平均とする多変数ガウス関数等の密度関数をサンプリングすることで0以上の整数となるように決定する(ステップ200)。周波数パラメータをこの値に固定し、その上で振幅パラメータのみを推定する(ステップ202)。この際、位相パラメータも同時に訓練してもよい。また、最適化の結果、振幅パラメータの絶対値が所定のしきい値より小さい隠れ層素子があるか否かを判定する(ステップ204)。そのような隠れ層素子についてはニューラルネットから切り離し、新たな隠れ層素子を追加する(ステップ204の判定がYES、ステップ208)。この新たな隠れ層素子の周波数パラメータを密度関数から新たにサンプリングして0以上の整数となるよう決定する(ステップ210)。この隠れ層素子を追加した後のニューラルネットを訓練する(ステップ202)。以下、この処理を繰り返し、最終的にステップ204の判定がNOとなった時点でニューラルネットの周波数パラメータと位相パラメータを最適化する(ステップ206)。このような処理を行うことで、振幅パラメータの絶対値が大きい隠れ層素子のみを用いた関数近似が可能である。この方法により、少ない素子数による確率的な高精度近似が可能である。なお、新たに追加する素子は、個別に訓練してもよい。
入力データが定義域において均一に分布している場合は、標本化定理により近似可能な最大の周波数が決定される。したがって、離散フーリエ変換の枠組みにおいては、周波数パラメータの最適化における制約として利用することが可能である。また、この場合には、関数値の絶対値の総和は振幅パラメータの絶対値の総和に等しいというパーセバルの定理を利用して、振幅パラメータの最大値を仮定できる。従って、各COS素子をニューラルネットに1素子ずつ追加してパラメータを最適化する場合には、以下の様な手順で最適化を行うことができる。
図5を参照して、まずニューラルネットに最初のCOS素子を追加する(ステップ240)。ニューラルネット内の素子の振幅パラメータの最大値を仮の値で固定する(ステップ242)。続いて、周波数パラメータ及び位相パラメータを最適化する(ステップ244)。これらが最適化できたら、今度は周波数パラメータ及び位相パラメータを固定して、振幅パラメータを最適化する(ステップ246)。振幅パラメータの最適化が終了したら、ステップ244とステップ246との繰返しの終了条件が充足されたか否かを判定する(ステップ248)。ステップ248の終了条件としては、例えば繰返しの結果、各パラメータの変化がしきい値以下となった場合が考えられる。ステップ248の判定が否定なら、もう一度ステップ244及び246を実行する。
ステップ248の判定が肯定の場合、第2の終了条件が充足されたか否かを判定する(ステップ250)。第2の終了条件としては、例えば、ニューラルネットに属するCOS素子の数が一定数を超えたか、等が考えられる。ステップ250の判定がYESなら処理は終了である。ステップ250の判定が否定ならステップ252で新たなCOS素子をニューラルネットに追加し、制御はステップ242に戻る。
以上の手順により、ニューラルネットの最適化を行うことができる。ここで、周波数パラメータについて大域的最適解が求められる場合、素子を追加する度に素子数について最高の近似性能が保証される。又は、振幅は大きい順に並べると冪乗則である等の仮定を導入することで、振幅については固定し、周波数・位相パラメータのみを最適化することが可能である。どちらの場合においても、各パラメータの大域的最適解は、離散フーリエ変換の結果と等価である。
しかし、訓練データは離散値である上に、一般に入力データは等間隔には存在しない。このため、フーリエ級数または離散フーリエ変換の枠組みで最適化する際には、訓練データ点を通るような連続関数は無数に存在する。つまり、近似誤差が0となるような周波数・位相・振幅の組み合わせは無数に存在する。これは、離散的な標本から連続関数を再現するために生じる現象である。そこで、離散フーリエ変換の枠組みを用いる場合は、非一様離散フーリエ変換の枠組みを利用し、訓練データ点が入力データについて等間隔となるよう補間する。この補間により、標本化定理を適用し、一意な最適解を想定することが可能になる。一方で、級数展開による枠組みを利用する場合は、低周波成分から順に、あるいは低周波成分が高頻度で選択されるよう分解することで、標本点間が滑らかに補間され、未知の標本点についての近似精度の向上が見込まれる。
本実施の形態では、深層学習において提案された事前学習を適用することが可能である。図6を参照して、まず、事前学習として、入力されるデータが様々なラベルを含むデータか否かを識別するための識別関数(または密度関数)を、出力層素子が1素子のニューラルネットとして学習する(ステップ270)。次に、各ラベルを表す出力層素子を用意し、事前学習で最適化した振幅パラメータを各出力層素子にコピーする(ステップ272)。最後に、各ラベルを表す出力層素子の振幅パラメータのみを最適化する(ステップ274)。こうした手順で、各ラベルの識別関数(または密度関数)を近似することができる。これは、フーリエ変換の線形性によるものであり、各ラベル関数の線形結合がデータ関数であるためである。
[動作]
学習が完了した後のニューラルネット80の動作はシンプルである。図2を参照して、入力となるベクトル98が与えられると、ベクトル98の各要素はそれぞれ正規化部90内の正規化ノード100、102、及び104により[0,2π]の範囲に正規化される。正規化後の値はそれぞれ入力層92の入力ノード110、112、及び114を介していずれもCOS素子120、…、128に与えられる。このとき、COS素子の各入力にはそれぞれ学習により最適化された重みが課される。例えば、図2の場合、i番目のCOS素子に入力ノードから与えられる正規化後の入力ベクトルxには、f=(fi1,fi2,fi3)という重みが課される。i番目のCOS素子には又、バイアスpも与えられる。i番目のCOS素子はこの結果、以下の式で表される値を出力する。
Figure 2017049907
ただしφは余弦関数を表す。
COS素子120、…、128からの出力には、それぞれ重みaが加重されてΣ素子140に与えられる。Σ素子140は、これらの入力の線形和を算出し、式(1)に相当する値を出力する。なお、ここでは、説明を明快にするために、Σ素子140の入力のバイアスは示していない。
[作用・効果]
以上のように、本実施の形態に係るニューラルネットでは、多層化を必要とせずに近似性能の向上が可能である。そのため、計算全体における並列計算が占める比率が増大し、並列計算機を用いた場合の計算効率が向上する。また、ニューラルネットの層数が増加することはなく、深層学習のように多層のニューラルネットを用いる場合と比較して、各層における待ち時間が削減され、予測時における計算時間が削減される。
隠れ層のCOS素子に直交性制約を加えることで、各COS素子は独立した最適化が可能である。このため、計算途中の通信を必要とせず、計算機単位での並列化が可能となり、並列計算の効率が最大化される。
各COS素子は正弦・余弦関数による直交関数系を成すため、各COS素子の入出力側のパラメータは、関数近似のための互いに独立な情報を持つ。このため、COS素子数を増やすと、必ず近似性能が向上することが保証される。また、振幅が大きい順にパラメータを最適化する方法を取った場合、COS素子を増やすことで望みの近似精度を達成することが可能であり、近似精度をニューラルネット設計の指標とすることができる。同様に、近似精度あたりの素子数は、最小であることが保証されるため、ニューラルネット規模の縮小が可能となり、推定時の計算時間が削減される。
最適化によって大域的最適解が得られたならば、訓練後の本ニューラルネットのパラメータは、入出力関係からなる関数のフーリエ変換と等価である。このため、大規模高次元データに対するフーリエ変換の手法として用いることが可能であり、応用対象は飛躍的に増大する。
[コンピュータによる実現]
本発明の実施の形態に係るニューラルネット80及びその学習装置は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図7はこのコンピュータシステム330の外観を示し、図8はコンピュータシステム330の内部構成を示す。
図7を参照して、このコンピュータシステム330は、メモリポート352及びDVD(Digital Versatile Disc)ドライブ350を有するコンピュータ340と、キーボード346と、マウス348と、モニタ342とを含む。
図8を参照して、コンピュータ340は、メモリポート352及びDVDドライブ350に加えて、CPU(中央処理装置)356と、CPU356、メモリポート352及びDVDドライブ350に接続されたバス366と、ブートプログラム等を記憶する読出専用メモリ(ROM)358と、バス366に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ(RAM)360と、ハードディスク354を含む。コンピュータシステム330はさらに、他端末との通信を可能とするネットワーク368への接続を提供するネットワークインターフェイス(I/F)344を含む。
コンピュータシステム330を上記した実施の形態に係るニューラルネット80及びその学習装置の各機能部として機能させるためのコンピュータプログラム、及びネットを構成する各種パラメータ(重みパラメータ及びバイアスパラメータ)は、DVDドライブ350又はメモリポート352に装着されるDVD362又はリムーバブルメモリ364に記憶され、さらにハードディスク354に転送される。又は、プログラムはネットワーク368を通じてコンピュータ340に送信されハードディスク354に記憶されてもよい。プログラム及び各種パラメータはプログラムの実行の際にRAM360にロードされる。DVD362から、リムーバブルメモリ364から又はネットワーク368を介して、直接にRAM360にプログラムをロードしてもよい。
このプログラムは、コンピュータ340を、上記実施の形態に係るニューラルネット80及びその学習装置の各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ340にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ340上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ340にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。たとえば、誤差逆伝搬法、及びL−BFGS法については市販の統計処理ライブラリにより提供されるソフトウェアツールを利用できる。したがって、このプログラム自体はこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム又は装置としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
[産業上の利用可能性]
本発明に係るニューラルネットにより、従来よりも小規模な計算によって汎化性能が得られるため、計算性能が限定的なモバイル機器において識別モデルを利用する際に、モバイル機器内で完結したアプリケーション及びサービスの提供が可能となる。
今回開示された実施の形態は単に例示であって、本実施の形態が上記した実施の形態のみに制限されるわけではない。本実施の形態の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
30,32,40,42 グラフ
80 ニューラルネット
90 正規化部
92 入力層
94 隠れ層
96 出力層
98 ベクトル
120,122,124,126,128 COS素子
140 Σ素子

Claims (6)

  1. 入力ベクトルの各要素の値を所定の範囲で正規化する正規化手段と、
    前記正規化手段により正規化された前記各要素をそれぞれの入力とする入力ノードを持つ入力層と、
    各々が、前記入力ノードの各々からの出力に、それぞれ0以上の整数の第1の重みを乗算した値を受けるように接続された複数の隠れ層素子を有する隠れ層と、
    前記隠れ層の出力を、当該隠れ層の出力にそれぞれ割当てられた第2の重みで乗算した値を受けるように接続され、それらの線形和を出力する出力素子を含む出力層と、
    前記第1の重みと、前記第2の重みとを記憶する重み記憶手段とを含むニューラルネットワークであって、
    前記複数の隠れ層素子の各々の活性化関数は、前記所定の範囲を周期とする同一の周期関数である、ニューラルネットワーク。
  2. さらに、前記隠れ層の前記複数の隠れ層素子の各入力に対するバイアスを記憶するバイアス記憶手段を含む、請求項1に記載のニューラルネットワーク。
  3. 前記周期関数は余弦関数又は正弦関数若しくはそれらの組み合わせである、請求項1又は請求項2に記載のニューラルネットワーク。
  4. 前記ニューラルネットワークの学習のための学習データを記憶する記憶手段に接続され、当該学習データの値の分布に基づいて、入力データの値を前記所定の範囲に正規化するための正規化関数を算出し、前記正規化手段に設定する正規化関数設定手段をさらに含む、請求項1〜請求項3のいずれかに記載のニューラルネットワーク。
  5. 請求項1に記載のニューラルネットワークの学習方法であって、
    前記第1の重みとなる整数を、前記隠れ層素子の入力の各々に対して所定の確率密度関数にしたがってサンプリングし、前記重み記憶手段に記憶する第1ステップと、
    前記重み記憶手段に記憶された前記第1の重みを固定して、前記第2の重みを学習データによる学習で最適化する第2ステップと、
    前記第2ステップにより最適化された前記第2の重みの絶対値が所定のしきい値未満である隠れ層素子を前記隠れ層から削除する第3ステップと、
    新たな隠れ層素子を前記隠れ層に追加する第4ステップと、
    前記新たな隠れ層素子の前記第1の重みパラメータを前記所定の確率密度関数にしたがってサンプリングし、前記重み記憶手段に記憶する第5ステップと、
    前記第2ステップ、前記第3ステップ、前記第4ステップ及び前記第5ステップを、前記第3ステップにおいて削除すべき隠れ層素子がなくなるまで繰返し実行する第6ステップと、
    前記第6ステップの後、前記第1の重みパラメータを最適化する第7ステップとを含む、ニューラルネットワークの学習方法。
  6. コンピュータを、請求項1〜請求項4のいずれかに記載のニューラルネットワークとして機能させる、コンピュータプログラム。
JP2015174380A 2015-09-04 2015-09-04 ニューラルネットワーク、その学習方法、及びコンピュータプログラム Pending JP2017049907A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015174380A JP2017049907A (ja) 2015-09-04 2015-09-04 ニューラルネットワーク、その学習方法、及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015174380A JP2017049907A (ja) 2015-09-04 2015-09-04 ニューラルネットワーク、その学習方法、及びコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2017049907A true JP2017049907A (ja) 2017-03-09

Family

ID=58279810

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015174380A Pending JP2017049907A (ja) 2015-09-04 2015-09-04 ニューラルネットワーク、その学習方法、及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP2017049907A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019022055A (ja) * 2017-07-14 2019-02-07 コニカミノルタ株式会社 ファクシミリ通信装置およびプログラム
WO2019039758A1 (ko) * 2017-08-25 2019-02-28 주식회사 수아랩 개선된 뉴럴 네트워크를 생성하고 학습시키기 위한 방법
CN109800751A (zh) * 2019-01-25 2019-05-24 上海深杳智能科技有限公司 一种基于构建深度学习网络的票据识别方法及终端
CN110531955A (zh) * 2018-05-23 2019-12-03 倍加科技股份有限公司 用在深度神经网络的指数运算方法、计算机装置、记录介质
CN111133458A (zh) * 2017-09-15 2020-05-08 谷歌有限责任公司 增强神经网络
US11132605B2 (en) 2017-11-20 2021-09-28 International Business Machines Corporation Cardinal sine as an activation function for universal classifier training data

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019022055A (ja) * 2017-07-14 2019-02-07 コニカミノルタ株式会社 ファクシミリ通信装置およびプログラム
WO2019039758A1 (ko) * 2017-08-25 2019-02-28 주식회사 수아랩 개선된 뉴럴 네트워크를 생성하고 학습시키기 위한 방법
CN111133458A (zh) * 2017-09-15 2020-05-08 谷歌有限责任公司 增强神经网络
US11900263B2 (en) 2017-09-15 2024-02-13 Google Llc Augmenting neural networks
CN111133458B (zh) * 2017-09-15 2024-05-03 谷歌有限责任公司 增强神经网络
US11132605B2 (en) 2017-11-20 2021-09-28 International Business Machines Corporation Cardinal sine as an activation function for universal classifier training data
CN110531955A (zh) * 2018-05-23 2019-12-03 倍加科技股份有限公司 用在深度神经网络的指数运算方法、计算机装置、记录介质
CN110531955B (zh) * 2018-05-23 2023-10-10 倍加科技股份有限公司 用在深度神经网络的指数运算方法、计算机装置、记录介质
CN109800751A (zh) * 2019-01-25 2019-05-24 上海深杳智能科技有限公司 一种基于构建深度学习网络的票据识别方法及终端
CN109800751B (zh) * 2019-01-25 2023-04-28 上海深杳智能科技有限公司 一种基于构建深度学习网络的票据识别方法及终端

Similar Documents

Publication Publication Date Title
KR102592677B1 (ko) 어텐션-기반의 시퀀스 변환 신경망
JP2017049907A (ja) ニューラルネットワーク、その学習方法、及びコンピュータプログラム
KR102302609B1 (ko) 신경망 아키텍처 최적화
CN110503192A (zh) 资源有效的神经架构
Zheng Gradient descent algorithms for quantile regression with smooth approximation
Blanchet et al. Unbiased Monte Carlo for optimization and functions of expectations via multi-level randomization
Shaydulin et al. Exploiting symmetry reduces the cost of training QAOA
US20230186138A1 (en) Training of quantum neural network
WO2019023030A1 (en) DIMENSIONALITY REDUCTION IN BAYESIAN OPTIMIZATION USING SELF-STACKED CODERS
Álvarez et al. Non-linear process convolutions for multi-output Gaussian processes
US20180018167A1 (en) Transforming data manipulation code into data workflow
He et al. Quantum Architecture Search with Meta‐Learning
Martinez-de-Pison et al. Hybrid methodology based on Bayesian optimization and GA-PARSIMONY to search for parsimony models by combining hyperparameter optimization and feature selection
JP2016218513A (ja) ニューラルネットワーク及びそのためのコンピュータプログラム
WO2022097230A1 (ja) 予測方法、予測装置及びプログラム
CN110929087A (zh) 一种音频分类方法、装置、电子设备及存储介质
Iquebal et al. Emulating the evolution of phase separating microstructures using low-dimensional tensor decomposition and nonlinear regression
Sunitha et al. Political optimizer-based automated machine learning for skin lesion data
Capuccini et al. Conformal prediction in spark: Large-scale machine learning with confidence
US20230050538A1 (en) Boosting and matrix factorization
Chaitanya et al. Machine learning aided near-field acoustic holography based on equivalent source method
Lee et al. Development of a simulation result management and prediction system using machine learning techniques
Zagagy et al. ACKEM: automatic classification, using KNN based ensemble modeling
Bajalan et al. Novel ANN Method for Solving Ordinary and Time‐Fractional Black–Scholes Equation
Słoń et al. Remarks on the uncertainty expansion problem in calculations of models of relational fuzzy cognitive maps