(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-05
(45)【発行日】2024-11-13
(54)【発明の名称】情報処理方法、情報処理装置及び情報処理プログラム
(51)【国際特許分類】
G06N 20/00 20190101AFI20241106BHJP
【FI】
G06N20/00
(21)【出願番号】P 2022519894
(86)(22)【出願日】2020-08-19
(86)【国際出願番号】 JP2020031356
(87)【国際公開番号】W WO2021225008
(87)【国際公開日】2021-11-11
【審査請求日】2023-06-26
(32)【優先日】2020-05-04
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】赤間 健人
【審査官】新井 則和
(56)【参考文献】
【文献】特開2002-032077(JP,A)
【文献】佐々木 真菜, ほか,メロディの自動補間によるメロディ編集手法の検討,情報処理学会研究報告 音声言語情報処理(SLP),2018年06月16日,Vol. 2018-SLP-122 No. 24
【文献】GINO, B., et al.,MIDI-VAE: Modeling Dynamics and Instrumentation of Music with Applications to Style Transfer,[online],,2018年09月20日,[検索日 2024.06.20], Internet: <URL: https://arxiv.org/pdf/1809.07600.pdf>
【文献】JUNYAN, J., et al,Stylistic Melody Generation with Conditional Variational Auto-Encoder ,[online],2019年,[検索日 2024.06.20], Internet: <URL: https://sailinglab.github.io/pgm-spring-2019/assets/project/final-reports/project8.pdf>
【文献】ADAM, R., et al.,MusicVAE: Creating a palette for musical scores with machine learning, [online],2018年03月15日,[検索日 2024.06.20], Internet: <URL: https://magenta.tensorflow.org/music-vae>
【文献】Style Transfer for Creative Art,[online], Internet Archive,2019年05月29日,[検索日 2024.06.20], Internet: <URL:https://web.archive.org/web/20190529204812/http://wolfram.com/language/12/machine-learning-for-images/style-transfer-for-creative-art.html>
【文献】映像をゴッホなどの画風にリアルタイムで変化させる技術をGoogleが開発中 ,[online], Gigazine,2016年10月27日,[検索日 2024.06.20], Internet: <URL:https://gigazine.net/news/20161027-style-transfer-pastiche/>
【文献】杉山 普,ほか,Variational Autoencoderによる話者ベクトル空間の構築とそれに基づくパラレルデータフリー話者変換,情報処理学会 研究報告 音楽情報科学(MUS),2018年06月16日,Vol. 2018-MUS-119 No.28
(58)【調査した分野】(Int.Cl.,DB名)
G06N 20/00
(57)【特許請求の範囲】
【請求項1】
結合関係にない複数の特徴量と、学習済みモデルとを用いて、変更された前記複数の特徴量から得られる新規データを生成
する情報処理方法であって、
前記学習済みモデルは、前記複数の特徴量が入力されると、変更された前記複数の特徴量を出力
し、
前記複数の特徴量は、いずれも、前記新規データのデータ長よりも短いデータ長を有する部分データから抽出された特徴量であり、
前記新規データは、前記複数の特徴量それぞれに対応する部分データの合計データ長と同じデータ長を有し、
前記新規データ及び前記部分データは、いずれも、小節単位のデータ長を有する音楽データであり、
前記新規データのデータ長の小節数は、前記複数の特徴量それぞれに対応する部分データのデータ長の小節数の合計数である、
情報処理方法。
【請求項2】
前記学習済みモデルの出力結果と、前記学習済みモデルとを用いて、さらに変更された前記複数の特徴量から得られる前記新規データを生成する、
請求項1に記載の情報処理方法。
【請求項3】
生成した前記新規データと、前記学習済みモデルによって前記複数の特徴量が変更された回数とを対応づけて表示する、
請求項
2に記載の情報処理方法。
【請求項4】
前記複数の特徴量の変更の方向性を与える追加特徴量も用いて、前記新規データを生成し、
前記学習済みモデルは、前記複数の特徴量及び前記追加特徴量が入力されると、変更された前記複数の特徴量を出力する、
請求項1に記載の情報処理方法。
【請求項5】
生成した前記新規データと、前記追加特徴量によって与えられる前記変更の方向性とを対応づけて表示する、
請求項
4に記載の情報処理方法。
【請求項6】
生成した前記新規データに対応する前記追加特徴量以外の前記追加特徴量を指定可能な態様で表示する、
請求項
4に記載の情報処理方法。
【請求項7】
前記複数の特徴量は、標準正規分布からサンプルされた特徴量を含む、
請求項1に記載の情報処理方法。
【請求項8】
前記標準正規分布からサンプルされた特徴量を、前記新規データのデータ長よりも短いデータ長を有する部分データから抽出された特徴量の代わりに用いる、
請求項
7に記載の情報処理方法。
【請求項9】
結合関係にない複数の特徴量と、学習済みモデルとを用いて、変更された前記複数の特徴量から得られる新規データを生成する生成部を備え
る情報処理装置であって、
前記学習済みモデルは、前記複数の特徴量が入力されると、変更された前記複数の特徴量を出力
し、
前記複数の特徴量は、いずれも、前記新規データのデータ長よりも短いデータ長を有する部分データから抽出された特徴量であり、
前記新規データは、前記複数の特徴量それぞれに対応する部分データの合計データ長と同じデータ長を有し、
前記新規データ及び前記部分データは、いずれも、小節単位のデータ長を有する音楽データであり、
前記新規データのデータ長の小節数は、前記複数の特徴量それぞれに対応する部分データのデータ長の小節数の合計数である、
情報処理装置。
【請求項10】
コンピュータを機能させるための情報処理プログラムであって、
結合関係にない複数の特徴量と、学習済みモデルとを用いて、変更された前記複数の特徴量から得られる新規データを生成すること、
を前記コンピュータに実行させ、
前記学習済みモデルは、前記複数の特徴量が入力されると、変更された前記複数の特徴量を出力
し、
前記複数の特徴量は、いずれも、前記新規データのデータ長よりも短いデータ長を有する部分データから抽出された特徴量であり、
前記新規データは、前記複数の特徴量それぞれに対応する部分データの合計データ長と同じデータ長を有し、
前記新規データ及び前記部分データは、いずれも、小節単位のデータ長を有する音楽データであり、
前記新規データのデータ長の小節数は、前記複数の特徴量それぞれに対応する部分データのデータ長の小節数の合計数である、
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理方法、情報処理装置及び情報処理プログラムに関する。
【背景技術】
【0002】
例えば特許文献1は、一つの曲の各部分データの特徴量を変更することによって別の曲を生成する手法を開示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
生成の元となるデータとして、生成されるデータと同程度のデータ量を有するデータを準備することが困難な場合もある。
【0005】
本開示の一側面は、データ準備負担を軽減することのできる情報処理方法、情報処理装置及び情報処理プログラムを提案する。
【課題を解決するための手段】
【0006】
本開示の一側面に係る情報処理方法は、結合関係にない複数の特徴量と、学習済みモデルとを用いて、変更された複数の特徴量から得られる新規データを生成し、学習済みモデルは、複数の特徴量が入力されると、変更された複数の特徴量を出力する。
【0007】
本開示の一側面に係る情報処理装置は、結合関係にない複数の特徴量と、学習済みモデルとを用いて、変更された複数の特徴量から得られる新規データを生成する生成部を備え、学習済みモデルは、複数の特徴量が入力されると、変更された複数の特徴量を出力する。
【0008】
本開示の一側面に係る情報処理プログラムは、コンピュータを機能させるための情報処理プログラムであって、結合関係にない複数の特徴量と、学習済みモデルとを用いて、変更された複数の特徴量から得られる新規データを生成すること、をコンピュータに実行させ、学習済みモデルは、複数の特徴量が入力されると、変更された複数の特徴量を出力する。
【図面の簡単な説明】
【0009】
【
図1】実施形態に係る情報処理装置の概略構成の例を示す図である。
【
図4】情報処理装置の機能ブロックの例を示す図である。
【
図6】学習済みモデルの概略構成の例を示す図である。
【
図8】識別器及び生成器の事前学習の例を示す図である。
【
図10】情報処理装置において実行される処理(情報処理方法)の例を示すフローチャートである。
【
図11】学習済みモデルの生成の例を示すフローチャートである。
【
図12】学習済みモデルの概略構成の例を示す図である。
【
図17】学習済みモデルの概略構成の例を示す図である。
【
図19】情報処理装置のハードウェア構成の例を示す図である。
【発明を実施するための形態】
【0010】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【0011】
以下に示す項目順序に従って本開示を説明する。
1. 実施形態
2. 変形例
3. 効果
【0012】
1. 実施形態
以下では、主に、実施形態に係る情報処理方法に用いることのできる情報処理装置を例に挙げて説明する。処理対称となる情報の例は、音楽データ、言語データ、DNA配列データ、画像データ等である。音楽データの例は、シンボリック音楽(シンボル系列)のような音楽シーケンス、オーディオ等である。言語の例は、文書、詩、プログラミング言語等である。
【0013】
情報処理装置は、結合関係にない複数の特徴量から新規データを生成する。結合関係にない複数の特徴量とは、例えば、それらの特徴量をそのまま結合(連続して並べてつなげる等)した場合に不連続性等の不自然さが生ずる関係をいう。結合関係にない複数の特徴量の例は、各特徴量の抽出元のデータ(以下、「部分データ」という。)どうしが結合関係になかった特徴量である。例えば、同じデータ中に連続して存在していた複数の部分データは、結合関係にあったといえる。同じデータ中でも、連続性がなかったりそのままつなげると不自然さが生じたりする程度に離れて存在していた複数の部分データは、結合関係になかったといえる。別々のデータ中に存在していた複数の部分データは、結合関係になかったといえる。なお、生成される新規データのデータ長は部分データのデータ長よりも長い。換言すれば、部分データは、新規データのデータ長よりも短いデータ長を有する。特徴量の別の例は、抽出元の部分データが存在しない特徴量であり、後に
図16を参照して説明するような標準正規分布N(0、I)からサンプルされた特徴量である。
【0014】
結合関係にない複数の特徴量それぞれの準備は、例えば新規データと同程度のデータ量を有するデータの特徴量を準備するよりも容易な場合も少なくない。したがって、データ準備負担を軽減することができる。
【0015】
新規データは、変更された複数の特徴量から得られるデータである。変更された複数の特徴量は、変更前の複数の特徴量それぞれの特徴を残しつつも、変更前の各特徴量をそのまま結合するだけでは得ることのできない斬新な特徴量となりうる。変更前の各特徴量をそのまま結合した場合に生じうる不連続性等の不自然さも低減されうる。
【0016】
例えば複数の特徴量のいずれにも抽出元の部分データが存在する場合、新規データは、融合性が高められるように変更された複数の部分データが結合されたデータとなる(系列の結合的融合)。このような結合的融合によって生成された新規データは、変更前の部分データの特徴を残しつつ、変更前の部分データをそのまま結合するだけでは得られない斬新なデータとなりうる。変更前の各部分データをそのまま結合した場合に生じうる不連続性等の不自然さも低減されうる。例えばアイデアの断片を部分データとして用いることで、アイデアの断片から新しいアイデアを生み出せる可能性がある。
【0017】
以下、抽出元の部分データが存在する特徴量の例について、
図1~
図16を参照して説明する。その後、抽出元の部分データが存在しない特徴量の例について、
図17及び
図18を参照して説明する。部分データの例として、音楽シーケンスを用いて説明する。
【0018】
図1は、実施形態に係る情報処理装置の外観の例を示す図である。情報処理装置1は、例えば汎用のコンピュータにおいて所定のプログラム(ソフトウェア)を実行させることによって実現される。
図1に示される例では、情報処理装置1は、ユーザUが使用するラップトップである。情報処理装置1の表示画面を、表示画面1aと称し図示する。ラップトップ以外にも、PC、スマートフォンといった種々の装置によって情報処理装置1が実現されうる。
【0019】
図2は、入力画面の例を示す図である。この例では、ユーザUは、2つの音楽シーケンスを入力する。項目「シーケンス1」において、ユーザUは、フォルダ等を参照してファイル選択する。選択されたファイルに示される音楽シーケンスが、可視化表示される。同様に、項目「シーケンス2」において、ユーザUは、フォルダ等を参照してファイル選択する。選択されたファイルに示される音楽シーケンスが、可視化表示される。
【0020】
さらに、項目「iteration数」において、ユーザUは、iteration数を設定する。iteration数は、2つの音楽シーケンスの融合性の程度(融合度)に関連し、詳細については後に
図6を参照して説明する。この例では、iteration数は、自動設定又は指定可能である。ここでは、iteration数が3に設定されるものとする。
【0021】
図3は、出力画面の例を示す図である。上述のiteration数3に応じて、iteration数が1~3それぞれに対応する3つの新規シーケンスが可視化表示される。新規シーケンスは、シーケンス1及びシーケンス2をそのまま結合するだけでは得られない斬新なシーケンスとなりうる。シーケンス1及びシーケンス2をそのまま結合した場合に生じうる不連続性等の不自然さも低減されうる。
【0022】
なお、以上説明した
図1~
図3は情報処理装置1の外観及び入出力画面の構成の例示に過ぎず、以降に説明する内容も含めさまざまな入出力態様に対応可能なあらゆる構成が採用されてよい。
【0023】
図4は、情報処理装置の機能ブロックの例を示す図である。情報処理装置1は、入力部10と、記憶部20と、生成部30と、出力部40とを含む。
【0024】
入力部10には、複数の部分データが入力される。複数の部分データは、冒頭で述べたように、結合関係になかった複数の部分データである。データの例について、
図5を参照して説明する。
【0025】
図5は、複数の部分データの例を示す図である。この例では、複数の部分データは、時刻及び音高値(MIDI pitch)で表される2つの音楽シーケンスである。time(bars)は小節番号を示す。各部分データの有するデータ長(この例では4小節)は、生成される新規データのデータ(後述の
図9の例では8小節)よりも短い。
【0026】
図4に戻り、入力部10には、先に
図3を参照して説明したiteration数を示すデータ、また、後に
図13を参照して説明するスタイルの有無(
図13等を参照)を示すデータ、
図16を参照して説明する特徴量Sの設定データ等も入力される。
【0027】
記憶部20は、情報処理装置1で用いられる種々の情報を記憶する。このうち、学習済みモデル21及び情報処理プログラム22が例示される。学習済みモデル21については後述する。情報処理プログラム22は、情報処理装置1において実行される処理を実現するためのプログラムである。
【0028】
生成部30は、入力部10の入力結果に応じて、複数の特徴量と、学習済みモデル21とを用いて、新規データを生成する。複数の特徴量それぞれは、複数の部分データそれぞれの特徴量であり、結合関係にない特徴量である。学習済みモデル21について、
図6~
図8を参照して説明する。
【0029】
図6は、学習済みモデルの概略構成の例を示す図である。学習済みモデル21は、エンコーダqθと、生成器G
Ψと、デコーダpθとを含む。
【0030】
エンコーダqθは、部分データX
L及び部分データX
Rの特徴量Z
L及び特徴量Z
Rを抽出する。エンコーダqθは、部分データX
L及び部分データX
Rを特徴量Z
L及び特徴量Z
Rに変換する変換関数ともいえる。特徴量Z
L及び特徴量Z
Rは、多次元空間中の位置(点)を示す。このような多次元空間は、潜在空間、潜在特徴空間等とも称され、以下では潜在空間と称する。特徴量Z
L及び特徴量Z
Rはベクトルであってよい。エンコーダqθは、デコーダpθとともに事前学習を行うことによって生成される。これについて、
図7を参照して説明する。
【0031】
図7は、エンコーダ及びデコーダの事前学習の例を示す図である。
図7に示されるエンコーダqθ及びデコーダpθは、学習が完了する前の(暫定の)エンコーダ及びデコーダであり、上述の
図6に示される学習済みのエンコーダ及びデコーダとは異なる点に留意されたい。
【0032】
図7を参照して、エンコーダqθ及びデコーダpθは、いずれもニューラルネットワークであり、部分データXの特徴量Zすなわち潜在空間中の位置をVAE(Variational Auto Encoder)で学習することによって生成される。ここでの部分データX並びに特徴量Zは、先に
図6を参照して説明した部分データX
L及び部分データX
R並びに特徴量Z
L及び特徴量Z
Rに相当しうる。VAEのエンコーダqθ及びデコーダpθは、例えばRNN(Recurrent Neural Network)を用いて実装される。エンコーダqθは、部分データXの特徴量Zを抽出する。デコーダpθは、特徴量Zを部分データX´として再構成する。
【0033】
図7には、損失関数として、損失L
rec及び損失L
priが例示される。損失L
recは、部分データX´を部分データXに近づけるために用いられる再構成誤差である。損失L
priは、エンコーダqθによって抽出された特徴量の分布すなわち多次元空間中の位置の分布を標準正規分布N(0、I)に近づけるために用いられるプライア誤差である。
【0034】
図6に戻り、生成器G
Ψは、特徴量Z
L及び特徴量Z
Rが入力されると、特徴量Z´
L及び特徴量Z´
Rを生成(出力)する。特徴量Z´
L及び特徴量Z´
Rは、変更された特徴量Z
L及び特徴量Z
Rである。なお、特徴量を変更することは、潜在空間中の特徴量の位置を移動させることに相当する。生成器G
Ψは、識別器とともに事前学習を行うことによって生成される。これについて、
図8を参照して説明する。
【0035】
図8は、識別器及び生成器の事前学習の例を示す図である。
図8に示される生成器G
Ψは、学習が完了する前の(暫定の)生成器であり、上述の
図6に示される学習済みの生成器G
Ψとは異なる点に留意されたい。
【0036】
図8を参照して、生成器G
Ψは、特徴量Z
L及び特徴量Z
Rを入力とし、特徴量Z´
L及び特徴量Z´
Rを出力(生成)する。識別器D
Ψは、生成器G
Ψによって生成された特徴量Z´
L及び特徴量Z´
Rの結合特徴量(結合ベクトル)を識別する。生成器G
Ψ及び識別器D
Ψは、GAN(Generative Adversarial Networks)を用いて実装される。アーキテクチャの例は、多層パーセプトロン、RNN及びTransformer等である。
【0037】
図8には、損失関数として、損失L
p
dis、損失L
N
dis、損失L
p
gen及び損失L
simが例示される。損失L
p
disは、識別器D
Ψの正例に関する損失関数である。損失L
N
disは、識別器D
Ψの負例に関する損失関数である。損失L
p
genは、生成器G
Ψに関する損失関数である。損失L
simは、特徴量Z´
L及び特徴量Z´
Rを、特徴量Z
L及び特徴量Z
Rに近づけるための損失関数である。これらの損失関数を用いることにより、特徴量Z´
Lに特徴量Z
Lとの関連性が残り、特徴量Z´
Lと特徴量Z
Rとの類似性が担保される。また、特徴量Z´
Rに特徴量Z
Rとの関連性が残り、特徴量Z´
Rと特徴量Z
Rとの類似性が担保される。この類似性の担保により、生成された新規データに、部分データX
L及び部分データX
Rの特徴が残る。
【0038】
識別器DΨの学習についてさらに述べる。識別器DΨの学習では、正例と負例を識別するように勾配降下が用いられる。誤差関数には、クロスエントロピーが用いられてよい。正例及び負例について順に説明する。
【0039】
正例の例は、2つの部分データ全体のデータ長(例えば8小節)と同じデータ長を有するデータの前半部分(例えば前半の4小節)の特徴量及び後半部分(例えば後半の4小節)の特徴量の結合特徴量(結合ベクトル)である。このような結合特徴量は、結合関係にあった部分データの特徴量すなわち結合関係にある特徴量が結合された特徴量であり、生成目的として適切である。
【0040】
負例として、4つの例を挙げる。第1の例は、ランダムにサンプルされた2つの部分データそれぞれの特徴量の結合特徴量である。第2の例は、標準正規分布からサンプルされた2つの特徴量の結合特徴量である。これらの結合特徴量を負例とするのは、これらの結合特徴量が、結合関係になかった2つの部分データの特徴量すなわち結合関係にない特徴量をそのまま結合したに過ぎず、生成目的に反するからである。
【0041】
第3の例は、上述の第1の例においてサンプルされた2つの部分データそれぞれの特徴量を暫定の生成器GΨに入力することによって生成された特徴量の結合特徴量である。第4の例は、上述の第2の例においてサンプルされた2つの部分データそれぞれの特徴量を暫定の生成器GΨに入力することによって生成された特徴量の結合特徴量である。これらの結合特徴量を負例とするのは、GANにおける敵対的学習のためである。
【0042】
生成器GΨの学習についてさらに述べる。生成器GΨの学習では、上述の第1の例における結合特徴量、及び、上述の第2の例における結合特徴量を生成器GΨに入力する。生成器GΨの出力を識別器DΨに入力し、識別器DΨの出力を正例とするようなクロスエントロピー誤差関数を計算する。さらに、特徴量Zと特徴量Z´との類似度誤差関数、及び、特徴量ZRと特徴量Z´Rとの類似度誤差関数を計算する。類似度誤差関数の例は、両特徴量の二乗誤差である。ただし、他の類似度誤差関数が用いられてもよい。上述のクロスエントロピー誤差関数、特徴量ZLと特徴量Z´Lとの類似度誤差関数、及び、特徴量ZRと特徴量Z´Rとの誤差関数の3つの誤差関数の加算結果を最終誤差関数とし、生成器GΨのパラメータを勾配法で更新する。
【0043】
図6に戻り、デコーダpθは、特徴量Z´
L及び特徴量Z´
Rを、部分データX´
L及び部分データX´
Rとして再構成する。デコーダpθは特徴量Z´
L及び特徴量Z´
Rを部分データX´
L及び部分データX´
Rに変換する変換関数ともいえる。
【0044】
生成部30は、部分データX´L及び部分データX´Rを結合することによって、新規データを生成する。
【0045】
図6における「optionally iterate」は、生成部30が、生成器G
Ψの出力結果を、新規データの生成に用いるだけでなく、任意選択的に生成器G
Ψの入力に戻してよいことを示す。生成器G
Ψによる生成を繰り返し実行することで、特徴量をさらに変更することができる。生成器G
Ψが生成を行う回数をiterate数とすると、iterate数が増加するにつれて、特徴量Z
L及び特徴量Z
Rに対する特徴量Z´
L及び特徴量Z´
Rの融合度の程度が大きくなり、新規データにおける部分データX´
L及び部分データX´
Rの融合度が高くなる。したがって、iteration数と同じ数の異なる新規データが生成される。
【0046】
図2に戻り、出力部40は、生成部30によって生成された新規データを出力する。データの例について、
図9を参照して説明する。
【0047】
図9は、新規データの例を示す図である。この例では、3通りのiterate数に対応する3つの新規データが例示される。各新規データは、8小節のデータ長、すなわち入力された複数の部分データ(
図5)全体のデータ長と同じデータ長を有する。前半4小節の音楽シーケンスは、もとの音楽シーケンス(
図5の左側)が変更された音楽シーケンスである。後半4小節の音楽シーケンスは、もとの音楽シーケンス(
図5の右側)が変更された音楽シーケンスである。上下方向に並んで表示された3つの新規データのiterate数は、上から下に向かうにつれて増加し、例えばもとの音楽シーケンスからの変更の度合いも大きくなり、融合度が高められる。
【0048】
出力部40は、先に
図3を参照しても説明したように、新規データとiterate数とを対応付けて表示してよい。これにより、iterate数を確認することができ、また、別のiterate数を用いた新規データの生成を行うことができる。
【0049】
図10は、情報処理装置において実行される処理(情報処理方法)の例を示すフローチャートである。
【0050】
ステップS1において、複数の部分データを入力する。例えば先に
図2を参照して説明したように、2つの音楽シーケンスが入力され、入力部10がそれらを受け付ける。入力された2つの音楽シーケンスは、これまで説明した部分データX
L及び部分データX
Rに相当する。なお、iterate数等の他のデータも入力部10に入力されてよい。
【0051】
ステップS2において、特徴量を抽出する。例えば、生成部30が、学習済みモデル21のエンコーダqθを用いて、先のステップS1で入力された部分データXL及び部分データXRの特徴量ZL及び特徴量ZRを抽出する。
【0052】
ステップS3において、変更された特徴量を生成する。例えば、生成部30が、学習済みモデル21の生成器GΨを用いて、先のステップS2で抽出された特徴量ZL及び特徴量ZRから変更された特徴量Z´L及び特徴量Z´Rを生成する。
【0053】
ステップS4において、変更された特徴量を部分データとして再構成する。例えば、生成部30が、学習済みモデル21のデコーダpθを用いて、先のステップS3で生成された特徴量Z´L及び特徴量Z´Rを、部分データX´L及び部分データX´Rとして再構成する。
【0054】
ステップS5において、新規データを生成する。例えば、生成部30が、先のステップS4で得られた部分データX´L及び部分データX´Rを結合することによって、新規データを生成する。
【0055】
ステップS6において、新規データを出力する。例えば、出力部40が、先に
図3及び
図9を参照して説明したように、新規データを出力する。後に
図16等を参照して説明するような出力態様もありうる。
【0056】
ステップS6の処理が完了した後、フローチャートの処理は終了する。例えばこのようにして新規データを生成することができる。
【0057】
学習済みモデル21の生成手順の例について、
図11を参照して説明する。
【0058】
図11は、学習済みモデルの生成の例を示すフローチャートである。
【0059】
ステップS11において、部分データを用いたVAEの学習を行う。例えば、先に
図7を参照して説明したように、部分データXを用いた学習を行い、エンコーダqθ及びデコーダpθを生成する。
【0060】
ステップS12において、変数iの値を1に設定する。変数iは、後述のステップS13及びステップS14の処理を、決められたiteration数だけ繰り返すために用いられる。iteration数は、想定されるiteration数の範囲内で適宜設定されてよい。
【0061】
ステップS13において、1バッチ分のサンプルを取得する。サンプルは例えばミニバッチサンプルであり、先に識別器D
Ψ及び生成器G
Ψの学習に用いる訓練データの一例である。例えば1バッチが100個のデータに相当する場合、先に
図8を参照して説明したような正例及び負例のグループを100個準備する。
【0062】
ステップS14において、識別器及び生成器の学習を行う。すなわち、先のステップS11で学習したVAEと、先のステップS12で取得した1バッチ分のサンプルとを用いて、識別器DΨ及び生成器GΨの学習を行う。標準正規分布N(0、I)からサンプルされた特徴量も学習に用いられてよい。これにより、例えば人間が作ったデータからでは得られにくい特徴量にも対応可能な生成器GΨが生成される。このような特徴量は、iteration数が2以上の場合に生成器GΨに入力される可能性が高く、とくにこの意味において学習に用いる意義がある。
【0063】
ステップS15において、変数iが、決められたiteration数以上であるか否かを判断する。変数iが決められたiteration数以上の場合(ステップS15:Yes)、フローチャートの処理は終了する。そうでない場合(ステップS15:No)、ステップS16に処理が進められる。
【0064】
ステップS16において、変数iの値が1だけ増加され、ステップS13に処理が戻される。
【0065】
例えば以上のようにして、学習済みモデル21を生成することができる。
【0066】
以上、本開示の一実施形態について説明した。本開示は、上記実施形態に限定されない。いくつかの変形例について述べる。
【0067】
2. 変形例
上記実施形態では、特徴量Z
L及び特徴量Z
Rのみが用いられる例について説明した。ただし、特徴量Z
L及び特徴量Z
Rに加えて、特徴量Z
L及び特徴量Z
Rの変更の方向性を与える追加特徴量も用いられてよい。これについて、
図12~
図15を参照して説明する。
【0068】
図12は、学習済みモデルの概略構成の例を示す図である。
図12に示される学習済みモデル21Aは、学習済みモデル21(
図6)と比較して、特徴量Z
L及び特徴量Z
Rだけでなく、特徴量Sも生成器G
Ψに入力される点において相違する。特徴量Sは、多次元分布u(0、1)
dsからサンプルされた特徴量(ベクトル)であり、特徴量Z
L及び特徴量Z
Rと同様に、潜在空間中の位置(点)を示す。なお、多次元分布u(0、1)
dsのdsは次元数を示す。
【0069】
生成器GΨに特徴量Sが入力されたことに起因して、特徴量Z´L及び特徴量Z´Rに変化が表れる。部分データX´L及び部分データX´R、さらにはこれらの結合データである新規データにも変化が表れる。例えば、特徴量Sの潜在空間中の或る方向に特徴量Sの位置を移動させると、新規データに現れる或る変化の傾向が顕在化したり潜在化したりする。潜在空間中の別の方向に特徴量Sを移動させると、新規データに現れる別の変化の傾向が顕在化したり潜在化したりする。このような特徴量Sは、生成される新規データのスタイルにバリエーションを与える特徴量(スタイル空間のベクトル)ともいえる。
【0070】
学習済みモデル21Aの学習は、学習済みモデル21の生成と比較して、特徴量Z
L及び特徴量Z
Rとともに特徴量Sも生成器G
Ψに入力する点において相違する。すなわち、学習の際、先に説明した第1の例における結合特徴量に、多次元分布u(0、1)
dsからサンプルされた特徴量を結合したうえで、生成器G
Ψに入力する。また、先に説明した第2の例における結合特徴量に、多次元分布u(0、1)
dsからサンプルされた特徴量を結合したうえで、生成器G
Ψに入力する。先に説明した
図11に示されるフローチャートでいうと、ステップS14が上述の学習済みモデル21Aの学習に適合するように変更される。生成された学習済みモデル21Aは、特徴量Z
L、特徴量Z
R及び特徴量Sが入力されると、特徴量Z´
L及び特徴量Z´
Rを出力する。
【0071】
生成部30による新規データの生成手順も、学習済みモデル21Aの使用に適合するように変更される。先に説明した
図10に示されるフローチャートでいうと、ステップS3において、生成部30が、学習済みモデル21Aの生成器G
Ψ、特徴量Z
L及び特徴量Z
Rの他に、特徴量Sも用いて、特徴量Z´
L及び特徴量Z´
Rを生成する。
【0072】
学習済みモデル21Aを用いた場合の入出力の例について、
図13~
図16を参照して説明する。
【0073】
図13は、入力画面の例を示す図である。先に説明した
図2と比較して、項目「スタイル」が追加されている。ユーザUは、スタイルの有無を選択する。先にも述べたが、このスタイルの有無を示すデータも入力部10(
図4)に入力される。スタイル有りが選択された場合、例えば予め定められた数の上述の特徴量Sが用いられ、新規データが生成される。この例では、9つの特徴量Sが用いられるものとする。
【0074】
図14は、複数の部分データの例を示す図である。これまでと同様に、2つの音楽シーケンスが例示される。各音楽シーケンスのデータ長は4小節である。
【0075】
図15は、新規データの例を示す図である。異なる特徴量Sに対応する9つの新規データが例示される。各新規データは、8小節のデータ長を有する音楽シーケンスである。このデータ長8小節は、入力された2つの音楽シーケンスそれぞれのデータ長の合計データ長である。前半4小節の音楽シーケンスは、もとの音楽シーケンス(
図14の左側)が変更された音楽シーケンスである。後半4小節の音楽シーケンスは、もとの音楽シーケンス(
図14の右側)が変更された音楽シーケンスである。
【0076】
学習済みモデル21Aが用いられる場合、出力部40(
図4)は、新規データと特徴量Sとを対応づけて表示してよい。これにより、ユーザUは、新規データに現れる変化と特徴量Sとの関係を知ることができる。出力部40は、ユーザUが特徴量Sを指定可能な態様で、新規データと特徴量Sとを対応づけて表示してよい。これにより、ユーザUは、表示されている新規データの特徴量S以外の特徴量Sを用いた新規データの生成を行うことができる。出力画面の例を、
図16を参照して説明する。
【0077】
図16は、出力画面の例を示す図である。9つの新規データは、特徴量S、より具体的には潜在空間中の或る2次元平面上の特徴量Sの位置に対応付けて表示される。左右方向に延在する矢印の両端には、ラベルAAA及びラベルBBBが表示される。ラベルAAAは、特徴量Sを2次元平面上の左方向に移動させた場合に新規データに現れる変化の傾向を示す。ラベルの内容の例は、音楽の雰囲気(明るい、寂しい等)、コード進行等である。このようなラベルの内容は、例えば各新規データを解析することによって取得される。解析は、出力部40又は生成部30によって行われてよい。
【0078】
他のラベルについて述べると、ラベルBBBは、特徴量Sを2次元平面上の右方向に移動させた場合の変化の傾向を示す。同様に、上下方向に延在する矢印の両端には、ラベルCCC及びラベルDDDが表示される。ラベルCCCは、特徴量Sを2次元平面上の下方向に移動させた場合の変化の傾向を示す。ラベルDDDは、特徴量Sを2次元平面上の上方向に移動させた場合の変化の傾向を示す。
【0079】
潜在空間中の別の2次元平面上の特徴量Sに対応する新規データも生成されている場合には、それらの新規データを特徴量Sと対応付けた表示への切り替えが行われてもよい。
【0080】
図16に示される例では、2次元平面を区画するグリッド線GRが表示される。ユーザUは、グリッド線GRで区間された部分をポインタPで選択することで、その位置に対応する特徴量Sを設定することができる。この特徴量Sの設定データも、入力部10(
図4)に入力される。これにより、設定された特徴量Sを用いて新たに新規データを生成し、出力することができる。
【0081】
新規データが、特徴量S及びiterate数の両方のファクタに対応付けられてもよい。この場合、両ファクタの対応付けが一度に表示されてよい。例えば、一方のファクタを画面平面方向に対応させ、他方のファクタを画面奥行き方向に対応させる等の表示が行われてよい。
【0082】
上記実施形態では、部分データX
L及び部分データX
Rの特徴量を生成器G
Ψに入力する例について説明した。ただし、部分データX
L及び/又は部分データX
Rの代わりに、標準正規分布からサンプルされた特徴量が用いられてよい。これについて、
図17を参照して説明する。
【0083】
図17は、学習済みモデルの概略構成の例を示す図である。
図17に示される学習済みモデル21Bは、学習済みモデル21A(
図12)と比較して、部分データX
Lの特徴量及び部分データX
Rの特徴量の少なくとも一方に代えて標準正規分布N(0、I)からサンプルされた特徴量を用いることが可能となっている点において相違する。
【0084】
標準正規分布N(0、I)からサンプルされた特徴量を特徴量Z
L及び/又は特徴量Z
Rとして用いることで、部分データX
L及び/又は部分データX
Rが入力されない場合でも、新規データを生成することができる。学習済みモデル21Bの学習は、先に説明した
図11のステップS14で述べたように、標準正規分布N(0、I)からサンプルされた特徴量も生成器G
Ψに入力することによって行われる。
【0085】
生成部30による新規データの生成手順は、学習済みモデル21Bの使用に適合するように変更される。先に説明した
図10に示されるフローチャートでいうと、ステップS2において、部分データX
L及び/部分データX
Rの特徴量を抽出する代わりに、標準正規分布N(0、I)から特徴量がサンプルされうる。
【0086】
学習済みモデル21Bを用いた場合の入力画面の例について、
図18を参照して説明する。
【0087】
図18は、入力画面の例を示す図である。先に説明した
図2と比較して、項目「シーケンス1」及び項目「シーケンス2」において、ファイルを選択する以外に、ファイル無しを選択することもできるようになっている。これらの選択結果も、入力部10(
図4)に入力される。項目「シーケンス1」においてファイル無しが選択されると、特徴量Z
Lとして、標準正規分布N(0、I)からサンプルされた特徴量が用いられる。項目「シーケンス2」においてファイル無しが選択されると、特徴量Z
Rとして、標準正規分布N(0、I)からサンプルされた特徴量が用いられる。その分、部分データの準備が不要となる。
【0088】
最後に、情報処理装置1のハードウェア構成について、
図19を参照して説明する。
【0089】
図19は、情報処理装置のハードウェア構成の例を示す図である。この例では、情報処理装置1は、コンピュータ1000によって実現される。コンピュータ1000は、CPU1100、RAM1200、ROM(Read Only Memory)1300、HDD(Hard Disk Drive)1400、通信インターフェイス1500、及び入出力インターフェイス1600を有する。コンピュータ1000の各部は、バス1050によって接続される。
【0090】
CPU1100は、ROM1300又はHDD1400に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、CPU1100は、ROM1300又はHDD1400に格納されたプログラムをRAM1200に展開し、各種プログラムに対応した処理を実行する。
【0091】
ROM1300は、コンピュータ1000の起動時にCPU1100によって実行されるBIOS(Basic Input Output System)等のブートプログラムや、コンピュータ1000のハードウェアに依存するプログラム等を格納する。
【0092】
HDD1400は、CPU1100によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、HDD1400は、プログラムデータ1450の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
【0093】
通信インターフェイス1500は、コンピュータ1000が外部ネットワーク1550(例えばインターネット)と接続するためのインターフェイスである。例えば、CPU1100は、通信インターフェイス1500を介して、他の機器からデータを受信したり、CPU1100が生成したデータを他の機器へ送信したりする。
【0094】
入出力インターフェイス1600は、入出力デバイス1650とコンピュータ1000とを接続するためのインターフェイスである。例えば、CPU1100は、入出力インターフェイス1600を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、CPU1100は、入出力インターフェイス1600を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス1600は、所定の記録媒体(メディア)に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【0095】
例えば、コンピュータ1000が情報処理装置1として機能する場合、コンピュータ1000のCPU1100は、RAM1200上にロードされた情報処理プログラムを実行することにより、生成部30等の機能を実現する。また、HDD1400には、本開示に係るプログラム(記憶部20の情報処理プログラム22)、記憶部20内のデータが格納される。なお、CPU1100は、プログラムデータ1450をHDD1400から読み取って実行するが、他の例として、外部ネットワーク1550を介して、他の装置からこれらのプログラムを取得してもよい。
【0096】
上記実施形態では、複数の特徴量として、2つの特徴量ZL及び特徴量ZRが用いられる例について説明した。ただし、3つ以上の特徴量が用いられてもよい。部分データの数も3以上であってよい。
【0097】
上記実施形態では、標準正規分布N(0、I)からサンプルされた特徴量を選択的に用いる形態(
図17)において、特徴量Sも用いる例について説明した。ただし、特徴量Sを用いない形態(
図6等)において、標準正規分布N(0、I)からサンプルされた特徴量を選択的に用いてもよい。
【0098】
上記実施形態では、音楽シーケンスを生成する例について説明した。ただし、これ以外にも、冒頭で述べたような、オーディオ等の音楽、文書、詩、プログラミング言語等の言語、DNA配列、画像等、あらゆるデータが生成されてよい。
【0099】
情報処理装置1の一部の機能は、情報処理装置1の外部(例えば外部サーバ)で実現されてもよい。その場合、情報処理装置1は、記憶部20及び生成部30の一部又は全部の機能を、外部サーバに備えていてよい。情報処理装置1が外部サーバと通信することにより、これまで説明した情報処理装置1の処理が同様に実現される。
【0100】
3. 効果
以上説明した実施形態は、例えば次のように特定される。
図4、
図6及び
図10等を参照して説明したように、情報処理方法は、結合関係にない複数の特徴量(特徴量Z
L及び特徴量Z
R)と、学習済みモデル21とを用いて、変更された複数の特徴量(特徴量Z´
L及び特徴量Z´
R)から得られる新規データを生成する(ステップS2~ステップS5)。学習済みモデル21(の生成器G
Ψ)は、複数の特徴量が入力されると、変更された複数の特徴量を出力する。
【0101】
上記の情報処理方法によれば、結合関係にない複数の特徴量と、学習済みモデルとを用いて新規データが生成される。結合関係にない複数の特徴量それぞれの準備は、例えば新規データと同程度のデータ量を有するデータの特徴量を準備するよりも容易な場合も少なくない。したがって、データ準備負担を軽減するこができる。また、変更された複数の特徴量は、変更前の複数の特徴量それぞれの特徴を残しつつ、変更前の各特徴量をそのまま結合するだけでは得られない斬新な特徴量となりうる。変更前の各特徴量をそのまま結合した場合に生じうる不連続性等の不自然さも低減されうる。
【0102】
図5、
図6及び
図9等を参照して説明したように、複数の特徴量は、新規データのデータ長よりも短いデータ長を有する部分データ(部分データX
L及び/又は部分データX
R)から抽出された特徴量(特徴量Z
L及び/又は特徴量Z
R)を含んでよい。複数の特徴量は、いずれも、新規データのデータ長よりも短いデータ長を有する部分データ(部分データX
L及び部分データX
R)から抽出された特徴量(特徴量Z
L及びは特徴量Z
R)であってもよく、この場合、新規データは、複数の特徴量それぞれに対応する部分データの合計データ長と同じデータ長を有してよい。これにより、部分データの準備負担を軽減することができる。生成される新規データは、部分データの特徴を残しつつ、変更前の部分データをそのまま結合するだけでは得られない斬新なデータとなりうる。各部分データをそのまま結合した場合に生じうる不連続性等の不自然さも低減されうる。
【0103】
図6等を参照して説明したように、学習済みモデル21(の生成器G
Ψ)の出力結果と、学習済みモデル21(の生成器G
Ψ)とを用いて、さらに変更された複数の特徴量から得られる新規データを生成してよい。これにより、新規データにおける融合度、例えば部分データX´
L及び部分データX´
Rの融合性をさらに高めることができる。
【0104】
図3及び
図9等を参照して説明したように、生成した新規データと、学習済みモデル21(の生成器G
Ψ)によって複数の特徴量が変更された回数(iteration数)とを対応付けて表示してよい。これにより、iterate数を確認し、例えば別のiterate数を用いた新規データの生成を行うことができる。
【0105】
図12等を参照して説明したように、複数の特徴量(特徴量Z
L及び特徴量Z
R)の変更の方向性を与える追加特徴量(特徴量S)も用いて、新規データを生成してよい。この場合に用いられる学習済みモデル21Aは、複数の特徴量及び追加特徴量が入力されると、変更された複数の特徴量(特徴量Z´
L及び特徴量Z´
R)を出力する。これにより、生成される新規データのスタイルにバリエーションを与えることができる。
【0106】
図16等を参照して説明したように、生成した新規データと、追加特徴量(特徴量S)によって与えられる変更の方向性とを対応づけて表示してよい。また、生成した新規データに対応する追加特徴量以外の前記追加特徴量を指定可能な態様で表示してよい。これにより、追加特徴量を用いたさらなる新規データの生成を行うことができる。
【0107】
図17等を参照して説明したように、複数の特徴量(特徴量Z
L及び特徴量Z
R)は、標準正規分布N(0、I)からサンプルされた特徴量を含んでよい。標準正規分布N(0、I)からサンプルされた特徴量を、新規データのデータ長よりも短いデータ長を有する部分データ(部分データX
L及び部分データX
R)から抽出された特徴量の代わりに用いてもよい。これにより、部分データX
L及び部分データX
Rが入力されない場合でも、新規データを生成することができる。したがって、データ準備負担をさらに軽減することができる。
【0108】
図4等を参照して説明した情報処理装置1も、本開示の一態様である。すなわち、情報処理装置1は、結合関係にない複数の特徴量(特徴量Z
L及び特徴量Z
R)と、学習済みモデル21とを用いて、変更された複数の特徴量(特徴量Z´
L及び特徴量Z´
R)から得られる新規データを生成する生成部30とを備える。また、
図4及び
図19等を参照して説明した情報処理プログラム22も、本開示の一態様である。すなわち、情報処理プログラム22は、コンピュータ1000を機能させるための情報処理プログラムであって、結合関係にない複数の特徴量(特徴量Z
L及び特徴量Z
R)と、学習済みモデル21とを用いて、変更された複数の特徴量(特徴量Z´
L及び特徴量Z´
R)から得られる新規データを生成すること、をコンピュータ1000に実行させる。これらの情報処理装置1及び情報処理プログラム22によっても、上述の情報処理方法と同様に、データ準備負担を軽減することができる等の効果が奏される。
【0109】
なお、本開示に記載された効果は、あくまで例示であって、開示された内容に限定されない。他の効果があってもよい。
【0110】
以上、本開示の実施形態について説明したが、本開示の技術的範囲は、上述の実施形態そのままに限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、異なる実施形態及び変形例にわたる構成要素を適宜組み合わせてもよい。
【0111】
なお、本技術は以下のような構成も取ることができる。
(1)
結合関係にない複数の特徴量と、学習済みモデルとを用いて、変更された前記複数の特徴量から得られる新規データを生成し、
前記学習済みモデルは、前記複数の特徴量が入力されると、変更された前記複数の特徴量を出力する、
情報処理方法。
(2)
前記複数の特徴量は、前記新規データのデータ長よりも短いデータ長を有する部分データから抽出された特徴量を含む、
(1)に記載の情報処理方法。
(3)
前記複数の特徴量は、いずれも、前記新規データのデータ長よりも短いデータ長を有する部分データから抽出された特徴量であり、
前記新規データは、前記複数の特徴量それぞれに対応する部分データの合計データ長と同じデータ長を有する、
(1)又は(2)に記載の情報処理方法。
(4)
前記学習済みモデルの出力結果と、前記学習済みモデルとを用いて、さらに変更された前記複数の特徴量から得られる前記新規データを生成する、
(1)~(3)のいずれかに記載の情報処理方法。
(5)
生成した前記新規データと、前記学習済みモデルによって前記複数の特徴量が変更された回数とを対応づけて表示する、
(4)に記載の情報処理方法。
(6)
前記複数の特徴量の変更の方向性を与える追加特徴量も用いて、前記新規データを生成し、
前記学習済みモデルは、前記複数の特徴量及び前記追加特徴量が入力されると、変更された前記複数の特徴量を出力する、
(1)~(5)のいずれかに記載の情報処理方法。
(7)
生成した前記新規データと、前記追加特徴量によって与えられる前記変更の方向性とを対応づけて表示する、
(6)に記載の情報処理方法。
(8)
生成した前記新規データを表示するとともに、表示されている前記新規データに対応する前記追加特徴量以外の前記追加特徴量を指定可能な態様で表示する、
(6)又は(7)に記載の情報処理方法。
(9)
前記複数の特徴量は、標準正規分布からサンプルされた特徴量を含む、
(1)~(8)のいずれかに記載の情報処理方法。
(10)
前記標準正規分布からサンプルされた特徴量を、前記新規データのデータ長よりも短いデータ長を有する部分データから抽出された特徴量の代わりに用いる、
(9)に記載の情報処理方法。
(11)
結合関係にない複数の特徴量と、学習済みモデルとを用いて、変更された前記複数の特徴量から得られる新規データを生成する生成部を備え、
前記学習済みモデルは、前記複数の特徴量が入力されると、変更された前記複数の特徴量を出力する、
情報処理装置。
(12)
コンピュータを機能させるための情報処理プログラムであって、
結合関係にない複数の特徴量と、学習済みモデルとを用いて、変更された前記複数の特徴量から得られる新規データを生成すること、
を前記コンピュータに実行させ、
前記学習済みモデルは、前記複数の特徴量が入力されると、変更された前記複数の特徴量を出力する、
情報処理プログラム。
【符号の説明】
【0112】
1 情報処理装置
1a 表示画面
10 入力部
20 記憶部
21 学習済みモデル
22 情報処理プログラム
30 生成部
40 出力部