「高度な技術は魔法と区別がつかない。」
--アーサー・C・クラーク (『2001年宇宙の旅』の著者)
「PyTorch で生成 AI を学ぶ」は、さまざまなコンテンツ (図形、数値、画像、テキスト、音楽) をゼロから作成する方法をガイドすることを目的としています。シンプルなモデルから始まり、より複雑な課題に進む前に、読者が基礎的な深層学習スキルを構築できるようにします。この本のすべての生成モデルはディープ ニューラル ネットワークです。この本は、この分野の初心者に最適な、PyTorch の包括的な深層学習プロジェクトから始まります。各章は、前の章に基づいて注意深く構成されています。まず、単純なアーキテクチャを持つ敵対的生成ネットワーク (GAN) を使用して、図形、数値、画像などの基本的なコンテンツを作成します。進行するにつれて複雑さが増し、最終的にはトランスフォーマーや拡散モデルなどの最先端のモデルが構築されます。
「Learn Generative AI with PyTorch」は、中級の Python プログラミング スキルを持つ、さまざまなビジネス分野の機械学習愛好家やデータ サイエンティスト向けに設計されています。この本の目的は、雇用主のビジネスと自分自身のキャリアの両方を向上させるために、画像、テキスト、パターン、数字、図形、音声などの斬新で革新的なコンテンツを作成するための生成 AI テクニックを教えることです。個々のトピックをカバーする多くの無料学習教材がオンラインで入手可能ですが、この本はすべてを明確で理解しやすい最新の形式にまとめており、生成 AI の専門家になりたい人にとって非常に貴重なリソースとなっています。
この本は 16 章からなり、4 部に分かれています。
パート I では、PyTorch を使用した生成 AI とディープ ラーニングについて紹介します。
• 第 1 章では、生成 AI とは何か、および本書で生成モデルを構築するために TensorFlow などの他の AI フレームワークではなく PyTorch を選択した背後にある理論的根拠について説明します。
• 第 2 章では、PyTorch を使用してディープ ニューラル ネットワークを作成し、バイナリ分類およびマルチカテゴリ分類を実行します。これにより、ディープ ラーニングと分類タスクに精通できるようになります。その目的は、PyTorch のディープ ニューラル ネットワークを使用してさまざまな生成モデルを作成する次の章に備えることです。
• 第 3 章では、敵対的生成ネットワーク (GAN) について説明します。 GAN を使用して、特定のパターンで形状や数値シーケンスを生成する方法を学びます。
パート II では画像の生成について説明します。
• 第 4 章では、高解像度のカラー画像を生成するために GAN を構築およびトレーニングする方法について説明します。特に、畳み込みニューラル ネットワーク (CNN) を使用して画像内の空間特徴をキャプチャする方法を学習します。また、転置畳み込み層を使用してアップサンプリングし、画像内の高解像度の特徴マップを生成する方法も学習します。
• 第 5 章では、生成された画像の特性を選択する 2 つの方法について詳しく説明します。最初の方法では、潜在空間内の特定のベクトルを選択します。 2 番目の方法では条件付き GAN を使用し、ラベル付きデータを使用して GAN を構築およびトレーニングします。
• 第 6 章では、CycleGAN を使用して、黒髪の画像と金髪の画像、馬の画像とシマウマの画像など、2 つのドメイン間で画像を変換する方法を説明します。
• 第 7 章では、別の生成モデルであるオートエンコーダ (AE) とその変形である変分オートエンコーダ (VAE) を使用して高解像度画像を生成する方法について説明します。
パート III では、自然言語処理 (NLP) とテキスト生成について詳しく説明します。
• 第 8 章では、リカレント ニューラル ネットワーク (RNN) を使用したテキスト生成について説明します。その過程で、トークン化と単語の埋め込みがどのように機能するかを学びます。また、トレーニングされたモデルを使用して自己回帰的にテキストを生成する方法と、生成されるテキストの創造性を制御するために温度とトップ K サンプリングを使用する方法についても学習します。
• 第 9 章では、任意の 2 つの言語間で翻訳するための、論文「Attending Is All You Need」に基づいて、Transformer を最初から構築します。マルチヘッド アテンション メカニズムとエンコーダー/デコーダー トランスフォーマーを 1 行ずつ実装します。
• 第 10 章では、第 9 章で作成した Transformer を 47,000 ペアを超える英語からフランス語への翻訳でトレーニングします。トレーニングされたモデルを使用して、一般的な英語のフレーズをフランス語に翻訳する方法を学びます。
• 第 11 章では、GPT-2 の最大バージョンである GPT-2XL をゼロから構築します。その後、Hugging Face から事前にトレーニングされた重みを抽出し、それを独自の GPT-2 モデルにロードしてテキストを生成する方法を学びます。
• 第 12 章では、通常のコンピュータでトレーニングできるように、約 500 万のパラメータを備えた GPT モデルの縮小バージョンを構築します。アーネスト ヘミングウェイの 3 つの小説をトレーニング データとして使用します。トレーニングされたモデルは、ヘミングウェイ スタイルのテキストを生成できます。
第 IV 部では、本書の生成モデルの実際の応用例と、生成 AI 分野の最新の開発について説明します。
• 第 13 章では、音楽を生成するために MuseGAN を構築およびトレーニングします。 MuseGAN は、音楽を画像に似た多次元オブジェクトとして扱います。ジェネレーターは完全な音楽作品を作成し、評価のために批評家に提出します。次に、ジェネレーターは、トレーニング データセットからの実際の音楽に酷似するまで、批評家のフィードバックに基づいて音楽を修正します。生成された音楽の例を聞いてください: https://gattonweb.uky.edu/faculty/lium/ml/MuseGAN_song.mp3
• 第 14 章では、AI 音楽作成に対して異なるアプローチを採用しています。音楽を多次元のオブジェクトとして扱うのではなく、一連の音楽イベントとして扱います。次に、テキスト生成のテクニックを適用して、シーケンス内の次の要素を予測します。生成された音楽の例を聞いてください: https://gattonweb.uky.edu/faculty/lium/ml/musicTrans.mp3
• 第 15 章では、すべての主要なテキストから画像への変換 (DALL-E や Imagen など) の基礎を形成する拡散モデルについて説明します。拡散モデルを構築してトレーニングし、高解像度の花の画像を生成します。
• 第 16 章は,LangChain ライブラリを使用して事前訓練された大規模言語モデル(LLM)を Wolfram Alpha および Wikipedia API と組み合わせてゼロショットの何でも知っているパーソナルアシスタントを作成するプロジェクトで終わる.
付録では、Compute Unified Device Architecture (CUDA) 対応の GPU の有無にかかわらず、コンピューターに PyTorch をインストールする方法について説明します。
この本のすべての Python プログラムは、本の GitHub リポジトリ https://github.com/markhliu/DGAI からダウンロードできます。プログラムは章ごとに編成されており、各章が 1 つの Jupyter Notebook ファイルに含まれています。 Python、PyTorch、Jupyter Notebook をコンピューターにインストールする方法については、この本の付録を参照してください。