音楽AIプログラミング音楽データサイエンスAiプログラミングディープラーニングで使用される基本的な損失関数の解説ディープラーニングではバックプロパゲーション(誤差逆伝播)によりトレーニングデータの出力値と正解データとの誤差をなくす事によってモデルを作成します。その際の誤差を求める方法(数式)はいくつかあるのですが、今回は回帰問題(Regression)で使用される基本の数式を2つ紹介します。Error)は、もっともシンプルで最も使用されている損失関数でしょう。機械学習を学ぶ際、最初に学ぶ損失関数はこの二乗和誤差だと思います。canplayの講義でも最初にお教えするのはこの二乗和誤差です。二乗和誤差の計算は、出力値と正解データデータの差を二乗し、データセット全体で平均します。データセット全体で平均する(1/Nをかける)代わりに(微分しやすさのために)1/2をかける場合もあります。二乗するのは誤差を必ず正の値にするためです。下記コードを実行しています。誤差をなくす(0に近づける)ために学習を繰り返すわけですね。長所と短所二乗する事により必ず正の値になるだけでなく、大きな誤差をより大きく取り扱います。AI音楽生成プログラムを活用したライブコーディングの実験。動画にしてアップしましたのでご覧になってみてください。リアルタイムに音楽ファイル(今回は50ファイルですが何曲でも可能)を瞬時に生成。Liveでリアルタイムにループ演奏させました。Live使用ですが、いずれも発音構造そのものもコーディングで行いたいと計画しています。Codingの解決策として、AI音楽の必然性として、そして新しい音楽表現として、今後この手法を提唱して行きたいと思っておりますので是非ご期待ください。»DNNを使用したリアルタイム音声変換のデモ動画DNN(ディープニューラルネットワーク)を使用したリアルタイム音声変換のデモ動画です。いかがですか?すごいですね。DMM.comの社会連携講座で開発されたとの事。動画前半では女性の声に、後半では別の男性の声にリアルタイムで変換しています。xTECHのバーチャル記者「黒須もあ(β)」の声を使用。デモには一般的なノートパソコンを利用している。動画内の音声の遅れ(数十mscくらいでしょうか?)は変換の遅延ではなく、ノートパソコンの音声入出力デバイスドライバーによる遅延だと説明されています。それを真に受ければ、、、ですが、我々が普段使用しているオーディオインターフェースを使用すればソフトシンセ同様のレーテンシーでの変換が可能なはずです。前々からお伝えしている通り、音声変換や音声合成は今後のAI音楽にとって非常に重要です。与えるインパクトは現在の自動作曲以上のものになる可能性があります。先日AIが作ったアートが約4800万円で売れたと話題になったニュースがありました。AIの出力した肖像画が約4800万円で売れる。敵対的生成ネットワーク)です。GANについては改めて解説(授業では詳細に)しますが、このGANを使った面白いプロジェクトがあったのでご紹介します。なんとGANを使用してオリジナルのスニーカーデザイン作成を試みたらしいです。生成された画像は下記です。いかがでしょうか?AmazonやZapposから売れ筋のスニーカー画像をピックアップしたとのこと。ところどころナイキのロゴなども見えますね。音楽ではないのですが、次回のAI自動作曲研究LABでは、この技術を使用して、歴史に残るロックやジャズのジャケットを学習させ、新しい音楽用ジャケットの作成にトライしてみようかと思います。(コードを書く時間がなければやりません汗。そこは悪しからずという事で、、、)いずれ我々がリリースする音楽作品のジャケットやアートワークはGAN作となりそうです。Learningを使用して自分の声を有名人の声に変換こちらのSoundCloudのオーディオファイルを聞いてみてください。Winsletにディープラーニングを使用して変換しています。tensorflow(ディープラーニングライブラリー)numpy(数値計算ライブラリー)Librosa(オーディオ処理ライブラリー)で実現されている様です。私たちの声も簡単に有名人の声に変換できるのかもしれません。Sheeranとか?)に変換に作品にできる未来はもうすぐそこかもしれません。歌声にも著作権(肖像権)ができそうですね。»Pythonでグラフの描画に使えるMatplotlibとさらに高度で便利なライブラリーPythonでデータ処理をする際、グラフで描画と言えばまずはMatplotlibhttps://matplotlib.org/が有名でしょうか。それ以外にもあまり知られてはいないものの(十分知られているかもですが、、、汗)さらに高度で便利なグラフ描画ライブラリーがありますので紹介します。seabornhttps://seaborn.pydata.org/index.html#matplotlibをベースに、より多彩で高度なグラフ描画を可能にするライブラリーです。下記画像の様に非常な多彩で高度なグラフ描画が可能になっています。3Dのグラフ(動かせます)を描画できるライブラリーです。上記の様な簡単なコードで複雑な3Dグラフを作成できます。アニメーショングラフも描画可能です。強化学習の検証でよく使用されるCartPole-v1はGymが活用されています。機械学習を勉強した事のある方は見覚えがあるかもしれません。Pythonは色々なライブラリーが次々とリリースされアップデートされていくのがすごいところですね。Westを学習させたらこんなリリックできましたRapを学習し、自動でリリック生成するAIプログラムが海外のテック系記事に掲載されていたので和訳します。ラップでなくても普通の歌でも詩でも使用できるのですが、ラップは歌に比べると単語単語が独立している傾向があるため(そうではない場合もありますが、、、)時間経過を伴う意味の整合性について、解決がより簡単な可能性があるかもしれません。Westをデータセットにして使用していました。Pabloから各トラックを選択しました。結果をこんなリリックです。1]などというものを学習し生成しています。(実際は使用しないでしょうけど、、、)エラーらしい意味不明な表現は1000回目より減っている様です。»AIプログラミングで困ったらこれを参照!AI、ディープラーニング、機械学習などで使用できる使える解説図色々AI、ディープラーニング、機械学習などで使用できる色々な解説図をご紹介します。画像は小さく見辛いかもしれませんのでダウンロードの上拡大してお使いください。・ニューラルネットワークの解説チャートcanplayの講義で一番最初に取り上げる基礎中の基礎Perceptronや、RNN、LSTM、VAEを始め、色々なニューラルネットワークが非常にわかりやすくチャート化されています。詳しくチャート化したものです。どの様な流れで、どこでどんな数式が使われているか視覚的にわかりやすいですね。これは本当に便利です。Scikit-Learnはアルゴリズムも視覚的にグラフ化されています。canplayの講義でも解説していますが、機械学習、ディープラーニングについて、何かわからない事があった場合、これらの図を是非参考にしてみてはいかがでしょうか?かなり”使える”ものが多いと思います。