0.9K Views
August 07, 23
スライド概要
サークル内のLT会で使用した資料です。
言語モデルを音楽生成に活用するためには音楽をどのように表す必要があるかをまとめています。
2023/7/31 BohPJ LT会 言語モデルの音楽生成への活用 BohPJ LT会 小宮和真 misya11p 武蔵野大学 データサイエンス学部 3年 @ds33miya
2023/7/31 BohPJ LT会 目次 1. 言語モデル 2. 音楽生成への活用 3. 活用例 1
2023/7/31 BohPJ LT会 1. 言語モデル 2
2023/7/31 BohPJ LT会 言語モデル 言語モデル 単語の並びに確率を割り当てるモデル。 まあ、文章生成に多く使われるので、文章生成モデルと捉えてもいい。 ChatGPTなんかが言語モデルの例。 3
2023/7/31 言語モデル BohPJ LT会 扱うデータ 言語モデルは単語を並べた一次元の配列を扱う。 エアコン で 喉 を 痛め た コンピュータにとって、単語というのはただのクラスラベルである。つまり、 言語モデルが扱うのはクラスラベルを並べた一次元配列である。これをトーク ン列と呼ぶことにしよう。 314 15 92 6 トークン列 53 5 4
2023/7/31 BohPJ LT会 2. 音楽生成への活用 5
2023/7/31 BohPJ LT会 音楽生成への活用 音楽生成への活用 言語モデルを音楽生成に応用する場合、音楽をトークン列として表さないとい けない。なおここでの音楽とは、以下のような音符の情報を意味する。音その ものに関する議論はここではしない。 なんの曲でしょう? このような、いかにも二次元に見えるデータを一次元のトークン列として表す にはどうすれば良いだろうか。 6
2023/7/31 BohPJ LT会 音楽生成への活用 音楽をトークン列として表す 以下の役割を持つトークンを用意すれば、その並びであらゆる音楽を再現できる。 • (指定した高さの)音を鳴らす • (指定した高さの)音を止める • (指定した長さだけ)時間を進める 7
2023/7/31 音楽生成への活用 BohPJ LT会 音楽をトークン列として表す 例) 71 70 69 68 67 66 65 64 63 62 61 ➀ 60 ⑥ ⑨ ➂ ⑧ ⑤ ② ④ ⑦ ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ 鳴らす: 60 進める: 1 鳴らす: 64 進める: 1 止める: 60 鳴らす: 67 進める: 1 止める: 64 止める: 67 8
2023/7/31 BohPJ LT会 音楽生成への活用 音楽をトークン列として表す この手法を使うことで、あらゆる音楽を一次元のトークン列として表せる。現 状の音楽生成モデルの多くはこのような手法で音楽を表し、言語モデルによっ て音楽を生成している。 またこれらのトークンの他に、音の強さを表すトークンを設定したり、時間を 進めるトークンの単位を短く且つ絶対的な時間(八分音符などではなく、とい うこと)(ミリ秒など)にすることで、人間的な表現力を獲得できる。 9
2023/7/31 BohPJ LT会 3. 活用例 10
2023/7/31 BohPJ LT会 活用例 Music Transformer1 みんな大好きTransformerをほぼそのまま音楽生成に活用したもの。初めの音符 を数個入力するとつづきの音楽が生成される。使うのはdecoderのみ。 self-attentionの部分が音楽用に少し変わっている。 なんか足されてるー [1] A. Huang, et al., “Music Transformer: Generating music with long-term structure”, ICLR, 2019. 11
2023/7/31 BohPJ LT会 活用例 Compound Word Transformer1 Music Transformerの発展。ヘッドを分岐させ、 出力するトークンを種類によって分ける。 • トークンの種類(例) • 音符を表すもの • 時間を表すもの • 音の強さを表すもの • 右図 • a: 元のデータ。一次元配列。 • b: 役割ごとに分けたもの。 • c: パディングしてサイズを揃えたもの。 [1] W. Y. Hsiao, et al., “Compound Word Transformer: Learning to Compose Full-Song Music over Dynamic Directed Hypergraphs”, AAAI, 2021. 12
2023/7/31 BohPJ LT会 活用例 Pop2Piano1 Transformerベースのピアノカバー生成モデル。音源から得たメルスペクトログ ラムをencoderで処理し、decoderで音符列を生成する。 [1] J. Choi, K. Lee, “Pop2Piano : Pop Audio-based Piano Cover Generation”, 2022, arXiv:2211.00895. 13
2023/7/31 BohPJ LT会 活用例 MuseMorphose1 TransformerベースのVAE。 VAEなので潜在空間を利用したデータの操作が得意。 音符量の調整などができる。 [1] S. L. Wu, et al., f, “MuseMorphose: Full-Song and Fine-Grained Piano Music Style Transfer with One Transformer VAE”, TASLP, 2022. 14
BohPJ LT会 オワリ おつ