こんにちは!技術2課の濱岡です。 どうぶつの森が毎日の日課になっています。 先日、マグロを釣ろうと奮闘していたらリュウグウノツカイが釣れました。
さて、今回はAWS DeepComposerで遊んでみた第2弾です。 前回はこちらですのでよろしければ読んでみてくださいね。
前回はすでに用意されているモデルを使って遊んでみました。 今回は一歩進んで実際にモデルを作って曲を作成してみたいと思います。
アルゴリズムの選択
まずはAWS DeepComposerの画面からTrain a modelを選択します。
どのアルゴリズムでモデルを生成するか選択します。 以下の2つがあります。
- Muse GAN こちらは音楽を生成するために作られたアルゴリズムになります。
U-Net こちらはもともとは画像の作成で作られたものです。 Muse GANに比べるとシンプルなアルゴリズムで理解しやすいって書いてました。
とりあえず、私はMuse GANを選択しました。
データセットの選択
次にデータセットを選択します。 学習させるデータのことですね。 Muse GANではデータセットとしては音楽のジャンルが選べるようになっています。 どんな曲を作りたいかで選択すればいいかなと思います。 U-Netではbachのみです。
私はsymphonyを選択しました。
ハイパーパラメータの設定
以下のパラメータ値があります。 簡単ですが、解説しますね。
- Epochs
この値は1つのデータを何回繰り返し学習させるかという値です。 機械学習では、パラメータが多すぎると1回学習しただけでは学習したパラメータに反映されないんですね。 というわけで何回も学習をさせるわけです。 ここで指定できる値は70-200までの値になります。
- Learning rate
この値、言葉で説明するのは難しいのですが... 日本語で書くと学習率というやつです。 繰り返し学習をして中身の値を更新していくのですが、その値をどれくらいの幅で更新するかという値です。 大きいと大きく値が変化していきます。 ここで指定できるのは0.01-0.0001までの値になります。
- Update ratio この値はモデルの重みの値の更新の数を表しています。 この値が大きいほどいい感じにしてくれるみたいですが、その分学習の時間が大きくなります。 ここで指定できるのは1-5までの値になります。
今回は難しいことを考えずに全部デフォルトの値で行きます。
あとはモデルの名前や説明などいい感じに書いてください。 そしてStart trainingを押すと学習が始まります。
ここでこんな記述が
Models usually take ~8 hours to train but can vary depending on the hyperparameters selected.
どういう値にするかによって変わるそうですが学習に8時間程度かかるんですね...
この間にどうぶつの森できますね。 マグロ釣ってきます。
そして次の日
ちゃんとモデルができました!
ためしに2つ作ったので合計16時間ほどかかりました。 (U-Netの方も作ってみたかったのです。。。) 最初、2つ平行してトレーニングをやろうとしたのですが、できませんでした。
そしてあとは前回と同様に曲を作成するだけです。 詳細はこちらをみてくださいね。
前回はすでにあるモデルを使って曲を作成しましたが、今回は自分で作ったモデルを使います。 Select a modelを押して自分が作成したモデルを選択してSelect modelを押します。
そしてあとは曲を作成するだけ!
前回と同様にきらきら星でやってみることにします。 では、最初に作ったMuse GANのモデルから
[audio mp3="http://blog.serverworks.co.jp/tech/wp-content/uploads/2020/04/Comp-5-test-model.mp3"][/audio]
お、、、おう、、、ちょっとこれは聴けないかも、、、
次にU-Netで作ったモデル
[audio mp3="http://blog.serverworks.co.jp/tech/wp-content/uploads/2020/04/Comp-6-test-model2.mp3"][/audio]
こっちの方がよさそう....???
U-Netで作られた曲は全部ピアノで構成されていてMuse GANは色々な楽器が使われているんですね。
料金
AWSの機械学習のサービスは料金高いイメージなのですが、実際どれくらいかかるのかというのを書いておきますね。
AWS DeepComposer - トレーニング:1.26 USD/時 AWS DeepComposer - 推論:2.14 USD/時 ※2020/04/07現在
となっておりますので 今回だとトレーニング1つ8時間とすると 1.26(USD/時) × 8(時間) = 10.08USD
1USD = 110円とすると約1,109円
推論に関しては料金のページに
この音楽の生成 (または推論) には通常、約 1 分 (0..0167 時間) かかります。
と書かれているので1曲作成するのに1分とすると 2.14(USD/時) × 約0.017(時間) = 0.03638(USD)
1USD = 110円とすると約4円
1つのモデルの生成して1つ曲を作成するのに約1,113円ですね。
いいお値段です笑
はじめは無料利用枠や無料トライアルもあるので活用してくださいね。 詳しくはこちらをご覧ください。
まとめ
今回は実際にモデルを作成して曲を作成してみました!
これは色々改善の余地がありそう...!!! かなり直感的にできるので、機械学習初めてで...という方がとりあえずやってみるというのにいいかもしれません。 みなさんも色々試してみてくださいね!
以上、濱岡でした!