(57)【要約】【課題】複数カテゴリーに属するデータでＤＮＮを学習する時間を短くできるＤＮＮの学習方法を提供する。【解決手段】この方法は、日英の学習データで言語独立なサブネットワーク１２０、言語依存なサブネットワーク１２２及び１２４を学習するステップを含む。このステップは、サブネットワーク１２０出力層のニューロンと、サブネットワーク１２２の入力層のニューロンとを接続したＤＮＮを、日本語データで学習する第１のステップと、サブネットワーク１２２に代えてサブネットワーク１２４をサブネットワーク１２０に接続したＤＮＮを形成し、英語データで学習するステップと、これらステップを、学習データが終了するまで交互に実行するステップと、完了後に、第１のサブネットワーク１２０を他のサブネットワークから分離して、カテゴリー独立なサブネットワークとして記憶媒体に記憶させるステップとを含む。【選択図】図５
2014229124.tif 000002
【特許請求の範囲】
【請求項１】
複数カテゴリーに分類される対象について識別するディープ・ニューラルネットワークにおいて、前記複数カテゴリーに共通に使用されるカテゴリー独立なサブネットワークをコンピュータを用いて学習させる、ディープ・ニューラルネットワークの学習方法であって、
コンピュータが、記憶媒体内に、第１、第２及び第３のサブネットワークを記憶するステップと、
コンピュータが、前記複数カテゴリーのうち、第１及び第２のカテゴリーに属する学習データで前記第１、第２及び第３のサブネットワークを学習させるサブネットワークの学習ステップとを含み、
前記サブネットワークの学習ステップは、
コンピュータが、前記第１のサブネットワークの後段に前記第２のサブネットワークを接続して形成された第１のディープ・ニューラルネットワークを、前記第１のカテゴリーに属する学習データで学習させ、前記第１のサブネットワークの後段に前記第３のサブネットワークを接続して形成した第２のディープ・ニューラルネットワークを、前記第２のカテゴリーに属する学習データで学習させることにより、前記第１及び第２のディープ・ニューラルネットワークの学習を行なうディープ・ニューラルネットワークの学習ステップと、
コンピュータが、前記ディープ・ニューラルネットワークの学習ステップの完了後に、前記第１のサブネットワークを他のサブネットワークから分離して、前記カテゴリー独立なサブネットワークとして記憶媒体に記憶させるステップとを含む、ディープ・ニューラルネットワークの学習方法。
【請求項２】
前記第１、第２及び第３のサブネットワークは、いずれも入力層、隠れ層及び出力層を含み、
前記ディープ・ニューラルネットワークの学習ステップは、
コンピュータが、前記第１、第２及び第３のサブネットワークを初期化するステップと、
コンピュータが、前記第１のサブネットワークの前記出力層のニューロンと、前記第２のサブネットワークの前記入力層のニューロンとを接続して第１のディープ・ニューラルネットワークを形成し、前記第１のカテゴリーに属する学習データで前記第１のディープ・ニューラルネットワークを学習させる第１の学習ステップと、
コンピュータが、前記第１のサブネットワークの前記出力層のニューロンと、前記第３のサブネットワークの前記入力層のニューロンとを接続して第２のディープ・ニューラルネットワークを形成し、前記第２のカテゴリーに属する学習データで前記第２のディープ・ニューラルネットワークを学習させる第２のトレーニングステップと、
コンピュータが、前記第１及び第２の学習ステップを、終了条件が成立するまで交互に実行するステップとを含む、請求項１に記載の学習方法。
【請求項３】
さらに、コンピュータが、前記サブネットワークの学習ステップの完了後に、前記第２のサブネットワークを他のサブネットワークから分離して、前記第１のカテゴリーの対象に対して使用されるカテゴリー依存のサブネットワークとして記憶媒体に記憶させるステップを含む、請求項１又は請求項２に記載のディープ・ニューラルネットワークの学習方法。
【請求項４】
複数カテゴリーに分類される対象について識別するディープ・ニューラルネットワークにおいて、特定カテゴリーに使用されるカテゴリー依存のサブネットワークをコンピュータを用いて学習させる、ディープ・ニューラルネットワークの学習方法であって、
コンピュータが、前記複数カテゴリーに共通して使用されるカテゴリー独立なサブネットワークを記憶するステップと、
コンピュータが、前記特定カテゴリー用のサブネットワークを記憶するステップと、
コンピュータが、前記特定カテゴリー用のサブネットワークを初期化するステップと、
コンピュータが、前記カテゴリー独立なサブネットワークの出力層のニューロンと、前記特定カテゴリー用のサブネットワークの入力層とを接続することによりディープ・ニューラルネットワークを形成するステップと、
コンピュータが、前記特定カテゴリーに属する学習データを用いて、かつ前記カテゴリー独立なサブネットワークのパラメータを固定して、前記特定カテゴリー用のサブネットワークを学習させるステップとを含む、ディープ・ニューラルネットワークの学習方法。
【請求項５】
請求項１〜請求項４のいずれかに記載の方法により学習した、ディープ・ニューラルネットワークのサブネットワークのパラメータを記憶した記憶媒体。
【請求項６】
ディープ・ニューラルネットワークの学習方法をコンピュータに実行させるコンピュータプログラムであって、
前記方法は、複数カテゴリーに分類される対象について識別するディープ・ニューラルネットワークにおいて、前記複数カテゴリーに共通に使用されるカテゴリー独立なサブネットワークを学習させる方法であり、
当該方法は、
コンピュータが、記憶媒体内に、第１、第２及び第３のサブネットワークを記憶するステップと、
コンピュータが、前記複数カテゴリーのうち、第１及び第２のカテゴリーに属する学習データで前記第１、第２及び第３のサブネットワークを学習させるサブネットワークの学習ステップとを含み、
前記サブネットワークの学習ステップは、
コンピュータが、前記第１のサブネットワークの後段に前記第２のサブネットワークを接続して形成された第１のディープ・ニューラルネットワークを、前記第１のカテゴリーに属する学習データで学習させ、前記第１のサブネットワークの後段に前記第３のサブネットワークを接続して形成した第２のディープ・ニューラルネットワークを、前記第２のカテゴリーに属する学習データで学習させることにより、前記第１及び第２のディープ・ニューラルネットワークの学習を行なうディープ・ニューラルネットワークの学習ステップと、
コンピュータが、前記ディープ・ニューラルネットワークの学習ステップの完了後に、前記第１のサブネットワークを他のサブネットワークから分離して、前記カテゴリー独立なサブネットワークとして記憶媒体に記憶させるステップとを含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、音声認識及び画像認識等の認識技術に用いられるディープ・ニューラルネットワーク（以下、記載を簡略にするために「ＤＮＮ」と呼ぶ。）に関し、特に、特定用途のＤＮＮの学習を高速化する技術に関する。
【背景技術】
【０００２】
機械学習の１手法としてＤＮＮが注目されている。ＤＮＮは例えば、画像認識及び音声認識等に適用されており、誤り率が以前より２０〜３０％も低下する等、優れた性能を発揮していることが報告されている（非特許文献１〜３）。
【０００３】
ＤＮＮとは、従来よりも多くの層を持つニューラルネットワークということができる。具体的には、図１を参照して、ＤＮＮ３０は、入力層４０と、出力層４４と、入力層４０と出力層４４との間に設けられた複数の隠れ層４２とを含む。入力層４０は複数個の入力ノード（ニューロン）を持つ。出力層４４は、識別対象の数だけのニューロンを持つ。隠れ層４２は複数の隠れ層（７層、９層、１１層等）を持つ。各隠れ層はそれぞれ複数個のニューロンを持つ。
【０００４】
ＤＮＮ３０では、層の数だけではなく、各層内のニューロン数も多い。そのために学習のための計算量が膨大な量になることがある。以前はそのような計算を行なうことはほとんど不可能だったが、コンピュータ自体の高機能化、分散・並列処理技術の発達及び計算理論の発展により、ＤＮＮの学習を行なうことも可能となっている。しかし、学習のために大量のデータを使用する場合、依然として学習のために長時間を要することになる。例えば非特許文献４に記載された実験では、学習データとして２００ピクセル×２００ピクセルの画像１千万個を用い、１，０００台の１６コアのコンピュータを用いたＤＮＮの学習に３日間を要したという。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Y.  Bengio,  “Learning  deep  architectures  for  AI,”  Foundations  and  Trends  in  Machine  Learning,  Vol.  2,  No.  1,  pp.  1-127,  2009.
【非特許文献２】G.  Hinton,  L.  Deng,  D.  Yu,  G.  Dahl,  A.  Mohamed,  N.  Jaitly,  A.  Senior,  V.  Vanhoucke,  P.  Nguyen,  T.  Sainath,  and  B.  Kingsbury,  “Deep  Neural  Networks  for  Acoustic  Modeling  in  Speech  Recognition:  The  Shared  Views  of  Four  Research  Groups,”  IEEE  Signal  Processing  Magazine,  Vol.  29,  No.  6,  pp.  82-97,  2012.
【非特許文献３】A.  Mohamed,  G.  Dahl,  and  G.  Hinton,  “Acoustic  Modeling  using  Deep  Belief  Networks,”  IEEE  Transactions  on  Audio,  Speech,  and  Language  Processing,  Vol.  20,  No.  1,  pp.  14-22,  2012.
【非特許文献４】Quoc  V.  Le,  Marc'Aurelio  Ranzato,  Rajat  Monga,  Matthieu  Devin,  Kai  Chen,  Greg  S.  Corrado,  Jeff  Dean  Andrew  Y.  Ng,  "Building  High-level  Features  Using  Large  Scale  Unsupervised  Learning,"  Proc.  ICML,  2012.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば音声認識にＤＮＮを適用する場合、対象とする言語により音素構成が異なるために、ＤＮＮを個別に用意し、別々に学習を行なわなければならない。例えば、図２を参照して、日本語と英語との音声認識用のＤＮＮを用いる場合には、日本語ＤＮＮ６０と英語ＤＮＮ６２とを個別に準備し、それぞれ別々の学習データを用いて学習を行なう。すなわち、２個のＤＮＮの学習を行なう必要がある。新たな言語の音声認識が必要となった場合には、新たなＤＮＮを用意し、新たに学習を行なう。すなわち、全部でＮ個の言語についてＤＮＮの学習を行なう場合には、１個のＤＮＮを行なう場合と比較して約７倍の時間が必要となる。ＤＮＮの学習にそのような長時間を要していては、システムの開発に膨大な時間を要することとなり、好ましくない。
【０００７】
こうした問題は、言語別の音声認識を行なうためのＤＮＮ学習のときだけでなく、たとえばカテゴリー別に画像認識用のＤＮＮを準備したりする場合にも生ずる問題である。
【０００８】
それゆえに本発明の目的は、対象があるカテゴリーに属する学習データを用いてＤＮＮの学習を行なう際の時間を短くできるＤＮＮの学習装置及び方法並びにそうしたＤＮＮを用いた対象の認識装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の局面に係るＤＮＮの学習方法は、複数カテゴリーに分類される対象について識別するＤＮＮを、複数カテゴリーに共通に使用されるカテゴリー独立なサブネットワークをコンピュータを用いて学習させる、ＤＮＮの学習方法である。この方法は、コンピュータが、記憶媒体内に、第１、第２及び第３のサブネットワークを記憶するステップと、コンピュータが、複数カテゴリーのうち、第１及び第２のカテゴリーに属する学習データで第１、第２及び第３のサブネットワークを学習させるサブネットワークの学習ステップとを含む。サブネットワークの学習ステップは、コンピュータが、第１のサブネットワークの後段に第２のサブネットワークを接続して形成された第１のＤＮＮを、第１のカテゴリーに属する学習データで学習させ、第１のサブネットワークの後段に第３のサブネットワークを接続して形成した第２のＤＮＮを、第２のカテゴリーに属する学習データで学習させることにより、第１及び第２のＤＮＮを学習させるＤＮＮの学習ステップと、コンピュータが、ＤＮＮの学習ステップの完了後に、第１のサブネットワークを他のサブネットワークから分離して、カテゴリー独立なサブネットワークとして記憶媒体に記憶させるステップとを含む。
【００１０】
好ましくは、第１、第２及び第３のサブネットワークは、いずれも入力層、隠れ層及び出力層を含む。ＤＮＮの学習ステップは、コンピュータが、第１、第２及び第３のサブネットワークを初期化するステップと、コンピュータが、第１のサブネットワークの出力層のニューロンと、第２のサブネットワークの入力層のニューロンとを接続して第１のＤＮＮを形成し、第１のカテゴリーに属する学習データで第１のＤＮＮを学習させる第１の学習ステップと、コンピュータが、第１のサブネットワークの出力層のニューロンと、第３のサブネットワークの入力層のニューロンとを接続して第２のＤＮＮを形成し、第２のカテゴリーに属する学習データで第２のＤＮＮを学習させる第２の学習ステップと、コンピュータが、第１及び第２の学習ステップを、終了条件が成立するまで交互に実行するステップとを含む。
【００１１】
より好ましくは、この学習方法はさらに、コンピュータが、サブネットワークの学習ステップの完了後に、第２のサブネットワークを他のサブネットワークから分離して、第１のカテゴリーの対象に対して使用されるカテゴリー依存のサブネットワークとして記憶媒体に記憶させるステップを含む。
【００１２】
本発明の第２の局面に係る学習方法は、複数カテゴリーに分類される対象について識別するＤＮＮにおいて、特定カテゴリーに使用されるカテゴリー依存のサブネットワークをコンピュータを用いて学習させる、ＤＮＮの学習方法である。この方法は、コンピュータが、複数カテゴリーに共通して使用されるカテゴリー独立なサブネットワークを記憶するステップと、コンピュータが、特定カテゴリー用のサブネットワークを記憶するステップと、コンピュータが、特定カテゴリー用のサブネットワークを初期化するステップと、コンピュータが、カテゴリー独立なサブネットワークの出力層のニューロンと、特定カテゴリー用のサブネットワークの入力層とを接続することによりＤＮＮを形成するステップと、コンピュータが、特定カテゴリーに属する学習データを用いて、かつカテゴリー独立なサブネットワークのパラメータを固定して、特定カテゴリー用のサブネットワークを学習させるステップとを含む。
【００１３】
本発明の第３の局面に係る記憶媒体は、上記したいずれかの方法により学習した、ＤＮＮのサブネットワークのパラメータを記憶した記憶媒体である。
【００１４】
本発明の第４の局面に係るコンピュータプログラムは、ＤＮＮの学習方法をコンピュータに実行させる。この学習方法は、複数カテゴリーに分類される対象について識別するＤＮＮにおいて、複数カテゴリーに共通に使用されるカテゴリー独立なサブネットワークを学習させる方法である。当該方法は、コンピュータが、記憶媒体内に、第１、第２及び第３のサブネットワークを記憶するステップと、コンピュータが、複数カテゴリーのうち、第１及び第２のカテゴリーに属する学習データで第１、第２及び第３のサブネットワークを学習させるサブネットワークの学習ステップとを含む。
【００１５】
サブネットワークの学習ステップは、コンピュータが、第１のサブネットワークの後段に第２のサブネットワークを接続して形成された第１のＤＮＮを、第１のカテゴリーに属する学習データで学習させ、第１のサブネットワークの後段に第３のサブネットワークを接続して形成した第２のＤＮＮを、第２のカテゴリーに属する学習データで学習させることにより、第１及び第２のＤＮＮの学習を行なうＤＮＮの学習ステップと、コンピュータが、ＤＮＮの学習ステップの完了後に、第１のサブネットワークを他のサブネットワークから分離して、カテゴリー独立なサブネットワークとして記憶媒体に記憶させるステップとを含む。
【図面の簡単な説明】
【００１６】
【図１】ＤＮＮの構成を模式的に示す図である。
【図２】日本語と英語について個別にＤＮＮの学習を行なう場合を説明するための模式図である。
【図３】本発明に至るＤＮＮの学習に関する着想を説明するＤＮＮの内部構成の模式図である。
【図４】本発明に至るＤＮＮの学習に関する着想を説明するＤＮＮの内部構成の模式図である。
【図５】本発明の各実施の形態に係るＤＮＮの基本的な構成を説明する模式図である。
【図６】本発明の各実施の形態における言語に依存しない独立なサブネットワーク（以下、「独立サブネットワーク」と呼ぶ。）と言語に依存したサブネットワーク(以下、「依存サブネットワーク」と呼ぶ。)との接続形態を示すブロック図である。
【図７】本発明の各実施の形態における独立サブネットワークと依存サブネットワークとの接続の具体的構成を示すブロック図である。
【図８】独立サブネットワークと依存サブネットワークとの流通形態及び接続形態を示す模式図である。
【図９】本発明の実施の形態に係るＤＮＮにおける独立サブネットワークと依存サブネットワークとの同時学習を実現するプログラムのフローチャートである。
【図１０】本発明の実施の形態に係るＤＮＮにおける独立サブネットワークを固定して依存サブネットワークの学習を行なう処理を実現するプログラムのフローチャートである。
【図１１】実施の形態に係るＤＮＮの学習処理を実行するコンピュータシステムの外観図である。
【図１２】図１１に示すコンピュータの内部構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。なお、以下の実施の形態は主に音声認識に関する例についてのものであるが、本発明はそのような実施の形態には限定されない。例えば画像認識にも適用できる。
【００１８】
［基本的な考え方］
上記したように、多言語音声についてＤＮＮの学習を行なう場合には、個別のＤＮＮをそれぞれの言語で別々に学習させる必要がある。しかしそのためには長時間を要するという問題がある。こうした問題を解決するために、以下のような仮定をおいて多言語音声のＤＮＮの学習を行なった。実験によれば、この仮定には十分な根拠があると思われる。
【００１９】
（１）別々の言語といっても、対象とするのは同じ音声である。したがって、多言語に共通な特徴、言い換えれば言語から独立した特徴は、ＤＮＮのどこか同じ場所で処理されているはずである。例えば母音、子音、破裂音及び摩擦音等の音素属性の検出等がこれにあたる。これらの処理は、いずれも入力に近い層で行なわれるものと仮定する。すなわち、図３に示すように、日本語ＤＮＮ６０及び英語ＤＮＮ６２のいずれにおいても、上記したような音素属性を処理するニューロン８０及び８２等は入力層に近い位置にあると仮定する。
【００２０】
（２）一方、図４を参照して、言語に依存した処理は出力層に近い層内のニューロン（例えばニューロン１００及び１０２等）で処理されると仮定する。例えば、音素属性から音素へのマッピング等の処理がこれにあたる。
【００２１】
（３）以上を踏まえると、図４の日本語ＤＮＮ６０及び英語ＤＮＮ６２の共通部分（ニューロン８０及び８２が集中している層）をそれ以後の層と分割することにより、図５に示すように、言語に依存しない独立サブネットワーク１２０が得られることになる。日本語ＤＮＮ６０及び英語ＤＮＮ６２のうち、残りの部分がそれぞれの言語に依存した依存サブネットワーク（たとえば日本語の依存サブネットワーク１２２及び英語の依存サブネットワーク１２４）となる。
【００２２】
このような仮定に基づくと、予め学習済みの独立サブネットワーク１２０を準備すれば、特定の言語に依存した依存サブネットワークのみの学習を行なって独立サブネットワーク１２０に接続するだけで、その言語を認識するためのＤＮＮを得ることができる。ＤＮＮ全体の学習を行なう場合と比較して、依存サブネットワークの層の数は小さくなるので、学習に要する時間が短くなることが期待できる。
【００２３】
具体的には、以下のような構成が考えられる。図６を参照して、独立サブネットワーク１２０と、依存サブネットワーク１２２及び１２４とを準備する。独立サブネットワーク１２０は、入力層１６０、隠れ層１６２及び出力層１６４を含む。依存サブネットワーク１２２及び１２４も同様、入力層１８０及び２００、隠れ層１８２及び２０２、並びに出力層１８４及び２０４を含む。独立サブネットワーク１２０の出力層１６４のニューロン数と、依存サブネットワーク１２２及び１２４の入力層１８０及び２００のニューロン数とは一致させる。
【００２４】
図７を参照して、例えば独立サブネットワーク１２０と依存サブネットワーク１２２との接続では、独立サブネットワーク１２０の出力層１６４の各ニューロンと、依存サブネットワーク１２２の入力層１８０の対応するニューロンとを互いに接続してニューロン対２２０，２２２，…，２２４とする。したがって、出力層１６４のニューロン数と入力層１８０のニューロン数とは一致させる必要がある。
【００２５】
学習時の学習データのフォワードプロパゲーションでは、独立サブネットワーク１２０側のニューロンの出力ｘｉＬＩをその入力層１８０側のニューロンへの入力ｙｉＬＤとする。なおここでｉはニューロンのインデックスを表し、「ＬＩ」は「Ｌａｎｇｕａｇｅ  Ｉｎｄｅｐｅｎｄｅｎｔ」の略で言語から独立したものであることを示し、「ＬＤ」は「Ｌａｎｇｕａｇｅ  Ｄｅｐｅｎｄｅｎｔ」の略で言語に依存することを示す。以下の説明でも同様である。
【００２６】
バックプロパゲーションでは、独立サブネットワーク１２０の出力層１６４内の各ニューロンの誤差信号ｅｉＬＩは、依存サブネットワーク１２２又は１２４の第２層目の隠れ層内の各ニューロンの誤差信号ｅｊＬＤから次の式により計算する。ただしｊはニューロンのインデックスである。
【００２７】
【数１】
2014229124.tif 000003
ただしこの式でｗｉｊは依存サブネットワーク１２２又は１２４内の入力層内のｉ番目のニューロンと、第２層目のｊ番目のニューロンとの接続に与えられた重みである。
【００２８】
本実施の形態に係るシステムでは、図６及び図７に示すような独立サブネットワーク１２０及び依存サブネットワーク１２２並びに依存サブネットワーク１２４を同時に学習させる。具体的には図９及び図１０のフローチャートを参照して後述するが、独立サブネットワーク１２０と依存サブネットワーク１２２とを接続したＤＮＮで日本語の学習データを用いて学習させる処理と、独立サブネットワーク１２０と依存サブネットワーク１２４とを接続したＤＮＮで英語の学習データを用いて学習させる処理とを、学習データを変更しながら交互に繰返す。この処理により、日英の両言語に共通した、言語に依存しない処理を行なうニューロンが独立サブネットワーク１２０に、日本語特有の処理を行なうニューロンが依存サブネットワーク１２２に、英語特有の処理を行なうニューロンが依存サブネットワーク１２４に、それぞれ集中するように、これらのサブネットワークが学習すると考えられる。
【００２９】
［効果］
上記したように独立サブネットワーク１２０と依存サブネットワーク１２２及び１２４とが得られることにより以下のような効果が得られる。図８を参照して、上記したように日本語の独立サブネットワーク１２０、英語の依存サブネットワーク１２２及び１２４の学習が終了すると、依存サブネットワーク１２２及び１２４を独立サブネットワーク１２０とセットにして流通させることもできるし、別々に流通させることもできる。
【００３０】
例えば独立サブネットワーク１２０と全く同じ独立サブネットワーク２３２が既にユーザの手元にあるものとする。このユーザは日本語の依存サブネットワーク１２２を入手して独立サブネットワーク２３２の後段に接続することにより、日本語の音声認識用のＤＮＮを構築できる。別のユーザが独立サブネットワーク１２０と全く同じ独立サブネットワーク２３０を保持していれば、このユーザは英語の依存サブネットワーク１２４を入手して独立サブネットワーク２３０の後段に接続することで、英語の音声認識用のＤＮＮを構築できる。
【００３１】
さらにまた、上記仮定からすると、独立サブネットワーク１２０は、言語がどのようなものであるかにかかわらず使用できるように学習するはずである。したがって、新たな言語のＤＮＮをこの独立サブネットワーク１２０を使用して以下のように短時間で学習できる。すなわち、独立サブネットワーク１２０を固定し（独立サブネットワーク１２０のパラメータをすべて不変として）、新たな言語（たとえば中国語）のための未学習の依存サブネットワーク（中国語用の依存サブネットワーク）２３４を独立サブネットワーク１２０の後段に接続する。そして、独立サブネットワーク１２０を固定して、中国語の学習データを用いて独立サブネットワーク１２０及び依存サブネットワーク２３４からなるＤＮＮの学習を行なう。この際、独立サブネットワーク１２０のパラメータは変化させず、依存サブネットワーク２３４の学習のみを行なう。こうした処理で、依存サブネットワーク２３４は中国語に適合したパラメータの値を持つように学習し、独立サブネットワーク１２０の後段に依存サブネットワーク２３４を接続することにより中国語の音声認識用のＤＮＮを構築できる。もちろん、この依存サブネットワーク２３４についても、独立サブネットワーク１２０とセットで流通させることも、別に流通させることもできる。あるユーザが独立サブネットワーク１２０と同じ独立サブネットワーク２３６を持っている場合、このユーザは依存サブネットワーク２３４のみを入手することで、独立サブネットワーク２３６と組合せ新たな中国語用のＤＮＮを構築できる。
【００３２】
依存サブネットワーク２３４の層の数は、独立サブネットワーク１２０と依存サブネットワーク２３４とを組合せたＤＮＮと比較して少ない。したがって依存サブネットワーク２３４の学習は、ＤＮＮ全体の学習を行なう場合と比較してはるかに少なくなる。その結果、新たな言語についてのＤＮＮを構築する必要が生じたときにも従来よりも短期間で必要なＤＮＮを準備できる。
【００３３】
［プログラム構成］
上記したシステムはコンピュータのハードウェアと、そのハードウェア上で実行されるコンピュータプログラムとにより実現可能である。図９に独立サブネットワーク１２０、日本語の依存サブネットワーク１２２及び英語の依存サブネットワーク１２４を学習させる処理を実現するプログラムのフローチャートを示し、図１０に追加で中国語の依存サブネットワーク２３４を学習させる処理を実現するプログラムのフローチャートを示す。
【００３４】
図９を参照して、独立サブネットワークと依存サブネットワーク（複数。この例では２つ）とを同時に学習させるプログラムは、独立サブネットワーク１２０を初期化するステップ２４０、依存サブネットワーク１２２を初期化するステップ２４２及び依存サブネットワーク１２４を初期化するステップ２４４とを含む。独立サブネットワーク１２０の初期化は、通常のＤＮＮと同じく、ＲＢＭ（Ｒｅｓｔｒｉｃｔｅｄ  Ｂｏｌｔｚｍａｎ  Ｍａｃｈｉｎｅ）により行なう。依存サブネットワーク１２２及び１２４の初期化は、独立サブネットワーク１２０の出力を入力として、独立サブネットワーク１２０と同様、ＲＢＭを用いて行なう。なお、独立サブネットワーク１２０の出力を用いず、依存サブネットワーク１２２及び１２４をそれぞれ独立サブネットワーク１２０と独立にＲＢＭにより初期化してもよい。
【００３５】
続いて、学習データを用いて独立サブネットワーク１２０並びに依存サブネットワーク１２２及び１２４の学習を同時に行なう。この例では、学習データは日本語と英語との双方の音声データ及び音素認識結果からなり、かつ日英の学習データはいずれも複数のセットに分割しておく。
【００３６】
このプログラムの、学習を行なう部分は、学習データの各セットに対して以下の処理２４８を実行するステップ２４６と、学習の結果得られた独立サブネットワーク１２０、日本語の依存サブネットワーク１２２及び英語の依存サブネットワーク１２４のパラメータを別々に出力し、図示しない記憶媒体にそれぞれ記憶させて処理を終了するステップ２５０とを含む。
【００３７】
処理２４８は、独立サブネットワーク１２０の後段に日本語の依存サブネットワーク１２２を接続するステップ２７０と、処理対象となっている学習セット内の日本語の各学習データに対して独立サブネットワーク１２０と依存サブネットワーク１２２とを接続して得られたＤＮＮの学習を実行するステップ２７２と、独立サブネットワーク１２０の後段に英語の依存サブネットワーク１２４を接続するステップ２７６と、処理対象となっている学習データセット内の英語の各学習データを用い、この学習データが終了するまで、独立サブネットワーク１２０と依存サブネットワーク１２４とを接続して得られたＤＮＮの学習を行なうステップ２７８とを含む。
【００３８】
図９のプログラムを実行することにより、図６に示すように、独立サブネットワーク１２０＋依存サブネットワーク１２２と、独立サブネットワーク１２０＋依存サブネットワーク１２４との２つのＤＮＮの学習がそれぞれ日本語と英語とのデータを用いて交互に実行される。この際、独立サブネットワーク１２０は日本語と英語の双方のデータを用いて学習し、日本語の依存サブネットワーク１２２は日本語のデータを用いて学習し、英語の依存サブネットワーク１２４は英語のデータを用いて学習する。その結果、図５に示すように、日本語に特有の処理に関連するニューロンは日本語用の依存サブネットワーク１２２に、英語に特有の処理に関連するニューロンは英語用の依存サブネットワーク１２２に、言語に独立したニューロンは独立サブネットワーク１２０に、それぞれ集中することになる。
【００３９】
図１０に、既に独立サブネットワーク１２０が得られた後に、新たな言語（たとえば中国語）の依存サブネットワーク（図８に示す依存サブネットワーク２３４）の学習を行なうためのプログラムの制御構造をフローチャート形式で示す。
【００４０】
図１０を参照して、このプログラムは、独立サブネットワーク１２０の後段に依存サブネットワーク２３４を接続して新たなＤＮＮを得るステップ３００と、独立サブネットワーク１２０＋依存サブネットワーク２３４からなるＤＮＮの初期化を公知の方法で実行するステップ３０２と、中国語の各学習データを用いて、独立サブネットワーク１２０のパラメータを固定してＤＮＮの学習を行なうステップ３０４と、学習の終了後に、依存サブネットワーク２３４を独立サブネットワーク１２０と別に出力し、図示しない記憶媒体に記憶させるステップ３０８とを含む。
【００４１】
このプログラムを実行することにより、独立サブネットワーク１２０に中国語用の依存サブネットワーク２３４を接続したＤＮＮの学習を行なうことができる。独立サブネットワーク１２０についてはパラメータが固定されているので、実質的にはこの学習は依存サブネットワーク２３４のみが対象である。後述する実験では、このようにして学習した依存サブネットワーク２３４を独立サブネットワーク１２０の後段に接続しても、最初から中国語用の学習を行なったＤＮＮと同等の性能が得られた。詳細については後述の実験結果で述べる。
【００４２】
［ハードウェア構成］
上記実施の形態に係るシステムは、コンピュータハードウェアと、そのコンピュータハードウェア上で実行される上記したコンピュータプログラムとにより実現できる。図１１はこのコンピュータシステム３３０の外観を示し、図１２はコンピュータシステム３３０の内部構成を示す。
【００４３】
図１１を参照して、このコンピュータシステム３３０は、メモリポート３５２及びＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ドライブ３５０を有するコンピュータ３４０と、キーボード３４６と、マウス３４８と、モニタ３４２とを含む。
【００４４】
図１２を参照して、コンピュータ３４０は、メモリポート３５２及びＤＶＤドライブ３５０に加えて、ＣＰＵ（中央処理装置）３５６と、ＣＰＵ３５６、メモリポート３５２及びＤＶＤドライブ３５０に接続されたバス３６６と、ブートアッププログラム等を記憶する読出専用メモリ（ＲＯＭ）３５８と、バス３６６に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ（ＲＡＭ）３６０とを含む。コンピュータシステム３３０はさらに、他端末との通信を可能とするネットワークへの接続を提供するネットワークインターフェイス（Ｉ／Ｆ）３４４を含む。
【００４５】
コンピュータシステム３３０を上記した各実施の形態のシステムの各機能部として機能させるためのコンピュータプログラムは、ＤＶＤドライブ３５０又はメモリポート３５２に装着されるＤＶＤ３６２又はリムーバブルメモリ３６４に記憶され、さらにハードディスク３５４に転送される。又は、プログラムは図示しないネットワークを通じてコンピュータ３４０に送信されハードディスク３５４に記憶されてもよい。プログラムは実行の際にＲＡＭ３６０にロードされる。ＤＶＤ３６２から、リムーバブルメモリ３６４から、又はネットワークを介して、直接にＲＡＭ３６０にプログラムをロードしてもよい。
【００４６】
このプログラムは、コンピュータ３４０を、上記実施の形態に係るシステムの各機能部として機能させるための複数の命令からなる命令列を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ３４０上で動作するオペレーティングシステム若しくはサードパーティのプログラム、又は、コンピュータ３４０にインストールされる各種プログラミングツールキット又はプログラムライブラリにより提供される。したがって、このプログラム自体はこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット内の適切なプログラムツールを呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。もちろん、プログラムのみで必要な機能をすべて提供するようにしてもよい。
【００４７】
図５〜図９に示す本実施の形態では、学習データ及び各サブネットワークのパラメータ等は、ＲＡＭ３６０又はハードディスク３５４に記憶される。サブネットワークのパラメータはさらに、ＵＳＢメモリ等のリムーバブルメモリ３６４に記憶されてもよいし、ネットワーク等の通信媒体を介して他のコンピュータに送信されてもよい。
【００４８】
コンピュータプログラムを実行する際のコンピュータシステム３３０の動作は周知である。したがってここではその詳細については繰返さない。
【００４９】
［実験］
上記仮定に基づいたシステムの有効性について、実験により検証した。実験は、日本語、英語及び中国語の音声データに対してフレームレベルでの音素の識別性能について行なった。音声データは、既にスマートフォン等で利用されている音声翻訳アプリケーションから音声翻訳サーバに送信されてくるデータを蓄積したものである。
【００５０】
音響パラメータとしては１２次までのＭＦＣＣ係数、対数音声パワー並びにそれらのフレーム間でのΔ（デルタ）及びΔΔである。すなわち、１フレームあたり３９次元の特徴量を用いた。フレーム長は２０ミリ秒、フレームシフト量は１０ミリ秒である。１フレームあたり、処理対象のフレームと、その前後５フレームずつ、合計１１フレームの特徴量からなる４２９次元の特徴量ベクトルをＤＮＮへの入力として用いた。
【００５１】
日本語、英語及び中国語の音素数はそれぞれ２６、３９及び３０である。各言語に対するＤＮＮの出力層のニューロン数はこれら音素数に合わせた。
【００５２】
学習データは各言語について４０，０００発話であり、約２５時間にわたる音声データである。評価のためのデータは１，０００個とした。各発話には端末番号が付されているが、評価データの端末番号は、学習データには含まれていなかった。
【００５３】
プレ・学習段階でのＲＢＭパラメータ推定の学習率を０．００５に固定した。学習の繰返し数（エポック数）は１００とした。ファイン・チューニング段階では、学習率を０．００１からスタートし、開発データに対する誤り率が増加すると学習率を半分に変更した。開発データ数は２，０００である。開発データ内の端末番号は、学習データにも評価データにも含まれなかった。ＲＢＭとＤＮＮは１２８のミニ・バッチサイズで学習した。
【００５４】
ベースライン：
従来の手法で言語ごとに学習したＤＮＮによる音素識別性能を、本願発明によるＤＮＮの評価のためのベースラインとした。ＤＮＮの層数は、いずれの場合も入力層を別として２層、４層、６層の場合を評価した。各隠れ層内のニューロン数はいずれの場合も５１２である。プレ・学習段階で、各言語のＤＮＮを日本語、英語及び中国語の発話データで別々に初期化した。各ニューロンについては、いずれも出力関数としてシグモイド関数を用いた。得られたＤＮＮの音素識別率をテーブル１に示す。
【００５５】
【表１】
2014229124.tif 000004
テーブル１から、層の数を多くすると言語を問わず識別率が向上することが分かる。
【００５６】
さらに、上記実施の形態について説明したＤＮＮの学習方法にしたがって日本語及び英語の学習データを用い、独立サブネットワークと、日本語用の依存サブネットワーク及び英語用の依存サブネットワークとの学習を同時に行なった。ここではこれらをＬＩＪｐ，Ｅｎ、ＬＤＪｐ及びＬＤＥｎと呼ぶ。この結果、日本語用のＤＮＮ（ＬＩＪｐ，Ｅｎ→ＬＤＪｐ）と英語用のＤＮＮ（ＬＩＪｐ，Ｅｎ→ＬＤEn）とが得られたことになる。同様の方法で、日本語と中国語の学習データを用いた学習で、独立サブネットワークＬＩＪｐ，Ｃｈ、ＬＤＪｐ及びＬＤＣｈを得た。実験では、ＬＩの隠れ層及び出力層のニューロンと、ＬＤの隠れ層のニューロンとについては、出力関数としてシグモイド関数を用いた。ＬＤの出力層のニューロンとしてはソフトマックス関数を用いた。各隠れ層内のニューロン数は５１２であり、これはベースラインのものと同じである。ＤＮＮの層数は６である。
【００５７】
２つのＤＮＮ（ＬＬＪｐ、Ｅｎ→ＬＤＪｐ及びＬＬＪｐ，Ｅｎ→ＬＤＥｎ）による音素認識精度をテーブル２に示し、他のＤＮＮ（ＬＩＪＰ，Ｃｈ→ＬＤＪｐ及びＬＩＪｐ，Ｃｈ→ＬＤｃｈ）による音素認識精度をテーブル３に示す。
【００５８】
【表２】
2014229124.tif 000005
【００５９】
【表３】
2014229124.tif 000006
【００６０】
テーブル２及びテーブル３から、依存サブネットワークに２層以上を割り当てた場合には、ベースラインとほぼ同じ性能が得られたことが分かる。最もすぐれた性能を示したのは、ＬＩとＬＤとに同じ数の層を割り当てたときであったが、その差はわずかなものであった。以上から、一般的にいって、上記実施の形態にしたがってＤＮＮを独立サブネットワークと依存サブネットワークとに分けて複数個の言語について同時に学習したときには、最初から各言語について個別のＤＮＮの学習を行なった場合よりよい性能を得られると考えられる。
【００６１】
最後に、独立サブネットワークに、その独立サブネットワークの学習に使用されなかった言語の依存サブネットワークを接続し、独立サブネットワークのパラメータを固定して学習して得られたＤＮＮの音素識別性能を調べた。具体的には、ＤＮＮ（ＬＩＪｐ，Ｅｎ→ＬＤＣｈ）と、ＤＮＮ（ＬＩＪｐ，Ｃｈ→ＬＤＥｎ）との２つのＤＮＮについてそれぞれ中国語と英語の音素識別性能を調べた。結果をテーブル４に示す。
【００６２】
【表４】
2014229124.tif 000007
【００６３】
テーブル４から分かるように、上記ＤＮＮで実質的には中国語の依存サブネットワークと英語の依存サブネットワークとしか学習がされなかったにもかかわらず、得られたＤＮＮの音素識別性能は、ＬＤが１層しかない場合を除き、ベースラインの性能と遜色ないものである。
【００６４】
以上の実験から、本発明での仮定は実際に正しい可能性が大であることが分かる。すなわち、複数の言語の学習データを用いて独立サブネットワークと各言語の依存サブネットワークとを同時に学習させることで、独立サブネットワークには、言語に依存しない処理に関連するニューロンが集中すること及び各言語の依存サブネットワークには、その言語の音声処理に特に関連するニューロンが集中するということができる。したがって、この独立サブネットワークを、学習に用いられなかった言語の依存サブネットワークと組合せてＤＮＮを構成した場合にも、十分な識別性能が得られると考えられる。すなわち、独立サブネットワークが得られれば、新たな言語については依存サブネットワークの学習のみを行なって、得られた依存サブネットワークを独立サブネットワークの後段に接続すれば、最初からＤＮＮの学習を行なったものとほぼ同程度の識別性能を得ることができる。依存サブネットワークの層数はＤＮＮ全体の層の数より小さくできるので、その学習に要する時間は、ＤＮＮ全体を学習させるよりもはるかに短くできる。
【００６５】
なお、上記実施の形態及び実験は、言語の音素識別に関するものである。この場合、ＤＮＮの出力層のニューロン数は、各言語の音素数と一致させる。しかし本発明は、そのような実施の形態には限定されない。音声認識のための音響モデルとして、隠れマルコフモデル（ＨＭＭ）がよく使用されている。そのようなＨＭＭに代えてＤＮＮを使用することもできる。その場合には、ＤＮＮにより隠れ状態を推定することになるため、ＤＮＮの出力層のニューロンの数は、想定される隠れ状態の数と同じ数とする。
【００６６】
＜変形例＞
上記した実施の形態は音声処理に関するものであった。しかし、本発明は音声処理のみに適用可能なわけではない。例えば、画像認識についても同様に適用できる。音声の場合には、言語という明確な区別があり、従来は言語ごとにＤＮＮの学習を行なってきた。したがって実施の形態のように、言語に依存しない部分のみを抽出して独立サブネットワークとすると、多言語について共通に使用できるという有利な点がある。これに対して画像認識の場合にも、明確に対象を区別できるカテゴリーがあれば、上記言語に代えてそれらカテゴリーごとに、本願発明を用いて画像認識のためのＤＮＮの学習を効率的に行なえる。
【００６７】
例えば、画像認識の基礎となるエッジの抽出等、画像の基本的な特徴の検出は、対象の性質にかかわらず共通に行なわれる。一方、画像内の具体的なオブジェクトの識別は、より上位の特徴に基づいて行なわれると考えられる。したがって、画像内のオブジェクトの識別のためのＤＮＮについても、画像のカテゴリーから独立したサブネットワーク（独立サブネットワーク）と、画像のカテゴリーごとに準備される、カテゴリーに依存したサブネットワーク（依存サブネットワーク）とから構築できると考えられる。
【００６８】
この場合の学習は、予め複数のカテゴリーに属するオブジェクトが含まれる画像を準備し、それらのための個別の依存サブネットワークと、独立サブネットワークとを準備する。そして、独立サブネットワークに、各カテゴリー用の依存サブネットワークを接続してそのカテゴリーに属する画像についてのＤＮＮの学習を行なう。一定量の学習が終了したら、カテゴリー用の依存サブネットワークを別のカテゴリー用のものに代え、そのカテゴリーに属する画像でＤＮＮの学習を行なう。こうした学習を繰返し行なうことで、画像のカテゴリーから独立した独立サブネットワークと、各カテゴリーの画像のための依存サブネットワークとが得られる。独立ネットワークのパラメータを固定することで、学習に使用されなかったカテゴリーの画像に対するサブネットワークの学習が可能であることも上記実施の形態の場合と同様である。そのための学習時間も少なくて済む。
【００６９】
したがって本発明は、画像内のオブジェクトの識別処理のためのＤＮＮの学習にも有効に適用できる。
【００７０】
さらに、本発明は音声又は画像の識別処理に対してのみ有効なわけではない。同種のデータ内に複数のカテゴリーが想定でき、それらデータがそのカテゴリーに分類できるようなものであれば、どのようなデータにも適用できる。
【００７１】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。
【符号の説明】
【００７２】
３０  ディープ・ニューラルネットワーク（ＤＮＮ）
６０  日本語ＤＮＮ
６２  英語ＤＮＮ
８０，８２，１００，１０２  ニューロン
１２０，２３０，２３２，２３６  独立サブネットワーク
１２２  日本語の依存サブネットワーク
１２４  英語の依存サブネットワーク
１６０，１８０，２００  入力層
１６２，１８２，１８４  隠れ層
１６４，１８４，２０４  出力層
２２０，２２２，２２４  ニューロン対
２３４  中国語の依存サブネットワーク
【図１】
2014229124.tif 000008
【図２】
2014229124.tif 000009
【図３】
2014229124.tif 000010
【図４】
2014229124.tif 000011
【図５】
2014229124.tif 000012
【図６】
2014229124.tif 000013
【図７】
2014229124.tif 000014
【図８】
2014229124.tif 000015
【図９】
2014229124.tif 000016
【図１０】
2014229124.tif 000017
【図１１】
2014229124.tif 000018
【図１２】
2014229124.tif 000019