今日は線形回帰モデルの実装を続けます。ただし、今回はすべての関数を自分で実装するのではなく、Pytorch フレームワークを使用して実装を完了します。 コード全体はどの程度変更されますか? 1 つ目はデータ生成部分で、前の部分と似ています。 しかし、データの読み取りから始めると、状況は変わります。 前のコードでは、イテレータを独自に実装し、トレーニング データからランダムにデータを抽出しました。ただし、置換なしのサンプリング設計は使用せず、データシャッフル操作も実行しませんでした。 ただし、Pytorch フレームワークにはこれらのコンテンツ用の既成ツールが用意されているため、自分で実装する必要はありません。 ここでは、TensorDataset と DataLoader の 2 つのクラスが必要です。 これら 2 つのクラスの使用方法については、ChatGPT に直接問い合わせることができます。 写真 つまり、TensorDataset はテンソル データをカプセル化するために使用され、その主な機能は DataLoader と連携することです。 写真 DataLoader は、基本的なデータ読み取りに加えて、ランダム順序、サンプリング、マルチスレッド読み取りなどの機能も提供するイテレータです。 トレーニング データの反復子を取得するには、load_array を呼び出します。 モデルパーツ前回の実装では、線形回帰モデルのパラメータとして 2 つのテンソルを独自に作成しました。 しかし、そんなに面倒なことはする必要はありません。線形回帰は単層ニューラルネットワークとみなすことができます。原理と効果の点ではまったく同じです。したがって、対応する API を呼び出すことでモデルを簡単に実装できます。 ここで、nn はニューラル ネットワークの略です。nn.Linear(2, 1) は、入力次元が 2、出力次元が 1 の単層線形ネットワークを定義します。これは線形モデルと同等です。 nn.Sequential モジュール コンテナー。複数の入力ネットワーク構造を順番に完全なモデルに組み立てることができます。これはモデルを構築するための非常に一般的で便利な方法です。この方法に加えて、モデルを作成する他の方法もありますが、それらについては後で詳しく説明します。 写真 一般的に、モデルを作成した後は特に初期化する必要はありませんが、モデルのパラメータを調整する場合は、weight.data と weight.bias を使用してパラメータにアクセスできます。 次に、損失関数を定義しましょう。Pytorch は損失関数の実装もカプセル化しているので、直接呼び出すことができます。 nn.MSELoss は平均二乗誤差であり、MSE は平均二乗誤差の略語です。 最後に、最適化アルゴリズムです。Pytorch は、モデル内のパラメータを更新する方法もカプセル化しています。モデルを更新するために、テンソルの勾配を手動で使用する必要はありません。最適化方法を定義し、自動的に作業を実行させるだけです。 電車最後のステップは、上記のすべての実装を連続して接続するモデルをトレーニングすることです。 プロセス全体に必要なコードはほんの数行だけです。 以前実装したモデルパラメータ更新部分は、optim.step() の行に置き換えられました。 モデルがどんなに複雑であっても、optim.step() を使用してパラメータを更新できるので、非常に便利です。 トレーニング後のモデルのパラメータ値も確認でき、これも設定に非常に近い値になっています。 写真 この時点で、線形回帰モデル全体の実装が完了します。 このモデルはすべてのモデルの中で最もシンプルで、そのシンプルさゆえに初心者に最適です。後で、より複雑なモデルに触れると、コードはより複雑になっているにもかかわらず、現在のフレームワークに従っていることがわかります。 |
>>: テクノロジー統合によるバーチャルキャラクターの創造と実践
人工知能とロボット工学はテクノロジー分野に大きな変化をもたらしています。 20年前に人々が夢見ていた...
過去2023年間で、大規模言語モデル(LLM)は潜在力と複雑さの両面で急速に成長しました。 2024...
人工知能や機械学習 (AI/ML) をトレーニングするために現実世界のデータを収集することは、時間が...
7月3日夜、TikTokはユニバーサルミュージック傘下のレーベル、ポリグラムと提携し、ボルケーノエン...
機械学習と人工知能は近年最もホットなキーワードの 1 つであるはずです。今日は機械学習の基礎知識をい...
ビジネスに AI を導入するには、テクノロジーとスキルだけでは不十分です。いくつかの戦略を導入するこ...
[51CTO.com クイック翻訳]唇の無精ひげ、額のしわ、皮膚の斑点がはっきりと見えますが、「彼」...
この記事を読むと、次のことがわかります。自然言語処理の分野に最も大きな影響を与えたニューラル ネット...
01.人間は日々、環境、社会、他の人々、物と密接に関わっています。このタイプの接続は、一方向、双方...
[51CTO.com からのオリジナル記事] 喜び、悲しみ、恐怖、平静、怒り、驚き、軽蔑、嫌悪など...
TSMCはついにアメリカの圧力に耐えられず降伏した。実際のところ、棒はまだ本当に下ろされておらず、数...
現在、コンピューター ビジョン (CV) テクノロジは転換点を迎えており、主要なトレンドが収束して、...
編集者注: この記事は Mybridge からのもので、過去 1 年間 (2017 年) で最も素晴...