今日はAIがどのように音楽を作曲するのかを見ていきたいと思います。 この記事では、TensorFlow を使用して音楽ジェネレーターを作成します。 ロボットに「希望と驚きを語る歌が欲しい」と言ったら、何が起こるでしょうか? コンピューターはまず音声をテキストに変換し、キーワードを抽出して単語ベクトルに変換します。次に、タグ付けされた音楽データをいくつか使用します。これらのラベルはさまざまな人間の感情を表します。そして、これらのデータに基づいてモデルをトレーニングし、モデルをトレーニングした後、必要なキーワードを満たす音楽を生成できます。プログラムの最終的な出力はいくつかのコードです。所有者が出力に必要とする感情的なキーワードに最も近いコードを選択します。もちろん聴くだけでなく、創作の参考にもなるので、10,000時間の集中練習を達成していなくても簡単に音楽創作ができるようになります。 機械学習は実際には私たちの脳を拡張し、能力を拡張することです。 DeepMind は、音楽生成とテキスト読み上げの技術を紹介した「WaveNet」という論文を発表しました。 一般的に、音声生成モデルは連結されます。つまり、テキスト サンプルから音声を生成する場合、音声の一部を切り取って再構成し、完全な文を形成するために、非常に大規模な音声断片データベースが必要になります。 音楽の生成についても同じことが言えますが、大きな難しさがあります。静的なコンポーネントを組み合わせると、生成されるサウンドは自然で感情的なものになる必要があり、これは非常に困難です。 理想的なアプローチは、音楽を生成するために必要なすべての情報をモデルのパラメータに保存できることです。それがその論文で議論されていることです。 音声信号を取得するために出力結果を信号処理アルゴリズムに渡す必要はなく、音声信号の波形を直接処理します。 彼らが使用したモデルはCNNです。このモデルの各隠れ層では、各拡張係数が相互接続され、指数関数的に増加します。各ステップで生成されたサンプルはネットワークに再入力され、次のステップの生成に使用されます。 このモデルの図を見てみましょう。入力データは別のノードです。大まかな音波なので、後続の操作を容易にするために、まず前処理する必要があります。 次に、それをエンコードして、いくつかのサンプルとチャネルを持つテンソルを生成します。次に、それを CNN ネットワークの最初のレイヤーに入力します。このレイヤーは、処理を容易にするためにチャネルの数を生成します。次に、すべての出力結果を組み合わせて次元を増やします。次に、次元を元のチャネルの数まで増やします。この結果を損失関数に入れて、モデルがどの程度トレーニングされているかを測定します。 ***、この結果はネットワークに再度投入され、次の時点に必要な音波データが生成されます。このプロセスを繰り返すことで、より多くの音声を生成できます。ネットワークは大規模で、GPU クラスターで 90 分かかり、1 秒のオーディオしか生成できませんでした。 次に、より単純なモデルを使用して、TensorFlow でオーディオ ジェネレーターを実装します。 1.パッケージの紹介: データ サイエンス パッケージ Numpy、データ分析パッケージ Pandas、および tqdm は、トレーニングの進行状況を示す進行状況バーを生成できます。
生成モデルとして、ニューラル ネットワーク モデル RBM 制限ボルツマン マシンを使用します。 これは 2 層ネットワークです。最初の層は可視層で、2 番目の層は非表示層です。同じレイヤー内のノード間には接続がなく、異なるレイヤー内のノードは互いに接続されています。各ノードは、受信したデータを次のレイヤーに送信する必要があるかどうかを決定する必要があり、この決定はランダムに行われます。 2. ハイパーパラメータを定義する: まず、モデルによって生成する必要がある音符の範囲を定義します
次に、タイムステップ、つまり可視レイヤーと非表示レイヤーのサイズを定義する必要があります。
トレーニングステップの数、バッチサイズ、学習率。
3. 変数を定義します。 xはネットワークに送られるデータである wは重み行列、つまり2つの層間の関係を格納するために使用されます。 さらに、2 つのバイアスが必要です。1 つは隠し層の bh で、もう 1 つは可視層の bv です。
次に、補助メソッド gibbs_sample を使用して、入力データ x からのサンプルと、隠し層のサンプルを作成します。 gibbs_sample は、複数の確率分布からサンプルを抽出できるアルゴリズムです。 各状態が前の状態に依存する統計モデルを生成し、分布に準拠するサンプルをランダムに生成できます。
4. 変数を更新します。
5. グラフアルゴリズムグラフを実行します。 1. まず変数を初期化する
まず、対応するベクトル表現をモデルのトレーニングにうまく使用できるように、各曲の形状を変更する必要があります。
2. 次に、RBMモデルを1サンプルずつトレーニングします。
モデルが完全にトレーニングされると、音楽の生成に使用できるようになります。 3. ギブスチェーンをトレーニングする必要がある 表示可能なノードは、いくつかのサンプルを生成するために 0 に初期化されます。 次に、再生に適した形式にベクトルを再形成します。
4.***、生成されたコードを印刷する
要約すると、CNN はパラメータ化された音波を生成するために使用されます。 RBM はトレーニング データに基づいてオーディオ サンプルを簡単に生成できます。 ギブス アルゴリズムは、確率分布に基づいてトレーニング サンプルを取得するのに役立ちます。 ***Siraj のオリジナル ビデオとソース コード リンクをお送りします。 |
<<: 正義がアルゴリズムを採用したとき、最後に笑うのは正義か、それともテクノロジーか?
記事「バックプロパゲーションを使用した多層ニューラル ネットワークのトレーニングの原理」では、バック...
ニューラル ネットワークは、線形モジュールと非線形モジュールを巧みに組み合わせたものです。これらのモ...
[[336650]]驚くべきことに、COVID-19の世界的大流行の中で、フィットネスやエクササイ...
ビデオ編集は、編集者が適切なフレームを見つけてつなぎ合わせる必要がある、時間と労力を要する作業です。...
今年3月、Googleは生成AI「Bard」のベータ版のリリースを発表しました。当時、このバージョン...
AlexNet ニューラル ネットワークから ChatGPT、生成 AI の爆発的な増加まで、NVI...
より多くの中級・低級モデルでハイコンピューティングAIタスクを普及させるために、快手が自社開発した「...
[[197493]]この記事の主な内容は機械学習と神経科学を組み合わせたものであり、読者にはこれら...
Mac ユーザーは、ついに、RTX を使用した独自の大型モデル チャットを持つ N カード プレーヤ...