(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-21
(45)【発行日】2024-10-29
(54)【発明の名称】目的信号抽出装置、目的信号抽出方法、学習装置、学習方法及びプログラム
(51)【国際特許分類】
G10L 21/0272 20130101AFI20241022BHJP
G10L 25/30 20130101ALI20241022BHJP
【FI】
G10L21/0272 100Z
G10L25/30
(21)【出願番号】P 2021129604
(22)【出願日】2021-08-06
【審査請求日】2023-08-03
【新規性喪失の例外の表示】特許法第30条第2項適用 arxiv ウェブサイト https://arxiv.org/ https://arxiv.org/abs/2106.07144 ウェブサイト掲載日 2021年6月14日
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】デルクロア マーク
(72)【発明者】
【氏名】落合 翼
(72)【発明者】
【氏名】木下 慶介
(72)【発明者】
【氏名】荒木 章子
(72)【発明者】
【氏名】ホルヘ ヤコボ ベナサール ヴァズケズ
【審査官】土井 悠生
(56)【参考文献】
【文献】国際公開第2019/017403(WO,A1)
【文献】国際公開第2011/064938(WO,A1)
【文献】中国特許出願公開第111785291(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-99/00
(57)【特許請求の範囲】
【請求項1】
抽出対象の目的音信号に対応付けられたクラスが既知のものであるか否かを判定する判定部と、
前記判定部によって前記クラスが既知のものでないと判定された場合は、登録済みの音信号を、第1のモデルにより埋め込み情報に変換し、前記判定部によって前記クラスが既知のものであると判定された場合は、前記クラスを特定するための情報を、第2のモデルにより埋め込み情報に変換する変換部と、
前記変換部によって変換された埋め込み情報を用いて、抽出用のニューラルネットワークにより、混合音信号から目的音信号を抽出する抽出部と、
を有することを特徴とする目的信号抽出装置。
【請求項2】
目的信号抽出装置によって実行される目的信号抽出方法であって、
抽出対象の目的音信号に対応付けられたクラスが既知のものであるか否かを判定する判定工程と、
前記判定工程によって前記クラスが既知のものでないと判定された場合は、登録済みの音信号を、第1のモデルにより埋め込み情報に変換し、前記判定工程によって前記クラスが既知のものであると判定された場合は、前記クラスを特定するための情報を、第2のモデルにより埋め込み情報に変換する変換工程と、
前記変換工程によって変換された埋め込み情報を用いて、抽出用のニューラルネットワークにより、混合音信号から目的音信号を抽出する抽出工程と、
を含むことを特徴とする目的信号抽出方法。
【請求項3】
抽出対象の目的音信号に対応付けられたクラスが既知のものであるか否かを判定する判定部と、
前記判定部によって前記クラスが既知のものでないと判定された場合は、登録済みの音信号を、第1のモデルにより埋め込み情報に変換し、前記判定部によって前記クラスが既知のものであると判定された場合は、前記クラスを特定するための情報を、第2のモデルにより埋め込み情報に変換する変換部と、
前記変換部によって変換された埋め込み情報を用いて、抽出用のニューラルネットワークにより、混合音信号から目的音信号を抽出する抽出部と、
前記判定部によって前記クラスが既知のものでないと判定された場合は、前記目的音信号を基に前記第1のモデル及び前記抽出用のニューラルネットワークのパラメータを更新し、前記判定部によって前記クラスが既知のものであると判定された場合は、前記目的音信号を基に前記第2のモデル及び前記抽出用のニューラルネットワークのパラメータを更新する更新部と、
を有することを特徴とする学習装置。
【請求項4】
前記更新部は、前記第1のモデルにより前記登録済みの音信号から変換された埋め込み情報と前記第2のモデルにより前記クラスを特定するための情報から変換された埋め込み情報とがかい離しているほど大きくなる項を含む損失関数が小さくなるように、各パラメータを更新することを特徴とする請求項3に記載の学習装置。
【請求項5】
前記変換部は、前記判定部によって前記クラスが既知のものでないと判定された場合は、前記第1のモデルにより、登録された音信号を第1のベクトルに変換し、前記判定部によって前記クラスが既知のものであると判定された場合は、前記第2のモデルに含まれる行列であって、前記第1のベクトルのサイズと列サイズが等しい行列により、前記クラスを特定する1-hotベクトルを前記第1のベクトルと同じサイズのベクトルに変換し、
前記更新部は、前記判定部によって前記クラスが既知のものでないと判定された場合は、
前記目的音信号を基に前記第1のモデル及び前記抽出用のニューラルネットワークのパラメータを更新し、さらに前記行列に、前記第1のベクトルに基づき列を追加
し、前記判定部によって前記クラスが既知のものであると判定された場合は、前記目的音信号を基に前記第2のモデル及び前記抽出用のニューラルネットワークのパラメータを更新することを特徴とする請求項3又は4に記載の学習装置。
【請求項6】
学習装置によって実行される学習方法であって、
抽出対象の目的音信号に対応付けられたクラスが既知のものであるか否かを判定する判定工程と、
前記判定工程によって前記クラスが既知のものでないと判定された場合は、登録済みの音信号を、第1のモデルにより埋め込み情報に変換し、前記判定工程によって前記クラスが既知のものであると判定された場合は、前記クラスを特定するための情報を、第2のモデルにより埋め込み情報に変換する変換工程と、
前記変換工程によって変換された埋め込み情報を用いて、抽出用のニューラルネットワークにより、混合音信号から目的音信号を抽出する抽出工程と、
前記判定工程によって前記クラスが既知のものでないと判定された場合は、前記目的音信号を基に前記第1のモデル及び前記抽出用のニューラルネットワークのパラメータを更新し、前記判定工程によって前記クラスが既知のものであると判定された場合は、前記目的音信号を基に前記第2のモデル及び前記抽出用のニューラルネットワークのパラメータを更新する更新工程と、
を含むことを特徴とする学習方法。
【請求項7】
コンピュータは、請求項1に記載の目的信号抽出装置、又は請求項3から5のいずれか1項に記載の学習装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、目的信号抽出装置、目的信号抽出方法、学習装置、学習方法及びプログラムに関する。
【背景技術】
【0002】
人の声、車の音、犬の鳴き声等、多数の種類(以下、音響クラス)の音の信号が混ざった混合音の信号(以下、混合音信号)から、ユーザが望む音響クラスの目的音の信号(以下、目的音信号)を抽出する技術が知られている。
【0003】
例えば、非特許文献1には、混合音から目的音を抽出するためのニューラルネットワーク(NN)であるメインNNと、補助入力から音響クラスの埋め込み情報を得るためのNNである補助NNとを用いる技術が記載されている。
【0004】
非特許文献1に記載の方法では、補助入力として、あらかじめ録音(登録;Enrollment)された音信号が用いられ、Enrollment encoderが、補助入力を当該音信号の属する音響クラスに対応する埋め込み情報に変換する。さらに、非特許文献1に記載の方法では、当該埋め込み情報をメインNNで用いることで、入力の混合音信号から補助入力に類似する目的音信号が抽出される。
【0005】
また、例えば非特許文献2に記載の技術では、非特許文献1に記載の技術と同様にメインNNと補助NNが用いられるが、補助入力として、ユーザ指定の音響クラスを表現する1-hotベクトルを用いられる。非特許文献2に記載の技術において、補助NNは、線形変換を行う1-hot encoderで構成される。1-hot encoderは、1-hotベクトルである補助入力を埋め込み情報に変換する。
【0006】
非特許文献2に記載の技術では、当該補助入力である1-hotベクトルの要素のうち、ユーザが希望する音響クラスに対応する要素の値のみを1とすることで、当該音響クラスに対応する埋め込み情報が補助NNで生成される。また、当該埋め込み情報をメインNNで用いることで、当該音響クラスに対応する目的音信号が入力の混合音信号から抽出される。
【先行技術文献】
【非特許文献】
【0007】
【文献】M. Delcroix, T. Ochiai, K. Zmolikova, K. Kinoshita, N. Tawara, T. Nakatani, and S. Araki, “Improving speaker discrimination of target speech extraction with time-domain speakerbeam,” in Proc.of ICASSP, 2020, pp. 691-695.
【文献】T. Ochiai, M. Delcroix, Y. Koizumi, H. Ito, K. Kinoshita, and S. Araki, “Listen to what you want: Neural network-based universal sound selector,” in Proc. Interspeech, pp. 2718-2722, 2020.
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、従来の技術には、未知の音響クラス及び既知の音響クラスの両方について、精度良く目的音を抽出することが難しい場合があるという問題がある。
【0009】
例えば非特許文献2の技術は、音響クラスを表現する1-hotベクトルを補助入力として用いているため、既知の音響クラスについては精度良く目的音信号を抽出することができるが、原理上、未知の音響クラスに対応する目的音信号を抽出することはできない。
【0010】
なお、未知の音響クラスは、補助入力の1-hotベクトルに対応する要素が存在しない音響クラスということができる。また、既知の音響クラスは、補助入力の1-hotベクトルに対応する要素が存在する音響クラスということができる。
【0011】
一方で、例えば非特許文献1に記載の技術は、補助入力の波形に類似する音を抽出するように学習されるため、学習データになかった未知の音響クラスについても目的音信号を抽出することができるが、学習時に音響クラスについての情報を陽に用いていないため、精度に限界がある。
【課題を解決するための手段】
【0012】
上述した課題を解決し、目的を達成するために、目的信号抽出装置は、抽出対象の目的音信号に対応付けられたクラスが既知のものであるか否かを判定する判定部と、前記判定部によって前記クラスが既知のものでないと判定された場合は、登録済みの音信号を、第1のモデルにより埋め込み情報に変換し、前記判定部によって前記クラスが既知のものであると判定された場合は、前記クラスを特定するための情報を、第2のモデルにより埋め込み情報に変換する変換部と、前記変換部によって変換された埋め込み情報を用いて、抽出用のニューラルネットワークにより、混合音信号から目的音信号を抽出する抽出部と、を有することを特徴とする。
【0013】
上述した課題を解決し、目的を達成するために、学習装置は、抽出対象の目的音信号に対応付けられたクラスが既知のものであるか否かを判定する判定部と、前記判定部によって前記クラスが既知のものでないと判定された場合は、登録済みの音信号を、第1のモデルにより埋め込み情報に変換し、前記判定部によって前記クラスが既知のものであると判定された場合は、前記クラスを特定するための情報を、第2のモデルにより埋め込み情報に変換する変換部と、前記変換部によって変換された埋め込み情報を用いて、抽出用のニューラルネットワークにより、混合音信号から目的音信号を抽出する抽出部と、前記判定部によって前記クラスが既知のものでないと判定された場合は、前記目的音信号を基に前記第1のモデル及び前記抽出用のニューラルネットワークのパラメータを更新し、前記判定部によって前記クラスが既知のものであると判定された場合は、前記目的音信号を基に前記第2のモデル及び前記抽出用のニューラルネットワークのパラメータを更新する更新部と、を有することを特徴とする。
【発明の効果】
【0014】
本発明によれば、未知の音響クラス及び既知の音響クラスの両方について、精度良く目的音を抽出することができる。
【図面の簡単な説明】
【0015】
【
図1】
図1は、第1の実施形態に係る目的信号抽出装置の構成例を示す図である。
【
図3】
図3は、モデルの構成の変形例を説明する図である。
【
図4】
図4は、第1の実施形態に係る目的信号抽出装置の処理の流れを示すフローチャートである。
【
図5】
図5は、第1の実施形態に係る学習装置の構成例を示す図である。
【
図6】
図6は、埋め込み行列の拡張方法を説明する図である。
【
図7】
図7は、埋め込み行列の拡張方法を説明する図である。
【
図8】
図8は、無音情報の出力による精度の変化を示す図である。
【
図9】
図9は、第1の実施形態に係る学習装置の処理の流れを示すフローチャートである。
【
図13】
図13は、プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【0016】
以下に、本願に係る目的信号抽出装置、目的信号抽出方法、学習装置、学習方法及びプログラムの実施形態を図面に基づいて詳細に説明する。なお、本発明は、以下に説明する実施形態により限定されるものではない。
【0017】
[第1の実施形態]
[目的信号抽出装置]
まず、
図1を用いて、第1の実施形態に係る目的信号抽出装置の構成について説明する。
図1は、第1の実施形態に係る目的信号抽出装置の構成例を示す図である。目的信号抽出装置10は、混合音信号の入力を受け付け、目的音信号を出力する。
【0018】
前述の通り、混合音信号は、人の声、車の音、犬の鳴き声等、多数の種類(以下、音響クラス)の音の信号が混ざった混合音の信号である。また、目的音信号は、所定の音響クラスの音の信号である。
【0019】
例えば、混合音信号の入力とともに、音響クラスとして犬の鳴き声が指定された場合、目的信号抽出装置10は、混合音信号の元となった混合音に含まれる犬の鳴き声に相当する信号を抽出する。
【0020】
図1に示すように、目的信号抽出装置10は、インタフェース部11、記憶部12及び制御部13を有する。
【0021】
インタフェース部11は、データの入力及び出力のためのインタフェースである。例えば、インタフェース部11はNIC(Network Interface Card)である。インタフェース部11は他の装置との間でデータの送受信を行うことができる。
【0022】
また、インタフェース部11は、マウスやキーボード等の入力装置と接続されていてもよい。また、インタフェース部11は、ディスプレイ及びスピーカ等の出力装置と接続されていてもよい。
【0023】
記憶部12は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、光ディスク等の記憶装置である。なお、記憶部12は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。
【0024】
記憶部12は、目的信号抽出装置10で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部12はモデル情報121を記憶する。
【0025】
モデル情報121は、後述するモデルを構築するための情報である。モデル情報121には、ニューラルネットワークを構築するための重み等のパラメータが含まれる。
【0026】
制御部13は、目的信号抽出装置10全体を制御する。制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路である。
【0027】
また、制御部13は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。
【0028】
制御部13は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部13は、判定部131、登録型変換部132、1-hot型変換部133及び抽出部134を有する。
【0029】
ここで、
図2を用いて、モデルの構成例を示すとともに、制御部13の各部の処理について説明する。
図2は、モデルの構成例を示す図である。
【0030】
目的信号抽出装置10は、モデル情報121を基に、
図2に示すモデルを構築する。
図2に示すように、モデルには、抽出用NN(Neural network)及び補助NNが含まれる。
【0031】
なお、抽出用NN及び補助NNは、少なくとも一部にNNを含むが、必ずしも全ての計算過程がNNによって実現される必要はない。
【0032】
図2に示すように、抽出用NNは、エンコーダ51、変換ブロック52、変換ブロック53及びデコーダ54を含む。
【0033】
エンコーダ51は、音信号を所定の特徴空間にマッピング、すなわち音信号を特徴量ベクトルに変換するニューラルネットワークである。
【0034】
変換ブロック52及び変換ブロック53は、1次元の畳み込み及び正規化等を行うための層の集合である。例えば、変換ブロック52が1つの畳み込み層を含み、変換ブロック53が3つの畳み込み層を含んでいてもよい。
【0035】
なお、変換ブロック52及び変換ブロック53は、畳み込み層の代わりに、BLSTM(Bidirectional Long Short-Term Memory)及びTransformer等の他のネットワーク構造を用いて変換を行うものであってもよい。
【0036】
デコーダ54は、所定の特徴空間上の特徴量を音信号の空間にマッピングする、すなわち特徴量ベクトルを音信号に変換するニューラルネットワークである。
【0037】
なお、エンコーダ51及びデコーダ54は、ニューラルネットワークに限られず、例えば、それぞれSTFT(Short Time Fourier Transform)及びiSTFT(inverse Short Time Fourier Transform)を計算する処理部であってもよい。
【0038】
エンコーダ51、デコーダ54及び各変換ブロックの構成は、参考文献1(Y. Luo and N. Mesgarani, “Conv-TasNet: Surpassing ideal time-frequency magnitude masking for speech separation,” IEEE/ACM Trans. ASLP, vol. 27, no. 8, pp. 1256-1266, 2019.)に記載の構成と同様であってもよい。
【0039】
なお、抽出用NNは、非特許文献1及び非特許文献2に記載の抽出用ネットワーク(例えば、Extraction net)と同様の構成を有するものであってもよい。
【0040】
図2に示すように、補助NNは、登録エンコーダ61及び1-hotエンコーダ62を含む。
【0041】
登録エンコーダ61は、音信号の入力を受け付け、埋め込み情報を出力する。例えば、登録エンコーダ61は、エンコーダ及び畳み込み層を有し、畳み込み層の出力の時間平均を計算する。
【0042】
登録エンコーダ61は、非特許文献1に記載の補助ネットワーク(例えば、Auxilary net)と同様の処理を行うものであってもよい。
【0043】
登録エンコーダ61に入力される登録済みの音信号aは、混合音から抽出される目的音の信号のサンプルということができる。
【0044】
例えば、混合音から目的音として犬の鳴き声を抽出する場合、登録エンコーダ61には、犬の鳴き声の音信号が登録済みの音信号aとして入力される。なお、登録済みの音信号aに対応する鳴き声は、目的音の鳴き声を発する犬のものでなく、他の犬のものであってもよい。
【0045】
1-hotエンコーダ62は、1-hotベクトルの入力を受け付け、埋め込み情報を出力する。例えば、1-hotエンコーダ62は、モデル情報121に含まれる埋め込み行列と入力された1-hotベクトルを掛けることによりベクトルである埋め込み情報を計算する。
【0046】
1-hotエンコーダ62は、非特許文献2に記載の埋め込み層(例えば、Embedding)と同様の処理を行うものであってもよい。
【0047】
1-hotベクトルは、各要素(次元)が音響クラスに対応し、抽出対象の音響クラスに対応する要素のみが1であり、他の要素が0であるベクトルである。
【0048】
例えば、1-hotベクトル[0knock, 1guitar, 0cough]は、抽出対象の音響クラスが「guitar」であることを意味している。なお、上記の1-hotベクトルにおける各要素の下付きの文字は、対応する音響クラスを説明するために付されたラベルであり、実際の各要素の値は1又は0である。
【0049】
ここで、目的信号抽出装置10が混合音信号yから目的音信号^x(xの直上に^)を抽出する場合を考える。
【0050】
まず、判定部131は、抽出対象の目的音信号に対応付けられたクラス(音響クラス)が既知のものであるか否かを判定する。
【0051】
例えば、目的音信号に対応付けられた音響クラスは、ユーザが抽出することを所望する目的音信号の音響クラスである。
【0052】
なお、未知の音響クラスは、補助入力の1-hotベクトルに対応する要素が存在しない音響クラスということができる。また、既知の音響クラスは、補助入力の1-hotベクトルに対応する要素が存在する音響クラスということができる。
【0053】
例えば、判定部131は、混合音信号yとともに、いずれかの要素が1であり他の要素が0である1-hotベクトルが与えられている場合、既知の音響クラスが抽出対象の目的音信号に対応付けられていると判定する。
【0054】
また、例えば、判定部131は、混合音信号yとともに、全ての要素が0である1-hotベクトルが与えられている場合、未知の音響クラスが抽出対象の目的音信号に対応付けられていると判定する。
【0055】
また、例えば、判定部131は、1-hotベクトルが与えられていない場合、未知の音響クラスが抽出対象の目的音信号に対応付けられていると判定する。
【0056】
また、例えば、判定部131は、1-hotベクトルとは別に与えられるフラグによって、抽出対象の目的音信号に対応付けられた音響クラスが既知のものであるか否かを判定してもよい。
【0057】
登録型変換部132は、判定部131によって音響クラスが既知のものでないと判定された場合は、登録済みの音信号aを、登録エンコーダ61により埋め込み情報eenrlに変換する。登録エンコーダ61は、第1のモデルの一例である。
【0058】
1-hot型変換部133は、判定部131によってクラスが既知のものであると判定された場合は、クラスを特定するための情報、すなわち1-hotベクトルoを、1-hotエンコーダ62により埋め込み情報e1-hotに変換する。1-hotエンコーダ62は、第2のモデルの一例である。
【0059】
抽出部134は、登録型変換部132又は1-hot型変換部133によって変換された埋め込み情報eを用いて、(1)式に示すように、抽出用NNであるf(・)により、混合音信号yから目的音信号^xを抽出する。登録型変換部132又は1-hot型変換部133を合わせて変換部と呼ぶ場合がある。
【0060】
【0061】
埋め込み情報eは、埋め込み情報e1-hot又は埋め込み情報eenrlであり、ベクトルである。
【0062】
1-hot型変換部133は、(2)式により埋め込み情報e1-hotを計算することができる。
【0063】
【0064】
B×Nの埋め込み行列Wは、(3)式のように表される。Bはベクトルである埋め込み情報のサイズであり、Nは既知の音響クラスの数である。
【0065】
【0066】
また、登録型変換部132は、(4)式により埋め込み情報eenrlを計算することができる。g(・)はニューラルネットワークである。
【0067】
【0068】
また、抽出部134は、いずれもベクトルである変換ブロック52の出力zと埋め込み情報eとの要素ごとの積を計算し、その結果を変換ブロック53に入力する。これにより、抽出部134は、抽出用NNを音響クラスに適応させる。
【0069】
目的音信号の抽出の際には、混合音信号yとともに、抽出対象の目的音信号の音響クラスを特定するための情報として、登録済みの音信号a及び1-hotベクトルoのうちの少なくともいずれかが与えられるものとする。
【0070】
図3は、モデルの構成の変形例を説明する図である。
図3に示すように、登録エンコーダ及び1-hotエンコーダは複数であってもよい。
図3は、モデルの構成の変形例を説明する図である。
【0071】
例えば、登録型変換部132は、複数の登録エンコーダから出力されるベクトルを加算したベクトルを抽出用NNに対して出力してもよい。
【0072】
例えば、1-hot型変換部133は、複数の1-hotエンコーダから出力されるベクトルを加算したベクトルを抽出用NNに対して出力してもよい。例えば、互いに異なるm個の1-hotベクトルが入力されることは、m-hotベクトルが入力されることと等価である。
【0073】
図4は、第1の実施形態に係る目的信号抽出装置の処理の流れを示すフローチャートである。
図4に示すように、目的信号抽出装置10は、入力混合音信号、登録型補助入力、1-hot型補助入力、指定クラスの入力を受け付ける(ステップS101)。
【0074】
登録型補助入力及び1-hot型補助入力は、それぞれ登録済みの音信号a及び1-hotベクトルoに相当し、いずれかが入力されればよい。
【0075】
また、指定クラスは、抽出対象の目的音信号に対応付けた音響クラスであり、目的信号抽出装置10によって解釈可能であれば、どのような方法で指定されていてもよい。
【0076】
次に、目的信号抽出装置10は、指定クラスが既知であるか否かを判定する(ステップS102)。
【0077】
指定クラスが既知である場合(ステップS102、Yes)、目的信号抽出装置10は、1-hotエンコーダ62により埋め込み情報を計算する(ステップS103)。すなわち、目的信号抽出装置10は、1-hot型補助入力を埋め込み情報に変換する。
【0078】
指定クラスが既知でない場合(ステップS102、No)、目的信号抽出装置10は、登録エンコーダ61により埋め込み情報を計算する(ステップS104)。すなわち、目的信号抽出装置10は、登録型補助入力を埋め込み情報に変換する。
【0079】
そして、目的信号抽出装置10は、埋め込み情報を用いて抽出用NNにより目的音信号を抽出する(ステップS105)。
【0080】
[学習装置]
ここで、目的信号抽出装置10のモデル情報121を生成するための学習処理を行う学習装置について説明する。
図5は、第1の実施形態に係る学習装置の構成例を示す図である。学習装置20は、学習用の混合音信号等の入力を受け付け、更新済みのモデル情報を出力する。
【0081】
図5に示すように、学習装置20は、インタフェース部21、記憶部22及び制御部23を有する。
【0082】
インタフェース部21は、データの入力及び出力のためのインタフェースである。例えば、インタフェース部21はNICである。インタフェース部21は他の装置との間でデータの送受信を行うことができる。
【0083】
また、インタフェース部21は、マウスやキーボード等の入力装置と接続されていてもよい。また、インタフェース部21は、ディスプレイ及びスピーカ等の出力装置と接続されていてもよい。
【0084】
記憶部22は、HDD、SSD、光ディスク等の記憶装置である。なお、記憶部22は、RAM、フラッシュメモリ、NVSRAM等のデータを書き換え可能な半導体メモリであってもよい。
【0085】
記憶部22は、目的信号抽出装置10で実行されるOSや各種プログラムを記憶する。例えば、記憶部22はモデル情報221を記憶する。
【0086】
モデル情報221は、
図2に示すモデルを構築するための情報である。モデル情報221には、ニューラルネットワークを構築するための重み等のパラメータが含まれる。モデル情報221は、学習装置20によって更新される。
【0087】
制御部23は、目的信号抽出装置10全体を制御する。制御部23は、例えば、CPU、MPU、GPU等の電子回路や、ASIC、FPGA等の集積回路である。
【0088】
また、制御部23は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、内部メモリを用いて各処理を実行する。
【0089】
制御部23は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部23は、判定部231、登録型変換部232、1-hot型変換部233、抽出部234及び更新部235を有する。
【0090】
判定部231、登録型変換部232、1-hot型変換部233、抽出部234は、それぞれ目的信号抽出装置10の判定部231、登録型変換部232、1-hot型変換部233、抽出部234と同様の処理を行う。
【0091】
ただし、登録型変換部232及び1-hot型変換部233は、判定部231の判定結果によらず、学習処理における制御に従って適宜処理を行ってもよい。
【0092】
例えば、学習装置20は、混合音信号、正解の目的音信号、目的音信号に対応する音響クラスの登録済みの音信号、目的音信号に対応する音響クラスを特定する1-hotベクトルを学習データとして用いる。なお、学習データには、登録済みの音信号及び1-hotベクトルのいずれかが含まれていればよい。
【0093】
更新部235は、あらかじめ定められた学習基準に従い、誤差伝搬法等の手法により、抽出用NN及び補助NNのパラメータ、すなわちモデル情報221を更新する。
【0094】
更新部235は、判定部231によってクラスが既知のものでないと判定された場合は、目的音信号を基に登録エンコーダ61及び抽出用NNのパラメータを更新し(第1の更新処理)、判定部231によってクラスが既知のものであると判定された場合は、目的音信号を基に1-hotエンコーダ62及び抽出用NNのパラメータを更新する(第2の更新処理)。
【0095】
このように、更新部235は、登録エンコーダ61及び1-hotエンコーダ62のうち、埋め込み情報の計算に使用した方のパラメータを更新する。
【0096】
学習装置20は、第1の更新処理及び第2の更新処理を交互に行ってもよいし、所定の回数ずつ行ってもよいし、学習基準値やその変動量が所定の閾値に達するごとに切り替えるようにしてもよい。
【0097】
また、更新部235は、登録エンコーダ61により登録済みの音信号から変換された埋め込み情報と、1-hotエンコーダ62により音響クラスを特定する1-hotベクトルから変換された埋め込み情報とがかい離しているほど大きくなる項を含む損失関数が小さくなるように、各パラメータを更新する。
【0098】
更新部235は、例えば(5)式の損失関数を用いる。なお、αはハイパーパラメータとして設定可能な係数である。
【0099】
【0100】
(5)式の第1項及び第2の項のLextは、例えば(6)式に示すように、抽出部234が抽出した目的音信号^xと正解の目的音信号xとがかい離しているほど(差分が大きいほど)大きくなる項である。
【0101】
【0102】
一方、(5)式の第3項のLembは、登録エンコーダ61により登録済みの音信号から変換された埋め込み情報eenrlと、1-hotエンコーダ62により音響クラスを特定する1-hotベクトルから変換された埋め込み情報e1-hotとがかい離しているほど大きくなる項である。Lembは(7)式のように計算される。
【0103】
【0104】
(7)式のd(u,v)は、例えばコサイン距離(cosine disimilarity、cosine distance)等であり、ベクトルuとベクトルvとの間の距離が大きいほど大きくなる。
【0105】
この場合、学習装置20は、判定部231の判定結果を制御して登録型変換部232及び1-hot型変換部233に処理を実行させること等により、埋め込み情報eenrlと埋め込み情報e1-hotとの両方を得るようにしてもよい。
【0106】
さらに、更新部235は、1-hotエンコーダ62を構成する埋め込み行列Wを拡張することができる。B×Nの埋め込み行列Wは、(3)式のように表される。Bはベクトルである埋め込み情報のサイズであり、Nは既知の音響クラスの数である。
【0107】
登録型変換部232は、判定部231によってクラスが既知のものでないと判定された場合は、登録エンコーダ61により、登録された音信号をサイズがBである埋め込みベクトルに変換する。
【0108】
また、1-hot型変換部233は、判定部231によってクラスが既知のものであると判定された場合は、1-hotエンコーダ62に含まれるB×Nの埋め込み行列Wにより、1-hotベクトルをサイズがBである埋め込みベクトルに変換する。埋め込み行列Wは、埋め込みベクトルのサイズと列サイズが等しい行列である。
【0109】
さらに、更新部235は、判定部231によってクラスが既知のものでないと判定された場合は、埋め込み行列Wに、登録エンコーダ61により変換された埋め込みベクトルに基づき列を追加する。
【0110】
図6は、埋め込み行列の拡張方法を説明する図である。
図6に示すように、補助NNでは登録エンコーダ61が用いられるが、埋め込み行列Wの拡張により1-hotエンコーダ62が更新されることになる。
【0111】
図7を用いて、埋め込み行列の拡張について具体例を挙げて説明する。
図7は、埋め込み行列の拡張方法を説明する図である。
【0112】
図7に示すように、複数の登録済み音信号a
1,a
2,…,a
Kが与えられているものとする。Kは与えられた登録済み音信号の数である。
【0113】
登録型変換部232は、複数の登録済み音信号のそれぞれについて、例えば、g(a1),g(a2),…,g(aK)のように埋め込みベクトルを計算する。
【0114】
ここで、更新部235は、(8)式のように、計算された埋め込みベクトルの平均enewを計算する。
【0115】
【0116】
そして、更新部235は、(9)式のように、埋め込み行列Wに埋め込みベクトルの平均enewを追加する。
【0117】
【0118】
図7の例では、更新部235は、元々41個の音響クラスに対応する要素を持っていた埋め込み行列Wの新たな列に、埋め込みベクトルの平均であるベクトル[1.05 3.65 7.2 -5.34 …]を追加して行列W´を得る。
【0119】
行列W´は、未知であった42番目のクラスに対応した新たな埋め込み行列ということができる。
【0120】
なお、更新部235は、enewを、g(a1),g(a2),…,g(aK)の加算平均に限られず、調和平均、線形和等により計算してもよい。また、更新部235は、g(a1),g(a2),…,g(aK)のうちのいずれか1つをenewとしてもよい。
【0121】
さらに、追加された列は初期値であり、以降の学習処理において適宜更新されていくことになる。例えば、モデル全体の学習が行われる場合、更新部235は、抽出用NN、登録エンコーダ61及び1-hotエンコーダ62を含むモデル全体のパラメータを更新する。
【0122】
また、追加された埋め込み行列の列に対応するクラス(例えば、上記の42番目のクラス)の適応学習が行われる場合、更新部235は、当該追加された列のみを更新する。
【0123】
抽出用NNの出力は、目的音信号そのものに限られない。例えば、混合音信号の中に、指定された音響クラスに対応する目的音が存在しない場合、抽出用NNは、無音であることを示す無音情報を出力してもよい。
【0124】
抽出用NNが無音情報を出力とすることを利用して、本実施形態を用いて、目的音信号の抽出だけでなく、有音及び無音の判定を行うことができる。
【0125】
ここで、混合音信号に対する目的音信号のパワー比が閾値を下回るか否かによって無音判定を行う場合を考える。
【0126】
例えば、目的信号抽出装置10及び学習装置20は、混合音信号yから抽出した出力した目的音信号^xが(10)式を満たす場合に無音と判定し、(10)式を満たさない場合に有音と判定するものとする。
【0127】
【0128】
この判定方法により実験を行った結果を
図8に示す。
図8は、無音情報の出力による精度の変化を示す図である。
【0129】
Mixed(Enroll)は登録エンコーダ61を使ったことを意味する。Mixed(1-hot)は、1-hotエンコーダ62を使ったことを意味する。また、+inactiveは、モデルの学習において、10%の無音のサンプルを追加したことを意味する。
【0130】
図8の縦軸は無音の誤検出率であり、横軸は無音の見逃し率である。
図8に示す結果から、無音のサンプルを学習させることで、無音判定の精度が向上するということができる。
【0131】
図9は、第1の実施形態に係る学習装置の処理の流れを示すフローチャートである。
図9に示すように、学習装置20は、入力混合音信号、登録型補助入力、1-hot型補助入力、正解音信号の入力を受け付ける(ステップS201)。
【0132】
次に、学習装置20は、登録型補助入力及び1-hot型補助入力のいずれを用いるかを判定する(ステップS202)。学習装置20は、必要に応じて、同じ入力混合音信号に対して登録型補助入力を用いたときの計算結果、及び1-hot型補助入力を用いたときの計算結果を任意に得ることができる。
【0133】
学習装置20は、登録型補助入力及び1-hot型補助入力のいずれを用いるかを、目的信号抽出装置10と同様の方法で判定してもよい。
【0134】
1-hot型補助入力を用いる場合(ステップS202、1-hot型)、学習装置20は、1-hotエンコーダ62により埋め込み情報を計算する(ステップS203)。すなわち、学習装置20は、1-hot型補助入力を埋め込み情報に変換する。
【0135】
登録型補助入力を用いる場合(ステップS202、登録型)、学習装置20は、登録エンコーダ61により埋め込み情報を計算する(ステップS204)。すなわち、学習装置20は、登録型補助入力を埋め込み情報に変換する。
【0136】
そして、学習装置20は、埋め込み情報を用いて抽出用NNにより目的音信号を抽出する(ステップS205)。
【0137】
さらに、学習装置20は、抽出用NN及び埋め込み情報を計算したエンコーダのパラメータを更新する(ステップS206)。
【0138】
これまで説明してきたように、目的信号抽出装置10の判定部131は、抽出対象の目的音信号に対応付けられたクラスが既知のものであるか否かを判定する。変換部は、判定部131によってクラスが既知のものでないと判定された場合は、登録済みの音信号を、第1のモデルにより埋め込み情報に変換し、判定部131によってクラスが既知のものであると判定された場合は、クラスを特定するための情報を、第2のモデルにより埋め込み情報に変換する。抽出部134は、変換部によって変換された埋め込み情報を用いて、抽出用のニューラルネットワークにより、混合音信号から目的音信号を抽出する。
【0139】
このように、音響クラスが未知であるか既知であるかに応じてモデルを切り替えることで、未知の音響クラス及び既知の音響クラスの両方について、精度良く目的音を抽出することができる。
【0140】
学習装置20の判定部231は、抽出対象の目的音信号に対応付けられたクラスが既知のものであるか否かを判定する。変換部は、判定部231によってクラスが既知のものでないと判定された場合は、登録済みの音信号を、第1のモデルにより埋め込み情報に変換し、判定部231によってクラスが既知のものであると判定された場合は、クラスを特定するための情報を、第2のモデルにより埋め込み情報に変換する。抽出部234は、変換部によって変換された埋め込み情報を用いて、抽出用のニューラルネットワークにより、混合音信号から目的音信号を抽出する。
【0141】
これにより、補助NNのエンコーダのうち使用されなかった方には影響を与えることなくモデルの学習を行うことができる。
【0142】
更新部235は、登録エンコーダ61により混合音信号から変換された埋め込み情報と登録エンコーダ61により混合音信号から変換された埋め込み情報とがかい離しているほど大きくなる項を含む損失関数が小さくなるように、各パラメータを更新する。
【0143】
これにより、抽出用NNだけでなく、補助NNの登録エンコーダ61及び1-hotエンコーダ62を含むモデル全体のパラメータを同時に最適化することができる。
【0144】
変換部は、判定部231によってクラスが既知のものでないと判定された場合は、登録エンコーダ61により、登録された音信号を第1のベクトルに変換し、判定部231によってクラスが既知のものであると判定された場合は、1-hotエンコーダ62に含まれる行列であって、第1のベクトルのサイズと列サイズが等しい行列により、クラスを特定する1-hotベクトルを第1のベクトルと同じサイズのベクトルに変換する。更新部235は、判定部231によってクラスが既知のものでないと判定された場合は、行列に、第1のベクトルに基づき列を追加する。
【0145】
これにより、自動的に補助NNを未知の音響クラスに対応させることができる。
【0146】
[実験結果]
ここで、実施形態と従来の手法とを比較するために行った実験の結果を説明する。
図10から
図12は、実験結果を示す図である。
【0147】
実験では、データセットとしてFSD50KとFSD Kaggleが用いられた。クラスは「Acoustic Guitar」から「Writing」までの41個である。混合音信号は、3つの個別の音信号と雑音(SN比15~25dB)から作られた6秒の音信号であり、2~5秒の各音響クラスの音が含まれる。サンプリング周波数は8000である。
【0148】
学習用のデータセットの数は50000である。また、確認用のデータセットの数は10000である。また、評価用のデータセットの数は3000である。
【0149】
図10は、既知の音響クラスについて実験を行った結果を、SDR(signal-to-distortion ratio)によって評価した結果である。
【0150】
Modelのうち、1-hot及びEnrlは、それぞれ1-hotエンコーダ62及び登録エンコーダ61を単独で使った場合であり、従来技術に相当する。Mixedは本実施形態に相当し、各エンコーダの個別の損失関数(例えば、(5)式でα=0とおいた場合)を使った場合の結果である。Mixed+ELは本実施形態に相当し、(5)式の損失関数でα=3とおいた場合の結果である。
【0151】
図10に示すように、Mixed又はMixed+ELのいずれかで、従来技術よりもSDRが向上している。
【0152】
次に、未知の音響クラスがある場合の実験について説明する。未知の音響クラスは全部で10であり、クラスごとに与えられるサンプルの数Kは、1、5又は10とする。混合音信号の数は1000であり、それぞれ既知の2つの音響クラスと未知の1つの音響クラスを含む。学習率は0.0001である。バッチサイズは8である。最大エポック数は10である。その他の条件は上記の実験と同様である。
【0153】
図11は、既知又は未知の音響クラスについて実験を行った結果を、SDR(signal-to-distortion ratio)によって評価した結果である。
【0154】
図11のNew AEsは、未知の音響クラスについて、K個の登録エンコーダの出力結果を基にe
newを決定した場合の結果である。
【0155】
Mixed+ELは、K個の登録エンコーダの出力の平均をenewとした場合の結果である。また、+adapt(avg init)は、埋め込みベクトルの未知のクラスに対応する列の初期値をenewとして再学習を行った場合の結果である。また、+adapt(rnd init)は、埋め込みベクトルの未知のクラスに対応する列の初期値をランダム初期化して再学習を行った場合の結果である。
【0156】
特にKが5又は10の場合に、+adapt(avg init)のSDRが向上している。さらに、K=10の場合の結果を
図12に示す。
【0157】
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。さらに、各装置にて行われる各処理機能は、その全部又は任意の一部が、CPU(Central Processing Unit)及び当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0158】
また、本実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部又は一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【0159】
[プログラム]
一実施形態として、目的信号抽出装置10及び学習装置20は、パッケージソフトウェアやオンラインソフトウェアとして上記の抽出処理又は学習処理を実行するプログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記のプログラムを情報処理装置に実行させることにより、情報処理装置を目的信号抽出装置10又は学習装置20として機能させることができる。ここで言う情報処理装置には、デスクトップ型又はノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。
【0160】
また、目的信号抽出装置10及び学習装置20は、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の抽出処理又は学習処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、サーバ装置は、混合音信号を入力とし、目的音信号を抽出する目的信号抽出サービスを提供するサーバ装置として実装される。この場合、サーバ装置は、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記の抽出処理又は学習処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。
【0161】
図13は、プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
【0162】
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。
【0163】
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、目的信号抽出装置10又は学習装置20の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、目的信号抽出装置10抽出処理又は学習処理における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSDにより代替されてもよい。
【0164】
また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
【0165】
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
【符号の説明】
【0166】
10 目的信号抽出装置
11、21 インタフェース部
12、22 記憶部
13、23 制御部
20 学習装置
51 エンコーダ
52、53 変換ブロック
54 デコーダ
61 登録エンコーダ
62 1-hotエンコーダ
121、221 モデル情報
131、231 判定部
132、232 登録型変換部
133、233 1-hot型変換部
134、234 抽出部
235 更新部