1. はじめに
前回はNNCチャレンジの作品として「t+pazolite楽曲が機械に判別できる」ことを示した。
結果には満足できたものの、内容はNNCに入力できるようにデータの前処理をすることに終始して肝心の機械学習に対する考察がおざなりであった。前回のチャレンジでの気づきを生かしてより実践的なコンテンツを作っていきたい。
2. 機械は本当にとぱぞ曲を判定できたのか?
前回はAudiostock提供の楽曲データにとぱぞ曲を混ぜて楽曲がとぱぞによるものかそうでないかを判定する識別器を作った。評価は99%以上の正解率を誇り、機械学習によって一作曲家の楽曲を判定できるという結果となった。
使用したデータはAudiostock提供のおよそ10000曲に、提供データと同じサイズに切りそろえた手持ちのとぱぞ曲を付け加えたものである。ここで疑問になるのは提供データが楽曲の独自性を判定するのに十分な多様性を持っていたかということである。
筆者は提供データの全てを実際に再生してみたわけではない。提供データにはt+pazolite氏の得意とするBPM150を超えるような"早い"楽曲はなかったかもしれないし、とぱぞ楽曲に使用された特別なシンセサイザーの音に反応した結果判定が容易だった可能性もある。今回はこの点を検証していきたい。
3.検証
まずは提供データの偏っていた可能性について検証する。提供データが判別するべきとぱぞ曲とあまりに解離していた場合、判定は容易になるだろう。したがって検証データとして"よく似た"楽曲の中にとぱぞ楽曲を混ぜたものを用意して、とぱぞ楽曲を判別できるかを調べた。用意したデータは少ないが、結果は写真のようになる。
予想通り正解率が下がった。原因は学習用データにとぱぞ曲に"似ている"楽曲が少なかったことにある。Audiostock提供データととぱぞ曲には判別に十分な差異があるが、同じ尺度でTANO-C楽曲ととぱぞ曲を区別できないのである。
4.改善
t+pazolite氏が所属する作曲家集団"HARDCORE TANO-C"の他の作曲者の楽曲を学習用データに混ぜることにする。TANO-C楽曲データを学習用データに混ぜたもので学習すると結果は次のようになる。
前回の結果よりもさらに一桁精度の高い判定結果が得られた。とぱぞ楽曲は同ジャンルの曲の中でも判別可能な楽曲であることもわかる。
5.終わりに
今回の結果から、特定の作曲者を機械学習で判別できることがわかる。学習用データにその作曲者と同ジャンルの作曲者の楽曲を多く混ぜることで精度がより高くなることもわかった。次回はデータの前処理ではなく機械学習の手法そのもので精度をあげる方法を考えたい。