2. 深層学習(ディープラーニング)の前提知識:数学とプログラミング

深層学習(ディープラーニング)を学ぶための前提知識として、データを効率的に扱うためのプログラミングスキル、多次元配列(テンソル)の操作、およびモデルの学習に欠かせない線形代数、微積分、確率統計の基礎知識を本章で解説する。

ディープラーニングの世界に飛び込む準備として、 いくつかの基本的なスキルが必要になる。 (i) データを保存・操作するための技術。 (ii) 多様なソースからデータを取り込み、前処理するためのライブラリ。 (iii) 高次元のデータに適用する、基本的な線形代数の知識。 (iv) 損失関数を最小化するために、各パラメータをどの方向に調整すべきか判断するのに十分な微積分の知識。 (v) 導関数を自動的に計算する能力。これにより、学んだばかりの微積分の詳細を忘れてしまっても大丈夫である。 (vi) 不確実性の下で推論を行うための主要言語である、確率論の基礎。 (vii) 行き詰まったときに、公式ドキュメントから答えを見つけるための適性。

要するに、この章では本書の 大部分 の技術的内容を追っていくために 必要となる基礎を、手早く紹介する。