(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-11-01
(54)【発明の名称】入れ子式畳み込みニューラルネットワークアーキテクチャを使用したオーディオ処理のための方法及び装置
(51)【国際特許分類】
G06N 3/0464 20230101AFI20231025BHJP
G10L 25/30 20130101ALN20231025BHJP
G10L 21/0208 20130101ALN20231025BHJP
【FI】
G06N3/0464
G10L25/30
G10L21/0208 100Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023523288
(86)(22)【出願日】2021-10-19
(85)【翻訳文提出日】2023-04-17
(86)【国際出願番号】 US2021055691
(87)【国際公開番号】W WO2022087025
(87)【国際公開日】2022-04-28
(31)【優先権主張番号】PCT/CN2020/121829
(32)【優先日】2020-10-19
(33)【優先権主張国・地域又は機関】CN
(32)【優先日】2020-11-11
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2020-12-03
(33)【優先権主張国・地域又は機関】EP
(31)【優先権主張番号】PCT/CN2021/078705
(32)【優先日】2021-03-02
(33)【優先権主張国・地域又は機関】CN
(32)【優先日】2021-03-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】507236292
【氏名又は名称】ドルビー ラボラトリーズ ライセンシング コーポレイション
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】スゥン,ジュインダイ
(72)【発明者】
【氏名】ルゥ,リエ
(72)【発明者】
【氏名】シュワーン,ジーウエイ
(57)【要約】
畳み込みニューラルネットワーク(CNN)に基づいてオーディオ処理するためのシステム、方法、及びコンピュータプログラム製品が説明される。CNNアーキテクチャは、マルチスケール入力ブロックとマルチスケール入れ子ブロックとを含み得る。マルチスケール入力ブロックは、入力データを受信し、入力データをダウンサンプリングすることによって第1のダウンサンプリングされた入力データセットを生成するように構成され得る。マルチスケール入れ子ブロックは、入力データに基づいて畳み込みを実行することによって第1の符号化データセットを生成するように構成された第1の符号化層を含み得る。マルチスケール入れ子ブロックは、第1のダウンサンプリングされた入力データセットに基づいて畳み込みを実行することによって第2の符号化データセットを生成するように構成された第2の符号化層を含み得る。更に、マルチスケール入れ子ブロックは、第2の符号化データセットをアップサンプリングし、第1の符号化データセットとアップサンプリングされた第2の符号化データセットとを連結し、畳み込みを実行することによって、第1の出力データセットを生成するように構成された第1の畳み込み層を含み得る。第1の畳み込み層は、符号化層と復号層との間に入れ子され得、それによって、CNNとの通信チャネルの数を増加させ、根本的な最適化問題を簡略化する。
【特許請求の範囲】
【請求項1】
畳み込みニューラルネットワーク(CNN)アーキテクチャを実装するコンピューティングシステムであって、前記CNNアーキテクチャは、マルチスケール入力ブロックとマルチスケール入れ子ブロックとを含み、前記マルチスケール入力ブロックは、
入力データを受信することと、
前記入力データをダウンサンプリングすることによって第1のダウンサンプリングされた入力データセットを生成することと
を行うように構成され、
前記マルチスケール入れ子ブロックは、
前記入力データに基づいて畳み込みを実行することによって第1の符号化データセットを生成するように構成された第1の符号化層と、
前記第1のダウンサンプリングされた入力データセットに基づいて畳み込みを実行することによって第2の符号化データセットを生成するように構成された第2の符号化層と、
前記第1の符号化データセットとアップサンプリングされた第2の符号化データセットとに基づいて畳み込みを実行することによって第1の出力データセットを生成するように構成された第1の畳み込み層であって、前記アップサンプリングされた第2の符号化データセットは、前記第2の符号化データセットをアップサンプリングすることによって取得される、第1の畳み込み層と
を含む、コンピューティングシステム。
【請求項2】
前記マルチスケール入れ子ブロックは、
前記第2の符号化データセットに基づいて畳み込みを実行することによって第2の出力データセットを生成するように構成された第2の畳み込み層と、
前記第1の出力データセットとアップサンプリングされた第2の出力データセットとに基づいて畳み込みを実行することによって第3の出力データセットを生成するように構成された第3の畳み込み層であって、前記アップサンプリングされた第2の出力データセットは、前記第2の出力データセットをアップサンプリングすることによって取得される、第3の畳み込み層と
を更に含む、請求項1に記載のコンピューティングシステム。
【請求項3】
前記マルチスケール入力ブロックは、前記第1のダウンサンプリングされた入力データセットをダウンサンプリングすることによって第2のダウンサンプリングされた入力データセットを生成するように更に構成され、
前記マルチスケール入れ子ブロックは、前記第2のダウンサンプリングされた入力データセットに基づいて畳み込みを実行することによって第3の符号化データセットを生成するように構成された第3の符号化層を更に含み、
前記第2の畳み込み層は、前記第2の符号化データセットとアップサンプリングされた第3の符号化データセットとに基づいて畳み込みを実行することによって前記第2の出力データセットを生成するように構成され、前記アップサンプリングされた第3の符号化データセットは、前記第3の符号化データセットをアップサンプリングすることによって取得される、
請求項2に記載のコンピューティングシステム。
【請求項4】
前記第2の符号化層は、前記第1のダウンサンプリングされた入力データセットとダウンサンプリングされた第1の符号化データセットとに基づいて畳み込みを実行することによって前記第2の符号化データセットを生成するように構成され、前記ダウンサンプリングされた第1の符号化データセットは、前記第1の符号化データセットをダウンサンプリングすることによって取得される、
請求項1から3のいずれか一項に記載のコンピューティングシステム。
【請求項5】
前記第2の畳み込み層は、前記第2の符号化データセットと、ダウンサンプリングされた第1の出力データセットと、アップサンプリングされた第3の符号化データセットとに基づいて畳み込みを実行することによって前記第2の出力データセットを生成するように構成され、前記ダウンサンプリングされた第1の出力データセットは、前記第1の出力データセットをダウンサンプリングすることによって取得され、前記アップサンプリングされた第3の符号化データセットは、前記第3の符号化データセットをアップサンプリングすることによって取得される、
請求項2から4のいずれか一項に記載のコンピューティングシステム。
【請求項6】
前記第3の畳み込み層は、前記第1の出力データセットと、アップサンプリングされた第2の出力データセットと、前記第1の符号化データセットとに基づいて畳み込みを実行することによって前記第3の出力データセットを生成するように構成され、前記アップサンプリングされた第2の出力データセットは、前記第2の出力データセットをアップサンプリングすることによって取得される、
請求項2から5のいずれか一項に記載のコンピューティングシステム。
【請求項7】
前記第3の符号化層は、前記第2のダウンサンプリングされた入力データセットと、ダウンサンプリングされた第1の符号化データセットと、ダウンサンプリングされた第2の符号化データセットとに基づいて畳み込みを実行することによって前記第3の符号化データセットを生成するように構成され、前記ダウンサンプリングされた第1の符号化データセットは、前記第1の符号化データセットをダウンサンプリングすることによって取得され、前記ダウンサンプリングされた第2の符号化データセットは、前記第2の符号化データセットをダウンサンプリングすることによって取得される、
請求項3又は請求項3に従属するいずれかの請求項に記載のコンピューティングシステム。
【請求項8】
前記CNNアーキテクチャは、
前記第3の出力データセットに第1の重みを適用することと、
前記第2の出力データセットに第2の重みを適用することと、
前記重み付けされた第3の出力データセットと前記重み付けされた第2の出力データセットとに基づいて、前記マルチスケール入れ子ブロックの出力を生成することと
を行うように構成された重み付け加算ブロックを含む、請求項2から7のいずれか一項に記載のコンピューティングシステム。
【請求項9】
前記第1の符号化層は、前記入力データとアップサンプリングされた第1のダウンサンプリングされた入力データセットとに基づいて畳み込みを実行することによって前記第1の符号化データセットを生成するように構成され、前記アップサンプリングされた第1のダウンサンプリングされた入力データセットは、前記第1のダウンサンプリングされた入力データセットをアップサンプリングすることによって取得される、又は
前記第2の符号化層は、前記第1のダウンサンプリングされた入力データセットとアップサンプリングされた第2のダウンサンプリングされた入力データセットとに基づいて畳み込みを実行することによって前記第2の符号化データセットを生成するように構成され、前記アップサンプリングされた第2のダウンサンプリングされた入力データセットは、前記第2のダウンサンプリングされた入力データセットをアップサンプリングすることによって取得される、
請求項1から8のいずれか一項に記載のコンピューティングシステム。
【請求項10】
前記マルチスケール入力ブロックは、前記入力データに基づいて前記第1のダウンサンプリングされた入力データセットを生成するように構成された畳み込み層又は密層を含む、請求項1から9のいずれか一項に記載のコンピューティングシステム。
【請求項11】
前記マルチスケール入力ブロックは、最大プーリング処理、平均プーリング処理、又は最大プーリング処理と平均プーリング処理の混合を使用して、前記第1のダウンサンプリングされた入力データセットを生成するように構成される、請求項1から9のいずれか一項に記載のコンピューティングシステム。
【請求項12】
前記第1の符号化層又は前記第2の符号化層は、少なくとも2つの並列畳み込みパスの出力を連結又は加算することによって出力を生成するように構成されたマルチスケール畳み込みブロックを含む、請求項1から11のいずれか一項に記載のコンピューティングシステム。
【請求項13】
前記マルチスケール畳み込みブロックは、異なる重みを使用して前記少なくとも2つの並列畳み込みパスの前記出力を重み付けするように構成される、請求項12に記載のコンピューティングシステム。
【請求項14】
前記入力データはオーディオ信号を含み、前記CCNアーキテクチャは、前記マルチスケール入れ子ブロックの出力を受信するように構成された集約ブロックを更に含み、前記集約ブロックは、
前記入力データに関連付けられたチャネル数を低減するように構成された畳み込み層、
前記入力データに関連付けられた次元を低減するように構成されたプーリング層、及び
前記マルチスケール入れ子ブロックの前記出力を順序付けるように構成されたリカレント層
のうちの少なくとも1つを含む、請求項1から13のいずれか一項に記載のコンピューティングシステム。
【請求項15】
前記マルチスケール入力ブロックは、前記第2のダウンサンプリングされた入力データセットをダウンサンプリングすることによって第3のダウンサンプリングされた入力データセットを生成するように更に構成され、前記マルチスケール入れ子ブロックは、
前記第3のダウンサンプリングされた入力データセットに基づいて畳み込みを実行することによって第4の符号化データセットを生成するように構成された第4の符号化層と、
前記第3の符号化データセットとアップサンプリングされた第4の符号化データセットとに基づいて畳み込みを実行することによって第4の出力データセットを生成するように構成された第4の畳み込み層であって、前記アップサンプリングされた第4の符号化データセットは、前記第4の符号化データセットをアップサンプリングすることによって取得される、第4の畳み込み層と、
前記第2の出力データセットとアップサンプリングされた第4の出力データセットとに基づいて畳み込みを実行することによって第5の出力データセットを生成するように構成された第5の畳み込み層であって、前記アップサンプリングされた第4の出力データセットは、前記第4の出力データセットをアップサンプリングすることによって取得される、第5の畳み込み層と、
前記第3の出力データセットとアップサンプリングされた第5の出力データセットとに基づいて畳み込みを実行することによって第6の出力データセットを生成するように構成された第6の畳み込み層であって、前記アップサンプリングされた第5の出力データセットは、前記第5の出力データセットをアップサンプリングすることによって取得される、第6の畳み込み層と
を更に含む、請求項3又は請求項3に従属するいずれかの請求項に記載のコンピューティングシステム。
【請求項16】
オーディオ処理のための装置であって、
前記装置は、入力オーディオ信号の入力を受信し、出力オーディオ信号を出力するように構成され、
前記装置は、請求項1から15のいずれか一項に記載のCNNアーキテクチャを実装する前記コンピューティングシステムを備え、
前記マルチスケール入力ブロックによって受信された前記入力データは、前記入力オーディオ信号に基づき、前記出力オーディオ信号は、前記マルチスケール入れ子ブロックの前記第3の畳み込み層によって生成された前記第3の出力データセットに基づく、
装置。
【請求項17】
畳み込みニューラルネットワーク(CNN)を使用したオーディオ処理の方法であって、
入力データを受信するステップと、
前記入力データをダウンサンプリングすることによって第1のダウンサンプリングされた入力データセットを生成するステップと、
前記入力データに基づいて畳み込みを実行することによって第1の符号化データセットを生成するステップと、
前記第1のダウンサンプリングされた入力データセットに基づいて畳み込みを実行することによって第2の符号化データセットを生成するステップと、
前記第1の符号化データセットとアップサンプリングされた第2の符号化データセットとに基づいて畳み込みを実行することによって第1の出力データセットを生成するステップであって、前記アップサンプリングされた第2の符号化データセットは、前記第2の符号化データセットをアップサンプリングすることによって取得される、ステップと
を含む方法。
【請求項18】
前記第2の符号化データセットに基づいて畳み込みを実行することによって第2の出力データセットを生成するステップと、
前記第1の出力データセットとアップサンプリングされた第2の出力データセットとに基づいて畳み込みを実行することによって第3の出力データセットを生成するステップであって、前記アップサンプリングされた第2の出力データセットは、前記第2の出力データセットをアップサンプリングすることによって取得される、ステップと
を更に含む、請求項17に記載の方法。
【請求項19】
処理能力を有するデバイスによって実行されたときに、デバイスに、請求項17又は18に記載の方法を実行させるように適合された命令を有するコンピュータ可読記憶媒体を備えるコンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、以下の優先権出願の優先権を主張する:2020年10月19日に出願されたPCT国際出願PCT/CN2020/121829、2020年11月11日に出願された米国仮出願第63/112,220号、2020年12月3日に出願された欧州出願第20211501.0号、2021年3月2日に出願されたPCT国際出願PCT/CN2021/078705、及び2021年3月22日に出願された米国仮出願第63/164,028号。
【0002】
[技術]
本開示は、概して、畳み込みニューラルネットワーク(CNN)を使用したオーディオ処理のための方法及び装置に関する。より具体的には、本開示は、集約型マルチスケール入れ子CNNアーキテクチャを使用して、元のノイズのある音声信号からの音声を抽出することに関する。いくつかの実施形態は、特にその開示を参照して本明細書で説明されるが、本開示は、そのような使用分野に限定されず、より広い文脈で適用可能であることが理解されよう。
【背景技術】
【0003】
本開示全体を通した背景技術のいかなる議論も、決して、そのような技術が広く知られていること、又は当該分野における共通の一般知識の一部を形成することを認めるものとみなされるべきではない。
【0004】
ディープニューラルネットワーク(DNN)は、様々な種類のオーディオ処理問題を解決するための実行可能な選択肢として出現してきた。DNNのタイプには、フィードフォワード多層パーセプトロン(MLP)、畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク(RNN)、及び敵対的生成ネットワーク(GAN)が含まれる。このうち、CNNはフィードフォワードネットワークの一種である。
【0005】
近年、音CNNアーキテクチャは、オーディオ処理の分野に採用されている。特に、CNNアーキテクチャは、ボーカル分離、音声強調、及び音源分離を含む様々なオーディオ処理問題にうまく適用されてきた。音源分離は、背景干渉からターゲット音声を復元することを目的としており、音声及び/又はオーディオ技術の分野において多くの用途がある。これに関連して、音源分離は、一般に「カクテルパーティ問題」としても知られている。このシナリオでは、複雑な背景に起因して、例えば、映画及びTVなどの専門的なコンテンツからダイアログを抽出する際に課題が生じる。
【0006】
本文書の目的は、ボーカル分離、音声強調、及び音源分離を含むオーディオ処理の様々な分野に適用され得る、新規のCNNアーキテクチャを提供することである。
【発明の概要】
【0007】
本開示の第1の態様によれば、畳み込みニューラルネットワーク(CNN)アーキテクチャを実装するコンピューティングシステムが説明される。CNNアーキテクチャは、マルチスケール入力ブロックとマルチスケール入れ子ブロックとを含み得る。マルチスケール入力ブロックは、入力データを受信し、入力データをダウンサンプリングすることによって第1のダウンサンプリングされた入力データセットを生成するように構成され得る。マルチスケール入れ子ブロックは、入力データに基づいて畳み込みを実行することによって第1の符号化データセットを生成するように構成された第1の符号化層を含み得る。マルチスケール入れ子ブロックは、第1のダウンサンプリングされた入力データセットに基づいて畳み込みを実行することによって第2の符号化データセットを生成するように構成された第2の符号化層を含み得る。更に、マルチスケール入れ子ブロックは、第1の符号化データセットとアップサンプリングされた第2の符号化データセットとに基づいて畳み込みを実行することによって第1の出力データセットを生成するように構成された第1の畳み込み層を含み得、アップサンプリングされた第2の符号化データセットは、第2の符号化データセットをアップサンプリングすることによって取得される。例えば、第1の畳み込み層は、第2の符号化データセットをアップサンプリングし、第1の符号化データセットとアップサンプリングされた第2の符号化データセットとを連結し、第1の符号化データセットとアップサンプリングされた第2の符号化データセットとの連結の結果に基づいて畳み込みを実行することによって第1の出力データセットを生成するように構成され得る。代替的に、アップサンプリング及び/又は連結は、何らかの他の層又はユニットによって、例えば、第1の符号化層によって又は第2の符号化層によって実行されてもよい。第1の畳み込み層は、符号化層と復号層との間に入れ子され得、それによって、CNN内の通信チャネルの数を増加させ、根本的な最適化問題を簡略化する。
【0008】
入力データは、オーディオ信号を表し得る。例えば、入力データは、時間次元及び周波数次元に沿って延びるオーディオ信号のスペクトルを含み得る。次いで、マルチスケール入力ブロックは、時間次元に関して上記スペクトルをダウンサンプリングすることによって、又は周波数次元に関して上記スペクトルをダウンサンプリングすることによって、説明されるダウンサンプリング演算を実行するように構成され得る。代替的に、マルチスケール入力ブロックは、時間次元及び周波数次元の両方に関して上記スペクトルをダウンサンプリングすることによって、説明されるダウンサンプリング演算を実行するように構成されてもよい。以下の説明で述べるように、マルチスケール入力ブロックは、入力データの更なるダウンサンプリングされたバージョンを生成し、従って、更なる処理のためにマルチスケール入れ子ブロックに転送される元の入力データの複数のスケールを生成するように構成され得る。
【0009】
マルチスケール入れ子ブロックでは、符号化層及び畳み込み層は、同一であっても異なっていてもよい。それらは、例えば、出力が任意の方法で集約又は加算される単一の畳み込み層又は複数の畳み込み層を含み得る。各畳み込み演算は、例えば、2D畳み込みであり得、その後に適切な活性化関数が続き得る。畳み込み層は、いくつかのフィルタを有し得る。符号化層及び畳み込み層のフィルタサイズは異なり得る。フィルタは、ランダムな重みを用いて初期化され得、重みは、トレーニング手順中にトレーニングされ得る。トレーニング手順は、順方向伝搬プロセスと逆方向伝搬プロセスの両方を含み得る。符号化層及び畳み込み層によって生成されたデータセットはまた、本文書内で特徴マップと表記され得る。
【0010】
マルチスケール入れ子ブロックは、第2の符号化データセットに基づいて畳み込みを実行することによって第2の出力データセットを生成するように構成された第2の畳み込み層を更に含み得る。マルチスケール入れ子ブロックは、第1の出力データセットとアップサンプリングされた第2の出力データセットとに基づいて畳み込みを実行することによって第3の出力データセットを生成するように構成された第3の畳み込み層を更に含み得、アップサンプリングされた第2の出力データセットは、第2の出力データセットをアップサンプリングすることによって取得される。例えば、第3の畳み込み層は、第2の出力データセットをアップサンプリングし、第1の出力データセットとアップサンプリングされた第2の出力データセットとを連結し、第1の出力データセットとアップサンプリングされた第2の出力データセットとの連結の結果に基づいて畳み込みを実行することによって、第3の出力データセットを生成するように構成され得る。
【0011】
第3の畳み込み層はまた、第1の復号層と表記/みなされ得、第3の出力データセットは、第1の復号データセットと表記され得る。言い換えると、第1の復号データセットは、入力データと同じスケールである復号データセットを表し得る。同様に、第2の畳み込み層はまた、第2の復号層と表記され得、第2の出力データセットは、第2の復号データセットと表記され得る。すなわち、第2の復号データセットは、入力データと比較してより低いスケールにある、又はより正確には、第1のダウンサンプリングされた入力データセットのスケールにある復号データセットを表し得る。従って、説明されるCNNアーキテクチャの前述の解釈によれば、第1の畳み込み層は、2つの符号化層と2つの復号層との間に結合され、結果として、入れ子の(又は中間の)畳み込み層とも表記され得る。従って、この入れ子の畳み込み層の存在により、提案されるCNNアーキテクチャ内の通信を増やすことができる。特に、入れ子の畳み込み層の導入は、符号化データセット(例えば、エンコーダ特徴マップ)のセマンティックレベルを復号データセット(例えば、デコーダ特徴マップ)のセマンティックレベルにより近づける。技術的利点は、受信された符号化データセット及び対応する復号データセットが意味的により類似しているときに、オプティマイザがより容易な最適化問題に直面し得ることである。
【0012】
ネットワークの観点から、第1の符号化層、第1の畳み込み層、及び第3の畳み込み層(すなわち、第1の復号層)は、入力データと同じスケールでデータセットを処理及び出力するように構成され得る。後者の(latter)3つの層は、マルチスケール入れ子ブロックの第1のフロアを形成し得る。同様に、第2の符号化層及び第2の畳み込み層(すなわち、第2の復号層)は、第1のダウンサンプリングされた入力データセットと同じスケールでデータセットを処理及び出力するように構成され得る。後者の2つの層は、マルチスケール入れ子ブロックの第2のフロアを形成し得る。従って、提案されるCNNアーキテクチャも、(a)第1の畳み込み層が第1のフロアの異なる層の間に位置するので、「入れ子(式)(nested)」と表記され得る。従来のCNNアーキテクチャでは、そのような中間層は典型的には提供されず、エンコーダの出力は、同じフロア上の対応するデコーダに直接転送される。更に、提案されるCNNアーキテクチャは、(b)第1の畳み込み層が異なるフロア間の(追加の畳み込み処理との)接続を確立するので、「入れ子(式)」と示され得る。例えば、第1の畳み込み層は、(第2のフロア上の)第2の符号化層と(第1のフロア上の)第3の畳み込み層との間で何らかの追加の畳み込み処理を実行し得、典型的には、この追加の畳み込み処理は、最先端のアーキテクチャでは提供されない。別の言い方をすれば、マルチスケール入れ子ブロックは、複数のフロアを含み得、各フロアは、その入力データのそれぞれの解像度に関連付けられ、(シリアル)層の数は、フロアごとに1つずつ減少する。
【0013】
マルチスケール入力ブロックは、第1のダウンサンプリングされた入力データセットをダウンサンプリングすることによって第2のダウンサンプリングされた入力データセットを生成するように更に構成され得る。マルチスケール入れ子ブロックは、第2のダウンサンプリングされた入力データセットに基づいて畳み込みを実行することによって第3の符号化データセットを生成するように構成された第3の符号化層を更に含み得る。更に、第2の畳み込み層は、第2の符号化データセットとアップサンプリングされた第3の符号化データセットとに基づいて畳み込みを実行することによって第2の出力データセットを生成するように構成され得、アップサンプリングされた第3の符号化データセットは、第3の符号化データセットをアップサンプリングすることによって取得される。例えば、第2の畳み込み層は、第3の符号化データセットをアップサンプリングし、第2の符号化データセットとアップサンプリングされた第3の符号化データセットとを連結し、第2の符号化データセットとアップサンプリングされた第3の符号化データセットとの連結に基づいて畳み込みを実行することによって、第2の出力データセットを生成するように構成され得る。
【0014】
第2の符号化層は、第1のダウンサンプリングされた入力データセットとダウンサンプリングされた第1の符号化データセットとに基づいて畳み込みを実行することによって第2の符号化データセットを生成するように構成され得、ダウンサンプリングされた第1の符号化データセットは、第1の符号化データセットをダウンサンプリングすることによって取得される。例えば、第2の符号化層は、第1の符号化データセットをダウンサンプリングし、第1のダウンサンプリングされた入力データセットとダウンサンプリングされた第1の符号化データセットとを連結し、後者の連結に基づいて畳み込みを実行することによって第2の符号化データセットを生成するように更に構成され得る。
【0015】
代替的又は追加的に、第3の符号化層は、第2の符号化データセットをダウンサンプリングし、第2のダウンサンプリングされた入力データセットとダウンサンプリングされた第2の符号化データセットとを連結し、後者の連結、すなわち、第2のダウンサンプリングされた入力データセットとダウンサンプリングされた第2の符号化データセットとの連結に基づいて畳み込みを実行することによって第3の符号化データセットを生成するよう構成され得る。
【0016】
第2の符号化層が第1の符号化層の出力を受信してダウンサンプリングするように構成されておらず、第3の符号化層が第2の符号化層の出力を受信してダウンサンプリングするように構成されていない上記で説明したCNNアーキテクチャと比較して、対応する受信及びダウンサンプリング機能を有するCNNアーキテクチャは、根本的な最適化問題を解決しようとするときにそれほど積極的ではない。
【0017】
第2の畳み込み層は、第2の符号化データセットと、ダウンサンプリングされた第1の出力データセットと、アップサンプリングされた第3の符号化データセットとに基づいて畳み込みを実行することによって第2の出力データセットを生成するように構成され得、ダウンサンプリングされた第1の出力データセットは、第1の出力データセットをダウンサンプリングすることによって取得され、アップサンプリングされた第3の符号化データセットは、第3の符号化データセットをアップサンプリングすることによって取得される。例えば、第2の畳み込み層は、第1の出力データセットをダウンサンプリングし、第3の符号化データセットをアップサンプリングし、ダウンサンプリングされた第1の出力データセットと、アップサンプリングされた第3の符号化データセットと、第2の符号化データセットとを連結し、後者の連結に基づいて畳み込みを実行することによって、第2の出力データセットを生成するように構成され得る。
【0018】
第3の畳み込み層は、第1の出力データセットと、アップサンプリングされた第2の出力データセットと、第1の符号化データセットとに基づいて畳み込みを実行することによって第3の出力データセットを生成するように構成され得、アップサンプリングされた第2の出力データセットは、第2の出力データセットをアップサンプリングすることによって取得される。例えば、第3の畳み込み層は、第2の出力データセットをアップサンプリングし、第1の出力データセットと、アップサンプリングされた第2の出力データセットと、第1の符号化データセットとを連結し、後者の連結に基づいて畳み込みを実行することによって、第3の出力データセットを生成するように構成され得る。
【0019】
第3の符号化層は、第2のダウンサンプリングされた入力データセットと、ダウンサンプリングされた第1の符号化データセットと、ダウンサンプリングされた第2の符号化データセットとに基づいて畳み込みを実行することによって第3の符号化データセットを生成するように構成され得、ダウンサンプリングされた第1の符号化データセットは、第1の符号化データセットをダウンサンプリングすることによって取得され、ダウンサンプリングされた第2の符号化データセットは、第2の符号化データセットをダウンサンプリングすることによって取得される。例えば、第3の符号化層は、第1の符号化データセットをダウンサンプリングし、第2の符号化データセットをダウンサンプリングし、ダウンサンプリングされた第1の符号化データセットと、ダウンサンプリングされた第2の符号化データセットと、第2のダウンサンプリングされた入力データセットを連結し、後者の連結に基づいて畳み込みを実行することによって、第3の符号化データセットを生成するように構成され得る。
【0020】
コンピューティングシステムは、第3の出力データセットに第1の重みを適用するように構成された重み付け加算ブロックを更に含み得る。重み付け加算ブロックは、第2の出力データセットに第2の重みを適用するように構成され得る。重み付け加算ブロックは、重み付けされた第3の出力データセットと、重み付けされた第2の出力データセットとを加算することによって、マルチスケール入れ子ブロックの出力を生成するように構成され得る。第1及び/又は第2の重みは、学習可能なパラメータであり得るか、又は信号処理領域知識に基づいて設定され得る。
【0021】
第1の符号化層は、入力データとアップサンプリングされた第1のダウンサンプリングされた入力データセットとに基づいて畳み込みを実行することによって第1の符号化データセットを生成するように構成され得、アップサンプリングされた第1のダウンサンプリングされた入力データセットは、第1のダウンサンプリングされた入力データセットをアップサンプリングすることによって取得される。例えば、第1の符号化層は、第1のダウンサンプリングされた入力データセットをアップサンプリングし、アップサンプリングされた第1のダウンサンプリングされた入力データセットと入力データとを連結し、後者の連結に基づいて畳み込みを実行することによって、第1の符号化データセットを生成するように構成され得る。
【0022】
代替的又は追加的に、第2の符号化層は、第1のダウンサンプリングされた入力データセットとアップサンプリングされた第2のダウンサンプリングされた入力データセットとに基づいて畳み込みを実行することによって第2の符号化データセットを生成するように構成されてもよく、アップサンプリングされた第2のダウンサンプリングされた入力データセットは、第2のダウンサンプリングされた入力データセットをアップサンプリングすることによって取得される。例えば、第2の符号化層は、第2のダウンサンプリングされた入力データセットをアップサンプリングし、アップサンプリングされた第2のダウンサンプリングされた入力データセットと第1のダウンサンプリングされた入力データセットとを連結し、後者の連結に基づいて畳み込みを実行することによって、第2の符号化データセットを生成するように構成される。
【0023】
マルチスケール入力ブロックは、入力データに基づいて第1のダウンサンプリングされた入力データセットを生成するように構成された畳み込み層又は密層(dense layer)を含み得る。上記畳み込み層又は上記密層のパラメータは、トレーニングプロセス中にトレーニング可能であり得る。マルチスケール入力ブロックは、最大プーリング処理、平均プーリング処理、又は最大プーリング処理と平均プーリング処理の混合を使用して、第1のダウンサンプリングされた入力データセットを生成するように構成され得る。
【0024】
第1の符号化層又は第2の符号化層は、少なくとも2つの並列畳み込みパスの出力を連結又は加算することによって出力を生成するように構成されたマルチスケール畳み込みブロックを含み得る。マルチスケール畳み込みブロックは、異なる重みを使用して少なくとも2つの並列畳み込みパスの出力を重み付けするように構成され得る。この場合も、重みは、トレーニングプロセスから学習されるトレーニング可能なパラメータに基づき得る。
【0025】
マルチスケール畳み込みブロックの各並列畳み込みパスは、L個の畳み込み層を含み得、Lは、1より大きい自然数であり、L個の層のうちの第lの層は、Nl個のフィルタを有し、l=1…Lである。各並列畳み込みパスについて、第lの層中のフィルタの数Nlは、層番号lの増加とともに増加していてもよい。例えば、各並列畳み込みパスについて、第lの層中のフィルタの数Nlは、Nl=l*N0によって与えられ得、N0は、1より大きい所定の定数である。一方では、フィルタのフィルタサイズは、各並列畳み込みパス内で同じであってもよい。他方では、フィルタのフィルタサイズは、異なる並列畳み込みパス間で異なっていてもよい。所与の並列畳み込みパスについて、並列畳み込みパスの層のうちの少なくとも1つの層のフィルタは、膨張2D畳み込みフィルタであり得る。並列畳み込みパスの層のうちの少なくとも1つの層のフィルタの膨張演算は、周波数軸上でのみ実行され得る。
【0026】
所与の並列畳み込みパスについて、並列畳み込みパスの層のうちの2つ以上の層のフィルタは、膨張2D畳み込みフィルタであり得、膨張2D畳み込みフィルタの膨張係数は、層番号lの増加とともに指数関数的に増加し得る。例えば、所与の並列畳み込みパスについて、L個の畳み込み層のうちの第1の畳み込み層では膨張が(1,1)であり得、L個の畳み込み層のうちの第2の畳み込み層では膨張が(1,2)であり得、L個の畳み込み層のうちの第lの畳み込み層では膨張が(1,2^(L-1))であり得、L個の畳み込み層のうちの最後の畳み込み層では膨張が(1,2^(L-1))であり得、ここで、(c,d)は、時間軸に沿った膨張係数cと周波数軸に沿った膨張係数dとを示す。
【0027】
前述の説明で既に示したように、入力データはオーディオ信号を含み得る。CNNアーキテクチャは、マルチスケール入れ子ブロックの出力を受信するように構成された集約ブロックを更に含み得る。この集約ブロックは、入力データに関連付けられたチャネル数を低減するように構成された畳み込み層、入力データに関連付けられた次元を低減するように構成されたプーリング層、及びマルチスケール入れ子ブロックの出力を順序付ける(sequence)ように構成されたリカレント層のうちの少なくとも1つを含み得る。
【0028】
CNNアーキテクチャは、上記で説明した原理に従って更に拡張され得る。例えば、マルチスケール入力ブロックは、第2のダウンサンプリングされた入力データセットをダウンサンプリングすることによって第3のダウンサンプリングされた入力データセットを生成するように更に構成され得る。マルチスケール入れ子ブロックは、第3のダウンサンプリングされた入力データセットに基づいて畳み込みを実行することによって第4の符号化データセットを生成するように構成された第4の符号化層を更に含み得る。マルチスケール入れ子ブロックは、第3の符号化データセットとアップサンプリングされた第4の符号化データセットとに基づいて畳み込みを実行することによって第4の出力データセットを生成するように構成された第4の畳み込み層を更に含み得、アップサンプリングされた第4の符号化データセットは、第4の符号化データセットをアップサンプリングすることによって取得される。例えば、第4の畳み込み層は,第4の符号化データセットをアップサンプリングし、第3の符号化データセットとアップサンプリングされた第4の符号化データセットとを連結し、後者の連結の結果に基づいて畳み込みを実行することによって、第4の出力データセットを生成するように構成され得る。マルチスケール入れ子ブロックは、第2の出力データセットとアップサンプリングされた第4の出力データセットとに基づいて畳み込みを実行することによって第5の出力データセットを生成するように構成された第5の畳み込み層を更に含み得、アップサンプリングされた第4の出力データセットは、第4の出力データセットをアップサンプリングすることによって取得される。例えば、第5の畳み込み層は、第4の出力データセットをアップサンプリングし、第2の出力データセットとアップサンプリングされた第4の出力データセットとを連結し、後者の連結の結果に基づいて上記畳み込みを実行することによって、第5の出力データセットを生成するように構成され得る。マルチスケール入れ子ブロックは、第3の出力データセットとアップサンプリングされた第5の出力データセットとに基づいて畳み込みを実行することによって第6の出力データセットを生成するように構成された第6の畳み込み層を更に含み得、アップサンプリングされた第5の出力データセットは、第5の出力データセットをアップサンプリングすることによって取得される。
【0029】
説明されるCNNアーキテクチャでは、3つの畳み込み層、すなわち、第1の畳み込み層、第2の畳み込み層、及び第3の畳み込み層が、入れ子層とみなされ得る。後者の層は、3つの符号化層と3つの復号層との間に結合される。更に、第1の符号化層、第1の畳み込み層、第3の畳み込み層、及び第6の畳み込み層は、第1のスケール、すなわち、入力データのスケールにある。同様に、第2の符号化層、第2の畳み込み層、及び第5の畳み込み層は、第2のスケール、すなわち、第1のダウンサンプリングされた入力データのスケールにある。最後に、第3のスケールには、2つの層、すなわち、第3の符号化層及び第4の畳み込み層のみが存在する。第4のスケールでは、第4の符号化層が唯一の層を構成する。一般に、CNNアーキテクチャは、上記で説明したピラミッド形状の構造に従って更に拡張することができる。このとき、スケールごとの層の数は、マルチスケール入力ブロックによって提供されるダウンサンプリングされた入力データセットの数に依存する。
【0030】
本開示の第2の態様によれば、オーディオ処理のための装置が提供される。装置は、入力オーディオ信号の入力を受信し、出力オーディオ信号を出力するように構成され得る。装置は、本文書内で説明されるCNNアーキテクチャを含み得る。マルチスケール入力ブロックによって受信された入力データは、入力オーディオ信号に基づき得、出力オーディオ信号は、マルチスケール入れ子ブロックの第3の畳み込み層によって生成された第3の出力データセットに基づき得る。
【0031】
本開示の第3の態様によれば、畳み込みニューラルネットワークCNNを使用したオーディオ処理の方法が開示される。方法は、入力データを受信するステップを含み得る。方法は、入力データをダウンサンプリングすることによって第1のダウンサンプリングされた入力データセットを生成するステップを含み得る。方法は、入力データに基づいて畳み込みを実行することによって第1の符号化データセットを生成するステップを含み得る。方法は、第1のダウンサンプリングされた入力データセットに基づいて畳み込みを実行することによって第2の符号化データセットを生成するステップを含み得る。方法は、第1の出力データセットとアップサンプリングされた第2の出力データセットとに基づいて畳み込みを実行することによって第3の出力データセットを生成するステップを含み得、アップサンプリングされた第2の出力データセットは、第2の出力データセットをアップサンプリングすることによって取得される。
【0032】
方法は、第2の符号化データセットに基づいて畳み込みを実行することによって第2の出力データセットを生成するステップを更に含み得る。方法は、第1の符号化データセットとアップサンプリングされた第2の符号化データセットとに基づいて畳み込みを実行することによって第1の出力データセットを生成するステップを更に含み得、アップサンプリングされた第2の符号化データセットは、第2の符号化データセットをアップサンプリングすることによって取得される。
【0033】
本開示の第4の態様によれば、処理能力を有するデバイスによって実行されたときに、デバイスに、上記で説明した方法を実行させるように適合された命令を有するコンピュータ可読記憶媒体を備えるコンピュータプログラム製品が提供される。
【図面の簡単な説明】
【0034】
ここで、本開示の例示的な実施形態が、添付の図面を参照して、単なる例として説明される。
【
図1】AMS-Nestの例示的なアーキテクチャを示す。
【
図2】例示的なマルチスケール畳み込みブロックMを示す。
【
図3】例示的な水平方向に密なマルチスケール入れ子ブロックを示す。
【
図4】例示的な垂直方向に連結されたマルチスケール入れ子ブロックを示す。
【
図5】例示的な垂直方向に密なマルチスケール入れ子ブロックを示す。
【
図6】Mブロック間の接続が除去されたAMS-Nestの例示的なアーキテクチャを示す。
【
図7】重み付けを有するAMS-Nestの例示的なアーキテクチャを示す。
【
図8】マルチスケール入力ブロックとマルチスケール入れ子ブロックの異なるフロア上のMブロックとの間の連結が追加されたAMS-Nestの例示的なアーキテクチャを示す。
【発明を実施するための形態】
【0035】
本文書は、AMS-Nestと呼ばれる集約型マルチスケール入れ子ニューラルネットワークアーキテクチャを開示する。提案されるアーキテクチャは、エンコーダ及びデコーダのサブネットワークが一連の入れ子経路(nested pathways)を通して接続される、深く教師されたエンコーダ-デコーダネットワークとみなされ得る。このとき、エンコーダは、コーディングされた特徴を取得するために、元の入力を特定の空間又は次元に符号化する層を含み得る。デコーダは、コーディングされた特徴を元の空間又は次元に復号する層を含み得る。
【0036】
図1は、AMS-Nestの例示的なアーキテクチャ1を示す。アーキテクチャ1は、基本的に、マルチスケール入力ブロック11、マルチスケール入れ子ブロック12、及び集約ブロック(aggregated block)(集約ブロック(aggregation block))13と呼ばれる3つの主要ブロックを含む。
図1は、深さ5のAMS-Nestのモデル構造を示す。
図1及び全ての次の図において、水平の矢印は、特徴マップが層の出力から別の層の入力に転送されることを示す。下向き(具体的には、マルチスケール入力ブロック11内における下向き90度の角度、マルチスケール入れ子ブロック12内の下向き45度の角度)の矢印は、特徴マップがダウンサンプリングされることを示す。特徴マップは、特徴マップを出力する層によって、特徴マップを受信する層によって、又は第3の層若しくはエンティティによってダウンサンプリングされ得る。上向き(具体的には、マルチスケール入れ子ブロック12における上向き45度の角度)の矢印は、特徴マップがアップサンプリングされることを示す。この場合も、特徴マップは、特徴マップを出力する層によって、特徴マップを受信する層によって、又は第3の層若しくはエンティティによってアップサンプリングされ得る。
【0037】
マルチスケール入力ブロック11は、元の入力をいくつかのスケールにダウンサンプリングし、マルチスケール入れ子ブロック12は、異なるフィルタサイズを使用して、マルチスケール入力に基づいて特徴を捉え、入力の各スケールは、別個の水平パスに対応する。更に、パスは、しっかりと接続され得る。集約ブロック13は、ターゲット形状に一致するようにチャネル数及び次元を縮小する。底部ブロック(In
4,M
4,C
30,C
21,C
12,C
03)を除去することで、AMS-Nestの深さを4に低減させることができる。更なる層を同様に除去すると、AMS-Nestの深さは、3又は更には2に低減され得る。本開示では、水平パスの数は、AMS-Nestのフロアとして定義される。従って、
図1に示す構造は、5フロアベースのAMS-Nestと表記され得る。
【0038】
マルチスケール入力ブロック11は、第1のダウンサンプリングされた入力データセットIn1及び第2のダウンサンプリングされた入力データセットIn2を生成する。マルチスケール入れ子ブロック12は、例えば、入力データIn0に基づいて畳み込みを実行することによって第1の符号化データセットを生成する第1の符号化層M0を含む。マルチスケール入れ子ブロック12は、例えば、第2の符号化層M1、第3の符号化層M2、第1の畳み込み層C00、第2の畳み込み層C10、及び第3の畳み込み層C01を更に含む。
【0039】
マルチスケール入力ブロック
マルチスケール入力ブロック11は、元の入力の複数のスケールを含み得る。
図1に示すように、In
1~In
4は、元の入力In
0の4つのスケールであり、矢印は、ダウンサンプリング処理を表す。ダウンサンプリングプロセスは、いくつかの異なる方法で達成することができる。
【0040】
オプション1:神経層を使用する
異なるストライドステップを使用することによって畳み込み層をダウンサンプリング層として使用することができ、元の入力より少ない数のノードを使用することによって密層を適用することもできる。畳み込み層ベースのマルチスケール入力ブロックの場合、第iの入力は、次式によって表すことができる:
【数1】
ここでConv2D(channel,kernel,stride,dilation)(・)は、2D畳み込み層を表す。チャネル、カーネル、ストライド、及び膨張は、畳み込み層における4つの主要なパラメータであり、1より大きいstrideを使用して前の入力の次元を低減することができる。他のパラメータは、異なる使用事例に基づいて決定することができる。ダウンサンプリングのために、単一又は複数の畳み込み層が使用され得る。密層ベースのマルチスケール入力ブロックの場合、第iの入力は、次式によって表すことができる:
【数2】
ここで、node
iは、密層のノード番号であり、node
i<node
i-1である。単一又は複数の密層がダウンサンプリングに使用され得る。
【0041】
オプション2:プーリング処理を使用する
プーリング処理は、異なるステップを使用することによって元の入力を異なるレートにダウンサンプリングするために使用することができ、いくつかのプーリングオプションを提案する。例えば、LPプーリングが使用され得る:
【数3】
又は、混合プーリングが使用され得る:
【数4】
ここで、λは、平均プーリングを使用するか最大プーリングを使用するかの選択を示す0又は1のいずれかであるランダム値(任意に選択可能)である。順方向伝搬プロセス中、λが記録され、逆方向伝搬動作に対して使用され得る。
【0042】
マルチスケール入れ子ブロック
提案される入れ子CNNアーキテクチャでは、エンコーダの(すなわち、符号化層M
0,M
1…の)特徴マップは、1つ又は複数の畳み込み層を経験し、畳み込み層の数は、ピラミッドレベルに依存する(
図1参照)。例えば、ノードM
0とC
03との間の経路は、3つの畳み込み層(C
00,C
01,C
02)を有する畳み込みブロックから構成されており、各畳み込み層は、同じブロックの前の畳み込み層からの出力を、より低いフロアのブロックの対応するアップサンプリングされた出力と融合する連結層によって先行され得る。本質的に、入れ子の(又は中間の)畳み込みブロックは、エンコーダ特徴マップのセマンティックレベルを、デコーダにおいて待機している特徴マップのセマンティックレベルにより近づける。
図1において、デコーダは、層(C
30,C
21,C
12,...C
03)から構成されていると言えるであろう。技術的利点は、受信されたエンコーダ特徴マップ及び対応するデコーダ特徴マップが意味的により類似しているときに、オプティマイザがより容易な最適化問題に直面することである。
【0043】
一般に、マルチスケール入れ子ブロック12内のノードは、タイプM及びタイプCという2つのタイプを含む。タイプMは、例えば、
図2に示されるマルチスケール畳み込みブロック2を含み得る。マルチスケール畳み込みブロック2は、少なくとも2つの並列畳み込みパス21、22、23の出力を連結又は加算することによって出力を生成する。並列畳み込みパスの数は限定されないが、集約型マルチスケールCNNは、3つの並列畳み込みパス21、22、23を含み得る。これらの並列畳み込みパスによって、オーディオ信号の複数のフレームの時間-周波数変換の局所的及び一般的な特徴情報の抽出が、異なるスケールで可能になる。並列畳み込みパスの出力は集約され、更なる2D畳み込み24を受ける。
【0044】
マルチスケール畳み込みブロック2という用語の「マルチスケール(multi-scale)」という単語は、マルチスケール入力ブロック11及びマルチスケール入れ子ブロック12という用語とは異なる意味を有することに留意されたい。一方では、マルチスケール畳み込みブロック2という用語において、「マルチスケール」という単語は、異なるフィルタサイズが各並列畳み込みパスにおいて使用され得ることを示す。他方では、マルチスケール入力ブロック11及びマルチスケール入れ子ブロック12という用語において、「マルチスケール」という単語は、各フロアで、異なるサイズ/解像度を有する入力データが処理されることを示す。特に、上のフロアと比較して、より低いフロアは、例えば、上のフロアと比較して2倍ダウンサンプリングされた入力データを処理し得る。
【0045】
タイプCは、例えば、異なるカーネル及び膨張レートを設定可能な共通の畳み込み層を表す。タイプCとタイプMとは同じであっても異なっていてもよいことに留意されたい。タイプCの層は、任意の畳み込みブロックを含み得る。最も単純なケースでは、タイプCの層は、単一の畳み込み演算のみを含み得る。
【0046】
図3は、
図1のマルチスケール入れ子ブロック12を置き換えることができる、例示的な水平方向に密なマルチスケール入れ子ブロック32を示す。入れ子ブロックをより強力にするために、この例では密な畳み込み層の概念が適用され得る。
図3に示すように、入れ子ブロック12にいくつかのスキップ接続を追加することができる。破線の矢印は、対応する連結処理を示す。例えば、
図3において、第3の畳み込み層C01は、層C00によって生成された第1の出力データセットと、層C10から生じるアップサンプリングされた第2の出力データセットと、層M0から生じる第1の符号化データセットとに基づいて畳み込みを実行することによって、第3の出力データセットを生成する。言い換えると、水平方向に密なアーキテクチャでは、第1の符号化データセットは、層C00をバイパスし、層C01に直接転送される。加えて、第1の符号化データセットはまた、層C00、C02、及びC03に転送され得る。
【0047】
形式的には、スキップ経路を以下のように定式化する。c
i,jは、ノードC
i,jの出力を示し、m
iは、M
iの出力を示すとする。ここで、iは、エンコーダに沿ってダウンサンプリング層(すなわち、フロア番号)をインデックス付けし、jは、スキップ経路に沿って密なブロックの畳み込み層をインデックス付けする。c
i,jによって表される特徴マップのスタックは、次のように計算され得る:
【数5】
ここで、関数H(・)は、活性化関数が後に続く畳み込み演算であり、U(・)は、アップサンプリング層を示し、[・]は、連結層を示す。基本的に、レベルj=0のCノードは、両方ともがエンコーダのサブネットワークからであるが、2つの連続するレベルで、2つの入力のみを受信し得る。レベルj>0のノードは、j+2個の入力を受信し、そのうち、j個の入力は、同じスキップ経路における前のj個の入力の出力であり、最後の入力は、より低いスキップ経路からのアップサンプリングされた出力である。全ての前の特徴マップが蓄積し、現在のノードに到着する理由は、各スキップ経路に沿って密な畳み込みブロックを利用し得るからである。
【0048】
図4は、
図1のマルチスケール入れ子ブロック12を置き換え得る例示的な垂直に連結されたマルチスケール入れ子ブロック42を示す。この例では、第2の畳み込み層C
10は、層M
1から生じる第2の符号化データセットと、層C
00からのダウンサンプリングされた第1の出力データセットと、層M
2からのアップサンプリングされた第2の符号化データセットとに基づいて畳み込みを実行することによって第2の出力データセットを生成する。すなわち、層C
00の出力は、明示的にダウンサンプリングされ、層C
10に転送される。
図4から分かるように、第2の出力データセットのアップサンプリングされたバージョンは、ノードC
10に送信され得、第2の出力データのダウンサンプリングされたバージョンは、ノードC
20に送信され得る。
図5は、
図1のマルチスケール入れ子ブロック12を置き換え得る例示的な垂直方向に密なマルチスケール入れ子ブロック52を示す。
図5において、追加のダウンサンプリング処理が、湾曲した下向きの矢印を使用して示されている。このとき、第3の符号化層M
2は、第2のダウンサンプリングされた入力データセットと、層M
1から生じるダウンサンプリングされた第1の符号化データセットと、層M
0から生じるダウンサンプリングされた第2の符号化データセットとに基づいて畳み込みを実行することによって、第3の符号化データセットを生成する。
【0049】
図6は、Mブロック間の接続が除去されたAMS-Nest62の例示的なアーキテクチャを示す。この場合も、
図6に示すブロックは、
図1のマルチスケール入れ子ブロック12を置き換え得る。第1の符号化層M
0は、入力データに基づいて畳み込みを実行することによって第1の符号化データセットを生成し、第2の符号化層M
1は、第1のダウンサンプリングされた入力データセットに基づいて畳み込みを実行することによって第2の符号化データセットを生成し、第1の畳み込み層C
00は、第1の符号化データセットとアップサンプリングされた第2の符号化データセットとに基づいて畳み込みを実行することによって第1の出力データセットを生成する。第2の畳み込み層C
10は、第2の符号化データセットに基づいて畳み込みを実行することによって第2の出力データセットを生成する。第3の畳み込み層C
01は、第1の出力データセットとアップサンプリングされた第2の出力データセットとに基づいて畳み込みを実行することによって第3の出力データセットを生成し、アップサンプリングされた第2の出力データセットは、第2の出力データセットをアップサンプリングすることによって取得される。
【0050】
図7は、
図1のマルチスケール入れ子ブロック12に対する重み付けを有する別の例示的なアーキテクチャ72を示す。マルチスケール入れ子ブロック内の各フロアにおいて異なる重みを設定することができる。重みは、信号処理領域知識に基づいて設定され得るか、又は学習可能なパラメータであり得る。図示されたCNNアーキテクチャは、第3の出力データセットに第1の重みW
0を適用し、第2の出力データセットに第2の重みW
1を適用し、重み付けされた第3の出力データセットと重み付けされた第2の出力データセットとに基づいて、マルチスケール入れ子ブロックの出力を生成するように構成された重み付け加算ブロックを含む。
【0051】
最後に、
図8は、マルチスケール入力ブロック81とマルチスケール入れ子ブロック82の異なるフロア上のMブロックとの間の連結が追加されたAMS-Nestの例示的なアーキテクチャ8を示す。
図8はまた、対応する集約ブロック83を示す。それぞれのアップサンプリング及び連結処理は、それぞれの上向きの矢印によって
図8に示されている。図示された例に示されるように、第(f+1)のフロアは、第fのフロアのMブロックに供給することができる。
【0052】
図8において、第1の符号化層M
0は、入力データIn
0とアップサンプリングされた第1のダウンサンプリングされた入力データセットとに基づいて畳み込みを実行することによって第1の符号化データセットを生成するように構成され、アップサンプリングされた第1のダウンサンプリングされた入力データセットは、第1のダウンサンプリングされた入力データセットIn
1をアップサンプリングすることによって取得される。第2の符号化層M
1は、第1のダウンサンプリングされた入力データセットIn
1とアップサンプリングされた第2のダウンサンプリングされた入力データセットとに基づいて畳み込みを実行することによって第2の符号化データセットを生成するように構成され、アップサンプリングされた第2のダウンサンプリングされた入力データセットは、第2のダウンサンプリングされた入力データセットIn
2をアップサンプリングすることによって取得される。
【0053】
集約ブロック
集約ブロック13又は83は、ターゲット形状に一致するように、入れ子ブロック12又は82の出力の畳み込みチャネル数及び入力次元を縮小し得る。集約ブロックは、1つ又は複数の畳み込み層、プーリング層、更にはリカレント層を含み得る。畳み込み層(トレーニング可能でもあり得る)は、チャネル数を徐々に低減することを目的とし得、プーリング層は、次元を低減することを目的とし得、リカレント層は、出力の順序付けを助け得る。畳み込みの数は、集約ブロック13又は83の入力と出力との間のチャネル差に依存する。集約ブロックの入力のチャネルがN
iであり、集約ブロックの出力のチャネルがN
o(モノ信号の場合1、ステレオ信号の場合2)であるとすると、畳み込み層の最小数N
cは、次の計算することができる:
【数6】
【0054】
ここで、ステップは減少指数を示す。
【0055】
プーリング層の数は、集約ブロックの入力及び出力におけるフレーム数の差に依存する。集約ブロックの入力のフレーム数がF
iであり、集約ブロックの出力のフレーム番号がF
oであるとすると、プーリング層の数N
pは、次によって計算することができる:
【数7】
ここで、ステップは、プーリングサイズを示す。
【0056】
解釈
特に明記されない限り、以下の議論から明らかなように、本開示全体を通して、「処理する(processing)」、「計算する(computing)」、「算出する(calculating)」、「決定する(determining)」、「分析すること(analyzing)」などの用語を利用した議論は、電子などの物理量として表されるデータを、同様に物理量として表される他のデータに操作及び/又は変換するコンピュータ若しくはコンピューティングシステム、又は同様の電子コンピューティングデバイスのアクション及び/又はプロセスを指すことを理解されたい。
【0057】
同様に、「プロセッサ(processor)」という用語は、例えば、レジスタ及び/又はメモリからの電子データを処理して、その電子データを、例えば、レジスタ及び/又はメモリに記憶され得る他の電子データに変換する、任意のデバイス又はデバイスの一部を指し得る。「コンピュータ(computer)」又は「コンピューティングマシン(computing machine)」又は「コンピューティングプラットフォーム(computing platform)」は、1つ又は複数のプロセッサを含み得る。
【0058】
本明細書で説明される方法は、1つの例示的な実施形態では、プロセッサのうちの1つ又は複数によって実行されたときに、本明細書で説明される方法のうちの少なくとも1つを実行する命令のセットを含むコンピュータ可読(マシン可読とも呼ばれる)コードを受け入れる1つ又は複数のプロセッサによって実行可能である。実行すべきアクションを指定する命令のセット(シーケンシャルな又は別様の)を実行することが可能な任意のプロセッサが含まれる。従って、一例は、1つ又は複数のプロセッサを含む典型的な処理システムである。各プロセッサは、CPU、グラフィックス処理ユニット、及びプログラマブルDSPユニットのうちの1つ又は複数を含み得る。処理システムは、メインRAM及び/若しくはスタティックRAM、並びに/又はROMを含むメモリサブシステムを更に含み得る。構成要素間の通信のためにバスサブシステムが含まれ得る。処理システムは更に、ネットワークによって結合されたプロセッサを有する分散処理システムであり得る。処理システムがディスプレイを必要とする場合、そのようなディスプレイ、例えば、液晶ディスプレイ(LCD)又は陰極線管(CRT)ディスプレイが含まれ得る。手動データ入力が必要とされる場合、処理システムはまた、入力デバイス、例えば、キーボードなどの英数字入力ユニット、マウスなどのポインティング制御デバイスなどのうちの1つ又は複数を含む。処理システムはまた、ディスクドライブユニットなどの記憶システムを包含し得る。いくつかの構成における処理システムは、サウンド出力デバイスと、ネットワークインターフェースデバイスとを含み得る。従って、メモリサブシステムは、1つ又は複数のプロセッサによって実行されたときに、本明細書で説明される方法のうちの1つ又は複数を実行させるための命令のセットを含むコンピュータ可読コード(例えば、ソフトウェア)を搬送するコンピュータ可読キャリア媒体を含む。方法がいくつかの要素、例えば、いくつかのステップを含むとき、特に明記されない限り、そのような要素の順序は暗示されないことに留意されたい。ソフトウェアは、ハードディスク内に存在してもよくいし、コンピュータシステムによるその実行中にRAM内及び/又はプロセッサ内に完全に又は少なくとも部分的に存在してもよい。従って、メモリ及びプロセッサは、コンピュータ可読コードを搬送するコンピュータ可読キャリア媒体も構成する。更に、コンピュータ可読キャリア媒体は、コンピュータプログラム製品を形成するか、又はそれに含まれ得る。
【0059】
代替の例示的な実施形態では、1つ又は複数のプロセッサは、スタンドアロンデバイスとして動作するか、又は、接続される、例えば、ネットワーク化された展開において、他のプロセッサにネットワーク化されてもよく、1つ又は複数のプロセッサは、サーバ-ユーザネットワーク環境におけるサーバ若しくはユーザマシンとして又はピアツーピア若しくは分散ネットワーク環境におけるピアマシンとして動作し得る。1つ又は複数のプロセッサは、パーソナルコンピュータ(PC)、タブレットPC、携帯情報端末(PDA)、携帯電話、ウェブアプライアンス、ネットワークルータ、スイッチ若しくはブリッジ、又はそのマシンが実行すべきアクションを指定する命令のセット(シーケンシャルな又は別様の)を実行することが可能な任意のマシンを形成し得る。
【0060】
「マシン(machine)」という用語はまた、本明細書で議論される方法のいずれか1つ又は複数を実行するための命令のセット(又は複数のセット)を個々に又は共同で実行するマシンの任意の集合を含むものと解釈されるべきであることに留意されたい。
【0061】
従って、本明細書で説明される方法の各々の1つの例示的な実施形態は、命令のセット、例えば、1つ又は複数のプロセッサ、例えば、ウェブサーバ配置の一部である1つ又は複数のプロセッサ上で実行するためのコンピュータプログラムを搬送するコンピュータ可読キャリア媒体の形態である。従って、当業者によって理解されるように、本開示の例示的な実施形態は、方法、専用装置などの装置、データ処理システムなどの装置、又はコンピュータ可読キャリア媒体、例えば、コンピュータプログラム製品として具現化され得る。コンピュータ可読キャリア媒体は、1つ又は複数のプロセッサ上で実行されたときに、1つ又は複数のプロセッサに、方法を実行させる命令のセットを含むコンピュータ可読コードを搬送する。従って、本開示の態様は、方法、完全にハードウェアの例示的な実施形態、完全にソフトウェアの例示的な実施形態、又はソフトウェア態様とハードウェア態様とを組み合わせた例示的な実施形態の形態をとり得る。更に、本開示は、媒体において具現化されるコンピュータ可読プログラムコードを搬送するキャリア媒体(例えば、コンピュータ可読記憶媒体上のコンピュータプログラム製品)の形態をとり得る。
【0062】
ソフトウェアは更に、ネットワークインターフェースデバイスを介してネットワーク上で送信又は受信され得る。キャリア媒体は、例示的な実施形態では単一の媒体であるが、「キャリア媒体(carrier medium)」という用語は、命令の1つ又は複数のセットを記憶する単一の媒体又は複数の媒体(例えば、集中型若しくは分散型データベース並びに/又は関連するキャッシュ及びサーバ)を含むものと解釈されるべきである。「キャリア媒体」という用語はまた、プロセッサのうちの1つ又は複数による実行のための命令のセットを記憶、符号化、又は搬送することが可能であり、1つ又は複数のプロセッサに、本開示の方法のいずれか1つ又は複数を実行させる任意の媒体を含むものと解釈されるべきである。キャリア媒体は、限定はしないが、不揮発性媒体、揮発性媒体、及び伝送媒体を含む多くの形態をとり得る。不揮発性媒体は、例えば、光ディスク、磁気ディスク、及び光磁気ディスクを含む。揮発性媒体は、メインメモリなどの動的メモリを含む。伝送媒体は、バスサブシステムを構成するワイヤを含む、同軸ケーブル、銅線、及び光ファイバを含む。伝送媒体はまた、電波及び赤外線データ通信中に生成されるものなど、音波又は光波の形態をとり得る。結果的に、例えば、「キャリア媒体」という用語は、限定はしないが、固体メモリ、光媒体及び磁気媒体で具現化されるコンピュータ製品、少なくとも1つのプロセッサ又は1つ若しくは複数のプロセッサによって検出可能な伝搬信号を担持し、実行されたときに、方法を実施する命令のセットを表す媒体、並びに1つ又は複数のプロセッサのうちの少なくとも1つのプロセッサによって検出可能な伝搬信号を担持し、命令のセットを表すネットワーク内の伝送媒体を含むものと解釈されものとする。
【0063】
説明される方法のステップは、1つの例示的な実施形態では、記憶装置に記憶された命令(コンピュータ可読コード)を実行する処理(例えば、コンピュータ)システムの適切な1つのプロセッサ(又は複数のプロセッサ)によって実行されることが理解されよう。本開示は、いかなる特定の実装形態又はプログラミング技法にも限定されず、本開示は、本明細書で説明する機能を実装するための任意の適切な技法を使用して実装され得ることも理解されよう。本開示は、いかなる特定のプログラミング言語又はオペレーティングシステムにも限定されない。
【0064】
本開示全体を通して、「1つの例示的な実施形態(one example embodiment)」、「いくつかの例示的な実施形態(some example embodiments)」、又は「例示的な実施形態(an example embodiment)」への言及は、例示的な実施形態に関連して説明される特定の特徴、構造、又は特性が、本開示の少なくとも1つの例示的な実施形態に含まれることを意味する。従って、本開示全体を通して様々な場所での「1つの例示的な実施形態では」、「いくつかの例示的な実施形態では」、又は「例示的な実施形態では」という表現の出現は、必ずしも全てが同じ例示的な実施形態を指すとは限らない。更に、特定の特徴、構造、又は特性は、1つ又は複数の例示的な実施形態では、本開示から当業者には明らかであるように、任意の適切な方法で組み合わせられ得る。
【0065】
本明細書で使用される場合、別段の指定がない限り、共通の物体を説明するための序数形容詞「第1の」、「第2の」、「第3の」などの使用は、同様の物体の異なる例が言及されていることを示すにすぎず、そのように説明された物体が、時間的に、空間的に、ランキングで、又は任意の他の方法で、所与の順序でなければならないことを暗示するよう意図されているものではない。
【0066】
以下の特許請求の範囲及び本明細書の説明において、「備える/含む(comprising)」、「~から構成される(comprised of)」、又は「備える/含む(which comprises)」という用語のいずれか1つは、少なくともその後に続く要素/特徴を含むが、他のものを除外しないことを意味するオープンタームである。従って、「備える/含む(comprising)」という用語は、特許請求の範囲で使用される場合、その後に列挙される手段又は要素又はステップに限定されるものとして解釈されるべきではない。例えば、A及びBを含むデバイス(a device comprising A and B)という表現の範囲は、要素A及びBのみから構成されるデバイスに限定されるべきではない。また、本明細書で使用される「含む(including)」又は「含む(which includes)」又は「含む(that
includes)」という用語はいずれも、少なくとも、その用語に続く要素/特徴を含むが、他のものを除外しないことを意味するオープンタームである。従って、含む(including)は、備える/含む(comprising)と同義であり、それを意味する。
【0067】
本開示の例示的な実施形態の上記の説明では、本開示の様々な特徴は、本開示を合理化し、様々な発明の態様のうちの1つ又は複数の態様の理解を助けるために、単一の例示的な実施形態、図、又はその説明においてひとまとめにされることがあることを理解されたい。しかしながら、開示のこの方法は、特許請求の範囲が各請求項に明示的に記載されているものより多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、発明の態様は、単一の前述の開示された例示的な実施形態の全ての特徴より少ない特徴にある。従って、本明細書に続く特許請求の範囲は、本明細書に明示的に組み込まれ、各請求項は、本開示の別個の例示的な実施形態として自立している。
【0068】
更に、本明細書で説明されるいくつかの例示的な実施形態は、他の例示的な実施形態に含まれるいくつかの特徴を含むが、他の特徴は含まず、当業者によって理解されるように、異なる例示的な実施形態の特徴の組合せは、本開示の範囲内にあり、異なる例示的な実施形態を形成することが意図される。例えば、以下の特許請求の範囲において、特許請求の範囲に記載された例示的な実施形態のいずれかは、任意の組合せで使用され得る。
【0069】
本明細書に提供される説明では、多数の具体的な詳細が記載される。しかしながら、本開示の例示的な実施形態は、これらの具体的な詳細なしに実施され得ることが理解される。他の事例では、この説明の理解を曖昧にしないために、周知の方法、構造、及び技法は詳細には示されていない。
【0070】
従って、本開示の最良の形態であると考えられるものが説明されたが、当業者は、本開示の趣旨から逸脱することなく、他の及び更なる修正がなされ得ることを認識し、本開示の範囲内にあるような全ての変更及び修正を請求することが意図されている。例えば、上で与えられた任意の式は、使用され得る手順の単なる代表である。機能は、ブロック図から追加又は削除されてもよく、動作は、機能ブロック間で交換されてもよい。ステップは、本開示の範囲内で説明される方法に追加又は削除されてもよい。
【国際調査報告】