(57)【要約】【課題】確率モデルのパラメータを予め設定することなく、且つ、特徴量を抽出する必要もなく、識別対象の音波信号から音波種別を判定するプログラム等を提供する。【解決手段】音波信号から、異なるサンプリングスケールの複数のサンプリングデータを取得するサンプリングデータ取得手段と、異なるサンプリングスケールの各サンプリングデータを、基準サンプリングスケールにリスケールした基準サンプリングデータを生成する基準サンプリングデータ生成手段と、学習モデルとしてコンピュータを機能させる。学習モデルの学習機能として、音波種別が正解イベントとして予め付与された教師対象の音波信号に基づく複数の基準サンプリングデータと音波種別とを対応付けて入力することによって学習する。学習モデルの運用機能として、識別対象の音波信号に基づく複数の基準サンプリングデータを入力し、正解イベントの音波種別を出力する。【選択図】図２
2019049601.tif 000002
【特許請求の範囲】
【請求項１】
識別対象の音波信号を入力し、音波種別を出力する装置に搭載されたコンピュータを機能させるプログラムであって、
音波信号から、異なるサンプリングスケールの複数のサンプリングデータを取得するサンプリングデータ取得手段と、
異なるサンプリングスケールの各サンプリングデータを、基準サンプリングスケールにリスケールした基準サンプリングデータを生成する基準サンプリングデータ生成手段と、
学習モデルと
してコンピュータを機能させ、
前記学習モデルは、
学習機能として、音波種別が正解イベントとして予め付与された教師対象の音波信号から、前記サンプリングデータ取得手段及び前記基準サンプリングデータ生成手段によって生成された、複数の基準サンプリングデータと音波種別とを対応付けて入力することによって学習し、
運用機能として、識別対象の音波信号から、前記サンプリングデータ取得手段及び前記基準サンプリングデータ生成手段によって生成された、複数の基準サンプリングデータを入力し、正解イベントの音波種別を出力する
ようにコンピュータを機能させることを特徴とするプログラム。
【請求項２】
前記サンプリングデータ取得手段は、異なるサンプリングスケールのスライディングウィンドウを時間経過に応じてシフトさせることによって、異なるサンプリングスケールの複数のサンプリングデータを収集し、サンプリングスケール毎にランダムにサンプリングデータを選択する
ようにコンピュータを機能させることを特徴とする請求項１に記載のプログラム。
【請求項３】
前記基準サンプリングデータ生成手段は、最短のサンプリングスケール以下の所定サンプリングスケールに合わせて、全てのサンプリングデータをリスケールする
ようにコンピュータを機能させることを特徴とする請求項１又は２に記載のプログラム。
【請求項４】
前記学習モデルは、畳み込みニューラルネットワークであり、
異なるサンプリングスケールＳについて、前記基準サンプリングデータを前記畳み込みニューラルネットワークで所定回数の誤差逆伝播によって損失関数に基づく誤差を最小化して、確率分布パラメータφを生成することを繰り返す
Ｎ：異なるサンプリングスケールの数
Ｓ：異なるサンプリングスケール、Ｓ＝［ｓ1,ｓ2,・・・,ｓn］、n＝Ｎ
φ：Ｓの確率分布パラメータ、    φ＝［φ1,φ2,・・・,φn］、n＝Ｎ
ようにコンピュータを機能させることを特徴とする請求項１から３のいずれか１項に記載のプログラム。
【請求項５】
Ｍ：音波種別の総数
θ：学習モデルのモデルパラメータ
Ｘ：音波信号の基準サンプリングデータ
π(Ｘ｜θ)：θを持つ畳み込みニューラルネットワークからの出力データ
要素Ｍ個のベクトル、各要素は各音波種別の判定確率
ｙ：音波種別毎の確率、ｙi＝ｙ1,ｙ2,・・・,ｙＭ（0≦ｙi≦1）
Ｐ(Ｓ)：Ｓの確率分布、          Ｐ＝［ｐ1,ｐ2,・・・,ｐn］、n＝Ｎ
Ｐ(Ｓ＝ｓi)＝exp(φi)／Σjexp(φj)
によって表され、
損失関数Ｅs［loss］は、Ｍ個のバイナリ交差エントロピーの和となる
loss：誤差、loss＝［loss1,loss2,・・・,lossN］
Ｅs［loss］＝Σi=1N(ｐi×lossi)
∂Ｅs［loss］／∂φi＝
(∂Ｅs［loss］／∂Ｐ(Ｓ＝ｓi))・(∂Ｐ(Ｓ＝ｓi)／∂φi)
＋Σj≠i(∂Ｅs［loss］／∂Ｐ(Ｓ＝ｓj))・(∂Ｐ(Ｓ＝ｓj)／∂φi)
＝lossi・Ｐ(Ｓ＝ｓi)・(１−Ｐ(Ｓ＝ｓi))
＋Σj≠ilossj・(−Ｐ(Ｓ＝ｓi)・Ｐ(Ｓ＝ｓj))
ようにコンピュータを機能させることを特徴とする請求項４に記載のプログラム。
【請求項６】
請求項１から５のいずれか１項に記載のプログラムを実行するサーバ及び端末が、ネットワークを介して通信するシステムであって、
前記サーバが、前記学習モデルの内部パラメータを前記端末へ送信し、
前記端末が、自らの前記学習モデルに前記内部パラメータを組み込み、
前記端末が、マイクで収音した周辺の環境音に対して、前記サンプリングデータ取得手段及び前記基準サンプリングデータ生成手段によって基準サンプリングデータを生成し、当該基準サンプリングデータを前記学習モデルに入力することによって音波種別を取得する
ことを特徴とするシステム。
【請求項７】
識別対象の音波信号を入力し、音波種別を出力する音波種別判定装置であって、
音波信号から、異なるサンプリングスケールの複数のサンプリングデータを取得するサンプリングデータ取得手段と、
異なるサンプリングスケールの各サンプリングデータを、基準サンプリングスケールにリスケールした基準サンプリングデータを生成する基準サンプリングデータ生成手段と、
学習モデルと
を有し、
前記学習モデルは、
学習機能として、音波種別が正解イベントとして予め付与された教師対象の音波信号から、前記サンプリングデータ取得手段及び前記基準サンプリングデータ生成手段によって生成された、複数の基準サンプリングデータと音波種別とを対応付けて入力することによって学習し、
運用機能として、識別対象の音波信号から、前記サンプリングデータ取得手段及び前記基準サンプリングデータ生成手段によって生成された、複数の基準サンプリングデータを入力し、正解イベントの音波種別を出力する
ことを特徴とする音波種別判定装置。
【請求項８】
識別対象の音波信号を入力し、音波種別を出力する装置の音波種別判定方法であって、
学習段階として、
音波信号から、異なるサンプリングスケールの複数のサンプリングデータを取得する第１１のステップと、
異なるサンプリングスケールの各サンプリングデータを、基準サンプリングスケールにリスケールした基準サンプリングデータを生成する第１２のステップと、
音波種別が正解イベントとして予め付与された教師対象の音波信号から、複数の基準サンプリングデータと音波種別とを対応付けて入力することによって学習モデルとして学習する第１３のステップと
を実行し、
運用段階として、
識別対象の音波信号から、異なるサンプリングスケールの複数のサンプリングデータを取得する第２１のステップと、
異なるサンプリングスケールの各サンプリングデータを、基準サンプリングスケールにリスケールした基準サンプリングデータを生成する第２２のステップと、
前記学習モデルに、複数の基準サンプリングデータを入力し、正解イベントの音波種別を取得する第２３のステップと
を実行することを特徴とする装置の音波種別判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、識別対象の音波信号から音波種別を判定する技術に関する。特に、ユーザ周辺の環境音を識別する用途に適する。
【背景技術】
【０００２】
近年、ＩｏＴ(Internet of Things)デバイスの発展に伴って、ユーザ周辺で収集した環境音から、そのユーザの行動状態を識別する技術がある。例えば、車に搭載された音響識別装置が、環境音から踏切の音を識別した際に、自動的に車内のラジオの音を小さめにするという運転補助の技術がある（例えば特許文献１参照）。
【０００３】
音響識別の技術の多くは、確率モデルに基づく方式である。これは、音波信号から特徴量を抽出し、半隠れマルコフモデル（ＨＭＭ(Hidden Markov Model)）で識別モデルを学習する。そして、Viterbiアルゴリズムを用いて尤度が最大となる音響イベントを識別する（例えば特許文献１及び非特許文献１参照）。
また、人の発話以外の音波信号に対しては、音素毎の音響的特徴を反映した音ユニットの特徴量を追加する技術もある（例えば特許文献２参照）。これは、音を、閾値に基づくクラスタリングとＬＤＡ(Latent Dirichlet Allocation)法とによって識別する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＷＯ２００６／０１１３１０
【特許文献２】特開２０１５−４９３９８号公報
【非特許文献】
【０００５】
【非特許文献１】三木一浩、西浦敬信、中村哲、鹿野清宏「ＨＭＭを用いた環境音識別の検討」電子情報通信学会技術報告、ＳＰ９９−１０６、ｐｐ．７９−８４（１９９９）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前述したような確率モデル用いた音響識別技術によれば、音を識別する際に、音データからメル周波数ケプストラム係数（ＭＦＣＣ(Mel-Frequency Cepstrum Coefficients)の特徴量を抽出する必要があり、計算コストが膨大になる。そのために、音響の収音と同時に、リアルタイムにその音響種別を識別することが難しい。
特に、確率モデルを学習するために、パラメータの値を予め適切に設定する必要がある。具体的には、入力される音データのサンプリングスケール（長さ）を予め適切に設定する必要がある。
また、特許文献１及び非特許文献１によれば、隠れ状態の数を予め適切に設定する必要もある。
更に、特許文献２によれば、クラスタリングに用いる距離の閾値を予め適切に設定する必要もある。
このように、確率モデル用いた音響識別技術によれば、パラメータを予め適切に設定する必要がある。パラメータの設定によっては、音響識別の精度に悪影響を与える場合がある。
【０００７】
そこで、本発明は、確率モデルのパラメータを予め設定することなく、且つ、特徴量を抽出する必要もなく、識別対象の音波信号から音波種別を判定するプログラム、システム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明によれば、識別対象の音波信号を入力し、音波種別を出力する装置に搭載されたコンピュータを機能させるプログラムであって、
音波信号から、異なるサンプリングスケールの複数のサンプリングデータを取得するサンプリングデータ取得手段と、
異なるサンプリングスケールの各サンプリングデータを、基準サンプリングスケールにリスケールした基準サンプリングデータを生成する基準サンプリングデータ生成手段と、
学習モデルと
してコンピュータを機能させ、
学習モデルは、
学習機能として、音波種別が正解イベントとして予め付与された教師対象の音波信号から、サンプリングデータ取得手段及び基準サンプリングデータ生成手段によって生成された、複数の基準サンプリングデータと音波種別とを対応付けて入力することによって学習し、
運用機能として、識別対象の音波信号から、サンプリングデータ取得手段及び基準サンプリングデータ生成手段によって生成された、複数の基準サンプリングデータを入力し、正解イベントの音波種別を出力する
ようにコンピュータを機能させることを特徴とする。
【０００９】
本発明のプログラムにおける他の実施形態によれば、
サンプリングデータ取得手段は、異なるサンプリングスケールのスライディングウィンドウを時間経過に応じてシフトさせることによって、異なるサンプリングスケールの複数のサンプリングデータを収集し、サンプリングスケール毎にランダムにサンプリングデータを選択する
ようにコンピュータを機能させることも好ましい。
【００１０】
本発明のプログラムにおける他の実施形態によれば、
基準サンプリングデータ生成手段は、最短のサンプリングスケール以下の所定サンプリングスケールに合わせて、全てのサンプリングデータをリスケールする
ようにコンピュータを機能させることも好ましい。
【００１１】
本発明のプログラムにおける他の実施形態によれば、
学習モデルは、畳み込みニューラルネットワークであり、
異なるサンプリングスケールＳについて、基準サンプリングデータを畳み込みニューラルネットワークで所定回数の誤差逆伝播によって損失関数に基づく誤差を最小化して、確率分布パラメータφを生成することを繰り返す
Ｎ：異なるサンプリングスケールの数
Ｓ：異なるサンプリングスケール、Ｓ＝［ｓ1,ｓ2,・・・,ｓn］、n＝Ｎ
φ：Ｓの確率分布パラメータ、    φ＝［φ1,φ2,・・・,φn］、n＝Ｎ
ようにコンピュータを機能させることも好ましい。
【００１２】
本発明のプログラムにおける他の実施形態によれば、
Ｍ：音波種別の総数
θ：学習モデルのモデルパラメータ
Ｘ：音波信号の基準サンプリングデータ
π(Ｘ｜θ)：θを持つ畳み込みニューラルネットワークからの出力データ
要素Ｍ個のベクトル、各要素は各音波種別の判定確率
ｙ：音波種別毎の確率、ｙi＝ｙ1,ｙ2,・・・,ｙＭ（0≦ｙi≦1）
Ｐ(Ｓ)：Ｓの確率分布、          Ｐ＝［ｐ1,ｐ2,・・・,ｐn］、n＝Ｎ
Ｐ(Ｓ＝ｓi)＝exp(φi)／Σjexp(φj)
によって表され、
損失関数Ｅs［loss］は、Ｍ個のバイナリ交差エントロピーの和となる
loss：誤差、loss＝［loss1,loss2,・・・,lossN］
Ｅs［loss］＝Σi=1N(ｐi×lossi)
∂Ｅs［loss］／∂φi＝
(∂Ｅs［loss］／∂Ｐ(Ｓ＝ｓi))・(∂Ｐ(Ｓ＝ｓi)／∂φi)
＋Σj≠i(∂Ｅs［loss］／∂Ｐ(Ｓ＝ｓj))・(∂Ｐ(Ｓ＝ｓj)／∂φi)
＝lossi・Ｐ(Ｓ＝ｓi)・(１−Ｐ(Ｓ＝ｓi))
＋Σj≠ilossj・(−Ｐ(Ｓ＝ｓi)・Ｐ(Ｓ＝ｓj))
ようにコンピュータを機能させることも好ましい。
【００１３】
本発明によれば、前述したプログラムを実行するサーバ及び端末が、ネットワークを介して通信するシステムであって、
サーバが、学習モデルの内部パラメータを端末へ送信し、
端末が、自らの学習モデルに内部パラメータを組み込み、
端末が、マイクで収音した周辺の環境音に対して、サンプリングデータ取得手段及び基準サンプリングデータ生成手段によって基準サンプリングデータを生成し、当該基準サンプリングデータを学習モデルに入力することによって音波種別を取得することを特徴とする。
【００１４】
本発明によれば、識別対象の音波信号を入力し、音波種別を出力する音波種別判定装置であって、
音波信号から、異なるサンプリングスケールの複数のサンプリングデータを取得するサンプリングデータ取得手段と、
異なるサンプリングスケールの各サンプリングデータを、基準サンプリングスケールにリスケールした基準サンプリングデータを生成する基準サンプリングデータ生成手段と、
学習モデルと
を有し、
学習モデルは、
学習機能として、音波種別が正解イベントとして予め付与された教師対象の音波信号から、サンプリングデータ取得手段及び基準サンプリングデータ生成手段によって生成された、複数の基準サンプリングデータと音波種別とを対応付けて入力することによって学習し、
運用機能として、識別対象の音波信号から、サンプリングデータ取得手段及び基準サンプリングデータ生成手段によって生成された、複数の基準サンプリングデータを入力し、正解イベントの音波種別を出力する
ことを特徴とする。
【００１５】
本発明によれば、識別対象の音波信号を入力し、音波種別を出力する装置の音波種別判定方法であって、
学習段階として、
音波信号から、異なるサンプリングスケールの複数のサンプリングデータを取得する第１１のステップと、
異なるサンプリングスケールの各サンプリングデータを、基準サンプリングスケールにリスケールした基準サンプリングデータを生成する第１２のステップと、
音波種別が正解イベントとして予め付与された教師対象の音波信号から、複数の基準サンプリングデータと音波種別とを対応付けて入力することによって学習モデルとして学習する第１３のステップと
を実行し、
運用段階として、
識別対象の音波信号から、異なるサンプリングスケールの複数のサンプリングデータを取得する第２１のステップと、
異なるサンプリングスケールの各サンプリングデータを、基準サンプリングスケールにリスケールした基準サンプリングデータを生成する第２２のステップと、
学習モデルに、複数の基準サンプリングデータを入力し、正解イベントの音波種別を取得する第２３のステップと
を実行することを特徴とする。
【発明の効果】
【００１６】
本発明のプログラム、システム、装置及び方法によれば、確率モデルのパラメータを予め設定することなく、且つ、特徴量を抽出する必要もなく、識別対象の音波信号から音波種別を判定することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明におけるシステム構成図である。
【図２】本発明における音波種別判定サーバの機能構成図である。
【図３】本発明におけるサンプリングデータ取得部の説明図である。
【図４】本発明における基準サンプリングデータ生成部の説明図である。
【図５】本発明の学習モデルにおけるニューラルネットワークの一般的な機能構成図である。
【図６】本発明における学習モデルのフローチャートである。
【図７】本発明における学習モデルの第１の処理説明図である。
【図８】本発明における学習モデルの第２の処理説明図である。
【図９】本発明における音波種別判定サーバと端末との間のシーケンス図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００１９】
図１は、本発明におけるシステム構成図である。
【００２０】
図１によれば、端末２は、ＡＩ(Artificial intelligence)アシスタント（例えばGoogle Home（登録商標））やスマートフォン、携帯端末である。本発明の用途によれば、端末２は、内蔵又は外付けのマイクによって、ユーザ周辺の環境音を収音する。例えばユーザが料理中であれば、その音波信号が収音される。音波信号とは、時間経過に対する音波の振幅を表す信号である。
そして、端末２は、その音波信号を、ネットワークを介して音波種別判定サーバ１へ送信する。
【００２１】
音波種別判定サーバ１は、教師データとして音波信号（サンプリングデータ）と音波種別（正解イベント）とから予め学習し、端末２から受信した識別対象の音波信号から音波種別を判定することができる。例えば端末２のユーザ周辺の環境音から、そのユーザが「料理中」であることを判定することができる。
【００２２】
音波種別判定サーバ１は、例えば、料理を炒めている料理中の音や、赤ちゃんの泣き声、インターフォンの音など、日常生活にある様々な環境音を識別することができる。識別された環境音によってユーザの行動を理解し、アプリケーションの制御や、情報の配信をすることができる。
【００２３】
図２は、本発明における音波種別判定サーバの機能構成図である。
【００２４】
図２によれば、音波種別判定サーバ１は、音波信号蓄積部１０と、サンプリングデータ取得部１１と、基準サンプリングデータ生成部１２と、学習モデル１３と、識別対象音波信号受信部１４と、音波種別返信部１５とを有する。これら機能構成図は、サーバに搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置の音波種別判定方法としても理解できる。
【００２５】
［音波信号蓄積部１０］
音波信号蓄積部１０は、教師データとして、音波種別（正解イベント）が予め付与された教師対象の音波信号を蓄積する。
例えばYouTube（登録商標）サイトから音データ（音波信号）をクロールし、その音データに音声種別（正解イベント）を付与して蓄積する。音声種別が付与されていない音データは、例えばクラウドソーシングのように人手によって付与するものであってもよい。
また、エンドユーザの許諾がある場合にのみ、端末から受信した音データであってもよく、その音データに何らかの手法で正解イベントを付与するものであってもよい。
【００２６】
［サンプリングデータ取得部１１］
サンプリングデータ取得部１１は、音波信号から、異なるサンプリングスケールの複数のサンプリングデータを取得する。
サンプリングデータ取得部１１は、学習段階では、音波信号蓄積部１０の音波信号から複数のサンプリングデータを取得し、運用段階では、識別対象音波信号受信部１４の音波信号から複数のサンプリングデータを取得する。
【００２７】
図３は、本発明におけるサンプリングデータ取得部の説明図である。
【００２８】
従来技術によれば、固定のサンプリングスケール（長さ）を規定した上で、入力された音波信号を、そのサンプリングスケールでミニバッチデータに区分する。
これに対し、本発明のサンプリングデータ取得部１１は、異なるサンプリングスケールのスライディングウィンドウを時間経過に応じてシフトさせることによって、異なるサンプリングスケールの複数のサンプリングデータを収集し、サンプリングスケール毎にランダムにサンプリングデータを選択する。
【００２９】
図３によれば、音波信号は、正規化された音波の振幅（縦軸）が、時間経過の方向（横軸）へ流れている。本発明のスライディングウィンドウとしては、例えば１秒、２秒、３秒、４秒、５秒の５個の異なるサンプリングスケールが規定されている。
Ｎ：異なるサンプリングスケールの数
Ｓ：異なるサンプリングスケール、Ｓ＝［ｓ1,ｓ2,・・・,ｓn］、n＝Ｎ
５個のサンプリングスケールの場合、Ｓ＝［ｓ1,ｓ2,ｓ3, ｓ4,ｓ5］によって表す。即ち、例えば同一の計測開始時刻であっても、５つのサンプリングスケールが取得される。  
【００３０】
また、これらスライディングウィンドウを時間経過に応じてシフトさせる。これによって、異なるサンプリングスケールの多数のサンプリングデータが収集される。そして、それら多数のサンプリングデータの中から、サンプリングスケール毎に、ランダムにサンプリングデータが選択される。
選択された複数のサンプリングデータは、基準サンプリングデータ生成部１２へ出力される。
【００３１】
サンプリングスケールが１秒のように短い場合、音波信号の振幅がフラットの波形のみになる場合もあり、そのサンプリングデータは、全て０になってしまう。このような情報量が少ないサンプリングデータが大量に発生すると、後段の学習モデル１３の学習精度に影響を与える。そのために、サンプリングデータ取得部１１は、異なるサンプリングスケールでサンプリングデータを取得しておくことによって、音波種別に応じてできる限り最適なサンプリングスケールのサンプリングデータで、学習モデル１３に学習させることができる。
【００３２】
［基準サンプリングデータ生成部１２］
基準サンプリングデータ生成部１２は、異なるサンプリングスケールの各サンプリングデータを、基準サンプリングスケールにリスケールした基準サンプリングデータを生成する。
【００３３】
図４は、本発明における基準サンプリングデータ生成部の説明図である。
【００３４】
基準サンプリングデータ生成手段は、最短のサンプリングスケール以下の所定サンプリングスケールに合わせて、全てのサンプリングデータをリスケールする。
例えば１秒〜５秒の全てのサンプリングデータを、１秒のサンプリングデータにリスケールする。
例えば以下のように、いずれかのリスケール方法を用いることができる。
Ｌ：サンプリングデータの長さ（学習モデルの入力の長さ）
Ｓ：サンプリングスケール
x1、x2、・・・、xSL：音波信号からサンプリングしたシーケンス
x'1、x'2、・・・、x'L：サンプリングスケール後のシーケンス
（リスケール方法１）
ｆ(x1,x2,・・・,xSL)＝｛x'1,x'2,・・・,x'L | x'i＝mean(x(i-1)S+1,・・・,iS)｝
連続のＳ個毎の元データの平均値を取る。
（リスケール方法２）
ｆ(x1,x2,・・・,xSL)＝｛x'1,x'2,・・・x'L | x'i＝x(i-1)S+j,0<j<S｝
連続のＳ個のデータブロックについて、j個目を取る。
【００３５】
［学習モデル１３］
学習モデル１３は、学習機能によって教師データの音波信号及び音波種別から学習し、運用機能によって識別対象の音波信号から音波種別を判定する。
【００３６】
学習モデル１３は、学習機能として、音波種別が正解イベントとして予め付与された教師対象の音波信号から、サンプリングデータ取得部１１及び基準サンプリングデータ生成部１２によって生成された、複数の基準サンプリングデータと音波種別とを対応付けて入力することによって学習する。
【００３７】
また、学習モデル１３は、運用機能として、識別対象の音波信号から、サンプリングデータ取得部１１及び基準サンプリングデータ生成部１２によって生成された、複数の基準サンプリングデータを入力し、正解イベントの音波種別を出力する。
【００３８】
学習モデル１３は、１つの音波信号に基づく複数の基準サンプリングデータを入力することによって、音波種別の総数がＮ個の要素を含む確率分布Ｐ＝［ｐ1,ｐ2,・・・,ｐn］、n＝Ｎを出力する。各要素ｐiは、各音波種別（正解イベント）の確率を表す。ここで、最も高い確率の音波種別が、正解イベントとして出力される。
【００３９】
［識別対象音波信号受信部１４］
識別対象音波信号受信部１４は、端末２から識別対象の音波信号を受信する。受信した音波信号は、学習モデル１３へ入力される。
【００４０】
［音波種別返信部１５］
音波種別返信部１５は、学習モデル１３によって判定された音波種別を、端末２へ送信する。
【００４１】
＜学習モデル１３の処理＞
図５は、本発明の学習モデルにおけるニューラルネットワークの一般的な機能構成図である。
【００４２】
本発明の学習モデル１３は、ニューラルネットワーク(Neural Network)によって構成されている。
ニューラルネットワークとは、生体の脳における特性を計算機上のシミュレーションによって表現することを目指した数学モデルをいう。シナプスの結合によってネットワークを形成した人工ニューロン（ユニット）が、学習によってシナプスの結合強度を変化させ、問題解決能力を持つようなモデル全般をいう。
ニューラルネットワークとしては、様々な構成があるが、基本的には複数種類の層の重ね合わせ（又はグラフ構造）で表現される。ニューラルネットワークは、入力データと正解イベントとが対応付けられた教師データを入力する。そして、ニューラルネットワークは、入力データに対する最終的な出力結果が正解イベントと一致するように、モデルパラメータを学習する（タスクに応じて入力に対する出力を近似させる）。
【００４３】
図５によれば、順伝播型の畳み込みニューラルネットワーク(Convolutional Neural Network, CNN)として、入力層(input layer)と、隠れ層(hidden layer)と、出力層(output layer)との３つの層から構成され、入力層から出力層へ向けて一方向に伝播する。隠れ層は、グラフ状に複数の層から構成することができる。各層は、複数のユニット（ニューロン）を持ち、前方層のユニットから後方層のユニットへつなぐ関数のパラメータを、「重み(weight)」と称す。学習とは、この関数のパラメータとして、適切な「重み」を算出することにある。
【００４４】
深層学習の畳み込みニューラルネットワークは、入力層と、畳み込み層(convolutional layer)と、プーリング層(pooling layer)と、全結合層(full-connected layer)と、出力層とから構成される。また、前方層における（全てのユニットではない）特定のユニットのみが、後方層のユニットへ結合されている。
【００４５】
学習とは、教師データの入力データに対する出力層からの出力データと、教師データの正解イベントとの誤差を用いて、各層の重みを最適に更新することをいう。
その誤差を算出するために、「損失関数」(loss function)が定義される。損失関数は、畳み込み層及び全結合層のパラメータに対して、正則化を施し、過学習を防ぐために用いられる。
誤差は、「誤差逆伝播法」によって、出力層側から入力層側へ向けて次々に伝播し、各層の重みを少しずつ更新していく。最終的に、誤差が小さくなるように、各層の重みを適切な値に調整する収束計算を実行する。これは、損失関数を予め設計した上で、勾配下降(Gradient Descent)によって損失関数を最小化していく。
【００４６】
学習モデル１３の入力層には、基準サンプリングデータ生成部１２から出力された基準サンプリングデータが入力される。また、その基準サンプリングデータの音波種別が、損失関数に正解イベントとして入力される。そして、学習モデル１３は、その正解イベントに合うように誤差を最小化するべく、内部パラメータ（重み）を学習する。
即ち、教師データに基づいて重みを学習する際に、誤差逆伝播によって目的タスクの損失関数に基づく誤差を最小化する。
【００４７】
損失関数は、例えばバイナリ交差エントロピー(binary cross-entropy)によって誤差を計算する。バイナリ交差エントロピーとは、２つのパターンについて、一方の確率がｐのとき、他方の確率は１−ｐとなる。即ち、特定の確率分布に従って生成されたものを直交化したものである。
【００４８】
図６は、本発明における学習モデルのフローチャートである。
【００４９】
畳み込みニューラルネットワークの学習は、２段階の交代学習となる。
（第１段階：学習モデルのモデルパラメータθの学習）
一度にＮ回まで畳み込みニューラルネットワークを繰り返すことなく、Ｋ（＜Ｎ）回毎に実行する。
教師データのミニバッチとなる基準サンプリングデータに対して、ＳＧＤ(Stochastic Gradient Descent)やAdam’s Optimizerなどの勾配下降方法によって、Ｋ回だけ畳み込みニューラルネットワークを繰り返し、損失関数を最小化にする。
【００５０】
（第２段階：Ｓの確率分布パラメータφの更新）
第１段階でＫ回の繰り返し実行毎に、Ｓの確率分布パラメータφを更新する。
以下の式に従って、各環境音イベントに対して個々の入力データスケールで計算した尤度（likelihood）の期待値（expectation）に対する勾配でφを更新する。
φnew＝φold−∂φ
【００５１】
学習モデル１３は、異なるサンプリングスケール（Ｎ回）について、基準サンプリングデータを畳み込みニューラルネットワークで所定回数（Ｋ回）の誤差逆伝播によって損失関数に基づく誤差を最小化して、確率分布パラメータφを生成することを繰り返す。
φ：Ｓの確率分布パラメータ、φ＝［φ1,φ2,・・・,φn］、n＝Ｎ
【００５２】
学習モデル１３では、以下のように表される。
Ｍ：音波種別の総数
θ：学習モデルのモデルパラメータ
Ｘ：畳み込みネットワークに入力される音波信号の基準サンプリングデータ
π(Ｘ｜θ)：θを持つ畳み込みニューラルネットワークからの出力データ
要素Ｍ個のベクトル、各要素は各音波種別の判定確率
ｙ：音波種別毎の確率、ｙi＝ｙ1,ｙ2,・・・,ｙＭ（0≦ｙi≦1）
Ｐ(Ｓ)：Ｓの確率分布、Ｐ＝［ｐ1,ｐ2,・・・,ｐn］、n＝Ｎ
Ｐ(Ｓ＝ｓi)＝exp(φi)／Σjexp(φj)
【００５３】
そして、損失関数Ｅs［loss］は、Ｍ個のバイナリ交差エントロピーの和となる
loss：誤差、loss＝［loss1,loss2,・・・,lossN］
Ｅs［loss］＝Σi=1N(ｐi×lossi)
∂Ｅs［loss］／∂φi＝
(∂Ｅs［loss］／∂Ｐ(Ｓ＝ｓi))・(∂Ｐ(Ｓ＝ｓi)／∂φi)
＋Σj≠i(∂Ｅs［loss］／∂Ｐ(Ｓ＝ｓj))・(∂Ｐ(Ｓ＝ｓj)／∂φi)
＝lossi・Ｐ(Ｓ＝ｓi)・(１−Ｐ(Ｓ＝ｓi))
＋Σj≠ilossj・(−Ｐ(Ｓ＝ｓi)・Ｐ(Ｓ＝ｓj))
【００５４】
尚、一般的なバイナリ交差エントロピーは、以下のように表される。
Ｌ：サンプリングデータの長さ
K：バッチサイズ
Ｌ(Ｘ,ｙ)＝1/K Σi=1KＬi(Ｘi,ｙi)
Ｌi(Ｘi,ｙi)＝−πｙi(Ｘi)＋log(Σj=1Nexp(πj(Ｘi)))
これに対し、本発明のバイナリ交差エントロピーは、以下のように表される。
ＥS：Ｓの期待値
Ｌ(Ｘ,ｙ｜Ｓ)＝ＥS［1/K Σi=1KＬi(Ｘi,ｙi)］
Ｌi(Ｘi,ｙi)＝−πｙi(Ｘi)＋log(Σj=1Nexp(πj(Ｘi)))
【００５５】
図７は、本発明における学習モデルの第１の処理説明図である。
【００５６】
図７によれば、音波種別が付与された基準サンプリングデータが入力されている。これらは全て、同一の基準サンプリングスケールに基づくものである。
このとき、音波種別毎の誤差loss1〜lossNと、音波種別毎の初期値の確率ｐ1〜ｐNとから、以下のよう損失関数Ｅs[loss]が算出される。
loss1＝0.69、loss2＝0.58、loss3＝0.50、loss4＝0.23、loss5＝0.48
Ｐ(Ｓ)：ｐ1＝0.2、   ｐ2＝0.2、   ｐ3＝0.2、   ｐ4＝0.2、   ｐ5=0.2
Ｅs［loss］＝［0.2×0.69、 0.2×0.58、 0.2×0.50、  0.2×0.23、  0.2×0.48］
【００５７】
次に、Ｓの確率分布パラメータφ＝［φ1,φ2,・・・,φN］の勾配を算出する。
∂Ｅs［loss］／∂φ1＝ 0.69×0.2×(1-0.2)−0.58×0.2×0.2−0.50×0.2×0.2
−0.23×0.2×0.2−0.48×0.2×0.2＝0.0388
∂Ｅs［loss］／∂φ2＝ 0.58×0.2×(1-0.2)−0.69×0.2×0.2−0.50×0.2×0.2
−0.23×0.2×0.2−0.48×0.2×0.2＝0.0168
∂Ｅs［loss］／∂φ3＝ 0.50×0.2×(1-0.2)−0.69×0.2×0.2−0.58×0.2×0.2
−0.23×0.2×0.2−0.48×0.2×0.2＝0.0008
∂Ｅs［loss］／∂φ4＝ 0.23×0.2×(1-0.2)−0.69×0.2×0.2−0.58×0.2×0.2
−0.50×0.2×0.2−0.48×0.2×0.2＝-0.0532
∂Ｅs［loss］／∂φ5＝ 0.48×0.2×(1-0.2)−0.69×0.2×0.2−0.58×0.2×0.2
−0.50×0.2×0.2−0.23×0.2×0.2＝-0.0032
【００５８】
図８は、本発明における学習モデルの第２の処理説明図である。
【００５９】
次に、尤度の期待値となるＳの確率分布パラメータφnewを、以下のように算出する。
φnew＝φold−∂φ
φ1＝1.0−0.0388＝0.9612
φ2＝1.0−0.0168＝0.9832
φ3＝1.0−0.0008＝0.9992
φ4＝1.0−(-0.0532)＝1.0532
φ5＝1.0−(-0.0032)＝1.0032
【００６０】
そして、音波種別毎の確率Ｐ(Ｓ＝ｓi)を以下のように算出する。
Ｐ(Ｓ＝ｓi)＝exp(φi)／Σjexp(φj)
Σjexp(φj)＝exp(0.9612)＋exp(0.9832)＋exp(0.9992)＋exp(1.0532)
＋exp(1.0032)
＝13.5977
Ｐ(Ｓ=s1)＝exp(0.9612)／13.5977＝0.1923
Ｐ(Ｓ=s2)＝exp(0.9832)／13.5977＝0.1966
Ｐ(Ｓ=s3)＝exp(0.9992)／13.5977＝0.1997
Ｐ(Ｓ=s4)＝exp(1.0532)／13.5977＝0.2108★
Ｐ(Ｓ=s5)＝exp(1.0032)／13.5977＝0.2005
これによれば、Ｓ＝ｓ4の音波種別の確率が最大となっている。そのために、入力された音波信号の基準サンプリングデータに対する音波種別＝４と判定される。
【００６１】
図９は、本発明における音波種別判定サーバと端末との間のシーケンス図である。
【００６２】
（Ｓ１１）音波種別判定サーバ１は、学習段階として、教師データの音波信号及び音波種別から、前述したサンプリングデータ取得部１１と同様の処理を実行する。
（Ｓ１２）音波種別判定サーバ１は、学習段階として、教師データのサンプリングデータから、前述した基準サンプリングデータ生成部１２と同様の処理を実行する。
（Ｓ１３）音波種別判定サーバ１は、学習段階として、教師データの基準サンプリングデータから、学習モデル１３で学習する。
（Ｓ１４）音波種別判定サーバ１は、学習モデルの内部パラメータφを、端末２へ送信する。
【００６３】
端末２は、音波種別判定サーバ１から受信した内部パラメータφを、学習モデルに組み込む（リロードする）。
（Ｓ２１）端末２は、マイクで収音した周辺の環境音に対して、前述したサンプリングデータ取得部１１と同様の処理を実行する。
（Ｓ２２）端末２は、サンプリングデータに対して、前述した基準サンプリングデータ生成部１２と同様の処理を実行する。
（Ｓ２３）端末２は、運用段階として、基準サンプリングデータを学習モデル１３へ入力し、音波種別を取得する。
（Ｓ２４）そして、端末２にインストールされたアプリケーションは、音波種別に応じて制御される。
例えば音波種別「料理音」と判定された場合、端末２のアプリケーションは、料理中のユーザに聞かせたい特売情報やレシピ情報をユーザに明示するものであってもよい。
例えば音波種別「（赤ちゃんの）泣き声」と判定された場合、端末２のアプリケーションは、新生児に関する商品情報やクーポン情報をユーザに明示するものであってもよい。
【００６４】
端末２は、ユーザの許諾がある場合にのみ、その音波信号及び音波種別を教師データとして、音波種別判定サーバ１へ送信するものであってもよい。これによって、音波種別判定サーバ１の学習モデル１３を更に学習させることができる。
【００６５】
以上、詳細に説明したように、本発明のプログラム、システム、装置及び方法によれば、確率モデルのパラメータを予め設定することなく、且つ、特徴量を抽出する必要もなく、識別対象の音波信号から音波種別を判定することができる。
【００６６】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【００６７】
１  音波種別判定サーバ
１０  音波信号蓄積部
１１  サンプリングデータ取得部
１２  基準サンプリングデータ生成部
１３  学習モデル
１４  識別対象音波信号受信部
１５  音波種別返信部
２  端末
【図１】
2019049601.tif 000003
【図２】
2019049601.tif 000004
【図３】
2019049601.tif 000005
【図４】
2019049601.tif 000006
【図５】
2019049601.tif 000007
【図６】
2019049601.tif 000008
【図７】
2019049601.tif 000009
【図８】
2019049601.tif 000010
【図９】
2019049601.tif 000011