(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-17
(54)【発明の名称】機械学習のための同期入力フィードバック
(51)【国際特許分類】
G06N 20/00 20190101AFI20220107BHJP
G06F 11/36 20060101ALI20220107BHJP
G10L 19/018 20130101ALI20220107BHJP
【FI】
G06N20/00
G06F11/36 196
G10L19/018
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021523882
(86)(22)【出願日】2019-09-27
(85)【翻訳文提出日】2021-04-30
(86)【国際出願番号】 US2019053624
(87)【国際公開番号】W WO2020091925
(87)【国際公開日】2020-05-07
(32)【優先日】2018-10-31
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ベネット、マシュー
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042HH19
5B042HH49
(57)【要約】
【解決手段】同期入力フィードバックを提供する方法及びシステムは、入力イベントを受信することと、入力イベントを出力ストリームに符号化することであって、入力イベントの符号化は、特定のイベントに同期される、符号化することと、出力デバイスを通じて出力ストリームを再現することであって、それによって、再現された出力ストリームへの符号化された入力イベントは、ユーザに対して感知可能でない、再現することと、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
同期入力フィードバックを提供する方法であって、
a)入力イベントを受信することと、
b)前記入力イベントを出力ストリームに符号化することであって、前記入力イベントの前記符号化は、特定のイベントと同期される、前記符号化することと、
c)出力デバイスを通じて前記出力ストリームを再現することであって、前記再現された出力ストリームの前記符号化された入力イベントは、前記出力デバイスを通じて再現されるときにユーザに対して感知可能でない、前記再現することと、
を備えた、方法。
【請求項2】
前記出力ストリームは、音声ストリームを含み、前記入力イベントは、トーンとして前記音声ストリームに符号化される、請求項1に記載の方法。
【請求項3】
前記入力イベントは、超低周波トーンとして符号化される、請求項2に記載の方法。
【請求項4】
前記入力イベントは、超音波トーンとして符号化される、請求項2に記載の方法。
【請求項5】
前記出力ストリームは、ビデオストリームを含む、請求項1に記載の方法。
【請求項6】
前記入力イベントは、前記ビデオストリーム上でウォーターマークとして符号化される、請求項5に記載の方法。
【請求項7】
前記入力イベントは、メタデータとして前記ビデオストリームに符号化される、請求項5に記載の方法。
【請求項8】
前記メタデータは、ビデオフレームごとの補助的拡張情報である、請求項7に記載の方法。
【請求項9】
前記出力ストリームは、一連のイベントを含み、前記入力イベントの前記符号化は、前記一連の出力イベントと同期される、請求項1に記載の方法。
【請求項10】
前記入力イベントの前記符号化は、ビデオゲーム内で発生するイベントと同期される、請求項1に記載の方法。
【請求項11】
前記入力イベントの前記符号化は、ネットワークを通じてリモートデバイス上で発生するイベントと同期される、請求項1に記載の方法。
【請求項12】
前記入力イベントは、キー押下である、請求項1に記載の方法。
【請求項13】
前記入力イベントは、ジョイスティック制御入力である、請求項1に記載の方法。
【請求項14】
前記入力イベントは、ステアリングホイール制御入力である、請求項1に記載の方法。
【請求項15】
前記符号化された入力を有する前記出力ストリームは、前記出力ストリームから前記符号化された入力イベントを分離するようフィルタリングされる、請求項1に記載の方法。
【請求項16】
前記出力ストリーム及び前記符号化された入力イベントは、ニューラルネットワークに提供される、請求項15に記載の方法。
【請求項17】
前記ニューラルネットワークは、前記符号化された入力イベントを前記特定のイベントと関連付けるよう訓練される、請求項16に記載の方法。
【請求項18】
前記入力イベントは、前記特定のイベントを生じさせるように構成される、請求項1に記載の方法。
【請求項19】
非一時的コンピュータ可読媒体に埋め込まれた命令であって、前記命令は、実行されるとき、
a)入力イベントを受信することと、
b)前記入力イベントを出力ストリームに符号化することであって、前記入力イベントの前記符号化は、特定のイベントと同期される、前記符号化することと、
c)出力デバイスを通じて前記出力ストリームを再現することであって、それによって、前記再現された出力ストリームの前記符号化された入力イベントは、ユーザに対して検出可能でない、前記再現することと、
を含む方法を実施する、命令。
【請求項20】
システムであって、
プロセッサと、
メモリと、
前記メモリ内の非一時的命令と、を備え、前記非一時的命令は、実行されるとき、前記プロセッサに、
a)入力イベントを受信することと、
b)前記入力イベントを出力ストリームに符号化することであって、前記入力イベントの前記符号化は、特定のイベントと同期される、前記符号化することと、
c)出力デバイスを通じて前記出力ストリームを再現することであって、それによって、前記再現された出力ストリームの前記符号化された入力イベントは、ユーザに対して検出可能でない、前記再現することと、
を含む方法を実施させる、システム。
【請求項21】
改善された機械学習訓練のための方法であって、
a)符号化された入力イベントを含む出力ストリームを受信することであって、前記符号化された入力イベントは、ユーザに対して検出可能でない、前記受信することと、
b)前記符号化された入力イベントを復元するよう前記出力ストリームをフィルタリングすることであって、前記符号化された入力イベントは、特定のイベントと同期される、前記フィルタリングすることと、
c)前記符号化された入力イベントを前記特定のイベントと関連付けるよう、ニューラルネットワークを訓練することと、
を備えた、方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、機械学習のためのデータセットを作成することに関する。特に、本開示は、ニューラルネットワークを訓練するための同期入力フィードバックによりデータセットを作成することに関する。
【背景技術】
【0002】
ソフトウェアの品質保証及びリリース試験は典型的には、バグを発見し、コンテンツが品質基準を満たすことを保証するために多くの日数にわたる数人の作業を必要とする。品質保証及びリリース試験タスクを行うために必要とされる作業者の人数及び時間の量を削減するための方式として、機械学習が提案されてきた。この分野に対して機械学習を使用することの現在の問題は、機械を訓練することが、機械がテスタ入力を受信する間に、作業者が莫大な回数の試験手順を繰り返すことを必要とすることである。
【発明の概要】
【0003】
本開示の実施形態が生じるのはこの状況においてである。
【図面の簡単な説明】
【0004】
添付図面と共に以下の詳細な説明を考慮することによって、本開示の態様を容易に理解することができる。
【0005】
【
図1】本開示の態様に従った、入力フィードバックを同期する方法のブロック図を表す。
【
図2A】本開示の態様に従った、入力フィードバックを音声出力ストリームと同期する方法のブロック図を示す。
【
図2B】本開示の態様に従った、ビデオ出力ストリーム内のウォーターマークとして入力フィードバックを同期する方法のブロック図を表す。
【
図2C】本開示の態様に従った、ビデオストリーム内のメタデータとして入力フィードバックを同期する方法のブロック図を示す。
【
図3】本開示の態様に従った、機械学習のための符号化された入力イベントを有する出力ストリームを使用するブロック図を表す。
【
図4】本開示の態様に従った、入力フィードバックを音声出力ストリームと同期する方法の図を示す。
【
図5A】本開示の態様に従った、同期入力フィードバックを有するシステムにおいて使用するための再帰型ニューラルネットワークの簡易化されたノード図である。
【
図5B】本開示の態様に従った、同期入力フィードバックを有するシステムにおいて使用するための展開された再帰型ニューラルネットワークの簡易化されたノード図である。
【
図5C】本開示の態様に従った、同期入力フィードバックを有するシステムにおいて使用するための畳み込みニューラルネットワークの簡易化された図である。
【
図5D】本開示の態様に従った、同期入力フィードバックを有するシステムにおいてニューラルネットワークを訓練する方法のブロック図である。
【
図6】本開示の態様に従った、ニューラルネットワークにより同期入力フィードバックを実装するシステムのブロック図を表す。
【発明を実施するための形態】
【0006】
以下の詳細な説明は、例示を目的として多くの特定の詳細を包含するが、当業者は、以下の詳細への多くの変形及び変更が開示の範囲内にあることを認識するであろう。したがって、特許請求される開示の一般性を失うことなく、及び特許請求される開示に限定を課すことなく、以下で説明される開示の実施形態の実施例が示される。
【0007】
開示の実施形態の完全な理解を提供するために多数の特定の詳細が示されると共に、それらの特定の詳細なしに、他の実施形態が実施されてもよいことが当業者によって理解されるであろう。他の例では、本開示を曖昧にしないように、公知の方法、手順、構成要素、及び回路が説明されていない。本明細書における説明のいくつかの部分は、コンピュータメモリ内のデータビットまたは二値デジタル信号に対する演算のアルゴリズム及び象徴的表現に関して提示される。それらのアルゴリズムの記述及び表現は、その作業の本質を他の当業者に伝達するために、データ処理の分野における当業者によって使用される技術であってもよい。
【0008】
本明細書で使用されるようなアルゴリズムは、所望の結果につながる首尾一貫した一連のアクションまたは演算である。それらは、物理量の物理操作を含む。通常、必ずしもそうではないが、それらの量は、記憶され、転送され、組み合わされ、比較され、及びそうでなければ操作されることが可能な電子信号または磁気信号の形式をとる。主に一般的な使用を理由として、これらの信号が、ビット、値、要素、シンボル、文字、用語、または数字などを指すことが便利であり得ることが証明されている。
【0009】
特に述べられない限り、または以下の議論から明らかでない限り、説明の全体を通じて、「処理する」、「計算する」、「変換する」、「調停する」、「判定する」、または「識別する」などの用語を利用する議論は、コンピュータプラットフォームのアクション及び処理を指し、コンピュータプラットフォームは、プロセッサのレジスタ及びアクセス可能なプラットフォームメモリ内の物理(例えば、電子)量として表されるデータを、コンピュータプラットフォームメモリ、プロセッサレジスタ、またはディスプレイスクリーン内の物理量と同様に表される他のデータに操作及び変換するプロセッサを含む電子コンピューティングデバイスである。
【0010】
コンピュータプログラムは、それらに限定されないが、フロッピー(登録商標)ディスク、光学ディスク(例えば、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタルビデオディスク(DVD)、ブルーレイディスク(登録商標)など)を含むいずれかのタイプのディスク、及び磁気光学ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気もしくは光学カード、フラッシュメモリ、または電子命令を記憶するために適切ないずれかの他のタイプの非一時的媒体などのコンピュータ可読記憶媒体に記憶されてもよい。
【0011】
それらの派生形と共に用語「結合される」及び「接続される」は、本明細書における演算を実行する装置の構成要素の間の構造的関係を説明するために本明細書で使用されてもよい。それらの用語は、相互に同義語として意図されないことは理解されるべきである。むしろ、特定の実施形態では、「接続される」は、2つ以上の要素が相互に直接物理接触または直接電気接触していることを示すために使用されてもよい。いくつかの例では、「接続される」、「接続」、及びそれらの派生形は、例えば、ニューラルネットワーク(NN)内のノード層の間の論理的関係を示すために使用される。「結合される」は、2つ以上の要素が相互に直接物理接触もしくは直接電気接触し、または間接物理接触(それらの間の他の仲介する要素による)もしくは間接電気接触していることのいずれかであること、及び/あるいは2つ以上の要素が相互に協同または通信する(因果関係にあるように)ことを示すために使用されてもよい。
【0012】
ビデオゲーム及び他のソフトウェアの試験に対して現在訓練している人工エージェントは、多くの作業者が、十分な量の訓練データを生成するために、試験プロトコルを実行及び繰り返すことを必要とする。同期は、テスタがそれらの試験プロトコルを実行する間に、機械学習アルゴリズムがテスタ入力を受信すると共に全ての訓練がライブで実行される必要がある現在の方法による大きな問題である。機械がユーザからの入力をソフトウェア環境内で発生する特定のイベントと同期する方式が存在しないことを理由に、記録された試験性能に対して試験を実行することができない。よって、本開示の態様は、機械学習が入力をソフトウェア環境内で発生する特定のイベントと同期することが可能であるように、ユーザからの入力イベントを出力ストリームに符号化するシステム及び方法を作成することを目的とする。いくつかの実装態様では、入力タイミング情報及び出力タイミング情報を単一の出力ファイルに組み合わせることによって、結果として生じる出力との入力のタイミングの同期を大いに簡易化することができる。
【0013】
[入力フィードバック機構]
図1は、本開示の態様に従った、入力フィードバックを同期する方法を表す。方法は、入力デバイスからの入力イベントの受信101により開始する。入力イベントは、ボタン押下、ジョイスティック入力、アナログジョイパッド入力、ステアリングホイール入力、またはポテンショメータ入力などであってもよい。いくつかの実装態様では、入力イベントは、ソフトウェア環境内で発生する特定のイベントと同期される。いくつかのケースでは、特定のイベントは、出力ストリーム内の出力イベントまたは一連の出力イベントである。例えば、ビデオゲームでの限定なしに、キー押下(入力イベント)は、ゲーム内のアバタによるアクション(特定のイベント)に先行するよう同期されてもよい。別の実施例として、ミュージックプレイヤにおいて、ポテンショメータの動き(入力イベント)は、振幅の増加(特定のイベント)に先行してもよい。うまく作動しないアプリケーションが誤った振る舞い、長いドゥエル(dwell)(滞在)タイム、または重要な処理に対して応答がないことを示す場合があることを理由に、特定のイベントまたはイベント(複数可)との入力イベントの同期は、ビデオゲーム及びユーザインタフェースなどのいくつかのアプリケーションを試験するために重要である。入力イベントは次いで、出力ストリームに符号化される102。出力ストリームは、音声ストリーム、ビデオストリームなどを含んでもよい。符号化102の間、入力イベントと特定のイベントとの間の同期は、出力ストリーム内で維持されるべきである。限定としてではなくビデオゲームビデオゲームについての実施例として、ビデオストリーム内のアバタのアクションに先行する入力イベントは、アバタのアクションの前にビデオゲームの音声ストリームが発生する時に行われる。この実施例では、音声ストリーム及びビデオストリームが同期され、それは、ほとんどのタイプのマルチメディア表現において一般的である。出力デバイスは次いで、符号化された入力により出力ストリームを再現してもよく、103において示されるようにそれを送信してもよい。実施例として、及び限定としてではなく、出力デバイスは、スピーカ、ディスプレイスクリーン、またはテレビスクリーンであってもよい。103における再現の間の出力ストリームに埋め込まれた符号化された入力は、出力デバイスによって再現されるとき、ユーザに対して検出可能でなく、または少なくとも感知可能でないが、この場合ユーザは、平均的な視覚及び聴覚能力を有する人間である。
【0014】
図2A及び
図4は、入力フィードバックを音声出力ストリームと同期する方法を示す。入力イベント401、402は、入力デバイスから受信される201。上記議論されたように、ほとんどのマルチメディア表現の間、音声ストリーム404及びビデオストリームが同期される。そのようにして、ビデオ出力ストリームまたは音声出力ストリームのいずれかにおいて発生する特定のイベントは、いずれかの出力ストリームにおける適切な時間に行われる符号化された入力イベントと同期されてもよい。入力イベントを音声ストリームに符号化する利点は、ビデオ出力ストリームへの音声出力ストリームの比較的高いサンプルレートである。符号化の間、音声ストリームの低周波数部分406または高周波数部分のいずれかは、高域通過周波数フィルタまたは低域通過周波数フィルタのいずれかを適用することによって除去される202。音声ストリームの低周波数部分は、20ヘルツ未満の音の振動である超低周波音に対応する。音声ストリームの高周波数部分は、20キロヘルツを上回る音の振動である超音波に対応する。概して、超低周波音及び超音波は、成人に対して検出可能でなく、または少なくとも感知可能でない。入力イベントは、音声トーン403に変換されてもよく音声トーン403は次いで、式1に示されるように、周波数ドメインにおける加算、及び各時間ステップにおいて共に加算された音声周波数の合計数による合計の除算によって音声ストリームに混合される203、407。f(a)は、時間ステップtにおける出力ストリームの周波数であり、f(b
1…n)は、符号化されたトーンを表し、nは、トーンの数を表し、
[(f(a)+f(b
1)+….f(b
n))/(n+1)]
t 式1
である。
【0015】
図4に示されるように、ボタン押下の長さ401、402は、トーンの長さ406によって符号化されてもよい。各々のタイプのボタン押下は、異なる周波数トーンとして符号化されてもよい。符号化されたトーンを有する出力音声ストリームは、例えば、フーリエ変換によって分解されてもよく、入力トーンの存在を判定するよう分析されてもよい。出力音声ストリームが出力ビデオストリームに同期される場合、同期音声ストリーム及びビデオストリームは、単一の出力ファイルに保存されてもよく、それは、入力イベントと特定の出力イベントとの間のタイミングを著しく簡易化する。示される実施例では、下向き矢印ボタン押下401は、右向き矢印ボタン押下402、及びトーンが符号化されないボタン押下の間よりも高い周波数406において符号化されてもよい。再生の間、音声データに符号化されたトーンは、ユーザに対して検出可能でないが、ニューラルネットワークによる使用のために復号可能である。特に、本開示の態様に従って、ニューラルネットワークは、ゲームプレイの間に発生するどの特定のイベントが、符号化されたトーンと関連付けられた入力イベントと関連付けられるかを判定するために、トーンから復号された情報を使用してもよい。
【0016】
図2Bは、ビデオ出力ストリーム内のウォーターマークとして入力フィードバックを同期する方法を表す。入力イベントは、入力デバイスから受信される204。入力イベントは、ビデオ出力ストリームまたは音声出力ストリーム内で発生する特定のイベントと同期されてもよい。入力イベントは次いで、同期を維持すると共に、ウォーターマークとしてビデオストリームに符号化される205。例えば、ビデオ出力ストリーム内の動き、例えば、ビデオゲーム内のアバタの動き、または出力音声ストリームの振幅の増加の前に、キー押下は、ビデオ出力ストリームに符号化される。ウォーターマークは、限定することなく、アルファチャネル内、スクリーン位置内、または視認可能でない透かしに位置してもよい。
【0017】
図2Cは、ビデオストリーム内のメタデータとして入力フィードバックを同期する方法を示す。以前の通り、同期入力イベントは、入力デバイスから受信される206。同期入力イベントは次いで、ビデオストリームのメタデータ内でビデオストリームと同期して符号化される。メタデータは、ビデオストリームのフレームごとのヘッダまたは補助的拡張情報などであってもよい。入力イベントをビデオ出力ストリームに符号化するとき、出力ストリーム内で符号化された入力イベントのレートは、ビデオストリームのフレームレートにロックされる。そのようにして、符号化された入力のレートは、ビデオストリームに対する典型的なフレームレートである、60~120ヘルツに制限されてもよい。対照的に、入力を音声ストリームに符号化することは、音声ストリームのサンプルレートがビデオのサンプルレートよりもはるかに高いように、それほど制限されない。
【0018】
[機械学習改善]
概して、ソフトウェアを試験するよう、NNなどの機械学習システムを訓練するために大量の訓練データが必要とされる。ソフトウェア試験の重要な構成要素は、入力イベントが適切なソフトウェアの振る舞いに対応すること、及び入力イベントがユーザ経験に有害なクラッシュまたは他の不都合なイベントをもたらさないことを保証することである。上記議論されたように、ソフトウェア試験NNに対する現在の訓練方法は、NNが訓練している間にテスタが試験プロトコルを実行することを必要とする。このライブ試験データは、ラベル付けされたデータセットとして使用される。そのような情報をNNに提供するように構成されていないソフトウェア環境内で同期入力イベント情報を提供する容易な方式が現在存在しないので、試験はライブで実行される必要がある。そのようなソフトウェア環境は、ビデオゲーム及びユーザインタフェースを含む。
【0019】
本開示の態様に従って、入力フィードバック機構は、システムの音声出力ストリームまたはビデオ出力ストリーム内で発生する特定のイベントに動機された入力イベント情報を提供することによって、ニューラルネットワーク(NN)の訓練を改善することができる。
図3に示される以下の図は、NN訓練を改善するために、符号化された入力イベントを有する出力ストリームを使用する方法を表す。方法は、ストリーム内で符号化された、同期入力イベントを有する出力ストリームを受信すること301により開始する。受信された出力ストリームは、分割され、実際の出力から入力イベントを分離する302ために、分割された出力ストリームの1つにフィルタが適用される。いくつかの実装態様では、NNは、出力ストリームからの入力イベントを分離するよう訓練されてもよい。代わりに、デコーダアプリケーションは、入力イベントを引き出してもよく、それらをNNに別個に供給してもよい。いくつかの実装態様では、出力ストリームは、複製されてもよく、1つの複製された出力ストリームに低域通過フィルタが適用されてもよく、その他の複製された出力ストリームに高域通過フィルタが適用されてもよい。別の実装態様では、出力ストリームのチャネルは、出力ストリームのアルファチャネルを他のチャネルから分離して分割されてもよい。いくつかの実装態様では、フレームメタデータは、ビデオデータから分離されてもよい。
【0020】
符号化された入力イベントが出力ストリームから分離されると、NNは、実の入力イベントを表すよう、符号化された入力イベントを使用して訓練されてもよい303。符号化された入力イベントが特定のイベントと同期されることを理由に、この方法は有利である。この同期は、出力ストリーム内のイベントの間にあってもよく、または符号化された入力イベントを含む、出力ストリームとは異なる出力ストリーム内のイベントの間にあってもよい。例えば、限定することなく、同期は、音声ストリーム内のトーンとして符号化された入力イベントと、ビデオストリーム内のユーザインタフェース要素の活性化との間にあってもよい。ホストシステムの構成に対する大きな変更なしに、記録されたデータセットにより訓練することを可能にすることを理由に、出力ストリームなどの媒体に容易にアクセスするためのこの同期の維持は、NNの訓練を改善する。本明細書で使用されるように、用語「ホストシステム」は、出力ストリームが再現され、NNが訓練されるデバイスを指す。実施例として、及び限定としてではなく、NNは、以下で議論される方法に従ってソフトウェア試験に対して訓練されてもよい。
【0021】
[機械学習訓練]
ニューラルネットワーク、ディープラーニング、またはソフトウェア試験を実装する他の機械学習は、いくつかの異なるタイプのニューラルネットワークのうちの1つ以上を含んでもよく、多くの異なる層を有してもよい。実施例として、及び限定としてではなく、ニューラルネットワークは、畳み込みニューラルネットワーク(CNN)、再帰型ニューラルネットワーク(RNN)、及び/または動的ニューラルネットワーク(DNN)のうちの1つ以上を含んでもよい。
【0022】
図5Aは、ノード520の層を有するRNNの基本的な形式を表し、ノード520の各々は、活性化関数S、1つの入力重みU、再帰型隠れノード遷移重みW、及び出力遷移重みVによって特徴付けられる。活性化関数Sは、本分野において既知であるいずれかの非線形関数であってもよく、双曲線正接(tanh)関数に限定されない。例えば、活性化関数Sは、シグモイドまたはReLU関数であってもよい。他のタイプのニューラルネットワークとは異なり、RNNは、層全体に対する活性化関数及び重みの1つのセットを有する。
図5Bに示されるように、RNNは、時間T及びT+1を移る同一の活性化関数を有する一連のノード520として考えられてもよい。よって、RNNは、前の時間Tから現在の時間T+1までの結果を供給することによって、履歴情報を維持する。
【0023】
重みU、W、Vを構成することができるいくつかの方式が存在する。例えば、入力重みUは、ビデオ画素値、音声サンプル値、または入力イベント値などに基づいて適用されてもよい。それらの異なる入力に対する重みは、ルックアップテーブルに記憶されてもよく、必要に応じて適用されてもよい。システムが最初に適用するデフォルトの値が存在する。それらは次いで、ユーザによって手動で、または機械学習によって自動で修正されてもよい。
【0024】
いくつかの実施形態では、畳み込みRNN(CRNN)が使用されてもよい。使用することができる別のタイプのRNNは、参照によって本明細書に組み込まれる、Hochreiter&Schmidhuber「Long Short-term Memory」 Neural Computation 9(8):1734-1780(1997)によって説明されるような、ネットワークがより長い時間期間の間に何らかの情報を保持することを可能にするゲーティングメモリをもたらす、入力ゲート活性化関数、出力ゲート活性化関数、及び忘却ゲート活性化関数によりメモリブロックをRNNノードに追加する、長・短期メモリ(LSTM)ニューラルネットワークである。
【0025】
図5Cは、本開示の態様に従った、CRNNなどの畳み込みニューラルネットワークの実施例のレイアウトを表す。この表現では、畳み込みニューラルネットワークは、16の単位の総領域を与える、高さにおける4の単位及び幅における4の単位のサイズを有する画像532に対して生成される。表される畳み込みニューラルネットワークは、1のスキップ値及びサイズ9のチャネル536を有する、高さにおける2の単位及び幅における2の単位のサイズを有するフィルタ533を有する。
図5Cにおいて明確にするために、チャネルの第1の列とそれらのフィルタウインドウとの間の接続534のみが表される。しかしながら、本開示の態様は、そのような実装態様に限定されない。本開示の態様に従って、ソフトウェア試験を実装する畳み込みニューラルネットワーク529は、任意の数の追加のニューラルネットワークノード層531を有してもよく、任意のサイズの、追加の畳み込み層、完全接続層、プーリング層、マックスプーリング層、局所コントラスト正規化層などとして、そのような層のタイプを含んでもよい。
【0026】
図5Dにおいて見られるように、ニューラルネットワーク(NN)を訓練することは、NNの重みの初期化541により開始する。概して、初期の重みは、ランダムに分散されるべきである。例えば、tanh活性化関数を有するNNは、-1/√nと1/√nとの間で分散されるランダムな値を有するべきであり、nは、ノードへの入力の数である。
【0027】
初期化の後、活性化関数及びオプティマイザが定義される。NNは次いで、特徴データセットまたは入力データセットが提供される542。いくつかの実装態様では、ソフトウェア試験NNは、既知のラベル付けを有する入力に対応する特徴ベクトルが提供されてもよい。NNは次いで、特徴または入力についてのラベル及び分類を予測する543。予測されたラベルまたはクラスが、既知のラベルまたはクラス(グラウンドトゥルースとしても知られる)と比較され、損失関数は、全ての訓練サンプルにわたって予測とグラウンドトゥルースとの間の全誤差を測定する544。実施例として、及び限定としてではなく、損失関数は、クロスエントロピ損失関数、二次コスト、トリプレット対照関数、指数関数的コストなどであってもよい。目的に応じて複数の異なる損失関数が使用されてもよい。NNは次いで、損失関数の結果を使用して、及び確率的勾配降下法などによるバックプロパゲーションなどのニューラルネットワークに対する訓練の既知の方法を使用して最適及び訓練される545。各々の訓練エポックでは、オプティマイザは、訓練損失関数(すなわち、全誤差)を最小にするモデルパラメータ(すなわち、重み)を選択することを試みる。データは、訓練サンプル、検証サンプル、及び試験サンプルに区分化される。
【0028】
訓練の間、オプティマイザは、訓練サンプルに対して損失関数を最小にする。各訓練エポックの後、検証損失及び精度を計算することによって、検証サンプルに対してモードが評価される。著しい変化がない場合、訓練が停止してもよく、試験データのラベルを予測するために、結果として生じる訓練されたモデルが使用されてもよい。
【0029】
よって、ソフトウェア試験ニューラルネットワークは、既知のターゲットラベルを仮定してクロスエントロピ損失を最小にすることによって、変則のソフトウェア活動を識別及び分類するよう、既知のラベルまたは分類を有する音声ストリーム、ビデオストリーム、及び符号化された入力イベントストリームから訓練されてもよい。
【0030】
[実装態様]
図6は、本開示の態様に従った、同期入力フィードバックを提供するシステムを表す。システムは、ユーザ入力デバイス602に結合されたコンピューティングデバイス600を含んでもよい。ユーザ入力デバイス602は、コントローラ、タッチスクリーン、マイクロフォン、キーボード、マウス、ジョイスティック、または他の同様のデバイスであってもよい。
【0031】
コンピューティングデバイス600は、例えば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサコプロセッサ、及びセルプロセッサなどの公知のアーキテクチャに従って構成することができる、1つ以上のプロセッサユニット603を含んでもよい。コンピューティングデバイスはまた、1つ以上のメモリユニット604(例えば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、及びリードオンリメモリ(ROM)など)を含んでもよい。
【0032】
プロセッサユニット603は、1つ以上のプログラムを実行してもよく、1つ以上のプログラムの一部は、メモリ604に記憶されてもよく、プロセッサ603は、例えば、データバス605を介してメモリにアクセスすることによって、メモリに動作可能に結合されてもよい。プログラムは、出力ストリームからの別個の入力イベントに対するフィルタ608を実装するように構成されてもよい。加えて、メモリ604は、NN621の訓練を実装するプログラムを包含してもよい。メモリ604はまた、ユーザ入力デバイス602から出力ストリームへの入力イベントの符号化を実装する、符号化モジュール610などのソフトウェアモジュールを包含してもよい。出力ストリームは、大容量記憶装置615内のプログラム617またはネットワーク620から受信されたプログラム617の実行によって生成されてもよく、入力イベントを符号化する前または後に、メモリ604内のバッファにおいて保持されてもよい。
【0033】
NNの全体構造及び確率も、大容量記憶装置615にデータ618として記憶されてもよい。プロセッサユニット603は、大容量記憶装置615またはメモリ604に記憶された1つ以上のプログラム617を実行するように更に構成され、1つ以上のプログラム617は、入力デバイス602からの入力イベントを出力ストリーム610に符号化する方法100をプロセッサに実行させる。加えて、プロセッサユニット604は、上記議論された方法300及び500に従ってNNを訓練する方法を実行するように構成されてもよい。システムは、NN訓練工程の一部としてニューラルネットワークを生成してもよい。それらのニューラルネットワークは、サウンドカテゴリ化NNモジュール621においてメモリ604に記憶されてもよい。完了したNNは、メモリ604に記憶されてもよく、または大容量記憶装置615にデータ618として記憶されてもよい。プログラム617(または、その一部)も、例えば、符号化された入力イベント及び別個の出力ストリームを生成するよう適切なフィルタ608を出力ストリームに適用し、符号化された入力イベントによりNN621を訓練し、同期された様式において入力イベントを出力ストリーム610に符号化するための適切なプログラミングによって構成されてもよい。
【0034】
コンピューティングデバイス600はまた、例えば、バス605を介してシステムの他の構成要素を通信することができる、入力/出力(I/O)607、回路、電力供給装置(P/S)611、クロック(CLK)612、及びキャッシュ613などの公知のサポート回路を含んでもよい。コンピューティングデバイスは、ネットワークインタフェース614を含んでもよい。プロセッサユニット603及びネットワークインタフェース614は、適切なネットワークプロトコル、例えば、パーソナルエリアネットワーク(PAN)に対するBluetooth(登録商標)を介して、ローカルエリアネットワーク(LAN)またはPANを実装するように構成されてもよい。コンピューティングデバイスは任意選択で、ディスクドライブ、CD-ROMドライブ、テープドライブ、またはフラッシュメモリなど大容量記憶装置615を含んでもよく、大容量記憶装置は、プログラム及び/またはデータを記憶してもよい。コンピューティングデバイスはまた、システムとユーザとの間の対話を促進するためのユーザインタフェース616を含んでもよい。ユーザインタフェースは、モニタ、テレビスクリーン、スピーカ、ヘッドフォン、または情報をユーザに通信する他のデバイスを含んでもよい。
【0035】
コンピューティングデバイス600は、電子通信ネットワーク620を介した通信を促進するためのネットワークインタフェース614を含んでもよい。ネットワークインタフェース614は、ローカルエリアネットワーク及びインターネットなどのワイドエリアネットワークを通じた有線通信または無線通信を実装するように構成されてもよい。デバイス600は、ネットワーク620を通じて1つ以上のメッセージパケットを介してデータ及び/またはファイルについての要求を送信及び受信してもよい。ネットワーク620を通じて送信されるメッセージパケットは、メモリ604内のバッファ609に一時的に記憶されてもよい。出力ストリームは、ネットワーク620を通じて受信されてもよく、またはプログラム617からローカルに生成されてもよい。
【0036】
上述したことは、本開示の好ましい実施形態の完全な説明であるが、様々な変形物、修正物、及び同等物を使用することが可能である。上記説明は、例示的であり、限定するものではないことを意図していることが理解されよう。例えば、図面におけるフローチャートは、開示の特定の実施形態によって実行される演算の特定の順序を示すが、そのような順序が必須でないことが理解されるべきである(例えば、代替的な実施形態は、異なる順序において演算を実行してもよく、特定の演算を組み合わせてもよく、特定の演算を重複させてもよい、など)。更に、上記説明を読み、理解すると、多くの他の実施形態が当業者にとって明らかである。特定の例示的な実施形態を参照して本開示が説明されてきたが、開示が説明された実施形態に限定されないが、添付の請求項の趣旨及び範囲内で修正及び変形により実施されてもよいことが認識されよう。したがって、開示の範囲は、添付の請求項が権利を与えられる同等物の全範囲に従って、そのような請求項を参照して決定されるべきである。好ましいか否かに関わらず、本明細書で説明されたいずれかの特徴は、好ましいか否かに関わらず、本明細書で説明されたいずれかの他の特徴と組み合わされてもよい。以下の請求項では、不定冠詞「A」または「An」は、明確に述べられる場合を除き、冠詞に続く項目のうちの1つ以上の量を指す。添付の請求項は、ミーンズプラスファンクションの限定が、フレーズ「~する手段(means for)」を使用して所与の請求項に明確に記載されない限り、そのような限定を含むとして解釈されるべきではない。
【国際調査報告】