AI資格ドリル
資格を選ぶ

用語比較

L2正則化と重み減衰(weight decay)の違い|SGDでは同じでAdamでは違う

L2正則化は損失関数に重みの2乗和の罰則を足す方法、重み減衰(weight decay)は重みの更新のたびに重みを少しだけ縮める方法です。標準的なSGD(確率的勾配降下法)では、学習率に合わせて係数を換算すれば同じ更新になります。

違いが出るのはAdamのような適応的な最適化手法で、AdamW(Adamに重み減衰を分けて入れた方式)の論文は、2つが等価にならないことを示しています。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。

公式一次資料と照合した内容
SGDでの等価(λ=αλ′)、Adamで等価にならないこと、勾配の履歴が大きい重みほど弱く正則化されること、相対で約15%のテスト誤差の改善(CIFAR-10・ImageNet32x32)は、Loshchilov・Hutterの論文(arXiv:1711.05101)へ照合しています。G検定の項目名が「正則化」「L1正則化」「L2正則化」であることは登録した出題範囲と照合しています。
編集部が学習用に整理した内容
α=0.1の換算例の数値と、入れる場所で見分ける手順、表の右端の覚え方の列は編集部の整理・計算です。出題実績に基づくものではありません。Adamで換算できない理由の説明は、論文の記述を編集部が言い換えたものです。

資格ごとの公式資料の一覧

L2正則化と重み減衰の要点

公式一次資料と照合:用語の定義は公式一次資料と照合しています。

L2正則化

損失関数に重みの2乗和(の定数倍)を足す。罰則は損失の勾配を通して、重みの更新に入る。

重み減衰

重みの更新式に「重みを(1−λ)倍する」項を直接入れる。損失関数は変えない。

等価になる場面

標準的なSGDでは、学習率をαとして λ=α×λ′ と換算すれば同じ更新になる(λ′はL2正則化の係数)。Adamでは等価にならない。

違いを表で確認

比較軸L2正則化重み減衰覚え方(編集部の整理)
どこに入れるか損失関数に罰則項を足す重みの更新式に縮める項を入れる「損失に足す」ならL2正則化、「更新で縮める」なら重み減衰
更新式(SGD)θ ← θ − α(∇f + λ′θ)θ ← (1 − λ)θ − α∇fαλ′=λ と置けば同じ式になる
SGDでの関係重み減衰と等価(学習率で係数を換算)L2正則化と等価SGDだけなら言い換えてよい
Adamでの関係罰則の勾配も過去の勾配の大きさで割られ、勾配の履歴が大きい重みほど縮み方が弱くなる勾配の計算から分けて縮めるので、そうした偏りが出ない(AdamW)適応的な手法では別物として扱う
論文の報告AdamにL2正則化を入れると効きが弱いAdamWはテスト誤差を相対で約15%改善(CIFAR-10・ImageNet32x32)改善の数値は論文の実験条件での報告

公式一次資料と照合:G検定の一次資料で確認一次資料の一覧を見る

どこで迷っているかを切り分ける

01

「L2正則化=重み減衰」と1対1で覚えている人

SGDだけを考えるなら、この覚え方で困りません。ただしAdamWの論文は、適応的な手法ではこの2つが同じにならないと述べています。「等価になるのはSGDの場合」という条件つきで覚えると、選択肢の言い切りに引っかかりにくくなります。

02

ライブラリの引数名にweight_decayと書いてあって混乱した人

AdamW論文の要旨は、一般的な実装がこれらの手法でL2正則化を「重み減衰」と呼んでいることがあり、等価でないことを踏まえると紛らわしいと述べています。名前だけで判断せず、更新式のどこに入っているかで見分けるのが確実です。

03

L1とL2の違いは分かったが、その先を知りたい人

L1とL2の違いは、係数が0になるか小さくなるかという罰則の形の違いです。このページの違いは別の軸で、同じL2の罰則を損失に足すか、更新で直接縮めるかという入れ方の違いです。罰則の形はL2のまま、入れ方で最適化手法との相性が変わります。

具体例で使い分ける

編集部の整理

例 1

SGDで係数を換算する

学習率α=0.1のSGDで、L2正則化の係数λ′=0.01を使っています。同じ更新になる重み減衰の係数λを求めます。

  • L2正則化の更新は θ ← θ − α(∇f + λ′θ) です。展開すると θ ← (1 − αλ′)θ − α∇f になります。
  • 重み減衰の更新 θ ← (1 − λ)θ − α∇f と比べると、αλ′=λ のとき同じ式です。
  • α=0.1、λ′=0.01 を代入すると、λ=0.1×0.01=0.001 です。

結論: SGDでは、λ′=0.01のL2正則化と、λ=0.001の重み減衰は同じ更新になります。学習率を変えると、同じ強さにするための係数も変わります。

例 2

Adamで同じ換算ができない理由

同じ罰則をAdamに入れる場面です。

  • AdamはL2正則化の罰則の勾配も含めた勾配全体を、過去の勾配の大きさに応じて重みごとに割って更新します。
  • そのため、勾配の履歴が大きい重みでは、罰則による縮み方が小さくなります。
  • SGDのように、学習率だけで全体の係数を換算することができません。

