IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アクセンチュア グローバル ソリューションズ リミテッドの特許一覧

特開2023-131161スパイキングニューラルネットワークのための効率的な音声・スパイク変換パイプライン
<>
  • 特開-スパイキングニューラルネットワークのための効率的な音声・スパイク変換パイプライン 図1
  • 特開-スパイキングニューラルネットワークのための効率的な音声・スパイク変換パイプライン 図2
  • 特開-スパイキングニューラルネットワークのための効率的な音声・スパイク変換パイプライン 図3
  • 特開-スパイキングニューラルネットワークのための効率的な音声・スパイク変換パイプライン 図4A
  • 特開-スパイキングニューラルネットワークのための効率的な音声・スパイク変換パイプライン 図4B
  • 特開-スパイキングニューラルネットワークのための効率的な音声・スパイク変換パイプライン 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023131161
(43)【公開日】2023-09-21
(54)【発明の名称】スパイキングニューラルネットワークのための効率的な音声・スパイク変換パイプライン
(51)【国際特許分類】
   G10L 15/16 20060101AFI20230913BHJP
   G10L 15/02 20060101ALI20230913BHJP
   G10L 25/18 20130101ALI20230913BHJP
【FI】
G10L15/16
G10L15/02 300A
G10L25/18
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023035501
(22)【出願日】2023-03-08
(31)【優先権主張番号】63/317,873
(32)【優先日】2022-03-08
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】18/118,619
(32)【優先日】2023-03-07
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】516172237
【氏名又は名称】アクセンチュア グローバル ソリューションズ リミテッド
(74)【代理人】
【識別番号】100102406
【弁理士】
【氏名又は名称】黒田 健二
(74)【代理人】
【識別番号】100100240
【弁理士】
【氏名又は名称】松本 孝
(72)【発明者】
【氏名】ダニエルスキュ,ラヴィニア アンドレア
(72)【発明者】
【氏名】スチュワート,ケネス マイケル
(72)【発明者】
【氏名】パシク-ネルソン,ノア ギデオン
(72)【発明者】
【氏名】シアー,ティモシー エム
(57)【要約】      (修正有)
【課題】オーディオを、スパイクに基づき音声を認識するスパイキングニューラルネットワークに入力されるスパイクに変換するためのコンピュータストレージ媒体上にエンコーディングされたコンピュータプログラムを含む、方法、システム及び装置を提供する。
【解決手段】方法は、オーディオデータを取得するステップと、オーディオデータを表現する周波数領域オーディオ信号を、オーディオデータを周波数領域へと変換することにより生成するステップと、周波数領域オーディオ信号をメル周波数バンドのセットへとマッピングし、対数メル信号を取得するステップと、メル尺度周波数オーディオ信号に対して対数変換を実行スパイクに変換するステップと、スパイキングニューラルネットワーク(SNN)モデルに入力されるスパイク入力を、対数メル信号を一連のスパイクに変換することにより生成するステップと、を含む。
【選択図】図3
【特許請求の範囲】
【請求項1】
オーディオ・スパイク変換パイプラインの1つ以上のコンポーネントを使用して1つ以上のデータ処理装置により実行される方法であって、
オーディオデータを取得するステップと、
前記オーディオデータを表現する周波数領域オーディオ信号を、前記オーディオデータを周波数領域へと変換するステップにより生成するステップと、
メル尺度周波数オーディオ信号を取得するために、前記周波数領域オーディオ信号をメル周波数バンドのセットへとマッピングするステップと、
対数メル信号を取得するために、前記メル尺度周波数オーディオ信号に対して対数変換を実行するステップと、
スパイキングニューラルネットワーク(SNN)モデルに入力される一連のスパイクを含むスパイク入力を、前記対数メル信号を前記一連のスパイクに変換することにより生成するステップと、
前記スパイク入力を前記SNNモデルに入力として提供するステップと
を含む、前記方法。
【請求項2】
前記スパイク入力を使用して前記SNNモデルを実行するステップであって、前記スパイキングニューラルネットワークは、前記オーディオデータに対応するテキストを含む音声認識結果を生成するために前記一連のスパイクを処理する、前記実行するステップと、
前記音声認識結果を出力するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記音声認識結果に基づくアクションを実行するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記オーディオデータを取得するステップは、
前記オーディオデータをメモリから取得するステップ、または
前記オーディオデータをアクティブなマイクロフォンから取得するステップ
を含む、請求項1に記載の方法。
【請求項5】
前記オーディオデータを前記周波数領域へと変換するステップは、
センタリングおよびスケーリングされたオーディオデータを取得するために、前記オーディオ信号をセンタリングおよびスケーリングするステップと、
前記センタリングおよびスケーリングされたオーディオデータを、所定長のスライディングウィンドウを使用して周波数領域へと変換するステップと
を含む、請求項1に記載の方法。
【請求項6】
前記オーディオデータを前記周波数領域へと変換するステップは、スライディング離散フーリエ変換(SDFT)アルゴリズムを使用して前記オーディオデータを変換するステップを含む、請求項1に記載の方法。
【請求項7】
前記対数メル信号をスパイク入力に変換するステップは、
隣接した2つのタイムステップの前記対数メル信号間のステップごとの差分を判断するステップと、
前記ステップごとの差分が、正または負いずれかの方向において閾値を満たすと判断するステップと、
対応する極性のスパイクを生成するステップと
を含む、請求項1に記載の方法。
【請求項8】
前記対数メル信号をスパイクへと変換するステップは、各対数メル信号の量子化された合計を算出することにより累積和スパイクを求めるステップを含む、請求項1に記載の方法。
【請求項9】
前記対数メル特徴をスパイクへと変換するステップは、
複数のブロックにおいてスタックされた特徴を取得するために、前記対数メル特徴を複数回スタックするステップと、
前記複数のブロックにおいて前記スタックされた特徴をスパイクへと変換するステップと
を含む、請求項1に記載の方法。
【請求項10】
前記オーディオ・スパイク変換パイプラインの前記1つ以上のコンポーネントは、分類の正確さに基づき調整されるハイパーパラメータを含む、請求項1に記載の方法。
【請求項11】
ハイパーパラメータ設定の複数のセットの中の各ハイパーパラメータ設定について、
前記オーディオ・スパイク変換パイプラインの前記1つ以上のコンポーネントに前記ハイパーパラメータ設定を適用するステップ、
前記オーディオ・スパイク変換パイプラインの前記1つ以上のコンポーネントを使用してスパイク入力に変換される訓練オーディオデータを使用して複数のテストSNNモデルを訓練するステップ、および
テストデータを使用して各テストSNNモデルをテストするステップであって、各テストSNNモデルにより生成された音声認識結果の正確さを判断することにより結果データを生成するステップを含む、前記テストするステップと、
ハイパーパラメータの各セットについて前記結果データに基づき前記ハイパーパラメータを更新するステップと
をさらに含む、請求項10に記載の方法。
【請求項12】
前記方法は、ハイパーパラメータの各セットについて前記結果データに基づき各ハイパーパラメータの重要度を判断するステップをさらに含み、前記ハイパーパラメータを更新するステップは、少なくとも1つのハイパーパラメータの前記重要度に基づき前記少なくとも1つのハイパーパラメータを更新するステップを含む、請求項11に記載の方法。
【請求項13】
前記スパイク入力を生成する際に、所与のハイパーパラメータの前記重要度に基づき、特定の前記ハイパーパラメータを使用しないようにするステップをさらに含む、請求項12に記載の方法。
【請求項14】
ニューロモルフィックプロセッサを含む1つ以上のプロセッサと、
前記1つ以上のプロセッサにより実行されると前記1つ以上のプロセッサに動作を実行させる命令を格納する1つ以上のストレージデバイスと
を含むシステムであって、前記動作は、
オーディオデータを取得することと、
前記オーディオデータを表現する周波数領域オーディオ信号を、前記オーディオデータを周波数領域へと変換することにより生成することと、
メル尺度周波数オーディオ信号を取得するために、前記周波数領域オーディオ信号をメル周波数バンドのセットへとマッピングすることと、
対数メル信号を取得するために、前記メル尺度周波数オーディオ信号に対して対数変換を実行することと、
スパイキングニューラルネットワーク(SNN)モデルに入力される一連のスパイクを含むスパイク入力を、前記対数メル信号を前記一連のスパイクに変換することにより生成することと、
前記スパイク入力を前記SNNモデルに入力として提供することと
を含む、システム。
【請求項15】
前記動作は、
前記スパイク入力を使用して前記SNNモデルを実行することであって、前記スパイキングニューラルネットワークは、前記オーディオデータに対応するテキストを含む音声認識結果を生成するために前記一連のスパイクを処理する、前記実行することと、
前記音声認識結果を出力することと
を含む、請求項14に記載のシステム。
【請求項16】
前記動作は、前記音声認識結果に基づくアクションを実行することを含む、請求項15に記載のシステム。
【請求項17】
前記オーディオデータを取得することは、
前記オーディオデータをメモリから取得すること、または
前記オーディオデータをアクティブなマイクロフォンから取得すること
を含む、請求項14に記載のシステム。
【請求項18】
前記オーディオデータを前記周波数領域へと変換することは、
センタリングおよびスケーリングされたオーディオデータを取得するために、前記オーディオ信号をセンタリングおよびスケーリングすることと、
前記センタリングおよびスケーリングされたオーディオデータを、所定長のスライディングウィンドウを使用して周波数領域へと変換することと
を含む、請求項14に記載のシステム。
【請求項19】
前記オーディオデータを前記周波数領域へと変換することは、スライディング離散フーリエ変換(SDFT)アルゴリズムを使用して前記オーディオデータを変換することを含む、請求項14に記載のシステム。
【請求項20】
ニューロモルフィックプロセッサを含む1つ以上のプロセッサにより実行されると前記1つ以上のコンピュータに動作を実行させる命令を格納する1つ以上のコンピュータストレージ媒体であって、前記動作は、
オーディオデータを取得することと、
前記オーディオデータを表現する周波数領域オーディオ信号を、前記オーディオデータを周波数領域へと変換することにより生成することと、
メル尺度周波数オーディオ信号を取得するために、前記周波数領域オーディオ信号をメル周波数バンドのセットへとマッピングすることと、
対数メル信号を取得するために、前記メル尺度周波数オーディオ信号に対して対数変換を実行することと、
スパイキングニューラルネットワーク(SNN)モデルに入力される一連のスパイクを含むスパイク入力を、前記対数メル信号を前記一連のスパイクに変換することにより生成することと、
前記スパイク入力を前記SNNモデルに入力として提供することと
を含む、1つ以上のコンピュータストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、全般的に、オーディオ処理および機械学習に関する。
【0002】
関連出願の相互参照
本願は、2022年3月8日出願の米国特許仮出願第63/317,873号および2023年3月7日出願の米国特許出願第18/118,619号の優先権を主張するものであり、その内容全体を参照によってあらゆる目的のために本願明細書に援用する。
【背景技術】
【0003】
音声認識は、話し言葉を認識し、テキストへと変換する技術を伴う。音声認識は、音声テキスト化処理、および人々がボイスコマンドを使用して電子デバイスとやり取りするボイスインターフェースを含む、多くの状況で使用される。
【発明の概要】
【課題を解決するための手段】
【0004】
エッジコンピューティングは、計算およびデータストレージをデータのソースに近づける分散型コンピューティングのパラダイムである。エッジコンピューティングは、応答時間を改善し、帯域幅を節約することができる。エッジデバイスは、ローカルレベルでデータを処理するコンピューティングデバイスである。しかしながら、エッジデバイスのコンピューティング能力は、従来のサーバコンピュータと比較して限定的な場合がある。
【0005】
脳から着想を得たニューロモルフィックハードウェアおよびニューロモルフィックハードウェア上で実行されるスパイキングニューラルネットワークモデル(SNN::Spiking Neural Network)は、それらをエッジデバイスのための音声認識に適したものにする魅力的な利点を提供することができる。ニューロモルフィックプロセッサには、低電力、低レイテンシであり、継続的に学習するという利点がある。例として、ニューロモルフィックプロセッサは、音声認識の推論中に消費される電力を、CPUまたはGPUアクセラレータと比較して数桁削減する可能性がある。ニューロモルフィックプロセッサは、エッジデバイスなど電力に制約がある様々なデバイスが、デジタル信号処理などの他の音声認識手法よりも膨大な語彙を使用して音声認識をサポートできるようにすることができる。ニューロモルフィックシステムは、音声認識を含む多様な用途にわたって低レイテンシの推論を可能にできる、イベントベースのスパースなデータを処理する。ニューロモルフィックシステムは、SNNのための継続的学習アルゴリズムをサポートすることができる。
【0006】
本文書に記載される手法は、効率的なオーディオ・スパイク変換パイプラインを提供し、このパイプラインは、音声をSNNに入力されるスパイクへと変換するものであり、低電力ニューロモルフィックプロセッサを用いたリアルタイム動作に適しているので、エッジデバイスによって迅速且つ効率的に変換および音声認識を実行できる。例として、本文書は、ストリーミングされるオーディオを含む生のオーディオを、エッジデバイスでのリアルタイム音声認識のため十分高速にスパイクに変換する、パイプラインおよび対応する手法について記載する。
【0007】
オーディオ・スパイク変換パイプラインは、パイプラインがどのようにオーディオデータを処理してオーディオデータをSNNに対するスパイク入力へと変換するかを制御する、ハイパーパラメータを含むことができる。ハイパーパラメータのスイープをオーディオ・スパイクパイプラインに対して実行することで、パイプラインのハイパーパラメータを最適化するか、または少なくとも改善し、その結果、より効率的(例えばより少ない計算および/またはより少ないプロセッササイクルを要する)且つより高速にオーディオデータをスパイクへと変換することができる。例として、ハイパーパラメータのスイーププロセスは、ハイパーパラメータの相対的な重要度を判断でき、一部のハイパーパラメータに関連する処理は、そのハイパーパラメータが重要でなければもはや実行されなくてもよい。これにより、オーディオデータ(またはオーディオデータの中間形態)の処理量が、変換の正確さに悪影響を及ぼすことなく削減される。
【0008】
一部の実装によれば、1つ以上のデータ処理装置により実行される方法は、オーディオデータを取得するステップと、オーディオデータを表現する周波数領域オーディオ信号を、オーディオデータを周波数領域に変換することにより生成するステップと、メル尺度周波数オーディオ信号を取得するために、周波数領域オーディオ信号をメル周波数バンドのセットにマッピングするステップと、対数メル信号を取得するために、メル尺度周波数オーディオ信号に対して対数変換を実行するステップと、スパイキングニューラルネットワーク(SNN)モデルに入力される一連のスパイクを含むスパイク入力を、対数メル信号を一連のスパイクに変換することにより生成するステップと、スパイク入力をSNNモデルに入力として提供するステップとを含む。本側面の他の実施形態は、対応するコンピュータシステム、装置、コンピュータプログラム製品、および1つ以上のコンピュータストレージデバイスに記録されたコンピュータプログラムを含み、それぞれが本方法のアクションを実行するよう構成される。1つ以上のコンピュータのシステムは、動作中にシステムにアクションを実行させる、システムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを有することにより、特定の動作またはアクションを実行するよう構成できる。1つ以上のコンピュータプログラムは、データ処理装置により実行されると装置にアクションを実行させる命令を含むことにより、特定の動作またはアクションを実行するように構成できる。
【0009】
各実装は、以下の特徴のうちの1つ以上を含んでもよい。一部の側面において、本方法は、スパイク入力を使用してSNNモデルを実行するステップを含む。スパイキングニューラルネットワークは、オーディオデータに対応するテキストを含む音声認識結果を生成するために一連のスパイクを処理し、音声認識結果を出力する。
【0010】
一部の側面は、音声認識結果に基づくアクションを実行するステップを含む。一部の側面において、オーディオデータを取得するステップは、オーディオデータをメモリから取得するステップ、またはアクティブなマイクロフォンからオーディオデータを取得するステップを含む。
【0011】
一部の側面において、オーディオデータを周波数領域へと変換するステップは、センタリングおよびスケーリングされたオーディオデータを取得するために、オーディオ信号をセンタリングおよびスケーリングするステップと、センタリングおよびスケーリングされたオーディオデータを、所定長のスライディングウィンドウを使用して周波数領域へと変換するステップとを含む。一部の側面において、オーディオデータを周波数領域へと変換するステップは、スライディング離散フーリエ変換(SDFT:sliding discrete Fourier transform)アルゴリズムを使用してオーディオデータを変換するステップを含む。
【0012】
一部の側面において、対数メル信号をスパイク入力に変換するステップは、隣接した2つのタイムステップの対数メル信号間のステップごとの差分を判断するステップと、ステップごとの差分が、正または負いずれかの方向において閾値を満たすと判断するステップと、対応する極性のスパイクを生成するステップとを含む。一部の側面において、対数メル信号をスパイクへと変換するステップは、各対数メル信号の量子化された合計を算出することにより累積和スパイクを求めるステップを含む。
【0013】
一部の側面において、対数メル特徴をスパイクへと変換するステップは、複数のブロックにおいてスタックされた特徴を取得するために、対数メル特徴を複数回スタックするステップと、複数のブロックにおいてスタックされた特徴をスパイクへと変換するステップとを含む。
【0014】
一部の側面において、オーディオ・スパイク変換パイプラインの1つ以上のコンポーネントは、分類の正確さに基づき調整されるハイパーパラメータを含む。一部の側面は、ハイパーパラメータ設定の複数のセットの中の各ハイパーパラメータ設定について、オーディオ・スパイク変換パイプラインの1つ以上のコンポーネントにハイパーパラメータ設定を適用するステップと、オーディオ・スパイク変換パイプラインの1つ以上のコンポーネントを使用してスパイク入力に変換される訓練オーディオデータを使用して複数のテストSNNモデルを訓練するステップと、テストデータを使用して各テストSNNモデルをテストするステップであって、各テストSNNモデルにより生成された音声認識結果の正確さを判断することにより結果データを生成するステップを含む、テストするステップと、ハイパーパラメータの各セットについて結果データに基づきハイパーパラメータを更新するステップとを含む。
【0015】
一部の側面は、ハイパーパラメータの各セットについて結果データに基づき各ハイパーパラメータの重要度を判断するステップを含み、ハイパーパラメータを更新するステップは、少なくとも1つのハイパーパラメータの重要度に基づき少なくとも1つのハイパーパラメータを更新するステップを含む。
【0016】
一部の側面は、スパイク入力を生成する際に、所与のハイパーパラメータの重要度に基づき、特定のハイパーパラメータを使用しないようにするステップを含む。
【0017】
本開示による方法は、本願明細書に記載される諸側面および諸特徴の任意の組み合わせを含むことができる。つまり、本開示による方法は、本願明細書に具体的に記載される諸側面および諸特徴の組み合わせに限定されず、示される諸側面および諸特徴の任意の組み合わせも含み得る。
【0018】
本開示の1つ以上の実装の詳細が、添付の図面および下記の説明の中に記載されている。本開示の他の特徴および利点が、本記載および図面、ならびに特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0019】
図1】オーディオデータ内の言語音を認識するためにコンピューティングデバイスがオーディオデータを処理する、例示の環境のブロック図である。
図2】例示のオーディオ・スパイク変換の4つの段階を示す。
図3】オーディオデータをスパイクに変換し、SNNを使用してスパイクを処理して、言語音を認識する例示のプロセスのフロー図である。
図4A】オーディオ信号のスパイクを生成する例示のプロセスを示す。
図4B】オーディオ信号のスパイクを生成する例示のプロセスを示す。
図5】オーディオ・スパイク変換パイプラインのハイパーパラメータを調整する例示のプロセスのフロー図である。
【発明を実施するための形態】
【0020】
別々の図面内の同じ参照番号および名称は、同じ構成要素を示す。
【0021】
本明細書は、全般的に、SNNに入力されるスパイクへとオーディオデータをエンコーディングできるオーディオ・スパイク変換パイプラインに関し、SNNは、オーディオデータ内の予測言語音を含む音声認識結果を生成するように訓練されている。オーディオ・スパイク変換パイプラインは、計算動作のセットを含み、動作のそれぞれが、効率的なリアルタイム実行のために、且つ生のオーディオ信号の情報に富んだスパースな表現を生成するように、構成、例えば最適化される。このパイプラインは、低レイテンシをもたらすとともに最小の計算オーバーヘッドを要する諸段階の組み合わせを含むことができ、パイプラインにより受信されるストリーミングオーディオ入力とすることができるオーディオデータを、スパイクへと変換する。このスパイクは、低電力ニューロモルフィックプロセッサを備えたエッジデバイスなど電力に制約があるデバイスにより、リアルタイム音声認識のために使用可能である。
【0022】
図1は、オーディオデータ内の言語音を認識するためにコンピューティングデバイス102がオーディオデータを処理する、例示の環境100のブロック図である。例示の環境100は、コンピューティングデバイス102、リモートサーバ110、クラウドサーバ112、およびローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN:wide area network)、インターネット、モバイルネットワーク、またはその組み合わせなどのデータ通信ネットワーク104を含む。なお、後述の通り、オーディオ処理はすべて、いずれのサーバ110、112とのデータの送受信もなしにコンピューティングデバイス102にて発生することができ、これは、例えばネットワーク104上での往復の通信をなくすことにより、コンピューティングデバイス102にて音声が認識される速度を向上させ、ネットワーク104上の帯域幅の消費を削減する。
【0023】
コンピューティングデバイス102は、マイクロフォン106またはストレージデバイス108からオーディオデータを取得することができる。一部の例においてマイクロフォン106は、コンピューティングデバイス102に含まれるコンポーネント(例えばセンサ)とすることができる。他の例においてマイクロフォン106は、コンピューティングデバイス102と接続された、モノのインターネット(IoT:Internet of Things)デバイス、ネットワーク化デバイス、または有線デバイスとすることができる。一部の例においてコンピューティングデバイス102は、例えばコンピューティングデバイス102のメモリなどのメモリまたはデータストレージデバイス108からオーディオデータを取得することができる。いずれの事例でも、オーディオデータは(例えば処理されていない)生のオーディオの形態とすることができ、話し言葉の形態の音声を含むことができる。
【0024】
一部の実装において、コンピューティングデバイス102は、ローカルレベルでデータを処理するエッジデバイスとすることができる。例として、モノのインターネット(IoT)デバイスは、その動作中に大量のデータを生成することができる。エッジデバイスは、大量のIoTデータをリモートサーバ110またはクラウドサーバ112にネットワーク104上で送信せずに、IoTデータをローカルで処理して、大量のデータの帯域幅ニーズを削減することができる。一部の実装において、エッジデバイスは、リモートサーバ110およびクラウドサーバ112と比較して電力に制約があるデバイスとすることができる。エッジデバイスは、IoTコンピューティングデバイス、スマートカメラ、スマートスピーカ、組み込み型コンピュータ、モバイルデバイスとすることができ、さらにスマートTVまたはその他接続されたデバイスとすることもできる。特定の例において、コンピューティングデバイス102は、ユーザの認識された音声に基づきタスクを実行する人工知能(AI:artificial intelligence)アシスタントを含み、且つ/またはそれに(例えばネットワーク104を介して)通信可能なように結合された、スマートスピーカまたはスマートフォンとすることができる。
【0025】
コンピューティングデバイス102は、オーディオ・スパイク変換パイプライン122およびニューロモルフィックプロセッサ124を含む。オーディオ・スパイク変換パイプライン122は、ハードウェア(例えば中央処理ユニット(CPU:central processing unit)などのプロセッサ)および/またはソフトウェアを使用して実装できる。
【0026】
オーディオ・スパイク変換パイプライン122は、ニューロモルフィックプロセッサ124による処理のためにオーディオデータをスパイクへと変換するように構成される。オーディオデータに関してオーディオ・スパイク変換パイプライン122により出力される一連のスパイクは、音声入力と呼ぶことができ、これはニューロモルフィックプロセッサ124により実行されるSNN126への入力として提供される。オーディオ・スパイク変換パイプライン122は、オーディオデータをスパイクへと変換する複数の処理段階を含むことができる。これらの段階は、図2図4Bを参照してより詳細に記載される。オーディオ・スパイク変換パイプライン122は、効率的でありリアルタイム動作に適している。例として、オーディオ・スパイク変換パイプライン122の諸段階は、ストリーミングされる生のオーディオのスパイクへの変換を、ニューロモルフィックプロセッサ124によるリアルタイム音声認識のため十分に高速に行うように構成される。
【0027】
ニューロモルフィックプロセッサ124は、SNN126を使用して音声認識タスクを実行するように構成される。例としてニューロモルフィックプロセッサ124は、SNN126を実行して、オーディオ・スパイク変換パイプライン122により出力されたスパイク入力のスパイクにより表現される言語音を予測することができる。例としてSNN126は、スパイクを処理して、オーディオデータの音声に対応する予測言語音を、例えばテキストの音素、トライフォン、全語、またはその他音のユニットの形態で含む、音声認識結果を生成することができる。
【0028】
一部の実装において、例えばSNN126が予測言語音として単語を出力するように構成されていない場合、コンピューティングデバイス102は、ニューロモルフィックプロセッサ124により出力される音素またはその他単語でない予測言語音に対応する単語および/または文章を判断するように構成されている、音声認識器130を含むことができる。例として、音声認識器130は、語彙目録、ならびに/または音素を単語および/もしくは文章へと変換するように構成されている言語モデルを含むことができる。このようにコンピューティングデバイス102は、ネットワーク通信を必要とすることなくオーディオデータを単語、フレーズ、および/または文章へと変換することができる。
【0029】
一部の実装においてコンピューティングデバイス102は、予測言語音を単語および/または文章へと変換するために、言語音をサーバ(単数または複数)110、112に送信することができる。例として、サーバ110、112の一方または両方は、音声認識器130を含むこと、または例えば様々な地域ならびにそれらの種々の言語および方言に対する個別の言語モデルなどの複数の音声認識器コンポーネントを含むことができる。サーバ(単数または複数)110、112は、単語および/または文章をコンピューティングデバイス102に返すこと、または単語および/または文章に基づくアクションを実行することができる。例としてサーバ(単数または複数)110、112は、ユーザのコンピューティングデバイス102から受信された音声コマンドに基づきタスクを実行するAIアシスタントを含むことができる。
【0030】
サーバ110、112の一方または両方は、ハードウェアおよび/またはソフトウェアにおいて実装可能なハイパーパラメータ調整器128を含むことができる。一部の実装において、ハイパーパラメータ調整器128はコンピューティングデバイス102の一部とすることができる。ハイパーパラメータ調整器128は、SNNを評価して、評価に基づきオーディオ・スパイク変換パイプライン122のハイパーパラメータを調整することができる。オーディオ・スパイク変換パイプライン122の例示のハイパーパラメータについては、図2を参照して記載する。例としてハイパーパラメータ調整器128は、複数セットのハイパーパラメータ設定を使用してハイパーパラメータのスイープを実行し、スイープの結果に基づきハイパーパラメータ設定を選択することができる。各スイープは、特定のハイパーパラメータ設定をオーディオ・スパイク変換パイプライン122に適用すること、訓練データと、訓練データに基づきオーディオ・スパイク変換パイプライン122により生成されたスパイクとを使用して複数のSNNを訓練すること、テストデータを使用して複数のSNNそれぞれをテストすること、テストに基づき各SNNの正確さを測定することを含むことができる。訓練データおよび/またはテストデータは、オーディオデータに対応する、例えば単語または音素などの予測言語音を示すラベルを備えたラベル付きオーディオデータを含むことができる。
【0031】
ハイパーパラメータ調整器128は、評価に基づきオーディオ・スパイク変換パイプライン122のハイパーパラメータを調整することができる。例としてハイパーパラメータ調整器128は、スイープ中に最も正確なSNNが訓練されたハイパーパラメータ設定を特定して、そのハイパーパラメータ設定をオーディオ・スパイク変換パイプライン122に適用することができる。
【0032】
ハイパーパラメータ調整器128は、各スイープの結果に基づき、各ハイパーパラメータの相対的な重要度を判断することもできる。例として、特定のハイパーパラメータの設定が調整されたときにスイープ中に訓練されるSNNの正確さに大幅な変化があれば、その特定のハイパーパラメータはSNNの正確さに対して大きな影響を有すると考えられ、したがって、重要である。ハイパーパラメータ調整器128は、各ハイパーパラメータの重要度を査定する際に、ハイパーパラメータに対する変更に伴うSNNの正確さの変動、最も正確なSNNまたは少なくとも閾値数の最も正確なSNNにハイパーパラメータが寄与したかどうか、ハイパーパラメータの計算コスト、ハイパーパラメータにより要求される能力、損失関数の最小化、および/またはその他適切な要素など、様々な要素を評価することができる。
【0033】
ハイパーパラメータ調整器128は、ハイパーパラメータの相対的な重要度に基づきオーディオ・スパイク変換パイプライン122に変更を加えることができる。例としてハイパーパラメータ調整器128は、オーディオ・スパイク変換パイプライン122の更新された構成(例えばソフトウェアコンポーネントの更新されたコード)を決定して、更新された構成をコンピューティングデバイス102に送信することができる。
【0034】
一部の事例において、ハイパーパラメータ調整器128は、オーディオ・スパイク変換パイプライン122の或るソフトウェアコンポーネントに対応するハイパーパラメータの設定に変更を加えて、ハイパーパラメータの重要度がないまたは低いと判断された場合にそのソフトウェアコンポーネントがもはやアクティブでなくなるようにすることができる。各ハイパーパラメータに基づくオーディオデータまたはオーディオデータの中間形態の処理には、付随する計算コスト(例えばCPUサイクル)およびレイテンシがある。重要度がより低いものを除去することにより、SNN126の音声認識結果の正確さにほとんどまたはまったく悪影響を及ぼすことなく、オーディオデータのスパイクへの変換をより高速且つより効率的に実行できる。なお、一部のハイパーパラメータは、一部の言語および/または方言に対してより重要度が高いこともある。よって、多数のハイパーパラメータを使用し、重要度に基づき一部をフィルタリングする能力があることにより、極めて効率的な音声・スパイク変換を用いた極めて正確な音声認識が可能になる。
【0035】
一部の実装において、ハイパーパラメータ調整器128は、各ハイパーパラメータの相対的な重要度および/または計算コストに基づき、使用する、または使用しないハイパーパラメータを選択する。例として、或るハイパーパラメータの重要度が中程度であるが、計算コストが最高であれば、ハイパーパラメータ調整器128は、スパイクへの変換の効率を上げるためにそのハイパーパラメータをオフにしてもよい。一部の実装では、例えばソフトウェア開発者などのユーザが、こうした選択と、それに応じたオーディオ・スパイク変換パイプライン122の設定とを行うことができる。オーディオ・スパイク変換パイプラインのハイパーパラメータを調整する例示のプロセスについては、図5に示されており、後述する。
【0036】
コンピューティングデバイス102は、ニューロモルフィックプロセッサ124上に、スイープからSNNのうちの1つを展開することができる。例としてコンピューティングデバイス102は、オーディオ・スパイク変換パイプライン122に対して選択されたハイパーパラメータ設定を使用して、正確さ、または音声認識の他の評価基準の点でパフォーマンスが最高であるSNNを選択することができる。
【0037】
図2は、例示のオーディオ・スパイク変換パイプライン122の4つの段階142~148を示す。4つの段階は、例として、サンプリング段階142、周波数領域段階144、スペクトログラム段階146、およびスパイキング表現段階148を含むことができる。各段階の処理は、オーディオ・スパイク変換パイプライン122の個別のエンジン、ソフトウェアモジュール、またはプロセッサなど、オーディオ・スパイク変換パイプライン122の個別のコンポーネントにより実行できる。例として、サンプリング段階142はサンプリングエンジンにより実行でき、周波数領域段階144は周波数領域エンジンにより実行でき、スペクトログラム段階146はスペクトログラムエンジンにより実行でき、スパイキング表現段階148はスパイキング表現エンジンにより実行できる。段階142~148の処理は、順次または並列のいずれかで、ソフトウェア内および/またはハードウェアアクセラレータ上で実行できる。
【0038】
サンプリング段階142において、オーディオ・スパイク変換パイプライン122は、生のオーディオまたは事前処理されたオーディオの形態とすることができるオーディオデータ210を取得することで開始する。事前処理の例は、例えば、フィルタリングメカニズムを使用して、または音像定位により、オーディオデータのノイズを低減させることを含むことができる。オーディオデータ210は、ファイルもしくはメモリ、またはアクティブなマイクロフォンから取得できる。一部の例においてコンピューティングデバイス102は、所定のサンプリングレートでオーディオデータ210を取得することができる。例として、生のオーディオは、16KHz、16ビットの生のオーディオとすることができる。オーディオデータ210は、他のサンプリングレートおよび/またはビット精度のレコーディングで取得できる。
【0039】
サンプリング段階142において、オーディオデータ210をセンタリングおよび/またはスケーリングできる。例としてオーディオ・スパイク変換パイプライン122は、バイアスの推定値を減算して、0.5または別の適切な値のピーク間振幅などのピーク間振幅閾値を達成するためにスケーリングすることにより、オーディオデータ210をセンタリングすることができる。オーディオ・スパイク変換パイプライン122は、サンプルごとにオーディオデータ210をセンタリングおよびスケーリングすることができる。一部の事例において、バイアスは、無視できるほど小さいことが多い。
【0040】
周波数領域段階144において、オーディオ・スパイク変換パイプライン122は、オーディオデータを周波数領域におけるオーディオ信号へと変換する。オーディオ・スパイク変換パイプライン122は、この変換を、高速フーリエ変換(FFT:Fast Fourier Transform)、スライディング離散フーリエ変換(SDFT)、またはオーディオデータ210の周波数領域表現を取得するための別の適切なメカニズムを使用して実行することができる。例として、オーディオ・スパイク変換パイプライン122は、SDFTをオーディオデータ210に適用して、オーディオデータを周波数領域にエンコーディングし、蝸牛がフィルタバンクとして機能する形をまねて、到来するオーディオのフーリエ分解を実行することができる。SDFTは、オーディオデータ210のパワースペクトルを計算するインクリメンタル法である。一部の事例では、インクリメンタル計算は、例えばFFTのホップサイズ次第で、フルFFTより高速である可能性がある。さらにSDFTは、並列化およびハードウェアアクセラレーションを通してサンプルごとに一定の時間複雑性で動作することができる。
【0041】
周波数領域段階144の出力は、オーディオデータ210の周波数領域表現を含むことができ、オーディオ信号を構成する周波数のパワーを表現するオーディオ信号のスペクトル成分の瞬時表現を含むことができる。これらの瞬時表現を順次付加して、スペクトログラム220を生成することができる。
【0042】
スペクトログラム段階146において、オーディオ・スパイク変換パイプライン122は、オーディオデータ210の周波数領域表現を周波数バンドのセットに対してマッピングし、スペクトログラム230をもたらすことができる。例として、オーディオスパイク変換パイプライン122は、オーディオデータ210の周波数領域表現をメル尺度周波数バンドのセットに対してマッピングし、対数メルスペクトログラム230をもたらすことができる。オーディオ・スパイク変換パイプライン122は、再び周波数領域オーディオ信号を対数変換、センタリング、およびスケーリングすることもできる。例として、対数メルスペクトログラム230を生成するために、オーディオ・スパイク変換パイプライン122は、周波数領域段階144により出力された周波数領域を人間が音声の音高をどのように知覚するかを表現するメル尺度に対してマッピングして、特定の形状(例えば三角形、コサインなど)および幅を持つ重なり合うウィンドウを使用する別の変換を適用して、人間の知覚レベルに従い周波数に非線形重み付けをすることができる。このように周波数に重み付けした後、オーディオ・スパイク変換パイプライン122は、出力の対数をとって対数メルスペクトルを得ることができる。メル尺度周波数バンド、またはメル特徴は、人間の音声の範囲内の周波数特徴である。周波数領域(例えばSDFT特徴)をメル尺度周波数バンドにマッピングすることにより、オーディオ・スパイク変換パイプライン122は、例えば人間が区別するのが得意な周波数を強調することなどによりオーディオデータ210の人間の音声部分を表現するメル特徴を生成することができる。
【0043】
一部の実装において、スペクトログラム段階146は、任意選択とすることができる。一部の例において、周波数領域表現を計算した後、周波数領域オーディオ信号のパワースペクトルは、いくつかのメル尺度周波数バンド(例えば10、20、30、または別の適切な数のメル尺度周波数バンド)に変換され、次に、変換されたオーディオ信号に対数変換が適用される。この時点で、オーディオ・スパイク変換パイプライン122において、データはオーディオサンプリングレートと等しい時間分解能の対数メルスペクトルである。一部の実装において、オーディオ・スパイク変換パイプライン122は、この分解能で継続できる。通時的逆伝播(BPTT:Back-Propagation-Through-Time)を使用してSNNを訓練するとき、各処理済みスパイクラスタにおけるタイムステップの数は、全体的な訓練時間に激しく影響する可能性がある。そのような影響を避けるために、オーディオ・スパイク変換パイプライン122は、スペクトルを、例えば5、10、20のタイムステップ、または別の適切なミリ秒(ms:millisecond)数のタイムステップなどのタイムステップにダウンサンプリングすることができる。
【0044】
一部の実装において、オーディオ・スパイク変換パイプライン122は、対数メル信号を複数回スタックする。例として、ダウンサンプリングの後、20の対数メル信号が4回スタックされ、合計80の対数メル信号をもたらすことが可能である。ここで、スタックとは、例えば経時的に、個別の特徴を対数メル特徴と連結することをいう。例として、これらの特徴は、経時的な特徴の累積和など、対数メル表現から得られた特徴を含むことができる。別の例において、例えば配列として表現された同じ信号を複数回繰り返すなど、別々の配列が1つの配列へと連結されることが可能である。
【0045】
スパイキング表現段階148において、オーディオ・スパイク変換パイプライン122は、例えばスタックされた対数メル信号などの対数メル信号を、スパイキング表現240に変換する。オーディオ・スパイク変換パイプライン122は、スタックされた対数メル信号を、ステップフォワードアルゴリズムを使用してスパイクに変換することができる。図4A図4Bが、ステップフォワードアルゴリズムを使用してスパイクを生成する例示のプロセスを示す。ステップフォワードアルゴリズムは、連続値信号をスパイクへと変換する。
【0046】
ステップフォワードアルゴリズムは、差分パルス符号変調とも呼ばれることもある、複数のタイプのデルタ変調のうちの1つ以上を含むことができる。離散微分と呼ぶことができる1つのタイプでは、連続したアナログ信号が量子化され、連続した信号間の差分が判断される。積分値アプローチと呼ぶことができる別のタイプでは、差分は、本質的には経時的に信号を追跡する値であるインテグレータに関して求められる。つまり、2つの連続した信号間の差分の代わりに、経時的な信号の瞬時値と積分値との間の差分が使用される。どちらのタイプのデルタ変調も、オーディオ・スパイクパイプライン122において機能できるが、積分信号を使用する2つ目のタイプは、離散微分アプローチと比べてパフォーマンスの向上をもたらし得る。
【0047】
差微分アプローチでは、連続的な信号間のステップごとの差分を算出できる。ステップごとの差分が正または負いずれかの方向に閾値を満たすと、対応する極性のスパイクが生成される。ステップごとの差分を算出することにより、スパイク(正のスパイクおよび/または負のスパイク)のセットを生成できる。スパイクは、オーディオ情報(例えば対数メル信号)の変化を表現することができる。スパイクは、対数メル信号の量子化された非負の離散微分を表現することができる。
【0048】
積分値アプローチでは、信号の積分を経時的に計算できる。新たな信号それぞれについて、信号の新しい瞬時値と、積分値との間の差分が算出される。差微分アプローチと同様、この差分に基づきスパイクのセットを生成できる。
【0049】
これらの差分に基づくスパイクのセットに加えて、オーディオ・スパイク変換パイプライン122は、例えば累積和スパイクなど、対数メル信号の累積和に基づく別のセットのスパイクを生成することができる。累積和スパイクは、各対数メル信号の量子化された合計を算出することにより算出できる。累積和スパイクは、オーディオ情報(例えば対数メル信号)の持続値のスパイクエンコーディングを表現することができる。図2に示されているように、オーディオ210に関して生成されるスパイクは、ステップごとの差分スパイク242および累積和スパイク244を含むことができる。生成されたスパイクは、音声認識のためにSNNにより処理可能である。
【0050】
一部の実装において、オーディオ・スパイク変換パイプライン122の種々の段階において使用されるハイパーパラメータは、ハイパーパラメータ調整器128により決定可能である。例としてハイパーパラメータは、スパイクエンコーディング法、閾値、ホップ長(ms)、タイムステップ(ms)、対数スペクトル特徴、スペクトル特徴、チャンネル数、およびその他適切なハイパーパラメータを含むことができる。ハイパーパラメータ調整器は、複数セットのハイパーパラメータ設定を使用してハイパーパラメータのスイープを実行し、最良のSNN精度をもたらすハイパーパラメータ設定を選択することができる。例としてハイパーパラメータ調整器は、デルタ法、レート法、およびステップフォワード法を含む、異なる3つのスパイクエンコーディング法に関しスイープを実行することができる。スイープの結果に基づき、ハイパーパラメータ調整器は、最良のスパイクエンコーディング法がステップフォワード法であると判断することができる。
【0051】
図3は、オーディオデータをスパイクに変換し、SNNを使用してスパイクを処理して、言語音を認識する例示のプロセス300のフロー図である。一部の実装において、プロセス300の少なくとも一部はコンピューティングデバイス102にて実行可能である。
【0052】
ステップ302にて、コンピューティングデバイスはオーディオデータを取得する。例としてコンピューティングデバイスは、マイクロフォンからリアルタイムのオーディオデータを取得することができる。マイクロフォンは、コンピューティングデバイスの内部または外部に位置することができる。一部の例においてコンピューティングデバイスは、ストレージデバイスまたはコンピューティングデバイスのメモリからオーディオデータを取得することができる。
【0053】
一部の例においてコンピューティングデバイスは、所定のサンプリングデータでオーディオデータを取得することができる。例として、取得されるオーディオデータは、16KHz、16ビットの生のオーディオとすることができる。他の周波数およびビット精度のレコーディングも使用可能である。
【0054】
一部の実装において、生のオーディオデータをセンタリングおよびスケーリングできる。例としてコンピューティングデバイスは、バイアス(実際にはバイアスは無視できるほど小さいことが多い)の推定値を減算することにより生のオーディオデータをセンタリングし、0.5、0.7、1.0、または別の適切な値など所定のピーク間振幅を達成するために生のオーディオをスケーリングすることができる。
【0055】
ステップ304にて、コンピューティングデバイスは、周波数領域オーディオ信号を取得するために、オーディオデータ(例えばセンタリングおよびスケーリングされたオーディオデータ)を周波数領域へと変換する。オーディオデータを周波数領域にエンコーディングするために、フーリエ変換をオーディオデータに適用できる。例として、以下のように、SDFTを、オーディオデータのフーリエ変換をインクリメンタル計算するために適用可能である。
【0056】
【数1】
【0057】
式中、
【0058】
【数2】
【0059】
は、サンプルft-M+1,ft-M+2,…,fから計算されたタイムステップtにおける第kのビンでのDFTの周波数であり、0≦k≦M-1、tは長さTのスライディングウィンドウ内のタイムステップであり、G=ej2π/Mはスケーリング係数である。
【0060】
このインクリメンタル計算は、オーディオ信号が重なり合うウィンドウ群へとスライスされ各ウィンドウに対してDFTが計算される、FFTを用いて連続的な音声認識を実行するための典型的な方法よりも、はるかに高速である可能性がある。さらにSDFTは、並列化およびハードウェアアクセラレーションを通してサンプルごとに一定の時間複雑性で動作することができる。
【0061】
ステップ306にて、コンピューティングデバイスは、周波数領域オーディオ信号をメル尺度周波数バンドのセットにマッピングし、対数メル信号を取得する。具体的には、メル尺度周波数オーディオ信号を取得するために、周波数領域オーディオ信号をメル尺度周波数バンドのセットにマッピングできる。メル尺度周波数バンドまたはメル特徴は、人間の音声の範囲の周波数特徴である。メル尺度周波数オーディオ信号を次に対数変換して、対数メル信号を取得することができる。
【0062】
一部の実装においてコンピューティングデバイスは、対数メル信号をダウンサンプリングすることができる。ダウンサンプリングにより、オーディオ・スパイク変換パイプライン122をリアルタイムで実行可能にしながら、パフォーマンスを保持することができる。例として対数メル信号は、5msのタイムステップまたはその他適切なタイムステップにダウンサンプリングできる。
【0063】
コンピューティングデバイスは、対数メル信号を所定の回数スタック、例えば連結することができる。例として、SDFTを計算した後、周波数領域オーディオ信号がいくつか(例えば5、10、20、30など)のメル尺度周波数バンドに変換される。対数メル信号が4回スタックされて、各ブロックが20ユニットの対数メル信号を含む、4ブロックの合計80ユニットの対数メル信号をもたらすことができる。例えば4ブロックは、対数メルスパイク、対数メルスパイクの累積和、およびそのそれぞれに対する2つのチャンネルを表現することができる。バイナリデータが送信される場合、負数を表現する方法はない。したがって、負および正の変化が2つの別々のチャンネルへと分けられる。他の適切な数のブロックを使用できる。一部の実装において、スタック内の各対数メル信号を、データ駆動型特徴抽出のトレイル実行から得られた平均および標準偏差の静的推定を使用してセンタリングおよびスケーリングできる。
【0064】
ステップ308にてコンピューティングデバイスは、対数メル信号をスパイクに変換する。対数メル信号のスパイクへの変換は、ステップフォワードアルゴリズムを使用したものとすることができる。このアルゴリズムは、連続的な信号間のステップごとの差分を得ることにより、複数のチャンネルのスパイクへと連続値信号をエンコーディングすることができる。ステップごとの差分が、正または負いずれかの方向に閾値を満たす(例えば超える)と、対応する極性のスパイクが生成される。ステップフォワードは、合理的な数のチャンネルに対して汎用プロセッサ上で効率的に実装できるため、ニューロモルフィック音声認識システムに有用である。
【0065】
図4A図4Bは、オーディオ信号に関してスパイクを生成する例示のプロセスを示す。図4Aは、人工的な入力410および生のオーディオレコーディング420の2つのストリーミング信号に適用される積分値アプローチを使用する、ステップフォワードアルゴリズムを示す。各ストリーミング信号に対して、積分に基づくデルタ変調により生成された積分値を表現する残差信号がある。例として、生のオーディオレコーディングの生の入力422に対して、積分値を表現する残差信号424がある。残差信号を使用して、2つのストリーミング信号410および420がスパイクに変換される。例として、人工的な入力410は、正のスパイク412および負のスパイク414へと変換される。生のオーディオレコーディング420は、正のスパイク426および負のスパイク428へと変換される。ステップフォワードアルゴリズムは、信号を量子化し、生の入力422と残差信号424との間の差分を得て、閾値を適用することにより、連続値信号をスパイクとして解釈可能なバイナリ信号へと変換する。
【0066】
例として、生の入力410の瞬時値を残差信号424と比較できる。次に、これら2つの信号の間の差分が、スパイクを生成するために使用される。次に、残差信号424は、量子化された結果により変更される。例として、生の信号410の瞬時値が残差信号424よりも大きければ、残差信号410が増大される。同じく、生の信号410の瞬時値が残差信号424よりも小さければ、残差信号410が弱められる。
【0067】
図4Bは、ステップフォワードアルゴリズムを使用してスパイクを生成するプロセスを示す。この例においてスパイクは、図4Aの生のオーディオレコーディングストリーミング信号420に対して生成される。生のオーディオレコーディングの生の入力422に対して、経時的な信号の積分値を表現する残差信号424がある。
【0068】
連続的な生の入力信号422と残差信号424との間の差分を算出できる。2つの信号の対数メル信号間の差分が求められる。差分が正または負いずれかの方向に閾値を満たすと、対応する極性のスパイクが生成される。言い換えれば、差分の絶対値が閾値を満たす場合、正または負のスパイクを生成できる。例として、残差信号X 430および実信号Y 432が示されている。残差信号Xが実信号Yと比較されて、差分が閾値より大きければ量子化される。例として、差分X-Yが負の閾値-θ434を満たす(例えばより小さい)場合、負のスパイク436を生成できる。同じく、残差Xと実信号Yとの間の差分が正の閾値θ444を満たす(例えばより大きい)場合、正のスパイク446を生成できる。
【0069】
差分を算出することにより、スパイク(正のスパイクおよび/または負のスパイク)のセットを生成できる。スパイクは、オーディオ情報(例えば対数メル信号)の変化を表現することができる。つまり、変化があるか、新たな情報が利用可能な場合のみ、変化または新たな情報が捕捉および処理されることが可能である。このようにして、処理されるオーディオ情報が削減され、したがって、電力に制約があるデバイス上での音声認識が可能になる。
【0070】
差分に基づくスパイクのセットに加えて、コンピューティングデバイスは、例えば累積和スパイクなど、対数メル信号の累積和に基づくスパイクを生成することができる。累積和スパイクは、各対数メル信号の量子化された合計を算出することにより求めることができる。例として、累積和スパイクを得るために、累積和を各対数メル信号に経時的に適用できる。累積和スパイクは、オーディオ情報(例えば対数メル信号)の持続値のスパイクエンコーディングを表現することができる。一部の実装において、累積和スパイクを差分スパイクに連結できる。例として、第1および第2のブロック(例えばユニット0から39)に対するスパイクは、差分スパイク、例えば、量子化された、連続的な信号値の離散微分を表現することができる。第3および第4のブロック(例えばユニット40~79)内のスパイクは、例えば変化のみではなく対数メル信号の持続値など、累積和スパイクを表現することができる。ステップごとの差分スパイク(例えば正の信号のスパイクおよび負の信号のスパイク)ならびに累積和スパイク(例えば正の累積的スパイクおよび負の累積的スパイク)を含む複数セットのスパイクを、音声認識のためにSNNに入力できる。
【0071】
一部の実装において、対数メル特徴および累積和を、入力としてともにスパイキング表現段階148に提供できる。次に、各チャンネルを別々にスパイクへと変換できる。
【0072】
ステップ310にてコンピューティングデバイスは、音声認識のためにSNNを使用してスパイクを処理することができる。例としてコンピューティングデバイスは、入力としてスパイクを使用してSNNを実行することができる。SNNは、スパイクを処理して、オーディオデータ内の音声に対応する、例えば単語または音素などのテキストを含む音声認識結果を生成することができる。例としてSNNは、オーディオ・スパイク変換パイプライン122から受信されたスパイクに基づく音素の形態で言語音を予測できる。音素は次に、音素に対応する単語または文章を生成するために、例えば語彙目録および/または言語モデルなど別のコンポーネントにより処理できる。
【0073】
コンピューティングデバイスまたは別のデバイスは、音声認識結果に基づくアクションを実行することができる。例として、AIアシスタントが単語または文章に基づくアクション(例えば曲の再生、品物の注文など)を実行できる。音声認識結果は、ユーザデバイスのユーザインターフェース内に表示できる。一部の例において、コンピューティングデバイスはユーザデバイスとすることができる。他の一部の例において、コンピューティングデバイスはユーザデバイスとは異なるデバイスとすることができる。
【0074】
上述されたプロセス400内のステップの順序は例示でしかなく、プロセス400は異なる順序で実行可能である。一部の実装において、プロセス400は、追加のステップ、より少数のステップを含むことができ、または一部のステップを複数のステップへと分割することができる。
【0075】
この文書に記載されている手法は、記載されたオーディオ・スパイク変換パイプライン122を用いてSNNを訓練するために使用可能である。例として、フィードフォワードSNNアーキテクチャは、入力として200タイムステップにわたりオーディオ・スパイク変換パイプライン122によりスパイクにエンコーディングされた1秒のオーディオサンプルを得る80(または別の適切な数の)ニューロンの入力層、それぞれ256のリーキー積分発火(LIF:Leaky Integrate-and-Fire)ニューロンの3つの隠れ層、および35のLIPニューロンまたは20のLIFニューロンの出力層を含むことができる。例として、入力層は、スタックされたメル信号/特徴の数と等しい数の層を含むことができる。
【0076】
一部の実装においてSNNは、SNNのための効率的な代理勾配学習を可能にするsnnTorchを使用して訓練できる。ターゲットクラスに対応する出力ユニットには高いターゲットスパイクレート(例えば50スパイク/秒)を付与でき、非ターゲット出力ユニットには低ターゲットスパイクレート(例えば5スパイク/秒)を付与できる、スパイクレート出力を使用してモデルを訓練できる。訓練損失は、実際のスパイクレートとターゲットスパイクレートとの平均二乗誤差を使用してsnnTorchにより算出できる。損失は、高速シグモイド代理勾配を使用して逆伝播可能であり、パラメータは、Adamオプティマイザを使用して更新可能である。モデルの出力クラスは、レコーディングに対する最高総数のスパイクを伴う出力ユニットのインデックスを選択することにより決定可能である。
【0077】
一部の実装において、システムは、ハードウェアを意識した訓練法を使用してSNNモデルを訓練することができる。例としてシステムは、SLAYERを使用するフィードフォワード5層アーキテクチャと、例えばIntelのLoihiチップのシミュレータなどの機能的ニューロモルフィックハードウェアシミュレータとを用いて、SNNモデルを訓練することができる。SLAYERは、電流ベースのリーキー積分発火(CUBA LIF:Current-Based Leaky Integrate-and-Fire)ニューロンモデルをサポートし、直接的な、ハードウェアを意識した訓練プロセスを提供して、訓練されたモデルの展開を単純にする、pyTorch上に構築される代理勾配訓練フレームワークである。SLAYERは、ターゲットハードウェアによりサポートされるのと同じ精度にフォワード推論段階中に量子化されるフィル精度シャドウウエイトを訓練する。
【0078】
この文書に記載されている手法は、オーディオ・スパイク変換パイプライン122のハイパーパラメータを決定することができる。一部の実装においてシステムは、すべてのパラメータおよびパフォーマンスメトリクスの共有レコードを保ちながら、分散型モデル最適化を可能にするプラットフォームと相互作用することができる。システムは、オーディオ・スパイク変換パイプライン122のハイパーパラメータの最良の組み合わせを特定するためにハイパーパラメータのスイープを実施することができる。スイープのために、リアルタイムの変換および推論を実行する代わりに、オフライン訓練において、システムは、ストリーミングされるオーディオに対して低い単一サンプルレイテンシを可能にするため、パイプラインが通常使用するSDFTよりもバッチ処理により効率的な標準のFFTを、オーディオ・スパイク変換パイプライン122において使用することができる。スイープは、各ハイパーパラメータの相対的な重要度の推定を生成することができる。相対的な重要度とは、選ばれたメトリクスを予測するのに各ハイパーパラメータが有用であった程度である。重要度は、ハイパーパラメータを入力とし、メトリクスをターゲット出力として用いて訓練されたランダムフォレストの特徴重要度値から算出できる。分類の正確さを、スイープの最適化すべきメトリクスとして選ぶことが可能である。一部の実装において、ハイパーパラメータは、スパイク変換、閾値、ホップ長(ms)、タイムステップ(ms)、対数スペクトル特徴、スペクトル特徴、チャンネル数、およびその他適切なハイパーパラメータを含むことができる。
【0079】
オーディオ・スパイク変換パイプライン122は、リアルタイムのニューロモルフィック音声認識システムのための効率的なオーディオ処理パイプラインである。オーディオ・スパイク変換パイプラインにより出力されるデータに対して訓練されたSNNは、キーワード分類において高い正確さを達成することができる。パイプラインは、音声認識のためのより適切なスパイキングベンチマークを提供することができる。パイプラインの効率性は、ニューロモルフィック音声認識におけるより多数のスパイキング音声認識ベンチマークを可能にすることができる。
【0080】
パイプラインは、リアルタイム動作により適しており、且つリアルタイム音声認識システムにおいて使用されるのに適している。本文書に記載されている手法は、ボイスコントロールを提供するためエッジデバイスにおいてニューロモルフィックアクセラレータがより広く採用されることにつながる可能性があり、これは、これらのデバイスに適切に統合可能なインテリジェンスに対して連鎖的に影響する可能性がある。ニューロモルフィックアクセラレータは、継続的学習およびマルチモーダル処理を含む、応用レベルの利点を複数提供することができる。
【0081】
図5は、オーディオ・スパイク変換パイプラインのハイパーパラメータを調整する例示のプロセス500のフロー図である。一部の実装において、プロセス500の少なくとも一部は、サーバ110またはサーバ112など機械学習モデルのパフォーマンスを訓練および査定するように構成されたコンピューティングデバイスにより実行可能である。簡潔さのために、プロセス500はサーバにより実行されるものとして記載される。
【0082】
ステップ502にて、サーバは、ハイパーパラメータ設定の複数のセットを取得する。一部の実装において、ハイパーパラメータ設定は、異なる値を持つハイパーパラメータのセットを設定することを含む。例として、1つのハイパーパラメータはタイムステップとすることができる。タイムステップの設定は、4ms、8ms、16ms、32ms、64ms、および128msを含むことができる。ハイパーパラメータのセットは、スパイクエンコーディング法、閾値、ホップ長(ms)、タイムステップ(ms)、対数スペクトル特徴、スペクトル特徴、チャンネル数、およびその他適切なハイパーパラメータを含むことができる。
【0083】
ステップ504にて、サーバは、各ハイパーパラメータ設定のスイープを実行する。各スイープは、特定のハイパーパラメータ設定をオーディオ・スパイク変換パイプラインに適用すること(ステップ506)、ニューロモルフィックプロセッサ上で、訓練データと、訓練データに基づきオーディオ・スパイク変換パイプラインにより生成されたスパイクとを使用して、複数のSNNを訓練し、テストデータを使用して複数のSNNそれぞれをテストすること(ステップ508)、およびテストに基づき各SNNの正確さを判断すること(ステップ510)を含むことができる。訓練データおよび/またはテストデータは、オーディオデータに対応する、例えば単語または音素などの言語音を示すラベルを備えたラベル付きオーディオデータを含むことができる。
【0084】
サーバは、ハイパーパラメータと、オーディオ・スパイク変換パイプライン122上に展開する訓練済み機械学習モデルとを特定するために、ステップ506~510を複数回実行することができる。例として、少なくとも最低限度のレベルの正確さを達成する訓練済み機械学習モデルを発見するまで、サーバはステップ506~510を実行することができる。
【0085】
ステップ512にてサーバは、ハイパーパラメータの相対的な重要度を判断する。サーバは、各スイープの結果に基づき、各ハイパーパラメータの相対的な重要度を判断することができる。例として、特定のハイパーパラメータの設定が調整されたときにスイープ中に訓練されるSNNの正確さに大幅な変化があれば、その特定のハイパーパラメータはSNNの正確さに対して大きな影響を有すると考えられ、したがって、重要である。サーバは、各ハイパーパラメータの重要度を査定する際に、ハイパーパラメータに対する変更に伴うSNNの正確さの変動、最も正確なSNNまたは少なくとも閾値数の最も正確なSNNにハイパーパラメータが寄与したかどうか、および/またはその他適切な要素など、様々な要素を評価することができる。
【0086】
一部の実装においてサーバは、ステップ506~510を使用してテストするハイパーパラメータを決定するために、ステップ506において各ハイパーパラメータの重要度を使用することができる。例として、或るハイパーパラメータが広範な(例えば少なくとも閾値数の)テストに対して重要でないことがわかれば、サーバは、そのハイパーパラメータに対応するプロセスをパイプラインから除去することができる。別の例においてサーバは、ハイパーパラメータの1つ以上をそれらの重要度に基づき調整することができる。
【0087】
ステップ514にて、サーバは、SNNの正確さおよび/またはハイパーパラメータの重要度に基づきオーディオ・スパイク変換パイプライン122のハイパーパラメータを最終決定する。コンピューティングデバイスは、ハイパーパラメータの相対的な重要度に基づき、1つ以上のハイパーパラメータの使用を止めることができる。サーバは、正確さおよび/または重要度に基づき1つ以上のハイパーパラメータの設定を調整することもできる。各ハイパーパラメータに基づくオーディオデータまたはオーディオデータの中間形態の処理には、付随する計算コスト(例えばCPUサイクル)およびレイテンシがある。重要度がより低いものを除去することにより、SNNの音声認識結果の正確さにほとんどまたはまったく悪影響を及ぼすことなく、オーディオデータのスパイクへの変換をより高速且つより効率的に実行できる。なお、一部のハイパーパラメータは、一部の言語および/または方言に対してより重要度が高いこともある。よって、多数のハイパーパラメータを使用し、重要度に基づき一部をフィルタリングする能力があることにより、極めて効率的な音声・スパイク変換を用いた極めて正確な音声認識が可能になる。
【0088】
一部の実装において、コンピューティングデバイスは、各ハイパーパラメータの相対的な重要度および/または計算コストに基づき、使用する、または使用しないハイパーパラメータを選択する。例として、或るハイパーパラメータの重要度が中程度であるが、計算コストが最高であれば、ハイパーパラメータ調整器128は、スパイクへの変換の効率を上げるためにそのハイパーパラメータをオフにしてもよい。
【0089】
本明細書の主題の特定の新規の側面は、添付の特許請求の範囲に記載されている。
【0090】
主題の実施形態、および本明細書に記載された機能動作は、デジタル電子回路構成において、または有形に具現化されたコンピュータソフトウェアもしくはファームウェアにおいて、または本明細書で開示された構造およびその構造上の等価物を含むコンピュータハードウェアにおいて、またはそれらのうちの1つ以上の組み合わせにおいて実装できる。本明細書に記載された主題の実施形態は、1つ以上のコンピュータプログラムとして、つまりデータ処理装置により実行されるよう、またはデータ処理装置の動作を制御するよう、有形の非一時的なプログラム搬送体上にエンコーディングされたコンピュータプログラム命令の1つ以上のモジュールとして実装できる。あるいは、またはさらに、プログラム命令は、データ処理装置による実行のために適切な受信機装置に送信される情報をエンコーディングするために生成される、例えば機械生成された電気信号、光信号、または電磁信号など、人工的に生成された伝播信号にエンコーディングできる。コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムアクセスメモリデバイスもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つ以上の組み合わせとすることができる。なお、コンピュータストレージ媒体は伝播信号ではない。
【0091】
「データ処理装置」という用語は、データを処理するすべての種類の装置、デバイス、および機械を包含し、例として、プログラマブルプロセッサ、コンピュータ、または複数のプロセッサもしくはコンピュータを含む。装置は、例えばFPGA(field programmable gate array:フィールドプログラマブルゲートアレイ)またはASIC(application specific integrated circuit:特定用途向け集積回路)などの専用論理回路構成を含むことができる。装置は、ハードウェアに加えて、例えばプロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つ以上の組み合わせを構成するコードなど、対象のコンピュータプログラムの実行環境を作り出すコードも含むことができる。
【0092】
コンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれることまたは記載されることもある)は、コンパイル型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で書かれることが可能であり、スタンドアロンプログラムとして、もしくはモジュール、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットとしてを含む、任意の形態で展開できる。コンピュータプログラムは、ファイルシステム内のファイルに対応してもよいが、しなくてもよい。プログラムは、例えばマークアップ言語文書に格納される1つ以上のスクリプトなど、他のプログラムまたはデータを保持するファイルの一部か、対象のプログラム専用の単一ファイルか、または例えば1つ以上のモジュール、サブプログラム、もしくはコードの複数部分を格納する複数ファイルなど複数の連携ファイルか、に格納できる。コンピュータプログラムは、1つのコンピュータ上、または1つの場所に位置するかもしくは複数の場所に分散し通信ネットワークにより相互接続された複数のコンピュータ上で、実行されるよう展開できる。
【0093】
本明細書中で使用されるとき、「エンジン」または「ソフトウェアエンジン」とは、入力とは異なる出力を提供する、ソフトウェア実装された入出力システムを指す。エンジンは、ライブラリ、プラットフォーム、ソフトウェア開発キット(「SDK(software development kit)」)、またはオブジェクトなど、エンコーディングされた機能性のブロックとすることができる。各エンジンは、例えばサーバ、携帯電話、タブレットコンピュータ、ノートブックコンピュータ、音楽プレーヤ、電子書籍リーダー、ラップトップもしくはデスクトップコンピュータ、PDA(personal digital assistant:携帯情報端末)、スマートフォン、または1つ以上のプロセッサおよびコンピュータ可読媒体を含む他の据え置き型デバイスまたはポータブルデバイスなど、任意の適切なタイプのコンピューティングデバイスに実装できる。さらに、エンジンのうちの2つ以上が、同じコンピューティングデバイス上に実装されてもよく、または別々のコンピューティングデバイス上に実装されてもよい。
【0094】
本明細書に記載されたプロセスおよび論理フローは、入力データに作用し出力を生成することにより機能を実行する1つ以上のコンピュータプログラムを実行する、1つ以上のプログラマブルコンピュータにより実行できる。プロセスおよび論理フローは、例えばFPGA(フィールドプログラマブルゲートアレイ)、ASIC(特定用途向け集積回路)IntelのLoihiチップなどのニューロモルフィックリサーチチップ、またはBrainChipのAkida(商標)チップなどのニューラルネットワークプロセッサなど、専用論理回路構成によっても実行でき、装置は専用論理回路構成としても実装できる。
【0095】
コンピュータプログラムの実行に適したコンピュータは、例として、汎用もしくは専用のマイクロプロセッサもしくはその両方、または他の任意の種類の中央処理ユニットに基づくことができ、それを含む。一般に、中央処理ユニットは、読み取り専用メモリもしくはランダムアクセスメモリまたはその両方から命令およびデータを受信する。コンピュータの必須構成要素は、命令を実施または実行する中央処理ユニット、ならびに命令およびデータを格納する1つ以上のメモリデバイスである。一般に、コンピュータはさらに、例えば磁気ディスク、光磁気ディスク、もしくは光ディスクなど、データを格納する1つ以上の大容量ストレージデバイスを含むか、またはそれとの間でデータの受信もしくは転送を行うよう動作可能に結合されるか、またはその両方である。なお、コンピュータはそのようなデバイスを有しなくてもよい。さらに、コンピュータは、ごく数例を挙げると、例えば携帯電話、携帯情報端末(PDA)、モバイルオーディオプレーヤもしくはモバイルビデオプレーヤ、ゲーム機、グローバルポジショニングシステム(GPS:Global Positioning System)受信機、または例えばユニバーサルシリアルバス(USB:universal serial bus)フラッシュドライブなどのポータブルストレージデバイスなど、別のデバイスに組み込むことができる。
【0096】
コンピュータプログラム命令およびデータを格納するのに適当なコンピュータ可読媒体には、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれ、例として、例えばEPROM、EEPROM、およびフラッシュメモリデバイスなどの半導体メモリデバイス、例えば内蔵ハードディスクまたはリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD ROMディスクおよびDVD ROMディスクが含まれる。プロセッサおよびメモリは、専用論理回路構成により補完されること、またはそれに組み込まれることが可能である。
【0097】
ユーザとの相互作用を提供するために、本明細書に記載されている主題の実施形態は、ユーザに情報を表示するための、例えばCRT(cathode ray tube:陰極線管)モニタ、LCD(liquid crystal display:液晶ディスプレイ)モニタ、もしくはOLEDディスプレイなどのディスプレイデバイス、ならびに、例えばキーボード、マウス、またはプレゼンスセンシティブディスプレイもしくは他の表面など、コンピュータに入力を提供するための入力デバイスを有するコンピュータ上に実装できる。他の種類のデバイスも、ユーザとの相互作用を提供するために使用できる。例として、ユーザに提供されるフィードバックは、例えば視覚フィードバック、聴覚フィードバック、または触覚フィードバックなど、任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信できる。さらに、コンピュータは、ユーザにより使用されるデバイスとの間でリソースの送信および受信をすることにより、例として、ユーザのクライアントデバイス上のウェブブラウザから受信したリクエストに応答してウェブページをウェブブラウザに送信することにより、ユーザと相互作用することができる。
【0098】
本明細書に記載されている主題の実施形態は、例えばデータサーバとしてなど、バックエンドコンポーネントを含むコンピューティングシステム、または、例えばアプリケーションサーバなど、ミドルウェアコンポーネントを含むコンピューティングシステム、または、例えばユーザが本明細書に記載されている主題の実装と相互作用できるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータなど、フロントエンドコンポーネントを含むコンピューティングシステム、またはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネント1つ以上の任意の組み合わせにおいて実装できる。システムのコンポーネントは、例えば通信ネットワークなど、任意の形態または媒体のデジタルデータ通信により相互接続できる。通信ネットワークの例には、ローカルエリアネットワーク(「LAN」)、および例えばインターネットなどのワイドエリアネットワーク(「WAN」)が含まれる。
【0099】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に、互いに遠隔にあり、典型的には通信ネットワークを介して相互作用する。クライアントおよびサーバの関係は、個々のコンピュータ上で実行され相互にクライアント-サーバ関係を有するコンピュータプログラムにより生じる。
【0100】
本明細書は多数の具体的な実装の詳細を含むが、これらは、いずれかの発明の範囲または特許請求の範囲に対する制限として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に特有であり得る特徴の記載として解釈されるべきである。別々の実施形態との関連で本明細書に記載されている特定の特徴が、単一の実施形態において組み合わせて実装されることも可能である。逆に、単一の実施形態との関連で記載されている様々な特徴が、複数の実施形態で別々に、または任意の適切な一部組み合わせで実装されることも可能である。さらに、各特徴は、特定の組み合わせで動作するよう上述されていることもあり、当初そのように請求されていることさえもあるが、事例によっては、請求されている組み合わせの1つ以上の特徴をその組み合わせから削除でき、請求されている組み合わせは一部組み合わせまたは一部組み合わせの変形物を対象とし得る。
【0101】
同じく、各動作は図面内に特定の順序で示されているが、これは、望ましい結果を実現するために、当該の動作が示されている特定の順序で、もしくは順番に実行されること、または示されているすべての動作が実行されることを要求するものと理解されてはならない。特定の状況では、マルチタスクおよび並列処理が有利なこともある。さらに、上述の実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離を要求するものと理解されてはならず、当然のことながら、記載されているプログラムコンポーネントおよびシステムは、全般的に単一ソフトウェア製品に統合することまたは複数のソフトウェア製品へとパッケージ化することができる。
【0102】
主題の特定の実施形態が記載された。他の実施形態は、添付の特許請求の範囲に記載の範囲内にある。例として、特許請求の範囲に記載されたアクションは、異なる順序で実行されても依然として望ましい結果を達成することができる。一例として、添付の図面に示されるプロセスは、望ましい結果を達成するために、示されている特定の順序または順番を必ずしも要求するものではない。特定の実装では、マルチタスクおよび並列処理が有利なこともある。
図1
図2
図3
図4A
図4B
図5
【手続補正書】
【提出日】2023-07-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
オーディオ・スパイク変換パイプラインの1つ以上のコンポーネントを使用して1つ以上のデータ処理装置により実行される方法であって、
オーディオデータを取得するステップと、
前記オーディオデータを表現する周波数領域オーディオ信号を、前記オーディオデータを周波数領域へと変換するステップにより生成するステップと、
メル尺度周波数オーディオ信号を取得するために、前記周波数領域オーディオ信号をメル周波数バンドのセットへとマッピングするステップと、
対数メル信号を取得するために、前記メル尺度周波数オーディオ信号に対して対数変換を実行するステップと、
スパイキングニューラルネットワーク(SNN)モデルに入力される一連のスパイクを含むスパイク入力を、前記対数メル信号を前記一連のスパイクに変換することにより生成するステップと、
前記スパイク入力を前記SNNモデルに入力として提供するステップと
を含む、前記方法。
【請求項2】
前記スパイク入力を使用して前記SNNモデルを実行するステップであって、前記スパイキングニューラルネットワークは、前記オーディオデータに対応するテキストを含む音声認識結果を生成するために前記一連のスパイクを処理する、前記実行するステップと、
前記音声認識結果を出力するステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記音声認識結果に基づくアクションを実行するステップをさらに含む、請求項2に記載の方法。
【請求項4】
前記オーディオデータを取得するステップは、
前記オーディオデータをメモリから取得するステップ、または
前記オーディオデータをアクティブなマイクロフォンから取得するステップ
を含む、請求項1に記載の方法。
【請求項5】
前記オーディオデータを前記周波数領域へと変換するステップは、
センタリングおよびスケーリングされたオーディオデータを取得するために、前記オーディオデータをセンタリングおよびスケーリングするステップと、
前記センタリングおよびスケーリングされたオーディオデータを、所定長のスライディングウィンドウを使用して周波数領域へと変換するステップと
を含む、請求項1に記載の方法。
【請求項6】
前記オーディオデータを前記周波数領域へと変換するステップは、スライディング離散フーリエ変換(SDFT)アルゴリズムを使用して前記オーディオデータを変換するステップを含む、請求項1に記載の方法。
【請求項7】
前記対数メル信号をスパイク入力に変換するステップは、
隣接した2つのタイムステップの前記対数メル信号間のステップごとの差分を判断するステップと、
前記ステップごとの差分が、正または負いずれかの方向において閾値を満たすと判断するステップと、
対応する極性のスパイクを生成するステップと
を含む、請求項1に記載の方法。
【請求項8】
前記対数メル信号をスパイクへと変換するステップは、各対数メル信号の量子化された合計を算出することにより累積和スパイクを求めるステップを含む、請求項1に記載の方法。
【請求項9】
前記対数メル信号をスパイクへと変換するステップは、
複数のブロックにおいてスタックされた特徴を取得するために、前記対数メル特徴を複数回スタックするステップと、
前記複数のブロックにおいて前記スタックされた特徴をスパイクへと変換するステップと
を含む、請求項1に記載の方法。
【請求項10】
前記オーディオ・スパイク変換パイプラインの前記1つ以上のコンポーネントは、分類の正確さに基づき調整されるハイパーパラメータを含む、請求項1に記載の方法。
【請求項11】
ハイパーパラメータ設定の複数のセットの中の各ハイパーパラメータ設定について、
前記オーディオ・スパイク変換パイプラインの前記1つ以上のコンポーネントに前記ハイパーパラメータ設定を適用するステップ、
前記オーディオ・スパイク変換パイプラインの前記1つ以上のコンポーネントを使用してスパイク入力に変換される訓練オーディオデータを使用して複数のテストSNNモデルを訓練するステップ、および
テストデータを使用して各テストSNNモデルをテストするステップであって、各テストSNNモデルにより生成された音声認識結果の正確さを判断することにより結果データを生成するステップを含む、前記テストするステップと、
ハイパーパラメータの各セットについて前記結果データに基づき前記ハイパーパラメータを更新するステップと
をさらに含む、請求項10に記載の方法。
【請求項12】
前記方法は、ハイパーパラメータの各セットについて前記結果データに基づき各ハイパーパラメータの重要度を判断するステップをさらに含み、前記ハイパーパラメータを更新するステップは、少なくとも1つのハイパーパラメータの前記重要度に基づき前記少なくとも1つのハイパーパラメータを更新するステップを含む、請求項11に記載の方法。
【請求項13】
前記スパイク入力を生成する際に、所与のハイパーパラメータの前記重要度に基づき、特定の前記ハイパーパラメータを使用しないようにするステップをさらに含む、請求項12に記載の方法。
【請求項14】
ニューロモルフィックプロセッサを含む1つ以上のプロセッサと、
前記1つ以上のプロセッサにより実行されると前記1つ以上のプロセッサに動作を実行させる命令を格納する1つ以上のストレージデバイスと
を含むシステムであって、前記動作は、
オーディオデータを取得することと、
前記オーディオデータを表現する周波数領域オーディオ信号を、前記オーディオデータを周波数領域へと変換することにより生成することと、
メル尺度周波数オーディオ信号を取得するために、前記周波数領域オーディオ信号をメル周波数バンドのセットへとマッピングすることと、
対数メル信号を取得するために、前記メル尺度周波数オーディオ信号に対して対数変換を実行することと、
スパイキングニューラルネットワーク(SNN)モデルに入力される一連のスパイクを含むスパイク入力を、前記対数メル信号を前記一連のスパイクに変換することにより生成することと、
前記スパイク入力を前記SNNモデルに入力として提供することと
を含む、システム。
【請求項15】
前記動作は、
前記スパイク入力を使用して前記SNNモデルを実行することであって、前記スパイキングニューラルネットワークは、前記オーディオデータに対応するテキストを含む音声認識結果を生成するために前記一連のスパイクを処理する、前記実行することと、
前記音声認識結果を出力することと
を含む、請求項14に記載のシステム。
【請求項16】
前記動作は、前記音声認識結果に基づくアクションを実行することを含む、請求項15に記載のシステム。
【請求項17】
前記オーディオデータを取得することは、
前記オーディオデータをメモリから取得すること、または
前記オーディオデータをアクティブなマイクロフォンから取得すること
を含む、請求項14に記載のシステム。
【請求項18】
前記オーディオデータを前記周波数領域へと変換することは、
センタリングおよびスケーリングされたオーディオデータを取得するために、前記オーディオデータをセンタリングおよびスケーリングすることと、
前記センタリングおよびスケーリングされたオーディオデータを、所定長のスライディングウィンドウを使用して周波数領域へと変換することと
を含む、請求項14に記載のシステム。
【請求項19】
前記オーディオデータを前記周波数領域へと変換することは、スライディング離散フーリエ変換(SDFT)アルゴリズムを使用して前記オーディオデータを変換することを含む、請求項14に記載のシステム。
【請求項20】
ニューロモルフィックプロセッサを含む1つ以上のプロセッサにより実行されると前記1つ以上のプロセッサに動作を実行させる命令を格納する1つ以上のコンピュータストレージ媒体であって、前記動作は、
オーディオデータを取得することと、
前記オーディオデータを表現する周波数領域オーディオ信号を、前記オーディオデータを周波数領域へと変換することにより生成することと、
メル尺度周波数オーディオ信号を取得するために、前記周波数領域オーディオ信号をメル周波数バンドのセットへとマッピングすることと、
対数メル信号を取得するために、前記メル尺度周波数オーディオ信号に対して対数変換を実行することと、
スパイキングニューラルネットワーク(SNN)モデルに入力される一連のスパイクを含むスパイク入力を、前記対数メル信号を前記一連のスパイクに変換することにより生成することと、
前記スパイク入力を前記SNNモデルに入力として提供することと
を含む、1つ以上のコンピュータストレージ媒体。
【外国語明細書】