(57)【要約】  本開示に係る情報処理装置（１００）は、第１コンテンツを構成する要素から第１データを抽出する抽出部（１３１）と、第１コンテンツの特徴量である第１特徴量を算出する第１エンコーダ（５０）と、抽出された第１データの特徴量である第２特徴量を算出する第２エンコーダ（５５）とを有する学習済みモデルを生成するモデル生成部（１３２）と、を備える。
2020080239.tif 000002
【特許請求の範囲】
【請求項１】
第１コンテンツを構成する要素から第１データを抽出する抽出部と、
前記第１コンテンツの特徴量である第１特徴量を算出する第１エンコーダと、前記抽出された前記第１データの特徴量である第２特徴量を算出する第２エンコーダとを有する学習済みモデルを生成するモデル生成部と
を備える情報処理装置。
【請求項２】
前記モデル生成部は、
前記第１特徴量及び前記第２特徴量に基づき前記第１コンテンツに対応するデータをデコードするデコーダを有する前記学習済みモデルを生成する
請求項１に記載の情報処理装置。
【請求項３】
前記抽出部は、
前記第１コンテンツに対してユーザが指定する操作、及び、当該操作を実行する範囲の指定を受け付け、受け付けた範囲に対して当該操作を実行する
請求項１に記載の情報処理装置。
【請求項４】
前記抽出部は、
前記操作として、前記範囲に含まれる要素に順序不変性のある演算処理を行うことにより、前記第１データを抽出する
請求項３に記載の情報処理装置。
【請求項５】
前記抽出部は、
前記範囲に含まれる要素のうち、時間依存もしくは順序依存しない情報を損失させることにより、前記第１データを抽出する
請求項３に記載の情報処理装置。
【請求項６】
前記抽出部は、
曲である前記第１コンテンツを構成するデジタルデータに対して前記操作を実行し、前記第１データを抽出する
請求項３に記載の情報処理装置。
【請求項７】
前記抽出部は、
前記第１コンテンツのうち、前記範囲に含まれる音情報の音の高さに関する情報を損失させる操作を実行し、前記第１データを抽出する
請求項６に記載の情報処理装置。
【請求項８】
前記抽出部は、
画像である前記第１コンテンツを構成するデジタルデータに対して前記操作を実行し、前記第１データを抽出する
請求項３に記載の情報処理装置。
【請求項９】
前記抽出部は、
前記操作として、前記画像のうち特定の領域に含まれる各々の画素の画素情報に順序不変性のある演算処理を行うことにより、前記第１データを抽出する
請求項８に記載の情報処理装置。
【請求項１０】
学習済みの前記第１エンコーダもしくは前記第２エンコーダから出力された特徴量、又は、当該特徴量に基づいて生成される特徴量のいずれかを組み合わせた値を前記デコーダに入力することにより、前記第１コンテンツと同じ形式を有する新たなコンテンツである第２コンテンツを生成するコンテンツ生成部
をさらに有する請求項２に記載の情報処理装置。
【請求項１１】
前記コンテンツ生成部は、
学習済みの前記第１エンコーダから出力された特徴量と、学習済みの前記第２エンコーダから出力された特徴量とを組み合わせた値を前記デコーダに入力することにより、前記第２コンテンツを生成する
請求項１０に記載の情報処理装置。
【請求項１２】
前記コンテンツ生成部は、
前記組み合わせた値のうち、いずれかの特徴量に該当する値を固定し、他の特徴量に該当する値を順に可変させることで、複数の前記第２コンテンツを順に生成する
請求項１０に記載の情報処理装置。
【請求項１３】
コンピュータが、
第１コンテンツを構成する要素から第１データを抽出し、
前記第１コンテンツの特徴量である第１特徴量を算出する第１エンコーダと、前記抽出された前記第１データの特徴量である第２特徴量を算出する第２エンコーダとを有する学習済みモデルを生成する
情報処理方法。
【請求項１４】
コンピュータを、
第１コンテンツを構成する要素から第１データを抽出する抽出部と、
前記第１コンテンツの特徴量である第１特徴量を算出する第１エンコーダと、前記抽出された前記第１データの特徴量である第２特徴量を算出する第２エンコーダとを有する学習済みモデルを生成するモデル生成部と
として機能させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理方法、情報処理装置及び情報処理プログラムに関する。詳しくは、機械学習を経て生成される学習済みモデルの生成処理に関する。
【背景技術】
【０００２】
様々な技術分野において、機械学習を利用した情報処理が活用されている。例えば、脳神経系の仕組みを模したニューラルネットワークを利用してコンテンツ（画像や音楽等）の特徴を学習させることで、他のコンテンツを自動的に生成すること等が行われている。【０００３】
例えば、既存の曲の特徴を学習することにより、ユーザが歌詞以外のパラメータを入力せずとも、歌詞に合った適切な曲を自動的に作曲することを可能とする技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１７５００６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来技術によれば、各曲の歌詞を表す歌詞データから算出される言語特徴量と当該曲の属性を表す属性データとを学習することにより、新たな歌詞データが与えられれば、新たな歌詞データに合わせた曲を自動的に生成することができる。【０００６】
しかしながら、従来技術は、歌詞に沿ったメロディやコードが生成されるに過ぎず、ユーザが所望する態様で曲が生成されるとは限らない。例えば、従来技術では、ある既存曲のリズムのみを保持してメロディを変化させる、といったように、ユーザが指定する特徴を保持した曲を生成することは難しい。すなわち、従来の学習処理では、コンテンツが有する一部の特徴（例えば、曲のリズムやメロディや構成音など）を選択的に学習するといった処理を行うことが困難であった。【０００７】
そこで、本開示では、ユーザが指定した特徴量を選択的に学習することのできる情報処理装置、情報処理方法及び情報処理プログラムを提案する。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、本開示に係る一形態の情報処理装置は、第１コンテンツを構成する要素から第１データを抽出する抽出部と、第１コンテンツの特徴量である第１特徴量を算出する第１エンコーダと、前記抽出された前記第１データの特徴量である第２特徴量を算出する第２エンコーダとを有する学習済みモデルを生成するモデル生成部と、を備える。
【図面の簡単な説明】
【０００９】
【図１】本開示の実施形態に係る情報処理の一例を示す図である。
【図２】本開示の実施形態に係る特徴量を説明する図である。
【図３】本開示の実施形態に係る生成処理を説明する図である。
【図４】本開示の実施形態に係る情報処理装置の構成例を示す図である。
【図５】本開示の実施形態に係る曲データ記憶部の一例を示す図である。
【図６】本開示の実施形態に係る情報処理の手順を示すフローチャート（１）である。
【図７】本開示の実施形態に係る情報処理の手順を示すフローチャート（２）である。
【図８】本開示の第１の変形例に係る学習処理の一例を示す図である。
【図９】本開示の第２の変形例に係る学習処理の一例を示す図である。
【図１０】本開示の第３の変形例に係る生成処理の一例を示す図である。
【図１１】本開示に係る生成処理を概念的に説明するための図である。
【図１２】本開示の第４の変形例に係る学習処理の一例を示す図（１）である。
【図１３】本開示の第４の変形例に係る学習処理の一例を示す図（２）である。
【図１４】本開示の第４の変形例に係る学習処理の一例を示す図（３）である。
【図１５】本開示の第４の変形例に係る学習処理の一例を示す図（４）である。
【図１６】本開示の第５の変形例に係る学習処理の一例を示す図である。
【図１７】本開示の第５の変形例に係る生成処理の一例を示す図（１）である。
【図１８】本開示の第５の変形例に係る生成処理の一例を示す図（２）である。
【図１９】本開示の第６の変形例に係る情報処理の一例を示す図（１）である。
【図２０】本開示の第６の変形例に係る情報処理の一例を示す図（２）である。
【図２１】本開示の第６の変形例に係る情報処理の一例を示す図（３）である。
【図２２】情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本開示の実施形態について図面に基づいて詳細に説明する。なお、以下の各実施形態において、同一の部位には同一の符号を付することにより重複する説明を省略する。
【００１１】
以下に示す項目順序に従って本開示を説明する。
１．実施形態
１−１．本開示の実施形態に係る情報処理の概要
１−２．実施形態に係る情報処理装置の構成
１−３．実施形態に係る情報処理の手順
２．その他の実施形態
３．ハードウェア構成
【００１２】
（１．実施形態）
［１−１．本開示の実施形態に係る情報処理の概要］
図１は、本開示の実施形態に係る情報処理の一例を示す図である。本開示の実施形態に係る情報処理は、図１に示す情報処理装置１００によって実現される。
【００１３】
情報処理装置１００は、本開示に係る情報処理を実行する装置であり、例えば、情報処理端末やサーバ装置である。
【００１４】
実施形態において、情報処理装置１００は、コンテンツの特徴を抽出するための学習済みモデルを生成し、生成した学習済みモデルに基づいて、新規なコンテンツを生成する。実施形態では、コンテンツは、例えば音楽（曲）や、画像や、動画等、所定の形式のデジタルデータで構成される。図１の例では、情報処理装置１００は、コンテンツの一例として曲を処理に用いる。
【００１５】
実施形態に係る学習済みモデルは、コンテンツを構成するデータから特徴量を抽出するエンコーダ（encoder）と、抽出された特徴量からコンテンツを再構成するデコーダ（decoder）とを有する。例えば、情報処理装置１００は、ＶＡＥ（Variational  Auto  Encoder）やＧＡＮ（Generative  Adversarial  Networks）等、教師なし学習によってエンコーダを学習する。具体的には、情報処理装置１００は、コンテンツをエンコーダに入力し、抽出された特徴量からコンテンツを再構成し、その前後のコンテンツを比較してエンコーダ及びデコーダのパラメータを調整する。情報処理装置１００は、かかる処理を繰り返し、エンコーダ及びデコーダのパラメータを最適化することで、学習済みモデルを生成する。これにより、情報処理装置１００は、コンテンツを構成するデータから適切な特徴量を得ることのできる学習済みモデルを生成することができる。なお、特徴量とは、例えば、入力されるコンテンツのデータよりも次元数の低いベクトル等で表現される。
【００１６】
なお、学習済みモデルは、上記の例に限らず、特徴量を抽出し、抽出した特徴量からコンテンツを再構成することができれば、どのような形式のモデルであってもよい。
【００１７】
図１の例では、情報処理装置１００は、曲（言い換えれば、曲を構成する音を示すデジタルデータ）をエンコーダに入力することで、その曲の特徴量として、メロディラインや構成音、リズム（音楽における時間的な構造、例えば、音符や休符がどれくらい含まれるか、どのような順序で音が再生されるか等）、テンポ、拍子など、その曲の特徴を示す要素を抽出する。
【００１８】
ここで、上記のような既存曲の特徴量を抽出する学習済みモデルを生成する場合、ユーザが指定した特徴を適切に抽出することが一つの課題となりうる。例えば、任意の曲の特徴量をそのまま抽出すると、その曲の特徴を再現することは可能であるものの、その特徴量を利用して新規なコンテンツを生成するなど、特徴量の利用が難しい場合がある。具体的には、上記のＶＡＥ等を用いて抽出される特徴量はベクトルの数値の羅列であり、各々の数値がどのような特徴を示しているかを人間が認識することは難しい。例えば、既存の曲のリズムの特徴のみを取り入れた新規な曲を自動生成しようとしても、特徴量ベクトル（言い換えれば、特徴量を示す潜在空間）において、いずれの数値を利用して生成を行わせるかを人間が判断することは困難であった。
【００１９】
そこで、本開示に係る情報処理装置１００は、以下に説明する情報処理により、曲全体の特徴量のみならず、ユーザが所望する特徴量を抽出することが可能な学習済みモデルを生成する。具体的には、情報処理装置１００は、特徴量が算出される対象となるコンテンツ（以下、区別のため「第１コンテンツ」と表記する）を構成する要素（言い換えれば、第１コンテンツを構成するデジタルデータ）から所定のデータ（以下、区別のため「第１データ」と表記する）を抽出する。そして、情報処理装置１００は、第１コンテンツの特徴量である第１特徴量を算出する第１エンコーダと、抽出された第１データの特徴量である第２特徴量を算出する第２エンコーダとを有する学習済みモデルを生成する。
【００２０】
このように、情報処理装置１００は、第１コンテンツの特徴量を抽出する際に、第１コンテンツ全体の特徴量を抽出する第１エンコーダと、第１コンテンツのうち特定のデータのみを取り扱う第２エンコーダとを備える構成の学習済みモデルを生成する。なお、詳細は後述するが、第１データとは、ユーザが指定する特徴量を抽出しやすくするために、所定の操作によって第１コンテンツから抽出されたデータである。このように、情報処理装置１００は、複数のエンコーダを利用して、第１コンテンツ及び第１コンテンツのうち一部の要素から、別々に特徴量を抽出可能な学習済みモデルを生成する。これにより、情報処理装置１００は、ユーザが所望する特徴のみを分離して表現された特徴量を得ることができる。また、情報処理装置１００は、分離して得られた特徴量を用いることで、既存のコンテンツのうちユーザが指定する特徴（例えば曲のリズムなど）のみを変化させたり、あるいは変化させなかったりして、新規なコンテンツ（以下、区別のため「第２コンテンツ」と表記する）を自動生成することができる。なお、説明のため、第１コンテンツの特徴量を抽出するエンコーダを第１エンコーダ、第１データの特徴量を抽出するエンコーダを第２エンコーダと表記しているが、これは便宜上のものであり、例えば第１コンテンツの特徴量を抽出するエンコーダが第２エンコーダであってもよい。
【００２１】
以下、図１を用いて、本開示の情報処理の概要を流れに沿って説明する。図１では、情報処理装置１００が、学習データを用いて学習済みモデル（第１エンコーダ５０、第２エンコーダ５５及びデコーダ６０）を学習する処理の流れを示す。
【００２２】
まず、情報処理装置１００は、学習データの一例として、曲３０を取得する（ステップＳ１）。曲３０は、例えば、音高や音長、休符を示す記号列（デジタルデータ）により構成される。一例として、音高は、音の高さを示す周波数を所定の段階（例えば１２８段階等）で表現したものである。また、音長は、再生された音がどのくらいの長さを維持するかを表現したものである。また、休符は、音の再生が休止するタイミングを表現したものである。また、曲３０を示すデータには、曲３０の拍子やテンポ、小節の区切りを示す記号、あるタイミングにおけるコードや、コードを構成する構成音等の情報が含まれてもよい。
【００２３】
例えば、情報処理装置１００は、上記の記号列をモデルで取り扱うことができるよう変換する。一例として、情報処理装置１００は、上記の記号列をベクトルで表現したもの（例えば、各次元に音高や音長等が割り当てられた、音情報を示す埋め込み（embedding）ベクトル）を処理に用いる。なお、このような音を示すデータは、例えばＭＩＤＩ（Musical  Instrument  Digital  Interface）（登録商標）形式で表現されてもよいし、汎用のシーケンサーで再生可能な既知の形式のデジタルデータであってもよいし、ＷＡＶ形式等の波形データとして表現されてもよい。
【００２４】
上記処理により、情報処理装置１００は、曲３０を示すデータを得る（ステップＳ２）。図１の例では、曲３０を示すデータ（ベクトル）を「ｘ１」と表現する。
【００２５】
次に、情報処理装置１００は、データｘ１に対して抽出操作４０を実行する（ステップＳ３）。抽出操作４０とは、曲３０のうち特定の特徴（例えば、ユーザが所望する特徴）のみを分離するための前処理であり、データｘ１に所定の演算を行い、所定のデータ（上記の「第１データ」に対応する）を抽出する操作をいう。
【００２６】
一例として、情報処理装置１００は、データｘ１に順序不変性のある演算処理を行うことにより、第１データを抽出する（ステップＳ４）。順序不変性のある演算とは、例えば、可換演算子による演算をいう。具体的には、順序不変性のある演算とは、足し算や掛け算、ｍａｘ演算など、順序によらない演算（例えば所定の係数を含むことで算出結果がわずかに変化するような、ほぼ順序不変性がある演算といえる演算も含む）をいう。なお、図１の例では、抽出操作４０によってデータｘ１から抽出された情報を特徴情報「ｆ１」と表現する。
【００２７】
例えば、図１の例では、情報処理装置１００に処理を行わせるユーザは、曲３０の特徴のうち「リズム」を抽出することを所望しているとする。曲におけるリズムとは、時間（順序）と関係性を有する特徴である。このため、例えば曲３０からリズムのみを抽出しようとする場合、音符の並び（音長や休符の関係）を示す情報は残し、その他の情報を隠す（マスクする）といった手法が考えられる。
【００２８】
例えば、情報処理装置１００は、データｘ１に含まれるデータに対して順序不変性のある演算を行い、「音の順序を示す情報」を損失させる。一例として、情報処理装置１００は、順序不変性のある演算として、データｘ１における埋め込みベクトルの平均をとりうる。
【００２９】
かかる手法について、具体例を挙げて説明する。仮に、曲３０を構成する８拍分の音符の並びが、「Ｃ４、＿、＿、＿、Ｅ４、＿、＿、Ｒ」であるものとする。この例で、「Ｃ４」及び「Ｅ４」は、音の高さを示す。また、記号「＿」は、前の音を伸ばしていることを示す。また、「Ｒ」は、休符を示す。
【００３０】
ここで、情報処理装置１００は、それぞれの音や休符に対応する埋め込みベクトルを示したデータテーブルを有するものとする。埋め込みベクトルは、例えばｄ次元（ｄは任意の整数）であり、対応する音（「Ｃ４」や「Ｅ４」等）に対応する次元に「１」が入力され、その他の次元に「０」が入力されたベクトルである。
【００３１】
すなわち、情報処理装置１００は、「Ｃ４、＿、＿、＿、Ｅ４、＿、＿、Ｒ」といったデータの並びを参照した場合、「Ｃ４」の埋め込みベクトルを４回参照し、次に「Ｅ４」の埋め込みベクトルを３回参照し、「Ｒ」の埋め込みベクトルを１回参照することになる。
【００３２】
ここで、情報処理装置１００は、「Ｃ４、＿、＿、＿、Ｅ４、＿、＿、Ｒ」に対応する埋め込みベクトルの平均（足し算でもよい）をとる。そうすると、平均化されたベクトルにおいて、順序に依存する情報（すなわちリズム）が損失し、音の順序を示す情報以外の情報（例えば構成音等）」が抽出される。このようにして、情報処理装置１００は、曲の局所的な部分における「音の順序を示す情報以外の情報」を抽出することができる。
【００３３】
このようにして得られた特徴情報ｆ１は、データｘ１に含まれる構成音（すなわち、曲３０を構成する構成音の音高）は維持されるものの、リズムを示す情報（どのタイミングで音が発せられるか、どのタイミングで休符となるか等）は失われる。
【００３４】
続いて、情報処理装置１００は、元のデータｘ１を第１エンコーダ５０に入力するとともに、特徴情報ｆ１を第１エンコーダ５０とは異なるエンコーダである第２エンコーダ５５に入力する（ステップＳ５）。なお、第１エンコーダ５０及び第２エンコーダ５５は、例えば上記したＶＡＥ等におけるエンコーダであり、入力されたデータの特徴量を低次元のベクトルとして抽出する。
【００３５】
情報処理装置１００は、第１エンコーダ５０及び第２エンコーダ５５の各々から出力される特徴量を得る（ステップＳ６）。図１の例では、データｘ１の特徴量を「ｚ１」と表現し、特徴情報ｆ１の特徴量を「ｚ２」と表現する。
【００３６】
なお、特徴量ｚ１及び特徴量ｚ２は、説明のため別々に記載しているが、実際には一つの特徴量ベクトルに含まれる。この点について、図２を用いて説明する。図２は、本開示の実施形態に係る特徴量を説明する図である。
【００３７】
図２に示すように、情報処理装置１００が生成する学習済みモデルにおいて、特徴量ベクトルが６４次元のベクトルであると仮定する。この場合、第１エンコーダ５０から出力される特徴量ｚ１は、特徴量ベクトルの一部（例えば、特徴量ベクトルの前半部分）を構成する。また、第２エンコーダ５５から出力される特徴量ｚ２も、特徴量ベクトルの一部（例えば、特徴量ベクトルの後半部分）を構成する。なお、特徴量ベクトルを６４次元とすることや、そのうちどのくらいの次元を第１エンコーダ５０の出力に割り当て、どのくらいの次元を第２エンコーダ５５の出力に割り当てるか等は、任意に設定可能である。
【００３８】
すなわち、情報処理装置１００は、エンコーダを複数用いたモデルを構成することで、特徴量ベクトルのうち、どの次元がいずれのエンコーダから出力された値であるかを判定することができる。すなわち、情報処理装置１００は、どの次元がどのような特徴を示しているかを人為的に解釈可能な特徴量ベクトルを出力することができる。
【００３９】
図１に戻って説明を続ける。情報処理装置１００は、第１エンコーダ５０及び第２エンコーダ５５の各々から出力された特徴量ｚ１及び特徴量ｚ２をデコーダ６０に入力する（ステップＳ７）。
【００４０】
デコーダ６０は、エンコーダが抽出した特徴量に基づいてコンテンツを再構成するよう学習されるデコーダである。図１の例では、デコーダ６０は、第１エンコーダ５０及び第２エンコーダ５５の各々から出力された特徴量ｚ１及び特徴量ｚ２に基づいて、データｘ２を出力する（ステップＳ８）。
【００４１】
データｘ２は、第１コンテンツのデータであるデータｘ１と同様の形式を有する。すなわち、データｘ２は、曲３０と同様の形式を有する曲３５を再生するためのデータ（記号列）といえる。言い換えれば、情報処理装置１００は、デコーダ６０から出力されたデータｘ２に基づいて、コンテンツ（図１の例では曲３５）を再構成する（ステップＳ９）。
【００４２】
そして、情報処理装置１００は、再構成されたコンテンツに基づいて、モデルの学習処理を行う。具体的には、情報処理装置１００は、特徴量の抽出処理における前後のデータ、すなわちデータｘ１とデータｘ２とを比較し、データｘ２がデータｘ１に近付くよう、第１エンコーダ５０、第２エンコーダ５５及びデコーダ６０のパラメータを最適化する（ステップＳ１０）。より具体的には、情報処理装置１００は、データｘ１とデータｘ２との再構成誤差が小さくなるように、かつ、特徴量の事後分布が事前分布に近づくように、パラメータを最適化する。さらに、情報処理装置１００は、データｘ１以外の複数の学習データを取得し、図１に示した学習処理を繰り返すことによって、学習済みモデルの最適化を進める。これにより、情報処理装置１００は、本開示に係る学習済みモデルを生成することができる。
【００４３】
図１の処理を経て生成された学習済みモデルによれば、新たに曲をモデルに入力した場合に、その曲の特徴量が分離された特徴量ベクトルを得ることができる。図１の例では、学習済みモデルに係る第２エンコーダ５５は、学習データのうちリズム情報が損失したデータ（例えば特徴情報ｆ１）に基づいて学習されているため、リズム以外の特徴を抽出するよう学習されたエンコーダであるといえる。言い換えれば、第２エンコーダ５５が出力する特徴量は、曲のうち構成音等の順序不変特徴量を捉えたもの（ある次元が「構成音」を示すものである、と人間が解釈可能なもの）であるといえる。一方、学習済みモデルに係る第１エンコーダ５０は、特徴量ベクトルのうち、主に順序可変特徴量（すなわちリズム）を抽出するよう学習されたエンコーダであるといえる。言い換えれば、第１エンコーダ５０が出力する特徴量は、曲のうちリズムの特徴のみを捉えたもの（ある次元が「リズム」を示すものである、と人間が解釈可能なもの）であるといえる。
【００４４】
このように、情報処理装置１００は、複数のエンコーダに予め分離抽出した情報を入力し、その情報に基づいて学習を行うことで、通常であれば単なる数値の羅列として示される特徴量ベクトルを、特定の特徴に分離することができる。例えばコンテンツが曲であれば、情報処理装置１００は、リズムやメロディ（コードの構成音等）が分離された特徴量ベクトルを出力することができる。すなわち、情報処理装置１００は、ユーザが指定した特徴を分離することができる（ユーザが指定した特徴量を選択的に学習することのできる）学習済みモデルを生成することができる。
【００４５】
また、情報処理装置１００は、生成した学習済みモデルを利用して、ユーザが指定する特徴を有する新規なコンテンツ（第２コンテンツ）を生成することもできる。この点について、図３を用いて説明する。図３は、本開示の実施形態に係る生成処理を説明する図である。
【００４６】
図３に示すように、情報処理装置１００は、図１で示した特徴量ｚ１を取得する（ステップＳ１１）。上述のように、特徴量ｚ１は、曲３０のうちリズムに関する特徴を比較的多く含む特徴量である。言い換えれば、特徴量ｚ１は、曲３０のうち、対象が分離された特徴量である。
【００４７】
一方、情報処理装置１００は、図１で示した特徴量ｚ２と同じ次元を有する特徴量である特徴量ｚ３を取得する（ステップＳ１１）。特徴量ｚ３は、任意のデータにおける特徴量を示す。任意のデータの特徴量とは、例えば、第２エンコーダ５５を用いて曲３０以外の他の曲から抽出された特徴量である。あるいは、任意のデータの特徴量は、特徴量ｚ２等の特徴量の事前分布からサンプリングされた特徴量であってもよい。
【００４８】
そして、情報処理装置１００は、特徴量ｚ１及び特徴量ｚ２をデコーダ６０に入力する（ステップＳ１２）。情報処理装置１００は、デコーダ６０から出力されるデータｘ３を取得する（ステップＳ１３）。続けて、情報処理装置１００は、データｘ３から、第２コンテンツである曲４５を再構成する（ステップＳ１４）。
【００４９】
上記のように、特徴量ｚ１とは、曲３０のリズムの特徴を示した特徴量である。このため、データｘ３によって再構成された曲４５は、曲３０のリズム（例えば、音符の並びの順序や、音符の譜割や、小節数や、テンポ等）の特徴が引き継がれ、かつ、構成音等は特徴量ｚ３により示される特徴を有する曲となる。具体的には、曲４５は、曲３０のリズムを維持しつつ、そのリズムで奏でられる音階が曲３０とは異なる音階（例えば、特徴量ｚ３における構成音の特徴が反映された音階）である曲となる。なお、情報処理装置１００は、曲４５を再構成したのちに、特徴量ｚ１を固定したまま（リズムの固定）、特徴量ｚ３を事前分布からサンプリングし直すことを繰り返してもよい。これにより、情報処理装置１００は、同じリズムの特徴を保ったまま、異なる音階で演奏される複数の曲を自動的に生成することができる。ここで、第２コンテンツの生成に際しては、上記の特徴量ｚ１についても、図１で示した特徴量ｚ１と必ずしも同一のものではなく、特徴量ｚ１の事前分布からサンプリングされた値を用いてもよい。
【００５０】
これにより、情報処理装置１００は、ある特徴（この例ではリズム）を分離して抽出し、抽出した特徴量を用いてコンテンツを生成することができるので、ユーザが所望する特徴を有する曲を自在に生成することができる。例えば、情報処理装置１００は、リズムを固定して、構成音が異なる曲のバリエーションを生成することができる。また、情報処理装置１００は、リズムでなく、構成音の特徴を固定した場合には（上記の例では、特徴量ｚ２を固定し、特徴量ｚ１に該当する箇所に異なる特徴量を入力する）、コードの種類を固定したまま様々なリズム（フレーズ）を奏でるといった、種々のアルペジオ的なバリエーションを生成することができる。すなわち、情報処理装置１００は、ユーザが指定できる（言い換えれば、特徴情報を生成するようなルールを記述できる）特徴であれば、任意の音楽概念を固定して、様々なバリエーションをもつ曲を自動的に生成することができる。
【００５１】
なお、上記ステップＳ４において、情報処理装置１００が、データｘ１における順序不変性を用いてリズムに関する特徴情報ｆ１を抽出する例を示した。ここで、情報処理装置１００は、音高を示す情報を損失させる手法を用いて、特徴情報ｆ１を抽出してもよい。
【００５２】
上記ステップＳ４と同様の具体例を挙げて説明する。仮に、曲３０を構成する８拍分の音符の並びが、「Ｃ４、＿、＿、＿、Ｅ４、＿、＿、Ｒ」であるものとする。この例で、「Ｃ４」及び「Ｅ４」は、音の高さを示す。また、記号「＿」は、前の音を伸ばしていることを示す。また、「Ｒ」は、休符を示す。
【００５３】
ここで、情報処理装置１００は、音高を示す情報を欠損させる。例えば、情報処理装置１００は、「Ｃ４」及び「Ｅ４」等の情報を「Ｍ」など、共通する情報に置き換える。これにより、曲３０を構成する情報は、「Ｍ、＿、＿、＿、Ｍ、＿、＿、Ｒ」となる。かかる情報は、音高のみが損失するものの、リズムは維持された情報となる。
【００５４】
この場合、抽出された情報（「特徴情報ｆ２」とする）が異なるため、ステップＳ５以降のエンコーダの学習も異なることになる。すなわち、特徴情報ｆ２は、曲３０のリズムを維持した情報を有するため、かかる情報を学習する第２エンコーダ５５は、曲のうち「リズムの特徴」を示す特徴量ｚ２を出力するよう学習される。一方、第１エンコーダ５０は、曲のうち「リズムの特徴」以外の特徴量ｚ１を出力するよう学習される。すなわち、図１で示した例とは互いに異なる情報を抽出するエンコーダが学習される。このように、第１エンコーダ５０及び第２エンコーダ５５の学習は、事前の抽出操作４０の種別によって様々に変化する。
【００５５】
なお、図１の例では、曲３０全体の特徴を学習する例を示したが、情報処理装置１００は、曲３０を所定の区間ごとに区切り、区間ごとのコンテンツのデータ（部分データ）を取得してもよい。
【００５６】
この場合、情報処理装置１００は、種々の既知の手法を用いて曲３０を部分データに分割してもよい。例えば、情報処理装置１００は、予め設定された小節の区切りを検出し、曲３０を部分データ（小節）に分割する。あるいは、情報処理装置１００は、拍子と音符の関係に基づいて曲３０を部分データに分割してもよい。例えば、情報処理装置１００は、曲３０が４分の４拍子であれば、四分音符に該当する長さの音が４つ再生された時点を一つの区切りと検出し、曲３０を小節に分割する。
【００５７】
また、情報処理装置１００は、部分データとして、小節以外の区切りを用いてもよい。例えば、情報処理装置１００は、曲３０のメロディラインの区切り（例えば、所定の閾値を超える長さの休符が登場した箇所等）を検出して、部分データに分割してもよい。この場合、部分データは、必ずしも小節とは一致しなくてもよい。また、情報処理装置１００は、曲３０のうち、コードが変化するタイミング等を検出し、検出したタイミングに基づいて部分データに分割してもよい。
【００５８】
［１−２．実施形態に係る情報処理装置の構成］
次に、実施形態に係る情報処理を実行する情報処理装置の一例である情報処理装置１００の構成について説明する。図４は、本開示の実施形態に係る情報処理装置１００の構成例を示す図である。
【００５９】
図４に示すように、情報処理装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、情報処理装置１００は、情報処理装置１００を管理する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００６０】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。通信部１１０は、ネットワークＮ（インターネット等）と有線又は無線で接続され、ネットワークＮを介して、他の装置等との間で情報の送受信を行う。
【００６１】
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。記憶部１２０は、モデル記憶部１２１と、曲データ記憶部１２２とを有する。
【００６２】
モデル記憶部１２１は、学習済みモデルを記憶する。具体的には、モデル記憶部１２１は、コンテンツの特徴量を抽出する第１エンコーダ５０及び第２エンコーダ５５と、コンテンツを再構成するデコーダ６０とを有する。なお、モデル記憶部１２１は、学習に用いたコンテンツ等の学習データを記憶してもよい。
【００６３】
曲データ記憶部１２２は、モデルに入力されるコンテンツ（曲）に関するデータを記憶する。図５に、実施形態に係る曲データ記憶部１２２の一例を示す。図５は、本開示の実施形態に係る曲データ記憶部１２２の一例を示す図である。図５に示した例では、曲データ記憶部１２２は、「曲ＩＤ」、「部分データＩＤ」、「音高情報」、「音長休符情報」、「コード情報」、「リズム情報」といった項目を有する。
【００６４】
「曲ＩＤ」は、曲を識別する識別情報である。「部分データＩＤ」は、部分データを識別する識別情報である。部分データは、例えば、曲を構成する１つ又は複数の小節等に対応する。
【００６５】
「音高情報」は、部分データに含まれる音の音高（音階）の情報を示す。「音長休符情報」は、部分データに含まれる音の長さ（再生時間や、再生される拍数）や、休符の長さやタイミングを示す。「コード情報」は、部分データに含まれるコードの種類や、コードの構成音、小節内のコードの切り替わり等を示す。「リズム情報」は、小節の拍子やテンポ、強拍、弱拍の位置等を示す。
【００６６】
なお、図５では、音高情報等の項目を「Ｃ０１」のように概念的に記載しているが、実際には、各項目には、上記で説明したような音を示す具体的なデータが記憶される。また、図５では、説明のため、「音高情報」や「音長休符情報」等が異なる項目として記憶される例を示しているが、これらの情報は、小節に含まれる音符を示す情報として、一つの項目等にまとめて記憶されてもよい。すなわち、曲を示すデータの形式は、図５に図示したものに限られず、モデルで取り扱うことのできる形式であれば、いずれであってもよい。
【００６７】
例えば、図５に示した例では、曲ＩＤが「Ａ０１」で識別される曲は、部分データＩＤが「Ｂ０１」や「Ｂ０２」で識別される部分データを有することを示している。また、部分データＩＤが「Ｂ０１」である部分データは、音高情報が「Ｃ０１」、音長休符情報が「Ｄ０１」、コード情報が「Ｅ０１」、リズム情報が「Ｆ０１」で示される音データを含むことを示している。
【００６８】
図４に戻り、説明を続ける。制御部１３０は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、情報処理装置１００内部に記憶されたプログラム（例えば、本開示に係る情報処理プログラム）がＲＡＭ（Random  Access  Memory）等を作業領域として実行されることにより実現される。また、制御部１３０は、コントローラ（controller）であり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現されてもよい。
【００６９】
図４に示すように、制御部１３０は、抽出部１３１と、モデル生成部１３２と、取得部１３３と、コンテンツ生成部１３４とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図４に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００７０】
抽出部１３１は、第１コンテンツを構成する要素から第１データを抽出する。例えば、抽出部１３１は、ユーザの指定に従い、所定のルールに基づいて、第１コンテンツを構成する要素から第１データを抽出する。例えば、抽出部１３１は、曲である第１コンテンツを構成するデジタルデータに対して抽出操作を実行し、第１データを抽出する。
【００７１】
例えば、抽出部１３１は、第１コンテンツに対してユーザが指定する操作、及び、操作を実行する範囲の指定を受け付け、受け付けた範囲に対して操作を実行する。具体的には、抽出部１３１は、図１で示した曲３０において、曲３０からリズムのみを抽出するという操作と、リズムを抽出する範囲（例えば、小節等）の指定をユーザから受け付ける。そして、抽出部１３１は、ユーザの指定に従い、抽出に係る操作を実行する。
【００７２】
抽出部１３１は、操作の一例として、範囲に含まれる要素に順序不変性のある演算処理を行うことにより第１データを抽出する。例えば、抽出部１３１は、第１コンテンツを構成するデータに対して、足し算や掛け算、ｍａｘ演算等、順序不変な演算を行う。かかる処理により、抽出部１３１は、順序に依存する情報（曲の例ではリズム）のみをマスクした第１データを第１コンテンツから抽出することができる。
【００７３】
なお、抽出部１３１は、範囲に含まれる要素のうち、時間依存もしくは順序依存しない情報を損失させることにより、第１データを抽出してもよい。曲において、時間依存もしくは順序依存しない情報とは、例えば、ある小節内のコードの構成音や、曲の調性や、音符の総数や、曲の拍子等が挙げられる。一方、時間や順序に依存する情報の例としては、曲のリズム情報が挙げられる。
【００７４】
例えば、抽出部１３１は、第１コンテンツの特定の範囲の情報のうち、時間依存もしくは順序依存しない情報である音高情報を損失させることで、リズム情報のみが維持された第１データを抽出することができる。
【００７５】
モデル生成部１３２は、第１コンテンツの特徴量である第１特徴量を算出する第１エンコーダ５０と、抽出部１３１によって抽出された第１データの特徴量である第２特徴量を算出する第２エンコーダ５５とを有する学習済みモデルを生成する。なお、学習済みモデルに含まれるエンコーダは、２つに限られず、より多くの数が含まれてもよい。
【００７６】
また、モデル生成部１３２は、第１特徴量及び第２特徴量に基づき第１コンテンツに対応するデータをデコードするデコーダ６０を有する学習済みモデルを生成する。すなわち、モデル生成部１３２は、複数のエンコーダから抽出された特徴量をデコードする場合には、共通する１つのデコーダ６０でデコードする構成を有する学習済みモデルを生成する。
【００７７】
例えば、モデル生成部１３２は、曲等のコンテンツデータを学習する場合、コンテンツデータを第１エンコーダ５０に入力し、コンテンツデータから抽出された特徴情報を第２エンコーダ５５に入力する。続けて、モデル生成部１３２は、第１エンコーダ５０及び第２エンコーダ５５から出力された特徴量をデコーダ６０に入力し、コンテンツ（曲）を再構成する。そして、モデル生成部１３２は、前後のコンテンツのデータの相違が小さくなるよう、第１エンコーダ５０、第２エンコーダ５５及びデコーダ６０のパラメータを調整する。モデル生成部１３２は、かかる処理を繰り返し、第１エンコーダ５０、第２エンコーダ５５及びデコーダ６０が最適化された学習済みモデルを生成する。上述のように、モデル生成部１３２は、ＶＡＥやＧＡＮ等、種々の既知の手法を用いてモデルを生成してもよい。
【００７８】
取得部１３３は、各種情報を取得する。例えば、取得部１３３は、モデル生成部１３２によって生成された学習済みモデルに入力するデータを取得する。
【００７９】
例えば、取得部１３３は、第１エンコーダ５０から出力された特徴量や、第２エンコーダ５５から出力された特徴量を取得する。また、取得部１３３は、出力された特徴量を変化させ、取得した情報を学習済みモデルに入力する情報として取得してもよい。例えば、取得部１３３は、既知の特徴量の事前分布からサンプリングを行い、新規な特徴量を取得してもよい。
【００８０】
また、取得部１３３は、ユーザが利用する情報処理端末から任意のデータを取得してもよい。例えば、取得部１３３は、曲を構成するデータを取得する。そして、取得部１３３は、取得したデータを学習済みモデルに入力し（この場合、同じデータを第１エンコーダ５０及び第２エンコーダ５５にそれぞれ入力する）、各々のエンコーダから出力された特徴量を取得してもよい。
【００８１】
コンテンツ生成部１３４は、学習済みの第１エンコーダ５０もしくは第２エンコーダ５５から出力された特徴量、又は、これらの特徴量に基づいて生成される特徴量のいずれかを組み合わせた値をデコーダに入力することにより、第１コンテンツと同じ形式を有する新たなコンテンツである第２コンテンツを生成する。なお、学習済みの第１エンコーダ５０もしくは第２エンコーダ５５から出力された特徴量に基づいて生成される特徴量とは、例えば、いずれかのエンコーダから出力された特徴量の事前分布からサンプリングされて求められる特徴量をいう。
【００８２】
例えば、コンテンツ生成部１３４は、任意のデータを学習済みの第１エンコーダ５０もしくは第２エンコーダ５５に入力して出力された特徴量に基づいて、第２コンテンツを生成してもよい。あるいは、コンテンツ生成部１３４は、図３に示した例のように、生成された既存の特徴量（図３の例では特徴量ｚ１）と、任意のデータを学習済みの第１エンコーダ５０もしくは第２エンコーダ５５に入力して得られる特徴量（図３の例では特徴量ｚ３）とを組み合わせた値（例えば６４次元のベクトル）から、第２コンテンツを生成してもよい。
【００８３】
なお、上記のように、ユーザの指定する操作に応じて、ユーザが所望する特徴を保持する特徴量は変わる。すなわち、第１エンコーダ５０から出力される特徴量と、第２エンコーダ５５から出力される特徴量とにおいて、いずれがユーザの所望する特徴を保持するかは、ユーザが指定する操作や抽出操作の種別によって異なる。いずれにせよ、コンテンツ生成部１３４は、デコーダ６０に入力される特徴量に対応する値（例えば特徴量が６４次元のベクトルであれば、６４次元のベクトルを構成する値）が得られれば、当該特徴量に対応した第２コンテンツを生成することができる。
【００８４】
また、コンテンツ生成部１３４は、既存の特徴量を用いるのではなく、学習済みの第１エンコーダ５０から出力された特徴量と、学習済みの第２エンコーダ５５から出力された特徴量とを組み合わせた値をデコーダ６０に入力することにより、第２コンテンツを生成してもよい。例えば、コンテンツ生成部１３４は、取得部１３３によって取得された任意のデータ（曲等）を学習済みの第１エンコーダ５０及び第２エンコーダ５５に入力して出力された各々の特徴量を組み合わせた値に基づいて、第２コンテンツを生成してもよい。
【００８５】
また、コンテンツ生成部１３４は、組み合わせた値のうち、いずれかの特徴量に該当する値を固定し、他の特徴量に該当する値を順に可変させることで、複数の第２コンテンツを順に生成してもよい。例えば、特徴量の前半部分がリズムの特徴を示すものである場合、コンテンツ生成部１３４は、特徴量の前半部分を固定し、後半部分を可変させることで、リズムが維持された複数の曲を順に生成することができる。
【００８６】
［１−３．実施形態に係る情報処理の手順］
次に、図６及び図７を用いて、実施形態に係る情報処理の手順について説明する。まず、図６を用いて、本開示の実施形態に係る学習処理の流れについて説明する。図６は、本開示の実施形態に係る情報処理の手順を示すフローチャート（１）である。
【００８７】
図６に示すように、情報処理装置１００は、学習データ（コンテンツ）を取得したか否かを判定する（ステップＳ１０１）。学習データを取得していない場合（ステップＳ１０１；Ｎｏ）、情報処理装置１００は、学習データを取得するまで待機する。
【００８８】
一方、学習データを取得した場合（ステップＳ１０１；Ｙｅｓ）、情報処理装置１００は、対象とする情報（特徴情報）を抽出する（ステップＳ１０２）。
【００８９】
そして、情報処理装置１００は、元の学習データと、抽出した情報とを別々のエンコーダに入力する（ステップＳ１０３）。例えば、情報処理装置１００は、元の学習データを第１エンコーダ５０に入力し、抽出した情報を第２エンコーダ５５に入力する。
【００９０】
そして、情報処理装置１００は、元の学習データと抽出した情報とのそれぞれの特徴量を算出する（ステップＳ１０４）。続けて、情報処理装置１００は、算出した特徴量をデコーダ６０に入力する（ステップＳ１０５）。
【００９１】
これにより、情報処理装置１００は、デコーダ６０から、元の学習データと同じ形式のデータを出力させる（ステップＳ１０６）。そして、情報処理装置１００は、出力されたデータと、元の学習データとに基づいて、モデルを最適化する（ステップＳ１０７）。例えば、情報処理装置１００は、出力されたデータと元の学習データとを比較し、再構成誤差が小さくなるようにモデルのパラメータを最適化する。なお、情報処理装置１００は、モデルの最適化のため、ステップＳ１０１からステップＳ１０７までの処理を充分な回数（例えば、パラメータが所定閾値内に落ち着くまで）繰り返してもよい。
【００９２】
情報処理装置１００は、学習済みモデル（第１エンコーダ５０、第２エンコーダ５５及びデコーダ６０）を記憶部１２０内に格納する（ステップＳ１０８）。これにより、情報処理装置１００は、学習処理を終了する。
【００９３】
次に、図７を用いて、本開示の実施形態に係る生成処理の流れについて説明する。図７は、本開示の実施形態に係る情報処理の手順を示すフローチャート（２）である。
【００９４】
図７に示すように、情報処理装置１００は、第１の特徴量を取得する（ステップＳ２０１）。例えば、第１の特徴量は、学習済みの第１エンコーダ５０からの出力である。また、情報処理装置１００は、第２の特徴量を取得する（ステップＳ２０２）。例えば、第２の特徴量は、学習済みの第２エンコーダ５５からの出力である。
【００９５】
そして、情報処理装置１００は、取得した第１の特徴量及び第２の特徴量を組み合わせた値をデコーダ６０に入力する（ステップＳ２０３）。
【００９６】
続けて、情報処理装置１００は、デコーダ６０から出力されたデータに基づいて、第２コンテンツを生成する（ステップＳ２０４）。
【００９７】
（２．その他の実施形態）
上述した各実施形態に係る処理は、上記各実施形態以外にも種々の異なる形態（変形例）にて実施されてよい。
【００９８】
［２−１．学習及び生成処理のバリエーション］
上記実施形態では、２つのエンコーダと１つのデコーダを有する学習済みモデルについて説明した。ここで、情報処理装置１００は、上記実施形態とは異なる構成の種々のモデルを学習してもよい。この点について、図８以下を用いて説明する。
【００９９】
図８は、本開示の第１の変形例に係る学習処理の一例を示す図である。図８に示す例では、モデルは、図１で示した例と比較して、第１デコーダ６１と第２デコーダ６２とを有する点で相違する。
【０１００】
図８に示した例では、情報処理装置１００は、図１で示したステップＳ１と同様、データｘ１に対して抽出操作４０を実行して（ステップＳ１５）、特徴情報ｆ１を取り出す（ステップＳ１６）。また、情報処理装置１００は、図１で示したステップＳ５と同様、データｘ１を第１エンコーダ５０に入力し、特徴情報ｆ１を第２エンコーダ５５に入力する（ステップＳ１７）。これにより、情報処理装置１００は、特徴量ｚ１及び特徴量ｚ２を得る（ステップＳ１８）。かかる操作は、言い換えれば、情報処理装置１００がデータｘ１と特徴情報ｆ１に対して第１エンコーダ５０又は第２エンコーダ５５に対応する関数演算を行い、特徴量ｚ１及び特徴量ｚ２を出力するものである。
【０１０１】
続いて、情報処理装置１００は、特徴量ｚ１及び特徴量ｚ２を第１デコーダ６１に入力し、特徴量ｚ２を第２デコーダ６２に入力する（ステップＳ１９）。かかる操作は、言い換えれば、情報処理装置１００が特徴量ｚ１及び特徴量ｚ２に対して第１デコーダ６１に対応する関数演算を行い、特徴量ｚ２に対して第２デコーダ６２に対応する関数演算を行うことを意味する。
【０１０２】
ステップＳ１９の演算により、情報処理装置１００は、第１デコーダ６１からデータｘ´を得る。また、情報処理装置１００は、第２デコーダ６２から特徴情報ｆ´を得る（ステップＳ２０）。なお、データｘ´は、データｘ１と同様の形式を有するデータであり、デコーダを経て出力されたデータを概念的に示したものである。また、特徴情報ｆ´は、特徴情報ｆ１と同様の形式を有するデータであり、デコーダを経て出力された特徴情報を概念的に示したものである。
【０１０３】
その後、情報処理装置１００は、データｘ´がデータｘ１に、特徴情報ｆ´が特徴情報ｆ１に、各々近付くよう、各エンコーダ及びデコーダのパラメータを調整する。すなわち、情報処理装置１００は、図１に示したステップＳ１０と同様、モデルの最適化処理を行う。
【０１０４】
このように、情報処理装置１００は、２つのデコーダを有するモデルを学習してもよい。すなわち、情報処理装置１００は、第１特徴量（特徴量ｚ１）及び第２特徴量（特徴量ｚ２）に基づき第１コンテンツ（データｘ１）対応するデータをデコードする第１デコーダ６１と、第２特徴量に基づき、第１コンテンツを構成する要素から抽出された第１データ（特徴情報ｆ１）に対応するデータ（特徴情報ｆ２）をデコードする第２デコーダ６２を有する学習済みモデルを生成する。
【０１０５】
かかる構成によれば、第２エンコーダ５５及び第２デコーダ６２によって学習される特徴量ｚ２は、図１で示した構成と比較して、特徴情報ｆ１の情報を確実に持つことになる。このため、情報処理装置１００は、特徴を分離した学習を安定的に行うことができる。より具体的には、情報処理装置１００は、図８で示した構成により、特徴情報ｆ１として分離した情報（例えば、曲のリズム）をより確実に学習することができる。
【０１０６】
なお、図８で示したモデルは、さらに異なる構成とすることもできる。この点について、図９を用いて説明する。図９は、本開示の第２の変形例に係る学習処理の一例を示す図である。
【０１０７】
図９に示す例では、モデルは、図８で示した例と比較して、第２エンコーダ５５を有しない点で相違する。
【０１０８】
図９に示した例では、情報処理装置１００は、図８で示したステップＳ１５と同様、データｘ１に対して抽出操作４０を実行して（ステップＳ３１）、特徴情報ｆ１を取り出す（ステップＳ３２）。ここで、情報処理装置１００は、データｘ１を第１エンコーダ５０に入力し（ステップＳ３３）、特徴量ｚ１及び特徴量ｚ２を得る（ステップＳ３４）。この場合、情報処理装置１００は、第１エンコーダ５０から出力される値について、予め所定のルールを設けておき、特徴量ｚ１及び特徴量ｚ２を出力する。例えば、情報処理装置１００は、出力される６４次元のベクトルのうち前半の３２次元を特徴量ｚ１と、後半の３２次元を特徴量ｚ２とするなど、予めルールを設けておく。
【０１０９】
続いて、情報処理装置１００は、特徴量ｚ１及び特徴量ｚ２を第１デコーダ６１に入力し、特徴量ｚ２を第２デコーダ６２に入力する（ステップＳ３５）。ステップＳ３５の演算により、情報処理装置１００は、第１デコーダ６１からデータｘ´を得る。また、情報処理装置１００は、第２デコーダ６２から特徴情報ｆ´を得る（ステップＳ３６）。
【０１１０】
その後、情報処理装置１００は、データｘ´がデータｘ１に、特徴情報ｆ´が特徴情報ｆ１に、各々近付くよう、各エンコーダ及びデコーダのパラメータを調整する。
【０１１１】
このように、情報処理装置１００は、第２エンコーダ５５を省略した構成であっても、図１や図８で示したように、特徴量を分離した学習を行うことができる。これにより、情報処理装置１００は、モデルの構成を簡易にできるため、例えば学習処理を迅速に行ったり、処理負荷を軽減させたりすることができる。
【０１１２】
次に、新たなコンテンツを生成する場合の生成処理の変形例について、図１０を用いて説明する。図１０は、本開示の第３の変形例に係る生成処理の一例を示す図である。
【０１１３】
図１０は、学習済みの第１エンコーダ５０及び第１デコーダ６１から、新たなコンテンツを生成する際の処理の流れを示している。なお、第１エンコーダ５０及び第１デコーダ６１は、例えば、図９等の学習を経て、パラメータが学習されたエンコーダ及びデコーダである。
【０１１４】
情報処理装置１００は、任意のデータｘ１を第１エンコーダ５０に入力し（ステップＳ４１）、特徴量ｚ１及び特徴量ｚ２を得る（ステップＳ４２）。そして、情報処理装置１００は、特徴量ｚ１及び特徴量ｚ２を第１デコーダ６１に入力し（ステップＳ４３）、データｘ´を得る（ステップＳ４４）。なお、情報処理装置１００は、第１デコーダ６１に入力する特徴量を第１エンコーダ５０から得るのではなく、事前学習された特徴量の分布からサンプリングすることで特徴量を得てもよい。
【０１１５】
このように、情報処理装置１００は、簡易な構成の学習済みのモデル（この例では、第１エンコーダ５０及び第１デコーダ６１）から、新たなコンテンツであるデータｘ´を生成することができる。かかる構成によれば、情報処理装置１００は、特徴量ｚ１及び特徴量ｚ２の双方を１つのデコーダに入力することになるため、例えば、完全には分離されていない特徴を含んだデータｘ´を得ることができる。これにより、情報処理装置１００は、例えば特徴量ｚ２に分離しきれておらず、特徴量ｚ１にも残っていると想定されるリズム情報も含んだ新たなコンテンツを生成することができる。
【０１１６】
［２−２．抽出操作のバリエーション］
上記実施形態では、抽出操作４０の例として、所定の演算を行い、曲３０から順序不変の情報（例えばリズム情報）を抽出する例を示した。情報処理装置１００は、この例以外にも、抽出操作４０として、種々の操作を行ってもよい。
【０１１７】
例えば、上記実施形態では、情報処理装置１００が曲３０におけるコード構成音を抽出する例を示したが、情報処理装置１００は、コード構成音だけでなく、メロディの構成音やドラムの構成音を抽出してもよい。メロディの構成音とは、例えば、曲の小節のような、ある区間に登場する音の種類等を示す。また、ドラムの構成音とは、例えば、曲の小節のような、ある区間に登場するドラムセットの音の種類（スネアドラムやバスドラム等）を示す。
【０１１８】
また、情報処理装置１００は、曲の流れにおいて、音程が上がったか、下がったか、留まったかといった、音程の流れを示す情報（いわゆるMelodic  Contour）を抽出してもよい。また、情報処理装置１００は、曲を構成する音のスケール（１２音のうち、いずれの音を用いて曲が構成されているかを示す情報）を抽出してもよい。また、情報処理装置１００は、構成する音に順番を付した情報（順番付き構成音）を抽出してもよい。例えば、情報処理装置１００は、隣り合う音符の音程を順序付けて並べた情報（例えば、１度、１度、２度などの音程の羅列）を抽出してもよい。
【０１１９】
また、情報処理装置１００は、曲においてパターン分類した系列（一例として、Implication/Realization  Model等）を抽出してもよい。また、情報処理装置１００は、例えばＧＴＴＭ（Generative  Theory  of  Tonal  Music）のタイムスパン木の深さで決定された、重要な音符列を抽出するような手法を採用してもよい。
【０１２０】
また、情報処理装置１００は、曲を構成する音のうち、リード音となる情報や、コード音や、コードタイプや、コードの根音（ルート）や、ベースライン等を抽出してもよい。
【０１２１】
また、情報処理装置１００は、曲がＭＩＤＩ情報で構成されている場合、ある区間における強さ情報（Velocity）を抽出してもよい。
【０１２２】
また、情報処理装置１００は、曲を構成する楽器ごと、あるいは、楽器グループごとの音を抽出してもよい。また、情報処理装置１００は、ある曲の特徴をＤＮＮ（Deep  Neural  Network）で学習させた場合の、ある層の特徴同士の相関を計算したスタイル特徴量等を抽出してもよい。また、情報処理装置１００は、曲における自己相似（self-similarity）等を抽出してもよい。
【０１２３】
また、情報処理装置１００は、曲の特徴を学習し、学習した結果に基づいて特徴を抽出してもよい。例えば、情報処理装置１００は、曲を転調させるというタスクをSequence-to-sequence  Network（モデル）で学習し、デコーダに転調等の条件付けをすることで、転調に関して不変となる特徴を抽出してもよい。
【０１２４】
［２−３．アプリケーションのバリエーション］
上記実施形態で説明したように、本開示に係る情報処理によれば、所定の特徴を分離させた学習を行うことができるため、新たなコンテンツに登場する特徴の影響を選択的に強弱させることができる。この点について、図１１を用いて説明する。図１１は、本開示に係る生成処理を概念的に説明するための図である。
【０１２５】
図１１には、本開示に係る生成処理によって生成される曲のイメージ（音程と音の長さ）を概念的に示したグラフ６４を示す。上述のように、情報処理装置１００は、曲を表す特徴の一つとしてリズムを抽出し、リズムを固定したり、あるいは変化させたりといった影響を反映させた新たな曲を生成可能である。
【０１２６】
例えば、情報処理装置１００は、曲のリズムの特徴を決定する因子（「リズム因子」と称する）を固定したまま、リズム因子以外の特徴を変化させた場合、図１１に示したリズム因子の固定という軸に沿った曲を生成する。一方、情報処理装置１００は、リズム因子以外の特徴を固定して、リズム因子を変化させた場合、図１１に示したリズム因子以外の固定という軸に沿った曲を生成する。
【０１２７】
一般的には、コンテンツの生成において、特徴量が分離できない場合には、元となるデータに何らかの変化を与えることができるものの、その変化の方向を調整することは難しい。例えば、情報処理装置１００は、１小節の音情報を示した曲６５の特徴量を変化させて、新たな曲６６を生成することが可能であるものの、特徴量が分離されていない場合、その変化の方向は、対角線上の一方向（いわゆる１D-interpolation）となる。
【０１２８】
しかしながら、情報処理装置１００によれば、曲の特徴のうちリズム因子という要素を分離できるため、リズム因子を固定させる方向、及び、リズム因子以外を固定させる方向（いわゆる２D-interpolation）で曲６５を変化させることが可能である。例えば、情報処理装置１００は、ユーザの要望に従い、曲６５をグラフ６４に示した全ての曲のイメージに変化させることができる。このように、情報処理装置１００は、特徴量のブレンド比率を調整するように、新たなコンテンツを生成することができる。
【０１２９】
すなわち、情報処理装置１００は、曲のリズムや転調の度合い、スケール等を固定するだけでなく、その変化の度合いを制御して、新たなコンテンツやバリエーションを生成することができる。具体的な方法としては、ノイズを２つ得て、それぞれを２つの特徴量ｚ１、ｚ２に加えれば特徴量のバリエーションが生成できる。この際、ノイズをスケーリングすれば、バリエーションの度合いを２つの特徴量ｚ１、ｚ２ごとに制御することができる。例えば、ノイズを得る方法を２通り挙げると、（１）正規分布など、ある決め打ちの分布からノイズを得る、（２）ＶＡＥを用いてエンコーダを学習し、エンコーダが出力するノイズを用いる、といった方法がある。また、情報処理装置１００は、ある２つの曲の特徴を交換させて新たなコンテンツを生成するなど、柔軟な生成処理を行うことができる。
【０１３０】
［２−４．特徴量のバリエーション］
上記実施形態では、情報処理装置１００が、曲における２種類の特徴量（リズムと、リズム以外の要素）を学習する例を示した。しかし、情報処理装置１００は、２種類以上の特徴量を学習してもよい。
【０１３１】
この点について、図１２以下を用いて説明する。図１２は、本開示の第４の変形例に係る学習処理の一例を示す図（１）である。図１２には、学習処理において分離される特徴量ｚｏ、ｚａ、ｚｂ、ｚｃと、その特徴量同士の関係性のバリエーションを概念的に示す。
【０１３２】
図１２（ａ）に示す概念図６７は、３種類の特徴量が、それぞれ排反となる特徴群であることを示す。図１２（ｂ）に示す概念図６８は、４種類の特徴量が、それぞれ共通部分のある空間となる特徴群であることを示す。図１２（ｃ）に示す概念図６９は、３種類の特徴量が、入れ子空間となる特徴群であることを示す。
【０１３３】
図１３に、図１２（ａ）で示した特徴群を学習する例を示す。図１３は、本開示の第４の変形例に係る学習処理の一例を示す図（２）である。
【０１３４】
図１３に示すように、情報処理装置１００は、データｘ１に対して第１抽出操作４１及び第２抽出操作４２を実行する（ステップＳ５１）。そして、情報処理装置１００は、第１抽出操作４１によって特徴情報ｆ１を得て、第２抽出操作４２によって特徴情報ｆ２を得る（ステップＳ５２）。続けて、情報処理装置１００は、データｘ１を第１エンコーダ５０に入力し、特徴情報ｆ１を第２エンコーダ５５に入力し、特徴情報ｆ２を第３エンコーダ５６に入力する（ステップＳ５３）。
【０１３５】
情報処理装置１００は、第１エンコーダ５０から特徴量ｚｏを得て、第２エンコーダ５５から特徴量ｚａを得て、第３エンコーダ５６から特徴量ｚｂをそれぞれ得る（ステップＳ５４）。続いて、情報処理装置１００は、特徴量ｚｏ、特徴量ｚａ及び特徴量ｚｂを第１デコーダ６１に、特徴量ｚａを第２デコーダ６２に、特徴量ｚｂを第３デコーダ６３に、それぞれ入力する（ステップＳ５５）。そして、情報処理装置１００は、第１デコーダ６１からデータｘ´を、第２デコーダ６２から特徴情報ｆ１´を、第３デコーダ６３から特徴情報ｆ２´を、それぞれ得る（ステップＳ５６）。続けて、情報処理装置１００は、データｘ´がデータｘ１に、特徴情報ｆ１´が特徴情報ｆ１に、特徴情報ｆ２´が特徴情報ｆ２に、それぞれ近付くよう、デコーダ及びエンコーダを最適化する。
【０１３６】
図１３に示す構成により、情報処理装置１００は、図１２（ａ）で示した関係性にある特徴群を学習することができる。なお、図１３に示した学習の具体例を挙げると、例えば、第１デコーダ６１は曲のメロディに関するタスクを実行しており、第２デコーダ６２は曲のメロディのリズムに関するタスクを実行しており、第３デコーダ６３は曲のメロディ構成音に関するタスクを実行している。言い換えれば、図１３で示したモデルは、第２デコーダ６２が特徴量ｚａを捉え、第３デコーダ６３が特徴量ｚｂを捉え、第１デコーダ６１が、それ以外の特徴を捉えているといえる。
【０１３７】
次に、図１４に、図１２（ｂ）で示した特徴群を学習する例を示す。図１４は、本開示の第４の変形例に係る学習処理の一例を示す図（３）である。
【０１３８】
図１４に示すように、情報処理装置１００は、データｘ１を第１エンコーダ５０に入力する（ステップＳ６１）。そして、情報処理装置１００は、第１エンコーダ５０から特徴量ｚｏ、ｚａ、ｚｂ、ｚｃを出力する（ステップＳ６２）。なお、この場合、情報処理装置１００は、図９のステップＳ３３等と同様、特徴量の分離に関して、予め所定のルールを設けていてもよい。
【０１３９】
続けて、情報処理装置１００は、特徴量ｚｏ、ｚａ、ｚｂ、ｚｃを第１デコーダ６１に、特徴量ｚａ及び特徴量ｚｃを第２デコーダ６２に、特徴量ｚｂ及びｚｃを第３デコーダ６３に、それぞれ入力する（ステップＳ６３）。かかる処理は、図１２（ｂ）で示したように、特徴量ｚｃが、特徴量ｚａ及び特徴量ｚｂと共通性を有していることによる。
【０１４０】
そして、情報処理装置１００は、第１デコーダ６１からデータｘ´を、第２デコーダ６２から特徴情報ｆ１´を、第３デコーダ６３から特徴情報ｆ２´を、それぞれ得る（ステップＳ５６）。続けて、情報処理装置１００は、データｘ´がデータｘ１に、特徴情報ｆ１´が特徴情報ｆ１に、特徴情報ｆ２´が特徴情報ｆ２に、それぞれ近付くよう、デコーダ及びエンコーダを最適化する。
【０１４１】
図１４に示す構成により、情報処理装置１００は、図１２（ｂ）で示した関係性にある特徴群を学習することができる。
【０１４２】
次に、図１５に、図１２（ｃ）で示した特徴群を学習する例を示す。図１５は、本開示の第４の変形例に係る学習処理の一例を示す図（４）である。
【０１４３】
図１５に示す処理のうち、ステップＳ７１〜ステップＳ７４は、図１３に示したステップＳ５１〜ステップＳ５４と共通であるため、説明を省略する。
【０１４４】
情報処理装置１００は、ステップＳ７４で得られた特徴量ｚｏ、特徴量ｚａ及び特徴量ｚｂを第１デコーダ６１に、特徴量ｚａ及び特徴量ｚｂを第２デコーダ６２に、特徴量ｚｂを第３デコーダ６３に、それぞれ入力する（ステップＳ７５）。かかる処理は、図１２（ｃ）で示したように、特徴量ｚｂが、特徴量ｚａ及び特徴量ｚｏと入れ子構造になっていることによる。
【０１４５】
そして、情報処理装置１００は、第１デコーダ６１からデータｘ´を、第２デコーダ６２から特徴情報ｆ１´を、第３デコーダ６３から特徴情報ｆ２´を、それぞれ得る（ステップＳ７６）。続けて、情報処理装置１００は、データｘ´がデータｘ１に、特徴情報ｆ１´が特徴情報ｆ１に、特徴情報ｆ２´が特徴情報ｆ２に、それぞれ近付くよう、デコーダ及びエンコーダを最適化する。
【０１４６】
図１５に示す構成により、情報処理装置１００は、図１２（ｃ）で示した関係性にある特徴群を学習することができる。図１２乃至図１５で説明したように、情報処理装置１００は、複数の特徴量（特徴群）が様々な関係性を有する場合であっても、各々の特徴を分離させて学習を行うことができる。
【０１４７】
［２−５．情報処理のバリエーション］
情報処理装置１００は、２つの特徴量（例えば、特徴量ｚ１及び特徴量ｚ２）に依存関係がある場合、各々の処理に用いるエンコーダや事前分布を依存させてもよい。
【０１４８】
また、情報処理装置１００は、エンコーダの２つのパスにおいて埋め込みベクトル（embedding）を共有させてもよい。例えば、情報処理装置１００は、曲の構成音等を抽出して学習を行う場合には、エンコーダの２つのパスにおいて埋め込みベクトルを共有させる。
【０１４９】
また、情報処理装置１００は、敵対的学習を用いて特徴量を分離してもよい。具体的には、情報処理装置１００は、２つの特徴量（例えば、特徴量ｚ１及び特徴量ｚ２）を分離するために、特徴量ｚ２と正規分布のノイズを分類する識別器を学習しておき、その識別ができなくなるように特徴量ｚ１を学習するといった敵対的学習を行ってもよい。
【０１５０】
［２−６．モデル構造のバリエーション］
情報処理装置１００は、特徴量や特徴情報の取り扱いに関して、さらに異なる構造を有するモデルを学習してもよい。この点について、図１６以下を用いて説明する。図１６は、本開示の第５の変形例に係る学習処理の一例を示す図である。
【０１５１】
図１６に示した例では、情報処理装置１００は、データｘ１に対して抽出操作４０を実行して（ステップＳ８１）、特徴情報ｆ１を取り出す（ステップＳ８２）。その後、情報処理装置１００は、データｘ１とともに特徴情報ｆ１を第１エンコーダ５０に入力し、特徴情報ｆ１を第２エンコーダ５５に入力する（ステップＳ８３）。これにより、情報処理装置１００は、特徴量ｚ１及び特徴量ｚ２を得る（ステップＳ８４）。
【０１５２】
続いて、情報処理装置１００は、特徴量ｚ１及び特徴情報ｆ１を第１デコーダ６１に入力し、特徴量ｚ２を第２デコーダ６２に入力する（ステップＳ８５）。そして、情報処理装置１００は、第１デコーダ６１からデータｘ´を得て、第２デコーダ６２から特徴情報ｆ´を得る（ステップＳ８６）。
【０１５３】
その後、情報処理装置１００は、データｘ´がデータｘ１に、特徴情報ｆ´が特徴情報ｆ１に、各々近付くよう、各エンコーダ及びデコーダのパラメータを調整する。すなわち、情報処理装置１００は、モデルの最適化処理を行う。
【０１５４】
このように、情報処理装置１００は、第１特徴量（特徴量ｚ１）及び第１データ（特徴情報ｆ１）に基づき第１コンテンツ（データｘ１）に対応するデータをデコードする第１デコーダ６１と、第２特徴量（特徴量ｚ２）に基づき第１データに対応するデータ（特徴情報ｆ´）をデコードする第２デコーダ６２を有する学習済みモデルを生成してもよい。
【０１５５】
具体的には、情報処理装置１００は、図８に示したモデル等と相違して、ステップＳ８５において、特徴情報ｆ１を第１デコーダ６１に入力する。これにより、情報処理装置１００は、特徴情報ｆ１を条件付けしたうえで、エンコーダ及びデコーダの学習を行うことができる。すなわち、情報処理装置１００は、特徴情報ｆ１を含む学習を行うことにより、特徴情報ｆ１に関する不確実性を排除した学習を行うことができる。具体的には、情報処理装置１００は、特徴情報ｆ１を予め含んだ学習を行うことで、何らかの要因により特徴量を分離した学習が行われない（例えば、曲のリズム情報のみを特徴量として取り出す等）といった事態を防止することができる。
【０１５６】
より具体的には、図１６のモデルの構造によれば、特徴量ｚ１には、特徴情報ｆ１の不確実性が学習されず、特徴情報ｆ１以外のデータｘ１の部分の不確実性のみが学習される。言い換えれば、特徴量ｚ１には、特徴情報ｆ１に関係のない空間が学習される。一方、特徴情報ｆ１に関係する空間は、もう一方のエンコーダ（図１６の例では、第２エンコーダ５５）に学習される。これにより、特徴量ｚ１と特徴量ｚ２とが明確に分離された空間として学習される。すなわち、第５の変形例に係る学習処理によれば、情報処理装置１００は、学習の安定性を高めることができる。
【０１５７】
次に、新たなコンテンツを生成する場合の生成処理の変形例について、図１７を用いて説明する。図１７は、本開示の第５の変形例に係る生成処理の一例を示す図（１）である。
【０１５８】
図１７は、学習済みの第１エンコーダ５０、第１デコーダ６１及び第２デコーダ６２から、新たなコンテンツを生成する際の処理の流れを示している。なお、第１エンコーダ５０、第１デコーダ６１及び第２デコーダ６２は、例えば、図１６の学習を経て、パラメータが学習されたエンコーダ及びデコーダである。
【０１５９】
情報処理装置１００は、任意のデータｘ１に対して抽出操作４０を実行して（ステップＳ８７）、特徴情報ｆ１を取り出す（ステップＳ８８）。その後、情報処理装置１００は、データｘ１とともに特徴情報ｆ１を第１エンコーダ５０に入力する（ステップＳ８９）。これにより、情報処理装置１００は、特徴量ｚ１を得る（ステップＳ９０）。また、情報処理装置１００は、事前学習された特徴量（空間）の分布からサンプリングすることで、任意の特徴量ｚ２を得る。
【０１６０】
続いて、情報処理装置１００は、得られた特徴量ｚ２を第２デコーダ６２に入力し（ステップＳ９１）、得られた特徴情報ｆ´、特徴量ｚ１及び特徴情報ｆ１を第１デコーダ６１に入力する（ステップＳ９１）。これにより、情報処理装置１００は、新たなコンテンツであるデータｘ´を得る（ステップＳ９２）。
【０１６１】
図１７の構成により、情報処理装置１００は、抽出操作によって抽出された特徴（図１７の例では特徴情報ｆ１）の影響が反映された新たなコンテンツであるデータｘ´を生成することができる。
【０１６２】
なお、情報処理装置１００は、生成において、さらに異なる構成を採用することもできる。この点について、図１８を用いて説明する。
【０１６３】
図１８は、学習済みの第１エンコーダ５０、第２エンコーダ５５、第１デコーダ６１及び第２デコーダ６２から、新たなコンテンツを生成する際の処理の流れを示している。なお、第１エンコーダ５０、第２エンコーダ５５、第１デコーダ６１及び第２デコーダ６２は、例えば、図１６の学習を経て、パラメータが学習されたエンコーダ及びデコーダである。
【０１６４】
情報処理装置１００は、任意のデータｘ１に対して抽出操作４０を実行して（ステップＳ９３）、特徴情報ｆ１を取り出す（ステップＳ９４）。その後、情報処理装置１００は、データｘ１とともに特徴情報ｆ１を第１エンコーダ５０に入力するとともに、特徴情報ｆ１を第２エンコーダ５５に入力する（ステップＳ９５）。これにより、情報処理装置１００は、第１エンコーダ５０から特徴量ｚ１を、第２エンコーダ５５から特徴量ｚ２を得る（ステップＳ９６）。このとき、情報処理装置１００は、事前学習された特徴量（空間）の分布からサンプリングすることで、任意の特徴量ｚ１を得てもよい。
【０１６５】
続いて、情報処理装置１００は、得られた特徴量ｚ２を第２デコーダ６２に入力し（ステップＳ９７）、得られた特徴情報ｆ´及び特徴量ｚ１を第１デコーダ６１に入力する。これにより、情報処理装置１００は、新たなコンテンツであるデータｘ´を得る（ステップＳ９８）。
【０１６６】
図１８の構成によっても、情報処理装置１００は、抽出操作によって抽出された特徴（図１８の例では特徴情報ｆ１）の影響が反映された新たなコンテンツであるデータｘ´を生成することができる。
【０１６７】
［２−７．コンテンツのバリエーション］
上記実施形態では、コンテンツの例として曲（音楽）を挙げた。ここで、変形例に係る情報処理装置１００は、コンテンツとして、画像やテキストデータ等を用いて本開示に係る情報処理を行ってもよい。
【０１６８】
図１９乃至図２１を用いて、情報処理装置１００がコンテンツとして画像を取り扱う場合の例を説明する。図１９は、本開示の第６の変形例に係る情報処理の一例を示す図（１）である。
【０１６９】
情報処理装置１００は、コンテンツとして画像を扱う場合、例えば画像から高解像度（ハイレゾリューション）の情報や、低解像度（ローレゾリューション）の情報を抽出する操作を行う。
【０１７０】
例えば、情報処理装置１００は、図１９に示す画像８０をコンテンツとして学習し、学習済みモデルを生成するものとする。仮に、画像８０を構成する画素数が「１２８×１２８ピクセル」であるものとする。この場合、画像８０を「３２×３２ピクセル」等、ある程度の大きさを占める大まかな範囲で、各画素情報をプーリングする。これにより、画像８０が「３２×３２ピクセル」ごとに１つの画素で表されるような、低解像度の画像（画像８０をモザイク処理したような画像）が得られる。
【０１７１】
そして、情報処理装置１００は、画像８０の元データを第１エンコーダ５０で学習し、低解像度の画像を第２エンコーダ５５で学習する。すると、第１エンコーダ５０から出力される特徴量ｚ１は、３２×３２ピクセルより細かい範囲の特徴を示す特徴量となる。一方、第２エンコーダ５５から出力される特徴量ｚ２は、特徴量ｚ１が示す特徴以外の、より広い範囲における特徴を示す特徴量となる。
【０１７２】
例えば、画像８０において３２×３２ピクセルで示される特徴とは、人物ではなく背景等の広い範囲の色等が該当する。一方、画像８０において３２×３２ピクセルより細かい範囲で示される特徴とは、例えば、人物の目や鼻等のパーツなど、より細かい範囲を特徴付ける情報等が該当する。
【０１７３】
このため、情報処理装置１００が、上記の特徴量ｚ１を固定したまま特徴量ｚ２を可変させて（例えば、特徴量ｚ１を固定しつつ、特徴量ｚ２を事前分布でサンプリングする）、第２コンテンツを複数生成したとすると、図１９に示す画像群８２を生成することができる。図１９に示す画像群８２に含まれる各画像は、画像８０に含まれる人物の目や鼻などの細かいパーツはほとんど変化せず、背景の色やアンビエント光のみが変化した画像となる。
【０１７４】
このようにして生成される画像群８２は、同一人物を様々な背景や環境の下で撮像した複数の画像といえる。すなわち、情報処理装置１００によれば、ある人物を撮像した１枚の画像８０から、同一人物を異なる環境で撮像したものと同等の多数の画像を得ることができる。これにより、情報処理装置１００は、極めて少数の元画像から、特定の処理を行う機械学習モデル（例えば、顔認識や表情認識の分類器等）を生成する際に有用な多数の画像を得ることができる。言い換えれば、情報処理装置１００は、学習に利用される画像を適切なかたちで水増しすることができる。
【０１７５】
また、情報処理装置１００は、図１９とは異なる学習を行うことも可能である。異なる学習の例について、図２０を用いて説明する。図２０は、本開示の第６の変形例に係る情報処理の一例を示す図（２）である。
【０１７６】
学習の元データは、図１９と同じ画像８０を用いる。図２０の例では、画像８０を「８×８ピクセル」等、図１９と比較して小さい範囲を占める範囲で、各画素情報をプーリングする。
【０１７７】
そして、情報処理装置１００は、画像８０の元データを第１エンコーダ５０で学習し、プーリングした画像を第２エンコーダ５５で学習する。すると、第１エンコーダ５０から出力される特徴量ｚ１は、８×８ピクセルより細かい範囲の特徴を示す特徴量となる。一方、第２エンコーダ５５から出力される特徴量ｚ２は、特徴量ｚ１が示す特徴以外の、より広い範囲における特徴を示す特徴量となる。
【０１７８】
例えば、画像８０において８×８ピクセルより細かい範囲で示される特徴とは、人物の目や鼻等のパーツの形など、より細かい範囲を特徴付ける情報等が該当する。
【０１７９】
図２０の例では、情報処理装置１００が、特徴量ｚ２を固定したまま特徴量ｚ１を可変させて（例えば、特徴量ｚ２を固定しつつ、特徴量ｚ１を事前分布でサンプリングする）、第２コンテンツを複数生成したとすると、図２０に示す画像群８７を生成することができる。図２０に示す画像群８７に含まれる各画像は、図１９とは逆に、背景の色やアンビエント光はほとんど変化せず、画像８０に含まれる人物の目や鼻などの細かいパーツの形等が変化した画像となる。
【０１８０】
このようにして生成される画像群８７は、例えば、高精度の顔認識モデルを生成する際に有用な多数の画像となりうる。すなわち、画像８０に撮像された人物を細かく変化させた場合に、誤って画像８０に撮像された人物本人と認識しないような判定を行うモデルの生成のため、画像群８７を利用することが可能である。これにより、情報処理装置１００は、顔認識モデルの性能を向上させることができる。
【０１８１】
なお、情報処理装置１００は、さらに異なる学習手法を用いることもできる。この点について、図２１を用いて説明する。図２１は、本開示の第６の変形例に係る情報処理の一例を示す図（３）である。
【０１８２】
学習の元データは、図１９と同じ画像８０を用いる。ここで、図２１の例では、画像８０をエンコードする間の中間層に出現したデータを用いて、第２エンコーダ５５を学習する。例えば、情報処理装置１００は、第２エンコーダ５５の中間層のデータ（仮に４×４ピクセルのデータとする）に対してＧＡＰ（global  average  pooling）操作を行い、特徴量ｚ２を出力するよう、第２エンコーダ５５を学習する。これにより、特徴量ｚ２には、画像８０のうち場所情報（背景等）が消えたものが学習され、一方の特徴量ｚ１には、場所情報が学習される。この場合、特徴量ｚ１を固定して特徴量ｚ２をサンプリングすることで、画像のうち場所情報以外を操作することができる。例えば、図２１のように、背景の大まかな雰囲気が維持されるものの、画像に含まれる人物の顔や髪型が様々に異なる画像群９２が生成される。言い換えれば、情報処理装置１００は、顔の特徴的な属性（アライメント（Alignment））を変化させた、様々な人が含まれる種々の画像を生成することができる。かかる処理によれば、情報処理装置１００は、例えば１枚の画像から、「人物」とラベル付けされた大量の学習用画像を生成することができる。
【０１８３】
上記のように、情報処理装置１００は、画像である第１コンテンツを構成するデジタルデータに対して抽出操作を実行し、第１データを抽出してもよい。例えば、情報処理装置１００は、抽出操作として、画像のうち特定の領域に含まれる各々の画素の画素情報に順序不変性のある演算処理（例えばプーリング）を行うことにより、第１データを抽出する。
【０１８４】
このように、情報処理装置１００は、コンテンツが曲でなく画像である場合にも、ユーザが狙った特徴を分離した学習を行うことができる。また、情報処理装置１００は、生成した学習済みモデルを用いて、ある特徴（背景あるいは人物の顔等）を固定して他の特徴を変化させた画像など、ユーザが指定した特徴を維持した画像を自動生成することができる。
【０１８５】
また、情報処理装置１００は、コンテンツとしてテキストデータや動画等を用いてもよい。すなわち、情報処理装置１００は、コンテンツの種別に限らず、何らかの操作によって抽出された情報と、元のコンテンツデータとを別々のエンコーダで学習することが可能であれば、狙った特徴量を分離する学習を行うことができる。
【０１８６】
また、情報処理装置１００は、本開示に係る情報処理を応用して、人間の味覚情報に基づき、類似する味覚を発する物質等を検出する処理を行ってもよい。例えば、情報処理装置１００は、特定の物質からある味覚を有する要素を分離し、それぞれをデータ化した情報を別々のエンコーダに入力することで、ある物質から特定の味覚の特徴のみを分離した特徴を学習することができる。
【０１８７】
また、上記実施形態において、情報処理装置１００が、順序不変性のある演算を行ったり、ある情報を損失させたりすることにより、特徴情報を抽出する操作を行う例を示した。しかし、抽出操作はこの例に限られない。例えば、情報処理装置１００は、曲の小節ごとに予め人為的に設定した「曲における盛り上がり度」に基づいて、どのようなフレーズが「盛り上がり度」が高いか、といった教師あり回帰関数を学習する。そして、情報処理装置１００は、学習した結果に基づき、処理対象とする曲の各小節の盛り上がり度を算出する。そして、情報処理装置１００は、盛り上がり度が所定の閾値を超えた小節のみを抽出して第２エンコーダ５５で学習する。これにより、情報処理装置１００は、「盛り上がり度」といった、人為的に設定した特徴を分離することのできる学習済みモデルを生成することができる。
【０１８８】
すなわち、情報処理装置１００は、必ずしも演算操作によってコンテンツから特徴情報を抽出するのではなく、人為的に設定した特徴に基づいて、コンテンツから特徴情報を抽出することもできる。かかる構成によれば、例えば、感情に対応する特徴を分離することができるため、例えば、幸せな感情を起こさせるコンテンツなど、人間が感じる何らかの特徴を有したコンテンツを自動生成することができる。一例として、情報処理装置１００は、かかる構成を自然言語処理に応用することで、「幸せな感情を起こさせる文章」のような、ある感情を想起させるような特徴を有するコンテンツ（文章）を自動生成することができる。
【０１８９】
［２−８．その他］
また、上記各実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１９０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１９１】
また、上述してきた各実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１９２】
また、本明細書に記載された効果はあくまで例示であって限定されるものでは無く、他の効果があってもよい。
【０１９３】
（３．ハードウェア構成）
上述してきた各実施形態に係る情報処理装置１００等の情報機器は、例えば図１１に示すような構成のコンピュータ１０００によって実現される。以下、実施形態に係る情報処理装置１００を例に挙げて説明する。図２２は、情報処理装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ（Read  Only  Memory）１３００、ＨＤＤ（Hard  Disk  Drive）１４００、通信インターフェイス１５００、及び入出力インターフェイス１６００を有する。コンピュータ１０００の各部は、バス１０５０によって接続される。
【０１９４】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。例えば、ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムをＲＡＭ１２００に展開し、各種プログラムに対応した処理を実行する。
【０１９５】
ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１９６】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を非一時的に記録する、コンピュータが読み取り可能な記録媒体である。具体的には、ＨＤＤ１４００は、プログラムデータ１４５０の一例である本開示に係る情報処理プログラムを記録する記録媒体である。
【０１９７】
通信インターフェイス１５００は、コンピュータ１０００が外部ネットワーク１５５０（例えばインターネット）と接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、通信インターフェイス１５００を介して、他の機器からデータを受信したり、ＣＰＵ１１００が生成したデータを他の機器へ送信したりする。
【０１９８】
入出力インターフェイス１６００は、入出力デバイス１６５０とコンピュータ１０００とを接続するためのインターフェイスである。例えば、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、キーボードやマウス等の入力デバイスからデータを受信する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやスピーカーやプリンタ等の出力デバイスにデータを送信する。また、入出力インターフェイス１６００は、所定の記録媒体（メディア）に記録されたプログラム等を読み取るメディアインターフェイスとして機能してもよい。メディアとは、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１９９】
例えば、コンピュータ１０００が実施形態に係る情報処理装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされた情報処理プログラムを実行することにより、制御部１３０等の機能を実現する。また、ＨＤＤ１４００には、本開示に係る情報処理プログラムや、記憶部１２０内のデータが格納される。なお、ＣＰＵ１１００は、プログラムデータ１４５０をＨＤＤ１４００から読み取って実行するが、他の例として、外部ネットワーク１５５０を介して、他の装置からこれらのプログラムを取得してもよい。
【０２００】
なお、本技術は以下のような構成も取ることができる。
（１）
第１コンテンツを構成する要素から第１データを抽出する抽出部と、
前記第１コンテンツの特徴量である第１特徴量を算出する第１エンコーダと、前記抽出された前記第１データの特徴量である第２特徴量を算出する第２エンコーダとを有する学習済みモデルを生成するモデル生成部と
を備える情報処理装置。
（２）
前記モデル生成部は、
前記第１特徴量及び前記第２特徴量に基づき前記第１コンテンツに対応するデータをデコードするデコーダを有する前記学習済みモデルを生成する
前記（１）に記載の情報処理装置。
（３）
前記抽出部は、
前記第１コンテンツに対してユーザが指定する操作、及び、当該操作を実行する範囲の指定を受け付け、受け付けた範囲に対して当該操作を実行する
前記（１）又は（２）に記載の情報処理装置。
（４）
前記抽出部は、
前記操作として、前記範囲に含まれる要素に順序不変性のある演算処理を行うことにより、前記第１データを抽出する
前記（３）に記載の情報処理装置。
（５）
前記抽出部は、
前記範囲に含まれる要素のうち、時間依存もしくは順序依存しない情報を損失させることにより、前記第１データを抽出する
前記（３）又は（４）に記載の情報処理装置。
（６）
前記抽出部は、
曲である前記第１コンテンツを構成するデジタルデータに対して前記操作を実行し、前記第１データを抽出する
前記（３）〜（５）のいずれかに記載の情報処理装置。
（７）
前記抽出部は、
前記第１コンテンツのうち、前記範囲に含まれる音情報の音の高さに関する情報を損失させる操作を実行し、前記第１データを抽出する
前記（６）に記載の情報処理装置。
（８）
前記抽出部は、
画像である前記第１コンテンツを構成するデジタルデータに対して前記操作を実行し、前記第１データを抽出する
前記（３）〜（５）のいずれかに記載の情報処理装置。
（９）
前記抽出部は、
前記操作として、前記画像のうち特定の領域に含まれる各々の画素の画素情報に順序不変性のある演算処理を行うことにより、前記第１データを抽出する
前記（８）に記載の情報処理装置。
（１０）
学習済みの前記第１エンコーダもしくは前記第２エンコーダから出力された特徴量、又は、当該特徴量に基づいて生成される特徴量のいずれかを組み合わせた値を前記デコーダに入力することにより、前記第１コンテンツと同じ形式を有する新たなコンテンツである第２コンテンツを生成するコンテンツ生成部
をさらに有する前記（２）〜（９）のいずれかに記載の情報処理装置。
（１１）
前記コンテンツ生成部は、
学習済みの前記第１エンコーダから出力された特徴量と、学習済みの前記第２エンコーダから出力された特徴量とを組み合わせた値を前記デコーダに入力することにより、前記第２コンテンツを生成する
前記（１０）に記載の情報処理装置。
（１２）
前記コンテンツ生成部は、
前記組み合わせた値のうち、いずれかの特徴量に該当する値を固定し、他の特徴量に該当する値を順に可変させることで、複数の前記第２コンテンツを順に生成する
前記（１０）又は（１１）に記載の情報処理装置。
（１３）
コンピュータが、
第１コンテンツを構成する要素から第１データを抽出し、
前記第１コンテンツの特徴量である第１特徴量を算出する第１エンコーダと、前記抽出された前記第１データの特徴量である第２特徴量を算出する第２エンコーダとを有する学習済みモデルを生成する
情報処理方法。
（１４）
コンピュータを、
第１コンテンツを構成する要素から第１データを抽出する抽出部と、
前記第１コンテンツの特徴量である第１特徴量を算出する第１エンコーダと、前記抽出された前記第１データの特徴量である第２特徴量を算出する第２エンコーダとを有する学習済みモデルを生成するモデル生成部と
として機能させるための情報処理プログラム。
（１５）
前記モデル生成部は、
前記第１特徴量及び前記第２特徴量に基づき前記第１コンテンツに対応するデータをデコードする第１デコーダと、当該第２特徴量に基づき前記第１データに対応するデータをデコードする第２デコーダを有する学習済みモデルを生成する
前記（１）、又は（３）〜（１２）のいずれかに記載の情報処理装置。
（１６）
前記モデル生成部は、
前記第１特徴量及び前記第１データに基づき前記第１コンテンツに対応するデータをデコードする第１デコーダと、前記第２特徴量に基づき前記第１データに対応するデータをデコードする第２デコーダを有する学習済みモデルを生成する
前記（１）、又は（３）〜（１２）のいずれかに記載の情報処理装置。
【符号の説明】
【０２０１】
１００  情報処理装置
１１０  通信部
１２０  記憶部
１２１  モデル記憶部
１２２  曲データ記憶部
１３０  制御部
１３１  抽出部
１３２  モデル生成部
１３３  取得部
１３４  コンテンツ生成部
【図１】
2020080239.tif 000003
【図２】
2020080239.tif 000004
【図３】
2020080239.tif 000005
【図４】
2020080239.tif 000006
【図５】
2020080239.tif 000007
【図６】
2020080239.tif 000008
【図７】
2020080239.tif 000009
【図８】
2020080239.tif 000010
【図９】
2020080239.tif 000011
【図１０】
2020080239.tif 000012
【図１１】
2020080239.tif 000013
【図１２】
2020080239.tif 000014
【図１３】
2020080239.tif 000015
【図１４】
2020080239.tif 000016
【図１５】
2020080239.tif 000017
【図１６】
2020080239.tif 000018
【図１７】
2020080239.tif 000019
【図１８】
2020080239.tif 000020
【図１９】
2020080239.tif 000021
【図２０】
2020080239.tif 000022
【図２１】
2020080239.tif 000023
【図２２】
2020080239.tif 000024
【国際調査報告】
2020080239.tif 000025
2020080239.tif 000026
2020080239.tif 000027
2020080239.tif 000028