AIの「作り出す系」ちょっと納得
卒業制作も sprint_05 に入り、そろそろ作るものの「全体像」を
把握して、並行して作れるものは作り始めるとか、したいところ。
(実際は、パラレルに進めるのはまぁやめとこう、という感じだけど)
そんな中、大きなトラップのひとつ「作曲AI」(AI作曲?)
について、ちょっとだけわかってきた。
ニューラルネットワークを使って「何かを学習」させることと
「音(メロディ)」を「作り出す」ことがどう絡んでいるのか、
どうもよくわからん、、と思って数週間。
たまたま学生に「参考にしているコードから、機械学習の部分を抜き出して
Scrapboxに貼るように」指示した。何しろまだどのチームも、Pythonで
機械学習を実現するコードを書いてないからだ。
各チームが見つけたチュートリアルからで良い、ということで、
コードを読んで比べてみた。
作曲AIに取り組むチーム。
普通に機械学習させるコード。入力データは「音符の列」。ただし
音名が並んでいる「文字列」データを「整数値が並ぶ」データに変換(前処理)
して、学習させていた。
入力に対して、与える「正解ラベル」は、同様の「音符の列」。
なんじゃこりゃあ、と思ったら、「音符列の入力に対して、その次に来る音符を
予測する」処理をしていた。
なるほど、「作曲」と言っても、ゼロからメロディを生み出すわけではなく、
「こういう音の列が来たら、次の音はな〜んだ?」という予測をさせるものだった。
「学習」と「作曲」が、ようやくつながってきた。
この手を使うと、画像生成もできちゃうのだろうか。
動画も、、??
いやー、実際どうかは別にして、思ったことをコードにして
動作させて確認して、、という基本的な実験を、じっくりやりたい。
やることより、そのための時間を確保する方が大変そう。
やれやれ。