Aiプログラミング

マイケルジャクソンのBeat itのパロディーソングで知られるアル・ヤンコビックをAIに |ジョージア工科大学の准教授が開発したパロディーソングの詩を生成するWeird AI Yancovic

皆様アル・ヤンコビック氏をご存じでしょうか?80年代のマイケルジャクソン時代を生きた方ならご存知、Beat itのパロディーソング Eat itを作ったパロディーソングの巨匠と言える方です。ご存知の方はお久しぶりに笑っていただくために、初めての方にもやはり笑っていただくためにまずはEat itの動画をご紹介しましょう。 このアルヤンコビック氏の名を関したパロディーソングの詩を生成するWeird AI YankovicというPyTorchとOpen AIのGPT2を使用したAIをジョージア工科大学の准教授Mark O. Riedl氏が開発したとの事で、その論文まで発表されました。 論文はこちらです(英語) https://arxiv.org/pdf/2009.12240.pdf 早速私もWeird AI Yankovicを使用し、AI is weird(AIっておかしい)という詩を生成してみました。 生成時の様子をキャプチャした動画です。 生成された詩 For the following three Is more than enough to set When off and also not but Just the corresponding id And also not but the corresponding. Has a few tricks For each to set when off. For the following three is more than enough. Has a few tricks to weed I am not going to attempt 和訳 次の3つの場合 設定には十分すぎる オフのときもそうでないときも 対応するIDのみでいける ただ対応するだけではない いくつかのトリックがある それはそれぞれがオフのときに設定される 次の3つで十分すぎる 刈り取るにはいくつかのトリックがある 私はしませんよ いかがでしょうか?意味はよくわかりませんが、、、 プログラムはOpenAIのGPT2を使用しています。論文を読む限り、アルゴリズムもにしっかりと考えられており、コードもかなり複雑なのですが、この情熱がなんの役にも立たない(失礼汗)事のために用いられた事。。。。笑いつつも妙に心を動かされました。何の意味があるから

マイケルジャクソンのBeat itのパロディーソングで知られるアル・ヤンコビックをAIに |ジョージア工科大学の准教授が開発したパロディーソングの詩を生成するWeird AI Yancovic Read Post »

ディープラーニングで使用される基本的な損失関数の解説

ディープラーニングではバックプロパゲーション(誤差逆伝播)によりトレーニングデータの出力値と正解データとの誤差をなくす事によってモデルを作成します。 その際の誤差を求める方法(数式)はいくつかあるのですが、今回は回帰問題(Regression)で使用される基本の数式を2つ紹介します。(コードはJupyter NotebookやGoogle Colab Notebookで同様に実行していただけます) 二乗和誤差 二乗和誤差(Mean Squared Error)は、もっともシンプルで最も使用されている損失関数でしょう。機械学習を学ぶ際、最初に学ぶ損失関数はこの二乗和誤差だと思います。canplayの講義でも最初にお教えするのはこの二乗和誤差です。 二乗和誤差の計算は、出力値と正解データデータの差を二乗し、データセット全体で平均します。データセット全体で平均する(1/Nをかける)代わりに(微分しやすさのために)1/2をかける場合もあります。 二乗するのは誤差を必ず正の値にするためです。 下記コードを実行しています。誤差をなくす(0に近づける)ために学習を繰り返すわけですね。 import numpy as npimport matplotlib.pyplot as plt # 二乗和誤差def mse_loss(y_pred, y_true):    squared_error = (y_pred – y_true) ** 2    sum_squared_error = np.sum(squared_error)    loss = sum_squared_error / y_true.size    return loss # Matplotlibでグラフ描画x_vals = np.arange(-20, 20, 0.01)y_vals = np.square(x_vals) plt.plot(x_vals, y_vals, “blue”)plt.grid(True, which=”major”)plt.show() 長所と短所二乗する事により必ず正の値になるだけでなく、大きな誤差をより大きく取り扱います。よって学習済みモデル

ディープラーニングで使用される基本的な損失関数の解説 Read Post »

AI自動作曲研究LAB 第7回 で実演したAIの音楽生成プログラムをリアルタイムに操作した新しいライブコーディングの実験

昨日5月17日のAI自動作曲研究LAB 第7回で実践した AI音楽生成プログラムを活用したライブコーディングの実験。 動画にしてアップしましたのでご覧になってみてください。 リアルタイムに音楽ファイル(今回は50ファイルですが何曲でも可能)を瞬時に生成。 Ableton Liveでリアルタイムにループ演奏させました。 今回はAbleton Live使用ですが、いずれも発音構造そのものもコーディングで行いたいと計画しています。 なかなか音楽的な落とし所を見つけにくいLive Codingの解決策として、AI音楽の必然性として、そして新しい音楽表現として、今後この手法を提唱して行きたいと思っておりますので是非ご期待ください。 記事投稿日:2019/5/18

