(57)【要約】【課題】音響信号に対してニューラルネットワークを用いてキャプションを生成することを可能にするキャプション生成装置、キャプション生成方法、およびプログラムを提供することを目的とする。【解決手段】キャプション生成装置は、音響信号に対してスペクトログラムを生成させる際に、スペクトログラムを固定長に分割して１以上のブロックにし、ブロックを畳み込みニューラルネットワークに入力して特徴量ベクトルを抽出し、抽出した特徴量ベクトルを再帰型ニューラルネットワークに入力することにより音響信号に対するキャプションを生成するキャプション生成部、を備える。【選択図】図１
2020140050.tif 000002
【特許請求の範囲】
【請求項１】
音響信号に対してスペクトログラムを生成させる際に、前記スペクトログラムを固定長に分割して１以上のブロックにし、前記ブロックを畳み込みニューラルネットワークに入力して特徴量ベクトルを抽出し、抽出した前記特徴量ベクトルを再帰型ニューラルネットワークに入力することにより前記音響信号に対するキャプションを生成するキャプション生成部、
を備えるキャプション生成装置。
【請求項２】
前記スペクトログラムは、対数メル周波数スペクトログラムである、請求項１に記載のキャプション生成装置。
【請求項３】
前記再帰型ニューラルネットワークは、多層の長期短期記憶層によって構成され、
前記再帰型ニューラルネットワークは、第１の再帰型ニューラルネットワークと第２の再帰型ニューラルネットワークを備え、
前記第１の再帰型ニューラルネットワークは、抽出された特徴量ベクトルを多層の前記長期短期記憶層に入力して中間表現のベクトルを生成し、
前記第２の再帰型ニューラルネットワークは、前記中間表現のベクトルを多層の前記長期短期記憶層に入力して前記キャプションを生成する、請求項１または請求項２に記載のキャプション生成装置。
【請求項４】
前記ブロックは、グレースケールの前記スペクトログラムの画像である、請求項１から請求項３のいずれか１項に記載のキャプション生成装置。
【請求項５】
取得部が、音響信号を取得する手順と、
キャプション生成部が、音響信号に対してスペクトログラムを生成させる際に、前記スペクトログラムを固定長に分割して１以上のブロックにし、前記ブロックを畳み込みニューラルネットワークに入力して特徴量ベクトルを抽出する手順と、
前記キャプション生成部が、抽出した前記特徴量ベクトルを再帰型ニューラルネットワークに入力することにより前記音響信号に対するキャプションを生成する手順と、
を含むキャプション生成方法。
【請求項６】
キャプション生成装置のコンピュータに、
音響信号を取得する手順と、
音響信号に対してスペクトログラムを生成させる際に、前記スペクトログラムを固定長に分割して１以上のブロックにし、前記ブロックを畳み込みニューラルネットワークに入力して特徴量ベクトルを抽出する手順と、
抽出した前記特徴量ベクトルを再帰型ニューラルネットワークに入力することにより前記音響信号に対するキャプションを生成する手順と、
を実行するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャプション生成装置、キャプション生成方法、およびプログラムに関する。
【背景技術】
【０００２】
テロップや字幕が表示されるテレビ番組がある。このようなテロップや字幕は、例えば原稿を元に人がキーボードで入力して作成されている。生放送のニュース番組では、アナウンサーが話した言葉を聞き取りながら、キーボードで入力して作成されている。
【０００３】
また、画像に対してキャプションを生成して付与する手法が検討されている。例えば、画像を畳み込みニューラルネットワークに入力することにより画像特徴を得て、再帰型ニューラルネットワーク（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ；ＲＮＮ）を用いてキャプションを生成することが提案されている（例えば特許文献１、非特許文献１参照）。
【０００４】
特許文献１や非特許文献１に記載の技術等の深層学習を用いた画像からのキャプション生成モデルは、画像を畳み込みニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ；ＣＮＮ）を用いて固定長の中間ベクトル表現に変換し（例えば非特許文献２参照）、その中間ベクトル表現を、ＲＮＮを用いてキャプションに変換する（例えば非特許文献３参照）という構造をしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−１２４９６９号公報
【非特許文献】
【０００６】
【非特許文献１】” Show and Tell: A Neural Image Caption Generator”, Oriol Vinyals, Alexander Toshev, Samy Bengio, Dumitru Erhan”, IEEE, In Proceedings of the IEEE conference on computer vision and pattern recognition, 2015,p3156-3164
【非特許文献２】”Overfeat: Integrated  recognition, localization and detection using convolutional networks”, Sermanet, Pierre, et al., arXiv preprint arXiv:1312.6229, 2013
【非特許文献３】”Neural machine  translation by jointly learning to align and translate”, Bahdanau, Dzrnitry, et al, arXiv preprint arXiv:1409.0473, 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
音響信号に対してもキャプションを生成して付与したいという要望がある。一般的な音響信号を収録したデータの内容は、実際に聞いてみるまでわからないという問題がある。しかしながら、各従来技術の画像のキャプション生成手法を音響信号に適用しようとしても、入力信号が１次元の時系列信号であり画像のように二次元ではなく、また音響信号が可変長なので画像のようにリサイズすることにより固定長表現にすることができない。
【０００８】
本発明は、上記の問題点に鑑みてなされたものであって、音響信号に対してニューラルネットワークを用いてキャプションを生成することを可能にするキャプション生成装置、キャプション生成方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
（１）上記目的を達成するため、本発明の一態様に係るキャプション生成装置＜１＞は、音響信号に対してスペクトログラムを生成させる際に、前記スペクトログラムを固定長に分割して１以上のブロックにし、前記ブロックを畳み込みニューラルネットワーク＜ＣＮＮ＞に入力して特徴量ベクトルを抽出し、抽出した前記特徴量ベクトルを再帰型ニューラルネットワーク＜ＲＮＮ＞に入力することにより前記音響信号に対するキャプションを生成するキャプション生成部＜１２＞、を備える。
【００１０】
（２）また、本発明の一態様に係るキャプション生成装置において、前記スペクトログラムは、対数メル周波数スペクトログラムであるようにしてもよい。
【００１１】
（３）また、本発明の一態様に係るキャプション生成装置において、前記再帰型ニューラルネットワークは、多層の長期短期記憶層＜ＬＳＴＭ＞によって構成され、前記再帰型ニューラルネットワークは、第１の再帰型ニューラルネットワーク＜ＲＮＮ部１２２２＞と第２の再帰型ニューラルネットワーク＜ＲＮＮ部１２３１＞を備え、前記第１の再帰型ニューラルネットワークは、抽出された特徴量ベクトルを多層の前記長期短期記憶層に入力して中間表現のベクトルを生成し、前記第２の再帰型ニューラルネットワークは、前記中間表現のベクトルを多層の前記長期短期記憶層に入力して前記キャプションを生成するようにしてもよい。
【００１２】
（４）また、本発明の一態様に係るキャプション生成装置において、前記ブロックは、グレースケールの前記スペクトログラムの画像であるようにしてもよい。
【００１３】
（５）上記目的を達成するため、本発明の一態様に係るキャプション生成方法は、取得部が、音響信号を取得する手順と、キャプション生成部が、音響信号に対してスペクトログラムを生成させる際に、前記スペクトログラムを固定長に分割して１以上のブロックにし、前記ブロックを畳み込みニューラルネットワークに入力して特徴量ベクトルを抽出する手順と、前記キャプション生成部が、抽出した前記特徴量ベクトルを再帰型ニューラルネットワークに入力することにより前記音響信号に対するキャプションを生成する手順と、を含む。
【００１４】
（６）上記目的を達成するため、本発明の一態様に係るプログラムは、キャプション生成装置のコンピュータに、音響信号を取得する手順と、音響信号に対してスペクトログラムを生成させる際に、前記スペクトログラムを固定長に分割して１以上のブロックにし、前記ブロックを畳み込みニューラルネットワークに入力して特徴量ベクトルを抽出する手順と、抽出した前記特徴量ベクトルを再帰型ニューラルネットワークに入力することにより前記音響信号に対するキャプションを生成する手順と、を実行する。
【発明の効果】
【００１５】
上述した（１）、（３）、（５）、（６）によれば、一次元の音響信号を二次元に変換し、音響信号に対してニューラルネットワークを用いてキャプションを生成することができる。
【００１６】
また、上述した（２）によれば、人間の聴覚に合わせたものを使用してキャプションを生成することができる。
また、上述した（４）によれば、演算量を削減することができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態に係るキャプション生成装置の構成例を示す図である。
【図２】実施形態に係るキャプション生成装置が行う処理の概要を示す図である。
【図３】実施形態に係るキャプション生成装置が行う処理の概要を示す図である。
【図４】実施形態に係る前処理部とエンコーダが行う処理を示す図である。
【図５】実施形態に係るデコーダの処理例を示す図である。
【図６】実施形態に係るエンコーダにおける学習処理例を示す図である。
【図７】ＬＳＴＭの構成と処理例を示す図である。
【図８】実施形態に係るキャプション生成装置の処理手順例のフローチャートである。
【図９】評価に用いた音響信号の例を示す図である。
【図１０】学習モデルのアーキテクチャを示す図である。
【図１１】各モジュールの構成例と処理手順例を示す図である。
【図１２】正解と一致しなかった出力キャプションの出力例を示す図である。
【図１３】評価結果例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明において、音響信号の持つ多くの情報を統合して認識することを、音響シーン理解と呼ぶ。
【００１９】
＜キャプション生成装置＞
図１は、本実施形態に係るキャプション生成装置１の構成例を示す図である。図１に示すように、キャプション生成装置１は、音響信号取得部１１、キャプション生成部１２、および出力部１３を備える。
また、キャプション生成部１２は、前処理部１２１、エンコーダ１２２、およびデコーダ１２３を備える。
前処理部１２１は、切り出し部１２１１、正規化部１２１２、および短時間フーリエ変換部１２１３を備える。
エンコーダ１２２は、ＣＮＮ部１２２１、およびＲＮＮ部１２２２（第１の再帰型ニューラルネットワーク）を備える。
デコーダ１２３は、ＲＮＮ部１２３１（第２の再帰型ニューラルネットワーク）を備える。
【００２０】
キャプション生成装置１は、取得した音響信号に対するキャプションを生成する。すなわち、キャプション生成装置１は、音響信号に対して音響シーンを理解してキャプションを生成する。
【００２１】
音響信号取得部１１は、音響信号を取得し、取得した音響信号をキャプション生成部１２に出力する。なお、音響信号は、マイクロホンで収音されたものであってもよく、録音されたものであってもよい。
【００２２】
キャプション生成部１２は、音響信号取得部１１が出力する音響信号に対してキャプションを生成する。
【００２３】
前処理部１２１は、取得した音響信号に対して前処理を行って一次元の情報である音響信号を二次元情報に変換する。
【００２４】
切り出し部１２１１は、音響信号取得部１１が出力する音響信号に対して、所定の時間幅の窓を用いて音響信号を切り出す。なお、音響信号の切り出し方法については後述する。切り出し部１２１１は、切り出した音響信号を正規化部１２１２に出力する。
【００２５】
正規化部１２１２は、切り出し部１２１１が切り出した音響信号に対して正規化を行い、正規化した切り出し後の音響信号を短時間フーリエ変換部１２１３に出力する。
【００２６】
短時間フーリエ変換部１２１３は、正規化部１２１２が出力する正規化され切り出し後の音響信号に対して短時間フーリエ変換（Ｓｈｏｒｔ−Ｔｉｍｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ；ＳＴＦＴ）を行う。この処理によって、切り出された音響信号毎の二次元スペクトログラム画像が生成され、一次元の音響信号が二次元の画像データに変換される。短時間フーリエ変換部１２１３は、変換した二次元スペクトログラム画像を逐次、エンコーダ１２２に出力する。
【００２７】
エンコーダ１２２は、前処理部１２１が出力する二次元スペクトログラム画像を用いて中間表現であるベクトルを生成する。なお、エンコーダ１２２の処理に手法については後述する。
【００２８】
ＣＮＮ部１２２１は、畳み込みニューラルネットワーク（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ；ＣＮＮ）である。ＣＮＮ部１２２１は、短時間フーリエ変換部１２１３が逐次出力する二次元スペクトログラム画像をＣＮＮに入力して特徴量ベクトルを生成する。ＣＮＮ部１２２１は、生成した特徴量ベクトルを、ＲＮＮ部１２２２に出力する。なお、ＣＮＮ部１２２１は、二次元スペクトログラム画像に対して、例えばカーネルを用いて畳み込み処理やプーリング処理によって二次元スペクトログラム画像の特徴量を抽出する。ＣＮＮ部１２２１は、抽出した特徴量を結合層によって結合して特徴量ベクトルを生成する。なお、ＣＮＮ部１２２１は、画像一枚に対して、特徴量ベクトルを１つ生成する。なお、ＣＮＮの構成、動作については後述する。
【００２９】
ＲＮＮ部１２２２は、再帰型ニューラルネットワーク（Ｒｅｃｕｒｒｅｎｔ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ；ＲＮＮ）である。ＲＮＮ部１２２２は、ＣＮＮ部１２２１が出力する特徴量ベクトルをＲＮＮでまとめて中間表現であるベクトルを生成する。なお、生成された中間表現であるベクトルは、擬似的な可変長である。ＲＮＮ部１２２２は、生成した中間表現であるベクトルをデコーダ１２３に出力する。なお、ＲＮＮ部１２２２は、ＲＮＮを多層に重ねた構造を有している。なお、ＲＮＮは、隠れ層の値を再び隠れ層に入力するネットワーク構造のニューラルネットワークである。ＣＮＮ部１２２１が生成した特徴量ベクトルを１つずつＲＮＮの後述するＬＳＴＭ（Ｌｏｎｇ  ｓｈｏｒｔ−ｔｅｒｍ  ｍｅｍｏｒｙ；長期短期記憶）に入力することで、それをトリガにして順次単語が出力される。なお、ＲＮＮの構成、動作については後述する。
【００３０】
デコーダ１２３は、エンコーダ１２２が生成した中間表現であるベクトルを用いてキャプションを生成する。なお、デコーダ１２３の処理に手法については後述する。
【００３１】
ＲＮＮ部１２３１は、再帰型ニューラルネットワーク（ＲＮＮ）である。ＲＮＮ部１２３１は、エンコーダ１２２が出力する中間表現であるベクトルをＲＮＮに入力してキャプションを生成し、生成したキャプションの情報（例えばテキスト情報）を出力部１３に出力する。なお、ＲＮＮ部１２３１は、ＲＮＮを多層に重ねた構造を有している。
【００３２】
出力部１３は、デコーダ１２３が出力するキャプションの情報を画像情報に変換し、変換した画像情報を画像表示装置（不図示）等の外部装置（不図示）に出力する。なお、外部装置は、タブレット端末、スマートフォン等であってもよい。また、出力部１３は、書録した音響信号も外部装置に出力するようにしてもよい。
【００３３】
＜処理の流れの概要＞
まず、処理の流れの概要を、図２と図３を用いて説明する。
図２と図３は、本実施形態に係るキャプション生成装置１が行う処理の概要を示す図である。
図２と図３に示すように、音響信号取得部１１が、音響信号（図２の符号ｇ１、図３の符号ｇ１１）を取得する。図２の符号ｇ１、図３の符号ｇ１１において、横軸は時間であり、縦軸は振幅の大きさである。
図３の符号ｇ１２に示すように、前処理部１２１によって切り出し処理、正規化処理および短時間フーリエ変換処理が行われる。これにより、図３の符号ｇ１３に示すように複数の画像であるスペクトログラムが生成され、生成されたスペクトログラムがエンコーダに入力される（図２の符号ｇ２、図３の符号ｇ１３）。
【００３４】
次に、図３の符号ｇ１４に示すように、エンコーダ１２２では、スペクトログラムをＣＮＮに入力してベクトルを生成し、生成したベクトルをＲＮＮに入力する。なお、ＲＮＮ部１２２２は、後述するように多段のＬＳＴＭ層を備えている。エンコーダ１２２は、この処理によって中間表現のベクトル（図２の符号ｇ３、図３の符号ｇ１５）を生成する。
【００３５】
次に、図２の符号ｇ４、図３の符号ｇ１６に示すように、デコーダ１２３は、中間表現のベクトルをＲＮＮに入力してキャプションを生成する。なお、ＲＮＮ部１２２２は、後述するように多段のＬＳＴＭ層を備えている。生成されたキャプションは、図２の符号ｇ５に示すように『ベルが鳴っている』である。
【００３６】
＜前処理部１２１とエンコーダ１２２が行う処理＞
前処理部１２１とエンコーダ１２２が行う処理について、図５を用いて詳細に説明する。
図４は、本実施形態に係る前処理部１２１とエンコーダ１２２が行う処理を示す図である。
符号ｇ１０１は、取得した音響信号である。符号ｇ１０１において、横軸は時間（フレーム）であり、縦軸は振幅の大きさである。
【００３７】
符号ｇ１０２と符号ｇ１０４に示すように、切り出し部１２１１は、所定の値（例えば２０４４８０（符号ｇ１０３））の窓を用いて、音響信号を切り出す。なお、切り出し部１２１１は、符号ｇ１０３に示すように、所定時間が重なる（オーバーラップ）ように音響信号を逐次切り出す。この処理によって、複数の波形データが生成される。
【００３８】
次に、符号ｇ１０５、符号ｇ１０６に示すように、正規化部１２１２は、切り出された音響信号に対して、振幅を−１〜１の範囲に正規化する。なお、正規化部１２１２は、符号ｇ１０７に示すように、例えばＦＦＴ（高速フーリエ変換）の窓を１０２４、重なり（オーバーラップ）を５１２で正規化を行う。
【００３９】
次に、符号ｇ１０８、符号ｇ１０９に示すように、短時間フーリエ変換部１２１３は、正規化され切り出された音響信号に対して逐次、短時間フーリエ変換を行う。この処理によって、波形データから複数のスペクトログラムが生成される。符号ｇ１０９は、スペクトログラム画像であり、横軸が時間、縦軸が周波数（メルビン（Ｍｅｌ  ｂｉｎ））である。
なお、本実施形態では、この前処理によって音響信号を、対数メル周波数スペクトログラム（ｌｏｇ−ｓｃａｌｅｄ  ｍｅｌ  ｆｒｅｑｕｅｎｃｙ  ｓｐｅｃｔｒｏｇｒａｍ）に変換することによって１チャネルのグレースケール画像とした。これにより、後段のエンコーダ１２２のＣＮＮ部１２２１に入力可能にした。このように、本実施形態では、スペクトログラム画像をグレースケール化することで、演算量を削減することができる。
【００４０】
次に、符号ｇ１１０に示すように、ＣＮＮ部１２２１は、複数のスペクトログラムを逐次ＣＮＮに入力することで、ベクトル（符号ｇ１１１）を生成する。なお、シーケンスの要素の画像それぞれがＣＮＮに通される。ＣＮＮによって音響信号はベクトルのシーケンスとなる。なお、１つの特徴量ベクトルは、切り出された１つの波形データに対応するスペクトログラムの画像に対応している。ｎは、スペクトログラムの個数であり、切り出した波形の個数である。
【００４１】
次に、符号ｇ１１２に示すように、ＲＮＮ部１２２２は、ＣＮＮ部１２２１が出力するベクトルをＲＮＮに入力して中間表現であるベクトル（符号ｇ１１３）を生成する。なお、ベクトルのシーケンスはエンコーダ側のＲＮＮにステップごとに入力され、その最終状態が中間表現として取り出される。
【００４２】
このように、本実施形態では、音響信号のスペクトログラムを取るときに、固定長のスペクトログラムを波形データ上で窓をずらしながら複数取ることで、スペクトログラムを固定長のスペクトログラムに分割（ブロック化）して１つ以上のブロック（スペクトログラム画像）を生成する。すなわち、短時間フーリエ変換を行う際に、切り出し処理と正規化を行っている。
また、本実施形態では、エンコーダ１２２で特徴量ベクトルを抽出することで、音響信号に含まれている音源の種類の同定、すなわち音源同定処理を行っている。
【００４３】
＜対数メル周波数スペクトログラム＞
ここで、対数メル周波数スペクトログラムについて説明する。対数メル周波数スペクトログラムは、音響信号に対してＳＴＦＴを行い得られた振幅スペクトログラムを、人間の聴覚に合わせて変換したものである。また、人間の知覚に合わせるために、振幅スペクトログラムの周波数方向を伸長・圧縮、および振幅値を変換したものが対数メル周波数スペクトログラムである。
【００４４】
まず、短時間フーリエ変換部１２１３は、メル尺度を用いて周波数特性を聴覚に合わせる。メル尺度は人間の音声知覚を反映した周波数軸である。短時間フーリエ変換部１２１３は、ｆ［Ｈｚ］を次式（１）でメル尺度ｍに変換する。
【００４５】
【数１】
2020140050.tif 000003
【００４６】
次に、短時間フーリエ変換部１２１３は、ＳＴＦＴによって得られた振幅スペクトルの周波数軸をメル尺度に変換するために、メル尺度上で等間隔に配置された複数のバンドパスフィルタを振幅スペクトルに適用する。この複数のバンドパスフィルタは、メルフィルタバンクと呼ばれ三角窓のフィルタの集合である。
次に、短時間フーリエ変換部１２１３は、音の大きさを聴覚に合わせる操作を行う。人間は音の大きさをｌｏｇスケールで知覚する。このため、短時間フーリエ変換部１２１３は、メルフィルタバンクを適用した後の振幅のｌｏｇをとることによって音の大きさを聴覚に合わせる操作を行う。
【００４７】
以上の処理によって、通常のスペクトログラムに対する、周波数方向へのメルフィルタバンクの適用と、振幅のｌｏｇスケールへの変換によって対数メル周波数スペクトログラムが得られる。
【００４８】
＜ニューラルネットワークの構造＞
次に、ニューラルネットワークの構造を説明する。
ｖを単語辞書の大きさ、Ｉ＝（Ｉ０，…ＩＭ−１）を切り出した波形データから計算した対数メル周波数スペクトログラムのシーケンス、Ｓ＝（Ｓ０，…ＳＮ−１）とする。また、キャプションの各単語はｖ次元のｏｎｅ−ｈｏｔベクトルＳｔで表される。なお、ｏｎｅ−ｈｏｔベクトルとは、ベクトルの要素のうち１つの要素のみが１、それ以外の要素が０のベクトルである。ただし、Ｓ０はキャプションの開始を表す特別な開始単語、ＳＮはキャプションの終了を表す特別な終了単語であり，Ｓｔ，ｔ｛１，…，Ｎ−１｝が実際のキャプションの単語に対応する。エンコーダ（ｅｎｃｄｅｒ）とデコーダ（ｄｅｃｏｄｅｒ）のニューラルネットワークは次式（２）〜（７）で表せる。
【００４９】
【数２】
2020140050.tif 000004
【００５０】
【数３】
2020140050.tif 000005
【００５１】
【数４】
2020140050.tif 000006
【００５２】
【数５】
2020140050.tif 000007
【００５３】
【数６】
2020140050.tif 000008
【００５４】
【数７】
2020140050.tif 000009
【００５５】
式（２）〜（７）において、ＣＮＮはＣＮＮ処理を表し、ＬＳＴＭはＬＴＳＭ処理を表し、Ｓｏｆｔｍａｘは処理を表す。また、ｅは埋め込みベクトルであり、ｈｔはエンコーダ側のＬＳＴＭの状態であり、ｓｔはデコーダ側のＬＳＴＭの状態である。Ｗｅ（∈Ｒｅ×ｖ）はエンコーダ側の単語埋め込み行列であり、Ｗｐはデコーダ側のＬＳＴＭの出力である。ＬＳＴＭｈ、ＬＳＴＭｙは状態から出力を決める関数である。ｐｔはｖ次元ベクトルであり、その要素がそれぞれの単語の出力確率を表す。
【００５６】
ＬＳＴＭｅｎｃｏｄｅｒとＬＳＴＭｄｅｃｏｄｅｒは、０ステップ目から始まるとする。また、入力が画像のシーケンスとなり、それがＬＳＴＭｅｎｃｏｄｅｒのステップ毎の入力になっている。ＬＳＴＭｅｎｃｏｄｅｒの最終状態ｈＭ−１が中間表現であり、これがＬＳＴＭｄｅｃｏｄｅｒの初期状態ｓ−１（式（４））として使用され、対応するキャプションが生成される。
このような可変長シーケンスを出力するＲＮＮによるモデルを、実施形態ではＳｅｑ−ｔｏ−Ｓｅｑ（Ｓｅｑｕｅｎｃｅ−ｔｏ−Ｓｅｑｕｅｎｃｅ）モデルという。
【００５７】
誤差関数を用いて学習を行う。誤差関数は、ビジョンでのモデルと同様に次式（８）を用いて、これを最小化することで音響信号の時分割スペクトログラムシーケンスＩに対応するキャプションＳを学習する。
【００５８】
【数８】
2020140050.tif 000010
【００５９】
本実施形態では、Ｓｅｑ−ｔｏ−Ｓｅｑモデルにおいて、ＲＮＮを多層に重ねることで、性能を向上させている。ここで、２層のＬＳＴＭの場合は、次式（９）〜（１２）で表される。
【００６０】
【数９】
2020140050.tif 000011
【００６１】
【数１０】
2020140050.tif 000012
【００６２】
【数１１】
2020140050.tif 000013
【００６３】
【数１２】
2020140050.tif 000014
【００６４】
ただし、式（９）〜（１２）において、ｘｔは入力、ｙｔ２は出力である。２層ＬＳＴＭの場合は、１層目のＬＳＴＭ１の出力シーケンスｙｔ１が、２層目のＬＳＴＭ２の出力シーケンスとなり、２層目の出力シーケンスｙｔ２が多層ＬＳＴＭ全体の出力となる。
Ｓｅｑ−ｔｏ−Ｓｅｑモデルで用いる場合は、エンコーダ側のＬＳＴＭとデコーダ側のＬＳＴＭの中間層の数を揃えることで、中間表現を受け渡せるようにしている。
【００６５】
さらに本実施形態のエンコーダ側のＲＮＮでは、シーケンスを過去から未来の方向（順方向）への入力に加え、未来から過去の方向（逆方法）への入力も可能な双方向ＲＮＮ（Ｂｉｄｉｒｅｃｔｉｏｎａｌ  ＲＮＮ）で構成した。順方向と逆方向のエンコーダのＬＳＴＭを次式（１３）、（１４）で計算し、その最終状態ｈＭ−１ｆとｈＭ−１ｂを結合して中間表現ｈＭ−１＝［ｈＭ−１ｆ；ｈＭ−１ｂ］とした。
【００６６】
【数１３】
2020140050.tif 000015
【００６７】
【数１４】
2020140050.tif 000016
【００６８】
なお、式（１３）においてＬＳＴＭｆが状態ｈｔｆを持つ順方向ＬＳＴＭである。また、式（１４）においてＬＳＴＭｂが状態ｈｔｂを持つ逆方向ＬＳＴＭである。
【００６９】
＜アテンションメカニズム＞
Ｓｅｑ−ｔｏ−Ｓｅｑモデルでは、入力をＲＮＮの状態としてステップ毎に１つのベクトルにまとめていくので、入力シーケンスが長くなった場合、デコーダにシーケンスの最初の入力情報を伝えにくくなる。このため、本実施形態では、デコード時に入力を直接参照できるように次式（１５）〜（１８）で表されるアテンションメカニズム（Ａｔｔｅｎｔｉｏｎ  Ｍｅｃｈａｎｉｓｍ）を備えるようにした。アテンションメカニズムでは、デコーダの各ステップｉにおいて状態ｓｉを求めるとき、現在のデコーダの状態ｓｉ−１と過去のエンコーダの各ステップｊでの状態ｈｊとの間のスコアαｉｊをキャプション生成部１２が計算する。このスコアをステップｉでの状態ｓｊの計算に用いることで入力を参照できるようにした。
【００７０】
【数１５】
2020140050.tif 000017
【００７１】
【数１６】
2020140050.tif 000018
【００７２】
【数１７】
2020140050.tif 000019
【００７３】
【数１８】
2020140050.tif 000020
ただし、式（１５）〜（１８）において、ｅｉｊは、デコーダのｉ−１ステップ目の状態ｓｉ−１と、エンコーダのｊステップ目の状態ｈｊとの間のスコアである。また、αｉｊは、このｅｉｊをエンコーダのステップｊ方向に正規化（Σｊαｉｊ＝１．０≦αｉｊ≦１）したものである。また、αｉｊを重みとして加重平均ｃｉをとり、このｃｉを次のデコーダの状態ｓｉの計算に反映させている。また、スコア関数ａ（ｓｉ−１，ｈｊ）には内積ｓｉ−１・ｈｊを用いる。
【００７４】
＜デコーダの処理＞
次に、デコーダ１２３の処理例を説明する。
図５は、本実施形態に係るデコーダ１２３の処理例を示す図である。なお、ｈ１，…，ｈ４（符号ｇ３０７、ｇ３１０、ｇ３１３、ｇ３１６）は、各層の状態である。
まず、ＲＮＮ部１２３１は、エンコーダ１２２が出力した中間表現ベクトル（符号ｇ２０１）をＲＮＮの初期状態としてセットする（符号ｇ３０１）。
そして、ＲＮＮ部１２３１は、ＲＮＮの１ステップ目（符号ｇ２１１）の入力としてキャプションの最初を表す特殊な単語ＳＴＡＲＴを入力する（符号ｇ３０２、ｇ３０３）。これにより、確率ｐ１が最大になるインデックスに対応する単語を取る（符号ｇ３０５、ｇ３０６）ことで、１ステップ目の出力としてキャプションの１番目の単語が出力される。
【００７５】
次に、ＲＮＮ部１２３１は、２ステップ目の入力として１ステップ目の出力単語に対応する単語を入力する（符号ｇ３０８）。これにより、ＲＮＮの２ステップ目（符号ｇ２１２）の出力では２番目の単語が出力される（符号ｇ３０９）。
以下、２ステップ目の出力を３ステップ目の入力にするということを繰り返してキャプションを生成する（符号ｇ３１１〜ｇ３１８、ｇ３２１）。
なお、文生成の終了は、ステップの出力が特殊な単語ＥＮＤを出力したら終了する（符号ｇ３１８）。
【００７６】
＜学習処理＞
次に、エンコーダ１２２における学習処理例を説明する。
図６は、本実施形態に係るエンコーダ１２２における学習処理例を示す図である。符号ｇ４０１は、短時間フーリエ変換部１２１３によって生成されたスペクトログラムであり、横軸が時間、縦軸がメル周波数である。このスペクトログラムが、ＣＮＮ部１２２１が備えるＣＮＮに入力される（符号ｇ４０２）。
【００７７】
ここで、ＣＮＮにおける学習は、ＣＮＮ部分の学習段階と、モデル全体の学習段階との２段階に分けられる。
【００７８】
ＣＮＮ部分の学習段階では、ＣＮＮの後の分類器を用いて音響信号のクラス分けのネットワークを作り、このネットワークを学習させ、学習させたネットワーク内のＣＮＮ部分のみを取り出す。ここで、分類器（識別器）とは、特徴量を入力して、それが何の特徴を表すかを分類するアルゴリズムである。また、クラス分けとは、音響信号に対して付与されたラベルへのクラス分けである。例えば、３３種類の環境音に対してキャプションを生成する場合は、この環境音に対する１つ１つがクラスであり、クラスの総数が３３個となる。なお、ＣＮＮ部分の学習段階における教師データは、例えば環境音（ｋｎｏｃｋ，ｆｌｕｔｅ，ｃｏｕｇｈ，ｂａｒｋ，ｃｈｉｍｅ…など）クラスラベルである。
【００７９】
ここで、モデル全体の学習段階では、ＣＮＮ部分の学習段階で学習したＣＮＮを持ってきてモデル全体を学習する。なお、モデル全体の学習段階における教師データは、例えば「ＳｎａｒｅＤｒｕｍの後にＧｏｎｇ，その後にＢａｒｋが鳴っている」という文章データである。
【００８０】
＜ＬＳＴＭ＞
次に、ＬＳＴＭについて補足する。
図７は、ＬＳＴＭの構成と処理例を示す図である。図７において、ｘｔはｔステップ目の入力であり、ｙｔはｔステップ目の出力であり、ｃｔはメモリセルであり、ｉは入力ゲートであり、ｆは忘却ゲートであり、ｏは出力ゲートであり、×は要素積である。
図７の構成と処理によって、現在と過去の情報をどれだけ用いるか判断できる。
【００８１】
また、ＬＳＴＭで使用される値は、ＲＮＮ部１２２２またはＲＮＮ部１２３１が次式（１９）〜（２４）を用いて算出する。
【００８２】
【数１９】
2020140050.tif 000021
【００８３】
【数２０】
2020140050.tif 000022
【００８４】
【数２１】
2020140050.tif 000023
【００８５】
【数２２】
2020140050.tif 000024
【００８６】
【数２３】
2020140050.tif 000025
【００８７】
【数２４】
2020140050.tif 000026
【００８８】
なお、式（１９）〜（２１）において、σはシグモイド関数である。
【００８９】
＜キャプション生成装置の処理手順＞
次に、キャプション生成装置１の処理手順例を説明する。
図８は、本実施形態に係るキャプション生成装置の処理手順例のフローチャートである。
【００９０】
（ステップＳ１）音響信号取得部１１は、音響信号を取得し、取得した音響信号をキャプション生成部１２に出力する。
【００９１】
（ステップＳ２）切り出し部１２１１は、音響信号取得部１１が出力する音響信号に対して、所定の時間幅の窓を用いて音響信号を切り出す。
【００９２】
（ステップＳ３）正規化部１２１２は、切り出し部１２１１が切り出した音響信号に対して正規化を行う。
【００９３】
（ステップＳ４）短時間フーリエ変換部１２１３は、正規化部１２１２が出力する正規化され切り出し後の音響信号に対して短時間フーリエ変換を行って切り出された音響信号毎の二次元スペクトログラム画像が生成する。
【００９４】
（ステップＳ５）ＣＮＮ部１２２１は、短時間フーリエ変換部１２１３が逐次出力する二次元スペクトログラム画像をＣＮＮに入力して特徴量ベクトルを生成する。なお、ＣＮＮ部１２２１は、画像一枚に対して、特徴量ベクトルを１つ生成する。
【００９５】
（ステップＳ６、Ｓ７）ＲＮＮ部１２２２は、ＣＮＮ部１２２１が出力する特徴量ベクトルをＲＮＮでまとめて中間表現であるベクトルを生成する。
【００９６】
（ステップＳ８、Ｓ９）ＲＮＮ部１２３１は、エンコーダ１２２が出力する中間表現であるベクトルをＲＮＮに入力してキャプションを生成する。
【００９７】
＜評価結果＞
次に、本実施形態のキャプション生成装置１を評価した評価結果例を、図９〜図１３を用いて説明する。
学習と評価にあたって音響信号とキャプションのデータセットが必要になる。このため、評価では、単一クラスのみが含まれた音源をランダムに合成した混合音と、それに対応するキャプションのデータセットを作成した。図９は、評価に用いた音響信号の例を示す図である。図９において、横軸は時間（秒）、縦軸は周波数［Ｈｚ］である。図９に示す例では、０〜２秒の間にＳｎａｒｅＤｒｕｍ（符号ｇ５０１）が鳴り、２〜４秒の間にＧｏｎｇ（符号ｇ５０２）が鳴り、４〜６秒の間にＢａｒｋ（符号ｇ５０３）がなっている。この例のキャプションの正解データは「ＳｎａｒｅＤｒｕｍの後にＧｏｎｇ，その後にＢａｒｋが鳴っている」である。このように、キャプション生成においては、何の音が鳴っているのかと、どの順番でなっているかを表現できているかを評価した。
【００９８】
音源には３３クラス（３３種類）の環境音（ｋｎｏｃｋ，ｆｌｕｔｅ，ｃｏｕｇｈ，ｂａｒｋ，ｃｈｉｍｅ…など）を使用し、混合音は３つ程度の音源をオパーラップがないように接続して作成した。ただし、音源信号間には０〜０．６秒程度のランダムな長さの無音信号を挿入した。評価では、モノラル入力音響信号に対して種類と順序を説明するキャプションを生成するものとした。混合音とキャプションのペア１８０００個分を学習データセット、２０００個分を評価データセットとした。
【００９９】
ＣＮＮの学習には、図１０、図１１に示す既存の学習済みモデルを使用した（例えば参考文献１参照）。図１０は、学習モデルのアーキテクチャを示す図である。図１１は、各モジュールの構成例と処理手順例を示す図である。なお、図１１において、ｋおよびｎは、畳み込みのフィルタサイズおよびソフトマックスレイヤの数を示す。また、ＢＮはバッチ正規化であり、Ｃｏｎｃａｔは特徴連結であり、Ｒｅｌｕは修正線形単位であり、Ｃｏｎｖは線形畳み込みであり、ＭａｘＰｏｏｌは最大プーリングであり、ＧＡＰはグローバル平均プーリングである。符号ｇ５１１はＬｏｗ−ｌｅｖｅｌ  ｋのモジュール構成と処理手順である。符号ｇ５１２はＤｅｎｓｅ  Ｎｅｔ−ｋのモジュール構成と処理手順である。符号ｇ５１３はｎ−ｈｅａｄ分類器モジュール構成と処理手順である。なお、この学習済みのＣＮＮ部分のクラス分けの精度は約９０％である。
参考文献；”Audio tagging system for DCASE 2018: Focusing on label noise, data augmentation and its efficient learning”, Il-Young, Jeong, et al. DCASE2018 Challenge., 2018
【０１００】
モデルの学習は２段階に分けて行った。最初に音源識別用のＣＮＮを用意する。これには、上述した既存のトレーニング済みのモデルを用いた。次にこのＣＮＮに対して上述した学習データセットを用いてモデル全体の転移学習を行った。なお波形データは１．２８秒間ずつ、５０％オーバーラップするように切り取った。
【０１０１】
図１２は、正解と一致しなかった出力キャプションの出力例を示す図である。図１２において、符号６０１とｇ６１１が示す文章が正解キャプションであり、符号ｇ６０２とｇ６１２が示す文章が出力キャプションである。また、符号ｇ６０２と符号ｇ６１２は、順序は一致しているが、存在（クラス）が完全一致していない例である。また、正解キャプション「Ｆｉｒｅｗｏｒｋｓの後にＢａｒｋ，その後にＧｕｎｓｈｏｔが鳴っている」に対して「Ｇｕｎｓｈｏｔの後にＢａｒｋ，その後にＦｉｒｅｗｏｒｋｓ  が鳴っている」が出力キャプションの場合は、存在が一致しているが順序が一致していない例である。
【０１０２】
図１３は、評価結果例を示す図である。
図１３に示すように、正解と完全に一致したキャプションが生成された割合は７３．２０％となった。一方、音源の順序を問わず、キャプションに含まれる音源の種類が一致したものは７５．９０％となった。また、音源の種類を問わず、キャプションに含まれる音源の順序が一致したものは７５．７５％となった。このように存在一致だが順序一致でないものは０．１５％であり順序付け自体はできている。
【０１０３】
正解と一致しないエラーの原因は音源識別間違いと音源数の間違いに分けられる。そこでキャプションに含まれるラベル単語のみを抜き出してラベル列を作成し、そのラベル列に対して挿入誤りの数、削除誤りの数、置換誤りの数を計算した。全評価データ５９６９個のうち、挿入誤りの数が４０、削除誤りの数が２０と低い値であった。
【０１０４】
以上のように、本実施形態では、一次元の音響信号を、短時間フーリエ変換することでチャンネル数１の二次元のグレースケール画像として扱えるようにした。
また、ビジョンでの入力画像は固定長のデータだったのに対し、音では可変長となりうる。しかし音響信号はその長さによってスペクトログラムの横幅が大きく変わってしまい、それをリサイズするとアスペクト比が大きく崩れる。このため、本実施形態では、音響信号のスペクトログラムを取るときに、固定長のスペクトログラムを波形データ上で窓をずらしながら複数取り、それらをエンコーダ側のＲＮＮでまとめるようにした。
【０１０５】
このように、本実施形態では、画像でのキャプション生成モデルを音響信号でのモデルに適用するために、音響信号に対するスペクトログラム表現と、複数のスペクトログラムを用いた可変長音響信号に対する固定長ベクトル表現を導入することによってモデルを拡張した。すなわち、本実施形態では、音声をスペクトログラム化し、二次元画像とした。そして本実施形態では、この画像を畳み込みニューラルネットワーク（ＣＮＮ）に入力して学習させるようにした。このとき、本実施形態では、スペクトログラムを固定長のスペクトログラムに分割（ブロック化）し、ブロック化したものをＣＮＮに入力すると同時に、リカレントニューラルネットワーク（ＲＮＮ）にも入力し擬似的に時系列信号を扱うことができるようにした。
【０１０６】
これにより、本実施形態によれば、音響信号に対して音響シーンを理解してキャプションを生成することができる。
【０１０７】
なお、本発明におけるキャプション生成装置１の機能全ての機能または一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりキャプション生成装置１が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【０１０８】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１０９】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【０１１０】
１…キャプション生成装置、１１…音響信号取得部、１２…キャプション生成部、１３…出力部、１２１…前処理部、１２２…エンコーダ、１２３…デコーダ、１２１１…切り出し部、１２１２…正規化部、１２１３…短時間フーリエ変換部、１２２１…ＣＮＮ部、１２２２…ＲＮＮ部、１２３１…ＲＮＮ部
【図１】
2020140050.tif 000027
【図２】
2020140050.tif 000028
【図３】
2020140050.tif 000029
【図４】
2020140050.tif 000030
【図５】
2020140050.tif 000031
【図６】
2020140050.tif 000032
【図７】
2020140050.tif 000033
【図８】
2020140050.tif 000034
【図９】
2020140050.tif 000035
【図１０】
2020140050.tif 000036
【図１１】
2020140050.tif 000037
【図１２】
2020140050.tif 000038
【図１３】
2020140050.tif 000039