JP7493398B2 - 変換装置、学習装置、およびプログラム - Google Patents

変換装置、学習装置、およびプログラム Download PDF

Info

Publication number
JP7493398B2
JP7493398B2 JP2020115497A JP2020115497A JP7493398B2 JP 7493398 B2 JP7493398 B2 JP 7493398B2 JP 2020115497 A JP2020115497 A JP 2020115497A JP 2020115497 A JP2020115497 A JP 2020115497A JP 7493398 B2 JP7493398 B2 JP 7493398B2
Authority
JP
Japan
Prior art keywords
statistical information
unit
learning
decoder unit
encoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020115497A
Other languages
English (en)
Other versions
JP2022013136A (ja
Inventor
伶 遠藤
岳士 梶山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2020115497A priority Critical patent/JP7493398B2/ja
Publication of JP2022013136A publication Critical patent/JP2022013136A/ja
Application granted granted Critical
Publication of JP7493398B2 publication Critical patent/JP7493398B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、変換装置、学習装置、およびプログラムに関する。
映像に映されている内容を自動的に認識する技術は、人のコミュニケーションを補助する手段としての活用が期待されている。その一例として、手話をカメラ等で撮影して、その映像(画像)を自動的に認識する技術は、聴覚障害者と健聴者との間のコミュニケーションへの活用が期待される。
非特許文献1には、手話言語のひとつであるドイツ手話を自動認識してドイツ語へ変換する研究について記載されている。例えば、非特許文献1内のFigure 2は、手話言語を口語言語に翻訳するための手話翻訳機の概略構成を示している。このFigure 2が示す手話翻訳機は、エンコーダーとデコーダーを含んで構成される。エンコーダーおよびデコーダーは、それぞれ、再帰型ニューラルネットワーク(RNN,recurrent neural network)を用いている。エンコーダーは、フレーム画像の系列を入力し、特徴ベクトルを生成する。
デコーダーは、エンコーダーによって生成された特徴ベクトルを入力し、語の系列を生成する。
非特許文献2には、深層学習を用いた手話認識について記載されている。
Necati Cihan Camgoz, Simon Hadfield, Oscar Koller, Hermann Ney, Richard Bowden "Neural Sign Language Translation" In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018年 梶山岳士,遠藤伶,加藤直人,河合吉彦,金子浩之,深層学習を用いた日本手話認識の評価実験,2019年映像情報メディア学会年次大会,講演予稿集,11B-2,一般社団法人映像情報メディア学会,2019年
カメラを用いて撮影される映像の内容(例えば、人のジェスチャー等)を認識する技術は、例えば、非接触型のヒューマンマシンインターフェースが望まれる適用領域で実用化されてきた。非接触型のインターフェースが望まれる領域とは、例えば、食品工場や医療現場など、衛生面での考慮が求められる領域である。しかしながら、例えば手話言語のような、連続する複雑な人の動きを、自動認識して別の言語に変換する技術は、実用レベルに達していない。
日本で使用される手話言語のひとつである日本手話の自動認識に関しても、実用例は報告されていない。
また、入力される手話映像が予め単語単位に区切られていない場合には、映像を基に手話単語の単位に自動的に区切って手話単語を自動認識することは、さらに困難である。
本発明は、上記のような課題に基づいて行なわれたものであり、入力データ(例えば、所定の単位(例えば変換先の単語等の区切り)に区切られていないフレーム画像系列)を入力し、精度よく、その入力データに対応する記号列(例えば、所定の言語表現における単語列)を出力することができるようにする変換装置、学習装置、およびプログラムを提供しようとするものである。
[1]上記の課題を解決するため、本発明の一態様による変換装置は、入力される画像系列を基に状態データを生成するエンコーダー部と、前記状態データを基に記号列についての統計の情報である統計情報を生成する統計情報デコーダー部と、前記状態データと前記統計情報とを基に記号列を生成するデコーダー部と、前記エンコーダー部への入力の基となる学習用画像系列と、前記学習用画像系列に対応する前記記号列の正解である正解記号列と、前記記号列に対応する前記統計情報の正解である正解統計情報と、の組を供給する学習データ供給部と、前記学習用画像系列に基づいて前記エンコーダー部が生成する状態データ、に基づいて前記デコーダー部が生成する記号列である学習用推定記号列と、前記学習用画像系列に対応して前記学習データ供給部が供給する前記正解記号列と、の差を表すロスを算出するロス算出部と、前記学習用画像系列に基づいて前記エンコーダー部が生成する状態データ、に基づいて前記統計情報デコーダー部が生成する統計情報である学習用推定統計情報と、前記学習用画像系列に対応して前記学習データ供給部が供給する前記正解統計情報と、の差を表す統計情報ロスを算出する統計情報ロス算出部と、学習処理モードと推定処理モードとを適宜切り替えて実行させるように制御する制御部と、を備え、前記学習処理モードにおいては、前記デコーダー部は、前記統計情報デコーダー部が生成した統計情報である推定統計情報、または前記学習データ供給部が供給した前記正解統計情報の、いずれかの前記統計情報を基に、前記記号列を生成し、前記学習処理モードにおいては、前記ロス算出部が算出した前記ロスに基づいて前記デコーダー部の内部パラメーターと前記エンコーダー部の内部パラメーターとを調整するとともに、前記統計情報ロス算出部が算出した前記統計情報ロスに基づいて前記統計情報デコーダー部の内部パラメーターと前記エンコーダー部の内部パラメーターとを調整し、前記推定処理モードにおいては、前記エンコーダー部が推定対象の画像系列を基に状態データを生成し、前記エンコーダー部が生成した前記状態データを基に前記統計情報デコーダー部が前記統計情報を生成し、前記デコーダー部が前記状態データと前記統計情報とを基に前記記号列を生成する、ものである。
[2]また、本発明の一態様による変換装置は、入力される画像系列を基に状態データを生成するエンコーダー部と、前記状態データを基に記号列についての統計の情報である統計情報を生成する統計情報デコーダー部と、前記状態データと前記統計情報とを基に記号列を生成するデコーダー部と、を備え、前記エンコーダー部の内部パラメーターは機械学習処理によって予め調整済みであり、前記統計情報デコーダー部の内部パラメーターは機械学習処理によって予め調整済みであり、前記デコーダー部の内部パラメーターは機械学習処理によって予め調整済みである、というものである。
[3]また、本発明の一態様は、上記の変換装置において、前記画像系列は、手話を表す映像であり、前記デコーダー部が生成する前記記号列は、前記手話のグロス表記を表す記号の列である、というものである。
[4]また、本発明の一態様による学習装置は、入力される画像系列を基に状態データを生成するエンコーダー部と、前記状態データを基に記号列についての統計の情報である統計情報を生成する統計情報デコーダー部と、前記状態データと前記統計情報とを基に記号列を生成するデコーダー部と、前記エンコーダー部への入力の基となる学習用画像系列と、前記学習用画像系列に対応する前記記号列の正解である正解記号列と、前記記号列に対応する前記統計情報の正解である正解統計情報と、の組を供給する学習データ供給部と、前記学習用画像系列に基づいて前記エンコーダー部が生成する状態データ、に基づいて前記デコーダー部が生成する記号列である学習用推定記号列と、前記学習用画像系列に対応して前記学習データ供給部が供給する前記正解記号列と、の差を表すロスを算出するロス算出部と、前記学習用画像系列に基づいて前記エンコーダー部が生成する状態データ、に基づいて前記統計情報デコーダー部が生成する統計情報である学習用推定統計情報と、前記学習用画像系列に対応して前記学習データ供給部が供給する前記正解統計情報と、の差を表す統計情報ロスを算出する統計情報ロス算出部と、を備え、前記ロス算出部が算出した前記ロスに基づいて前記デコーダー部の内部パラメーターと前記エンコーダー部の内部パラメーターとを調整するとともに、前記統計情報ロス算出部が算出した前記統計情報ロスに基づいて前記統計情報デコーダー部の内部パラメーターと前記エンコーダー部の内部パラメーターとを調整する、ものである。
[5]また、本発明の一態様は、上記の学習装置において、前記画像系列は、手話を表す映像であり、前記デコーダー部が生成する前記記号列、および前記学習データ供給部が供給する正解記号列は、前記手話のグロス表記を表す記号の列である、というものである。
[6]また、本発明の一態様は、コンピューターを、上記[1]から[3]までのいずれかに記載の変換装置、として機能させるためのプログラムである。
[7]また、本発明の一態様は、コンピューターを、上記[4]または[5]に記載の学習装置、として機能させるためのプログラムである。
本発明によれば、統計情報デコーダー部は、統計情報を出力する。この統計情報は、デコーダー部が出力する記号列に関する統計の情報を持っている。この統計情報によって、デコーダー部は良好な制約を受けながら、記号列を推定する。この構成により、変換装置の変換精度は良くなる。また、学習装置は、そのような変換装置を実現するためのモデルを、機械学習により構築できる。
本発明の実施形態による変換装置の概略機能構成を示す機能ブロック図である。 同実施形態によるエンコーダー部および統計情報デコーダー部の動作時のデータの流れを示す概略図である。 同実施形態によるエンコーダー部およびデコーダー部の動作時のデータの流れを示す概略図である。 同実施形態によるエンコーダー部の内部のより具体的な構成を示すブロック図である。 同実施形態による統計情報デコーダー部の内部のより具体的な構成を示すブロック図である。 同実施形態によるデコーダー部の内部のより具体的な構成を示すブロック図である。 同実施形態による変換装置の学習処理モードの動作の手順を示すフローチャートである。 同実施形態による変換装置の推定処理モードの動作の手順を示すフローチャートである。 同実施形態等による変換装置の内部構成の例を示すブロック図である。
次に、図面を参照しながら、本発明の実施形態について説明する。
本実施形態では、機械学習のモデルとしてトランスフォーマー(Transformer)を利用する。トランスフォーマーは、RNN(再帰型ニューラルネットワーク)やCNN(畳み込みニューラルネットワーク)を使わずに、アテンション(Attention)だけを使って、入力データと出力データとの間の広範囲な依存関係を捉えることのできるモデルである。なお、トランスフォーマー自体は既存の技術である。トランスフォーマーの技術については、下記の文献に記載されている。
参考文献:Ashish Vaswani他,Attention Is All You Need,arXiv:1706.03762v5,2017年
本実施形態の変換装置の特徴は、次の通りである。エンコーダー部21は、入力されるフレーム画像系列に基づいてエンコーダー出力行列(状態データ)を出力する。統計情報デコーダー部61は、このエンコーダー出力行列を基に、出力語列についての統計情報を出力する。デコーダー部31は、上記のエンコーダー出力行列と、統計情報デコーダー部61が出力した統計情報とに基づいて推定語列を出力する。エンコーダー部21と、統計情報デコーダー部61と、デコーダー部31とは、機械学習可能となるように構成されている。つまり、予め、学習用データを用いて、エンコーダー部21と、統計情報デコーダー部61と、デコーダー部31との機械学習処理を行い、それぞれの内部のパラメーターを調整しておくことができる。
このような特徴を有する本実施形態の変換装置1は、上記の統計情報デコーダー部61を備えるため、変換処理の過程において、統計情報を算出することができる。この統計情報は、変換装置1が出力する記号列(例えば、グロス表記の語列)についての統計的な情報である。統計情報の具体例については、後で説明する。この統計情報は、言わば、出力語列に対するある種の制約として作用し得る。変換装置1において、デコーダー部31は、算出された統計情報に基づいて、推定語列を出力する。この構成により、本実施形態の変換装置1は、入力されるフレーム画像列を基に出力記号列に変換する処理において、従来技術による変換装置と比べて、精度の高い変換処理を行うことができる。
一例として、入力されるフレーム画像系列は、手話を表す映像である。また、この場合、変換装置1のデコーダー部31が生成する記号列は、手話のグロス表記を表す記号の列であってよい。
図1は、本実施形態による変換装置の概略機能構成を示す機能ブロック図である。図示するように変換装置1は、入力部10と、エンコーダー部21と、デコーダー部31と、出力部40と、統計情報デコーダー部61と、ロス算出部71と、統計情報ロス算出部72と、学習データ供給部81と、制御部91とを含んで構成される。これらの各機能部は、例えば、コンピューターと、プログラムとで実現することが可能である。また、各機能部は、必要に応じて、記憶手段を有する。記憶手段は、例えば、プログラム上の変数や、プログラムの実行によりアロケーションされるメモリーである。また、必要に応じて、磁気ハードディスク装置やソリッドステートドライブ(SSD)といった不揮発性の記憶手段を用いるようにしてもよい。また、各機能部の少なくとも一部の機能を、プログラムではなく専用の電子回路として実現してもよい。
変換装置1は、学習処理モードと推定処理モードの2つのモードのいずれかのモードで動作し得る。各機能部の機能は、次に説明する通りである。
入力部10は、入力フレーム画像系列(映像)を外部から取得し、エンコーダー部21に渡す。この入力フレーム画像系列は、例えば、カメラ等で撮影された手話の話者の上半身を含むものである。入力フレーム画像系列のフレーム数をTimageとし、画像のチャンネル数をCimageとし、画像の高さ方向(垂直方向)の解像度(画素数)をHとし、画像の幅方向(水平方向)の解像度(画素数)をWとする。この場合、入力フレーム画像系列は、要素数がTimage×Cimage×H×Wの4次元の配列(行列)として表現できる。この配列の要素は、画素値である。第2次元のチャンネル数Cimageは、例えば、カラー画像の場合には3(例えば、R,G,Bの3原色)であり、モノクロ映像の場合には1である。フレーム画像は、カラーであることが望ましい。画像の解像度はどのような値でもよい。ただし、解決すべき課題と、必要となる計算資源(演算量やメモリー等)とを考慮すると、一例として、H=256、W=256といった小さめの画像でもよい。画像としては、手話話者の上半身(腕、手を含む)が映っていることが好ましい。画像における背景(手話話者以外の部分)の面積(総画素数)は、なるべく小さいことが望ましい。そのためには、撮影するカメラの画角や位置を適宜調整する。なお、背景は任意であるが、例えば無地の背景であることが好ましい。
なお、フレーム数Timageは任意である。ただし、例えば、フレームレートを30フレーム毎秒(fps)とした場合、手話の一文に相当する映像の長さを考量すると、例えばTimageの値が200(6.67秒相当)以上且つ300(10.00秒相当)以下程度であることを想定できる。本実施形態の変換装置1は、その程度の長さの映像を処理対象とすることを想定する。
エンコーダー部21は、フレーム画像系列を入力し、このフレーム画像系列に対応するエンコーダー出力行列を出力する。エンコーダー出力行列を、「状態データ」とも呼ぶ。エンコーダー出力行列は、入力されるフレーム画像系列の特徴を表すデータである。つまり、エンコーダー部21は、入力される画像系列を基に状態データを生成する。エンコーダー部21は、学習処理モードで動作する際には、学習データ供給部81によって供給されるフレーム画像系列(学習用データの一部)に基づく処理を行う。エンコーダー部21は、推定処理モードで動作する際には、入力部10から渡されるフレーム画像系列に基づく処理を行う。エンコーダー部21は、出力するエンコーダー出力行列を、統計情報デコーダー部61と、デコーダー部31とに渡す。
統計情報デコーダー部61は、エンコーダー部21が出力するエンコーダー出力行列に基づいて、統計情報を、推定により生成する。この統計情報は、デコーダー部31が出力する記号列についての統計の情報である。統計情報デコーダー部61は、出力する統計情報を、デコーダー部31に渡す。統計情報デコーダー部61は、学習処理モードにおいては、上記の統計情報を、統計情報ロス算出部72にも渡す。
デコーダー部31は、エンコーダー部21が出力するエンコーダー出力行列と、統計情報とに基づいて、語列(記号列)を推定し、その推定語列を出力する。つまり、デコーダー部31は、エンコーダー出力行列と、統計情報とを基に、記号列を生成する。デコーダー部31は、学習処理モードにおいては、生成した推定語列を、ロス算出部71に渡す。デコーダー部31は、推定処理モードにおいては、生成した推定語列を、出力部40に渡す。デコーダー部31が出力する推定語列は、例えば、入力映像に対応する手話のグロス表現の記号列である。
なお、デコーダー部31が用いる統計情報は、推定処理モードにおいては、統計情報デコーダー部61が出力した統計情報である。デコーダー部31が用いる統計情報は、学習処理モードにおいては、統計情報デコーダー部61が出力した統計情報であってもよいし、学習データ供給部81によって供給される正解の統計情報であってもよい。つまり、学習処理モードにおいては、デコーダー部31は、統計情報デコーダー部61が生成した統計情報である推定統計情報、または学習データ供給部81が供給した正解統計情報の、いずれかの統計情報を基に、記号列を生成する。
エンコーダー部21と、統計情報デコーダー部61と、デコーダー部31とのそれぞれは、機械学習のモデルを備えるように構成される。このモデルは、機械学習が可能である。このモデルは、例えば、ニューラルネットワークを用いて実現してよい。ニューラルネットワークの一種であるトランスフォーマーを用いてこれらの各部を構成する例について、後で、別の図を参照しながら、説明する。ニューラルネットワークは、誤差逆伝播法を用いることにより学習可能である。
なお、デコーダー部31は、ロス算出部71が算出するロスに基づいて、誤差逆伝播法により、内部のパラメーターを更新する。統計情報デコーダー部61は、統計情報ロス算出部72が算出するロス(統計情報ロス)に基づいて、誤差逆伝播法により、内部のパラメーターを更新する。エンコーダー部21は、ロス算出部71が算出するロスと統計情報ロス算出部72が算出するロスのそれぞれに基づいて、誤差逆伝播法により、内部のパラメーターを更新する。
出力部40は、推定処理モードでの動作時に、デコーダー部31が推定した推定語列を受け取り、外部に出力する。
本実施形態の特徴は、前記のデコーダー部31が入力フレーム画像系列に対応する出力語列を推定する処理の前に、統計情報デコーダー部61が統計情報を推定する点である。また、本実施形態の特徴は、この推定された統計情報を用いて、デコーダー部31が語列を推定する点である。
上記の統計情報は、変換装置1が出力するグロス表記の語列についての統計的な情報である。この統計情報の性質は、次の通りである。即ち、変換装置1の出力である語列が与えられれば、所定のアルゴリズムにより、その語列についての統計情報を、大きすぎない妥当な所定の計算量で一意に求めることができるものである。言い換えれば、統計情報は、語列を基に容易に一意に計算可能な情報である。正解統計情報の具体的な例について、後で説明する。
ロス算出部71は、デコーダー部31が求めた推定語列と、学習データ供給部81が与える正解語列との間の差であるロスを算出する。つまり、ロス算出部71は、学習用画像系列に基づいてエンコーダー部21が生成するエンコーダー出力行列(状態データ)、に基づいてデコーダー部31が生成する記号列である学習用推定記号列と、学習用画像系列に対応して学習データ供給部81が供給する正解記号列と、の差を表すロスを算出する。このロスは、学習処理モードにおいて、誤差逆伝播法を用いて、デコーダー部31やエンコーダー部21のパラメーターを更新するために用いられる。
統計情報ロス算出部72は、統計情報デコーダー部61が求めた推定統計情報と、学習データ供給部81が与える正解統計情報との間の差であるロス(統計情報ロス)を算出する。統計情報ロス算出部72は、学習用画像系列に基づいてエンコーダー部21が生成する状態データ、に基づいて統計情報デコーダー部61が生成する統計情報である学習用推定統計情報と、学習用画像系列に対応して学習データ供給部81が供給する正解統計情報と、の差を表す統計情報ロスを算出する。このロス(統計情報ロス)は、学習処理モードにおいて、誤差逆伝播法を用いて、統計情報デコーダー部61やエンコーダー部21のパラメーターを更新するために用いられる。
学習データ供給部81は、学習用のデータを変換装置1内の各部に供給する。
具体的には、学習データ供給部81は、入力フレーム画像系列と、正解語列と、正解統計情報との組を多数集めた学習データセットを持つ。学習データ供給部81は、学習処理モードの際に、そのデータの組を順次1組ずつ供給する。つまり、学習データ供給部81は、エンコーダー部21への入力の基となる学習用画像系列と、その学習用画像系列に対応する記号列の正解である正解記号列と、その正解記号列に対応する統計情報の正解である正解統計情報と、の組を供給する。具体的には、学習データ供給部81は、入力フレーム画像系列を、エンコーダー部21に渡す。また、学習データ供給部81は、正解語列を、ロス算出部71に渡す。また、学習データ供給部81は、正解統計情報を、統計情報ロス算出部72に渡す。
なお、学習データ供給部81は、正解統計情報をデコーダー部31に渡してもよい。これは、デコーダー部31が、学習処理モードにおいて、正解統計情報に基づいて語列を推定する処理を行う場合のためである。
学習データ供給部81は、正解語列に基づいて、予め正解統計情報を求めて、学習データセットの一部として記憶しておいてもよい。また、学習データ供給部81は、正解語列に基づいて、学習処理の際にその都度正解統計情報を算出するようにしてもよい。
正解語列のデータは、入力フレーム画像列に基づいて、例えば、人手で作成する。正解語列は、例えば、手話の内容に対応するグロス記号列である。この正解語列は、例えば、要素数がTwordのベクトルで表現される。Twordは、正解語列の長さ(記号数)である。このベクトルの要素は、グロスIDの数値である。グロスIDは、グロス表現の記号を識別するための数値であり、例えば、0以上の整数値で表わされる。グロスIDは、特殊記号に対しても付与される。特殊記号とは、例えば、<sos>、<eos>、<unk>という3種類の記号である。<sos>は、文の開始を表す記号である。ここでの「sos」は、「Start of Sequence」の略である。<eos>は、文の終端を表す記号である。ここでの「eos」は、「End of Sequence」の略である。<unk>は、未知語を表す記号である。「unk」は、「unknown」を意味する。例えば、学習データセットに含まれなかった語は記号<unk>に対応し得る。上記の3種類の特殊記号を含んで、学習データセットに含まれるグロス記号の種類数プラス3個の記号を、グロスIDは識別する。この、(グロス記号の種類数)+3の値をVとする。言い換えれば、特殊記号を含む記号の種類数がVである。なお、正解語列のデータは、必ず、特殊記号<sos>で始まり、特殊記号<eos>で終わるようにしてよい。
なお、変形例として、<sos>と<eos>とに同じ記号を用いてもよい。<sos>はデコーダーへの1番目の入力としてのみ用いられ、デコーダーが<sos>を出力することがないためである。一例として、<sos>と<eos>とを代表させて、記号<eos>を用いることができる。また、本実施形態では、デコーダーへの1番目の入力は、<sos>ではなく統計情報である。このように、本実施形態で使用しない記号<sos>をそもそも特殊記号として持たないようにしてもよい。この場合には、特殊記号は、<eos>と<unk>の2種類である。また、上記のVは、(グロス記号の種類数)+2である。<sos>を持たない形態とする場合には、実施形態の説明におけるVの値について適宜読み替える。
正解統計情報は、統計情報の正解である。正解統計情報は、正解語列から統計的処理によって求められる。正解統計情報の具体例は、サイズがV×Nの行列である。Vは、上述した通り特殊記号を含む記号の種類数である。Nは2以上の整数であり、一例として、N=4あるいはN=5などとしてよい。
例えばN=4とするとき、正解統計情報は、V個の、要素数4のワンホット(one hot)ベクトルである。V個のベクトルは、V種類の記号に対応する。各記号対応するベクトルは、[1,0,0,0]、[0,1,0,0]、[0,0,1,0]、[0,0,0,1]のいずれかである。このベクトルは、正解語列内における特定の記号の出現回数を表すベクトルである。正解語列内にある記号が出現しないばあいには、その記号に対応するベクトルは[1,0,0,0]である。正解語列内にその記号が1回だけ出現する場合には、その記号に対応するベクトルは[0,1,0,0]である。正解語列内にその記号が2回だけ出現する場合には、その記号に対応するベクトルは[0,0,1,0]である。正解語列内にその記号が3回以上出現する場合には、その記号に対応するベクトルは[0,0,0,1]である。
Nの値が4以外であってもよい。一般に1つの記号の統計的特徴を表すベクトルの要素数がNのとき、次のようになる。即ち、正解語列内におけるその記号の出現回数が、0回のとき、1回のとき、・・・、(N-2)回のとき、(N-1)回以上のときにそれぞれ対応して、ベクトルは、[1,0,0,・・・,0]、[0,1,0,・・・,0]、・・・、[0,0,0,・・・,1]である。
例えばN=2のときは、ベクトルは、その記号が正解語列内に出現するか否かのみを表す情報である。
Nの値は、4あるいは5程度が好ましい。Nの値が大きすぎても、手話表現の一文の中に特定の記号がそれほど多数回出現することは稀であり、統計情報のサイズと比べて表す情報がそれほど豊富にはならない。
制御部91は、変換装置1の全体を制御する。制御部91が行う制御の一つは、変換装置1の動作モードの制御である。変換装置1は、学習処理モードまたは推定処理モードのいずれかで動作する。学習処理モードは、学習用データを用いて変換装置1内の各部の機械学習を行うモードである。推定処理モードは、入力されるフレーム画像系列に基づいて、その画像系列に対応する出力記号列を推定する処理を行うモードである。制御部91は、現在の動作モードが学習処理モードであるか推定処理モードであるかを管理する。つまり、制御部91は、学習処理モードと推定処理モードとを適宜切り替えて実行させるように変換装置1の中の各部を制御する。制御部91は、現在の動作モードの情報を、他の各機能部に伝達する。これにより、各機能部が協調的に動作し、変換装置1の全体がその動作モードで動作する。
この制御部91が制御することにより、変換装置1は、各モードにおいて次のように動作する。つまり、学習処理モードにおいては、ロス算出部71が算出したロスに基づいてデコーダー部31の内部パラメーターとエンコーダー部21の内部パラメーターとを調整するとともに、統計情報ロス算出部72が算出した統計情報ロスに基づいて統計情報デコーダー部61の内部パラメーターとエンコーダー部21の内部パラメーターとを調整する。また、推定処理モードにおいては、エンコーダー部21が推定対象の画像系列を基に状態データを生成し、エンコーダー部21が生成した状態データを基に統計情報デコーダー部61が統計情報を生成し、デコーダー部31が状態データと統計情報とを基に記号列を生成する。
このように、本実施形態では、変換装置1は、途中で統計情報を用いる方法によって語列を推定する。入力されるフレーム画像系列に基づいて対応する語列を推定するタスクは、次の2つタスクに分割することができる。その第1のタスクは、語列内に出現する語が何であるかを推定するタスク(統計情報を推定するタスク)である。そして、第2のタスクは、その統計情報が制約する条件下で出力される語列は何かを推定するタスク(語列内における語の順序を推定するタスク)である。本実施形態の変換装置1は、これらの2つのタスクに専用の機能部をそれぞれ含む構成を持つ。第1のタスクを担うのが統計情報デコーダー部61であり、第2のタスクを担うのがデコーダー部31である。言い換えれば、統計情報デコーダー部61とデコーダー部31のそれぞれは、第1のタスクと第2のタスクを同時に実行する場合に比べて、より簡単なタスクのみを実行すればよい。これにより、本実施形態の変換処理の精度は、従来技術におけるそれよりも、良くなる。
図2は、エンコーダー部21および統計情報デコーダー部61の動作時のデータの流れを示す概略図である。図示するように、エンコーダー部21は、内部に、ニューラルネットワーク2001を備える。また、統計情報デコーダー部61は、内部に、ニューラルネットワーク6001を備える。エンコーダー部21のニューラルネットワーク2001は、入力されるフレーム画像系列に基づく演算を行い、エンコーダー出力行列のデータを出力する。統計情報デコーダー部61のニューラルネットワーク6001は、ニューラルネットワーク2001から渡されるエンコーダー出力行列に基づいて、演算を行い、推定統計情報を出力する。
推定処理モードにおいては、統計情報デコーダー部61が求めた推定統計情報は、デコーダー部31に渡され、推定語列の推定のために用いられる。
学習処理モードにおいては、統計情報ロス算出部72が、統計情報の正解である正解統計情報と、ニューラルネットワーク6001が出力した統計情報(推定統計情報)とのロス(統計情報ロス)を求める。ニューラルネットワーク6001および2001は、このロス(統計情報ロス)に基づいて、誤差逆伝播を行う。つまり、ニューラルネットワーク6001および2001は、ニューラルネットワーク6001から2001への伝播経路による処理で、それぞれのパラメーターを更新する。
図3は、エンコーダー部21およびデコーダー部31の動作時のデータの流れを示す概略図である。前述の通り、エンコーダー部21は、ニューラルネットワーク2001を備える。また、デコーダー部31は、内部に、ニューラルネットワーク3001を備える。デコーダー部31のニューラルネットワーク3001は、ニューラルネットワーク2001から渡されるエンコーダー出力行列と、統計情報と、に基づいて、演算を行い、推定語列のデータを出力する。
推定処理モードにおいては、デコーダー部31が求めた推定語列は、出力部40に渡され、入力フレーム画像系列に対応する語列として出力される。例えば、入力フレーム画像系列が手話を表す映像である場合には、出力される推定語列は、その手話に対応するグロス表現の記号列である。
学習処理モードにおいては、ロス算出部71が、入力フレーム画像系列に対応する正解語列と、ニューラルネットワーク3001が出力した推定語列とのロスを求める。ニューラルネットワーク3001および2001は、このロスに基づいて、誤差逆伝播を行う。つまり、ニューラルネットワーク3001および2001は、ニューラルネットワーク3001から2001への伝播経路による処理で、それぞれのパラメーターを更新する。
図4は、エンコーダー部21のより具体的な構成を示すブロック図である。図示するように、エンコーダー部21は、ニューラルネットワークとして、トランスフォーマー2002を使用する。トランスフォーマー2002は、入力フレーム画像系列を受け取り、その特徴を表す行列を出力する。この行列を、エンコーダー部出力行列と呼ぶ。エンコーダー出力行列は、Timage×Cencoderの行列として表現される。前述の通り、Timageは、エンコーダー部21に入力されるフレーム画像の数である。また、Cencoderは、適宜定められる正整数である。Cencoderの値に特に制限はない。エンコーダー部21が出力する情報量と、コンピューターのメモリーの制約とを考慮して、Cencoderの値を、例えば512以上且つ4096以下程度としてよい。
図5は、統計情報デコーダー部61のより具体的な構成を示すブロック図である。図示するように、統計情報デコーダー部61は、内部のニューラルネットワークとして、トランスフォーマー6002と、全結合層6003とを含む。全結合層6003は、全結合1層のニューラルネットワークである。
トランスフォーマー6002は、エンコーダー部21から渡されるエンコーダー出力行列を受け取る。エンコーダー出力行列は、Timage×Cencoderのサイズを持つ行列である。一般にデコーダーは系列を出力する構造を持つものであるが、統計情報デコーダー部61は統計情報を出力すればよい。そのため、トランスフォーマー6002は、1×Vの行列を出力した時点で、動作を終了する。この動作は、デコーダーが第1番目の記号のみを出力する動作に相当する。トランスフォーマー6002が出力する1×Vの行列は、V種類の記号のそれぞれについての出現回数の情報を表す。
全結合層6003は、トランスフォーマー6002が出力した上記の1×Vの行列を受け取り、V×Nの行列に変換して、推定統計情報として出力する。推定統計情報を表すV×Nの行列は、既に説明した正解統計情報を表すV×Nの行列と同じ構造を持つ。つまり、Vは記号(特殊記号を含む)の種類数である。また、V×Nの行列を構成するV個のベクトル(要素数がNのベクトル)は、各記号の出現回数に関する情報(例えば、N=4の場合、出現回数は、0回、1回、2回、3回以上のいずれか)を表す。
学習処理モードで動作する場合には、統計情報デコーダー部61は、全結合層6003が出力した上記のV×Nの行列(推定統計情報)を、統計情報ロス算出部72に渡す。統計情報ロス算出部72は、統計情報デコーダー部61が出力した推定統計情報と、学習データ供給部81が供給する正解統計情報との間のロス(統計情報ロス)を計算する。このとき、推定統計情報と正解統計情報とは、ともにV×Nの行列で表現されている。統計情報ロス算出部72は、任意の適切な方法で、推定統計情報と正解統計情報とのロス(統計情報ロス)を算出してよい。統計情報ロス算出部72は、例えば、推定統計情報と正解統計情報との交差エントロピー誤差を、ロスとして算出する。統計情報ロス算出部72が計算したロスにしたがって、統計誤差の逆伝播路上にあるニューラルネットワークは内部のパラメーターを更新する。具体的には、ここでは、統計情報デコーダー部61とエンコーダー部21が、内部のパラメーターを更新する。パラメーターを更新する手法としては、例えば、確率的勾配降下法(SGD:Stochastic Gradient Descent)や、Adam(Adaptive moment estimation)など、一般的なニューラルネットワークの最適化手法を用いることができる。
推定処理モードで動作する場合には、統計情報デコーダー部61は、全結合層6003が出力した上記のV×Nの行列(推定統計情報)を、デコーダー部31に渡す。
図6は、デコーダー部31のより具体的な構成を示すブロック図である。図示するように、デコーダー部31は、内部のニューラルネットワークとして、トランスフォーマー3002と、全結合層3003とを含む。
トランスフォーマー3002は、エンコーダー部出力行列と、統計情報とに基づいて、記号列を出力する。前述の通り、トランスフォーマー3002が出力する記号列は、グロス記号および特殊記号から成る列である。
全結合層3003は、全結合1層のニューラルネットワークである。全結合層3003は、V×Nのサイズの行列を入力し、その行列を1×Vのサイズの行列に変換し、出力する。
本実施形態のトランスフォーマー3002は、特殊記号<sos>(シーケンスの開始)の代わりに、統計情報を入力としてとる。つまり、トランスフォーマー3002は、まず統計情報を入力にとり、1個目のグロス記号を出力する。次に、トランスフォーマー3002は、その1個目のグロス記号を入力にとり、2個目のグロス記号を出力する。以後、同様に、トランスフォーマー3002は、グロス記号の出力を続ける。トランスフォーマー3002は、最後に特殊記号<eos>(シーケンスの終わり)を出力する。つまり、特殊記号<eos>を出力すると、トランスフォーマー3002は、処理を終了する。
なお、デコーダー部31に入力される統計情報は、V×Nのサイズを持つ行列である。全結合層3003は、このV×Nの行列として表現された統計情報を入力し、その統計情報を1×Vのサイズの統計情報に変換する。全結合層3003は、出力する1×Vのサイズの行列(統計情報)を、トランスフォーマー3002に渡すものである。
デコーダー部31は、最終的に長さTpredのベクトルを出力することを期待される。この長さTpredのベクトルが、デコーダー部31による推定結果(推定語列)である。ただし、トランスフォーマー3002は、推定語列に相当するベクトルを直接出力するのではなく、記号の出現確率の列であるTpred×Vの行列を出力する。行列の要素は、長さTpredの記号列の位置ごとの、特定の記号が出現する確率の値である。前述の通り、Vは、語彙の規模、つまりグロス記号と特殊記号の種類の総数である。
学習処理モードでは、ロス算出部71は、推定語列と正解語列とのロスを求める。具体的には、ロス算出部71は、推定語列に相当するTpred×Vの行列と、正解語列に相当するTpred×Vの行列とから、交差エントロピー誤差を求め、これをロスとする。このとき、推定語列に相当するTpred×Vの行列は、推定語列の各位置における、V種類の記号の各々の出現確率を表す行列である。また、正解語列に相当するTpred×Vの行列は、正解語列の各位置において、正解である記号の出現確率は1として、その他の記号の出現確率を0としたような確率分布を表す行列である。
ロス算出部71が計算したロスにしたがって、推定語列の逆伝播路上にあるニューラルネットワークは内部のパラメーターを更新する。具体的には、ここでは、デコーダー部31とエンコーダー部21が、内部のパラメーターを更新する。パラメーターを更新する手法としては、例えば、確率的勾配降下法(SGD:Stochastic Gradient Descent)や、Adam(Adaptive moment estimation)など、一般的なニューラルネットワークの最適化手法を用いることができる。
なお、トランスフォーマーのモデルを用いる場合には、その構造上、推定語列の長さであるTpredと、正解語列の長さであるTwordは同じである。
推論処理モードでは、記号出現確率を表すTpred×Vの行列から、推定語列が求められる。推定語列を求めるための一つの方法は、語列内の位置ごとに、即ち要素数Vのベクトルごとに、最も高い確率値を持つ要素に対応する記号を、その位置の記号として決定する方法(貪欲法,greedy algorithm)である。他の方法の例として、評価値の良い方から順に上位n個(nは、適宜定められる正整数)の選択肢のみに絞りながら文全体の最適解(または準最適解)を探索する方法(ビームサーチ、beam search)を用いてもよい。なお、貪欲法も、ビームサーチも、それらの手法自体は既存の技術である。このようにして、トランスフォーマー3002が出力する、グロスID出現確率を表すTpred×Vの行列を、要素数Tpredのベクトル(推定語列)に変換することができる。
Figure 0007493398000001
推定語率に対応する、記号出現確率を表す行列は、上記の通りである。この行列は、V行Tpred列の行列である。この行列の第i列(1≦i≦Tpred)は、要素数Vのベクトル(上で破線で示す列ベクトル)である。このベクトルの要素は、pi,1,pi,2,・・・,pi,Vである。すべての記号には、予めサフィックスが関連付けられている。例えば、第1番目の記号の出現確率は、pi,1である。他の記号の出現確率も同様である。
図7は、変換装置1における機械学習処理(学習処理モードの動作)の手順を示すフローチャートである。以下、このフローチャートに沿って、機械学習処理の手順について説明する。
ステップS101において、学習データ供給部81は、1件の学習用データを学習データセットから取得して、変換装置1に供給する。ここで、1件の学習用データは、入力フレーム画像系列(入力映像)と、正解語列と、正解統計情報とを含む。この1件の学習用データにおいて、正解語列は、その入力フレーム画像系列に対応する正解の手話記号列である。また、正解統計情報は、その正解語列に対応する正解の統計情報である。学習データ供給部81は、正解統計情報を、正解語列に基づいて予め計算しておき、学習データセット内に持っている。この学習用データは、機械学習を行うモデルの入力データと出力データ(正解データ)に相当する。エンコーダー部21から統計情報デコーダー部61に続く系列に関しては、入力フレーム画像系列が入力データであり、正解統計情報が正解の出力データである。エンコーダー部21からデコーダー部31に続く系列に関しては、入力フレーム画像系列が入力データであり、正解語列が正解の出力データである。あるいは、学習データ供給部81は、正解統計情報を、正解語列に基づいて本ステップでその都度算出するようにしてもよい。学習データ供給部81は、入力フレーム画像系列のデータを、エンコーダー部21に渡す。また、学習データ供給部81は、正解語列のデータを、ロス算出部71に渡す。また、学習データ供給部81は、正解統計情報のデータを、統計情報ロス算出部72に渡す。
次に、ステップS102において、エンコーダー部21は、ステップS101で渡された入力フレーム画像系列を基に、順伝播を行う。即ち、エンコーダー部21は、エンコーディング処理を行う。エンコーダー部21は、順伝播の結果として、エンコーダー出力行列を出力する。エンコーダー部21は、このエンコーダー出力行列を、統計情報デコーダー部61とデコーダー部31とにそれぞれ渡す。
次に、ステップS103において、統計情報デコーダー部61は、エンコーダー部21から渡されたエンコーダー出力行列を基に、順伝搬を行う。この順伝搬の結果として、統計情報デコーダー部61は統計情報の推定値である推定統計情報を出力する。統計情報デコーダー部61は、この推定統計情報を、統計情報ロス算出部72に渡す。
次に、ステップS104において、デコーダー部31は、エンコーダー部21から渡されたエンコーダー出力行列と、統計情報とを基に、順伝搬を行う。この順伝搬の結果として、デコーダー部31は入力フレーム画像系列に対応する推定語列を推定する。デコーダー部31は、求めた推定語列を、ロス算出部71に渡す。
上記の通りステップS104において、デコーダー部31は、統計情報を用いて推定語列を求める。このときの統計情報として、推定統計情報を使ってもよいし、正解統計情報を使ってもよい。また、デコーダー部31がステップS104において推定統計情報を用いるか正解統計情報を用いるかを、確率的に分布させるようにしてもよい。つまり、デコーダー部31が、確率pで推定統計情報を用いて、確率(1-p)で正解統計情報を用いるようにしてもよい。ここで、pは、0≦p≦1を満たす実数である。一例として、p=0.5としてもよい。なお、推定統計情報は、統計情報デコーダー部61がステップS103で求めたデータである。正解統計情報は、学習データ供給部81が供給するデータである。制御部91は、ステップS104においてどちらの統計情報がデコーダー部31に渡されるかを、適宜、制御する。
次に、ステップS105において、変換装置1は、2種類のロスを計算する。具体的には、ロス算出部71は、デコーダー部31が出力した推定語列と、学習データ供給部81が与えた正解語列との間のロスを算出する。統計情報ロス算出部72は、統計情報デコーダー部61が出力した推定統計情報と、学習データ供給部81が与えた正解統計情報との間のロス(統計情報ロス)を算出する。
次に、ステップS106において、デコーダー部31は、ステップS105においてロス算出部71が算出したロスに基づいて、誤差逆伝播を行う。この誤差逆伝播により、デコーダー部31は、内部のニューラルネットワークの各ノードにおける演算パラメーターの値を更新する。
次に、ステップS107において、統計情報デコーダー部61は、ステップS105においてロス算出部71が算出したロス(統計情報ロス)に基づいて、誤差逆伝播を行う。この誤差逆伝播により、統計情報デコーダー部61は、内部のニューラルネットワークの各ノードにおける演算パラメーターの値を更新する。
次に、ステップS108において、エンコーダー部21は、デコーダー部31や統計情報デコーダー部61の側から逆伝播してくるデータに基づいて、誤差逆伝播を行う。この誤差逆伝播により、エンコーダー部21は、内部のニューラルネットワークの各ノードにおける演算パラメーターの値を更新する。具体的には、エンコーダー部21は、まずデコーダー部31から逆伝播してくるデータに基づいて、誤差逆伝播による内部パラメーターの更新を行う。エンコーダー部21は、次に、統計情報デコーダー部61から逆伝播してくるデータに基づいて、誤差逆伝播による内部パラメーターの更新を行う。なお、この順序を逆にしてもよい。即ち、エンコーダー部21は、まず統計情報デコーダー部61からのデータに基づく誤差逆伝播を行い、次にデコーダー部31からのデータに基づく誤差逆伝播を行うようにしてもよい。
ステップS108における処理を次のようにしても良い。エンコーダー部21は、デコーダー部31から逆伝搬してくるデータに基づいて、誤差逆伝搬による内部パラメーターの更新量を計算する。また、エンコーダー部21は、統計情報デコーダー部61から逆伝搬してくるデータに基づいて、誤差逆伝搬による内部パラメーターの更新量を計算する。エンコーダー部21は、これら2つの更新量を合計し、その更新量を内部パラメーターの更新を行う。
ステップS109において、制御部91は、学習データセット内のすべての学習用データを用いた処理を完了したか否かを判定する。全ての学習用データを処理済みである場合(ステップS109:YES)には、次のステップS110に進む。まだ学習データ用が残っている場合(ステップS109:NO)には、次のデータを処理するためにステップS101に戻る。
ステップS110に進んだ場合には、制御部91は、現在の学習データセットを用いた学習処理の所定回数の繰り返しが完了したか否かを判定する。なお、この回数は、例えば、予め定めておくものとする。所定回数の処理が完了した場合(ステップS110:YES)には、本フローチャート全体の処理を終了する。所定回数の処理が完了していない場合(ステップS110:NO)には、次の回の処理を行うためにステップS101に戻る。なお、本ステップにおいて、予め定めておいた回数に基づいて全体の処理を終了するか否かの判断を行う代わりに、他の判断基準に基づいた判断を行うようにしてもよい。一例として、更新対象であるニューラルネットワークのパラメーター集合の値の収束状況(十分に収束しているか否か)に基づいて、全体の処理を終了するか否かの判断を行うようにしてもよい。
以上の処理の手順により、エンコーダー部21と、統計情報デコーダー部61と、デコーダー部31との学習が進む。学習により、エンコーダー部21と、統計情報デコーダー部61と、デコーダー部31とのそれぞれの内部のパラメーターが調整される。これにより、変換装置1は、より良い精度で、入力フレーム画像系列に対応する出力データ(具体例としては、記号の列。さらに具体的な例としては、手話に対応するグロス表記の単語列。)を生成するようになる。
図8は、変換装置1における語列推定処理(推定処理モードの動作)の手順を示すフローチャートである。以下、このフローチャートに沿って説明する。
ステップS201において、入力部10は、外部から入力フレーム画像系列を取得する。この入力フレーム画像系列は、例えば、人の上半身を映した手話の映像である。入力部10は、この入力フレーム画像系列を、エンコーダー部21に渡す。
ステップS202において、エンコーダー部21は、ステップS201で渡された入力フレーム画像系列を基に、順伝播を行う。即ち、エンコーダー部21は、エンコーディング処理を行う。エンコーダー部21は、順伝播の結果として、エンコーダー出力行列を出力する。エンコーダー部21は、このエンコーダー出力行列を、統計情報デコーダー部61とデコーダー部31とにそれぞれ渡す。
ステップS203において、統計情報デコーダー部61は、エンコーダー部21から渡されたエンコーダー出力行列を基に、順伝搬を行う。この順伝搬の結果として、統計情報デコーダー部61は統計情報の推定値である推定統計情報を出力する。統計情報デコーダー部61は、この推定統計情報を、デコーダー部31に渡す。
ステップS204において、デコーダー部31は、エンコーダー部21から渡されたエンコーダー出力行列と、統計情報デコーダー部61から渡されて統計情報とを基に、順伝搬を行う。この順伝搬の結果として、デコーダー部31は入力フレーム画像系列に対応する推定語列を推定する。デコーダー部31は、求めた推定語列のデータを、出力部40に渡す。
ステップS205において、出力部40は、デコーダー部31から渡された推定語列のデータを、外部に出力する。
以上説明した処理により、変換装置1は、入力されるフレーム画像系列に対応する推定語列を出力することができる。フレーム画像系列が例えば手話の映像である場合、変換装置1は、その手話の翻訳結果である語列を出力することができる。
本実施形態では、推定処理モードにおいて、エンコーダー部21が算出したデコーダー出力行列(入力データの特徴を表すデータ)に基づいて、予め機械学習済みの統計情報デコーダー部61が統計情報を算出する。統計情報は、入力データに対応する出力データ(出力記号列)の統計的特徴を表す情報である。そして、デコーダー部31は、この統計情報と、上記のデコーダー出力行列とに基づいて、出力記号列を推定する。このような構成では、統計情報デコーダー部61が適切な学習を完了している場合、統計情報デコーダー部61が出力する統計情報は、デコーダー部31が出力記号列を推定する際の良好な制約となる。これにより、変換装置1は、入力データに対応して精度の良い出力記号列を出力することができるようになる。
なお、入力フレーム画像系列に含まれるフレーム画像の枚数は任意である。一例として、フレーム画像の枚数は200枚以上且つ300枚以下程度であることが望ましい。これは、30フレーム毎秒のレートにおいては、6.67秒以上且つ10.00秒以下の映像に相当する。この長さは、例えば、手話における一文の長さとして妥当である。より長い映像を扱う場合には、適宜、例えば手話の文ごとに入力フレーム画像系列を区切ってもよい。この場合、統計情報としては、区切りごとにリセットした記号出現回数をカウントしたものを用いてもよい。
以上、実施形態を説明したが、本発明はさらに次のような変形例でも実施することが可能である。複数の変形例を、組み合わせることが可能な限りにおいて、組み合わせて実施してもよい。
[第1変形例]
上記実施形態では、エンコーダー部21や、デコーダー部31や、統計情報デコーダー部61は、ニューラルネットワークの構造として、トランスフォーマーを用いた。変形例として、エンコーダー部21や、デコーダー部31や、統計情報デコーダー部61が、他の構造を用いてもよい。例えば、エンコーダー部21や、デコーダー部31や、統計情報デコーダー部61が、トランスフォーマーの代わりにRNN(Recurrent Neural Network)等を用いても良い。
[第2変形例]
上記実施形態では、統計情報として、記号の出現回数を用いた。変形例として、記号の出現頻度を統計情報として用いてもよい。
[第3変形例]
上記実施形態では、統計情報として、記号の出現回数の情報のみを用いた。変形例として、出現回数の情報に加えて、出力記号列の長さを、統計情報に含めるようにしてよい。この場合、学習データ供給部81が供給する正解統計情報が、正解語列の長さの情報を含むようにする。
[第4変形例]
上記実施形態では、統計情報デコーダー部61の中の全結合層6003(図5参照)が、1×Vの行列を入力し、V×Nの行列に変換していた。また、統計情報デコーダー部61は、このV×Nの行列(統計情報)を、デコーダー部31に渡していた。そして、デコーダー部31の中の全結合層3003(図6参照)が、V×Nの行列を入力し、1×Vの行列に変換していた。全結合層3003は、この1×Nの行列を、トランスフォーマー3002に渡していた。
本変形例では、上記のような処理手順によって1×Nの行列をトランスフォーマー3002に渡す代わりに、次のような処理手順を実行する。即ち、トランスフォーマー6002が出力する1×Vの行列(全結合層6003による返還前の統計情報)を保存しておく。そして、この1×Vの行列を、デコーダー部31の中のトランスフォーマー3002への入力とする。本変形例では、デコーダー部31が持つ全結合層3003を省略することが可能となる。
[第5変形例]
上記実施形態において、統計情報を、V×Nのサイズを持つ行列とした(ただし、N≧2)。変形例として、統計情報を、V×1のサイズを持つ行列としてよい。この行列が、V種類の記号(特殊記号を含む)のそれぞれが、出力記号列内に存在する確率を表すようにする。推定統計情報において、V×1の行列の要素は、各記号が出力記号列内に含まれる確率を表す。また、正解統計情報において、V×1の行列の要素は、1または0の値をとる。値が1の場合には、正解語列の中にその記号が含まれる。値が0の場合には、正解語列の中にその記号が含まれない。このような統計情報を用いる点以外は、上記実施系遺体と同様にしてよい。
[第6変形例]
上記実施形態において、統計情報は、単語(記号)の出現回数であった。変形例において、その代わりに、単語(記号)の連鎖の出現回数(ないしは頻度)についての統計情報を用いるようにしてもよい。例えば、いわゆるnグラム(n-gram;n個の単語の連鎖;n≧2)の出現回数の情報を統計情報とする。学習データ供給部81は、正解語列に含まれるnグラムの出現回数を数え上げ、正解統計情報を生成する。学習データ供給部81は、その正解統計情報を、統計情報ロス算出部72に提供する。統計情報ロス算出部72は、学習処理モードにおいて、上記の正解統計情報と、統計情報デコーダー部61が求めた推定統計情報との間のロス(統計情報ロス)を算出する。統計情報デコーダー部61およびエンコーダー部21は、このロスに基づいて、誤差逆伝播法により、内部のパラメーターを更新する。また、推定処理モードにおいて、統計情報デコーダー部61は、推定結果である推定統計情報を、デコーダー部31に渡す。デコーダー部31は、この推定統計情報に基づいて、出力記号列の推定処理を行う。なお、本変形例において、統計情報のニューラルネットワーク上での表現方法は、設計として適宜定めるようにする。
[第7変形例]
上記の実施形態において、エンコーダー部21や、デコーダー部31や、統計情報デコーダー部61のそれぞれは、学習処理モードと推定処理モードのどちらの動作モードでも動作するように構成されていた。本変形例では、エンコーダー部21や、デコーダー部31や、統計情報デコーダー部61のそれぞれは、学習処理モードでのみ動作するようにする。この場合、実施形態において「変換装置1」として説明した装置は、モデルの学習を行うための「学習装置」として機能する。このような学習装置が動作することにより、モデルの学習を行える。学習済みのモデル(学習済みのパラメーター値のデータを含む)は、当該装置を、あるいはモデルの移植先の他の装置(コンピューター等)を、変換装置として稼働させることができる。
[第8変形例]
上記の実施形態において、エンコーダー部21や、デコーダー部31や、統計情報デコーダー部61のそれぞれは、学習処理モードと推定処理モードのどちらの動作モードでも動作するように構成されていた。本変形例では、エンコーダー部21や、デコーダー部31や、統計情報デコーダー部61のそれぞれは、推定処理モードでのみ動作するようにする。この場合、エンコーダー部21や、デコーダー部31や、統計情報デコーダー部61のモデルの学習は予め済ませておいたものとする。つまり、エンコーダー部21の内部パラメーターは機械学習処理によって予め調整済みである。また、統計情報デコーダー部61の内部パラメーターは機械学習処理によって予め調整済みである。また、デコーダー部31の内部パラメーターも機械学習処理によって予め調整済みである。例えば、他の装置(コンピューター等)から学習済みのモデル(学習済みのパラメーター値のデータを含む)を移植してもよい。この場合の変換装置1もまた、良い精度で入力フレーム画像系列から出力記号列への変換を行う。
図9は、上記の実施形態やその変形例における変換装置1(第7変形例における「学習装置」を含む)の内部構成の例を示すブロック図である。変換装置1は、コンピューターを用いて実現され得る。図示するように、そのコンピューターは、中央処理装置901と、RAM902と、入出力ポート903と、入出力デバイス904や905等と、バス906と、を含んで構成される。コンピューター自体は、既存技術を用いて実現可能である。中央処理装置901は、RAM902等から読み込んだプログラムに含まれる命令を実行する。中央処理装置901は、各命令にしたがって、RAM902にデータを書き込んだり、RAM902からデータを読み出したり、算術演算や論理演算を行ったりする。RAM902は、データやプログラムを記憶する。RAM902に含まれる各要素は、アドレスを持ち、アドレスを用いてアクセスされ得るものである。なお、RAMは、「ランダムアクセスメモリー」の略である。入出力ポート903は、中央処理装置901が外部の入出力デバイス等とデータのやり取りを行うためのポートである。入出力デバイス904や905は、入出力デバイスである。入出力デバイス904や905は、入出力ポート903を介して中央処理装置901との間でデータをやりとりする。バス906は、コンピューター内部で使用される共通の通信路である。例えば、中央処理装置901は、バス906を介してRAM902のデータを読んだり書いたりする。また、例えば、中央処理装置901は、バス906を介して入出力ポートにアクセスする。
なお、上述した実施形態における変換装置1(第7変形例における「学習装置」を含む)の少なくとも一部の機能をコンピューターで実現することができる。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、一時的に、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
[評価実験]
上で説明した実施形態の変換装置1を用いて、100エポック(epoch)の機械学習処理を実施した。その結果、統計情報を用いて推定語列を求める変換装置1のほうが、統計情報を用いずに推定語列を求める従来技術の場合よりも、BLUE値において約5%の変換精度の改善を確認できた。
本発明は、例えば、映像を基に記号列を生成するあらゆる適用領域(一例として、映像理解等)に利用することができる。特に手話映像を対象とした処理を行う場合には、聴覚障害者と健聴者のコミュニケーションに利用したり、手話学習者の教育に利用したり、コンテンツ配信の事業に利用したり、することができる。但し、本発明の利用範囲はここに例示したものには限られない。
1 変換装置
10 入力部
21 エンコーダー部
31 デコーダー部
40 出力部
61 統計情報デコーダー部
71 ロス算出部
72 統計情報ロス算出部
81 学習データ供給部
91 制御部
901 中央処理装置
902 RAM
903 入出力ポート
904,905 入出力デバイス
906 バス
2001 ニューラルネットワーク
2002 トランスフォーマー
3001 ニューラルネットワーク
3002 トランスフォーマー
3003 全結合層
6001 ニューラルネットワーク
6002 トランスフォーマー
6003 全結合層

Claims (6)

  1. 入力される画像系列を基に状態データを生成するエンコーダー部と、
    前記状態データを基に記号列についての統計の情報である統計情報を生成する統計情報デコーダー部と、
    前記状態データと前記統計情報とを基に記号列を生成するデコーダー部と、
    前記エンコーダー部への入力の基となる学習用画像系列と、前記学習用画像系列に対応する前記記号列の正解である正解記号列と、前記記号列に対応する前記統計情報の正解である正解統計情報と、の組を供給する学習データ供給部と、
    前記学習用画像系列に基づいて前記エンコーダー部が生成する状態データ、に基づいて前記デコーダー部が生成する記号列である学習用推定記号列と、前記学習用画像系列に対応して前記学習データ供給部が供給する前記正解記号列と、の差を表すロスを算出するロス算出部と、
    前記学習用画像系列に基づいて前記エンコーダー部が生成する状態データ、に基づいて前記統計情報デコーダー部が生成する統計情報である学習用推定統計情報と、前記学習用画像系列に対応して前記学習データ供給部が供給する前記正解統計情報と、の差を表す統計情報ロスを算出する統計情報ロス算出部と、
    学習処理モードと推定処理モードとを適宜切り替えて実行させるように制御する制御部と、
    を備え、
    前記学習処理モードにおいては、前記デコーダー部は、前記統計情報デコーダー部が生成した統計情報である推定統計情報、または前記学習データ供給部が供給した前記正解統計情報の、いずれかの前記統計情報を基に、前記記号列を生成し、
    前記学習処理モードにおいては、前記ロス算出部が算出した前記ロスに基づいて前記デコーダー部の内部パラメーターと前記エンコーダー部の内部パラメーターとを調整するとともに、前記統計情報ロス算出部が算出した前記統計情報ロスに基づいて前記統計情報デコーダー部の内部パラメーターと前記エンコーダー部の内部パラメーターとを調整し、
    前記推定処理モードにおいては、前記エンコーダー部が推定対象の画像系列を基に状態データを生成し、前記エンコーダー部が生成した前記状態データを基に前記統計情報デコーダー部が前記統計情報を生成し、前記デコーダー部が前記状態データと前記統計情報とを基に前記記号列を生成する、
    変換装置。
  2. 前記画像系列は、手話を表す映像であり、
    前記デコーダー部が生成する前記記号列は、前記手話のグロス表記を表す記号の列である、
    請求項に記載の変換装置。
  3. 入力される画像系列を基に状態データを生成するエンコーダー部と、
    前記状態データを基に記号列についての統計の情報である統計情報を生成する統計情報デコーダー部と、
    前記状態データと前記統計情報とを基に記号列を生成するデコーダー部と、
    前記エンコーダー部への入力の基となる学習用画像系列と、前記学習用画像系列に対応する前記記号列の正解である正解記号列と、前記記号列に対応する前記統計情報の正解である正解統計情報と、の組を供給する学習データ供給部と、
    前記学習用画像系列に基づいて前記エンコーダー部が生成する状態データ、に基づいて前記デコーダー部が生成する記号列である学習用推定記号列と、前記学習用画像系列に対応して前記学習データ供給部が供給する前記正解記号列と、の差を表すロスを算出するロス算出部と、
    前記学習用画像系列に基づいて前記エンコーダー部が生成する状態データ、に基づいて前記統計情報デコーダー部が生成する統計情報である学習用推定統計情報と、前記学習用画像系列に対応して前記学習データ供給部が供給する前記正解統計情報と、の差を表す統計情報ロスを算出する統計情報ロス算出部と、
    を備え、
    前記ロス算出部が算出した前記ロスに基づいて前記デコーダー部の内部パラメーターと前記エンコーダー部の内部パラメーターとを調整するとともに、前記統計情報ロス算出部が算出した前記統計情報ロスに基づいて前記統計情報デコーダー部の内部パラメーターと前記エンコーダー部の内部パラメーターとを調整する、
    学習装置。
  4. 前記画像系列は、手話を表す映像であり、
    前記デコーダー部が生成する前記記号列、および前記学習データ供給部が供給する正解記号列は、前記手話のグロス表記を表す記号の列である、
    請求項に記載の学習装置。
  5. コンピューターを、
    請求項1または2に記載の変換装置、
    として機能させるためのプログラム。
  6. コンピューターを、
    請求項3または4に記載の学習装置、
    として機能させるためのプログラム。
JP2020115497A 2020-07-03 2020-07-03 変換装置、学習装置、およびプログラム Active JP7493398B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020115497A JP7493398B2 (ja) 2020-07-03 2020-07-03 変換装置、学習装置、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020115497A JP7493398B2 (ja) 2020-07-03 2020-07-03 変換装置、学習装置、およびプログラム

Publications (2)

Publication Number Publication Date
JP2022013136A JP2022013136A (ja) 2022-01-18
JP7493398B2 true JP7493398B2 (ja) 2024-05-31

Family

ID=80169809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020115497A Active JP7493398B2 (ja) 2020-07-03 2020-07-03 変換装置、学習装置、およびプログラム

Country Status (1)

Country Link
JP (1) JP7493398B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018063502A (ja) 2016-10-11 2018-04-19 株式会社日本総合研究所 自然言語処理装置、自然言語処理方法および自然言語処理プログラム
JP2019519045A (ja) 2016-06-09 2019-07-04 プログレス インコーポレイテッドProgress,Inc. ニューラルネットワーク、およびニューラルネットワークトレーニングの方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019519045A (ja) 2016-06-09 2019-07-04 プログレス インコーポレイテッドProgress,Inc. ニューラルネットワーク、およびニューラルネットワークトレーニングの方法
JP2018063502A (ja) 2016-10-11 2018-04-19 株式会社日本総合研究所 自然言語処理装置、自然言語処理方法および自然言語処理プログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Hao Zhou et al.,"Spatial-Temporal Multi-Cue Network for Continuous Sign Language Recognition",arXiv,Cornell University,2020年02月08日,pp.1-8,インターネット<URL:https://arxiv.org/abs/2002.03187>,[2024年2月17日検索]

Also Published As

Publication number Publication date
JP2022013136A (ja) 2022-01-18

Similar Documents

Publication Publication Date Title
CN112487182B (zh) 文本处理模型的训练方法、文本处理方法及装置
US11783199B2 (en) Image description information generation method and apparatus, and electronic device
EP3857459B1 (en) Method and system for training a dialogue response generation system
CN110168531B (zh) 用于多模态融合模型的方法和系统
JP6504590B2 (ja) 画像のセマンティックセグメンテーションのためのシステム及びコンピューター実施方法、並びに非一時的コンピューター可読媒体
CN112733768B (zh) 基于双向特征语言模型的自然场景文本识别方法及装置
CN109919221B (zh) 基于双向双注意力机制图像描述方法
JP2018206307A (ja) 情報処理装置、情報処理方法、及びプログラム
CN114090815A (zh) 一种图像描述模型的训练方法及训练装置
CN111816159A (zh) 一种语种识别方法以及相关装置
CN114339450B (zh) 视频评论生成方法、系统、设备及存储介质
CN107766319A (zh) 序列转换方法及装置
KR20200143450A (ko) 화상 처리 방법, 장치, 전자 장치 및 저장 매체
WO2021082518A1 (zh) 机器翻译方法、机器翻译模型训练方法、装置及存储介质
CN113822790A (zh) 一种图像处理方法、装置、设备及计算机可读存储介质
Rastgoo et al. A survey on recent advances in Sign Language Production
JP7493398B2 (ja) 変換装置、学習装置、およびプログラム
CN117094365A (zh) 图文生成模型的训练方法、装置、电子设备及介质
JP7422535B2 (ja) 変換装置およびプログラム
KR102196874B1 (ko) 위성 이미지 생성 학습 장치, 위성 이미지 생성 학습 방법, 위성 이미지 생성 장치 및 위성 이미지 생성 방법
CN113469260A (zh) 一种基于卷积神经网络、注意力机制及自注意力变换器的视觉描述方法
CN110381313B (zh) 基于lstm网络与图像组质量盲评估的视频压缩感知重构方法
JP7455000B2 (ja) 変換装置、学習装置、およびプログラム
Joshi et al. FYEO: A Character Level Model for Lip Reading
JP7243821B2 (ja) 学習装置、制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240404

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240423

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240521

R150 Certificate of patent or registration of utility model

Ref document number: 7493398

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150