
2
誤差逆伝播法(Backpropagation)
2.6
勾配降下法は、モデルに含まれる全てのパラメータについて損失関数の勾配を計算する必要
があります。しかし、ニューラルネットワークのように多数のパラメータを持つモデルでは、
効率的な計算が求められます。例えば、GPT-3では、1750億( 175B)個のパラメータがあり
ます。これら全てのパラメータについて個別に勾配を計算するのは現実的ではありません。そ
こで使用するアルゴリズムが、誤差逆伝播法(Backpropagation)です。
誤差逆伝播法の考え方は、問題をサブ問題に分解し、サブ問題間の依存関係を利用して問題
を解くというものです。何度も必要となる計算は、一度だけ計算して結果を保存しておきま
す。そして、その結果を再利用することで、計算量を削減します。動的計画法をご存知の方
は、その考え方に似ていると思われるかもしれません。動的計画法についての理解は不要です
が、同じアプローチで問題を考えてみましょう。まずは、どのように問題を分割するか、依存
関係を利用してどのように解くかについて説明します。
2.6.1
問題の整理
ここで解くべき問題は、モデルに含まれる全てのパラメータについて損失関数の微分を計算
することです。Transformerに含まれる膨大な数のパラメータについて全ての微分を計算する
のは大変そうに思えますが、一つのブロックに注目して整理すると簡単に考えることができま
す。
複雑なモデルでも簡単に整理できることを示す例として、1.3.4 でも紹介した ...