結論: 論文は、適応的な勾配を使うと、勾配の履歴が大きい重みは重み減衰を使うときよりも弱くしか正則化されないと述べています。

問題文から答えを選ぶ手順

編集部の整理:α=0.1の換算例の数値と、入れる場所で見分ける手順、表の右端の覚え方の列は編集部の整理・計算です。出題実績に基づくものではありません。Adamで換算できない理由の説明は、論文の記述を編集部が言い換えたものです。

  1. 1

    最適化手法がSGDか、Adamのような適応的な手法かを確認する

    SGDなら2つは等価で、言い換えて構いません。適応的な手法なら、等価と言い切る選択肢は誤りの候補です。

  2. 2

    入れる場所を確認する(編集部の整理)

    損失関数に罰則を足していればL2正則化、更新で重みを縮めていれば重み減衰です。

  3. 3

    「同じ」という言い切りの条件を確認する

    SGDで、学習率に応じて係数を換算した場合に限って等価、という条件が付いているかを見ます。

  4. 4

    罰則の形の話か、入れ方の話かを分ける

    係数が0になるかはL1とL2の違いです。損失に足すか更新で縮めるかは、このページの違いです。

試験での見分け方

編集部の整理

  • 1L2正則化は損失に罰則を足す。重み減衰は更新式で重みを縮める。
  • 2標準的なSGDでは、αλ′=λ と換算すれば2つは等価になる。
  • 3Adamのような適応的な手法では、2つは等価にならない。
  • 4AdamWは重み減衰を勾配の更新から分けて入れる方式で、論文はテスト誤差の約15%の相対的な改善を報告している。
  • 5G検定の出題範囲の項目名は「正則化」「L1正則化」「L2正則化」で、重み減衰という項目名はない。
  • 6AdamWの論文は、多くのライブラリが重み減衰という名前でL2正則化を実装していたことが混同のもとになったと指摘している。

誤答しやすい選択肢

L2正則化と重み減衰は、どんな最適化手法でも同じだと答える

修正: 等価になるのは標準的なSGDの場合です。論文は、Adamのような適応的な手法では等価でないと述べています。

重み減衰は損失関数を変える方法だと答える

修正: 重み減衰は損失関数を変えず、更新式で重みを直接縮めます。損失関数に罰則を足すのはL2正則化です。

SGDで同じ係数の値を使えば、2つが同じ更新になると答える

修正: 同じ更新になるのは、学習率αを使って λ=α×λ′ と換算した場合です。係数の値そのものが同じでは一致しません。

L1とL2の違いと、L2と重み減衰の違いを同じ軸で答える

修正: L1とL2は罰則の形の違い、L2と重み減衰は罰則の入れ方の違いです。軸が別です。

確認問題

Q1学習率α=0.1のSGDで、L2正則化の係数λ′=0.02と同じ更新になる重み減衰の係数λはいくつですか?

答え: 0.002

αλ′=λ なので、0.1×0.02=0.002です。

Q2L2正則化と重み減衰が等価にならない最適化手法の例を挙げてください。

答え: Adamのような適応的な勾配の手法

AdamW論文は、標準的なSGDでは等価だが、Adamなどの適応的な手法では等価でないと述べています。

Q3L2正則化は、損失関数と更新式のどちらに罰則を入れる方法ですか?

答え: 損失関数

L2正則化は損失に重みの2乗和の罰則を足します。更新式で重みを直接縮めるのは重み減衰です。

到達チェック

  • L2正則化と重み減衰が、それぞれどこに入る方法かを説明できる
  • SGDで等価になる条件(αλ′=λ)を式で言える
  • Adamでは等価にならないことを説明できる
  • L1とL2の違い(罰則の形)と、L2と重み減衰の違い(入れ方)を分けて答えられる

同じ資格で次に知りたいこと

よくある質問

QL2正則化と重み減衰は同じですか?

A

標準的なSGDでは、学習率で係数を換算すれば同じ更新になります。Adamのような適応的な手法では同じになりません。

QSGDで係数をどう換算しますか?

A

L2正則化の係数をλ′、学習率をα、重み減衰の係数をλとすると、λ=α×λ′ です。

QAdamWとは何ですか?

A

Adamに、重み減衰を勾配に基づく更新から分けて入れる方式です。LoshchilovとHutterの論文(ICLR 2019)が提案しています。

QAdamWはどのくらい良くなるのですか?

A

論文は、AdamのL2正則化に比べて、テスト誤差が相対で約15%改善したと報告しています。画像分類のデータセット(CIFAR-10・ImageNet32x32)での実験結果で、あらゆる課題で同じ改善が出るとは述べていません。

QG検定に重み減衰は出ますか?

A

このサイトが登録した出題範囲の項目名には重み減衰はなく、「正則化」「L1正則化」「L2正則化」があります。重み減衰という語が選択肢に出たときの考え方として、このページを使ってください。

次に見る比較

執筆: AI資格ドリル編集部(運営者情報を見る)