(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-07
(45)【発行日】2023-11-15
(54)【発明の名称】データ生成モデル学習装置、データ生成装置、データ生成モデル学習方法、データ生成方法、プログラム
(51)【国際特許分類】
G10L 25/51 20130101AFI20231108BHJP
G06N 3/04 20230101ALI20231108BHJP
G06N 3/08 20230101ALI20231108BHJP
G10H 1/00 20060101ALN20231108BHJP
【FI】
G10L25/51
G06N3/04
G06N3/08
G10H1/00 B
(21)【出願番号】P 2021522680
(86)(22)【出願日】2020-04-08
(86)【国際出願番号】 JP2020015792
(87)【国際公開番号】W WO2020241071
(87)【国際公開日】2020-12-03
【審査請求日】2021-11-17
(31)【優先権主張番号】P 2019097308
(32)【優先日】2019-05-24
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】特許法第30条第2項適用 (1)発行日 2018年8月29日 刊行物 一般社団法人日本音響学会 2018年秋季研究発表会講演論文集 講演要旨・講演論文 CD-ROM 2-2-1 (2)ウェブサイト掲載日 2019年5月27日 ウェブサイトのアドレス 日本電信電話株式会社 ニュースリリース ウェブサイト https://www.ntt.co.jp/news2019/1905/190527b.html (3)開催日 2019年5月30日~2019年5月31日(公知日:2019年5月30日、31日) 集会名、開催場所 NTTコミュニケーション科学基礎研究所オープンハウス2019 http://www.kecl.ntt.co.jp/openhouse/2019/index.html 主催:日本電信電話株式会社 NTTコミュニケーション科学基礎研究所 開催場所 京都府相楽郡精華町光台2-4(けいはんな学研都市)NTT京阪奈ビルB棟3階大会議室 (4)開催日 2019年10月25日~2019年10月26日(公知日2019年10月25日) 集会名 DCASE Workshop (予稿集) http://dcase.community/articles/dcase2019-best-paper-awards
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】100121706
【氏名又は名称】中尾 直樹
(74)【代理人】
【識別番号】100128705
【氏名又は名称】中村 幸雄
(74)【代理人】
【識別番号】100147773
【氏名又は名称】義村 宗洋
(72)【発明者】
【氏名】柏野 邦夫
(72)【発明者】
【氏名】井川 翔太
【審査官】菊池 智紀
(56)【参考文献】
【文献】特開2019-016239(JP,A)
【文献】特開2012-242401(JP,A)
【文献】菊池悠太 他,"Encoder-Decoderモデルにおける出力長制御",情報処理学会研究報告,情報処理学会,2016年07月22日,Vol.2016-NL-227,No.5,pp.1-9
【文献】青木花純 他,"時系列データの概要文生成におけるトピックラベルによる内容制御",言語処理学会第25回年次大会発表論文集,2019年03月04日,pp.735-738
【文献】石原一志 他,"環境音の擬音語変換のための環境音用音素の設計",2004年度人工知能学会全国大会(第18回)論文集,2004年06月02日,pp.1-4
【文献】高橋徹,"自動擬音語生成法の検討",日本音響学会2012年秋季研究発表会講演論文集CD-ROM,2012年09月11日,pp.437-438
【文献】井川翔太 他,"Sequence-to-Sequenceモデルによる音響信号からの擬音語生成と主観評価",日本音響学会2018年春季研究発表会講演論文集CD-ROM,2018年02月27日,pp.7-8
【文献】IKAWA, Shota et al.,"GENERATING SOUND WORDS FROM AUDIO SIGNALS OF ACOUSTIC EVENTS WITH SEQUENCE-TO-SEQUENCE MODEL”,Proc. of 2018 IEEE International Conference on Acoustics, Speech and Signal Processing,2018年04月15日,pp.346-350
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/04,3/08
G10L 15/00-15/34,25/30,25/51
G06F 16/00-16/958
G06F 40/00-40/58
G10H 1/00
(57)【特許請求の範囲】
【請求項1】
音響信号と当該音響信号に対応する自然言語表現の組である第1学習データと当該第1学習データの要素である自然言語表現に対する指標とを用いて、データ生成モデルを学習する(以下、第1学習という)学習部
を含むデータ生成モデル学習装置であって、
前記データ生成モデルは、音響信号から前記音響信号に対応する潜在変数を生成するエンコーダと、前記潜在変数と自然言語表現に対する指標に関する条件から前記音響信号に対応する自然言語表現を生成するデコーダとの組であり、
前記自然言語表現に対する指標は文の詳細度であり、前記自然言語表現に対する指標に関する条件は生成される文の詳細度に関する条件を指定するものであり、
前記学習部は、更に、自然言語表現に対する指標と当該指標に対応する自然言語表現の組である第2学習データを用いて、前記デコーダを学習する(以下、第2学習という)
データ生成モデル学習装置。
【請求項2】
請求項1に記載のデータ生成モデル学習装置であって、
前記学習部は、前記第1学習と前記第2学習を所定の方法で混在させながら両学習を実行する
ことを特徴とするデータ生成モデル学習装置。
【請求項3】
請求項1または2に記載のデータ生成モデル学習装置であって
、
文に関する誤差L
SCGを、実行する学習が第1学習である場合は、第1学習データの要素である音響信号に対する前記データ生成モデルの出力である文と当該第1学習データの要素である文とから計算されるクロスエントロピー、実行する学習が第2学習である場合は、第2学習データの要素である詳細度に対する前記デコーダの出力である文と当該第2学習データの要素である文とから計算されるクロスエントロピーとし、
前記データ生成モデルまたはデコーダの出力である文sの推定詳細度^I
sを
【数15】
(ただし、時刻tにおける前記データ生成モデルまたはデコーダの出力層のユニットjの値p(w
t,j)は、ユニットjに対応する単語w
t,jの生成確率、I
w_t,jは単語w
t,jの生成確率p
w_t,jに基づき定まる単語w
t,jの情報量である)とし、
文の詳細度に関する誤差L
spを、実行する学習が第1学習である場合は、前記推定詳細度^I
sと前記第1学習データの要素である文の詳細度との差、実行する学習が第2学習である場合は、前記推定詳細度^I
sと前記第2学習データの要素である詳細度との差とし、
前記学習部が用いる誤差関数L
CSCGは、前記誤差L
SCGと前記誤差L
spを用いて定義される
ことを特徴とするデータ生成モデル学習装置。
【請求項4】
音響信号と当該音響信号に対応する自然言語表現の組である第1学習データと当該第1学習データの要素である自然言語表現に対する指標とを用いて、データ生成モデルを学習する(以下、第1学習という)学習部
を含むデータ生成モデル学習装置であって、
前記データ生成モデルは、音響信号から前記音響信号に対応する潜在変数を生成するエンコーダと、前記潜在変数と自然言語表現に対する指標に関する条件から前記音響信号に対応する自然言語表現を生成するデコーダとの組であり、
前記自然言語表現に対する指標は文の詳細度であり、前記自然言語表現に対する指標に関する条件は生成される文の詳細度に関する条件を指定するものであり、
前記音響信号は、楽器音または指を鳴らした音である
データ生成モデル学習装置。
【請求項5】
音響信号から、エンコーダを用いて、前記音響信号に対応する潜在変数を生成する潜在変数生成部と、
前記潜在変数と自然言語表現に対する指標に関する条件から、デコーダを用いて、前記音響信号に対応する自然言語表現を生成するデータ生成部と、
を含むデータ生成装置であって、
前記自然言語表現に対する指標は文の詳細度であり、
前記自然言語表現に対する指標に関する条件は生成される文の詳細度に関する条件を指定するものであり、
前記詳細度は、少なくとも、所定の単語データベースを用いて定義される文に含まれる単語の出現確率、または/及び、文に含まれる単語の数を用いて定義されるものであり、
sをn個の単語の列[w
1, w
2, …, w
n]である文、I
w_t(1≦t≦n)を単語w
tの出現確率p
w_tに基づき定まる単語w
tの情報量とし、
前記詳細度は、前記情報量I
w_t(1≦t≦n)を用いて定義されるものである
データ生成装置。
【請求項6】
音響信号から、エンコーダを用いて、前記音響信号に対応する潜在変数を生成する潜在変数生成部と、
前記潜在変数と自然言語表現に対する指標に関する条件から、デコーダを用いて、前記音響信号に対応する自然言語表現を生成するデータ生成部と、
を含むデータ生成装置であって、
前記自然言語表現に対する指標は文の詳細度であり、前記自然言語表現に対する指標に関する条件は生成される文の詳細度に関する条件を指定するものであり、
前記音響信号は、楽器音または指を鳴らした音である
データ生成装置。
【請求項7】
データ生成モデル学習装置が、音響信号と当該音響信号に対応する自然言語表現の組である第1学習データと当該第1学習データの要素である自然言語表現に対する指標とを用いて、データ生成モデルを学習する学習ステップ
を含むデータ生成モデル学習方法であって、
前記データ生成モデルは、音響信号から前記音響信号に対応する潜在変数を生成するエンコーダと、前記潜在変数と自然言語表現に対する指標に関する条件から前記音響信号に対応する自然言語表現を生成するデコーダとの組であり、
前記自然言語表現に対する指標は文の詳細度であり、前記自然言語表現に対する指標に関する条件は生成される文の詳細度に関する条件を指定するものであり、
前記学習
ステップは、更に、自然言語表現に対する指標と当該指標に対応する自然言語表現の組である第2学習データを用いて、前記デコーダを学習する(以下、第2学習という)
データ生成モデル学習方法。
【請求項8】
データ生成モデル学習装置が、音響信号と当該音響信号に対応する自然言語表現の組である第1学習データと当該第1学習データの要素である自然言語表現に対する指標とを用いて、データ生成モデルを学習する学習ステップ
を含むデータ生成モデル学習方法であって、
前記データ生成モデルは、音響信号から前記音響信号に対応する潜在変数を生成するエンコーダと、前記潜在変数と自然言語表現に対する指標に関する条件から前記音響信号に対応する自然言語表現を生成するデコーダとの組であり、
前記自然言語表現に対する指標は文の詳細度であり、前記自然言語表現に対する指標に関する条件は生成される文の詳細度に関する条件を指定するものであり、
前記音響信号は、楽器音または指を鳴らした音である
データ生成モデル学習方法。
【請求項9】
データ生成装置が、音響信号から、エンコーダを用いて、前記音響信号に対応する潜在変数を生成する潜在変数生成ステップと、
前記データ生成装置が、前記潜在変数と自然言語表現に対する指標に関する条件から、デコーダを用いて、前記音響信号に対応する自然言語表現を生成するデータ生成ステップと、
を含むデータ生成方法であって、
前記自然言語表現に対する指標は文の詳細度であり、
前記自然言語表現に対する指標に関する条件は生成される文の詳細度に関する条件を指定するものであり、
前記詳細度は、少なくとも、所定の単語データベースを用いて定義される文に含まれる単語の出現確率、または/及び、文に含まれる単語の数を用いて定義されるものであり、
sをn個の単語の列[w
1, w
2, …, w
n]である文、I
w_t(1≦t≦n)を単語w
tの出現確率p
w_tに基づき定まる単語w
tの情報量とし、
前記詳細度は、前記情報量I
w_t(1≦t≦n)を用いて定義されるものである
データ生成方法。
【請求項10】
データ生成装置が、音響信号から、エンコーダを用いて、前記音響信号に対応する潜在変数を生成する潜在変数生成ステップと、
前記データ生成装置が、前記潜在変数と自然言語表現に対する指標に関する条件から、デコーダを用いて、前記音響信号に対応する自然言語表現を生成するデータ生成ステップと、
を含むデータ生成方法であって、
前記自然言語表現に対する指標は文の詳細度であり、前記自然言語表現に対する指標に関する条件は生成される文の詳細度に関する条件を指定するものであり、
前記音響信号は、楽器音または指を鳴らした音である
データ生成方法。
【請求項11】
請求項1ないし4のいずれか1項に記載のデータ生成モデル学習装置、請求項5または6に記載のデータ生成装置のいずれかとしてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音響信号から当該音響信号に対応する文などの自然言語表現を生成する技術に関する。
【背景技術】
【0002】
様々な音響イベントを自然言語によって模倣的に表現することは、自然なマンマシン・コミュニケーション、マルチメディアデータベースの検索、異常音の検出などにおいて重要な役割を果たすと考えられる。音響イベントを自然言語によって模倣的に表現する技術の一つとして非特許文献1に記載の擬音語生成技術がある。この技術は、音響信号を入力とし、ニューラルネットワークを用いて、当該音響信号に対応する音素の列として擬音語を生成する。
【先行技術文献】
【非特許文献】
【0003】
【文献】井川翔太,柏野邦夫,“LSTMを用いた音響信号からの擬音語生成”,信学技報,vol.117, no.368, SP2017-58, pp.17-20, 2017年12月.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、非特許文献1に記載の技術を用いて生成される擬音語は、その特性、例えば、長さ(擬音語を構成する音素の数)にばらつきがあるものとなる。換言すると、擬音語の長さのような、擬音語に対して定義される指標を制御して、音響信号から擬音語を生成することは難しい。
【0005】
一般に、擬音語など生成対象となるデータの特性、すなわち、生成対象となるデータに対して定義される所定の指標を制御して、所望のデータを生成することは難しい。以下、擬音語(オノマトペともいう)、句、文などのように自然言語に関する言語表現を自然言語表現ということにする。
【0006】
そこで本発明では、音響信号から、所定の自然言語表現に対する指標を制御して、当該音響信号に対応する自然言語表現を生成する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様は、音響信号から、エンコーダを用いて、前記音響信号に対応する潜在変数を生成する潜在変数生成部と、前記潜在変数と自然言語表現に対する指標に関する条件から、デコーダを用いて、前記音響信号に対応する自然言語表現を生成するデータ生成部と、を含む。
【発明の効果】
【0008】
本発明によれば、音響信号から、自然言語表現に対する指標を制御して、当該音響信号に対応する自然言語表現を生成することが可能となる。
【図面の簡単な説明】
【0009】
【
図10】データ生成モデル学習装置100の構成を示すブロック図である。
【
図11】データ生成モデル学習装置100の動作を示すフローチャートである。
【
図12】データ生成モデル学習装置150の構成を示すブロック図である。
【
図13】データ生成モデル学習装置150の動作を示すフローチャートである。
【
図14】データ生成装置200の構成を示すブロック図である。
【
図15】データ生成装置200の動作を示すフローチャートである。
【
図16】データ生成モデル学習装置300の構成を示すブロック図である。
【
図17】データ生成モデル学習装置300の動作を示すフローチャートである。
【
図18】データ生成モデル学習装置350の構成を示すブロック図である。
【
図19】データ生成モデル学習装置350の動作を示すフローチャートである。
【
図20】データ生成装置400の構成を示すブロック図である。
【
図21】データ生成装置400の動作を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【0011】
各実施形態の説明に先立って、この明細書における表記方法について説明する。
【0012】
^(キャレット)は上付き添字を表す。例えば、xy^zはyzがxに対する上付き添字であり、xy^zはyzがxに対する下付き添字であることを表す。また、_(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
【0013】
ある文字xに対する^xや~xのような上付き添え字の”^”や”~”は、本来”x”の真上に記載されるべきであるが、明細書の記載表記の制約上、^xや~xと記載しているものである。
【0014】
<技術的背景>
本発明の実施形態では、音響信号から、当該音響信号に対応する文を生成する際、文生成モデルを用いる。ここで、文生成モデルとは、音響信号を入力とし、対応する文を出力する関数のことである。また、音響信号に対応する文とは、例えば、当該音響信号がどのような音であるのかを説明する文(当該音響信号の説明文)のことである。
【0015】
まず、文生成モデルの一例としてSCG (Sequence-to-sequence Caption Generator)と呼ぶモデルについて説明する。
【0016】
《SCG》
SCGは、
図1に示すように、デコーダに参考非特許文献1に記載のRLM(Recurrent Language Model)を採用したエンコーダ-デコーダモデルである。
(参考非特許文献1:T. Mikolov, M. Karafiat, L. Burget, J. Cernock`y, and S. Khudanpur, “Recurrent neural network based language model”, In INTERSPEECH 2010, pp.1045-1048, 2010.)
【0017】
図1を参照して、SCGを説明する。SCGは、以下のステップにより、入力された音響信号から、当該音響信号に対応する文を生成し、出力する。なお、音響信号の代わりに、音響信号から抽出された音響特徴量(Acoustic features)、例えば、メル周波数ケプストラム係数(MFCC)の系列を用いてもよい。また、テキストデータである文は、単語の列である。
(1)SCGは、エンコーダによって、音響信号から音の分散表現である潜在変数(Latent variable)zを抽出する。潜在変数zは、所定の次元(例えば、128次元)のベクトルとして表現される。この潜在変数zは、文生成のための十分な情報を含んだ音響信号の要約特徴量であるといえる。したがって、潜在変数zは音響信号と文の双方の特徴を有する固定長ベクトルであるともいえる。
(2)SCGは、デコーダによって、潜在変数zから、時刻t(t=1, 2, …)における単語w
tを出力していくことにより、文を生成する。デコーダの出力層(Output layer)は、時刻tにおける単語の生成確率p
t(w)から、次式により時刻tにおける単語w
tを出力する。
【0018】
【0019】
図1は、時刻t=1における単語w
1が”Birds”、時刻t=2における単語w
2が”are”、時刻t=3における単語w
3が”singing”であり、文”Birds are singing”が生成されることを表している。なお、
図1中の<BOS>、<EOS>はそれぞれ開始記号、終端記号である。
【0020】
SCGを構成するエンコーダとデコーダには、時系列データを処理することができる任意のニューラルネットワークを用いることができる。例えば、RNN(Recurrent Neural Network)やLSTM(Long Short-Term Memory)を用いることができる。なお、
図1中のBLSTM、layered LSTMはそれぞれ双方向LSTM(Bi-directional LSTM)、多層LSTMを表す。
【0021】
SCGは、音響信号と当該音響信号に対応する文(この文のことを教師データという)の組を教師あり学習データとして用いる教師あり学習により学習される。時刻tにおいてデコーダが出力する単語と、教師データの文に含まれる、時刻tにおける単語とのクロスエントロピーの総和を誤差関数LSCGとして、誤差逆伝播法によりSCGを学習する。
【0022】
上記学習により得られるSCGの出力である文は、その記述の詳細さにおいて、ばらつきが生じてしまう。これは、以下のような理由による。1つの音響信号に対して正しい文は1つではない。言い換えると、1つの音響信号に対して記述の詳細さが様々に異なる多数の“正しい文”が存在しうる。例えば、“低い音が鳴る”、“楽器をしばらく鳴らしている”、“弦楽器を低い音で鳴らし始めて、その後ゆっくりと音量が下がっていく”のように、1つの音響信号に対してその音響信号の様子を記述する正しい文は複数ありえ、これらの文の中でどの文が好ましいのかは場面によって異なる。例えば、端的な記述が欲しい場面もあれば、詳しい記述が欲しい場面もある。そのため、記述の詳細さが異なる文を区別せずにSCGの学習を実行すると、SCGは、生成する文の傾向を制御することができなくなる。
【0023】
《詳細度》
上記ばらつきの問題を解決するために、文の詳細さの程度を示す指標である詳細度(Specificity)を定義する。n個の単語の列[w1, w2, …, wn]である文sの詳細度Isを次式により定義する。
【0024】
【0025】
ただし、Iw_tは単語wtの出現確率pw_tに基づき定まる単語wtの情報量である。例えば、Iw_t=-log(pw_t)とするとよい。ここで、単語wtの出現確率pw_tは、例えば、説明文データベースを用いて求めることができる。説明文データベースとは、複数の音響信号に対して各々の音響信号を説明する文を1以上格納したデータベースであり、説明文データベースに含まれる文に含まれる単語ごとにその出現頻度を求め、当該単語の出現頻度をすべての単語の出現頻度の和で割ることにより、単語の出現確率を求めることができる。
【0026】
このように定義した詳細度は、以下のような特徴を有する。
(1)具体的な物体や動作を表す単語を用いた文は詳細度が高くなる(
図2参照)。
【0027】
これは、このような単語は出現頻度が低く、情報量が大きくなるためである。
(2)使用する単語数が多い文は詳細度が高くなる(
図3参照)。
【0028】
詳細度の最適値は、対象とする音の性質や用途により異なる。例えば、より詳しく音を描写したい場合は、文の詳細度は高い方が好ましいし、端的な説明が欲しい場合は、文の詳細度は低い方が好ましい。また、詳細度が高い文は不正確になりやすいという問題もある。したがって、音響信号の記述に求められる情報の粒度に応じて、詳細度を自由に制御して、音響信号に対応する文を生成できることが重要になる。このような文生成を可能とするモデルとして、CSCG (Conditional Sequence-to-sequence Caption Generator)を説明する。
【0029】
《CSCG》
CSCGは、SCGと同様、デコーダにRLMを採用したエンコーダ-デコーダモデルである。ただし、CSCGでは、デコーダに条件付けを行うことにより、生成される文の詳細度(Specificity of the sentence)を制御する(
図4参照)。条件付けは、文の詳細度に関する条件(Specificitical Condition)をデコーダの入力とすることにより行う。ここで、文の詳細度に関する条件とは、生成される文の詳細度に関する条件を指定するものである。
【0030】
図4を参照して、CSCGを説明する。CSCGは、以下のステップにより、入力された音響信号と文の詳細度に関する条件から、当該音響信号に対応する文を生成し、出力する。
(1)CSCGは、エンコーダによって、音響信号から音の分散表現である潜在変数zを抽出する。
(2)CSCGは、デコーダによって、潜在変数zと文の詳細度に関する条件Cから、時刻t(t=1, 2, …)における単語を出力していくことにより、文を生成する。生成された文は文の詳細度に関する条件Cに近い詳細度を持つ文となる。
図4は、生成された文s=”Birds are singing”の詳細度I
sが文の詳細度に関する条件Cに近いものとなることを示している。
【0031】
CSCGは、音響信号と当該音響信号に対応する文の組である学習データ(以下、第1学習データという)を用いる教師あり学習(以下、第1学習という)により学習することができる。また、CSCGは、第1学習データを用いる第1学習と、文の詳細度と当該詳細度に対応する文の組である学習データ(以下、第2学習データという)を用いる教師あり学習(以下、第2学習という)とにより学習することもできる。この場合、例えば、第1学習と第2学習を1エポックずつ交互に実行することにより、CSCGは学習される。また、例えば、第1学習と第2学習を所定の方法で混在させながら両学習を実行することにより、CSCGは学習される。このとき、第1学習の実行回数と第2学習の実行回数は異なる値となってもよい。
【0032】
(1)第1学習
音響信号に対応する文(つまり、教師データの要素である文)は、人手により付与されたものを用いる。第1学習では、音響信号に対応する文の詳細度を求めて教師データに含める。第1学習では、生成された文と教師データの文の誤差であるLSCGと詳細度に関する誤差であるLspの最小化を同時に達成するように学習する。誤差関数LCSCGには、2つの誤差LSCGとLspを用いて定義されるものを用いることができる。例えば、誤差関数LCSCGとして、次式のような2つの誤差の線形和を用いることができる。
【0033】
【0034】
ここで、λは所定の定数である。
【0035】
なお、誤差Lspの具体的な定義については後述する。
【0036】
(2)第2学習
第1学習データの数が少ない場合、第1学習のみによりCSCGを学習すると、CSCGが第1学習データの要素である音響信号に過剰に適合してしまい、詳細度が適切に反映されにくくなることも考えられる。そこで、第1学習データを用いる第1学習に加えて、第2学習データを用いる第2学習により、CSCGを構成するデコーダを学習する。
【0037】
第2学習では、学習中のデコーダを用いて、第2学習データの要素である詳細度cに対応する文を生成し、第2学習データの要素である文を当該生成された文に対する教師データとして、誤差Lspを最小化するようにデコーダを学習する。なお、第2学習データの要素である詳細度cは、例えば、乱数生成のように、所定の方法で生成されたものを用いればよい。また、第2学習データの要素である文は、詳細度cと近い(つまり、詳細度cとの差が所定の閾値より小さいあるいは以下である)詳細度を持つ文である。
【0038】
具体的には、生成された文と詳細度cと近い詳細度を持つ文の誤差であるLSCGを用いて正則化する。
【0039】
【0040】
ここで、λ’はλ’<1を満たす定数である。
【0041】
第1学習に加えて、第2学習を実行することにより、CSCGの汎化性能を向上させることができる。
【0042】
誤差Lspは、第1学習の場合は、生成された文の詳細度と教師データの文の詳細度との差、第2学習の場合は、生成された文の詳細度と教師データとして与える詳細度との差として定義することもできるが、このように誤差Lspを定義すると、時刻tにおける出力を得る時点で1つの単語への離散化を行うため、誤差を逆伝播することができない。そこで、誤差逆伝播法による学習を可能とするため、生成された文の詳細度の代わりに、その推定値を用いることが有効である。例えば、生成された文sの推定詳細度^Isとして、次式で定義されるものを用いることができる。
【0043】
【0044】
ただし、時刻tにおけるデコーダの出力層のユニットjの値p(wt,j)は、ユニットjに対応する単語wt,jの生成確率、Iw_t,jは単語wt,jの生成確率pw_t,jに基づき定まる単語wt,jの情報量である。
【0045】
そして、誤差Lspを、第1学習の場合、推定詳細度^Isと教師データの文の詳細度との差、第2学習の場合、推定詳細度^Isと教師データとして与える詳細度との差として定義する。
【0046】
《実験》
ここでは、CSCGによる文生成の効果を確認する実験の結果について説明する。実験は、以下の2つを目的として行った。
(1)詳細度による制御可能性の検証
(2)受容可能性(acceptability)に関する主観評価による生成された文の品質の評価
【0047】
まず、実験に用いたデータについて、説明する。楽器音や音声などの音響イベントを収録した(6秒以内の)音響信号から、説明文付き音源(教師あり学習データ)を392個、説明文のない音源(教師なし学習データ)を579個生成した。なお、説明文付き音源を生成する際、各音源に1~4個の説明文を付与することした。ここで、付与された説明文の総数は1113個である。また、これらの説明文は、被験者に各音源を聞いてもらいどのような音であるか説明する文を書いてもらうことにより、生成したものである。さらに、上記1113個の説明文に対して、部分的な削除や置換を行うことより、説明文を21726個に増加させ、21726個の説明文を用いて説明文データベースを構成した。
【0048】
以下、実験結果について説明する。実験結果は、SCGとCSCGの比較という形で評価することとした。実験では、学習済みのSCGと、学習済みのCSCGとを用いて、文を生成した。
【0049】
まず、目的(1)に関する実験結果について説明する。
図5は、音源に対してSCGやCSCGによりどのような文が生成されたかを示す表である。例えば、指を鳴らした音源に対して、SCGにより“軽やかな音が一瞬だけ鳴る”という文(Generated caption)が生成され、詳細度を20としてCSCGにより“指が鳴らされる”という文が生成されたことを示す。また、
図6は、各モデルの詳細度の平均と標準偏差を示す表である。これらの統計量は29個の音源をテストデータとして文を生成した結果から算出したものである。
図6の表から、詳細度に関して以下のことがわかる。
(1)SCGは、詳細度の標準偏差はとても大きい。
(2)CSCGは、入力した詳細度cの値に応じた詳細度を持つ文を生成しており、標準偏差もSCGのそれと比較して小さい。ただし、入力した詳細度cが大きくなるにつれて標準偏差が大きくなる。これは、入力した詳細度cに近い詳細度を持ちつつ音に当てはまる説明文がないためばらつきが大きくなるものと考えられる。
【0050】
CSCGは、生成した文の詳細度のばらつきを抑制し、詳細度に応じた文を生成できていることがわかる。
【0051】
次に、目的(2)に関する実験結果について説明する。まず、SCGを用いて生成した文が主観的に受け入れられるどうかを4段階評価した。次に、SCGを用いて生成した文とCSCGを用いて生成した文とを比較評価した。
【0052】
4段階評価では、29の音源をテストデータとして用い、すべてのテストデータに対して41名の被験者が回答する形を採用した。
図7にその結果を示す。平均値は1.45、分散は1.28であった。このことから、SCGを用いて生成した文は平均的に”部分的に当てはまる”より高い評価を獲得していることがわかる。
【0053】
また、比較評価では、c=20, 50, 80, 100の4通りの条件でCSCGを用いて生成した文とSCGを用いて生成した文とを比較評価し、4通りの比較評価のうち最もCSCGを高く評価した回答を選択・集計した。
図8にその結果を示す。100の音源をテストデータとして、19名の被験者に回答してもらったものであり、CSCGは有意水準を1%として有意にSCGより高い評価を獲得した。なお、平均値は0.80、分散は1.07であった。
【0054】
《詳細度のバリエーション》
詳細度は、生成される文の持つ性質(具体的には情報量)を制御するための補助的な入力である。生成される文の持つ性質を制御することができるものであれば、詳細度は、単一の数値(スカラー値)であっても、数値の組(ベクトル)であってもよい。以下、いくつか例を挙げる。
【0055】
(例1)N個の単語の系列である単語N-gramの出現頻度に基づく方法
単語1個での出現頻度の代わりに、単語の系列の出現頻度を用いる方法である。この方法は、単語の順序を考慮することができるため、より適切に生成される文の持つ性質を制御できる可能性がある。単語の出現確率と同様、説明文データベースを用いて、単語N-gramの出現確率を計算することができる。また、説明文データベースの代わりに、その他利用可能なコーパスを用いてもよい。
【0056】
(例2)単語の数に基づく方法
詳細度を文に含まれる単語の数とする方法である。なお、単語の数の代わりに、文字の数を用いてもよい。
【0057】
(例3)ベクトルを用いる方法
例えば、これまでに説明した、単語の出現確率、単語N-gramの出現確率、単語の数を組とする3次元ベクトルを詳細度とすることができる。また、例えば、政治、経済、科学のように単語を分類する分野(トピック)を設け、分野ごとに次元を割り当て、各分野の単語の出現確率の組をベクトルとして詳細度を定義してもよい。これにより、各分野に特有の言い回しの反映を図ることが可能になると考えられる。
【0058】
《応用例》
SCG/CSCGの学習やSCG/CSCGを用いた文の生成の枠組みは、
図5に例示した音源のように比較的単純な音以外に、例えば音楽のようにより複雑な音や、音以外のメディアに対しても適用することができる。音以外のメディアには、例えば絵画、イラスト、クリップアートのような画像や、動画がある。また、工業デザインや、味覚であってもよい。
【0059】
SCG/CSCG同様、これらのデータと当該データに対応する文を対応づけるモデルを学習し、当該モデルを用いて文を生成することも可能である。例えば、味覚の場合、味覚センサからの信号を入力として、ワインや農作物等についての記述/論評である文を生成することも可能になる。この場合、味覚センサ以外に嗅覚センサ、触覚センサ、カメラからの信号もあわせて入力とするようにしてもよい。
【0060】
なお、非時系列データを扱う場合は、例えば、CNN(Convolutional Neural Network)のようなニューラルネットワークを用いて、エンコーダやデコーダを構成するようにすればよい。
【0061】
<第1実施形態>
《データ生成モデル学習装置100》
データ生成モデル学習装置100は、学習データを用いて、学習対象となるデータ生成モデルを学習する。ここで、学習データには、音響信号と当該音響信号に対応する自然言語表現の組である第1学習データと自然言語表現に対する指標と当該指標に対応する自然言語表現の組である第2学習データがある。また、データ生成モデルは、音響信号と自然言語表現に対する指標(例えば、文の詳細度)に関する条件を入力とし、当該音響信号に対応する自然言語表現を生成し、出力する関数のことであり、音響信号から音響信号に対応する潜在変数を生成するエンコーダと、潜在変数と自然言語表現に対する指標に関する条件から音響信号に対応する自然言語表現を生成するデコーダとの組として構成される(
図9参照)。自然言語表現に対する指標に関する条件とは、生成される自然言語表現に要求される指標のことであり、要求される指標は一つの数値で指定してもよいし、範囲をもって指定してもよい。なお、エンコーダ、デコーダには、時系列データを処理することができる任意のニューラルネットワークを用いることができる。また、自然言語表現の例として、<技術的背景>で説明した文の他に、主語と述語を伴わない2つ以上の単語からなる句や、擬音語(オノマトペ)がある。
【0062】
以下、
図10~
図11を参照してデータ生成モデル学習装置100を説明する。
図10は、データ生成モデル学習装置100の構成を示すブロック図である。
図11は、データ生成モデル学習装置100の動作を示すフローチャートである。
図10に示すようにデータ生成モデル学習装置100は、学習モード制御部110と、学習部120と、終了条件判定部130と、記録部190を含む。記録部190は、データ生成モデル学習装置100の処理に必要な情報を適宜記録する構成部である。記録部190は、例えば、学習データを学習開始前に記録しておく。
【0063】
図11に従いデータ生成モデル学習装置100の動作について説明する。データ生成モデル学習装置100は、第1学習データと当該第1学習データの要素である自然言語表現に対する指標と第2学習データとを入力とし、データ生成モデルを出力する。なお、第1学習データの要素である自然言語表現に対する指標については、入力とする代わりに、学習部120において、第1学習データの要素である自然言語表現から求めるようにしてもよい。
【0064】
S110において、学習モード制御部110は、第1学習データと、当該第1学習データの要素である自然言語表現に対する指標と、第2学習データとを入力とし、学習部120を制御するための制御信号を生成し、出力する。ここで、制御信号は、第1学習と第2学習のいずれかを実行するように学習モードを制御する信号である。制御信号は、例えば、第1学習と第2学習を交互に実行するように学習モードを制御する信号とすることができる。また、制御信号は、例えば、第1学習と第2学習を所定の方法で混在させながら両学習を実行するように学習モードを制御する信号とすることができる。この場合、第1学習の実行回数と第2学習の実行回数は、異なる値となってもよい。
【0065】
S120において、学習部120は、第1学習データと、当該第1学習データの要素である自然言語表現に対する指標と、第2学習データと、S110において出力された制御信号とを入力とし、制御信号が指定する学習が第1学習である場合は、第1学習データと当該第1学習データの要素である自然言語表現に対する指標を用いて、音響信号から音響信号に対応する潜在変数を生成するエンコーダと、潜在変数と自然言語表現に対する指標に関する条件から音響信号に対応する自然言語表現を生成するデコーダとを学習し、制御信号が指定する学習が第2学習である場合は、第2学習データを用いてデコーダを学習し、エンコーダとデコーダの組であるデータ生成モデルを、終了条件判定部130が終了条件を判定するために必要な情報(例えば、学習を行った回数)とともに出力する。学習部120は、実行する学習が第1学習、第2学習のいずれであっても、1エポックを単位として学習を実行する。また、学習部120は、誤差関数LCSCGを用いて誤差逆伝播法によりデータ生成モデルを学習する。誤差関数LCSCGは、実行する学習が第1学習である場合、λを所定の定数として、次式により定義され、
【0066】
【0067】
実行する学習が第2学習である場合、λ’をλ’<1を満たす定数として、次式により定義される。
【0068】
【0069】
ただし、自然言語表現に関する誤差LSCGは、実行する学習が第1学習である場合、第1学習データの要素である音響信号に対するデータ生成モデルの出力である自然言語表現と当該第1学習データの要素である自然言語表現とから計算されるクロスエントロピー、実行する学習が第2学習である場合、第2学習データの要素である指標に対するデコーダの出力である自然言語表現と当該第2学習データの要素である自然言語表現とから計算されるクロスエントロピーとする。
【0070】
なお、誤差関数LCSCGは、2つの誤差LSCGとLspを用いて定義されるものであればよい。
【0071】
また、自然言語表現が文である場合、<技術的背景>で説明した通り、自然言語表現に対する指標として、文の詳細度を用いることができる。この場合、文の詳細度は、少なくとも所定の単語データベースを用いて定義される文に含まれる単語の出現確率や単語N-gramの出現確率、文に含まれる単語の数、文に含まれる文字の数のうち、少なくとも1つを用いて定義されるものである。例えば、文の詳細度は、Isをn個の単語の列[w1, w2, …, wn]である文sの詳細度として、次式により定義してもよい。
【0072】
【0073】
(ただし、Iw_tは単語wtの出現確率pw_tに基づき定まる単語wtの情報量である。)
【0074】
なお、詳細度Isは、情報量Iw_t(1≦t≦n)を用いて定義されるものであればよい。
【0075】
また、単語データベースは、文に含まれる単語に対して当該単語の出現確率や、文に含まれる単語N-gramに対して当該単語N-gramの出現確率を定義できるものであれば、どのようなものであってもよい。単語データベースとして、例えば、<技術的背景>で説明した説明文データベースを用いることができる。
【0076】
また、デコーダの出力である文sの推定詳細度^Isを、
【0077】
【0078】
(ただし、時刻tにおけるデコーダの出力層のユニットjの値p(wt,j)は、ユニットjに対応する単語wt,jの生成確率、Iw_t,jは単語wt,jの生成確率pw_t,jに基づき定まる単語wt,jの情報量である)とし、文の詳細度に関する誤差Lspは、実行する学習が第1学習である場合、推定詳細度^Isと第1学習データの要素である文の詳細度との差、実行する学習が第2学習である場合、推定詳細度^Isと第2学習データの要素である詳細度との差とする。
【0079】
なお、句に対しても、文と同様、詳細度を定義することができる。
【0080】
S130において、終了条件判定部130は、S120において出力されたデータ生成モデルと終了条件を判定するために必要な情報とを入力とし、学習の終了に関する条件である終了条件が満たされている(例えば、学習を行った回数が所定の繰り返し回数に達している)か否かを判定し、終了条件が満たされている場合は、データ生成モデルを出力して、処理を終了する一方、終了条件が満たされていない場合は、S110の処理に戻る。
【0081】
《データ生成モデル学習装置150》
データ生成モデル学習装置150は、学習データを用いて、学習対象となるデータ生成モデルを学習する。データ生成モデル学習装置150は、第1学習データを用いる第1学習のみを実行する点において、データ生成モデル学習装置100と異なる。
【0082】
以下、
図12~
図13を参照してデータ生成モデル学習装置150を説明する。
図12は、データ生成モデル学習装置150の構成を示すブロック図である。
図13は、データ生成モデル学習装置150の動作を示すフローチャートである。
図12に示すようにデータ生成モデル学習装置150は、学習部120と、終了条件判定部130と、記録部190を含む。記録部190は、データ生成モデル学習装置150の処理に必要な情報を適宜記録する構成部である。
【0083】
図13に従いデータ生成モデル学習装置150の動作について説明する。データ生成モデル学習装置150は、第1学習データと当該第1学習データの要素である自然言語表現に対する指標とを入力とし、データ生成モデルを出力する。なお、第1学習データの要素である自然言語表現に対する指標については、入力とする代わりに、学習部120において、第1学習データの要素である自然言語表現から求めるようにしてもよい。
【0084】
S120において、学習部120は、第1学習データと、当該第1学習データの要素である自然言語表現に対する指標とを入力とし、第1学習データと当該第1学習データの要素である自然言語表現に対する指標を用いてエンコーダとデコーダを学習し、エンコーダとデコーダの組であるデータ生成モデルを、終了条件判定部130が終了条件を判定するために必要な情報(例えば、学習を行った回数)とともに出力する。学習部120は、例えば、1エポックを単位として学習を実行する。また、学習部120は、誤差関数LCSCGを用いて誤差逆伝播法によりデータ生成モデルを学習する。誤差関数LSCGは、λを所定の定数として、次式により定義される。
【0085】
【0086】
なお、2つの誤差LSCGとLspの定義は、データ生成モデル学習装置100のそれと同一である。また、誤差関数LCSCGは、2つの誤差LSCGとLspを用いて定義されるものであればよい。
【0087】
S130において、終了条件判定部130は、S120において出力されたデータ生成モデルと終了条件を判定するために必要な情報とを入力とし、学習の終了に関する条件である終了条件が満たされている(例えば、学習を行った回数が所定の繰り返し回数に達している)か否かを判定し、終了条件が満たされている場合は、データ生成モデルを出力して、処理を終了する一方、終了条件が満たされていない場合は、S120の処理に戻る。
【0088】
《データ生成装置200》
データ生成装置200は、データ生成モデル学習装置100またはデータ生成モデル学習装置150を用いて学習したデータ生成モデルを用いて、音響信号と自然言語表現に対する指標に関する条件から、音響信号に対応する自然言語表現を生成する。ここで、データ生成モデル学習装置100またはデータ生成モデル学習装置150を用いて学習したデータ生成モデルのことを学習済みデータ生成モデルともいう。また、学習済みデータ生成モデルを構成するエンコーダ、デコーダをそれぞれ学習済みエンコーダ、学習済みデコーダともいう。なお、データ生成モデル学習装置100、データ生成モデル学習装置150以外のデータ生成モデル学習装置を用いて学習したデータ生成モデルを用いてもよいのはもちろんである。
【0089】
以下、
図14~
図15を参照してデータ生成装置200を説明する。
図14は、データ生成装置200の構成を示すブロック図である。
図15は、データ生成装置200の動作を示すフローチャートである。
図14に示すようにデータ生成装置200は、潜在変数生成部210と、データ生成部220と、記録部290を含む。記録部290は、データ生成装置200の処理に必要な情報を適宜記録する構成部である。記録部290は、例えば、学習済みデータ生成モデル(つまり、学習済みエンコーダと学習済みデコーダ)を事前に記録しておく。
【0090】
図15に従いデータ生成装置200の動作について説明する。データ生成装置200は、音響信号と自然言語表現に対する指標に関する条件を入力とし、自然言語表現を出力する。
【0091】
S210において、潜在変数生成部210は、音響信号を入力とし、音響信号から、学習済みエンコーダを用いて、音響信号に対応する潜在変数を生成し、出力する。
【0092】
S220において、データ生成部220は、S210において出力された潜在変数と自然言語表現に対する指標に関する条件を入力とし、潜在変数と自然言語表現に対する指標に関する条件から、学習済みデコーダを用いて、音響信号に対応する自然言語表現を生成し、出力する。
【0093】
本発明の実施形態によれば、自然言語表現に対する指標を補助入力とし、音響信号から、当該音響信号に対応する自然言語表現を生成するデータ生成モデルを学習することが可能となる。また、本発明の実施形態によれば、音響信号から、自然言語表現に対する指標を制御して、当該音響信号に対応する自然言語表現を生成することが可能となる。
【0094】
<第2実施形態>
以下、ドメインとはある種類のデータの集合であるとする。ドメインの例として、例えば、第1実施形態で用いた音響信号の集合である音響信号ドメイン、自然言語表現の集合である自然言語表現ドメインなどがある。また、ドメインのデータの例として、<技術的背景>で説明したように、味覚センサ、嗅覚センサ、触覚センサ、カメラなどを用いて得られる各種信号がある。これらの信号は人間の五感に関わる信号であり、以下、音響信号も含め、感覚情報に基づく信号ということにする。
【0095】
《データ生成モデル学習装置300》
データ生成モデル学習装置300は、学習データを用いて、学習対象となるデータ生成モデルを学習する。ここで、学習データには、第1ドメインのデータと当該第1ドメインのデータに対応する第2ドメインのデータの組である第1学習データと第2ドメインのデータに対する指標と当該指標に対応する第2ドメインのデータの組である第2学習データがある。また、データ生成モデルとは、第1ドメインのデータと第2ドメインのデータに対する指標に関する条件を入力とし、当該第1ドメインのデータに対応する第2ドメインのデータを生成し、出力する関数のことであり、第1ドメインのデータから第1ドメインのデータに対応する潜在変数を生成するエンコーダと、潜在変数と第2ドメインのデータに対する指標に関する条件から第1ドメインのデータに対応する第2ドメインのデータを生成するデコーダとの組として構成される。第2ドメインのデータに対する指標に関する条件とは、生成される第2ドメインのデータに要求される指標のことであり、要求される指標は一つの数値で指定してもよいし、範囲をもって指定してもよい。なお、エンコーダ、デコーダには、第1ドメインのデータや第2ドメインのデータを処理することができる任意のニューラルネットワークを用いることができる。
【0096】
以下、
図16~
図17を参照してデータ生成モデル学習装置300を説明する。
図16は、データ生成モデル学習装置300の構成を示すブロック図である。
図17は、データ生成モデル学習装置300の動作を示すフローチャートである。
図16に示すようにデータ生成モデル学習装置300は、学習モード制御部310と、学習部320と、終了条件判定部330と、記録部390を含む。記録部390は、データ生成モデル学習装置300の処理に必要な情報を適宜記録する構成部である。記録部390は、例えば、学習データを学習開始前に記録しておく。
【0097】
図17に従いデータ生成モデル学習装置300の動作について説明する。データ生成モデル学習装置300は、第1学習データと当該第1学習データの要素である第2ドメインのデータに対する指標と第2学習データとを入力とし、データ生成モデルを出力する。なお、第1学習データの要素である第2ドメインのデータに対する指標については、入力とする代わりに、学習部320において、第1学習データの要素である第2ドメインのデータから求めるようにしてもよい。
【0098】
S310において、学習モード制御部310は、第1学習データと、当該第1学習データの要素である第2ドメインのデータに対する指標と、第2学習データとを入力とし、学習部320を制御するための制御信号を生成し、出力する。ここで、制御信号は、第1学習と第2学習のいずれかを実行するように学習モードを制御する信号である。制御信号は、例えば、第1学習と第2学習を交互に実行するように学習モードを制御する信号とすることができる。また、制御信号は、例えば、第1学習と第2学習を所定の方法で混在させながら両学習を実行するように学習モードを制御する信号とすることができる。この場合、第1学習の実行回数と第2学習の実行回数は、異なる値となってもよい。
【0099】
S320において、学習部320は、第1学習データと、当該第1学習データの要素である第2ドメインのデータに対する指標と、第2学習データと、S310において出力された制御信号とを入力とし、制御信号が指定する学習が第1学習である場合は、第1学習データと当該第1学習データの要素である第2ドメインのデータに対する指標を用いて、第1ドメインのデータから前記第1ドメインのデータに対応する潜在変数を生成するエンコーダと、前記潜在変数と第2ドメインのデータに対する指標に関する条件から前記第1ドメインのデータに対応する第2ドメインのデータを生成するデコーダとを学習し、制御信号が指定する学習が第2学習である場合は、第2学習データを用いてデコーダを学習し、エンコーダとデコーダの組であるデータ生成モデルを、終了条件判定部330が終了条件を判定するために必要な情報(例えば、学習を行った回数)とともに出力する。学習部320は、実行する学習が第1学習、第2学習のいずれであっても、1エポックを単位として学習を実行する。また、学習部320は、所定の誤差関数Lを用いて誤差逆伝播法によりデータ生成モデルを学習する。誤差関数Lは、実行する学習が第1学習である場合、λを所定の定数として、次式により定義され、
【0100】
【0101】
実行する学習が第2学習である場合、λ’をλ’<1を満たす定数として、次式により定義される。
【0102】
【0103】
ただし、第2ドメインのデータに関する誤差L1は、実行する学習が第1学習である場合、第1学習データの要素である第1ドメインのデータに対するデータ生成モデルの出力である第2ドメインのデータと当該第1学習データの要素である第2ドメインのデータとから計算されるクロスエントロピー、実行する学習が第2学習である場合、第2学習データの要素である指標に対するデコーダの出力である第2ドメインのデータと当該第2学習データの要素である第2ドメインのデータとから計算されるクロスエントロピーとする。
【0104】
なお、誤差関数Lは、2つの誤差L1とL2を用いて定義されるものであればよい。
【0105】
また、第2学習データの要素である第2ドメインのデータは、第2学習データの要素である指標と近い(つまり、当該指標との差が所定の閾値より小さいあるいは以下である)指標を持つ第2ドメインのデータである。
【0106】
また、デコーダの出力である第2ドメインのデータsの推定指標^Isを、
【0107】
【0108】
(ただし、時刻tにおけるデコーダの出力層のユニットjの値p(wt,j)は、ユニットjに対応する第2ドメインのデータwt,jの生成確率、Iw_t,jは第2ドメインのデータwt,jの生成確率pw_t,jに基づき定まる第2ドメインのデータwt,jの情報量である)とし、第2ドメインのデータの指標に関する誤差L2は、実行する学習が第1学習である場合、推定指標^Isと第1学習データの要素である第2ドメインのデータの指標との差、実行する学習が第2学習である場合、推定指標^Isと第2学習データの要素である指標との差とする。
【0109】
S330において、終了条件判定部330は、S320において出力されたデータ生成モデルと終了条件を判定するために必要な情報とを入力とし、学習の終了に関する条件である終了条件が満たされている(例えば、学習を行った回数が所定の繰り返し回数に達している)か否かを判定し、終了条件が満たされている場合は、データ生成モデルを出力して、処理を終了する一方、終了条件が満たされていない場合は、S310の処理に戻る。
【0110】
《データ生成モデル学習装置350》
データ生成モデル学習装置350は、学習データを用いて、学習対象となるデータ生成モデルを学習する。データ生成モデル学習装置350は、第1学習データを用いる第1学習のみを実行する点において、データ生成モデル学習装置300と異なる。
【0111】
以下、
図18~
図19を参照してデータ生成モデル学習装置350を説明する。
図18は、データ生成モデル学習装置350の構成を示すブロック図である。
図19は、データ生成モデル学習装置350の動作を示すフローチャートである。
図18に示すようにデータ生成モデル学習装置350は、学習部320と、終了条件判定部330と、記録部390を含む。記録部390は、データ生成モデル学習装置350の処理に必要な情報を適宜記録する構成部である。
【0112】
図19に従いデータ生成モデル学習装置350の動作について説明する。データ生成モデル学習装置350は、第1学習データと当該第1学習データの要素である第2ドメインのデータに対する指標とを入力とし、データ生成モデルを出力する。なお、第1学習データの要素である第2ドメインのデータに対する指標については、入力とする代わりに、学習部320において、第1学習データの要素である第2ドメインのデータから求めるようにしてもよい。
【0113】
S320において、学習部320は、第1学習データと、当該第1学習データの要素である第2ドメインのデータに対する指標とを入力とし、第1学習データと当該第1学習データの要素である第2ドメインのデータに対する指標を用いて、エンコーダとデコーダを学習し、エンコーダとデコーダの組であるデータ生成モデルを、終了条件判定部330が終了条件を判定するために必要な情報(例えば、学習を行った回数)とともに出力する。学習部320は、例えば、1エポックを単位として学習を実行する。また、学習部320は、誤差関数Lを用いて誤差逆伝播法によりデータ生成モデルを学習する。誤差関数Lは、λを所定の定数として、次式により定義される。
【0114】
【0115】
なお、2つの誤差L1とL2の定義は、データ生成モデル学習装置300のそれと同一である。また、誤差関数Lは、2つの誤差L1とL2を用いて定義されるものであればよい。
【0116】
S330において、終了条件判定部330は、S320において出力されたデータ生成モデルと終了条件を判定するために必要な情報とを入力とし、学習の終了に関する条件である終了条件が満たされている(例えば、学習を行った回数が所定の繰り返し回数に達している)か否かを判定し、終了条件が満たされている場合は、データ生成モデルを出力して、処理を終了する一方、終了条件が満たされていない場合は、S320の処理に戻る。
【0117】
《データ生成装置400》
データ生成装置400は、データ生成モデル学習装置300またはデータ生成モデル学習装置350を用いて学習したデータ生成モデルを用いて、第1ドメインのデータと第2ドメインのデータに対する指標に関する条件から、第1ドメインのデータに対応する第2ドメインのデータを生成する。ここで、データ生成モデル学習装置300またはデータ生成モデル学習装置350を用いて学習したデータ生成モデルのことを学習済みデータ生成モデルともいう。また、学習済みデータ生成モデルを構成するエンコーダ、デコーダをそれぞれ学習済みエンコーダ、学習済みデコーダともいう。なお、データ生成モデル学習装置300、データ生成モデル学習装置350以外のデータ生成モデル学習装置を用いて学習したデータ生成モデルを用いてもよいのはもちろんである。
【0118】
以下、
図20~
図21を参照してデータ生成装置400を説明する。
図20は、データ生成装置400の構成を示すブロック図である。
図21は、データ生成装置400の動作を示すフローチャートである。
図20に示すようにデータ生成装置400は、潜在変数生成部410と、第2ドメインデータ生成部420と、記録部490を含む。記録部490は、データ生成装置400の処理に必要な情報を適宜記録する構成部である。記録部490は、例えば、学習済みデータ生成モデル(つまり、学習済みエンコーダと学習済みデコーダ)を事前に記録しておく。
【0119】
図21に従いデータ生成装置400の動作について説明する。データ生成装置400は、第1ドメインのデータと第2ドメインのデータに対する指標に関する条件を入力とし、第2ドメインのデータを出力する。
【0120】
S410において、潜在変数生成部410は、第1ドメインのデータを入力とし、第1ドメインのデータから、学習済みエンコーダを用いて、第1ドメインのデータに対応する潜在変数を生成し、出力する。
【0121】
S420において、第2ドメインデータ生成部420は、S410において出力された潜在変数と第2ドメインのデータに対する指標に関する条件を入力とし、潜在変数と第2ドメインのデータに対する指標に関する条件から、学習済みデコーダを用いて、第1ドメインのデータに対応する第2ドメインのデータを生成し、出力する。
【0122】
(具体例)
第1ドメインのデータを感覚情報に基づく信号、第2ドメインのデータを文または句として、以下、具体例について説明する。
【0123】
(1)味覚
この場合、味覚センサによる信号から、例えば、味にまつわる産地の説明文が得られる。味にまつわる産地の説明文とは、例えば、“2015年甲州産のワイン”のような説明文である。
【0124】
(2)嗅覚
この場合、嗅覚センサによる信号から、においの説明文が得られる。
【0125】
(3)触覚
この場合、触覚センサや硬度センサによる信号から、例えば、硬さや風合いの説明文が得られる。
【0126】
(4)視覚
この場合、カメラなどの画像センサによる信号から、例えば、動画のキャプションや画像の被写体の説明文が得られる。
【0127】
本発明の実施形態によれば、第2ドメインのデータに対する指標を補助入力とし、第1ドメインのデータから、当該第1ドメインのデータに対応する第2ドメインのデータを生成するデータ生成モデルを学習することが可能となる。また、本発明の実施形態によれば、第1ドメインのデータから、所定の指標を制御して、当該第1ドメインのデータに対応する第2ドメインのデータを生成することが可能となる。
【0128】
<補記>
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【0129】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
【0130】
ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成部)を実現する。
【0131】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【0132】
既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【0133】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP-ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
【0134】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0135】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0136】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【0137】
上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。