用語比較
BPTTと誤差逆伝播法の違い|時間方向に展開するかどうか(G検定・RNN)
誤差逆伝播法は、出力の誤差を後ろの層から前の層へ順に伝えて、各重みの勾配を求める方法です。BPTTは、この誤差逆伝播法をリカレントニューラルネットワーク(RNN)に使うときの呼び名で、Back-Propagation Through Time(時間を通した誤差逆伝播法)の略です。
別の方法ではなく、適用の仕方の違いです。RNNを時間方向に展開して、展開した計算の図に誤差逆伝播法をそのまま適用したものがBPTTです。
この記事の目次
この記事の根拠と出典
各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。
誤差逆伝播法とBPTTの要点
誤差逆伝播法
層をまたいで誤差を後ろから前へ伝え、重みの勾配を求める方法。多層のニューラルネットワーク全般で使う。
BPTT
RNNを時間方向に展開した図に、誤差逆伝播法を適用する方法。誤差は層だけでなく、時刻をさかのぼって伝わる。
違いを表で確認
| 比較軸 | 誤差逆伝播法 | BPTT |
|---|---|---|
| 対象のモデル | 誤差逆伝播法:多層のニューラルネットワーク全般 | BPTT:RNN(時系列を扱うモデル) |
| 誤差が伝わる向き | 誤差逆伝播法:出力層から入力層へ(層の向き) | BPTT:現在の時刻から過去の時刻へ(時間の向き) |
| 重みの扱い | 誤差逆伝播法:層ごとに別の重み | BPTT:全時刻で同じ重みを共有する |
| 計算量の目安 | 誤差逆伝播法:層の数に応じて増える | BPTT:系列の長さに応じて、計算時間も記憶する量も増える |
| 試験での手掛かり | 誤差逆伝播法:「層」「出力から入力へ」 | BPTT:「RNN」「時間方向に展開」「過去の時刻へ」 |
G検定の学習に使う書籍(Amazon)
PRどこで迷っているかを切り分ける
RNNの学習が別のアルゴリズムだと思っていた人
教科書『Deep Learning』は、RNNの勾配は展開した計算の図に誤差逆伝播法を適用するだけで求められ、専用のアルゴリズムは要らないと説明します。BPTTは別の仕組みではなく、その呼び名です。
長い文章でRNNの学習が遅くなる理由を知りたい人
BPTTでは、時刻を1つずつ順に計算し、前向きの計算で得た値を逆向きの計算まで記憶しておきます。系列が長いほど、時間も記憶量も増えます。
勾配消失問題とのつながりで止まっている人
BPTTは誤差を過去の時刻まで掛け合わせて伝えるので、系列が長いと勾配が小さくなる問題が起きやすくなります。この対策として作られたのがLSTMやGRUです。
具体例で使い分ける
例 1
3つの時刻に展開する場合(架空の例)
RNNに3つの入力(時刻1、2、3)を順に与え、時刻3で出力の誤差を求めたとします。
- RNNを時間方向に展開すると、同じ重みを使う3つの層が横に並んだ図になります。
- この図に誤差逆伝播法を適用し、時刻3から時刻2、時刻1の順に誤差を伝えます。
- 同じ重みが3回使われているので、その重みの勾配は、各時刻から得られる勾配を足し合わせて求めます。
結論: 展開すれば、あとは通常の誤差逆伝播法と同じ計算です。違うのは、重みが共有されている点と、伝わる向きが時間であることです。
例 2
系列の長さが違う場合(架空の例)
長さ10の文章と長さ100の文章で、同じRNNを学習するとします。
- 展開した図の横の長さが、10と100になります。
- 前向きの計算は時刻を1つずつ順に行うので、並べて同時には計算できません。
- BPTTの計算の手間も、記憶する値の量も、系列の長さに比例して増えます。
結論: 系列が10倍になれば、BPTTの手間と記憶量はおよそ10倍になります。
例 3
層の深い通常のネットワークの場合(架空の例)
時系列でない画像分類の多層ネットワークを学習するとします。
- 時刻の概念がないので、時間方向への展開は要りません。
- 出力層から入力層へ層の順に誤差を伝える、通常の誤差逆伝播法を使います。
結論: BPTTという呼び方は、RNNのように時間方向に展開する場面で使います。
問題文から答えを選ぶ手順
- 1
モデルの種類を見る
時系列を扱うRNNの話ならBPTT、層の深いネットワーク一般の話なら誤差逆伝播法です。
- 2
誤差が伝わる向きを読む
「過去の時刻へさかのぼる」ならBPTT、「出力層から入力層へ」なら誤差逆伝播法です。
- 3
重みの共有を確かめる
全時刻で同じ重みを使い、勾配を時刻ごとに足し合わせるのはBPTTの特徴です。
- 4
関係を押さえる
BPTTは誤差逆伝播法の別名ではなく、RNNを展開して誤差逆伝播法を適用したものです。
試験での見分け方
- 1BPTTは、RNNを時間方向に展開した計算の図に誤差逆伝播法を適用したもの。
- 2BPTTでは全時刻で同じ重みを共有し、重みの勾配は各時刻の寄与を足し合わせる。
- 3BPTTの計算時間と記憶量は、系列の長さに比例して増える。
- 4系列が長いと勾配が消えやすい。対策にLSTMやGRUがある。
誤答しやすい選択肢
BPTTを誤差逆伝播法とは別の学習法だと考える
修正: BPTTは誤差逆伝播法を、時間方向に展開したRNNに適用したものです。計算の原理は同じで、図の形が違います。
RNNの重みが時刻ごとに別だと考える
修正: RNNは全時刻で同じ重みを使います。展開した図で別の層に見えても、重みは共有されています。
BPTTは系列の長さに関係なく同じ手間で済むと考える
修正: 系列が長いほど展開した図が長くなり、計算時間も記憶量も増えます。
確認問題
Q1RNNを時間方向に展開して誤差逆伝播法を適用する学習方法は?
答え: BPTT(時間を通した誤差逆伝播法)
誤差が層だけでなく、現在から過去の時刻へさかのぼって伝わります。
Q2BPTTで、全時刻にわたって共有されているものは?
答え: 重み(パラメータ)
展開した図では別の層に見えますが、同じ重みを使い、勾配は各時刻の分を足し合わせます。
Q3BPTTの計算の手間と記憶量は、何に比例して増える?
答え: 系列の長さ
時刻を1つずつ順に計算し、前向きの計算の値を後ろ向きの計算まで保存するためです。
Q4BPTTで系列が長いときに起きやすい問題は?
答え: 勾配消失問題
誤差を過去の時刻まで掛け合わせて伝えるので、勾配が小さくなりやすくなります。LSTMやGRUが対策として使われます。
到達チェック
- BPTTを誤差逆伝播法のRNNへの適用として説明できる
- 全時刻で重みを共有し、勾配を足し合わせることが分かる
- 系列が長いと手間と記憶量が増えると説明できる
- 勾配消失問題とLSTM・GRUのつながりが分かる
関連ページで確認する
同じ資格で次に知りたいこと
- 相互情報量と相関係数の違い|直線の関係だけを見るか、あらゆる依存を見るか(G検定)
相互情報量と相関係数の違いを、直線的な関係だけを測るか、どんな形でも依存があれば値が出るかで整理。相関係数が0でも相互情報量は正になる数値例と確認問題つき。G検定シラバス「確率・統計」の2つの語の対比。
- 個人データの第三者提供と委託の違い|本人の同意が要るかどうかと、委託先の監督(G検定)
個人データの第三者提供と委託の違いを、個人情報保護法の第27条と第25条で整理。委託先は「第三者に該当しない」ので本人の同意は原則不要ですが、利用目的の範囲内に限られ、委託先の監督が必要です。事例と確認問題つき。G検定シラバスの第三者提供・委託の比較。
- 蒸留とプルーニングの違い|小さなモデルに教えるか、接続を削るか(G検定・軽量化)
蒸留とプルーニングの違いを、新しい小さなモデルを学習させるか、同じネットワークの接続を減らすかで整理。Hinton らの蒸留論文とDeep Compression論文の記述、温度つきsoftmaxの数値例と確認問題で確認。G検定のモデル軽量化の補足。
よくある質問
QBPTTと誤差逆伝播法は何が違う?
BPTTは、RNNを時間方向に展開した図に誤差逆伝播法を適用したものです。誤差が層ではなく時刻をさかのぼって伝わり、全時刻で同じ重みを共有する点が、通常のネットワークと違います。
QBPTTの正式名称は?
Back-Propagation Through Time、日本語では時間を通した誤差逆伝播法です。
QG検定にBPTTは出る?
JDLAの公式シラバスのリカレントニューラルネットワークの項目に、BPTTが挙がっています。実際の出題の形は公表されていないので、誤差逆伝播法との関係を言葉で説明できるようにしておくと安心です。
次に見る比較
- G検定・DS検定・統計検定2級で重なる用語10語の比較
同じ名前の用語の定義と収録章を、資格ごとに並べます。
- ベイズの定理と条件付き確率の違い(統計検定2級の式と計算例)
求める確率の向きの違いと、陽性になる確率の計算例を確かめます。
- 紛らわしい用語ペア早見表
混同しやすい用語の違いと判定の手掛かりを、資格別の一覧で確かめます。
執筆: AI資格ドリル編集部(運営者情報を見る)
