始める無料で始める

重みを手動で更新する

重みとバイアスへのアクセス方法がわかったところで、PyTorch のオプティマイザが行う作業を手動で行ってみましょう。PyTorch では自動化されていますが、手作業で練習することで、モデルがどのように学習し調整されるかの直感が身につきます。この理解は、ニューラルネットワークのデバッグや微調整を行う際に役立ちます。

3 層のニューラルネットワークが作成され、model という変数に保存されています。このネットワークはすでに順伝播を実行しており、損失とその導関数が計算済みです。更新の際に勾配をスケーリングするため、既定の学習率 lr が選ばれています。

この演習はコースの一部です

PyTorchで学ぶIntroduction to Deep Learning

コースを見る

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

weight0 = model[0].weight
weight1 = model[1].weight
weight2 = model[2].weight

# Access the gradients of the weight of each linear layer
grads0 = ____
grads1 = ____
grads2 = ____
コードを編集して実行