(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-10-07
(45)【発行日】2025-10-16
(54)【発明の名称】学習装置、変換装置、学習方法、変換方法及びプログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20251008BHJP
【FI】
G06N20/00
(21)【出願番号】P 2024545317
(86)(22)【出願日】2022-09-06
(86)【国際出願番号】 JP2022033441
(87)【国際公開番号】W WO2024052996
(87)【国際公開日】2024-03-14
【審査請求日】2025-01-28
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】NTT株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】仁泉 大輔
(72)【発明者】
【氏名】竹内 大起
(72)【発明者】
【氏名】大石 康智
(72)【発明者】
【氏名】原田 登
(72)【発明者】
【氏名】柏野 邦夫
【審査官】加藤 優一
(56)【参考文献】
【文献】NIIZUMI, Daisuke et al.,Masked Spectrogram Modeling using Masked Autoencoders for Learning General-purpose Audio Representat,arXiv.org [online],arXiv,2022年04月26日,[検索日 2022.11.22], <https://arxiv.org/pdf/2204.12260v1.pdf>
【文献】BAADE, Alan et al.,MAE-AST: Masked Autoencoding Audio Spectrogram Transformer,arXiv.org [online],arXiv,2022年03月30日,[検索日 2022.11.22], <https://arxiv.org/pdf/2203.16691v1.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00 -99/00
(57)【特許請求の範囲】
【請求項1】
変換対象のデータの表現を予め定められた所定の表現である対象表現に変換する処理、である対象表現変換処理を学習により得る制御部、
を備え、
前記制御部は、
テンソルによって表現されたデータである第0データから前記第0データの一部であるマスクデータが除かれたデータ、である第1データを処理対象として、処理対象の表現を対象表現に変換する第1表現変換処理と、前記第1表現変換処理の結果に基づき前記マスクデータの対象表現を予測するマスクデータ表現予測処理と、前記マスクデータの一部又は全部である第2データに基づき前記第2データの表現を対象表現に変換する第2表現変換処理と、前記マスクデータ表現予測処理の結果と前記第2表現変換処理の結果との違いを小さくするように前記第1表現変換処理、前記マスクデータ表現予測処理及び前記第2表現変換処理の内容を更新する更新処理と、を実行し、
更新の終了に関する所定の条件が満たされた時点の前記第1表現変換処理が前記対象表現変換処理である、
学習装置。
【請求項2】
前記制御部は、前記第0データ内の要素についてマスクデータに属するか否かを示すマスクトークンを、前記マスクデータに属する要素の数と同じ数だけ、前記第1表現変換処理の結果に対して追加する追加処理、を前記第1表現変換処理の実行後であって前記マスクデータ表現予測処理の前に実行し、
前記マスクデータ表現予測処理の処理対象は前記追加処理の結果である、
請求項1に記載の学習装置。
【請求項3】
前記第1データにおいてマスクデータの割合は、前記第0データが含むデータのうちの50%である、
請求項1に記載の学習装置。
【請求項4】
前記第1データにおいて、マスクデータではないデータの割合は、前記第0データが含むデータのうちの50%以下であり、前記マスクデータの一部であって前記第2表現変換処理に用いられるデータの割合も前記第0データが含むデータのうちの50%以下である、
請求項1に記載の学習装置。
【請求項5】
予め定められた所定の表現である対象表現への表現の変換の対象のデータを取得する変換対象取得部と、
変換対象のデータの表現を予め定められた所定の表現である対象表現に変換する処理、である対象表現変換処理を学習により得る制御部、を備え、前記制御部は、テンソルによって表現されたデータである第0データから前記第0データの一部であるマスクデータが除かれたデータ、である第1データを処理対象として、処理対象の表現を対象表現に変換する第1表現変換処理と、前記第1表現変換処理の結果に基づき前記マスクデータの対象表現を予測するマスクデータ表現予測処理と、前記マスクデータの一部又は全部である第2データに基づき前記第2データの表現を対象表現に変換する第2表現変換処理と、前記マスクデータ表現予測処理の結果と前記第2表現変換処理の結果との違いを小さくするように前記第1表現変換処理、前記マスクデータ表現予測処理及び前記第2表現変換処理の内容を更新する更新処理と、を実行し、更新の終了に関する所定の条件が満たされた時点の前記第1表現変換処理が前記対象表現変換処理である学習装置、によって得られた前記対象表現変換処理、を用いて、前記変換対象取得部が取得したデータの表現を変換する表現変換部、
を備える変換装置。
【請求項6】
変換対象のデータの表現を予め定められた所定の表現である対象表現に変換する処理、である対象表現変換処理を学習により得る制御ステップ、
を有し、
前記制御ステップは、
テンソルによって表現されたデータである第0データから前記第0データの一部であるマスクデータが除かれたデータ、である第1データを処理対象として、処理対象の表現を対象表現に変換する第1表現変換処理と、前記第1表現変換処理の結果に基づき前記マスクデータの対象表現を予測するマスクデータ表現予測処理と、前記マスクデータの一部又は全部である第2データに基づき前記第2データの表現を対象表現に変換する第2表現変換処理と、前記マスクデータ表現予測処理の結果と前記第2表現変換処理の結果との違いを小さくするように前記第1表現変換処理、前記マスクデータ表現予測処理及び前記第2表現変換処理の内容を更新する更新処理と、を実行し、
更新の終了に関する所定の条件が満たされた時点の前記第1表現変換処理が前記対象表現変換処理である、
学習方法。
【請求項7】
予め定められた所定の表現である対象表現への表現の変換の対象のデータを取得する変換対象取得ステップと、
変換対象のデータの表現を予め定められた所定の表現である対象表現に変換する処理、である対象表現変換処理を学習により得る制御ステップ、を有し、前記制御ステップは、テンソルによって表現されたデータである第0データから前記第0データの一部であるマスクデータが除かれたデータ、である第1データを処理対象として、処理対象の表現を対象表現に変換する第1表現変換処理と、前記第1表現変換処理の結果に基づき前記マスクデータの対象表現を予測するマスクデータ表現予測処理と、前記マスクデータの一部又は全部である第2データに基づき前記第2データの表現を対象表現に変換する第2表現変換処理と、前記マスクデータ表現予測処理の結果と前記第2表現変換処理の結果との違いを小さくするように前記第1表現変換処理、前記マスクデータ表現予測処理及び前記第2表現変換処理の内容を更新する更新処理と、を実行し、更新の終了に関する所定の条件が満たされた時点の前記第1表現変換処理が前記対象表現変換処理である学習方法、によって得られた前記対象表現変換処理、を用いて、前記変換対象取得ステップが取得したデータの表現を変換する表現変換ステップと、
を有する変換方法。
【請求項8】
請求項1から4のいずれか一項に記載の学習装置と、請求項5に記載の変換装置とのいずれか、としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、変換装置、学習方法、変換方法及びプログラム
に関する。
【背景技術】
【0002】
変換対象のデータの表現を予め定められた所定の表現に変換する数理モデルを、機械学習を用いて生成する技術が知られている。予め定められた所定の表現は、例えば下流タスクで要求される表現である。なお、変換対象のデータの表現を予め定められた所定の表現に変換するとは、変換対象のデータを予め定められた所定の表現で表現されたデータへと変換する符号化の処理を意味する。
【先行技術文献】
【非特許文献】
【0003】
【文献】Kaiming He, et al., "Masked autoencoders are scalable vision learners," arXiv preprint arXiv:2111.06377, 2021.
【文献】A. Baevski, et al., “data2vec: A general framework for self-supervised learning in speech, vision and language,” in arXiv preprint arXiv:2202.03555, 2022.
【発明の概要】
【発明が解決しようとする課題】
【0004】
これまで、そのような技術として、MAE(Masked Autoencoders)や、data2vecが提案されている。これらはいずれも、入力された情報の一部をマスクし、その結果を用いて学習を行う技術である。しかしながら、いずれの技術も変換の精度が悪い場合があった。
【0005】
上記事情に鑑み、本発明は、変換対象のデータの表現を所定の表現に変換する精度を向上させる技術を提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の一態様は、変換対象のデータの表現を予め定められた所定の表現である対象表現に変換する処理、である対象表現変換処理を学習により得る制御部、を備え、前記制御部は、テンソルによって表現されたデータである第0データから前記第0データの一部であるマスクデータが除かれたデータ、である第1データを処理対象として、処理対象の表現を対象表現に変換する第1表現変換処理と、前記第1表現変換処理の結果に基づき前記マスクデータの対象表現を予測するマスクデータ表現予測処理と、前記マスクデータの一部又は全部である第2データに基づき前記第2データの表現を対象表現に変換する第2表現変換処理と、前記マスクデータ表現予測処理の結果と前記第2表現変換処理の結果との違いを小さくするように前記第1表現変換処理、前記マスクデータ表現予測処理及び前記第2表現変換処理の内容を更新する更新処理と、を実行し、更新の終了に関する所定の条件が満たされた時点の前記第1表現変換処理が前記対象表現変換処理である、学習装置である。
【0007】
本発明の一態様は、予め定められた所定の表現である対象表現への表現の変換の対象のデータを取得する変換対象取得部と、変換対象のデータの表現を予め定められた所定の表現である対象表現に変換する処理、である対象表現変換処理を学習により得る制御部、を備え、前記制御部は、テンソルによって表現されたデータである第0データから前記第0データの一部であるマスクデータが除かれたデータ、である第1データを処理対象として、処理対象の表現を対象表現に変換する第1表現変換処理と、前記第1表現変換処理の結果に基づき前記マスクデータの対象表現を予測するマスクデータ表現予測処理と、前記マスクデータの一部又は全部である第2データに基づき前記第2データの表現を対象表現に変換する第2表現変換処理と、前記マスクデータ表現予測処理の結果と前記第2表現変換処理の結果との違いを小さくするように前記第1表現変換処理、前記マスクデータ表現予測処理及び前記第2表現変換処理の内容を更新する更新処理と、を実行し、更新の終了に関する所定の条件が満たされた時点の前記第1表現変換処理が前記対象表現変換処理である学習装置、によって得られた前記対象表現変換処理、を用いて、前記変換対象取得部が取得したデータの表現を変換する表現変換部、を備える変換装置である。
【0008】
本発明の一態様は、変換対象のデータの表現を予め定められた所定の表現である対象表現に変換する処理、である対象表現変換処理を学習により得る制御ステップ、を有し、前記制御ステップは、テンソルによって表現されたデータである第0データから前記第0データの一部であるマスクデータが除かれたデータ、である第1データを処理対象として、処理対象の表現を対象表現に変換する第1表現変換処理と、前記第1表現変換処理の結果に基づき前記マスクデータの対象表現を予測するマスクデータ表現予測処理と、前記マスクデータの一部又は全部である第2データに基づき前記第2データの表現を対象表現に変換する第2表現変換処理と、前記マスクデータ表現予測処理の結果と前記第2表現変換処理の結果との違いを小さくするように前記第1表現変換処理、前記マスクデータ表現予測処理及び前記第2表現変換処理の内容を更新する更新処理と、を実行し、更新の終了に関する所定の条件が満たされた時点の前記第1表現変換処理が前記対象表現変換処理である、学習方法である。
【0009】
本発明の一態様は、予め定められた所定の表現である対象表現への表現の変換の対象のデータを取得する変換対象取得ステップと、変換対象のデータの表現を予め定められた所定の表現である対象表現に変換する処理、である対象表現変換処理を学習により得る制御ステップ、を有し、前記制御ステップは、テンソルによって表現されたデータである第0データから前記第0データの一部であるマスクデータが除かれたデータ、である第1データを処理対象として、処理対象の表現を対象表現に変換する第1表現変換処理と、前記第1表現変換処理の結果に基づき前記マスクデータの対象表現を予測するマスクデータ表現予測処理と、前記マスクデータの一部又は全部である第2データに基づき前記第2データの表現を対象表現に変換する第2表現変換処理と、前記マスクデータ表現予測処理の結果と前記第2表現変換処理の結果との違いを小さくするように前記第1表現変換処理、前記マスクデータ表現予測処理及び前記第2表現変換処理の内容を更新する更新処理と、を実行し、更新の終了に関する所定の条件が満たされた時点の前記第1表現変換処理が前記対象表現変換処理である学習方法、によって得られた前記対象表現変換処理、を用いて、前記変換対象取得ステップが取得したデータの表現を変換する表現変換ステップと、を有する変換方法である。
【0010】
本発明の一態様は、上記の学習装置と上記の変換装置とのいずれかとしてコンピュータを機能させるためのプログラムである。
【発明の効果】
【0011】
本発明により、変換対象のデータの表現を所定の表現に変換する精度を向上させることが可能となる。
【図面の簡単な説明】
【0012】
【
図1】実施形態の表現変換システムの構成の一例を示す図。
【
図3】実施形態における学習部が実行する処理の流れの概要を説明する説明図。
【
図4】実施形態における学習部が実行する学習の処理の流れの一例を示すフローチャート。
【
図5】実施形態の学習装置のハードウェア構成の一例を示す図。
【
図6】実施形態における制御部の構成の一例を示す図。
【
図7】実施形態における変換装置のハードウェア構成の一例を示す図。
【
図8】実施形態における制御部の構成の一例を示す図。
【
図9】実施形態における変換装置が実行する処理の流れの一例を示すフローチャート。
【
図10】実施形態における実験の結果の一例を示す図。
【発明を実施するための形態】
【0013】
(実施形態)
図1は、実施形態の表現変換システム100の構成の一例を示す図である。表現変換システム100は、学習装置1と変換装置2とを含む。学習装置1は、変換対象のデータの表現を予め定められた所定の表現(以下「対象表現」という。)に変換する処理(以下「対象表現変換処理」という。)を学習により得る。
【0014】
なお、データの表現を対象表現に変換するとは、符号化の対象のデータを、対象表現で表現されたデータへと変換する符号化の処理を意味する。したがって、変換対象のデータの表現を対象表現に変換するとは、変換対象のデータを対象表現で表現されたデータへと変換する符号化の処理を意味する。
【0015】
対象表現は、例えば表現埋め込みである。対象表現は、例えば768個の浮動小数点数値、という表現である。対象表現は、例えば1024個の浮動小数点数値、という表現であってもよい。対象表現は、例えば2048個の浮動小数点数値、という表現であってもよい。表現変換処理は学習モデルの一種である。
【0016】
変換対象のデータは、画像データと、音響信号データと、自然言語データと、一般の時系列データとのいずれかに基づいて得られるデータであってテンソルで表現されるデータであればどのようなデータであってもよい。したがって、変換対象のデータは、例えば画像データであってもよいし、音響信号データのスペクトログラムであってもよいし、語をサンプルとする系列であって各語がM次元ベクトル(Mは1以上の自然数)で表現された系列(以下「自然言語系列」という。)であってもよい。変換対象のデータは、例えば文字以外の記号や数字をベクトル表現した一般の時系列データであってもよい。
【0017】
音響信号データのスペクトログラムは、音響信号データに基づいて得られる。自然言語系列は、自然言語データに基づいて得られる。
【0018】
学習装置1は、学習部10を備える。学習部10は、第1表現変換処理と、マスクデータ表現予測処理と、第2表現変換処理と、更新処理と、を実行する。なお、第1表現変換処理と、マスクデータ表現予測処理と、第2表現変換処理の内容は、例えば転移学習等により予め更新済みであってもよい。
【0019】
第1表現変換処理は、処理対象の表現を対象表現に変換する処理である。学習部10による第1表現変換処理の実行の際の第1表現変換処理の処理対象は、第1データである。
【0020】
第1データは、第0データの一部であるマスクデータが第0データから除かれたデータである。第0データは、テンソルによって表現されたデータである。
【0021】
第0データは、例えば、パッチへの区分が行われた状態の原データを表現するテンソルであり、各パッチの位置を示す情報であるデータ位置情報も有するテンソルであり、テンソルを要素とするテンソルである。第0データは、例えば、分割対象のテンソルがパッチ分割された結果の各パッチのベクトルを要素とする行列である。パッチ分割とは、分割の対象を、パッチと呼称される部分に区分けする処理である。
【0022】
原データは、変換対象に応じたデータであってテンソルで表現されるデータである。したがって、変換対象が画像データである場合には、原データは、画像データデータである。
【0023】
変換対象データが音響信号データに基づいて得られるデータである場合には、原データは、音響信号データに基づいて得られるデータであってテンソルで表現されるデータである。このようなデータは、例えば音響信号データのスペクトログラムである。
【0024】
変換対象データが自然言語データに基づいて得られるデータである場合には、原データは、自然言語データに基づいて得られるデータであってテンソルで表現されるデータである。このようなデータは、例えば自然言語系列である。変換対象データが一般の時系列データに基づいて得られるデータである場合には、原データは、一般の時系列データに基づいて得られるデータであってテンソルで表現されるデータである。このようなデータは、例えば株価や気温等の数値の時系列である。
【0025】
このように原データは、画像データと、音響信号データに基づいて得られるデータであってテンソルで表現されるデータと、自然言語データに基づいて得られるデータであってテンソルで表現されるデータと、一般の時系列データに基づいて得られるデータであってテンソルで表現されるデータと、のいずれかである。
【0026】
第0データのテンソルの1つの要素が1つのパッチに関する情報を示す。1つのパッチには、原データを表現するテンソルの1以上の要素が含まれる。1つの要素は、例えば768次元のベクトルで表現されるデータである。なお、パッチの位置とは、各パッチに対応する要素の第0データ内における位置、である。
【0027】
なお、パッチへの区分とデータ位置情報の付与とは、学習装置1が実行してもよい。すなわち、原データに基づき第0データを得る処理(以下「第0データ生成処理」という。)は、学習装置1が実行してもよいし、学習装置1とは異なる他の装置が実行してもよい。第0データは、例えば原データそのものであってもよい。このような場合、第0データ生成処理が実行される必要はない。
【0028】
図2は、実施形態におけるパッチを説明する説明図である。
図2は、具体的には、変換対象が音響信号データである場合を例にパッチを説明する説明図である。さらに具体的には、
図2の例では、音響信号データが、周波数軸と時間軸とから構成されるスペクトログラムである場合を例にパッチを説明する説明図である。
【0029】
図2はパッチの説明のため、スペクトログラムを、周波数軸及び時間軸のどちらについてもサイズが同じ複数の四角形の区画に区分けして、示している。パッチとは、この区分けされた各区画をベクトルで表現するデータである。例えば
図2の領域D1の区画1つを表現するデータが1つのパッチである。
【0030】
パッチは、例えば対応する区画に含まれる各画素の画素値を示すベクトルである。パッチを表現するベクトルの要素数は、ベクトルによらず同一である。パッチを表現するベクトルの要素数はベクトルによらず同一であればよく、例えば、区画に含まれる各画素の画素数に比例してもよい。比例の係数は1であってもよいし1でなくてもよい。比例の係数が1ではない場合、各要素の値は、例えば補間によって得られた値であってもよい。例えば1つのパッチに含まれる画素数が256であって係数が3である場合、パッチは、768次元のベクトルである。
【0031】
データ位置情報は、例えば、パッチを表現するベクトルの次元数と同一の次元数のベクトルである。第0データの各要素は例えば、パッチを表現するベクトルとデータ位置情報を示すベクトルとのベクトル和で表現されたベクトルである。
【0032】
図2の例において各パッチの位置は、周波数軸方向と時間軸方向との各位置で示される。したがって
図2の例において第0データは、ベクトルを要素とする行列である。
図2の例においてパッチが画素数に比例する要素数のベクトルである場合、第0データは、1階のテンソルを要素とする行列である。なお、1階のテンソルとはベクトルであり、2階のテンソルとは行列であることは言うまでもない。ちなみに、0階のテンソルはスカラーである。
【0033】
なお、比例の係数が1より大きい場合、第1表現変換処理等の各種処理においてデータの符号化が行われた際の情報の欠落の増大を抑制することができる。
【0034】
このように、第0データは、原データに基づいて得られる。そして、第0データを表現するテンソルの1つの要素の値は、原データを表現するテンソルが所定の規則で区分けされた場合における各区画をベクトルで表現する。そして、区画を表現するベクトルの次元は、区画に含まれる要素数であって原データを表現するテンソルの要素数、よりも、例えば、大きい。
【0035】
図1の説明に戻る。マスクデータ表現予測処理は、第1表現変換処理の結果に基づきマスクデータの対象表現を予測する処理である。第2表現変換処理は、マスクデータの一部又は全部である第2データに基づき前記第2データの表現を対象表現に変換する処理である。更新処理は、マスクデータ表現予測処理の結果と第2表現変換処理の結果との違い(以下「変換誤差」という。)を小さくするように第1表現変換処理、マスクデータ表現予測処理及び第2表現変換処理の内容を更新する処理である。
【0036】
変換誤差は、マスクデータ表現予測処理の結果と第2表現変換処理の結果との間のMSE(mean square error)であってもよいし、差分の平均絶対値であるL1であってもよい。
【0037】
このように学習部10は、マスクデータを除いたデータに基づいて得られたマスクデータの対象表現と、マスクデータの一部又は全部に基づいて得られたマスクデータの対象表現との違いを小さくように、第1表現変換処理とマスクデータ表現予測処理との学習を行う。
【0038】
変換装置2は、更新の終了に関する所定の条件(以下「更新終了条件」という。)が満たされるまで更新された時点の第1表現変換処理を用いて、処理対象のデータの表現の変換を行う。
【0039】
ここで、学習部10が実行する処理の流れの一例を、図を用いて説明する。
図3は、実施形態における学習部10が実行する処理の流れの概要を説明する説明図である。
図3においてデータxは、第0データの一例である。
図3の例において学習部10は、第0データxに基づき第1データと第2データとを生成する。
図3の例におけるデータD101が第1データの一例であり、データD102が第2データの一例である。
【0040】
データD101は第0データの一部がマスクされたデータである。なお、マスクするとは、処理対象のデータを所定の他の処理による処理対象とさせない処理を意味する。すなわち、マスクするとは、情報アクセスの制限をかける処理を意味する。なお、所定の他の処理は、例えばマスクデータ表現予測処理である。マスクされたデータの次段での取り扱いの一例を示すことでマスクの処理の結果の一例を説明する。例えば、入力されたデータが“010101010101”という系列である場合であってマスクによって“****0101****”という系列のデータに変換された場合に、「*」のデータは次段の処理の対象にはならない。これがマスクの結果である。この例において「*」が次段の処理の対象にならない。すなわち、この例において「*」は情報アクセスの制限されたデータの一例である。
【0041】
図3において、無地のパッチはマスクされたパッチを表す。
図3において無地ではないパッチはマスクされていないパッチを表す。パッチP1は無地のパッチの一例である。パッチP2は、無地ではないパッチの一例である。マスクされたパッチの集合がマスクデータの一例である。
【0042】
図3の例では、第1データにおけるマスクデータが第2データにおいてマスクデータではないデータである。したがって第1データにおけるマスクデータではないデータと、第2データにおけるマスクデータではないデータとを含むデータは、第0データを含む。
【0043】
しかしながら、第2表現変換処理の説明で述べたように、必ずしも、第1データにおけるマスクデータの全てが第2データにおいて、マスクデータではないデータ、である必要はない。第2データにおいてマスクデータではないデータは、第1データにおけるマスクデータの一部、であってもよい。
【0044】
第1データにおけるマスクデータを、第0データのうちのいずれのデータにするのかの決定は、どのように行われてもよく、例えばランダムに行われる。以下、第1データにおけるマスクデータを、第0データのうちのいずれのデータにするのかの決定の処理を、第1マスクデータ決定処理という。
【0045】
上述したように、第2データは、例えば、第1データにおいてマスクデータとして決定されたデータである。しかしながら、上述したように、必ずしも第1データにおいてマスクデータとして決定されたデータの全てが第2データである必要はない。第1データにおいてマスクデータとして決定されたデータの全てではなく一部が第2データであるという場合について、どのように決定するのか一例の説明を行う。このような場合、第2データについても、第1データにおいてマスクデータとして決定されたデータのうち、いずれをマスクデータとするのか、の決定はどのように行われてもよく、例えばランダムに行われる。
【0046】
以下、第1データにおいてマスクデータとして判定されたデータのうち、いずれをマスクデータとするのか、の決定の処理は、第2マスクデータ決定処理という。なお、ここまでの説明からわかるように、第2データが第1データにおいてマスクデータとして決定されたデータの全てである場合には、第2マスクデータ決定処理は必ずしも実行される必要はない。なぜなら、第1データにおいてマスクデータとして決定されたデータが第2データだからである。
【0047】
第1マスクデータ決定処理と第2マスクデータ決定処理とは、
図3の例では学習部10が実行する。しかしながら、第1マスクデータ決定処理と第2マスクデータ決定処理とは、必ずしも学習部10が実行する必要はない。例えば、第1データ及び第2データの生成まで学習装置1以外の他の装置が実行し、生成された第1データ及び第2データが学習部10に実行されてもよい。このような場合、学習部10は第1マスクデータ決定処理と第2マスクデータ決定処理とを実行しない。なお、第2データが第1データにおけるマスクデータの全てである場合には、第2マスクデータ決定処理が実行される必要はない。
【0048】
図3の例において学習部10は、第1データに対して第1変換処理を実行する。
図3における関数f
θ(・)は第1変換処理を表す。
図3に記載のz
θは、追加処理の結果を表す。追加処理は、第1データに対する第1変換処理の結果に対して、マスクデータに属する要素の数と同じ数だけマスクトークンを追加する処理である。マスクトークンは、第0データ内の要素についてマスクデータに属するか否かを示す情報である。
【0049】
マスクデータに属する要素とは、第0データを表現するテンソルの要素のうち第1データにおけるマスクデータに属する要素である。したがって、マスクデータに属する要素は、例えば第1マスクデータ決定処理においてマスクデータであると判定されたパッチである。
【0050】
すなわち、追加処理とは、パッチP1の第0データ内の位置を示す情報とマスクトークンであることを示す情報を足し合わせたベクトルを、第1変換処理の結果に追加する処理である。このように、追加処理の結果は、第1変換処理の結果に基づく結果、の一例である。
図3の例のように、追加処理が実行される場合には、追加処理は例えば学習部10が実行する。
【0051】
図3の例において学習部10は、追加処理の結果に対してマスクデータ表現予測処理を実行する。このように、追加処理は、第1表現変換処理の実行後であってマスクデータ表現予測処理の前に実行される。
図3における関数q
θ(・)はマスクデータ表現予測処理を表す。
図3に記載のy
θは、マスクデータ表現予測処理の結果を表す。
【0052】
図3の例において学習部10は、第2データに対して第2変換処理を実行する。
図3における関数f
ξ(・)は第2変換処理を表す。第1変換処理を表す関数f
θと第2変換処理を表す関数f
ξとは、どちらもパラメトライズされた関数であり、更新処理によりパラメータの値が更新される関数である。
【0053】
関数f
θという記号はパラメータの値がθである関数fを意味し、関数f
ξという記号はパラメータの値がξである関数fを意味する。したがって、関数f
θという記号と関数f
ξという記号とは、パラメータの違いを除いて、第1変換処理と第2変換処理との関数が同じであることを示す。
図3に記載のz´
ξは、第2変換処理の結果を表す。
【0054】
マスクデータ表現予測処理の結果は、マスクデータの対象表現である。第2変換処理の結果は、マスクデータの全部又は一部の対象表現である。したがって、変換誤差に基づき、変換誤差を小さくするように第1表現変換処理と、マスクデータ表現予測処理と、第2表現変換処理の内容が更新されることで、変換対象のデータの表現を所定の表現に変換する精度が向上する。
【0055】
図3における“Maximize agreement”は変換誤差を小さくするように、第1表現変換処理と、マスクデータ表現予測処理と、第2表現変換処理の内容を更新することを示す。すなわち、
図3における“Maximize agreement”は学習部10が更新処理を実行することを示す。
【0056】
図3における“stop gradient”は、第2表現変換処理の内容の更新に際して、誤差逆伝搬法は実行されない、ことを示す。なお、処理の内容の更新では、具体的には、処理で実行される関数に含まれるパラメータの値が更新される。したがって関数f
ξで表現される第2変換処理の例でいえば、パラメータξの値が更新されることが、第2変換処理の内容の更新である。
図3の例において第2表現変換処理の内容は、誤差逆伝搬法ではなく、他の更新の処理によって更新される。他の更新の処理は、例えば、第1表現変換処理の内容に基づく所定の指数移動平均処理である。
【0057】
指数移動平均処理の例を説明する。第1変換処理の内容や、第2変換処理の内容は、具体的には各処理を表現するパラメトライズされた関数のパラメータの値が変更されることで変化する。第1変換処理を表現するパラメトライズされた関数は例えば関数fθであり、第2変換処理を表現するパラメトライズされた関数は例えば関数fξである。この場合、指数移動平均処理で得られるt回目の更新後のパラメータξの値は、例えばξ[t]=βξ[t-1]+(1-β)θ[t-1]である。βは、所定の定数である。βは例えば0.99である。
【0058】
実はξ[t]=βξ[t-1]+(1-β)θ[t-1]は、各更新時のθの値を所定の重み付けをして積算した量である。したがって、指数移動平均処理とは、各更新時のθの値の平均値である。各更新時のθの値の平均値は、更新が進み精度が高まるほど収束する。したがって、指数移動平均処理は、変換の精度の高いξへの更新を可能にする。そして、ξの値が変換の精度の高い値に収束すれば、変換誤差を小さくしようとする更新処理の結果、θの値も変換の精度の高い値に収束する。
【0059】
図4は、実施形態における学習部10が実行する学習の処理の流れの一例を示すフローチャートである。学習部10が第1データ及び第2データを取得する(ステップS101)。次に学習部10が、第1変換処理を実行する(ステップS102)。次に学習部10が、マスクデータ表現予測処理を実行する(ステップS103)。次に学習部10が、第2変換処理を実行する(ステップS104)。
【0060】
次に学習部10が更新処理を実行する(ステップS105)。次に学習部10が、更新終了条件が満たされたか否かを判定する(ステップS106)。更新終了条件が満たされた場合(ステップS106:YES)、処理が終了する。一方、更新終了条件が満たされない場合(ステップS106:NO)、ステップS101の処理に戻る。
【0061】
更新終了条件が満たされた時点の第1表現変換処理が対象表現変換処理、である。学習部10による学習時には第1表現変換処理の処理対象は第1データであった。しかしながら、マスクデータは予め定められたものではなく学習のたびに同じなわけではない。そのため、更新終了条件が満たされた時点の第1表現変換処理(すなわち、対象表現変換処理)は、マスクデータを含まない処理対象についても、その表現を高い精度で対象表現に変換することができる。なお、ステップS102~ステップS103の処理とステップS104の処理とは並列に実行されてもよい。
【0062】
図5は、実施形態の学習装置1のハードウェア構成の一例を示す図である。学習装置1は、バスで接続されたCPU(Central Processing Unit)等のプロセッサ91とメモリ92とを備える制御部11を備え、プログラムを実行する。学習装置1は、プログラムの実行によって制御部11、入力部12、通信部13、記憶部14及び出力部15を備える装置として機能する。
【0063】
より具体的には、プロセッサ91が記憶部14に記憶されているプログラムを読み出し、読み出したプログラムをメモリ92に記憶させる。プロセッサ91が、メモリ92に記憶させたプログラムを実行することによって、学習装置1は、制御部11、入力部12、通信部13、記憶部14及び出力部15を備える装置として機能する。
【0064】
制御部11は、学習装置1が備える各種機能部の動作を制御する。制御部11は、学習部10を備える。そのため制御部11は、例えば第1表現変換処理と、マスクデータ表現予測処理と、第2表現変換処理と、更新処理とを実行する。制御部11は、さらに、第1マスクデータ決定処理を実行してもよいし、第2マスクデータ決定処理を実行してもよいし、追加処理を実行してもよい。
【0065】
制御部11は、例えば出力部15の動作を制御する。制御部11は、例えば第1表現変換処理や、マスクデータ表現予測処理や、第2表現変換処理や、更新処理等の各種処理の実行により生じた各種情報を記憶部14に記録する。
【0066】
入力部12は、マウスやキーボード、タッチパネル等の入力装置を含んで構成される。入力部12は、これらの入力装置を学習装置1に接続するインタフェースとして構成されてもよい。入力部12は、学習装置1に対する各種情報の入力を受け付ける。
【0067】
通信部13は、学習装置1を外部装置に接続するための通信インタフェースを含んで構成される。通信部13は、有線又は無線を介して外部装置と通信する。外部装置は、例えば第0データの送信元の装置である。外部装置が第0データの送信元の装置である場合、通信部13は第0データの送信元の装置との通信によって、第0データを取得する。
【0068】
外部装置は、例えば原データの送信元の装置である。外部装置が原データの送信元の装置である場合、通信部13は原データの送信元の装置との通信によって、原データを取得する。外部装置は、例えば音響信号データの送信元の装置である。
【0069】
外部装置は、例えば音響信号データの送信元の装置である。外部装置が音響信号データの送信元の装置である場合、通信部13は音響信号データの送信元の装置との通信によって、音響信号データを取得する。
【0070】
外部装置は、例えば自然言語データの送信元の装置である。外部装置が自然言語データの送信元の装置である場合、通信部13は自然言語データの送信元の装置との通信によって、自然言語データを取得する。
【0071】
外部装置は、例えば文字以外の記号や数字をベクトル表現した一般の時系列データの送信元の装置である。外部装置が一般の時系列データの送信元の装置である場合、通信部13は一般の時系列データの送信元の装置との通信によって、一般の時系列データを取得する。
【0072】
なお通信部13に入力される各種情報は、通信部13に代えて入力部12に入力されてもよい。
【0073】
外部装置は、例えば変換装置2である。通信部13は、変換装置2との通信によって、更新終了条件が満たされた時点の第1表現変換処理(すなわち、対象表現変換処理)の内容を示す情報を変換装置2に送信する。
【0074】
記憶部14は、磁気ハードディスク装置や半導体記憶装置などのコンピュータ読み出し可能な記憶媒体装置(non-transitory computer-readable recording medium)を用いて構成される。記憶部14は学習装置1に関する各種情報を記憶する。記憶部14は、例えば入力部12又は通信部13を介して入力された情報を記憶する。記憶部14は、例えば制御部11の動作により生じた各種情報を記憶する。
【0075】
出力部15は、各種情報を出力する。出力部15は、例えばCRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示装置を含んで構成される。出力部15は、これらの表示装置を学習装置1に接続するインタフェースとして構成されてもよい。出力部15は、例えば入力部12に入力された情報を出力する。出力部15は、例えば制御部11の処理の結果を表示してもよい。
【0076】
図6は、実施形態における制御部11の構成の一例を示す図である。制御部11は、学習部10と、データ取得部110、記憶制御部120、通信制御部130及び出力制御部140を備える。
【0077】
データ取得部110は、学習部10に送信するデータを取得する。学習部10に送信するデータは、第0データであってもよいし、第1データと第2データとの組であってもよい。データ取得部110が第1データと第2データとの組を学習部10に送信する場合であって、データ取得部110が第0データを取得する場合には、データ取得部110は、第1マスクデータ決定処理と第2マスクデータ決定処理とを実行する。
【0078】
入力部12又は通信部13が音響信号データを取得する場合、データ取得部110は入力部12又は通信部13の取得した音響信号データに基づいて得られるデータであってテンソルで表現されるデータを原データとして取得する。そしてさらにデータ取得部110は第0データ生成処理を実行することで、得た原データに基づき第0データを取得する。
【0079】
入力部12又は通信部13が自然言語データを取得する場合、データ取得部110は入力部12又は通信部13の取得した自然言語データに基づいて得られるデータであってテンソルで表現されるデータを原データとして取得する。そしてさらにデータ取得部110は第0データ生成処理を実行することで、得た原データに基づき第0データを取得する。
【0080】
入力部12又は通信部13が文字以外の記号や数字をベクトル表現した一般の時系列データを取得する場合、データ取得部110は入力部12又は通信部13の取得した一般の時系列データに基づいて得られるデータであってテンソルで表現されるデータを原データとして取得する。そしてさらにデータ取得部110は第0データ生成処理を実行することで、得た原データに基づき第0データを取得する。
【0081】
入力部12又は通信部13が第0データを取得する場合、データ取得部110は、入力部12又は通信部13の取得した第0データを取得する。入力部12又は通信部13が第1データと第2データとの組を取得する場合、データ取得部110は、入力部12又は通信部13の取得した第1データと第2データとの組を取得する。
【0082】
記憶制御部120は、記憶部14に各種情報を記録する。通信制御部130は通信部13の動作を制御する。出力制御部140は、出力部15の動作を制御する。
【0083】
図7は、実施形態における変換装置2のハードウェア構成の一例を示す図である。変換装置2は、バスで接続されたCPU等のプロセッサ93とメモリ94とを備える制御部21を備え、プログラムを実行する。変換装置2は、プログラムの実行によって制御部21、入力部22、通信部23、記憶部24及び出力部25を備える装置として機能する。
【0084】
より具体的には、プロセッサ93が記憶部24に記憶されているプログラムを読み出し、読み出したプログラムをメモリ94に記憶させる。プロセッサ93が、メモリ94に記憶させたプログラムを実行することによって、変換装置2は、制御部21、入力部22、通信部23、記憶部24及び出力部25を備える装置として機能する。
【0085】
制御部21は、変換装置2が備える各種機能部の動作を制御する。制御部21は、例えば学習装置1が得た、更新終了条件が満たされた時点の第1表現変換処理(すなわち、対象表現変換処理)の内容を示す情報、を取得し、記憶部24に記録する。
【0086】
制御部21は、対象表現変換処理を実行する。制御部21による対象表現変換処理の実行は、例えば制御部21が、記憶部24に記録された対象表現変換処理の内容を示す情報を読み出し実行することで、実行される。制御部21は、例えば出力部25の動作を制御する。制御部21は、例えば対象表現変換処理の実行により生じた各種情報を記憶部24に記録する。
【0087】
入力部22は、マウスやキーボード、タッチパネル等の入力装置を含んで構成される。入力部22は、これらの入力装置を変換装置2に接続するインタフェースとして構成されてもよい。入力部22は、変換装置2に対する各種情報の入力を受け付ける。
【0088】
通信部23は、変換装置2を外部装置に接続するための通信インタフェースを含んで構成される。通信部23は、有線又は無線を介して外部装置と通信する。外部装置は、例えば対象表現への表現の変換の対象のデータの送信元の装置である。通信部23は、このような外部装置との通信により、対象表現への表現の変換の対象のデータを取得する。外部装置は、例えば学習装置1である。通信部23は、学習装置1との通信により、対象表現変換処理の内容を示す情報を取得する。
【0089】
なお通信部23に入力される各種情報は、通信部23に代えて入力部22に入力されてもよい。
【0090】
記憶部24は、磁気ハードディスク装置や半導体記憶装置などのコンピュータ読み出し可能な記憶媒体装置(non-transitory computer-readable recording medium)を用いて構成される。記憶部24は変換装置2に関する各種情報を記憶する。記憶部24は、例えば入力部22又は通信部23を介して入力された情報を記憶する。記憶部24は、例えば制御部21の動作により生じた各種情報を記憶する。記憶部24は、例えば対象表現変換処理の内容を記憶する。
【0091】
出力部25は、各種情報を出力する。出力部25は、例えば下流タスクを実行する装置と通信可能に接続された通信インタフェースである。出力部25は、例えばCRTディスプレイや液晶ディスプレイ、有機ELディスプレイ等の表示装置を含んで構成されてもよい。出力部25は、これらの表示装置を変換装置2に接続するインタフェースとして構成されてもよい。出力部25は、例えば入力部22に入力された情報を出力する。出力部25は、例えば対象表現変換処理の実行結果を出力してもよい。
【0092】
図8は、実施形態における制御部21の構成の一例を示す図である。制御部21は、変換対象取得部210、表現変換部220、記憶制御部230、通信制御部240及び出力制御部250を備える。変換対象取得部210は、通信部23に入力された、対象表現への表現の変換の対象のデータ、を取得する。
【0093】
表現変換部220は、対象表現変換処理、を用いて、変換対象取得部210が取得したデータの表現を変換する。表現変換部220は、変換対象取得部210が取得したデータに応じて、対象表現変換処理を実行可能なように、第0データ生成処理等のデータ取得部110が実行した各種処理を実行してもよい。
【0094】
記憶制御部230は、記憶部24に各種情報を記録する。通信制御部240は通信部23の動作を制御する。出力制御部250は、出力部25の動作を制御する。
【0095】
図9は、実施形態における変換装置2が実行する処理の流れの一例を示すフローチャートである。変換対象取得部210が、通信部23に入力された、対象表現への表現の変換の対象のデータ、を取得する(ステップS201)。次に表現変換部220が対象表現変換処理を用いて、ステップS201で取得されたデータの表現を変換する(ステップS202)。次に、出力制御部250が出力部25の動作を制御して、ステップS202の結果を出力部25に出力させる(ステップS203)。なお、出力部25による出力先は、例えば下流タスクを実行する装置であってもよい。
【0096】
<実験結果>
対象表現変換処理を用いて表現の変換が行われたデータ、に対する下流タスクを実行する実験の結果を、
図10を用いて説明する。実験において下流タスクとしては、環境音の分類、音声コマンドワード識別、話者識別、音声言語分類、音声に含まれる感情の分類、音楽ジャンルの分類、楽音の楽器分類、楽音の音程分類、の各タスクが行われた。
【0097】
図10は、実施形態における実験の結果の一例を示す図である。“ESC50”及び“US8K”はいずれも、環境音の分類のタスクを示す。“SPCV2”は、音声コマンドワード識別のタスクを示す。“VC1”は、話者識別のタスクを示す。“VF”は、音声言語分類のタスクを示す。“CRM-D”は、音声に含まれる感情の分類のタスクを示す。“GTZAN”は、音楽ジャンルの分類のタスクを示す。“NSynth”は、楽音の楽器分類のタスクを示す。“Surge”は、楽音の音程分類のタスクを示す。
【0098】
“MAE”は、既存の技術であるMAE(Masked Autoencoders)を示す。“MABL”は、対象表現変換処理を示す。
図9の結果は、対象表現変換処理による表現の変換の結果を用いた下流タスクの精度は、いずれの下流タスクについても、MAEによる表現の変換の結果を用いた下流タスクの精度よりも高いことを示す。
【0099】
例えば、“ESC50”については、MAEによる表現の変換の結果を用いた下流タスク“ESC50”の精度は87.35%であるのに対し、対象表現変換処理による表現の変換の結果を用いた下流タスク“ESC50”の精度は89.03%である。
【0100】
例えば、“VC1”については、MAEによる表現の変換の結果を用いた下流タスク“VC1”の精度は54.64%であるのに対し、対象表現変換処理による表現の変換の結果を用いた下流タスク“VC1”の精度は58.96%である。
【0101】
このように構成された学習装置1は、マスクデータを除いたデータに基づいて得られたマスクデータの表現と、マスクデータの一部又は全部に基づいて得られたマスクデータの表現との違いを小さくように、第1表現変換処理の学習を行う。
【0102】
これは、モデルの出力する非マスクパッチの表現からマスク部分のパッチ画像を復元し、入力信号と復元信号の差を利用して損失を計算するMAEとは異なる。MAEの場合、表現の変換の後にさらに復元(すなわち復号化)を行うため、復元に伴い、情報に誤差が生じてしまう場合がある。そのため、学習時に復元を行わない学習装置1は、MAEと異なり、変換対象のデータの表現を所定の表現(すなわち対象表現)に変換する精度を向上させることができる。
【0103】
また、学習装置1による学習は、data2vecとも異なる。data2vecの場合、全パッチを入力して移動平均モデルの対象表現を獲得し、そのうちマスク部分のみを教師信号として利用するため、マスク部分の対象表現には非マスク部分の情報が含まれてしまう。なお、マスク部分とはマスクデータのことであり、非マスク部分とは第0データのうちマスクデータ以外のデータである。その結果、data2vecでは非マスク部分の情報に依存した学習が行われてしまい、表現の変換の精度を向上させる学習が行われない場合がある。
【0104】
一方、学習装置1による学習では、第2表現変換処理において第0データのうちマスクデータではないデータを用いずにマスクデータの一部又は全部の対象表現を得る。そして、第2表現変換処理の結果が、マスクデータ表現予測処理の結果と比較される。すなわち、学習装置1による学習では、教師信号として第2表現変換処理の結果が用いられる。第2表現変換処理の結果は上述したように非マスク部分の情報を含んでいない。そのため学習装置1は、data2vecと異なり、変換対象のデータの表現を所定の表現に変換する精度を向上させることができる。
【0105】
(変形例)
なお、第1データにおいて、マスクデータの割合は第0データが含むデータのうちの50%であってもよい。マスクデータの割合が50%である場合、以下の理由(以下「第1理由」という。)により、50%でない場合よりも変換対象のデータの表現を所定の表現に変換する精度が向上する。
【0106】
<第1理由>
第1表現変換処理、第2表現変換処理それぞれが出力する対象表現は、それぞれのマスクデータを含んだデータ全体をモデル化することで変換誤差が小さくなる。モデル化はマスクデータが少なければ容易であり、多ければ困難である。異なる難易度で処理された対象表現は、モデル化に利用できる情報量が異なり異質である。 マスクデータの割合を50%とすることで、第一データと第二データは同じ情報量を素に処理された同質な対象表現になり、その変換誤差はより良いモデル化を学習するために最適となる。
【0107】
なお、第1データにおいて、マスクデータではないデータの割合は、第0データが含むデータのうちの50%以下であり、マスクデータの一部であって第2表現変換処理に用いられるデータの割合も第0データが含むデータのうちの50%以下であってもよい。このような場合よりモデル化の難易度が上がるため、そうでない場合よりも、変換対象のデータの表現を所定の表現に変換する精度が向上する。
【0108】
学習装置1及び変換装置2はそれぞれ、ネットワークを介して通信可能に接続された複数台の情報処理装置を用いて実装されてもよい。この場合、学習装置1及び変換装置2のそれぞれが備える各機能部は、複数の情報処理装置に分散して実装されてもよい。
【0109】
なお、学習装置1及び変換装置2は、必ずしも異なる装置として実装される必要は無い。学習装置1及び変換装置2は、例えば両者の機能を併せ持つ1つの装置として実装されてもよい。
【0110】
なお、表現変換システム100、学習装置1及び変換装置2それぞれの各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プログラムは、電気通信回線を介して送信されてもよい。
【0111】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0112】
100…表現変換システム、 1…学習装置、 2…変換装置、 10…学習部、 11…制御部、 12…入力部、 13…通信部、 14…記憶部、 15…出力部、 110…データ取得部、 120…記憶制御部、 130…通信制御部、 140…出力制御部、 21…制御部、 22…入力部、 23…通信部、 24…記憶部、 25…出力部、 210…変換対象取得部、 220…表現変換部、 230…記憶制御部、 240…通信制御部、 250…出力制御部、 91…プロセッサ、 92…メモリ、 93…プロセッサ、 94…メモリ