(57)【要約】      （修正有）【課題】認識性能を向上させるニューラルネットワーク装置を提供する。【解決手段】ニューラルネットワーク処理装置は、学習可能なパラメータによる非線形な変換を構成要素として、対数レイヤ処理部２４を持つニューラルネットワークを構築することで、認識性能を向上させる、ニューラルネットワークの規模に制限がある場合でも、高い性能を得る。【選択図】図１
2022001968.tif 000002
【特許請求の範囲】
【請求項１】
学習可能なパラメータを持つ非線形な関数により変換を行う非線形変換レイヤ処理部を備える
ニューラルネットワーク装置。
【請求項２】
前記非線形変換レイヤ処理部の非線形な関数による変換は、対数関数による変換である
請求項１に記載のニューラルネットワーク装置。
【請求項３】
前記非線形変換レイヤ処理部の非線形な関数による変換は、複数の非線形な関数の組み合わせによる変換である
請求項１に記載のニューラルネットワーク装置。
【請求項４】
入力信号が入力される入力部をさらに備え、
前記入力部には、信号の大きさに偏りがある前記入力信号が入力される
請求項１に記載のニューラルネットワーク装置。
【請求項５】
プーリングレイヤ処理部をさらに備え、
前記非線形変換レイヤ処理部の処理は、前記プーリングレイヤ処理部による処理の後に行われる
請求項１に記載のニューラルネットワーク装置。
【請求項６】
畳み込みレイヤ処理部をさらに備え、
前記非線形変換レイヤ処理部の処理は、前記畳み込みレイヤ処理部による処理の前に行われる
請求項１に記載のニューラルネットワーク装置。
【請求項７】
前記非線形変換レイヤ処理部の非線形な関数による変換は、活性化関数として行われる
請求項１に記載のニューラルネットワーク装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ニューラルネットワーク装置に関し、特に、認識性能を向上させることができるようにしたニューラルネットワーク装置に関する。
【背景技術】
【０００２】
例えば画像やオーディオ等の様々な信号の自動認識技術（識別、検出等）について考える。ここでは、認識のための方法としてニューラルネットワークについて考えるものとする（例えば、非特許文献１参照）。
【０００３】
ある信号を入力とし、その信号を対象とした認識処理の結果を出力するニューラルネットワーク処理装置は、例えば畳み込みレイヤ処理部、活性化レイヤ処理部、プーリングレイヤ処理部、畳み込みレイヤ処理部、活性化レイヤ処理部、プーリングレイヤ処理部、畳み込みレイヤ処理部、および活性化レイヤ処理部が入力側から出力側まで順番に設けられた構成とされる。
【０００４】
このようなニューラルネットワーク処理装置は、ある信号のデータを入力とし、最初の畳み込みレイヤ処理部から、最後の活性化レイヤ処理部までの８つの構成要素でデータ変換を行い、入力データに対する認識結果を出力する。
【０００５】
一般にニューラルネットワークの規模（構成要素の数や係数の数）を大きくすればするほど、複雑な入出力関係を実現できるようになるとされている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, The MIT Press, 2016
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、ニューラルネットワークに入力される信号の大きさには、偏りがある場合がある。
【０００８】
例えば様々な環境音の中から、オフィスの環境音であるかどうかをニューラルネットワークを用いて識別することを考える。
【０００９】
このニューラルネットワークには、電車内や航空機内の環境音のように非常に大きな信号が入力されることもあるが、一方で識別対象であるオフィスの環境音の信号は小さいことがほとんどである。
【００１０】
オフィスの環境音を精度良く識別するためには、小さい信号をより詳細に分析する必要がある。このように、高い認識性能を得るためには入力信号の大きさの偏りに対応するようにニューラルネットワークを構築および学習する必要がある。
【００１１】
他にも、マイクロホンを用いたユーザインターフェース（マイクロホンを叩く、塞ぐ等）のために、マイクロホンに入力される信号をニューラルネットワークで検出する場合にも、入力信号の大きさの偏りが現れる。
【００１２】
例えばマイクロホンを叩いたときには、他の環境音に比べて非常に大きな信号がマイクロホンに入力される。また、マイクロホンを塞いだときには、他の環境音に比べて非常に小さな信号がマイクロホンに入力される。これらを個別または同時に検出する場合にも、入力信号の大きさの偏りに対応するようにニューラルネットワークを構築および学習することが求められる。
【００１３】
しかしながら、入力信号の大きさの偏りに対応するような構成要素を持ったニューラルネットワークは、現状では存在しない。また、入力信号の大きさの偏りに対応するためには、ニューラルネットワークの規模を大きくして複雑な入出力関係を実現できるようにする必要があり、ハードウェアの制約等でニューラルネットワークの規模に制限がある場合には、高い性能を得ることは困難である。
【００１４】
本技術は、このような状況に鑑みてなされたものであり、認識性能を向上させることができるようにするものである。
【課題を解決するための手段】
【００１５】
本技術の一側面のニューラルネットワーク装置は、学習可能なパラメータを持つ非線形な関数により変換を行う非線形変換レイヤ処理部を備える。
【００１６】
本技術の一側面においては、学習可能なパラメータを持つ非線形な関数により変換を行う非線形変換レイヤ処理部により変換が行われる。
【図面の簡単な説明】
【００１７】
【図１】ニューラルネットワーク処理装置の構成例を示す図である。
【図２】認識処理を説明するフローチャートである。
【図３】ニューラルネットワーク学習装置の構成例を示す図である。
【図４】学習処理を説明するフローチャートである。
【図５】対数レイヤの入力および出力の関係式とグラフを示す図である。
【図６】ユーザによる操作について説明する図である。
【図７】各操作の検出成功率について説明する図である。
【図８】反比例レイヤの入力および出力の関係式とグラフを示す図である。
【図９】冪レイヤの入力および出力の関係式とグラフを示す図である。
【図１０】コンピュータの構成例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本技術を適用した実施の形態について説明する。
【００１９】
〈第１の実施の形態〉
〈ニューラルネットワーク処理装置の構成例〉
本技術は、学習可能なパラメータによる非線形な変換を構成要素として持つニューラルネットワークを構築することで、認識性能を向上させることができるようにするものである。すなわち、ニューラルネットワークの規模に制限がある場合でも、高い性能を得ることができるようにするものである。
【００２０】
なお、上記の非線形な変換は、例えば対数関数、冪関数、指数関数、三角関数、双曲線関数、その他の線形または非線形な関数の１つ若しくは複数、およびそれらの四則演算や合成等によって得られる関数を用いて行われるようにすることができる。
【００２１】
本技術のニューラルネットワークは、入力信号の大きさの偏りに対応するような構成要素を持つようになされている。このニューラルネットワークは、学習可能なパラメータによる非線形な変換を構成要素として持つ。
【００２２】
このような非線形な変換の構成要素が入力信号の大きさの偏りに対して最適なスケール変換を行うことで、ニューラルネットワークは入力信号の大きさが集中している部分をより詳細に分析できるようになる。
【００２３】
これにより、小規模のニューラルネットワークであっても、入力信号の大きさの偏りに対応でき、高い認識性能が得られるようになる。
【００２４】
以下では、本技術を適用したニューラルネットワークとして、対数関数を用いた非線形変換を行う「対数レイヤ」を構成要素として持つニューラルネットワークを例として挙げながら、本技術を適用したニューラルネットワークの特徴について説明する。
【００２５】
図１は、本技術を適用したニューラルネットワーク処理装置の一実施の形態の構成例を示す図である。
【００２６】
図１に示すニューラルネットワーク処理装置１１は、ニューラルネットワークにより構成されるものであり、畳み込みレイヤ処理部２１、活性化レイヤ処理部２２、プーリングレイヤ処理部２３、対数レイヤ処理部２４、畳み込みレイヤ処理部２５、活性化レイヤ処理部２６、プーリングレイヤ処理部２７、畳み込みレイヤ処理部２８、および活性化レイヤ処理部２９を有している。
【００２７】
特にニューラルネットワーク処理装置１１は、一般的な構成に加えて、対数レイヤ処理部２４、つまり対数レイヤを導入したニューラルネットワークとなっている。
【００２８】
ニューラルネットワーク処理装置１１は、入力されたデータである入力データに対してニューラルネットワークの各レイヤ（階層）の処理を施し、入力データに対する所定の認識対象についての認識結果を出力する。ここでは、畳み込みレイヤ処理部２１乃至活性化レイヤ処理部２９がニューラルネットワークの各レイヤとなっている。
【００２９】
畳み込みレイヤ処理部２１は、供給された入力データに対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部２２に供給する。
【００３０】
活性化レイヤ処理部２２は、畳み込みレイヤ処理部２１から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果をプーリングレイヤ処理部２３に供給する。
【００３１】
プーリングレイヤ処理部２３は、活性化レイヤ処理部２２から供給された処理結果に対してプーリングレイヤ処理を行い、その処理結果を対数レイヤ処理部２４に供給する。
【００３２】
対数レイヤ処理部２４は、プーリングレイヤ処理部２３から供給された処理結果に対して対数関数を用いた非線形変換処理を対数レイヤ処理として行い、その処理結果を畳み込みレイヤ処理部２５に供給する。
【００３３】
畳み込みレイヤ処理部２５は、対数レイヤ処理部２４から供給された処理結果に対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部２６に供給する。
【００３４】
活性化レイヤ処理部２６は、畳み込みレイヤ処理部２５から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果をプーリングレイヤ処理部２７に供給する。
【００３５】
プーリングレイヤ処理部２７は、活性化レイヤ処理部２６から供給された処理結果に対してプーリングレイヤ処理を行い、その処理結果を畳み込みレイヤ処理部２８に供給する。
【００３６】
畳み込みレイヤ処理部２８は、プーリングレイヤ処理部２７から供給された処理結果に対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部２９に供給する。
【００３７】
活性化レイヤ処理部２９は、畳み込みレイヤ処理部２８から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果を、入力データに対する認識対象についての認識結果として出力する。
【００３８】
〈認識処理の説明〉
次に、図１に示したニューラルネットワーク処理装置１１の動作について説明する。
【００３９】
すなわち、以下、図２のフローチャートを参照して、ニューラルネットワーク処理装置１１による認識処理について説明する。
【００４０】
ステップＳ１１において畳み込みレイヤ処理部２１は、供給された入力データに対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部２２に供給する。
【００４１】
ステップＳ１２において活性化レイヤ処理部２２は、畳み込みレイヤ処理部２１から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果をプーリングレイヤ処理部２３に供給する。
【００４２】
ステップＳ１３においてプーリングレイヤ処理部２３は、活性化レイヤ処理部２２から供給された処理結果に対してプーリングレイヤ処理を行い、その処理結果を対数レイヤ処理部２４に供給する。
【００４３】
ステップＳ１４において対数レイヤ処理部２４は、プーリングレイヤ処理部２３から供給された処理結果に対して対数レイヤ処理を行い、その処理結果を畳み込みレイヤ処理部２５に供給する。
【００４４】
ステップＳ１５において畳み込みレイヤ処理部２５は、対数レイヤ処理部２４から供給された処理結果に対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部２６に供給する。
【００４５】
ステップＳ１６において活性化レイヤ処理部２６は、畳み込みレイヤ処理部２５から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果をプーリングレイヤ処理部２７に供給する。
【００４６】
ステップＳ１７においてプーリングレイヤ処理部２７は、活性化レイヤ処理部２６から供給された処理結果に対してプーリングレイヤ処理を行い、その処理結果を畳み込みレイヤ処理部２８に供給する。
【００４７】
ステップＳ１８において畳み込みレイヤ処理部２８は、プーリングレイヤ処理部２７から供給された処理結果に対して畳み込みレイヤ処理を行い、その処理結果を活性化レイヤ処理部２９に供給する。
【００４８】
ステップＳ１９において活性化レイヤ処理部２９は、畳み込みレイヤ処理部２８から供給された処理結果に対して活性化レイヤ処理を行い、その処理結果を、入力データに対する認識対象についての認識結果として出力し、認識処理は終了する。
【００４９】
以上のようにしてニューラルネットワーク処理装置１１は、ニューラルネットワークの各レイヤにおいて入力されたデータを変換する処理を行い、その処理結果を認識対象についての認識結果として出力する。このとき、少なくとも１つのレイヤにおいて非線形な変換処理を行うようにすることで、小規模のニューラルネットワークであっても高い認識性能を得ることができる。すなわち、認識性能を向上させることができる。
【００５０】
〈ニューラルネットワーク学習装置の構成例〉
また、ニューラルネットワーク処理装置１１を学習により生成するニューラルネットワーク学習装置は、例えば図３に示すように構成される。なお、図３において図１における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【００５１】
図３に示す例では、ニューラルネットワーク学習装置５１は、データベース５２から入力された信号のデータに基づいて、学習によりニューラルネットワーク処理装置１１を生成（構築）する。
【００５２】
ニューラルネットワーク学習装置５１は、入力データ選択部６１および係数更新部６２を有している。
【００５３】
入力データ選択部６１は、データベース５２に記録されている信号のデータのなかから、学習に用いるものを選択し、係数更新部６２およびニューラルネットワーク処理装置１１に供給する。
【００５４】
係数更新部６２は、入力データ選択部６１からのデータの供給、およびニューラルネットワーク処理装置１１からの認識結果の供給に応じて、ニューラルネットワークの係数、すなわちニューラルネットワーク処理装置１１のレイヤでの処理に用いられる係数（パラメータ）を更新し、ニューラルネットワーク処理装置１１に供給する。
【００５５】
図３では、ニューラルネットワーク処理装置１１、ニューラルネットワーク学習装置５１、およびデータベース５２によって、ニューラルネットワーク処理装置１１を学習する学習システムが構成されている。
【００５６】
〈学習処理の説明〉
次に、図３に示した学習システムにより行われる学習処理について説明する。すなわち、以下、図４のフローチャートを参照して、学習システムにより行われる学習処理について説明する。
【００５７】
ステップＳ４１において、入力データ選択部６１は、データベース５２に記録されている信号のデータのなかから学習に用いる入力データを選択する入力データ選択を行い、その結果選択された入力データを係数更新部６２、およびニューラルネットワーク処理装置１１の畳み込みレイヤ処理部２１に供給する。
【００５８】
このようにしてニューラルネットワーク処理装置１１の畳み込みレイヤ処理部２１に入力データが供給されると、ステップＳ４２乃至ステップＳ５０の処理が行われるが、これらの処理は、図２のステップＳ１１乃至ステップＳ１９の処理と同様であるので、その説明は省略する。
【００５９】
すなわち、ステップＳ４２乃至ステップＳ５０では、ニューラルネットワーク処理装置１１における図１中、最も左側、つまり入力側にある畳み込みレイヤ処理部２１から、図１中、最も右側、つまり出力側にある活性化レイヤ処理部２９まで、９個の構成要素（レイヤ）でデータに対する変換処理（データ変換）が行われる。
【００６０】
そして、活性化レイヤ処理部２９での処理で得られたデータが、入力データに対する認識対象の認識結果として係数更新部６２に供給される。
【００６１】
なお、ニューラルネットワーク処理装置１１では、畳み込みレイヤおよび対数レイヤ、すなわち畳み込みレイヤ処理部２１、対数レイヤ処理部２４、畳み込みレイヤ処理部２５、および畳み込みレイヤ処理部２８では、係数更新部６２から供給された係数が用いられて畳み込みレイヤ処理や対数レイヤ処理、つまりデータ変換の処理（変換処理）が行われるものとする。
【００６２】
ステップＳ５１において係数更新部６２は、入力データ選択部６１から供給された入力データと、ニューラルネットワーク処理装置１１の活性化レイヤ処理部２９から供給された認識結果とに基づいて係数の更新を行う。
【００６３】
ステップＳ５１では、入力データと認識結果とが所望の関係となるように、すなわち所望の入出力関係が実現されるように、係数更新部６２により、ニューラルネットワークの係数が更新される。ここでは、３つの畳み込みレイヤで用いられる係数、つまり畳み込みレイヤ処理部２１、畳み込みレイヤ処理部２５、および畳み込みレイヤ処理部２８での畳み込みレイヤ処理で用いられる係数と、対数レイヤ処理部２４での対数レイヤ処理で用いられる係数（パラメータ）とが更新される。係数の更新は、例えば誤差逆伝播法により行われるようにすることができる。
【００６４】
係数の更新が行われると、係数更新部６２は、更新後の係数をニューラルネットワーク処理装置１１の各部に供給する。畳み込みレイヤ処理部２１、対数レイヤ処理部２４、畳み込みレイヤ処理部２５、および畳み込みレイヤ処理部２８は、保持している係数を、係数更新部６２から新たに供給された係数に置き換えて、係数を更新する。
【００６５】
ステップＳ５２において係数更新部６２は、学習終了の条件を満たすか否かを判定する。
【００６６】
例えばステップＳ４１乃至ステップＳ５１の処理が規定回数だけ繰り返し行われた場合、学習終了の条件が満たされたとされる。なお、学習終了の条件は、所望の入出力関係と、実際の入出力関係との誤差が閾値以下であるなど、どのような条件であってもよい。
【００６７】
ステップＳ５２において学習終了の条件を満たさないと判定された場合、処理はステップＳ４１に戻り、上述した処理が繰り返し行われる。
【００６８】
これに対して、ステップＳ５２において学習終了の条件を満たすと判定された場合、学習処理は終了する。
【００６９】
この場合、最終的なニューラルネットワーク処理装置１１が学習により得られたことになり、ニューラルネットワーク処理装置１１は、係数更新部６２から供給され、最終的に保持している係数を用いて入力データに対する認識処理を行う。
【００７０】
このような学習により得られたニューラルネットワーク処理装置１１を用いることで、データベース５２に保持されている入力データに含まれていない未知の入力データに対しても、正しい認識結果を出力することができるようになる。
【００７１】
以上のようにして学習システムは、ニューラルネットワーク処理装置１１で用いる係数を更新することで、ニューラルネットワーク処理装置１１を学習する。
【００７２】
特に対数レイヤなど、非線形な変換処理を行うレイヤの係数を含む１または複数の係数を学習により得ることで、小規模のニューラルネットワークであっても高い認識性能を得ることができるようになる。すなわち、学習で得られるニューラルネットワーク処理装置１１の認識性能を向上させることができる。
【００７３】
〈対数レイヤの導入について〉
ここで、ニューラルネットワークに対数レイヤを導入することによる認識性能の向上について説明する。
【００７４】
図５に対数レイヤ（対数レイヤ処理部２４）の入力および出力の関係式とグラフを示す。なお、図５において横軸は対数レイヤの入力ｘを示しており、縦軸は対数レイヤの出力ｙを示している。
【００７５】
この例では、対数レイヤ（対数レイヤ処理部２４）は、入力ｘが負の場合、つまりｘ＜０である場合には、出力ｙとして０を出力する。
【００７６】
これに対して、対数レイヤ（対数レイヤ処理部２４）は、入力ｘが正の場合、つまりｘ≧０である場合には、入力ｘが大きくなるにつれて、入力ｘに対する出力ｙの変化の割合が小さくなっていくような関数の値を出力ｙとして出力する。
【００７７】
ここでは、所定の係数（パラメータ）をｐとして、出力ｙは、出力ｙ＝(log(x+e-p)+p)/(log(1+e-p)+p)とされる。なお、学習時にはこの係数ｐが係数更新部６２により更新（学習）される。
【００７８】
この例では、特に小さい正の入力ｘに対して、出力ｙの変化の割合が非常に大きくなっている。また、係数（パラメータ）ｐを有し、この係数ｐを変化させることにより、図５に示すように入力ｘと出力ｙの関係を変えることができる。
【００７９】
特に、ここでは折れ線L11は係数p＝-4である場合における入力ｘと出力ｙの関係を示しており、曲線L12は係数p＝-2である場合における入力ｘと出力ｙの関係を示しており、曲線L13は係数p＝0である場合における入力ｘと出力ｙの関係を示している。
【００８０】
同様に、曲線L14は係数p＝2である場合における入力ｘと出力ｙの関係を示しており、曲線L15は係数p＝4である場合における入力ｘと出力ｙの関係を示している。
【００８１】
このように係数ｐを大きくすればするほど、小さい正の入力ｘに対する出力ｙの変化の割合が大きくなり、グラフ（曲線）の曲率が大きくなる。一方、係数ｐを小さくすると、グラフの曲率は小さくなり、入力ｘと出力ｙの関係を表すグラフは、入力ｘが正の範囲で直線に近付いていく。さらに、係数ｐの値は学習可能になっており、人間が何らかの方法で決定するよりも、より入力信号（入力データ）の大きさの偏りに適したグラフの形状を、学習によって自動で求めることができる。
【００８２】
対数レイヤ（対数レイヤ処理部２４）では、小さい正の入力ｘに対する出力ｙの変化の割合が大きくなっているので、対数レイヤを構成要素として持つニューラルネットワーク、すなわちニューラルネットワーク処理装置１１は、小さい入力信号（入力データ）をより詳細に分析することができる。
【００８３】
そのため、このニューラルネットワーク（ニューラルネットワーク処理装置１１）は、上述したオフィスの環境音やマイクロホンの塞ぎ音を識別する場合など、入力信号（入力データ）の大きさに偏りがある場合に、特に効果的である。
【００８４】
電車内や航空機内の環境音のような大きな信号も入力される中で、小さい入力信号を精度良く識別するためには、ニューラルネットワークの規模を大きくする必要があった。
【００８５】
しかし、本技術では、対数レイヤを導入することにより、小さい入力信号をより詳細に分析できるようになるため、小規模のニューラルネットワークあっても高い識別性能（認識性能）を実現することができる。
【００８６】
例えば、実際にマイクロホンを用いたユーザインターフェースとして、図６に示すような「直接タップ」、「こする」、「塞ぐ」、および「塞ぎタップ」の４種類を考え、それぞれのマイクロホン入力の信号を、ニューラルネットワークを用いて検出した。
【００８７】
図６では、矢印Q11に示す部分にはユーザインターフェース、すなわちユーザによる操作として、ユーザが指でマイクロホン部分を直接タップする操作「直接タップ」を示している。また、矢印Q12に示す部分にはユーザインターフェースとして、ユーザが指でマイクロホン部分をこする操作「こする」を示している。
【００８８】
矢印Q13に示す部分にはユーザインターフェースとして、ユーザが指でマイクロホン部分を塞ぐ操作「塞ぐ」を示している。さらに、矢印Q14に示す部分にはユーザインターフェースとして、ユーザが指でマイクロホン部分を塞ぎつつタップ（塞ぎながらタップ）する操作「塞ぎタップ」を示している。
【００８９】
このような４種類の操作について、マイクロホンで収音を行うことにより得られた音響データを入力データとして、ニューラルネットワークにより各操作を認識する認識処理、すなわち、各操作をしたときに発生する音の認識処理を行った結果を図７に示す。
【００９０】
図７では、「直接タップ」、「こする」、「塞ぐ」、および「塞ぎタップ」の４種類の操作について、一般的なニューラルネットワーク（DNN）を用いて各操作を検出したときの検出成功率と、対数レイヤを導入したニューラルネットワーク処理装置１１により各操作を検出したときの検出成功率とが示されている。すなわち、図７において縦軸は、各操作を検出（認識）したときの検出成功率を示している。
【００９１】
特に、図７では矢印Q21に示す部分には操作「直接タップ」の検出成功率が示されており、矢印Q22に示す部分には操作「こする」の検出成功率が示されている。また、矢印Q23に示す部分には操作「塞ぐ」の検出成功率が示されており、矢印Q24に示す部分には操作「塞ぎタップ」の検出成功率が示されている。
【００９２】
なお、これらの矢印Q21乃至矢印Q24に示す部分では、図中、左側は一般的なニューラルネットワークを用いた場合の検出成功率を示しており、図中、右側はニューラルネットワーク処理装置１１を用いた場合の検出成功率を示している。
【００９３】
また、図７では過剰検出率が0.01％となるように閾値を設定したときの検出対象の音、つまり認識対象の操作の検出成功率となっている。
【００９４】
図７では、「直接タップ」、「こする」、および「塞ぐ」の３種類の操作について、対数レイヤの導入によって識別性能（認識性能）が向上していることが分かる。特に操作「塞ぐ」において識別性能が著しく向上している。
【００９５】
操作「塞ぐ」において学習された対数レイヤの係数（パラメータ）ｐの値は4.25であり、他の３種類の操作「直接タップ」、「こする」、および「塞ぎタップ」において学習された係数ｐの値（順にそれぞれ2.34、1.29、および1.06）よりも大きかった。
【００９６】
これは微小な信号である操作「塞ぐ」を行ったときに得られる音、つまり操作「塞ぐ」を検出するために、より小さい信号を詳細に分析するように対数レイヤの学習が行われたということを意味している。
【００９７】
さらに対数レイヤの有効範囲はオフィスの環境音やマイクロホンの塞ぎ音を識別する場合に限られず、信号の大きさを対数尺度（デシベル値等）等に変換することが多いオーディオ信号においては、全般的に有効である。
【００９８】
また、画像等のその他の信号においても本技術が有効な場合がある。さらに、小規模のニューラルネットワークに限らず、大規模なニューラルネットワークにおいても本技術は同様に効果的である。
【００９９】
なお、図１乃至図４を参照して説明したニューラルネットワークは、学習可能な係数（パラメータ）による非線形な変換を行う構成要素を持つニューラルネットワークの一例であり、他にも様々な変形例が考えられる。まず、本構成要素として、対数レイヤ以外にも様々な例が考えられる。
【０１００】
例えば、非線形な変換を行う構成要素（レイヤ）の例として、反比例の関数を利用した反比例レイヤと、冪関数を利用した冪レイヤとについて、入力および出力の関係式とグラフを図８および図９に示す。なお、図８および図９において横軸は入力ｘを示しており、縦軸は出力ｙを示している。
【０１０１】
図８は反比例レイヤにおける入力ｘと出力ｙとの関係を示している。反比例レイヤは入力ｘが負の場合、つまりｘ＜０である場合には、出力ｙとして０を出力する。
【０１０２】
これに対して、反比例レイヤでは入力ｘが正の場合、つまりｘ≧０である場合には、係数（パラメータ）をｐとして、出力ｙは、出力ｙ＝(1+p)x/(x+p)とされる。なお、学習時にはこの係数ｐが係数更新部６２により更新（学習）される。
【０１０３】
また、図８において折れ線L21は係数p＝16である場合における入力ｘと出力ｙの関係を示しており、曲線L22は係数p＝4である場合における入力ｘと出力ｙの関係を示している。同様に曲線L23は係数p＝0である場合における入力ｘと出力ｙの関係を示しており、曲線L24は係数p＝1/4である場合における入力ｘと出力ｙの関係を示している。
【０１０４】
これに対して、図９は冪レイヤにおける入力ｘと出力ｙとの関係を示している。冪レイヤは入力ｘが負の場合、つまりｘ＜０である場合には、出力ｙとして０を出力する。
【０１０５】
これに対して、冪レイヤでは入力ｘが正の場合、つまりｘ≧０である場合には、係数（パラメータ）をｐとして、出力ｙは、出力ｙ＝xpとされる。なお、学習時にはこの係数ｐが係数更新部６２により更新（学習）される。
【０１０６】
図９において曲線L31は係数p＝2である場合における入力ｘと出力ｙの関係を示しており、折れ線L32は係数p＝1である場合における入力ｘと出力ｙの関係を示している。同様に曲線L33は係数p＝5/8である場合における入力ｘと出力ｙの関係を示しており、曲線L34は係数p＝3/8である場合における入力ｘと出力ｙの関係を示している。
【０１０７】
図８に示した反比例レイヤは、対数レイヤと同様に、小さい正の入力ｘに対して出力ｙの変化の割合がより大きくなっている。
【０１０８】
また、図９に示した冪レイヤは、係数ｐが１より小さい場合は小さい正の入力ｘに対して出力ｙの変化の割合がより大きくなっている一方で、係数ｐを１より大きくすると、大きい正の入力ｘに対して出力ｙの変化の割合がより大きくなる。すなわち、大きい入力信号をより詳細に分析できる。
【０１０９】
反比例レイヤと冪レイヤの何れにおいても、係数、すなわちパラメータであるｐを変えることで入力ｘと出力ｙの関係を変えることができ、さらにそのパラメータは学習可能となっている。また、非線形な変換は対数関数、冪関数（反比例の関数も含む）だけでなく、指数関数、三角関数、双曲線関数、その他の線形または非線形な関数の１つ若しくは複数、およびそれらの四則演算や合成等によって得られる関数を用いて行ってもよい。入力ｘと出力ｙの関係を変えるためのパラメータ（係数）は、２つ以上あってもよい。
【０１１０】
また、本構成要素、つまり非線形な変換を行う構成要素（レイヤ）は、ニューラルネットワーク中の任意の位置に、任意の形態で導入することができる。
【０１１１】
例えば、畳み込みレイヤの出力に対して活性化関数として導入してもよいし、畳み込みレイヤの係数に対して導入してもよい。また、ニューラルネットワーク中の複数箇所に本構成要素を導入してもよい。
【０１１２】
さらに、本構成要素の係数（パラメータ）は、入力ｘの全ての次元に対して共通で適用してもよいし、次元ごとに異なるものを適用してもよい。
【０１１３】
例えば、図１に示した例で、最も左の畳み込みレイヤ（畳み込みレイヤ処理部２１）のフィルタ種類数が１６である場合、対数レイヤ（対数レイヤ処理部２４）は１６種類の入力チャネルを有するが、それぞれに対して異なるパラメータ（係数）を適用してもよい。
【０１１４】
なお、本構成要素のパラメータ（係数）は、学習対象に含めず、固定値を使用してもよい。その固定値は、何らかの方法で人間が決定してもよい。例えば入力信号の大きさの分布の統計値等から、人間が決めたあるルールに基づいて固定値を決定してもよい。
【０１１５】
さらに、本構成要素のパラメータ（係数）を学習する際の初期値を、そのようにして人間が決定した値に基づいて決めてもよい。本構成要素のパラメータと、ニューラルネットワークの他の構成要素（畳み込みレイヤ等）の持つ係数は、同時に学習してもよいし、一方を固定しながら他方を学習してもよい。
【０１１６】
以上のような本技術によれば、ニューラルネットワークの認識性能を向上させることができる。しかも、本技術によれば、小規模のニューラルネットワークであっても高い認識性能を得ることができる。
【０１１７】
〈コンピュータの構成例〉
ところで、上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【０１１８】
図１０は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【０１１９】
コンピュータにおいて、CPU（Central Processing Unit）５０１，ROM（Read Only Memory）５０２，RAM（Random Access Memory）５０３は、バス５０４により相互に接続されている。
【０１２０】
バス５０４には、さらに、入出力インターフェース５０５が接続されている。入出力インターフェース５０５には、入力部５０６、出力部５０７、記録部５０８、通信部５０９、及びドライブ５１０が接続されている。
【０１２１】
入力部５０６は、キーボード、マウス、マイクロホン、撮像素子などよりなる。出力部５０７は、ディスプレイ、スピーカなどよりなる。記録部５０８は、ハードディスクや不揮発性のメモリなどよりなる。通信部５０９は、ネットワークインターフェースなどよりなる。ドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体５１１を駆動する。
【０１２２】
以上のように構成されるコンピュータでは、CPU５０１が、例えば、記録部５０８に記録されているプログラムを、入出力インターフェース５０５及びバス５０４を介して、RAM５０３にロードして実行することにより、上述した一連の処理が行われる。
【０１２３】
コンピュータ（CPU５０１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体５１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０１２４】
コンピュータでは、プログラムは、リムーバブル記録媒体５１１をドライブ５１０に装着することにより、入出力インターフェース５０５を介して、記録部５０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部５０９で受信し、記録部５０８にインストールすることができる。その他、プログラムは、ROM５０２や記録部５０８に、あらかじめインストールしておくことができる。
【０１２５】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１２６】
また、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０１２７】
例えば、本技術は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０１２８】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１２９】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０１３０】
さらに、本技術は、以下の構成とすることも可能である。
【０１３１】
（１）
学習可能なパラメータを持つ非線形な関数により変換を行う非線形変換レイヤ処理部を備える
ニューラルネットワーク装置。
（２）
前記非線形変換レイヤ処理部の非線形な関数による変換は、対数関数による変換である
（１）に記載のニューラルネットワーク装置。
（３）
前記非線形変換レイヤ処理部の非線形な関数による変換は、複数の非線形な関数の組み合わせによる変換である
（１）に記載のニューラルネットワーク装置。
（４）
入力信号が入力される入力部をさらに備え、
前記入力部には、信号の大きさに偏りがある前記入力信号が入力される
（１）乃至（３）の何れか一項に記載のニューラルネットワーク装置。
（５）
プーリングレイヤ処理部をさらに備え、
前記非線形変換レイヤ処理部の処理は、前記プーリングレイヤ処理部による処理の後に行われる
（１）乃至（４）の何れか一項に記載のニューラルネットワーク装置。
（６）
畳み込みレイヤ処理部をさらに備え、
前記非線形変換レイヤ処理部の処理は、前記畳み込みレイヤ処理部による処理の前に行われる
（１）乃至（５）の何れか一項に記載のニューラルネットワーク装置。
（７）
前記非線形変換レイヤ処理部の非線形な関数による変換は、活性化関数として行われる
（１）乃至（６）の何れか一項に記載のニューラルネットワーク装置。
【符号の説明】
【０１３２】
１１  ニューラルネットワーク処理装置，  ２１  畳み込みレイヤ処理部，  ２４  対数レイヤ処理部，  ２５  畳み込みレイヤ処理部，  ２８  畳み込みレイヤ処理部，  ５１  ニューラルネットワーク学習装置，  ６１  入力データ選択部，  ６２  係数更新部
【図１】
2022001968.tif 000003
【図２】
2022001968.tif 000004
【図３】
2022001968.tif 000005
【図４】
2022001968.tif 000006
【図５】
2022001968.tif 000007
【図６】
2022001968.tif 000008
【図７】
2022001968.tif 000009
【図８】
2022001968.tif 000010
【図９】
2022001968.tif 000011
【図１０】
2022001968.tif 000012