(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】サウンド分類システム
(51)【国際特許分類】
G10L 25/54 20130101AFI20241022BHJP
G10L 25/30 20130101ALI20241022BHJP
G10L 25/24 20130101ALI20241022BHJP
G06F 16/65 20190101ALI20241022BHJP
【FI】
G10L25/54
G10L25/30
G10L25/24
G06F16/65
(21)【出願番号】P 2023071591
(22)【出願日】2023-04-25
(62)【分割の表示】P 2021516976の分割
【原出願日】2019-09-23
【審査請求日】2023-05-25
(32)【優先日】2018-09-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ジャティ、アリンダム
(72)【発明者】
【氏名】クマー、ナヴィーン
(72)【発明者】
【氏名】チェン、ルーシン
【審査官】菊池 智紀
(56)【参考文献】
【文献】中国特許出願公開第107221320(CN,A)
【文献】LIU, Mingchun et al.,"A Study on Content-Based Classification and Retrieval of Audio Database",Proc. of the 2001 International Database Engineering and Applications Symposium,2001年07月16日,pp.339-345
【文献】HUANG, Chang-Qin et al.,"Object-Location-Aware Hashing for Multi-Label Image Retrieval via Automatic Mask Learning",Trans. of the IEEE Image Processing,2018年05月21日,Vol.27, No.9,pp.4490-4502
(58)【調査した分野】(Int.Cl.,DB名)
G10L 25/00-25/93,15/00-17/26
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
サウンドの階層分類のためのシステムであって、
1つ以上のプロセッサと、
1つのサウンド入力に対して2つ以上の層の階層の粗い分類
を表すベクトル及び前記階層の中の最も細かいレベルの分類
を表すベクトルを
出力するように構成された前記1つ以上のプロセッサに実装された1つ以上のニューラルネットワークと
を備え、
前記1つ以上のニューラルネットワークは、メトリック学習関数及びクロスエントロピー損失関数の組み合わせを用いて訓練され、前記メトリック学習関数の損失および前記クロスエントロピー損失関数の損失が加算され最適化される、システム。
【請求項2】
第1重み付け係数は、前記メトリック学習関数の損失および前記クロスエントロピー損失関数の損失で用いられる、請求項1に記載のシステム。
【請求項3】
前記メトリック学習関数はトリプレット損失関数である、請求項2に記載のシステム。
【請求項4】
前記メトリック学習関数はクアドラプレット損失関数である、請求項2に記載のシステム。
【請求項5】
前記サウンドはオノマトペサウンドである、請求項1に記載のシステム。
【請求項6】
前記オノマトペサウンドはユーザーによって発声される、請求項5に記載のシステム。
【請求項7】
前記1つ以上のニューラルネットワークは、実行時に、前記プロセッサに前記ニューラルネットワークの計算を実行させる非一過性コンピュータ可読媒体に格納された実行可能命令である、請求項1に記載のシステム。
【請求項8】
データベースをさらに備え、前記実行可能命令は、前記ニューラルネットワークからの前記
2つ以上の層の階層の粗い分類及び前記階層の中の最も細かいレベルの分類の結果を
用いて類似したサウンドを求めて前記データベースを検索することをさらに含む、請求項7に記載のシステム。
【請求項9】
前記実行可能命令は、前記1つ以上のニューラルネットワークによって実行される前記分類に従って階層データベースにサウンドデータを格納することをさらに含む、請求項7に記載のシステム。
【請求項10】
触覚フィードバックイベントが、サウンドの前記階層分類によって決定される、触覚フィードバックデバイスをさらに備える、請求項1に記載のシステム。
【請求項11】
前記サウンドはデジタル化され、分類前にメル周波数ケプストラムに変換される、請求項1に記載のシステム。
【請求項12】
実行時に、
1つのサウンド入力に対して2つ以上の層の階層の粗い分類
を表すベクトル及び前記階層内の最も細かいレベルの分類
を表すベクトルを出力するように構成された1つ以上のニューラルネットワークを実装し、
前記1つ以上のニューラルネットワークは、メトリック学習関数及びクロスエントロピー損失関数の組み合わせを用いて訓練され、前記メトリック学習関数の損失および前記クロスエントロピー損失関数の損失が加算され最適化される、非一過性コンピュータ可読媒体に埋め込まれたコンピュータ実行可能命令。
【請求項13】
前記サウンドはオノマトペサウンドである、請求項1
2に記載のコンピュータ実行可能命令。
【請求項14】
前記オノマトペサウンドはユーザーによって発声される、請求項1
3に記載のコンピュータ実行可能命令。
【請求項15】
前記命令は、前記ニューラルネットワークからの前記
2つ以上の層の階層の粗い分類及び前記階層の中の最も細かいレベルの分類の結果を
用いて類似したサウンドを求めてデータベースを検索することをさらに含む、請求項1
2に記載のコンピュータ実行可能命令。
【請求項16】
プロセッサによって実行される、サウンドの階層類別のための方法であって、
前記プロセッサが、1つのサウンド入力に対して2つ以上の層の階層の粗い分類
を表すベクトル及び前記階層内の最も細かいレベルの分類
を表すベクトルを出力するために
1つ以上のニューラルネットワークを使用することと、
前記プロセッサが、前記1つ以上のニューラルネットワークを、メトリック学習関数及びクロスエントロピー損失関数の組み合わせを用いて訓練し、前記メトリック学習関数の損失および前記クロスエントロピー損失関数の損失を加算して最適化することと
を含
み、
前記ニューラルネットワークは、実行時に、前記プロセッサに前記ニューラルネットワークの計算を実行させる非一過性コンピュータ可読媒体に格納されたコンピュータ実行可能命令である、方法。
【請求項17】
前記サウンドは、ユーザーによって発声されるオノマトペサウンドである、請求項1
6に記載の方法。
【請求項18】
前記プロセッサが、前記ニューラルネットワークからの前記
2つ以上の層の階層の粗い分類及び前記階層の中の最も細かいレベルの分類の結果を
用いて類似したサウンドを求めてデータベースを検索することをさらに含む、請求項1
6に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、サウンドの分類に関する。特に、本開示は、ニューラルネットワークを使用したサウンドの多層分類に関する。
【背景技術】
【0002】
コンピュータによって生成される特殊効果(FX)に大きく依存する映画及びビデオゲームの人気の高まりによって、サウンドファイルを含む膨大なデータベースが作成されるようになってきた。これらのデータベースは、映画及びビデオゲームの作成者がサウンドファイルによりアクセスしやすくするために分類される。分類はアクセスしやすさには役立つが、データベースを使用するには、依然としてデータベースのコンテンツ及び分類方式に精通していることが必要である。利用可能なサウンドに関する知識がないコンテンツ作成者は、所望のサウンドを見つけるのが大変困難である。したがって、新しいコンテンツ作成者は、すでに存在しているサウンドを作成することで時間及びリソースを浪費する場合がある。
【0003】
これらのアクセス可能な大規模なサウンドデータベースにも関わらず、映画及びビデオゲームは、多くの場合新しいカスタムサウンドを作り出す。新しいサウンドをこれらのデータベースに加えるには、膨大な量の時間及び分類方式に精通している人物が必要になる。
【0004】
本開示の実施形態が生じるのはこの状況においてである。
【発明の概要】
【0005】
本開示の態様は、添付図面と併せて以下の詳細な説明を検討することによって容易に理解できる。
【図面の簡単な説明】
【0006】
【
図1】本開示の態様に従って、訓練されたサウンド分類及び類別ニューラルネットワークを使用するサウンド分類の方法を示すブロック図である。
【
図2A】本開示の態様に係るサウンド分類システムで使用するためのリカレント型ニューラルネットワークの簡略化されたノード図である。
【
図2B】本開示の態様に係るサウンド分類システムで使用するための展開されたリカレント型ニューラルネットワークの簡略化されたノード図である。
【
図2C】本開示の態様に係るサウンド分類システムで使用するための畳み込みニューラルネットワークの簡略図である。
【
図2D】本開示の態様に係るサウンド分類システムでニューラルネットワークを訓練するための方法のブロック図である。
【
図3】本開示の態様に係るサウンド分類システムでニューラルネットワークを訓練するためのメトリック学習及びクロスエントロピー損失関数学習の複合型の方法を示すブロック図である。
【
図4】本開示の態様に従って訓練されたサウンド分類及び類別ニューラルネットワークを使用するサウンド分類方法を実装するシステムのブロック図を示す。
【発明を実施するための形態】
【0007】
以下の詳細な説明は、説明のための多くの具体的な詳細を含むが、当業者は、以下の詳細に対する多くの変形形態及び変更形態が本開示の範囲内にあることを理解する。したがって、以下に説明する本開示の実施形態の例は、特許請求される開示に対する一般性を失うことなく、かつ特許請求される開示に制限を課すことなく説明される。
【0008】
本開示の実施形態の完全な理解を提供するために多数の具体的な詳細が説明されるが、他の実施形態がこれらの具体的な詳細なしに実施され得ることが当業者によって理解される。他の例では、本開示を分かりづらくしないために、周知の方法、手順、構成要素、及び回路は詳細に説明されていない。本明細書の説明のいくつかの部分は、コンピュータメモリ内のデータビットまたはバイナリデジタル信号に対する演算のアルゴリズム及び記号表現の観点から提示される。これらのアルゴリズムの説明及び表現は、データ処理技術の当業者が自らの研究の重要性を他の当業者に伝えるために使用する技術である場合がある。
【0009】
本明細書で使用されるアルゴリズムは、所望の結果につながるセルフコンシステントな一連のアクションまたは演算である。これらは、物理量の物理的な操作を含む。必ずしもではないが、通常、これらの量は、格納、転送、結合、比較、及びそれ以外の場合操作が可能な電気信号または磁気信号の形をとる。これらの信号をビット、値、要素、記号、文字、用語、数字などと呼ぶことは、おもに一般的な使用法の理由からときには便利であることが判明している。
【0010】
具体的に明記されない限り、またはそれ以外の場合以下の説明から明らかではない限り、明細書全体で、「処理する」、「計算する」、「変換する」、「調整する」、「判断する」、または「識別する」などの用語を利用する説明は、プロセッサを含む電子コンピューティングデバイスであるコンピュータプラットフォームのアクション及びプロセスを指し、プロセッサは、プロセッサのレジスタ及びアクセス可能なプラットフォームメモリ内の物理的な(例えば、電子)量として表されるデータを操作し、コンピュータプラットフォームメモリ、プロセッサレジスタ、または表示画面内で物理量として同様に表される他のデータに変換することが理解されるべきである。
【0011】
コンピュータプログラムは、フロッピー(登録商標)ディスク、光ディスク(例えば、コンパクトディスク読み取り専用メモリ(CD-ROM)、デジタルビデオディスク(DVD)、Blu-Ray(登録商標) Discs(商標)など)、及び磁気光ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気カードもしくは光カード、フラッシュメモリ、または電子命令の格納に適した任意の他のタイプの非一過性媒体を含む任意のタイプのディスクであるが、これに限定されるものではないコンピュータ可読記憶媒体に格納され得る。
【0012】
用語「結合された」及び「接続された」は、その派生語とともに、本明細書の操作を実行するための装置の構成要素間の構造上の関係を説明するために本明細書で使用される場合がある。これらの用語は、互いの同義語として意図されていないことを理解されたい。むしろ、特定の実施形態では、「接続された」は、2つ以上の要素が互いに直接的に物理的または電気的に接触していることを示すために使用される場合がある。いくつかの例では、「接続された」、「接続」、及びその派生語は、例えばニューラルネットワーク(NN)の中のノード層間の論理関係を示すために使用される。「結合された」は、2つ以上の要素が直接的にまたは間接的に(他の介在する要素がそれらの間にある)のどちらかで互いに物理的にまたは電気的に接触していること、及び/または2つ以上の要素が(例えば、因果関係においてのように)互いに協調または通信することを示すために使用される場合がある。
【0013】
サウンド分類システム
現在、映画及びビデオゲーム向けにサウンドFXの大規模なデータベースが存在している。これらの大規模なデータベースは、不均一な多層分類方式を使用し、手作業で分類されている。一例の方式では、データベースは多くのカテゴリを有し、各カテゴリは1つ以上の娘サブカテゴリを有し、実際のサウンドは各サブカテゴリ下に一覧されている。機械学習は、データセットをクラスタ化し、類別するようにニューラルネットワークを訓練するために使用されてきた。以前のデータセットは、通常、設計によってすでに固有の分類を有していたオブジェクトから成り立っていた。例えば、以前のクラスタ化の問題は、車がセダンであるのか、それともクーペであるのかを判断することを含んでいる。自動車業界は、セダンまたはクーペのどちらかのデザインで明示的に車を製造するため、これらの2つのタイプの車両の違いは固有である。
【0014】
人間がサウンドFXデータベースでサウンドを分類するとき、サウンドの音響特性を除く要因は、サウンドがどの分類を必要とするのかを判断するために使用される。例えば、人間のカテゴライザは、例えば、サウンドが爆発によって生じたのか、それとも銃声によって生じたのかなど、サウンドの発生源について何かを知る。この情報は、サウンドデータ単独から入手することはできない。本開示の洞察は、固有の分類のないサウンドは、純粋にサウンドの特性に基づいて確実な方法で分類をサウンドに適用させ得るという点である。さらに、サウンドサンプル間の類似性をその音響類似性に基づいて学習することによって、機械学習システムは、新しいサウンドクラスを学習できる。したがって、これらの大規模なデータベースの検索及び分類は、機械学習の使用によって支援され得る。本開示は2層分類を説明しているが、本開示がそのような構造に限定されず、教示は任意の数の層を有するデータベースに適用し得ることを理解されたい。
【0015】
サウンド分類システムは、特定のサウンドまたは特定のタイプのサウンドを求めて大規模データベースを検索する際に役立つ場合がある。分類は、階層の類別、すなわち、(サウンド階層ツリーのノードに沿ってのような)粗い分類から細かい分類の一般的な概念を指す。制限としてではなく例として、粗い類別及びきめの細かい類別があり、最もきめの細かい類別またはカテゴリの前に複数のきめの粗い類別またはカテゴリがある。いくつかの実施態様では、システムは、ユーザーが発声するオノマトペサウンドを分類及び類別し得る。本明細書で使用するように、用語オノマトペサウンドは、特定のサウンドを説明または示唆する単語または発声を指す。システムは、オノマトペサウンドの分類を使用して、オノマトペサウンドの分類に一致する実際に録音されたサウンドを求めてサウンドFXデータベースを検索し得る。階層データベースの1つの優位点は、システムが、サブカテゴリ及びカテゴリの両方に基づいて相違度が変化する複数の類似したサウンドを提示し得る点である。いくつかの実施形態では、検索は、例えば上位3つの最も類似したサウンドを提供し得る。他の実施形態では、検索は、同じサブカテゴリ及びカテゴリから類似したサウンドの選択を提供し得る。類似したサウンドの選択は、入力サウンドに文脈的に関係するサウンドである場合がある。他の実施態様では、システムは、簡単に実際に録音されたサウンドを分類し、分類に従ってサウンドFXデータベースに実際に録音されたサウンドを格納し得る。ユーザーは、場合によっては、例えば実際のサウンドFXとして使用する声色を所望する場合があり、例えば、コミックブックの媒体では、動きを強調するためにオノマトペサウンドを使用する場合があるため、いくつかの代替実施形態では、実際に録音されたサウンドは、ユーザーが発声したオノマトペサウンドである場合がある。
【0016】
大規模なサウンドFX分類は、本開示の態様の1つの応用例であるが、他の応用例も予想される。1つの代替実施態様では、大規模なサウンドFXデータベースは、特定のビデオゲーム向けのサウンドのタイムスタンプ付きの、または場所的に編成されたデータベースに置き換えられ得る。訓練された分類ニューラルネットワークは、プレーヤに再生される分類サウンドに基づいてゲーム内でプレーヤの場所を決定する。エミュレーションサーバからはすでにユーザーに送信されているサウンド以外の情報は必要とされないため、この特定の実施態様は、局所化されていないエミュレータに利点をもたらす。
【0017】
別の実施態様では、サウンドの階層データベースは、コントローラの振動またはジョイスティックにかかる圧力など触覚に関するイベントに結び付けられる場合がある。サウンド分類NNを使用し、実際の触覚情報を欠くゲームに特別な触覚フィードバックが加えられるであろう。分類NNは、簡単にゲーム音声を受け取り、音声を分類し得、分類は、ユーザーに提供される触覚イベントを決定するために使用され得る。さらに、分類システムは、障害のあるユーザーに追加の情報を提供し得る。例えば及び制限なく、応用例は、左側の振動パターンを制御するためにより高いカテゴリのサウンドを提供し、右側の高周波振動を制御するためにより低いレベルのサブカテゴリのサウンドを使用する場合がある。
【0018】
制限としてではなく例として、いくつかの出力モダリティは、例えば内蔵のマイク、プロセッサ、及び視覚ディスプレイ付きの携帯電話または眼鏡を使用し、聴覚障害者を助けることができるであろう。プロセッサで実行中のニューラルネットワークは、マイクが拾うサウンドを分類できるであろう。ディスプレイは、例えばクローズドキャプションなどのテキスト形式でサウンドカテゴリを識別する視覚的なフィードバックを提示できるであろう。
【0019】
現在のサウンドFXデータベースは、2層手法に依存している。2層データベースでは、目標は、カテゴリとサブカテゴリの両方を正しく類別できる選別器を構築することである。本開示の態様に係る2層データベースは、「粗い」及び「細かい」の2つのクラスに分けられたラベルを有する。粗いクラスラベルは、カテゴリラベルである。細かいクラスラベルは、カテゴリ+サブカテゴリラベルである。本明細書に説明する方法及びシステムは、2層データベースを説明しているが、教示は任意の数のカテゴリ層を有するデータベースに適用し得ることを理解されたい。本開示の態様によれば、及び制限なく、データベースは183のカテゴリ及び4721のサブカテゴリを有する2層の不均一な階層データベースである場合がある。データベースは、インデックスルックアップなど、既知の方法によって検索し得る。適切な検索プログラムの例は、市販のデジタルオーディオワークステーション(DAW)ソフトウェア、及びCanada、Ontario、TrontoのSoundminer Inc.のSoundminerソフトウェアなどの他のソフトウェアを含む。
【0020】
サウンド分類システム100の演算方式は、サウンド101のセグメントで始まる。サウンド101のセグメントに複数のフィルタ102が適用されて、ウィンドウサウンドを作り出し、メル周波数ケプストラム103内でサウンドの表現を生成する。メル周波数ケプストラム表現は、訓練されたサウンド分類ニューラルネットワーク104に提供される。訓練されたサウンド分類NNは、サウンドの最も細かいレベルのカテゴリ、つまり最も細かいレベルの類別106を表すベクトルだけではなく、サウンドのカテゴリ及びサブカテゴリを表すベクトル105を出力する。この分類は次いで、上述したように、類似したサウンドを求めてデータベース110を検索するために使用し得る。
【0021】
フィルタリングサンプル
類別及びクラスタ化の前に、サウンドFXは、類別を支援するために処理される場合がある。いくつかの実施態様では、メルケプストラムスペクトログラム特徴は、音声ファイルから抽出される。メルケプストラムスペクトログラム特徴を抽出するために、音声信号はいくつかの時間ウィンドウに分割され、各ウィンドウは、例えば高速フーリエ変換(FFT)によって周波数領域信号に変換される。この周波数領域信号またはスペクトル領域信号は、次いでスペクトル領域信号の対数を取得してから別のFFTを実行することによって圧縮される。時間領域信号S(t)のケプストラムは、数学的には、FT(log(FT(S(t)))+j2πq)として表し得、この式では、qは複素対数関数の角度または虚数部を適切にアンラップするために必要とされる整数である。アルゴリズム的には、ケプストラムは、一連の演算、つまり信号→FT→対数→位相アンラッピング→FT→ケプストラムによって生成され得る。ケプストラムは、サウンドウィンドウ内の異なるスペクトルバンドの変化率についての情報とみなすことができる。スペクトラムは最初に、離散コサイン変換(DCT)の1つ少ない最終処理ステップを有する点でメル周波数ケプストラム係数(MFCC)とは異なるメルフィルタバンク(MFB)を使用し、変換される。ヘルツ単位の周波数f(サイクル/秒)は、m=(1127.01048Hz)loge(1+f/700)に従ってメル周波数mに変換され得る。同様に、メル周波数mは、f=(700Hz)(em/1127.01048-1)を使用してヘルツ単位の周波数fに変換できる。例えば及び制限なく、サウンドFXは、移動ウィンドウの長さが42.67ms及びシフトが10.67msの64次元メルケプストラムスペクトログラムに変換され得る。
【0022】
バッチトレーニングは、NNトレーニングに用いられる。メル周波数変換サウンドのランダムウィンドウ、つまり特徴フレームが生成され、次元サンプルがトレーニングのためにモデルに送り込まれる。制限としてではなく例として、特徴フレームのそれぞれが64次元サンプルである100のランダム特徴フレームを選び得る。
【0023】
ニューラルネットワークトレーニング
サウンドFX104の分類を実装するニューラルネットワークは、いくつかの異なるタイプのニューラルネットワークの1つ以上を含む場合があり、多くの異なる層を含む場合がある。制限としてではなく例として、類別ニューラルネットワークは、1つまたは複数の畳み込みニューラルネットワーク(CNN)、リカレント型ニューラルネットワーク(RNN)、及び/またはダイナミックニューラルネットワーク(DNN)から成り立つ場合がある。
【0024】
図2Aは、ノード220の層を有するRNNの基本的な形式を示し、ノード220のそれぞれは、活性化関数S、1つの入力重みU、反復隠れノード遷移重みW、及び出力遷移重みVによって特徴付けられる。活性化関数Sは、当該技術で既知の任意の非線形関数である場合があり、双曲線正接(tanh)関数に限定されないことに留意されたい。例えば、活性化関数Sは、シグモイド関数またはReLu関数である場合がある。他のタイプのニューラルネットワークとは異なり、RNNは、層全体に対して1セットの活性化関数及び重みを有する。
図2Bに示すように、RNNは、時間T及びT+1を通して移動する同じ活性化関数を有する一連のノード220とみなされる場合がある。したがって、RNNは、前の時間Tから現在時T+1までの結果を送ることによって履歴情報を維持する。
【0025】
重みU、W、Vを構成し得るいくつかの方法がある。入力重みUは、メル周波数スペクトラムに基づいて適用し得る。これらの異なる入力の重みは、ルックアップテーブルに格納され、必要に応じて適用できるであろう。システムが最初に適用するデフォルト値があるであろう。これらは、次いでユーザーによって手作業で修正される場合もあれば、機械学習によって自動的に修正される場合もある。
【0026】
いくつかの実施形態では、畳み込みRNNを使用し得る。使用し得る別のタイプのRNNは、長短期記憶(LSTM)ニューラルネットワークであり、それは、参照により本明細書に援用されるHochreiter&Schmidhuberの「Long Short-term memory」、Neural Computation 9(8):1735-1780(1997)で説明されるように、入力ゲート活性化関数、出力ゲート活性化関数、及び忘却ゲート活性化関数を有するRNNノードでメモリブロックを加え、ネットワークがより長い期間一部の情報を保持することを可能にするゲートメモリを生じさせる。
【0027】
図2Cは、本開示の態様に係るCRNNなどの畳み込みニューラルネットワークの例のレイアウトを示す。この描写では、畳み込みニューラルネットワークは、高さ4ユニット及び幅4ユニットで、総面積が16ユニットとなるサイズの画像232のために生成される。図示の畳み込みニューラルネットワークは、高さ2ユニット及び幅2ユニットのサイズで、スキップ値が1のフィルタ233と、サイズ9のチャネル236とを有する。
図2Cを明確にするために、チャネルの第1の列とそのフィルタウィンドウとの間の接続234だけが描かれている。しかしながら、本開示の態様は、そのような実装に限定されない。本開示の態様によれば、分類229を実装する畳み込みニューラルネットワークは、任意の数の追加のニューラルネットワークノード層231を有し得、任意のサイズの追加の畳み込み層、完全接続層、プーリング層、最大プーリング層、局所コントラスト正規化層などのような層タイプを含み得る。
【0028】
図2Dに見られるように、ニューラルネットワーク(NN)を訓練することは、NN241の重みの初期化で始まる。一般的には、初期重みは無作為に分散するべきである。例えば、tanh活性化関数を使用するNNは、-1/√nと1/√nとの間で分散されたランダムな値を有するべきであり、ここでnはノードに対する入力の数である。
【0029】
初期化後、活性化関数及びオプティマイザが定義される。NNは、次いで特徴または入力データセット242を与えられる。異なる特徴ベクトルのそれぞれは、既知のラベルを有する入力を与えられる場合がある。同様に、分類NNは、既知のラベリングまたは類別を有する入力に相当する特徴ベクトルを与えられる場合がある。NNは、次いで特徴または入力243のラベルまたは類別を予測する。予測されたラベルまたはクラスは、(グラウンドトゥルースとも呼ばれる)既知のラベルまたはクラスに比較され、損失関数は、すべてのトレーニングサンプル244で予測とグラウンドトゥルースとの間の総合誤差を測定する。制限としてではなく例として、損失関数は、クロスエントロピー損失関数、二次費用、トリップレットコントラスト(triplet contrastive)関数、指数費用などである場合がある。目的に応じて、複数の異なる損失関数を使用し得る。NNは、次いで損失関数の結果を使用し、及び確率的勾配降下法など245によるバックプロパゲーションなどのニューラルネットワークのための既知のトレーニングの方法を使用し、最適化され、訓練される。それぞれのトレーニングエポックで、オプティマイザは、トレーニング損失関数(つまり、総合誤差)を最小限に抑えるモデルパラメータ(つまり、重み)を選ぼうとする。データは、トレーニング、バリデーション、及びテストのサンプルに区分化される。
【0030】
トレーニング中、オプティマイザは、トレーニングサンプルに対する損失関数を最小限に抑える。各トレーニングエポック後、モードは、バリデーションの損失及び精度を計算することによってバリデーションサンプルに関して評価される。大きな変化がない場合、トレーニングを停止できる。次いで、この訓練されたモデルは、テストデータのラベルを予測するために使用し得る。
【0031】
このようにして、分類ニューラルネットワークは、既知のラベルまたは類別を有する音声入力から訓練されて、既知の目標ラベルを所与としてクロスエントロピー損失を最小限に抑えることによってそれらの音声入力を識別し、類別し得る。
【0032】
階層維持(HIERARCHY-PRESERVING)表現学習
単純なクロスエントロピー損失に加えて、本開示の態様に係るNNのトレーニングでは、メトリック学習も用い得る。シャム損失またはトリプレット損失によるメトリック学習は、複素多様体または表現を学習する固有の能力を有する。SFX類別の場合、メトリック学習は、クロスエントロピーのみの使用と比較して、埋め込みスペースでのクラスタ化を改善する。本開示の態様に係る全体的なジョイント損失関数は、
【数1】
によって示され、上式では、L
CEは類別のためのクロスエントロピー損失であり、L
metricは、以下で説明するように、L
tripletまたはL
quadrupletのどちらかであるメトリック学習損失である。
【0033】
均一トリプレットトレーニングは、階層ラベル構造を考慮せず、ネガティブサンプルのおそらく大部分はアンカーのカテゴリとして異なるカテゴリから採取される。これに対抗するために、トリプレットネガティブマイニングは、ネガティブサンプルが同じカテゴリであるが、異なるサブカテゴリから由来するいくつかのトリプレットにモデルが遭遇するように確率論的に実行され得る。M個のサンプルと仮定して、t
i=(x
a
(i),x
p
(i),x
n
(i))であるトリプレット{t
i}
i=1~Mが、次のようにアンカー、ポジティブサンプル、及びネガティブサンプルを選ぶことによって形成される。
1.カテゴリC及びサブカテゴリSからアンカーx
a
(i)を選ぶ。
2.x
p
(i)∈Sとなるように正のx
p
(i)を選ぶ。
3.負のx
n
(i)を選ぶ。
【数2】
【0034】
ここで、rはベルヌーイ確率変数r~Ber(0.5)である。I(.)は、指標関数である。次に、N個のサンプルのバッチでのトリプレット損失が取得される。
【数3】
【0035】
ここで、mは負でないマージンパラメータである。
【0036】
メトリック学習ネットワークに対するさらなる改善は、トリプレットの代わりにクアドラプレット損失を使用することで達成し得る。クアドラプレット損失は、埋め込み構造を維持しようとし、入力が類別される階層についてのより多くの情報を提供する。クアドラプレット損失が与えられる。
【数4】
【0037】
クアドラプレットタプルは、次のように選ばれる。
1.カテゴリC及びサブカテゴリSからアンカーxa
(i)を選ぶ。
2.xp+
(i)∈Sとなるように、強い正のxp+
(i)を選ぶ。
3.xp-
(i)∈C及びxp-
(i)/∈Sとなるように、弱い正のxp-
(i)を選ぶ。(/∈は∈の否定)
4.xn
(i)/∈Cとなるように、負のxn
(i)を選ぶ。(/∈は∈の否定)
【0038】
図2Dに示すように、トレーニング245中、クアドラプレット損失関数またはトリプレット損失関数、及びクロスエントロピー損失関数は、上述のように最適化の間に使用される。さらに、最適化中に使用される組み合わせクロスエントロピー損失及びクアドラプレット/トリプレット損失関数は、2つのタイプの損失間のトレードオフを補償するために重み付け係数λを加えることで改善され得る。このようにして、新しい複合損失方程式は、以下のように表される。
L
total=(λ)L
ce+(1-λ)L
metric
【0039】
このシステムを、任意の数の層を有する階層に拡張するために、メトリック学習損失関数は、階層のすべてのノードに方法を再帰的に適用することによって簡単に修正される。
【0040】
この複合トレーニングにより、入力の分類の改善が可能になる。
【0041】
複合トレーニング
図3は、組み合わせたクロスエントロピー損失関数及びメトリック学習損失関数309を用いてサウンドFX分類システム300を訓練する概略図を示す。トレーニング中、アンカー301、強い正の数302、弱い正の数303、及び負の数304を表すサンプルがニューラルネットワーク305に提供される。トリプレット学習を使用する実施態様では、アンカー、ポジティブサンプル、及びネガティブサンプルだけが提供されることに留意されたい。ニューラルネットワーク305は、任意の数の層を有する1つ以上のニューラルネットワークを含み得る。制限としてではなく例として、2つの層を有するネットワークでは、トレーニング中にパラメータを共用する4つのネットワークがある。これらのネットワークは、(f(アンカー)、f(強い+)、f(弱い+)、f(-))を表す。L2正規化層306は、埋め込み距離307を生じさせるためにニューラルネットワーク305の出力層で使用される。L2正規化306からの出力は、308クラスベクトルに変換するが、307それを使用して、入力301~304に対応する3対の埋め込み間の距離を計算する「埋め込み」と呼ばれる「正規化」ベクトルである。これらの距離は、次いでメトリック学習損失関数に使用できる。アンカー311のラベルは、損失関数で使用することで渡される。メトリック学習損失関数は、次いで埋め込み距離307に適用される。さらに、f(アンカー)の結果も、最も細かいレベルのサブカテゴリを表すベクトル308の形をとり得る最も細かいレベルの類別を提供するために使用される。上述のように、トレーニング中、メトリック学習関数及びクロスエントロピー関数の損失が計算され、互いに加算される309。組み合わされたメトリック学習損失及びクロスエントロピー損失は、次いで、確率的勾配降下アルゴリズム310を用いたミニバッチバックプロパゲーションでの最適化に使用される。
【0042】
実施態様
図4は、本開示の態様に係るサウンド分類システムを示す。システムは、ユーザー入力デバイス402に結合されたコンピューティングデバイス400を含み得る。ユーザー入力デバイス402は、コントローラ、タッチスクリーン、マイク、キーボード、マウス、ジョイスティック、またはユーザーがサウンドデータを含む情報をシステムに入力できるようにする他のデバイスである場合がある。ユーザー入力デバイスは、触覚フィードバックデバイス421に結合される場合がある。触覚フィードバックデバイス421は、例えば振動モータ、力フィードバックシステム、超音波フィードバックシステム、または空気圧フィードバックシステムである場合がある。
【0043】
コンピューティングデバイス400は、例えば、シングルコア、デュアルコア、クアッドコア、マルチコア、プロセッサコプロセッサ、セルプロセッサなどの周知のアーキテクチャに従って構成され得る1つ以上のプロセッサユニット403を含み得る。また、コンピューティングデバイスは、1つ以上のメモリユニット404(例えば、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、読み取り専用メモリ(ROM)など)を含み得る。
【0044】
プロセッサユニット403は、その部分がメモリ404に格納され得る1つ以上のプログラムを実行し得、プロセッサ403は、例えばデータバス405を介してメモリにアクセスすることによってメモリに動作可能に結合され得る。プログラムは、サウンドフィルタ408を実装して、サウンドをメル周波数ケプストラムに変換するように構成され得る。さらに、メモリ404は、サウンド分類NN421のトレーニングを実施するプログラムを含み得る。また、メモリ404は、サウンドファイル408、多層サウンドデータベース422、及びサウンド分類NNモジュール421などのソフトウェアモジュールも含み得る。サウンドデータベース422は、データ418としてマスストア418に、またはネットワークインタフェース414を通してアクセスされるネットワーク420に結合されたサーバに格納され得る。
【0045】
また、NNの全体的な構造及び確率も、データ418としてマスストア415に格納され得る。プロセッサユニット403は、マスストア415に、またはメモリ404に格納された1つ以上のプログラム617を実行するようにさらに構成され、そのプログラムはプロセッサに、サウンドデータベース422からサウンド分類NN421を訓練する方法300を実施させる。システムは、NNトレーニングプロセスの一部としてニューラルネットワークを生成し得る。これらのニューラルネットワークは、サウンド分類NNモジュール421の中のメモリ404に格納され得る。完成したNNは、メモリ404に、またはデータ418としてマスストア415に格納され得る。また、プログラム417(またはその部分)は、例えば適切なプログラミングによって、ユーザーが入力したサウンドに適切なフィルタ408を適用し、サウンド分類NN421でフィルタリングされたサウンドを分類し、類似したまたは同一のサウンドを求めてサウンドカテゴリデータベース422を検索するように構成され得る。さらに、プログラム417は、触覚フィードバックデバイス421を使用し、触覚フィードバックイベントを作成するためにサウンド分類の結果を利用するように構成され得る。
【0046】
また、コンピューティングデバイス400は、例えばバス405を介してシステムの他の構成要素と通信し得る、入出力(I/O)407、回路、電源(P/S)411、クロック(CLK)412、及びキャッシュ413などの周知のサポート回路も含み得る。コンピューティングデバイスは、ネットワークインタフェース414を含み得る。プロセッサユニット403及びネットワークインタフェース414は、ローカルエリアネットワーク(LAN)またはパーソナルエリアネットワーク(PAN)を、適切なネットワークプロトコル、例えばPANの場合ブルートゥース(登録商標)を介して実装するように構成され得る。コンピューティングデバイスは、任意選択で、ディスクドライブ、CD-ROMドライブ、テープドライブ、フラッシュメモリなどの大容量記憶装置415を含み得、大容量記憶装置は、プログラム及び/またはデータを格納する場合がある。また、コンピューティングデバイスは、システムとユーザーとの間の対話を容易にするためのユーザーインタフェース616も含み得る。ユーザーインタフェースは、モニタ、テレビ画面、スピーカ、ヘッドホン、または情報をユーザーに通信する他のデバイスを含み得る。
【0047】
コンピューティングデバイス400は、電子通信ネットワーク420を介した通信を容易にするためのネットワークインタフェース414を含み得る。ネットワークインタフェース414は、ローカルエリアネットワーク及びインターネットなどの広域ネットワークを介して有線通信または無線通信を実装するように構成され得る。デバイス400は、ネットワーク420上で1つ以上のメッセージパケットを介してデータ及び/またはファイルに対する要求を送受し得る。ネットワーク420を介して送信されたメッセージパケットは、メモリ404内のバッファ409に一時的に格納され得る。分類されたサウンドデータベースは、ネットワーク420を通して利用可能であり、使用するためにメモリ404に部分的に格納され得る。
【0048】
上記は、本開示の好ましい実施形態の完全な説明であるが、多様な代替策、修正、及び均等物を使用することが可能である。上記の説明は、制限的ではなく、例示的であることが意図されることを理解されたい。例えば、図の流れ図は、本開示の特定の実施形態によって実行される操作の特定の順序を示しているが、そのような順序は必須ではない(例えば、代替実施形態は、異なる順序で操作を実行し得る、特定の操作を組み合わせ得る、特定の操作を重複させ得るなど)ことを理解されたい。さらに、他の多くの実施形態は、上記の説明を読み、理解すると、当業者に明らかとなる。本開示は、特定の例示的な実施形態を参照して説明されてきたが、本開示は、説明された実施形態に限定されるのではなく、添付の特許請求の範囲の精神及び範囲内で変更形態及び改変形態により実施できることが認識される。したがって、本開示の範囲は、添付の特許請求の範囲を参照して、そのような特許請求の範囲が権利を与えられる均等物の全範囲とともに決定されるべきである。好ましいかどうかに関わらず、本明細書に説明した任意の特徴は、好ましいかどうかに関わらず、本明細書に説明した任意の他の特徴と結合され得る。続く特許請求の範囲では、不定冠詞「a」または「an」は、明示的に特別の定めがない限り、冠詞に続く品目の1つ以上の数量を指す。添付の特許請求の範囲は、ミーンズプラスファンクションの限定が語句「するための手段(means for)」を使用し、所与の請求項に明示的に説明されない限り、係る限定を含むとして解釈されるべきではない。