スタンフォード大学のCS231n(ディープラーニングクラス)では、学生がバックプロパゲーションの基本的な計算を理解するため、プログラミング課題で各層の前向きと後向きの計算を自分で実装することを求めました。学生たちは、実際のフレームワーク(例:TensorFlow)が自動的に計算してくれるのに、なぜこのような手間をかけるのかと不満を述べました。しかし、著者は逆伝播を理解することが重要である理由として、逆伝播が「漏れる抽象」であることを挙げ、一見理解しやすい抽象化が実際の動作に悪影響を及ぼす可能性があると警告します。具体例として、シグモイド関数やReLU関数の特性から、適切な重みの初期化がなければ学習が停止したり、学習の速度が異なる層でまちまちになることを説明しています。これは、特にバックプロパゲーションを理解することなくフレームワークに頼っていると見落としがちな点です。