AI自動作曲研究LAB 第7回 で実演したAIの音楽生成プログラムをリアルタイムに操作した新しいライブコーディングの実験 Read Post »

DNNを使用したリアルタイム音声変換のデモ動画

DNN(ディープニューラルネットワーク)を使用したリアルタイム音声変換のデモ動画です。 いかがですか?すごいですね。 今回のこのプログラムは、東京大学大学院情報理工学系研究科とDMM.comの社会連携講座で開発されたとの事。 動画前半では女性の声に、後半では別の男性の声にリアルタイムで変換しています。(撮影:日経 xTECH) デモに使用した変換後の女性の声は、日経 xTECHのバーチャル記者「黒須もあ(β)」の声を使用。 デモには一般的なノートパソコンを利用している。 動画内の音声の遅れ(数十mscくらいでしょうか?)は変換の遅延ではなく、ノートパソコンの音声入出力デバイスドライバーによる遅延だと説明されています。それを真に受ければ、、、ですが、我々が普段使用しているオーディオインターフェースを使用すればソフトシンセ同様のレーテンシーでの変換が可能なはずです。 前々からお伝えしている通り、音声変換や音声合成は今後のAI音楽にとって非常に重要です。与えるインパクトは現在の自動作曲以上のものになる可能性があります。 引き続き注目を。

DNNを使用したリアルタイム音声変換のデモ動画 Read Post »

GAN(敵対的生成ネットワーク)を使用してオリジナルのスニーカーデザインを作成

先日AIが作ったアートが約4800万円で売れたと話題になったニュースがありました。 AIの出力した肖像画が約4800万円で売れる。まさかのアンディ・ウォーホル超えhttps://www.gizmodo.jp/2018/10/portrait-painted-by-ai-sells-for-432000.html GAN作をつかまされた、、、などと洒落にまでされていましたが、ここで使用された機械学習の技術がGAN(Generative Adversarial Network 敵対的生成ネットワーク)です。 GANについては改めて解説(授業では詳細に)しますが、このGANを使った面白いプロジェクトがあったのでご紹介します。 なんとGANを使用してオリジナルのスニーカーデザイン作成を試みたらしいです。生成された画像は下記です。 いかがでしょうか?AmazonやZapposから売れ筋のスニーカー画像をピックアップしたとのこと。ところどころナイキのロゴなども見えますね。現状”GAN作”らしいぐちゃぐちゃさがありますが、今後の可能性は(特にAI完結を思わなければ)面白いのではないでしょうか? 直接音楽ではないのですが、次回のAI自動作曲研究LABでは、この技術を使用して、歴史に残るロックやジャズのジャケットを学習させ、新しい音楽用ジャケットの作成にトライしてみようかと思います。(コードを書く時間がなければやりません汗。そこは悪しからずという事で、、、)いずれ我々がリリースする音楽作品のジャケットやアートワークはGAN作となりそうです。

GAN(敵対的生成ネットワーク)を使用してオリジナルのスニーカーデザインを作成 Read Post »

Deep Learningを使用して自分の声を有名人の声に変換

こちらのSoundCloudのオーディオファイルを聞いてみてください。 https://soundcloud.com/andabi/sets/voice-style-transfer-to-kate-winslet-with-deep-neural-networks 男性(匿名)の方の声を有名な女優Kate Winsletにディープラーニングを使用して変換しています。すごいですね! tensorflow(ディープラーニングライブラリー)numpy(数値計算ライブラリー)Librosa(オーディオ処理ライブラリー)で実現されている様です。 私たちの声も簡単に有名人の声に変換できるのかもしれません。自分の鼻歌を有名歌手(Ed Sheeranとか?)に変換に作品にできる未来はもうすぐそこかもしれません。歌声にも著作権(肖像権)ができそうですね。1コピーごとに数パーセントとか笑

Deep Learningを使用して自分の声を有名人の声に変換 Read Post »

Pythonでグラフの描画に使えるMatplotlibとさらに高度で便利なライブラリー

