(57)【要約】【課題】  循環モデルを用いた認識及び循環モデルをトレーニングさせる方法及び装置を提供する。【解決手段】  循環モデルを用いた認識装置は、シーケンスデータをウィンドウ単位に分割し、現在ウィンドウに対する認識結果を算出するために以前ウィンドウで算出して格納した状態パラメータ及び現在ウィンドウに対して追加されたパディングに対応するパディングデータを用いる。【選択図】      図６
2018097860.tif 000002
【特許請求の範囲】
【請求項１】
認識方法において、
シーケンスデータから現在ウィンドウに対応するターゲットデータ及び前記ターゲットデータに続くパディングデータを抽出するステップと、
以前ウィンドウに対応する状態パラメータを取得するステップと、
循環モデルを用いて前記状態パラメータ、前記抽出されたターゲットデータ、及び前記抽出されたパディングデータに基づいて前記現在ウィンドウに対する認識結果を算出するステップと、
を含む、認識方法。
【請求項２】
前記現在ウィンドウの最後のフレームに対応する状態パラメータを次のウィンドウで使用するために臨時格納するステップをさらに含む、請求項１に記載の認識方法。
【請求項３】
前記循環モデルに基づいて算出される前記パディングデータに対する出力データ及びパディングに関する状態パラメータを排除するステップをさらに含む、請求項１又は２に記載の認識方法。
【請求項４】
前記認識結果を算出するステップは、
前記循環モデルは、前記現在ウィンドウのウィンドウ長さ及びパディング長さだけ広げられるステップと、
前記広げられた循環モデルで前記状態パラメータ、前記抽出されたターゲットデータ、及び前記抽出されたパディングデータをフレームごとに入力して前記現在ウィンドウに含まれたフレームに対応する出力データを算出するステップと、
を含む、請求項１ないし３のうち何れか一項に記載の認識方法。
【請求項５】
前記認識結果を算出するステップは、前記以前ウィンドウの最後のフレームに対応する状態パラメータに基づいて、前記現在ウィンドウの最初のフレームに対応するノードの入力値をアップデートするステップを含む、請求項１ないし３のうち何れか一項に記載の認識方法。
【請求項６】
前記ターゲットデータ及び前記パディングデータを抽出するステップは、前記シーケンスデータから前記以前ウィンドウの最後のフレームデータの次のフレームデータからウィンドウ長さだけのデータを前記現在ウィンドウに対応するターゲットデータとして抽出するステップを含む、請求項１ないし５のうち何れか一項に記載の認識方法。
【請求項７】
前記ターゲットデータ及び前記パディングデータを抽出するステップは、前記シーケンスデータから前記現在ウィンドウの最後のフレームデータの次のフレームデータからパディング長さだけのデータをパディングに対応する前記パディングデータとして抽出するステップを含む、請求項１ないし５のうち何れか一項に記載の認識方法。
【請求項８】
前記循環モデルは、トレーニングデータに基づいてトレーニング入力からトレーニング出力が出力されるようにトレーニングされた双方向循環神経網である、請求項１ないし７のうち何れか一項に記載の認識方法。
【請求項９】
前記循環モデルは、ウィンドウ及びパディングに含まれる各フレームに対応するノードを含み、
前記認識結果を算出するステップは、
前記ウィンドウの最初のフレームから最後のフレームまで順次前記ノードのフォワードパスよる状態パラメータをアップデートするステップと、
前記ウィンドウの最後のフレームから最初のフレームまで順次前記ノードのバックワードパスによる状態パラメータをアップデートするステップと、
前記フォワードパスによる状態パラメータ及び前記バックワードパスによる状態パラメータを次のレイヤのノードに提供するステップと、
を含む、請求項１ないし７のうち何れか一項に記載の認識方法。
【請求項１０】
前記ターゲットデータ及び前記パディングデータを抽出するステップは、音声信号に対応する前記シーケンスデータを受信するステップを含み、
前記認識結果を算出するステップは、前記現在ウィンドウに対応する前記ターゲットデータから発音を識別するステップを含む、請求項１ないし５のうち何れか一項に記載の認識方法。
【請求項１１】
前記以前ウィンドウに対応する状態パラメータを取得するステップは、前記現在ウィンドウが前記シーケンスデータに対して最初ウィンドウである場合に応答して、前記以前ウィンドウに対応する状態パラメータをデフォルト値として決定するステップを含む、請求項１ないし５のうち何れか一項に記載の認識方法。
【請求項１２】
前記ターゲットデータ及び前記パディングデータを抽出するステップは、前記現在ウィンドウが前記シーケンスデータに対して最後ウィンドウである場合に応答して、前記パディングデータを排除するステップを含む、請求項１ないし５のうち何れか一項に記載の認識方法。
【請求項１３】
請求項１ないし１２のうち何れか一項に記載の認識方法を装置のコンピュータに実行させる命令語を含むコンピュータプログラム。
【請求項１４】
認識装置において、
循環モデルを格納する格納部と、
シーケンスデータから現在ウィンドウに対応するターゲットデータ及び前記ターゲットデータに続くパディングデータを抽出し、前記格納部から以前ウィンドウに対応する状態パラメータを取得し、前記循環モデルを用いて前記状態パラメータ、前記抽出されたターゲットデータ、及び前記抽出されたパディングデータに基づいて前記現在ウィンドウに対する認識結果を算出する処理部と、
を含む、認識装置。
【請求項１５】
トレーニング方法において、
循環モデルを取得するステップと、
トレーニング入力から現在ウィンドウに対応するターゲットデータ及び前記ターゲットデータに続くパディングデータを抽出するステップと、
以前ウィンドウに対応する状態パラメータを取得するステップと、
前記状態パラメータ、前記抽出されたターゲットデータ、及び前記抽出されたパディングデータに基づいて、前記トレーニング入力にマッピングされたトレーニング出力が算出されるように前記循環モデルをトレーニングさせるステップと、
を含む、トレーニング方法。
【請求項１６】
前記トレーニング入力で次のウィンドウに対応するデータが存在する場合に応答して、前記現在ウィンドウの最後のフレームに対応する状態パラメータを、次のウィンドウのトレーニングデータをトレーニングさせるために臨時格納するステップを含む、請求項１５に記載のトレーニング方法。
【請求項１７】
前記循環モデルに基づいて算出されるパディングに対する出力データ及び前記パディングに関する状態パラメータを排除するステップを含む、請求項１５又は１６に記載のトレーニング方法。
【請求項１８】
前記トレーニングさせるステップは、前記以前ウィンドウの最後のフレームに対応する状態パラメータに基づいて、前記現在ウィンドウの最初のフレームに対応するノードの状態パラメータをアップデートするステップを含む、請求項１５に記載のトレーニング方法。
【請求項１９】
前記以前ウィンドウに対応する状態パラメータを取得するステップは、前記現在ウィンドウが前記トレーニング入力に対して最初ウィンドウである場合に応答して、前記以前ウィンドウに対応する状態パラメータをデフォルト値として決定するステップを含む、請求項１５に記載のトレーニング方法。
【請求項２０】
前記ターゲットデータ及び前記パディングデータを抽出するステップは、前記現在ウィンドウが前記トレーニング入力に対して最後ウィンドウである場合に応答して、前記パディングデータを排除するステップを含む、請求項１５に記載のトレーニング方法。
【請求項２１】
認識方法において、
シーケンスデータから現在ウィンドウに対応するターゲットデータを抽出するステップと、
前記シーケンスデータ内の前記現在ウィンドウに先行するデータに対応する過去コンテキストデータを取得するステップと、
前記シーケンスデータから前記現在ウィンドウに後続するデータに対応する未来コンテキストデータを取得するステップと、
前記過去コンテキストデータ、前記抽出されたターゲットデータ、及び前記未来コンテキストデータに基づいて循環モデルを用いて前記現在ウィンドウに対する認識結果を算出するステップと、
を含み、
前記過去コンテキストデータと前記未来コンテキストデータはデータのタイプが異なる、認識方法。
【請求項２２】
前記過去コンテキストデータを取得するステップは、
前記シーケンスデータから前記現在ウィンドウに先行する以前ウィンドウに対応する状態パラメータを前記過去コンテキストデータとして取得するステップを含み、
前記未来コンテキストデータを取得するステップは、前記シーケンスデータから前記抽出されたターゲットデータに後続するパディングデータを前記未来コンテキストデータとして抽出するステップを含む、請求項２１に記載の認識方法。
【請求項２３】
前記状態パラメータを前記過去コンテキストデータとして取得するステップは、
前記現在ウィンドウが前記シーケンスデータの最初ウィンドウであることに応答して、前記状態パラメータをデフォルト値として設定するステップと、
前記現在ウィンドウが前記シーケンスデータの最初ウィンドウではないことに応答して、前記以前ウィンドウで実行された認識の間に取得された状態パラメータを前記状態パラメータとして取得するステップと、
を含む、請求項２２に記載の認識方法。
【請求項２４】
前記以前ウィンドウで実行された認識過程で取得された状態パラメータは、
前記以前ウィンドウで認識過程中に格納され、
前記以前ウィンドウで実行された認識の間に取得された状態パラメータの取得は、格納された状態パラメータを検索して取得する、請求項２３に記載の認識方法。
【請求項２５】
前記以前ウィンドウ及び前記現在ウィンドウは、それぞれ複数のフレームを含み、
前記状態パラメータの取得は、前記以前ウィンドウの最終のフレームに対応する状態パラメータを取得することを含む、請求項２２に記載の認識方法。
【請求項２６】
トレーニング方法において、
循環モデルを取得するステップと、
トレーニング入力から現在ウィンドウに対応するターゲットデータを抽出するステップと、
前記トレーニング入力から前記現在ウィンドウに先行するデータに対応する過去コンテキストデータを取得するステップと、
前記トレーニング入力から前記現在ウィンドウに後続するデータに対応する未来コンテキストデータを取得するステップと、
前記トレーニング入力にマッピングされたトレーニング出力が前記過去コンテキストデータ、前記抽出されたターゲットデータ、及び前記未来コンテキストデータに基づいて算出されるように前記循環モデルをトレーニングするステップと、
を含み、
前記過去コンテキストデータと前記未来コンテキストデータはデータのタイプが異なる、トレーニング方法。
【請求項２７】
前記過去コンテキストデータを取得するステップは、前記トレーニング入力から前記現在ウィンドウに先行する以前ウィンドウに対応する状態パラメータを過去コンテキストデータとして取得するステップを含み、
前記未来コンテキストデータを取得するステップは、前記トレーニング入力から前記抽出されたターゲットデータに続くパディングデータを未来コンテキストデータとして抽出するステップを含む、請求項２６に記載のトレーニング方法。
【請求項２８】
前記状態パラメータを取得するステップは、
前記現在ウィンドウが前記トレーニング入力の最初ウィンドウであることに応答して、前記状態パラメータをデフォルト値として設定するステップと、
前記現在ウィンドウが前記トレーニング入力の最初ウィンドウではないことに応答して、前記以前ウィンドウに対して実行されたトレーニングの間に取得された状態パラメータを前記状態パラメータとして取得するステップと、
を含む、請求項２７に記載のトレーニング方法。
【請求項２９】
前記以前ウィンドウで実行されたトレーニングの間に取得された前記状態パラメータは、前記以前ウィンドウで実行されたトレーニングの間に格納され、
前記以前ウィンドウで実行されたトレーニングの間に取得された状態パラメータの取得は、格納された状態パラメータを検索して取得する、請求項２８に記載のトレーニング方法。
【請求項３０】
前記以前ウィンドウ及び前記現在ウィンドウは、それぞれ複数のフレームを含み、
前記状態パラメータの取得は、前記以前ウィンドウの最終のフレームに対応する状態パラメータを取得することを含む、請求項２７に記載のトレーニング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
以下、循環モデルに基づいて認識する技術、及び循環モデルをトレーニングさせる技術が提供される。
【背景技術】
【０００２】
近年、入力パターンを特定グループに分類する問題を解決する方策として、人が有する効率的なパターン認識方法を実際のコンピュータに適用させようとする研究が盛んに行われている。このような研究の１つとして、人の生物学的神経細胞の特性を数学的に表現することによりモデリングした人工神経網（ａｒｔｉｆｉｃｉａｌ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）に対する研究が行われている。入力パターンを特定グループに分類する問題を解決するために、人工神経網は人が有している学習という能力を模倣したアルゴリズムを用いる。このアルゴリズムを用いて人工神経網は、入力パターンと出力パターンとの間の写像（ｍａｐｐｉｎｇ）を生成するが、これを人工神経網が学習能力があると表現する。また、人工神経網は、学習された結果に基づいて学習に利用されていない入力パターンに対して比較的正しい出力を生成できる一般化能力を有している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
本発明の目的は、循環モデルに基づいて認識する技術、及び循環モデルをトレーニングさせる技術を提供する。
【課題を解決するための手段】
【０００４】
一実施形態に係る認識方法は、シーケンスデータから現在ウィンドウに対応するターゲットデータ及び前記ターゲットデータに続くパディングデータを抽出するステップと、以前ウィンドウに対応する状態パラメータを取得するステップと、循環モデルを用いて前記状態パラメータ、前記抽出されたターゲットデータ、及び前記抽出されたパディングデータに基づいて前記現在ウィンドウに対する認識結果を算出するステップとを含む。
【０００５】
認識方法は、前記現在ウィンドウの最後のフレームに対応する状態パラメータを次のウィンドウで使用するために臨時格納するステップをさらに含み得る。
【０００６】
認識方法は、前記循環モデルに基づいて算出される前記パディングデータに対する出力データ及びパディングに関する状態パラメータを排除するステップをさらに含み得る。
【０００７】
前記認識結果を算出するステップは、前記循環モデルは、前記現在ウィンドウのウィンドウ長さ及びパディング長さだけ広げられるステップと、前記広げられた循環モデルで前記状態パラメータ、前記抽出されたターゲットデータ、及び前記抽出されたパディングデータをフレームごとに入力して前記現在ウィンドウに含まれたフレームに対応する出力データを算出するステップとを含み得る。
【０００８】
前記認識結果を算出するステップは、前記以前ウィンドウの最後のフレームに対応する状態パラメータに基づいて、前記現在ウィンドウの最初のフレームに対応するノードの入力値をアップデートするステップを含み得る。
【０００９】
前記ターゲットデータ及び前記パディングデータを抽出するステップは、前記シーケンスデータから前記以前ウィンドウの最後のフレームデータの次のフレームデータからウィンドウ長さだけのデータを前記現在ウィンドウに対応するターゲットデータとして抽出するステップを含み得る。
【００１０】
前記ターゲットデータ及び前記パディングデータを抽出するステップは、前記シーケンスデータから前記現在ウィンドウの最後のフレームデータの次のフレームデータからパディング長さだけのデータをパディングに対応する前記パディングデータとして抽出するステップを含み得る。
【００１１】
前記循環モデルは、トレーニングデータに基づいてトレーニング入力からトレーニング出力が出力されるようにトレーニングされた双方向循環神経網であり得る。
【００１２】
前記循環モデルは、前記ウィンドウ及びパディングに含まれる各フレームに対応するノードを含み、前記認識結果を算出するステップは、前記ウィンドウの最初のフレームから最後のフレームまで順次前記ノードのフォワードパスよる状態パラメータをアップデートするステップと、前記ウィンドウの最後のフレームから最初のフレームまで順次前記ノードのバックワードパスによる状態パラメータをアップデートするステップと、前記フォワードパスによる状態パラメータ及び前記バックワードパスによる状態パラメータを次のレイヤのノードに提供するステップとを含み得る。
【００１３】
前記ターゲットデータ及び前記パディングデータを抽出するステップは、音声信号に対応する前記シーケンスデータを受信するステップを含み、前記認識結果を算出するステップは、前記現在ウィンドウに対応する前記ターゲットデータから発音を識別するステップを含み得る。
【００１４】
前記以前ウィンドウに対応する状態パラメータを取得するステップは、前記現在ウィンドウが前記シーケンスデータに対して最初ウィンドウである場合に応答して、前記以前ウィンドウに対応する状態パラメータをデフォルト値として決定するステップを含み得る。
【００１５】
前記ターゲットデータ及び前記パディングデータを抽出するステップは、前記現在ウィンドウが前記シーケンスデータに対して最後ウィンドウである場合に応答して、前記パディングデータを排除するステップを含み得る。
【００１６】
一実施形態に係る認識装置は、循環モデルを格納する格納部と、シーケンスデータから現在ウィンドウに対応するターゲットデータ及び前記ターゲットデータに続くパディングデータを抽出し、前記格納部から以前ウィンドウに対応する状態パラメータを取得し、前記循環モデルを用いて前記状態パラメータ、前記抽出されたターゲットデータ、及び前記抽出されたパディングデータに基づいて前記現在ウィンドウに対する認識結果を算出する処理部とを含む。
【００１７】
一実施形態に係るトレーニング方法は、循環モデルを取得するステップと、トレーニング入力から現在ウィンドウに対応するターゲットデータ及び前記ターゲットデータに続くパディングデータを抽出するステップと、以前ウィンドウに対応する状態パラメータを取得するステップと、前記状態パラメータ、前記抽出されたターゲットデータ、及び前記抽出されたパディングデータに基づいて、前記トレーニング入力にマッピングされたトレーニング出力が算出されるように前記循環モデルをトレーニングさせるステップとを含。
【００１８】
トレーニング方法は、前記トレーニング入力で次のウィンドウに対応するデータが存在する場合に応答して、前記現在ウィンドウの最後のフレームに対応する状態パラメータを、次のウィンドウのトレーニングデータをトレーニングさせるために臨時格納するステップを含み得る。
【００１９】
トレーニング方法は、前記循環モデルに基づいて算出されるパディングに対する出力データ及び前記パディングに関する状態パラメータを排除するステップを含み得る。
【００２０】
前記トレーニングさせるステップは、前記以前ウィンドウの最後のフレームに対応する状態パラメータに基づいて、前記現在ウィンドウの最初のフレームに対応するノードの状態パラメータをアップデートするステップを含み得る。
【００２１】
前記以前ウィンドウに対応する状態パラメータを取得するステップは、前記現在ウィンドウが前記トレーニング入力に対して最初ウィンドウである場合に応答して、前記以前ウィンドウに対応する状態パラメータをデフォルト値として決定するステップを含み得る。
【００２２】
前記ターゲットデータ及び前記パディングデータを抽出するステップは、前記現在ウィンドウが前記トレーニング入力に対して最後ウィンドウである場合に応答して、前記パディングデータを排除するステップを含み得る。
【００２３】
他の一実施形態に係る認識方法は、シーケンスデータから現在ウィンドウに対応するターゲットデータを抽出するステップと、前記シーケンスデータ内の前記現在ウィンドウに先行するデータに対応する過去コンテキストデータを取得するステップと、前記シーケンスデータから前記現在ウィンドウに後続するデータに対応する未来コンテキストデータを取得するステップと、前記過去コンテキストデータ、前記抽出されたターゲットデータ、及び前記未来コンテキストデータに基づいて循環モデルを用いて前記現在ウィンドウに対する認識結果を算出するステップとを含み、前記過去コンテキストデータと前記予めコンテキストデータはデータのタイプが異なる特徴を有する。
【００２４】
前記過去コンテキストデータを取得するステップは、前記シーケンスデータから前記現在ウィンドウに先行する以前ウィンドウに対応する状態パラメータを前記過去コンテキストデータとして取得するステップを含み、前記未来コンテキストデータを取得するステップは、前記シーケンスデータから前記抽出されたターゲットデータに後続するパディングデータを前記未来コンテキストデータとして抽出するステップを含み得る。
【００２５】
前記状態パラメータを前記過去コンテキストデータとして取得するステップは、前記現在ウィンドウが前記シーケンスデータの最初ウィンドウであることに応答して、前記状態パラメータをデフォルト値として設定するステップと、前記現在ウィンドウが前記シーケンスデータの最初ウィンドウではないことに応答して、前記以前ウィンドウで実行された認識の間に取得された状態パラメータを前記状態パラメータとして取得するステップとを含み得る。
【００２６】
前記以前ウィンドウで実行された認識過程で取得された状態パラメータは、前記以前ウィンドウで認識過程中に格納され、前記以前ウィンドウで実行された認識の間に取得された状態パラメータの取得は、格納された状態パラメータを検索して取得し得る。
【００２７】
前記以前ウィンドウ及び前記現在ウィンドウは、それぞれ複数のフレームを含み、前記状態パラメータの取得は、前記以前ウィンドウの最終のフレームに対応する状態パラメータを取得することを含み得る。
【００２８】
他の一実施形態に係るトレーニング方法は、循環モデルを取得するステップと、トレーニング入力から現在ウィンドウに対応するターゲットデータを抽出するステップと、前記トレーニング入力から前記現在ウィンドウに先行するデータに対応する過去コンテキストデータを取得するステップと、前記トレーニング入力から前記現在ウィンドウに後続するデータに対応する未来コンテキストデータを取得するステップと、前記トレーニング入力にマッピングされたトレーニング出力が前記過去コンテキストデータ、前記抽出されたターゲットデータ、及び前記未来コンテキストデータに基づいて算出されるように前記循環モデルをトレーニングするステップとを含み、前記過去コンテキストデータと前記予めコンテキストデータはデータのタイプが異なる特徴を有する。
【００２９】
前記過去コンテキストデータを取得するステップは、前記トレーニング入力から前記現在ウィンドウに先行する以前ウィンドウに対応する状態パラメータを過去コンテキストデータとして取得するステップを含み、前記未来コンテキストデータを取得するステップは、前記トレーニング入力から前記抽出されたターゲットデータに続くパディングデータを未来コンテキストデータとして抽出するステップを含み得る。
【００３０】
前記状態パラメータを取得するステップは、前記現在ウィンドウが前記トレーニング入力の最初ウィンドウであることに応答して、前記状態パラメータをデフォルト値として設定するステップと、前記現在ウィンドウが前記トレーニング入力の最初ウィンドウではないことに応答して、前記以前ウィンドウに対して実行されたトレーニングの間に取得された状態パラメータを前記状態パラメータとして取得するステップとを含み得る。
【００３１】
前記以前ウィンドウで実行されたトレーニングの間に取得された前記状態パラメータは、前記以前ウィンドウで実行されたトレーニングの間に格納され、前記以前ウィンドウで実行されたトレーニングの間に取得された状態パラメータの取得は、格納された状態パラメータを検索して取得し得る。
【００３２】
前記以前ウィンドウ及び前記現在ウィンドウは、それぞれ複数のフレームを含み、前記状態パラメータの取得は、前記以前ウィンドウの最終のフレームに対応する状態パラメータを取得することを含み得る。
【発明の効果】
【００３３】
本発明によると、循環モデルに基づいて認識する技術、及び循環モデルをトレーニングさせる技術を提供することができる。
【図面の簡単な説明】
【００３４】
【図１】一実施形態に係る循環神経網の概念を説明する。
【図２】一実施形態に係るウィンドウ長さだけ広げられた循環神経網を説明する。
【図３】一実施形態に係る双方向循環神経網を説明する。
【図４】一実施形態に係る双方向循環神経網を用いた音声認識を説明する。
【図５】一実施形態に係る状態パラメータ及びパディングに基づいた循環神経網を用いたシーケンスデータ認識を説明する。
【図６】一実施形態に係る以前ウィンドウの状態パラメータを現在ウィンドウに反映する過程を説明する。
【図７】一実施形態に係る循環神経網の各ノードのアップデートを説明する図である。
【図８】一実施形態に係る認識装置の構成を示すブロック図である。
【図９】一実施形態に係るトレーニング装置の構成を示すブロック図である。
【図１０】一実施形態に係る認識方法を説明したフローチャートである。
【図１１】一実施形態に係るトレーニング方法を説明したフローチャートである。
【図１２】一実施形態に係る認識方法及びトレーニング方法において、シーケンスデータに対するウィンドウ及びパディングを設定する過程を説明したフローチャートである。
【発明を実施するための形態】
【００３５】
以下、実施形態を添付する図面を参照しながら詳細に説明する。しかし、特許出願の範囲がこのような実施形態によって制限されたり限定されることはない。各図面に提示された同一の参照符号は同一の部材を示す。
【００３６】
以下で説明する実施形態には様々な変更が加えられる。以下で説明する実施形態は実施形態に対して限定しようとするものではなく、これに対する全ての変更、均等物ないし代替物を含むものとして理解されなければならない。
【００３７】
本明細書で用いた用語は、単に特定の実施形態を説明するために用いられるものであって、本発明を限定しようとする意図はない。単数の表現は、文脈上、明白に異なる意味をもたない限り複数の表現を含む。本明細書において、「含む」又は「有する」等の用語は明細書上に記載した特徴、数字、ステップ、動作、構成要素、部品又はこれらを組み合わせたものが存在することを示すものであって、１つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品、又はこれを組み合わせたものなどの存在又は付加の可能性を予め排除しないものとして理解しなければならない。
【００３８】
異なる定義さがれない限り、技術的であるか又は科学的な用語を含むここで用いる全ての用語は、本実施形態が属する技術分野で通常の知識を有する者によって一般的に理解されるものと同じ意味を有する。一般的に用いられる予め定義された用語は、関連技術の文脈上で有する意味と一致する意味を有するものと解釈すべきであって、本明細書で明白に定義しない限り、理想的又は過度に形式的な意味として解釈されることはない。
【００３９】
また、添付図面を参照して説明することにおいて、図面符号に関係なく同一の構成要素は同一の参照符号を付与し、これに対する重複する説明は省略することにする。実施形態の説明において関連する公知技術に対する具体的な説明が実施形態の要旨を不要に曖昧にすると判断される場合、その詳細な説明は省略する。
【００４０】
図１は、一実施形態に係る循環神経網の概念を説明する。
【００４１】
神経網は、連結線に連結れた複数の人工ニューロンを用いて生物学的なシステムの算出能力を模倣するハードウェアで具現された認識モデルである。本明細書では神経網として、循環神経網（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ：ＲＮＮ）１００を例に挙げて説明する。
【００４２】
循環神経網１００はその内部にループを有する神経網として、神経網の出力が循環して再び入力されることにより入力ｘｔから新しい出力ｏｔが出力されるようトレーニングされた神経網を示す。例えば、循環神経網１００はノード１１０を含み、ノード１１０（例えば、隠れノード）の出力が循環して再び入力される。図１は、循環神経網１００を簡略に示してノード１１０のみを示しているが、これに限定されることなく、ノード１１０は循環神経網１００に含まれる隠れレイヤを構成する単位である。隠れレイヤに含まれるノード１１０を隠れノードに示してもよい。
【００４３】
本明細書において、ノード１１０に関する値を指示するパラメータは状態パラメータのように示す。例えば、状態パラメータは、ノード１１０の出力値などを含む。状態パラメータはノードパラメータに示してもよい。
【００４４】
例えば、循環神経網１００は、ＬＳＴＭ（Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ）神経網から構成されてもよい。ＬＳＴＭ神経網のノード１１０は、メモリセル及び複数のゲート（例えば、入力ゲート、放棄ゲート（ｆｏｒｇｅｔ  ｇａｔｅ）、出力ゲート）を含む。ＬＳＴＭ神経網において、ノード１１０の状態パラメータは、隠れレイヤのノード１１０の出力値、ノード１１０のセル状態値などを含む。ノード１１０のセル状態値及び出力値などは、ノード１１０のゲートに基づいて制御される。ただし、ＬＳＴＭ神経網は単なる例示であって、本明細書の循環神経網１００の構造をこれに限定されることはない。
【００４５】
入力ｘｔはｔ時点に循環神経網１００から入力されるフレームデータを示し、出力ｏｔはｔ時点に循環神経網１００から出力されるフレームデータを示す。ｔ時点はタイムスタンプｔを示す。フレームデータは、シーケンスデータが一定の長さ（例えば、フレーム単位）でサンプリングされたデータを示す。フレーム単位は、設計に応じて相違に設定されてもよい。シーケンスデータ及びフレームデータは下記の図５を参照して詳細に説明する。
【００４６】
図２は、一実施形態に係るウィンドウ長さだけ広げられた循環神経網を説明する。
【００４７】
循環神経網は、図２に示すように、循環連結がウィンドウ長さだけ広げられた（ｕｎｆｏｌｄｅｄ）形態のように示してもよい。例えば、循環神経網のノードは、フォワードノード２１１、２２１、２３１及びバックワードノード２１２、２２２、２３２に分類される。フォワードノード２１１、２２１、２３１のそれぞれは１つのフレームに対応し、バックワードノード２１２、２２２、２３２のそれぞれも１つのフレームに対応する。図２で各フレームには、１つのフォワードノード及び１つのバックワードノードが対応する。例えば、ｔ番目のフレームに対して、第１フォワードノード２１１及び第１バックワードノード２１２が対応する。ただし、これに限定されることなく、１つのフレームに複数のフォワードノード及び複数のバックワードノードが対応できる。
【００４８】
本明細書において、フォワードノード２１１、２２１、２３１は、フォワードパス２９１を形成している循環連結により他のフォワードノードに接続されてもよい。バックワードノード２１２、２２２、２３２は、バックワードパス２９２を形成している循環連結により他のバックワードノードに連結される。例えば、フォワードパス２９１は、次のフレームのフォワードノードに状態パラメータを数式に基づいてアップデートして伝達する連結を示し、バックワードパス２９２は、以前フレームのバックワードノードに状態パラメータを数式に基づいてアップデートして伝達する連結を示す。フォワードノードのアップデート経路及びバックワードノードのアップデート経路は、互いに独立的に分離できる。
【００４９】
例えば、図２において、ウィンドウ２００の長さが３個のフレームである場合を示す。認識装置におけるｔ時点の入力フレームデータｘｔは、ｔ時点のフレームに対応する第１フォワードノード２１１及び第１バックワードノード２１２に入力される。認識装置は、ｔ時点に対応するフレームの第１フォワードノード２１１からｔ＋１時点に対応するフレームの第２フォワードノード２２１に、ｔ時点における状態パラメータをフォワードパス２９１を介して伝搬する。また、認識装置は、ｔ＋１時点に対応するフレームの第２バックワードノード２２２からｔ時点に対応するフレームの第１バックワードノード２１２に、ｔ＋１時点における状態パラメータをバックワードパス２９２を介して伝搬する。認識装置は、フォワードパス２９１及びバックワードパス２９２を介してアップデートされたノード（例えば、第１フォワードノード２１１、第１バックワードノード２１２）の状態パラメータを用いて、ｔ番目のフレームに対応する出力ｏｔを入力ｘｔから算出する。
【００５０】
図２を参照してウィンドウ長さを３個のフレームに説明し、明確な説明のために循環神経網の要素のうちノードのみを示したが、必ずこれに限定されることはない。
【００５１】
図３は、一実施形態に係る双方向循環神経網を説明する。
【００５２】
循環神経網は、入力レイヤ、隠れレイヤ、及び出力レイヤを含む。隠れレイヤは、上述したように複数のノードを隠れノードとして含む。循環神経網が、例えば、ＬＳＴＭ神経網である場合、ノードのそれぞれはメモリセルユニットを含んでもよく、メモリセルユニットは少なくとも１つの時間ゲートを含んでもよい。
【００５３】
例えば、入力レイヤは、トレーニング又は認識を行うための入力を受信して隠れレイヤに伝達し、出力レイヤは、隠れレイヤのノードから受信した信号に基づいて神経網の出力を生成する。隠れレイヤは、入力レイヤと出力レイヤとの間に位置し、入力レイヤを介して伝達されたトレーニングデータ又は認識の対象となるデータを出力レイヤで認識しやすい値に変化させることができる。入力レイヤ及び隠れレイヤに含まれたノードは、連結加重値を有する連結線を用いて連結され、隠れレイヤと出力レイヤに含まれたノードでも連結加重値を有する連結線を介して連結される。入力レイヤ、隠れレイヤ、及び出力レイヤは複数のノードを含む。
【００５４】
図３を参照すると、各入力レイヤ及び出力レイヤは１つのノードを含み、各隠れレイヤは２つのノードを含むものとして示されているが、これは説明の便宜のために簡略されたものであり、設計に応じて各レイヤに含まれるノード及びノードの個数は変更されてもよい。
【００５５】
神経網は、複数の隠れレイヤを含む。複数の隠れレイヤを含む神経網を深い神経網又はディープニューラルネットワーク（ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ）といい、深い神経網を学習させることを深い学習又はディープラーニング（ｄｅｅｐ  ｌｅａｒｎｉｎｇ）という。隠れレイヤに含まれたノードを隠れノード（ｈｉｄｄｅｎ  ｎｏｄｅ）という。以前の時間区間における隠れノードの状態パラメータ（例えば、出力値）は、現在の時間区間（例えば、現在フレーム）における隠れノードに連結される。そして、現在の時間区間における隠れノードの状態パラメータは、次の時間区間における隠れノードに連結される。このように、互いに異なる時間区間で、隠れノードの間に循環的な連結がある神経網を循環神経網という。図３に示す隠れノードにおいて、フォワードノードはフォワードノードに対して循環的な連結を生成し、バックワードノードはバックワードノードに対して循環的な連結を生成する。
【００５６】
図３は、ウィンドウ長さが３個のフレームである場合の循環神経網を広げた状態を示している。ウィンドウ２００の最初のフレーム３１０、中間フレーム３２０、及び最後のフレーム３３０に対して循環神経網が入力レイヤ３１１、３２１、３３１、隠れレイヤ３１２、３２２、３３２、及び出力レイヤ３１３、３２３、３３３を含むものと簡略に示されているが、必ずこれに限定されることはない。例えば、循環神経網は、ウィンドウ２００それぞれのフレームに対して複数の隠れレイヤを含んでもよい。
【００５７】
循環神経網の各レイヤは、（例えば、レイヤ間の遅延がない）現在の時間に対応するタイムスタンプｔを受信する。タイムスタンプｔは、位相信号に当該する。位相信号は、同一の時点に対してアップデートされる全てのレイヤに印加される。例えば、ｔ時点に対してアップデートされるレイヤは、ウィンドウ２００の最初のフレーム３１０では入力レイヤ３１１、隠れレイヤ３１２、及び出力レイヤ３１３である。ｔ＋１時点に対してアップデートされるレイヤは、ウィンドウ２００の中間フレーム３２０では入力レイヤ３２１、隠れレイヤ３２２、及び出力レイヤ３２３である。ｔ＋２時点に対してアップデートされるレイヤは、ウィンドウ２００の最後のフレーム３３０では入力レイヤ３３１、隠れレイヤ３３２、及び出力レイヤ３３３である。
【００５８】
循環神経網に対する入力データは、連続的な入力信号（以下、シーケンスデータ）からサンプリングされる。循環神経網に対する入力値は、均一かつ同期的にサンプリングされてもよく、不均一かつ非同期的にサンプリングされてもよい。
【００５９】
循環神経網の各フレームに対応する隠れレイヤは、次のフレームの同じレベルの隠れレイヤに対してフォワードパス３９１を形成する。例えば、循環神経網でウィンドウ２００内の最初のフレームに対応する隠れレイヤ３１２のｉ番目フォワードノードは、次のフレーム（図２では中間フレーム）に対応する隠れレイヤ３２２のｉ番目フォワードノードに対してフォワードパス３９１を形成する。ここで、ｉは１以上の整数である。
【００６０】
また、循環神経網の各フレームの隠れレイヤは、以前フレームの同じレベルの隠れレイヤに対してバックワードパス３９２を形成する。例えば、循環神経網でウィンドウ２００内の中間フレームに対応する隠れレイヤ３２２のｊ番目バックワードノードは、以前フレーム（図２では最初のフレーム）に対応する隠れレイヤ３１２のｊ番目バックワードノードに対してバックワードパス３９２を形成する。ここで、ｊは１以上の整数である。ここで、ノードは、フォワードパス３９１を介してのみ連結されるフォワードノード及びバックワードパス３９２を介してのみ連結されるバックワードノードに分類できる。
【００６１】
上述したように、広げられた循環神経網において、隠れレイヤの間にフォワードパス及びバックワードパスが形成される循環神経網を双方向循環神経網に示すことができる。
【００６２】
図４は、一実施形態に係る双方向循環神経網を用いた音声認識を説明する。
【００６３】
認識装置は、シーケンスデータ４０１を受信する。認識装置は、シーケンスデータ４０１として音声信号を受信する。例えば、図４において、認識装置は「ｏｎｅ  ｏｈ  ｆｉｖｅ」という音声信号を受信してもよい。発音記号として「ｗａｈｎ  ｏｗ  ｆａｙｖ」に示してもよい。
【００６４】
認識装置は、シーケンスデータから任意のウィンドウに対応するターゲットデータに対する認識結果４０９を出力するために、現在ウィンドウの以前フレーム４１０に基づいた情報、及び次のフレーム４２０に基づいた情報を参照する。例えば、図４において認識装置は「ｏｈ」を認識するために、「ｏｎｅ」及び「ｆｉｖｅ」に対応する情報を参照し、「ｏｗ」という認識結果４０９を出力する。認識結果４０９は発音情報であってもよいが、これに限定されることなく、認識装置は発音情報に基づいて発音に対応する単語を推定してもよい。
【００６５】
一実施形態に係る認識装置は、双方向循環神経網を用いることによって全体の音声情報を活用することができ、その結果、認識装置は、現在ウィンドウに対応するターゲットデータの認識結果をより正確に算出できる。さらに、認識装置は、シーケンスデータをウィンドウ単位に分割して認識するため、認識結果を迅速に算出できる。認識装置で使用する循環モデルをトレーニングさせるトレーニング装置も、高い正確性を有する循環モデルを速い速度でトレーニングさせることができる。また、認識装置は、過去のコンテキストについてパディングを追加する代わりに、以前ウィンドウにおける状態パラメータを用いることにより、トレーニング誤差、トレーニング時間、ＧＰＵメモリ使容量、認識エラー、認識時間などを全て減少させることができる。
【００６６】
本明細書における認識結果は、現在ウィンドウに対応するターゲットデータから出力されなければならないラベル（ｌａｂｅｌ）を示してもよい。例えば、シーケンスデータが音声信号である場合、ターゲットデータは、現在ウィンドウだけ抽出された部分音声信号であってもよく、認識結果は、部分音声信号から識別された発音情報であってもよい。発音情報は、例えば、部分音声信号の各フレームに対応する音素を含む。
【００６７】
図５は、一実施形態に係る状態パラメータ及びパディングに基づいた循環神経網を用いたシーケンスデータ認識を説明する。
【００６８】
一実施形態に係る認識装置は、過去コンテキストの長さに制限されることなく、過去のコンテキストを参照するために以前ウィンドウにおける状態パラメータを考慮して現在ウィンドウに対応するターゲットデータに対する認識結果を算出する。また、認識装置は、未来コンテキストに対してはパディング（ｐａｄｄｉｎｇ）に対応するパディングデータを参照する。したがって、認識装置は、過去のコンテキストに加えて未来コンテキストを参照することで正確性及び認識速度を改善することができる。ここで、過去コンテキストデータと予めコンテキストデータは互いに異なるタイプのデータであってもよい。
【００６９】
図５では、複数のフレームで構成されるシーケンスデータ５０１を例にして説明する。認識装置は、シーケンスデータ５０１を構成しているフレームデータのそれぞれを順次受信する。フレームデータは、上述したように、シーケンスデータ５０１が一定時間区間でサンプリングされたデータを示すことができる。
【００７０】
認識装置は、シーケンスデータ５０１をウィンドウ単位に分割する。例えば、認識装置は、最初ウィンドウ５１０に対応するターゲットデータを処理した後、２番目のウィンドウ５２０に対応するターゲットデータを処理し、その後、３番目のウィンドウ５３０に対応するターゲットデータを処理する。認識装置は、それぞれのウィンドウに対応するターゲットデータのフレームデータが重複しないようにシーケンスデータ５０１を分割する。すなわち、フレームデータは、１つのウィンドウに示される。
【００７１】
認識装置は、シーケンスデータ５０１から現在ウィンドウに対応するターゲットデータ５４１、及び現在ウィンドウの次に連結されたパディングに対応するパディングデータ５４２を抽出する。認識装置は、ターゲットデータ５４１及びパディングデータ５４２を循環モデルに入力し、ターゲットデータ５４１に対する認識結果を算出する。
【００７２】
そして、認識装置は、ターゲットデータ５４１に対する認識結果を算出する過程で、現在ウィンドウの最後のフレームに対応する状態パラメータ５５０（例えば、隠れノードの出力値など）を格納する。ここで、認識装置は、現在ウィンドウの次に連結されたパディングに対応するパディングデータに対応する状態パラメータは排除する。
【００７３】
その後、認識装置は、次のウィンドウに対する認識結果を算出するため、以前に格納した状態パラメータ５５０を次のウィンドウの最初のフレームに対応するノード（例えば、フォワードノード）に、図５に示すようにフィードフォワーディングする。したがって、認識装置は、過去のコンテキストを保持しながらも、未来のコンテキストをパディングの大きさ内で参照できる。過去コンテキストについては、以前ウィンドウで予め格納した状態パラメータ５５０を現在ウィンドウの最初のフレームに対応するノードの初期値に入力すればよいため、認識装置の算出の複雑度が減少する。また、認識装置は、状態パラメータ５５０によって過去のコンテキストの長さに制限されることなく、過去のコンテキストを参照することで認識の正確度を向上させることができる。
【００７４】
認識装置は、最後ウィンドウ５９０の最後のフレームデータがシーケンスデータ５０１の最後のフレームデータである場合に応答して、パディングデータなしに認識を行う。
【００７５】
結果的に、認識装置は、最小のオーバーヘッドを有するよう正確度を保障しながら、音声信号などを徐々にデコーディングできる。
【００７６】
図５では認識を基準にして説明したが、必ずこれに限定されることはない。トレーニング装置も認識装置と同様に、トレーニングデータのトレーニング入力をウィンドウ単位に分割してパディングデータと共にトレーニングを行うことができる。
【００７７】
例えば、トレーニング装置は、トレーニング入力のターゲットデータ及びパディングデータを循環モデルにフィードフォワーディングする過程で、現在ウィンドウに対する状態パラメータを格納し、その後、逆伝搬（ｂａｃｋ  ｐｒｏｐａｇａｔｉｏｎ）学習によって循環モデルをアップデートする。現在ウィンドウに対するトレーニングが完了した後、トレーニング装置は、トレーニング入力で次のウィンドウに対応するターゲットデータと共に、現在ウィンドウに対する状態パラメータを循環モデルにフィードフォワーディングする。循環モデルのトレーニング及び逆伝搬学習などについて、下記の図１１を参照して詳細に説明する。
【００７８】
図６は、一実施形態に係る以前ウィンドウの状態パラメータを現在ウィンドウに反映する過程を説明する。
【００７９】
認識装置は、ｎ−１番目ウィンドウ６１０に対応するターゲットデータに対応する認識結果を算出する過程で、ｎ−１番目ウィンドウ６１０で最後のフレームに対応するノード６１１（例えば、フォワードノード）の状態パラメータを格納する。認識装置は、ｎ−１番目ウィンドウ６１０の次に配置するパディング６２０に関する情報は排除する。ここで、ｎは２以上の整数である。
【００８０】
認識装置は、最後のフレームに対応するノード６１１に対応する状態パラメータを別途の格納空間に臨時的に格納する。その後、認識装置は、ｎ−１番目ウィンドウ６１０で最後のフレームに対応するノード６１１の状態パラメータをｎ番目ウィンドウ６３０の最初のフレームに対応するノード６３１（例えば、次のフォワードノード）にフォワードパス６０１を介して伝搬する。
【００８１】
ｎ番目ウィンドウ６３０は、現在ウィンドウに対応する。したがって、認識装置は、現在ウィンドウ（図６では、ｎ番目ウィンドウ）６３０で最初のフレームに対応するノード６３１の初期状態パラメータを、以前ウィンドウ６１０で最後のフレームにおける状態パラメータに基づいて決定する。
【００８２】
その後、認識装置は、現在ウィンドウ６３０の循環モデルのノード状態パラメータを以前ウィンドウ６１０の状態パラメータ、現在ウィンドウ６３０に対応するターゲットデータ、及び現在ウィンドウに付与されたパディング６４０に対応するパディングデータに基づいてアップデートする。
【００８３】
図６を参照して認識装置に基づいて説明したが、必ずこれに限定されることはない。トレーニング装置も認識装置と同様に、トレーニングデータで現在ウィンドウに対応するトレーニング入力をトレーニングさせるために以前ウィンドウの最後のフレームに対応する状態パラメータをパディングデータと共に参照できる。
【００８４】
図７は、一実施形態に係る循環神経網の各ノードのアップデートを説明する図である。
【００８５】
認識装置は、循環神経網に対して同じレベルのレイヤの状態パラメータを順次アップデートした後、次のレベルのレイヤの状態パラメータを順次アップデートする。
【００８６】
例えば、図７は、３個のフレームから構成されるウィンドウが設定された循環神経網として、入力レイヤ、２つレベルの隠れレイヤ、及び出力レイヤを有するネットワーク構造を仮定する。
【００８７】
まず、認識装置は、ウィンドウに対応するターゲットデータに含まれるフレームデータｘｔ、ｘｔ＋１、ｘｔ＋２を循環神経網の入力レイヤ７１１、７２１、７３１に一回で入力できる。認識装置は、入力レイヤ７１１、７２１、７３１に入力されたターゲットデータの各フレームデータをフィードフォワーディングを介して隠れレイヤに伝達する。例えば、認識装置は、最初のフレームの入力レイヤ７１１から隠れレイヤ７１２にフィードフォワーディング７８１を介してターゲットデータを伝達し、中間フレームの入力レイヤ７２１から隠れレイヤ７２２にフィードフォワーディング７８２を介してターゲットデータを伝達し、最後のフレームの入力レイヤ７３１から隠れレイヤ７３２にフィードフォワーディング７８３を介してターゲットデータを伝達する。
【００８８】
その後、認識装置は、隠れレイヤのノードをフォワードパスを介して順次アップデートする。例えば、認識装置は、最初のフレームの隠れレイヤ７１２の状態パラメータを中間フレームの隠れレイヤ７２２にフォワードパス７８４を介して伝達し、隠れレイヤ７２２の状態パラメータをアップデートする。認識装置は、隠れレイヤ７２２の状態パラメータを再びフォワードパス７８５を介して最後のフレームの隠れレイヤ７３２にフォワードパス７８５を介して伝達し、隠れレイヤ７３２の状態パラメータをアップデートする。認識装置は、最初のフレームから最後のフレームまでフォワードパスを通した状態パラメータアップデートを繰り返すことができる。
【００８９】
そして、認識装置は、入力レイヤ７１１、７２１、７３１に入力されたターゲットデータをフィードフォワーディング７９１、７９２、７９３を介してバックワードパスのための隠れレイヤ７１３、７２３、７３３に伝達する。認識装置は、隠れレイヤのノードをバックワードパスを介して順次アップデートする。例えば、認識装置は、最後のフレームの隠れレイヤ７３３の状態パラメータを中間フレームの隠れレイヤ７２３にバックワードパス７９４を介して伝達し、隠れレイヤ７２３の状態パラメータをアップデートする。認識装置は、隠れレイヤ７２３の状態パラメータを再びバックワードパス７９５を介して伝達して最初のフレームの隠れレイヤ７１３に伝達し、隠れレイヤ７１３の状態パラメータをアップデートする。認識装置は、最後のフレームから最初のフレームまでバックワードパスを通した状態パラメータアップデートを繰り返すことができる。
【００９０】
認識装置は、次のレベルの隠れレイヤ７１４、７１５、７２４、７２５、７３４、７３５についても同様に状態パラメータをアップデートでき、最終的に出力レイヤ７１６、７２６、７３６に認識結果を出力できる。
【００９１】
図８は、一実施形態に係る認識装置の構成を示すブロック図である。
【００９２】
認識装置８００は、処理部８１０及び格納部８２０を含む。
【００９３】
処理部８１０は、シーケンスデータから現在ウィンドウに対応するターゲットデータ及びターゲットデータに続くパディングデータを抽出する。処理部８１０は、格納部８２０から以前ウィンドウに対応する状態パラメータを取得する。処理部８１０は、循環モデルに基づいて状態パラメータ、抽出されたターゲットデータ、及び抽出されたパディングデータから現在ウィンドウに対する認識結果を算出する。
【００９４】
ただし、処理部８１０の動作は必ずこれに限定されることなく、図１ないし図７、図１０、及び図１２を参照して説明する認識のための動作についても処理部８１０が行うことができる。
【００９５】
格納部８２０は循環モデルを含む。循環モデルは、トレーニング入力からトレーニング出力が出力されるようにトレーニングされたモデルであって、例えば、循環神経網を含み得る。上述したように、循環モデルは、ウィンドウ及びパディングに含まれる各フレームに対応するノードを含む。ノードは上述したように、循環モデルの隠れレイヤに含まれてもよい。また、格納部８２０は、循環モデルの各ノードに対する状態パラメータを格納してもよい。
【００９６】
図９は、一実施形態に係るトレーニング装置の構成を示すブロック図である。
【００９７】
トレーニング装置９００は、処理部９１０及び格納部９２０を含む。
【００９８】
処理部９１０は、循環モデル９２１を取得する。処理部９１０は、トレーニング入力から現在ウィンドウに対応するターゲットデータ及びターゲットデータに続くパディングデータを抽出する。処理部９１０は、格納部９２０から以前ウィンドウに対応する状態パラメータを取得する。処理部９１０は、状態パラメータ、抽出されたターゲットデータ、及び抽出されたパディングデータからトレーニング入力にマッピングされたトレーニング出力が算出されるよう、循環モデル９２１をトレーニングさせ得る。ただし、処理部９１０の動作が必ずこれに限定されることなく、図１ないし図７、図１１、及び図１２を参照して説明する動作についても処理部９１０が行うことができる。
【００９９】
本明細書でトレーニングデータ９０１は、トレーニング入力及びトレーニング出力を含む。トレーニング出力はトレーニング入力にマッピングされた出力として、例えば、トレーニング入力から出力されなければならないラベル（ｌａｂｅｌ）であってもよい。例えば、音声認識において、トレーニング入力は音声信号、トレーニング出力は当該音声信号が示す音素情報である。
【０１００】
一実施形態によれば、処理部９１０は、エラー逆伝搬学習によって循環モデル９２１のレイヤ間の連結加重値、ノードの状態パラメータなどをトレーニングさせる得る。
【０１０１】
例えば、処理部９１０は、監督学習（ｓｕｐｅｒｖｉｓｅｄ  ｌｅａｒｎｉｎｇ）により神経網（例えば、循環神経網）を学習させ得る。監督学習とは、トレーニング入力とそれに対応するトレーニング出力を共に神経網に入力し、トレーニング入力に対応するトレーニング出力が出力されるように神経網の連結線の連結加重値をアップデートする方法である。例えば、処理部９１０は、デルタ規則とエラー逆伝搬学習などによってノード間の連結加重値などをアップデートし得る。
【０１０２】
エラー逆伝搬学習は、与えられたトレーニングデータに対して前方算出でエラーを推定した後、出力レイヤから始まって隠れレイヤと入力レイヤへの逆方向に推定したエラーを伝搬し、エラーを減らす方向に連結加重値を調整する方法である。神経網の認識のための処理は、入力レイヤ、隠れレイヤ、出力レイヤの順に行われるが、エラー逆伝搬学習で連結加重値のアップデート方向は出力レイヤ、隠れレイヤ、入力レイヤの順に行われる。
【０１０３】
格納部９２０は、循環モデル９２１を格納する。格納部９２０は、トレーニング過程の間に順次アップデートされる循環モデル９２１を格納する。また、格納部９２０はトレーニングデータ９０１を格納してもよい。
【０１０４】
図１０は、一実施形態に係る認識方法を説明したフローチャートである。
【０１０５】
下記のステップＳ１０１０ないしＳ１０３０は、シーケンスデータのうち１つのウィンドウに対する認識過程を説明する。認識装置は、シーケンスデータをウィンドウ単位に分割し、最初ウィンドウから最後ウィンドウまで下記のステップＳ１０１０〜Ｓ１０３０を繰り返すことで順次認識結果を算出する。
【０１０６】
まず、ステップＳ１０１０で、認識装置は、シーケンスデータから現在ウィンドウに対応するターゲットデータ及びターゲットデータに続くパディングデータを抽出する。一実施形態によれば、認識装置は、シーケンスデータから以前ウィンドウの最後のフレームデータの次のフレームデータからウィンドウ長さだけのデータを現在ウィンドウに対応するターゲットデータとして抽出する。また、認識装置は、シーケンスデータから現在ウィンドウの最後のフレームデータの次のフレームデータからパディング長さだけのデータをパディングに対応するパディングデータとして抽出する。例えば、認識装置は、音声信号に対応するシーケンスデータを受信する。
【０１０７】
また、認識装置は、現在ウィンドウがシーケンスデータに対して最後ウィンドウである場合に応答してパディングデータを排除する。図５を参照して上述したように最後ウィンドウである場合、パディングによって取得可能なシーケンスデータがないため、認識装置は、最後ウィンドウに対してはパディングを排除する。
【０１０８】
そして、ステップＳ１０２０で、認識装置は、以前ウィンドウに対応する状態パラメータを取得する。一実施形態によれば、認識装置は、現在ウィンドウがシーケンスデータに対して最初ウィンドウである場合に応答して、以前ウィンドウに対応する状態パラメータをデフォルト値として決定する。例えば、認識装置は現在ウィンドウが最初ウィンドウである場合に応答して、以前ウィンドウに対応する状態パラメータをデフォルト値である０として決定することで、循環モデルに対して以前ウィンドウによる影響を排除しながら、最初ウィンドウに対応するターゲットデータのみを入力できる。
【０１０９】
次に、ステップＳ１０３０で、認識装置は、循環モデルに基づいて状態パラメータ、抽出されたターゲットデータ、及び抽出されたパディングデータから現在ウィンドウに対する認識結果を算出する。例えば、認識装置は、現在ウィンドウに対応するターゲットデータから発音を識別する。一実施形態によれば、認識装置は、循環モデルは現在ウィンドウのウィンドウ長さ及びパディング長さだけ広げられてもよい。認識装置は、広げられた循環モデル（ｕｎｆｏｌｄｅｄ  ｒｅｃｕｒｒｅｎｔ  ｍｏｄｅｌ）で状態パラメータ、抽出されたターゲットデータ、及び抽出されたパディングデータをフレームごとに入力し、現在ウィンドウに含まれたフレームに対応する出力データを算出する。
【０１１０】
例えば、認識装置は、以前ウィンドウの最後のフレームに対応する状態パラメータに基づいて、現在ウィンドウの最初のフレームに対応するノードに対する入力値をアップデートする。具体的に、図６を参照して上述したように、認識装置は、以前ウィンドウの最後のフレームにおける状態パラメータを臨時的に格納してから、現在ウィンドウに入力する値をアップデートするために使用できる。
【０１１１】
ここで、認識装置は、ウィンドウの最初のフレームから最後のフレームまで順次ノードのフォワードパスによる状態パラメータをアップデートする。認識装置は、ウィンドウの最後のフレームから最初のフレームまで順次ノードのバックワードパスによる状態パラメータをアップデートする。認識装置は、フォワードパスによる状態パラメータ及びバックワードパスによる状態パラメータを次のレイヤのノードに提供する。フォワードパス及びバックワードパスに基づいた状態パラメータのアップデートは、図７を参照して説明した通りである。
【０１１２】
一実施形態によれば、認識装置は、現在ウィンドウの最後のフレームに対応する状態パラメータを、次のウィンドウで使用するために臨時格納してもよい。
【０１１３】
また、認識装置は、循環モデルに基づいて算出されるパディングデータに対する出力データ及びパディングに関する状態パラメータを排除する。例えば、認識装置は、パディングデータに関する認識結果を無視し、次のウィンドウの認識に使用するための情報からパディングに関する状態パラメータを排除する。
【０１１４】
上述した認識装置は、音声認識、筆記認識、翻訳、テキスト生成、自然語理解（ｎａｔｕｒａｌ  ｌａｎｇｕａｇｅ  ｕｎｄｅｒｓｔａｎｄｉｎｇ：ＮＬＵ）などに循環モデルを用いることができる。
【０１１５】
図１１は、一実施形態に係るトレーニング方法を説明したフローチャートである。
【０１１６】
下記のステップＳ１１１０ないしＳ１１４０は、シーケンスデータのうち１つのウィンドウに対するトレーニング過程を説明する。認識装置は、シーケンスデータをウィンドウ単位に分割し、最初ウィンドウから最後ウィンドウまで下記のステップＳ１１１０ないしＳ１１４０を繰り返すことで順次トレーニングを行う。
【０１１７】
まず、ステップＳ１１１０では、トレーニング装置が循環モデルを取得する。例えば、トレーニング装置は、内部の格納部から循環モデルをロードしたり、外部サーバから循環モデルを受信する。
【０１１８】
そして、ステップＳ１１２０では、トレーニング装置がトレーニング入力から現在ウィンドウに対応するターゲットデータ及びターゲットデータに続くパディングデータを抽出する。一実施形態によれば、トレーニング装置は、現在ウィンドウがトレーニング入力に対して最後ウィンドウである場合に応答し、パディングデータを排除する。
【０１１９】
次に、ステップＳ１１３０では、トレーニング装置が以前ウィンドウに対応する状態パラメータを取得する。一実施形態によれば、トレーニング装置は、現在ウィンドウがトレーニング入力に対して最初ウィンドウである場合に応答して、以前ウィンドウに対応する状態パラメータをデフォルト値（例えば、０）に決定する。したがって、トレーニング装置は、トレーニングデータで現在ウィンドウが最初ウィンドウである場合、以前ウィンドウが存在しないことから以前ウィンドウを無視する。
【０１２０】
そして、ステップＳ１１４０では、トレーニング装置が状態パラメータ、抽出されたターゲットデータ、及び抽出されたパディングデータからトレーニング入力にマッピングされたトレーニング出力が算出されるよう、循環モデルをトレーニングさせる。一実施形態によれば、トレーニング装置は、以前ウィンドウの最後のフレームに対応する状態パラメータに基づいて、現在ウィンドウの最初のフレームに対応するノードの状態パラメータをアップデートする。
【０１２１】
一実施形態によれば、トレーニング装置は、状態パラメータ、抽出されたターゲットデータ、及び抽出されたパディングデータからトレーニング入力にマッピングされたトレーニング出力が算出されるよう、循環モデルをトレーニングさせることができる。
【０１２２】
また、トレーニング装置は、循環モデルに基づいて算出されるパディングに対する出力データ及びパディングに関する状態パラメータを排除する。例えば、トレーニング装置は、現在ウィンドウに対するトレーニングが完了した後、現在ウィンドウの最後のフレームの隠れレイヤの隠れノードの出力値などを次のウィンドウに対するトレーニングで使用し、パディングに関する出力データ及び状態パラメータは次のウィンドウに対するトレーニングから排除する。
【０１２３】
図１２は、一実施形態に係る認識方法及びトレーニング方法においてシーケンスデータに対するウィンドウ及びパディングを設定する過程を説明したフローチャートである。
【０１２４】
認識装置の処理部又はトレーニング装置の処理部は、下記のステップＳ１２１１ないしＳ１２４０に基づいてシーケンスデータをウィンドウ単位に分割し、認識又はトレーニングを行う。
【０１２５】
まず、ステップＳ１２１１で、処理部は、シーケンスデータを取得する。一実施形態によれば、処理部は、外部から通信又は内部データインターフェースなどを用いてシーケンスデータを取得する。例えば、処理部は、シーケンスデータを構成しているフレームデータを時間の流れに応じて順次受信する。
【０１２６】
そして、ステップＳ１２１２で、処理部は、シーケンスデータをウィンドウ単位に分割する。一実施形態によれば、処理部は、連続する一連のフレームデータをウィンドウ長さだけ分割し、ターゲットデータを生成する。例えば、処理部は、ウィンドウ間にフレームデータが重複して含まれないようにシーケンスデータを分割する。すなわち、フレームデータは、１つのウィンドウに示される。
【０１２７】
次に、ステップＳ１２１３で、処理部は、現在ウィンドウが最初ウィンドウであるか否かを判断する。例えば、処理部は、現在ウィンドウ以前フレームデータがシーケンスデータに存在しない場合、現在ウィンドウが最初ウィンドウであると判断する。
【０１２８】
そして、ステップＳ１２１４で、処理部は、現在ウィンドウが最初ウィンドウではない場合に応答して、以前ウィンドウの最後のフレームに該当する状態パラメータを取得する。例えば、現在ウィンドウがシーケンスデータの最初ウィンドウではない場合、処理部はすでに以前ウィンドウに対する認識又はトレーニングを行う過程で以前ウィンドウの最後のフレームに該当する状態パラメータを算出及び格納しておくことができる。処理部は、基格納された状態パラメータをロードする。
【０１２９】
次に、ステップＳ１２１５で、処理部は、現在ウィンドウが最後ウィンドウであるか否かを判断する。例えば、処理部は、現在ウィンドウ次のフレームデータが存在しない場合、現在ウィンドウが最後ウィンドウであると判断する。
【０１３０】
そして、ステップＳ１２１６で、処理部は、現在ウィンドウが最後ウィンドウではない場合に応答して、ウィンドウの後にパディングを追加する。例えば、処理部は、パディングに該当するだけのフレームデータ（例えば、パディングデータ）をシーケンスデータから追加的に抽出する。したがって、処理部は、ウィンドウに対応するターゲットデータ及びパディングに対応するパディングデータを抽出する。
【０１３１】
次に、ステップＳ１２２２で、処理部は、認識又はトレーニングを行う。例えば、処理部が認識装置内によって実現された装置である場合、処理部は、上述したステップＳ１２１６で抽出されたターゲットデータ及びパディングデータに基づいてターゲットデータに対応する認識結果を生成する。異なる例として、処理部がトレーニング装置内によって実現された装置である場合、処理部は、上述したステップＳ１２１６で抽出されたターゲットデータ及びパディングデータに基づいて、ターゲットデータにマッピングされたラベルが出力されるように循環モデルをトレーニングさせ得る。
【０１３２】
そして、ステップＳ１２３０で、処理部は、現在ウィンドウの最後のフレームに該当する状態パラメータを格納する。ここで、格納された現在ウィンドウの最後のフレームに該当する状態パラメータは、次のウィンドウの最初のフレームに対応するノードの状態パラメータのアップデートのために使用される。
【０１３３】
次に、ステップＳ１２２１で、処理部は、現在ウィンドウが最後ウィンドウではない場合に応答して、認識又はトレーニングを行う。例えば、処理部が認識装置内によって実現された装置である場合、処理部は、上述したステップＳ１２１２で分割された現在ウィンドウに対応するターゲットデータに基づいてターゲットデータに対応する認識結果を生成する。異なる例として、処理部がトレーニング装置内によって実現された装置である場合、処理部は、上述したステップＳ１２１２で分割された現在ウィンドウに対応するターゲットデータに基づいて、ターゲットデータにマッピングされたラベルが出力されるように循環モデルをトレーニングさせ得る。
【０１３４】
そして、ステップＳ１２４０で、処理部は、シーケンスデータの終了有無を判断する。シーケンスデータが終了した場合、処理部は、認識又はトレーニング動作を終了する。シーケンスデータが現在ウィンドウの後にも続く場合に応答して、処理部はステップＳ１２１１に戻る。
【０１３５】
以上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、又はハードウェア構成要素及びソフトウェア構成要素の組合せで具現される。例えば、実施形態で説明した装置及び構成要素は、例えば、プロセッサ、コントローラ、ＡＬＵ（ａｒｉｔｈｍｅｔｉｃ  ｌｏｇｉｃ  ｕｎｉｔ）、デジタル信号プロセッサ（ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）、マイクロコンピュータ、ＦＰＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ａｒｒａｙ）、ＰＬＵ（ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｕｎｉｔ）、マイクロプロセッサー、又は命令（ｉｎｓｔｒｕｃｔｉｏｎ）を実行して応答する異なる装置のように、１つ以上の汎用コンピュータ又は特殊目的コンピュータを用いて具現される。処理装置は、オペレーティングシステム（ＯＳ）及びオペレーティングシステム上で実行される１つ以上のソフトウェアアプリケーションを実行する。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理、及び生成する。理解の便宜のために、処理装置は１つが使用されるものとして説明する場合もあるが、当該技術分野で通常の知識を有する者は、処理装置が複数の処理要素（ｐｒｏｃｅｓｓｉｎｇ  ｅｌｅｍｅｎｔ）及び／又は複数類型の処理要素を含むことが分かる。例えば、処理装置は、複数のプロセッサ又は１つのプロセッサ及び１つのコントローラを含む。また、並列プロセッサ（ｐａｒａｌｌｅｌ  ｐｒｏｃｅｓｓｏｒ）のような、他の処理構成も可能である。
【０１３６】
ソフトウェアは、コンピュータプログラム、コード、命令、又はこれらのうちの１つ以上の組合せを含み、希望通りに動作するように処理装置を構成し、独立的又は結合的に処理装置に命令する。ソフトウェア及び／又はデータは、処理装置によって解釈され、処理装置に命令又はデータを提供するためのあらゆる類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体又は装置、或いは送信される信号波を介して永久的又は一時的に具現化される。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散され、分散された方法で格納されるか又は実行される。ソフトウェア及びデータは１つ以上のコンピュータ読み取り可能な記録媒体に格納される。
【０１３７】
本実施形態による方法は、多様なコンピュータ手段を介して実施されるプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。記録媒体は、プログラム命令、データファイル、データ構造などを単独又は組合せて含む。記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー（登録商標）ディスク及び磁気テープのような磁気媒体、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体、フロプティカルディスクのような磁気−光媒体、及びＲＯＭ、ＲＡＭ、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置を含む。プログラム命令の例としては、コンパイラによって生成されるような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行される高級言語コードを含む。ハードウェア装置は、本発明の動作を実行するために１つ以上のソフトウェアモジュールとして作動するように構成してもよく、その逆も同様である。
【０１３８】
上述したように実施形態をたとえ限定された図面によって説明したが、当該技術分野で通常の知識を有する者であれば、前記に基づいて様々な技術的な修正及び変形を適用することができる。例えば、説明された技術が説明された方法と異なる順序で実行されたり、及び／又は説明されたシステム、構造、装置、回路などの構成要素が説明された方法と異なる形態で結合又は組合わせられたり、他の構成要素又は均等物によって置き換えたり置換されても適切な結果を達成することができる。
【０１３９】
したがって、他の具現、他の実施形態、及び請求範囲と均等なものも後述する請求範囲の範囲に属する。
【符号の説明】
【０１４０】
８００：認識装置
８１０：処理部
８２０：格納部
【図１】
2018097860.tif 000003
【図２】
2018097860.tif 000004
【図３】
2018097860.tif 000005
【図４】
2018097860.tif 000006
【図５】
2018097860.tif 000007
【図６】
2018097860.tif 000008
【図７】
2018097860.tif 000009
【図８】
2018097860.tif 000010
【図９】
2018097860.tif 000011
【図１０】
2018097860.tif 000012
【図１１】
2018097860.tif 000013
【図１２】
2018097860.tif 000014