(57)【特許請求の範囲】
【請求項１】
複数個の入力ノードを持つ入力層と、
前記入力層からの出力を受けるように接続された入力を持つ非線形関数層とを含み、連続関数の離散フーリエ変換における周波数領域を表現するニューラルネットワークであって、
前記非線形関数層は、各々が前記入力層の前記複数個の入力ノードからの出力を受けるように接続された、各々が任意の独立成分を近似可能な複数個の隠れ層を含み、
前記複数個の隠れ層の各々は、
各々が前記複数個の入力ノードに前記連続関数の周波数領域における周波数をあらわす重み付きで接続された入力を持ち、さらに前記連続関数の周波数領域における位相を表すバイアスを受け、活性化関数として、劣微分可能な周期関数を用いる複数個の神経細胞素子と、
同一の隠れ層内の前記複数個の神経細胞素子の出力を、前記連続関数の周波数領域における振幅を表す重み付きで受けるように接続され、活性化関数として、劣微分可能な関数を用いる出力集約素子とを含む、ニューラルネットワークであって、
さらに、前記複数個の隠れ層の前記出力集約素子の出力を受けるように接続された出力層を含み、
前記出力層は、各々が前記複数個の隠れ層の前記出力集約素子の出力を重み付きで受けるように接続された複数個の出力神経細胞素子を含む、ニューラルネットワーク。
【請求項２】
前記周期関数は、コサイン関数若しくはサイン関数又はこれらの組み合わせ、又は区分線形近似したコサイン関数若しくはサイン関数である、請求項１に記載のニューラルネットワーク。
【請求項３】
前記複数個の隠れ層の各々の入力側の重みパラメータを用いた、目的関数に対するＬ２正則化を用いて訓練された、請求項１又は請求項２に記載のニューラルネットワーク。
【請求項４】
準ニュートン法を用いて訓練された、請求項１〜請求項３のいずれかに記載のニューラルネットワーク。
【請求項５】
コンピュータを、請求項１〜請求項４のいずれかに記載のニューラルネットワークとして機能させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は機械学習に関し、特に、計算資源の小さな計算機でも精度よく推論を行うことができるニューラルネットワークに関する。
【背景技術】
【０００２】
機械学習とは、限られた量の事例から、一般的な法則あるいは傾向を獲得することを目的とした、帰納的な推論に基づく学習方法である。数理的には、事例（訓練）データが真のデータ分布から標本として抽出されたことを仮定し、抽出元のデータ分布を大域的に推定することとして定式化される。データ分布は、データ空間を定義域とし、確率等のデータらしさを表現する空間を値域とする連続関数として捉えることができる。この連続関数を訓練データから近似する方法の一つとしてニューラルネットワークがある。ニューラルネットワークは、多層パーセプトロン(multi-layered  perceptron：ＭＬＰ)すなわちフィードフォワードニューラルネットワーク（feed  forward  neural  network：ＦＦＮＮ）として、言語モデル、音声認識、及び画像認識等様々な識別タスクにおいて広く利用されている。
【０００３】
任意の連続関数すなわちデータ分布は、ロジスティックシグモイド関数を活性化関数として使用する２層ニューラルネットワークにおいて表現可能である。しかし、２層程度の少ない層数のネットワークでは、個々の訓練データ点等の局所的な分布のみを学習し、大域的な分布を獲得できない過適合が発生する傾向がある。この様子を図１に示す。図１は２次元のデータ空間において、２種類のデータが存在し、それらの訓練データ（×及び○で示す）が得られた場合を想定したものである。ニューラルネットワークのタスクとして、これら２種類のデータを識別する場合、元のデータ空間においてこれら２種類のデータを識別するための識別曲線を求めることが必要である。しかし、想定するパラメータの数が多すぎたりすると、識別曲線が訓練データに対して過適合することが多い。過適合により得られた識別曲線を例えば図１の識別曲線とすると、この識別曲線３０は、訓練データに対する識別性能は極めて高く、ときには完全な識別結果を与えるが、訓練データ以外のデータに対する識別性能（汎化性能）は逆に悪化する。それに対して適正な訓練により得られた識別曲線３２は、全てのテストデータに対して完全な識別結果を与えるとは限らないが、訓練データ以外のデータが与えられたときも比較的精度よくデータの識別を行うことができる。
【０００４】
過適合を抑制するため、機械学習全般において正則化（非特許文献１、非特許文献２）と呼ばれる手法が広く用いられている。正則化とは、識別モデルが訓練データを近似する様に学習する際に、近似に影響するパラメータ数を削減したり、パラメータの値を小さくしたりする手法である。この手法は、訓練データが抽出される元の分布は、滑らかな形状であるという仮定に基づいている。すなわち、正則化は、元の分布が少数かつ小さな値のパラメータによって構成される関数であるという仮定に基づいている。一般には、最小化する目的関数にパラメータのＬ２ノルム又はＬ１ノルムを加えることで、多くのパラメータの値を０または０近傍とする目的で用いられる。すなわち、正則化により推論に使用されるパラメータの数を実質的に制限するという制約を課すことで、汎化性能が向上する。
【０００５】
正則化と共に、モデルの計算構造（関数定義）という観点から汎化性能を向上するという考え方がある。その手法の１つとして、深層学習（deep  learning）と呼ばれる、多層化したニューラルネットワークがある。多数の層からなるニューラルネットワークでは、入力に近い層においては局所的なデータ分布を捉え、出力層へと進むにつれて、局所的なデータ分布の組み合わせにより大域的な分布を捉える性質があると言われている（非特許文献３）。画像認識等一部の識別タスクにおいては、深層学習により従来手法を大幅に凌駕する汎化性能が達成されている（非特許文献４）。
【０００６】
図２に、多層化したニューラルネットワーク（ディープニューラルネットワーク：ＤＮＮ）５０の構成例を示す。図２を参照して、ＤＮＮ５０は、入力層５２と、複数個の隠れ層からなる中間層５４と、出力層５６とを含む。この例では、中間層５４は５個の隠れ層を含んでいる。ＤＮＮ５０の学習には誤差逆伝搬法が用いられる。すなわち、訓練データが入力層５２に与えられ、中間層５４を経て出力層５６から訓練データに対する予測出力が得られる。その出力と正解データとの誤差が逆に出力側から与えられ、各ノード間の結合の重みとバイアスとが、所定の誤差関数を最小にするように更新される。
【０００７】
従来は、各層の活性化関数としては、ロジスティックシグモイド関数及びハイパーボリックタンジェント等が広く用いられてきた。しかし最近では、多層化を前提として、各層の活性化関数についても、様々な関数（非特許文献５、非特許文献６）が提案され、これらにより汎化性能が向上することが示されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Evgeniou,  T.,  Pontil,  M.,  &  Poggio,  T.  (2000).  Regularization  networks  and  support  vector  machines.  Advances  in  computational  mathematics,  13(1),  1-50.
【非特許文献２】Girosi,  F.,  Jones,  M.,  &  Poggio,  T.  (1995).  Regularization  theory  and  neural  networks  architectures.  Neural  computation,  7(2),  219-269.
【非特許文献３】Montufar,  G.,  Pascanu,  R.,  Cho,  K.  and  Bengio,  Y.  (2014).  On  the  Number  of  Linear  Regions  of  Deep  Neural  Networks.  http://arxiv.org/abs/1402.1869
【非特許文献４】Schmidhuber,  J.  (2015).  Deep  Learning  in  Neural  Networks:  An  Overview.  Neural  Networks,  Vol  61,  pp  85-117.  (http://arxiv.org/abs/1404.7828)
【非特許文献５】Glorot,  X.,  Bordes,  A.,  and  Bengio,  Y.  (2011).  Deep  sparse  rectifier  networks.  Proceedings  of  the  14th  International  Conference  on  Artificial  Intelligence  and  Statistics.  JMLR  W&CP  Volume.  Vol.  15.
【非特許文献６】Goodfellow,  I.,  Warde-farley,  D.,  Mirza,  M.,  Courville,  A.,  and  Bengio,  Y.  (2013).  Maxout  Networks.  In  Proceedings  of  the  30th  International  Conference  on  Machine  Learning  (ICML-13),  pages  1319-1327.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
以上のように、従来技術により、多層化による汎化性能の向上が示されている。しかし、同時に計算量が増大したという問題がある。したがって、性能向上のためには、依然として大規模な計算装置が必要である。また、汎用ＧＰＵ計算機の普及等、計算機ハードウェアの大規模並列化の進展により各層の計算効率は向上しているが、多層モデルでは入力側の層における計算を終えるまで次の層の計算が不可能であるという制約がある。したがって、多層化による層数の増加に比例して必然的に待ち時間が増大し、訓練時のみならず予測時の計算効率も低下しているという問題がある。
【００１０】
したがって本発明の目的は、短時間で予測可能な、汎化性能の高いニューラルネットワークを提供することである。
【課題を解決するための手段】
【００１１】
本発明の第１の局面に係るニューラルネットワークは、複数個の入力ノードを持つ入力層と、入力層からの出力を受けるように接続された入力を持つ非線形関数層とを含む。非線形関数層は、各々が入力層の複数個の入力ノードからの出力を受けるように接続された、各々が任意の独立成分を近似可能な複数個の隠れ層を含む。複数個の隠れ層の各々は、各々が複数個の入力ノードに重み付きで接続された入力を持ち、活性化関数として、劣微分可能な周期関数を用いる複数個の神経細胞素子と、同一の隠れ層内の複数個の神経細胞素子の出力を重み付きで受けるように接続され、活性化関数として、劣微分可能な関数を用いる出力集約素子とを含む。
【００１２】
好ましくは、周期関数は、コサイン関数若しくはサイン関数又はこれらの組み合わせ、又は区分線形近似したコサイン関数若しくはサイン関数である。
【００１３】
より好ましくは、ニューラルネットワークは、複数個の隠れ層の各々の入力側の重みパラメータにＬ２正則化を用いて訓練されたものである。
【００１４】
ニューラルネットワークは、準ニュートン法を用いて訓練されたものでもよい。
【００１５】
より好ましくは、出力集約素子の活性化関数は恒等関数、すなわち与えられた入力と同じ値を出力する関数でもよい。
【００１６】
ニューラルネットワークはさらに、複数個の隠れ層の出力集約素子の出力を受けるように接続された出力層を含んでもよい。出力層は、各々が複数個の隠れ層の出力集約素子の出力を重み付きで受けるように接続された複数個の出力神経細胞素子を含む。
【００１７】
出力集約素子の活性化関数はsoftmax関数であってもよい。
【００１８】
本発明の第２の局面に係るコンピュータプログラムは、コンピュータを、上記したいずれかのニューラルネットワークとして機能させる。
【図面の簡単な説明】
【００１９】
【図１】機械学習における過適合の問題を説明するための、２次元空間におけるデータ分布と識別関数との関係を示す図である。
【図２】従来のディープニューラルネットワークの問題点を説明するためのニューラルネットワークの模式図である。
【図３】本発明の１実施の形態に係るニューラルネットワークの概略構成を模式的に示す図である。
【図４】誤差に正則項を加えないときの目的関数の一例を示すグラフである。
【図５】誤差に正則項を加えたときの目的関数の一例を示すグラフである。
【図６】本発明の１実施の形態に係るニューラルネットワークによる音響モデルを用いた音声認識装置のブロック図である。
【図７】本発明の１実施の形態において、正則化をしたときの手書き文字認識における汎化性能の向上を示すグラフである。
【図８】本発明の１実施の形態において、正則化をしないときの手書き文字認識における汎化性能を示すグラフである。
【図９】本発明の１実施の形態に係る文字認識装置を実現するコンピュータシステムの外観図である。
【図１０】図９に示すコンピュータのハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００２０】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお、以下の実施の形態の説明では、ニューラルネットワークを「ＮＮ」と呼ぶ。
【００２１】
［基本的考え方］
機械学習において、訓練データを近似する連続関数を得る枠組みとして、以下に述べる本発明の１実施の形態では、連続関数の離散フーリエ変換における周波数領域を表現するネットワーク構造を用いる。
【００２２】
図３は、２個のラベル分布を近似する関数を例に、本実施の形態で用いるＮＮの構造を示す。図３を参照して、このＮＮ８０は、入力層９０、入力層９０の出力を受けるように接続された隠れ層９２、及び隠れ層９２の出力を受けるように接続された出力層９４を含む。
【００２３】
この例では、入力層９０は３つのノードを含む。各ノードは神経細胞素子（ニューロン）と呼ばれる。各ニューロンは、その入力の重み付きの総和を入力とする所定の活性化関数の値を出力する。活性化関数は、単調増加関数であればよいが、本実施の形態で使用する活性化関数については後述する。
【００２４】
隠れ層９２は、２つの隠れ層ユニット１００及び１０２を含む。隠れ層ユニット１００及び１０２はいずれも同じ構造を持つ。したがって以下では隠れ層ユニット１００のみを例に説明する。また隠れ層９２は、階層数でいえば１層のみである。図３では、説明のため隠れ層ユニットを２つとしているが、本実施の形態では１０個程度である。
【００２５】
隠れ層ユニット１００は、いずれも入力層９０の３つの入力素子の出力に結合された入力を持ち、コサイン関数を活性化関数として用いるＣＯＳ素子１２０、１２２、１２４、１２６及び１２８と、ＣＯＳ素子１２０、１２２、１２４、１２６及び１２８の出力を受けるようにこれらに結合され、恒等写像を活性化関数として用いるΣ素子１４０とを含む。これら素子はいずれも神経細胞素子の一種である。
【００２６】
出力層９４は、本実施の形態では、いずれも隠れ層ユニット１００及び１０２の出力を受けるようにこれらに結合されたノードを含む。
【００２７】
各素子の間の結合には重み及びバイアスが設定される。各Σ素子の出力は以下の式により表される。
【００２８】
【数１】
0006521440.tif 000002
上式のベクトルｘは入力ベクトルを表し、行列ａｄは入力層９０及び隠れ層ユニット１００、１０２の間の素子間の結合の重み行列を表し、ベクトルｂｄは隠れ層ユニット１００及び１０２の各素子の出力に加算されるバイアスベクトルを表し、ベクトルｃｄは隠れ層ユニット１００、１０２の各ＣＯＳ素子１２０、１２２、１２４、１２６及び１２８とΣ素子１４０との間の結合の重みベクトルを表す。これら重み及びバイアスを訓練データに基づいて決定する過程が学習である。学習の結果、各Σ素子は、入力層９０に対する入力について任意の連続関数を近似可能である。各Σ素子が近似する連続関数の周波数領域において、ＣＯＳ素子の入力側の重みは周波数成分に対応し、同入力側のバイアスは位相成分に対応し、同出力側の重みは振幅成分に対応する。各Σ素子は、互いにＣＯＳ素子の出力を共有しないことにより、入力空間上の任意の連続関数を独立に近似可能である。
【００２９】
なお、出力層９４は、ラベル数と同数の隠れ層ユニット１００及び１０２等を用意することで省略可能である。また、各隠れ層ユニットのΣ素子の活性化関数をsoftmax関数とすることで、その出力を確率値として用いることができる。softmax関数は以下の式で表される関数（ｉ＝１、…、ｎ）である。
【００３０】
【数２】
0006521440.tif 000003
【００３１】
図３に示す様に出力層９４を用意することで、ラベル数より多いまたは少ないΣ素子を組み込むことも可能である。なお、ＣＯＳ素子においてコサイン関数の代わりにサイン関数を用いた場合も、ネットワークの近似性能は等価である。また、これら以外の微分可能な周期関数若しくはそれらの組み合わせを用いても良い。
【００３２】
本実施の形態でも、従来のＦＦＮＮ等と同様、誤差逆伝搬法を用いた学習を行う。しかし、本実施の形態では、隠れ層ユニットのＣＯＳ素子において、コサイン関数を活性化関数に用いている。そのため、以下に述べるように従来と同様の手法を用いると訓練データに対して隠れ層ユニット１００及び１０２の最適化学習を行うことがむずかしい。そこで本実施の形態では、学習時に以下の様な２つの手法を用いる。第１は正則化、第２は準ニュートン法の採用である。
【００３３】
本実施の形態で用いるネットワーク構造は、データ分布の周波数領域表現を用いている。したがって、ＮＮ８０において、近似する関数の周波数領域における性質として解釈可能である周波数成分、位相成分、振幅成分の各要素を個別に制御可能である。一般に、関数の大域的な傾向は低周波成分によって表現される。したがって、大域的なデータ分布を得ることにより汎化性能の向上を図ることができる。そのため、本実施の形態では、周波数成分への正則化を行うことで、低周波領域によってデータ分布を近似する。正則化項は、周波数成分を表すパラメータについて、原点を頂点とする下に凸な関数（凸関数）である。学習における目的関数を、近似関数と訓練データとの誤差とすると、誤差に正則化を加えることで、目的関数は原点付近において最小値となり、大域的には凸関数となる。図４及び図５は、本実施の形態で用いるネットワークにおける周波数パラメータの値に関する目的関数の形状例を示したものである。正則化をしない場合の目的関数の形状例を図４に示す。また、最小化する目的関数に周波数成分を表すパラメータのＬ２ノルムを加えた（Ｌ２正則化した）場合の目的関数の形状例を図５に示す。
【００３４】
図４及び図５を対比すると、図４では最小値が複数個存在するのに対し、図５では原点付近に１個のみ大域的な最小値が存在することが分かる。したがって、誤差関数がこの大域的な最小値に収束するように各パラメータの学習を行う。しかし、図５から明らかなように、このグラフには局所的な最小値（極小値）が複数個存在する。通常の学習の過程では、パラメータがこれら極小値の１つに収束してしまう危険性がある。そのような事態は避けなければならない。そこで本実施の形態ではさらに、周波数パラメータに関してはＬ―ＢＦＧＳ法を含む準ニュートン法等の大域的最適化手法を用いる。準ニュートン法は局所な最適解に収束しにくいという特徴がある。中でもＬ−ＢＧＦＳ法は使用するメモリが少なくて済むことが知られている。したがって、計算資源の少ない装置でも利用できる。
【００３５】
［構成］
図６に、上記した様な構成を持つＮＮを採用した例として文字認識装置１８０と、文字認識装置１８０のＮＮの学習を行う文字認識ＮＮ学習装置１８６とをブロック図形式で示す。
【００３６】
図６を参照して、文字認識装置１８０は、手書き文字を含む入力画像１８２を受け、手書き文字認識を行って文字認識テキスト１８４を出力するためのものである。この例では文字認識装置１８０は、図示しない別のスキャナ又は記憶装置等から入力画像１８２を受信するものとする。文字認識装置１８０は、入力画像１８２を受信して一時記憶する入力画像記憶装置２００と、入力画像記憶装置２００に記憶された入力画像に対して傾きの補正等を行った後、個別の文字画像に分離し、個々の文字画像に対する正規化等をする画像補正部２０２と、この文字画像を文字ごとに記憶する画像記憶部２０４と、上記本実施の形態に係るＮＮからなる学習済の文字認識ＮＮ２０８と、画像記憶部２０４から各文字ごとに文字画像を読出し、文字認識ＮＮ２０８に入力してその結果を得ることにより文字認識テキスト１８４を出力するデコーダ２１０とを含む。
【００３７】
文字認識ＮＮ２０８には、文字認識ＮＮ学習装置１８６による学習が予め行われているものとする。文字認識ＮＮ学習装置１８６は、手書き文字からなる画像をその文字の文字ラベルとともに記憶する手書き文字データベース（ＤＢ）２４０と、手書き文字ＤＢ２４０に記憶された手書き文字から画像補正部２０２と同様の手法により文字画像を補正し、文字ラベルと組にした学習データを生成する学習データ生成部２４２と、学習データ生成部２４２により生成された学習データを記憶する学習データ記憶装置２４４と、学習データ記憶装置２４４に記憶された学習データを用い、上記した手法により文字認識ＮＮ２０８の学習を行うための学習処理部２４６とを含む。文字認識ＮＮ２０８の入力層のノード数は、学習データのうち、文字ラベルを除いた要素数と等しい。文字ラベルは学習時の教師データとして文字認識ＮＮ２０８の出力層側からの誤差逆伝搬に用いられる正解ベクトルの生成に使用される。
【００３８】
［動作］
上記した文字認識ＮＮ学習装置１８６及び文字認識装置１８０は以下のように動作する。まず文字認識ＮＮ学習装置１８６による文字認識ＮＮ２０８の学習が行われ、その後に文字認識装置１８０による入力画像１８２の文字認識が行われる。
【００３９】
学習では、学習データ生成部２４２が手書き文字ＤＢ２４０に記憶された手書き文字画像を読出し、画像補正部２０２と同様に画像を補正・正規化し、文字ラベルと組み合わせて学習データを生成する。生成された学習データは学習データ記憶装置２４４に蓄積される。学習処理部２４６は、学習データ記憶装置２４４に蓄積された学習データを用い、上記した手法によって文字認識ＮＮ２０８の学習を行う。学習処理部２４６による文字認識ＮＮ２０８の学習が終われば、文字認識装置１８０による入力画像１８２の文字認識が可能になる。
【００４０】
文字認識では、図示しないスキャナ等により入力画像１８２が生成され、入力画像記憶装置２００に記憶される。画像補正部２０２は、画像の傾き補正、文字領域の抽出、文字領域の正規化等を行って画像を補正し、画像記憶部２０４に記憶させる。デコーダ２１０は、この画像を画像記憶部２０４から読出し、文字認識ＮＮ２０８に入力として与える。文字認識ＮＮ２０８は、学習の結果、入力された文字画像に対応する文字ラベルを特定する出力をデコーダ２１０に返す。デコーダ２１０はこの文字ラベルから文字認識テキスト１８４を生成して出力する。
【００４１】
［実験結果］
上記文字認識ＮＮ２０８の性能を調べるため、手書き文字認識に関する実験を行った。実験には、ＭＮＩＳＴ手書き文字データセットを用いた。本実施の形態による性能と、ＮＮの識別モデルとして非特許文献６で示されたmaxoutモデル、及び非特許文献５で示されたrectifierによる性能を、併せて次のテーブル１に示す。
【００４２】
【表１】
0006521440.tif 000004
なお、表１において例えば「実施の形態（３０／１０）」の「３０」は隠れ層ユニット数を、「１０」は隠れ層ユニットのＣＯＳ素子数を、それぞれ表す。他も同様である。
【００４３】
表１に示すように、本実施の形態に係るＮＮの識別性能は、最新の手法によるものには及ばない。しかし、性能としてはそれほど悪いわけでもない。特筆すべきは、パラメータ数の少なさである。実施の形態（３０／１０）ではパラメータ数が４７２Ｋである。一方、maxoutではパラメータ数は１２３３Ｋ、rectifierに至っては３、７９８Ｋである。このように、本実施の形態によれば、少ないパラメータ数で比較的高い精度を出すことができる。更に、実施の形態（２０／１０）ではパラメータ数は１５７Ｋ、実施の形態（１０／１５）では１１８Ｋと、パラメータ数はさらに大幅に削減される。にもかかわらず、識別誤り率はわずかしか上昇せず、識別性能の低下はごくわずかである。
【００４４】
さらに、正則化が汎化性能の向上にどの程度寄与しているかを確認するために、正則化を行って文字認識ＮＮ２０８の学習を行った場合と、正則化せずに学習を行った場合との結果を比較した。正則化を行った場合を図７に、行わなかった場合を図８に、それぞれ示す。双方の図において、実線２６０及び２８０で示したのがそれぞれ訓練データに対する識別誤り率、破線２６４及び２８４で示したのがテストデータに対する識別誤り率である。グラフは、横軸に学習の繰返し数を示し、縦軸にそのときの識別誤り率を示す。
【００４５】
図８の実線２８０により示されるように、正則化を行わない場合には、テストデータに対する識別誤りは学習とともに大きく低下する。しかし、破線２８４により示されるように、テストデータについての精度はほとんど高くならなかった。それに対し、図７に示すように、正則化を行った場合には、学習データに対する誤り率の低下は実線２６０により示されるように正則化を行わなかった場合には及ばなかったが、破線２６４により示されるように、テストデータに対する識別誤り率は学習とともに低下した。すなわち、識別誤りが少なくなり、識別精度は高くなった。この結果、汎化性能は正則化を行わない場合と比較して高くなっているといえる。
【００４６】
［実施の形態の効果］
以上のように、上記実施の形態によれば、多層化を必要とせずに汎化性能の向上が可能である。したがって、計算全体における並列計算が占める比率が増大し、並列計算機を用いた場合の計算効率が向上する。また、層数が低減されることによって各層における待ち時間が削減され、予測時における計算時間と計算に必要な計算機資源が削減される。
【００４７】
中間層の計算単位であるΣ素子は、その入力であるＣＯＳ素子の出力を互いに共有しないため、訓練時の誤差逆伝搬における経路数が削減される。つまり、信用割り当て問題が緩和される。そのため、全結合の構造と比較して上記実施の形態のＮＮは効率的な最適化が可能であり、訓練時間の低減という効果がある。
【００４８】
従来の正則化は、分布を表現するパラメータ数を削減することが目的であったため、識別に関与するパラメータはネットワークの一部に留まっていた。一方で上記実施の形態では、コサインまたはサインという大域的に変化が続く周期関数を活性化関数として用いている。そのため、全ての素子が識別結果に影響を与える。これにより、予め用意するパラメータ数の削減が見込まれることから、全体の計算規模が縮小され、小規模な計算機上での高性能な識別が可能となる。なお、周期関数として上記実施の形態ではコサイン関数を用いている。しかし、上記したようにサイン関数を用いても良い。コサイン関数とサイン関数との組み合わせを用いても良い。さらに、コサイン関数又はサイン関数を区分線形近似した関数（区分線形近似したコサイン関数又はサイン関数）も同様に周期関数となり、コサイン関数又はサイン関数に代えて使用できる。区分線形近似した関数を用いる場合、線分の連結部分において微分可能でないため、通常の方法では準ニュートン法を適用した訓練を行えない。しかしそうした場合でも、区分線形近似のように微分ができない部分で劣微分が定義可能（劣微分可能）であれば準ニュートン法を適用した訓練を行うことができる。すなわち、ＣＯＳ素子のように隠れユニットの神経細胞素子で用いる活性化関数は劣微分可能であればよい。
【００４９】
上記実施の形態によれば、従来よりも小規模な計算によって汎化性能が得られる。そのため、計算性能が限定的なモバイル機器において識別モデルを利用する際に、モバイル機器内で完結したアプリケーション及びサービスの提供が可能となる。
【００５０】
［コンピュータによる実現］
本発明の実施の形態に係る文字認識装置１８０及び文字認識ＮＮ学習装置１８６は、いずれもコンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。図９はこのコンピュータシステム３３０の外観を示し、図１０はコンピュータシステム３３０の内部構成を示す。
【００５１】
図９を参照して、このコンピュータシステム３３０は、メモリポート３５２及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ３５０を有するコンピュータ３４０と、キーボード３４６と、マウス３４８と、モニタ３４２とを含む。
【００５２】
図１０を参照して、コンピュータ３４０は、メモリポート３５２及びＤＶＤドライブ３５０に加えて、ＣＰＵ（中央処理装置）３５６と、ＣＰＵ３５６、メモリポート３５２及びＤＶＤドライブ３５０に接続されたバス３６６と、ブートプログラム等を記憶する読出専用メモリ（ＲＯＭ）３５８と、バス３６６に接続され、プログラム命令、システムプログラム及び作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）３６０と、ハードディスク３５４を含む。コンピュータシステム３３０はさらに、他端末との通信を可能とするネットワーク３６８への接続を提供するネットワークインターフェイス（Ｉ／Ｆ）３４４を含む。
【００５３】
コンピュータシステム３３０を上記した実施の形態に係る文字認識装置１８０及び文字認識ＮＮ学習装置１８６の各機能部として機能させるためのコンピュータプログラムは、ＤＶＤドライブ３５０又はメモリポート３５２に装着されるＤＶＤ３６２又はリムーバブルメモリ３６４に記憶され、さらにハードディスク３５４に転送される。又は、プログラムはネットワーク３６８を通じてコンピュータ３４０に送信されハードディスク３５４に記憶されてもよい。プログラムは実行の際にＲＡＭ３６０にロードされる。ＤＶＤ３６２から、リムーバブルメモリ３６４から又はネットワーク３６８を介して、直接にＲＡＭ３６０にプログラムをロードしてもよい。
【００５４】
このプログラムは、コンピュータ３４０を、上記実施の形態に係る文字認識装置１８０及び文字認識ＮＮ学習装置１８６の各機能部として機能させるための複数の命令からなる命令列を含む。コンピュータ３４０にこの動作を行わせるのに必要な基本的機能のいくつかはコンピュータ３４０上で動作するオペレーティングシステム若しくはサードパーティのプログラム又はコンピュータ３４０にインストールされる、ダイナミックリンク可能な各種プログラミングツールキット又はプログラムライブラリにより提供される。たとえば、誤差逆伝搬法、及びＬ−ＢＦＧＳ法については市販の統計処理ライブラリにより提供されるソフトウェアツールを利用できる。したがって、このプログラム自体はこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット又はプログラムライブラリ内の適切なプログラムを実行時に動的に呼出すことにより、上記したシステム又は装置としての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能を全て提供してもよい。
【００５５】
［応用例］
上記実施の形態は、手書き文字認識装置に関するものである。しかし、本発明はそのような実施の形態には限定されない。例えば、音声認識装置に用いられる音響モデル、統計的言語モデルに使用することもできる。自動翻訳装置に用いられる翻訳モデル、手書き文字以外の画像パターン認識に適用することもできる。
【００５６】
音響モデルの場合には、音声そのものではなく、特徴量として例えば音声信号から得られるＭＦＣＣ系の特徴量、ＬＰＣ系の特徴量、及びメルフィルタバンクの出力、それらの一次差分及び二次差分等、通常使用される特徴量を入力としてそのまま利用できる。入力層のノード数は特徴量ベクトルの要素数と一致させる。出力層のノード数は、想定される音素数と一致させる。
【００５７】
言語モデルの場合には例えば以下のようにする。トライグラム言語モデルであれば、想定される語彙全てからなるベクトルを考える。２語前の単語に対応する要素が１、それ以外の要素が０となる第１のベクトルと、１語前の単語に対応する要素が１、それ以外の要素が０となる第２のベクトルとを生成し、これらをつなぎあわせて１つの特徴ベクトルとする。入力層のノード数はしたがって、想定される語彙数の２倍となる。出力ノードのノード数は、想定される語彙数と一致する。
【００５８】
その他、本発明は、ＮＮを用いたあらゆる機械学習と予測装置とに適用できる。
【００５９】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００６０】
１８０  文字認識装置
１８２  入力画像
１８４  文字認識テキスト
１８６  文字認識ＮＮ学習装置
２０８  文字認識ＮＮ
２１０  デコーダ
【図１】
0006521440.tif 000005
【図２】
0006521440.tif 000006
【図３】
0006521440.tif 000007
【図４】
0006521440.tif 000008
【図５】
0006521440.tif 000009
【図６】
0006521440.tif 000010
【図７】
0006521440.tif 000011
【図８】
0006521440.tif 000012
【図９】
0006521440.tif 000013
【図１０】
0006521440.tif 000014