Pythonでデータ処理をする際、グラフで描画と言えばまずはMatplotlibhttps://matplotlib.org/が有名でしょうか。 それ以外にもあまり知られてはいないものの(十分知られているかもですが、、、汗)さらに高度で便利なグラフ描画ライブラリーがありますので紹介します。 seabornhttps://seaborn.pydata.org/index.html#matplotlibをベースに、より多彩で高度なグラフ描画を可能にするライブラリーです。 下記画像の様に非常な多彩で高度なグラフ描画が可能になっています。 Ipyvolumehttps://ipyvolume.readthedocs.io/en/latest/ 3Dのグラフ(動かせます)を描画できるライブラリーです。JupyterNotebook上で import ipyvolume as ipv import numpy as np x, y, z = np.random.random((3, 10000)) ipv.quickscatter(x, y, z, size=1, marker=”sphere”) 上記の様な簡単なコードで複雑な3Dグラフを作成できます。 アニメーショングラフも描画可能です。 Gymhttps://gym.openai.com/envs/#classic_controlグラフ描画とは少々異なりますが、、、機械学習、特に強化学習の検証でよく使用されるCartPole-v1はGymが活用されています。 import gym env = gym.make(‘CartPole-v0’) env.reset() for _ in range(1000): env.render() env.step(env.action_space.sample()) # take a random action 機械学習を勉強した事のある方は見覚えがあるかもしれません。 Pythonは色々なライブラリーが次々とリリースされアップデートされていくのがすごいところですね。canplayの最新音楽トレンド分析は、1月からAI音楽データサイエンスの講義としてもアップグレードします!この様なライブラリーの使用方法もどんどん解説していきますね!

Pythonでグラフの描画に使えるMatplotlibとさらに高度で便利なライブラリー Read Post »

Rapを学習し自動リリック生成するAIのプログラムでKanye Westを学習させたらこんなリリックできました

Rapを学習し、自動でリリック生成するAIプログラムが海外のテック系記事に掲載されていたので和訳します。 ラップでなくても普通の歌でも詩でも使用できるのですが、ラップは歌に比べると単語単語が独立している傾向があるため(そうではない場合もありますが、、、)時間経過を伴う意味の整合性について、解決がより簡単な可能性があるかもしれません。 今回はKanye Westをデータセットにして使用していました。 データセットにはKanye Westのアルバム・The College Dropout・808s & Heartbreak’・Yeezus・Late Registration・Graduation・My Beautiful Dark Twisted Fantasy・Watch the Throne・The Life of Pabloから各トラックを選択しました。 まずはいきなり結果をこんなリリックです。 生成1000回目Am our 200 shought 2 and butOne we -fuckister do fresh smandlesJuco pick with to sont party agmagleThen I no meant he don’t ganiscimes mad is so cametie wantWhatMama sumin’ find Abortsimes, man らしいといえばらしいですが意味は不明です笑 生成3000回目Moss for a kice the mowing?[Verse 1]I play this better your pictures at here friendsEver sip headHigh all I wouldn’t really what they made thiriseAnd clap much [verse 1]などというものを学習し生成しています。(実際は使用しないでしょうけど、、、)エラーらしい意味不明な表現は1000回目より減っている様です。 生成25000回目Through the sky and I did the pain is what what I’m so smartCall extry laneMake man flywing yet then you a rep

Rapを学習し自動リリック生成するAIのプログラムでKanye Westを学習させたらこんなリリックできました Read Post »

AIプログラミングで困ったらこれを参照!AI、ディープラーニング、機械学習などで使用できる使える解説図色々

AI、ディープラーニング、機械学習などで使用できる色々な解説図をご紹介します。 画像は小さく見辛いかもしれませんのでダウンロードの上拡大してお使いください。 まずは・ニューラルネットワークの解説チャートcanplayの講義で一番最初に取り上げる基礎中の基礎Perceptronや、RNN、LSTM、VAEを始め、色々なニューラルネットワークが非常にわかりやすくチャート化されています。 ・ニューラルネットワークをグラフィック化したもの さらに詳しくチャート化したものです。 どの様な流れで、どこでどんな数式が使われているか視覚的にわかりやすいですね。 次は機械学習、ディープラーニングでよく使う数式をシートにまとまたもの ここからは機械学習で頻繁に使用される色々なライブラリーの関数やメソッドの一覧シート これは本当に便利です。 keras Numpy Pandas SciPy Matplotlib ggplot2 Scikit-Learn Scikit-Learnはアルゴリズムも視覚的にグラフ化されています。 いかがですか? canplayの講義でも解説していますが、機械学習、ディープラーニングについて、何かわからない事があった場合、これらの図を是非参考にしてみてはいかがでしょうか?かなり”使える”ものが多いと思います。 是非ご活用ください。

AIプログラミングで困ったらこれを参照!AI、ディープラーニング、機械学習などで使用できる使える解説図色々 Read Post »