今日は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 のオリジナル ビデオとソース コード リンクをお送りします。 |
<<: 正義がアルゴリズムを採用したとき、最後に笑うのは正義か、それともテクノロジーか?
人類が人工知能の開発に熱心に取り組み始めて以来、著名な科学者ホーキング博士をはじめ、疑問や反対の声が...
回答者の大多数 (59.4%) は明確なインシデント管理プロセスを導入しており、自動化のレベルはニー...
2020 年も終わりに近づいていますが、AI はさまざまなことに役立っています。車を運転したり、音楽...
AIは半世紀以上もの間、低調でしたが、囲碁の人工知能プログラム、AI茶室、AI+医療、AI+交通など...
メタの副社長兼国際問題担当会長で元英国副首相のニック・クレッグ氏は、BBCとの最近のインタビューで、...
機械学習は今日ではよく知られた革新的な技術となっています。ある調査によると、現在人々が使用しているデ...
背景LinkedHashMap は HashMap を継承し、内部的に removeEldestEn...
デジタル時代では、サプライチェーンのインテリジェンスのレベルが企業の生産効率とパーソナライズされたサ...
[[420938]]現在、人工知能や5Gなどの技術の助けを借りて、我が国のドローン開発は急速な成長の...
[[328065]] 2020年2月7日、第34回アメリカ人工知能学会年次会議(AAAI 2020...
Transformer などの主流のテキスト生成アルゴリズムの単語単位の生成は、並列計算に適した ...
【51CTO.comオリジナル記事】近年、RPAの開発はかつてないほど注目を集めています。 Mark...
01 トラフィック監視セキュリティ任務におけるドローンの有望な用途の 1 つは、交通監視システムの...
学生時代、私は Huya の面接を受けたことがあります。今でもはっきりと覚えている面接の質問がありま...