機械学習 中級
Deep Learning Foundations — 中級(大学 3-4 年レベル)
この章について
中級では、ニューラルネットワークと深層学習の基礎を学ぶ。多層パーセプトロンから始め、画像認識の CNN、系列データの RNN へと進む。誤差逆伝播、最適化アルゴリズム、正則化技法を理解し、深層学習の「なぜ動くのか」を把握することが目標である。
前提知識
- 初級レベルの内容(古典的 ML 手法)
- 線形代数(行列演算、固有値)
- 微分(連鎖律、勾配)
- 確率論の基礎
目次
副読本(読み物)
深層学習の章を、図解で深掘りする読み物。学習を安定させる技法と表現力の理論。
重みの初期化
Xavier/He。信号と勾配を消失・爆発させない分散保存。
勾配チェック
数値勾配で逆伝播を検証。刻み幅と誤差のトレードオフ。
受容野
層を重ねるほど1ニューロンが見る入力範囲が広がる。
ミニバッチSGDのノイズ
ノイズが鞍点脱出と平坦な最小を促す。3D損失地形で可視化。
普遍近似定理
十分なユニットで任意の連続関数に近づく。存在定理の限界。
正規化層の比較
Batch/Layer/Instance/Group がどの範囲で正規化するか。
深さ方向分離畳み込み
演算量を約1/8に。MobileNet/Xception。
拡張畳み込み
パラメータを増やさず受容野を指数的に拡大。
U-Net
スキップ接続で細部を復元。セグメンテーションと拡散モデルの土台。
深さと幅:表現力
深いほど区分線形領域が指数的に増えうる。
勾配クリッピング
爆発する勾配を閾値で抑えて学習を安定化。
主要な概念・手法
多層パーセプトロン
層 $l$ の出力:$\boldsymbol{h}^{(l)} = \sigma(\boldsymbol{W}^{(l)} \boldsymbol{h}^{(l-1)} + \boldsymbol{b}^{(l)})$
非線形活性化関数 $\sigma$ により、複雑な関数を表現。
誤差逆伝播法
損失 $L$ のパラメータ $\boldsymbol{W}^{(l)}$ に対する勾配を、連鎖律を用いて出力層から入力層へ逆向きに計算: $$\dfrac{\partial L}{\partial \boldsymbol{W}^{(l)}} = \dfrac{\partial L}{\partial \boldsymbol{h}^{(l)}} \dfrac{\partial \boldsymbol{h}^{(l)}}{\partial \boldsymbol{W}^{(l)}}$$
畳み込み演算
入力 $\boldsymbol{X}$ とフィルタ $\boldsymbol{K}$ の畳み込み:
$(\boldsymbol{X} * \boldsymbol{K})_{i,j} = \displaystyle\sum_{m,n} X_{i+m, j+n} K_{m,n}$
局所的パターンを検出し、平行移動不変性を獲得。
残差接続(ResNet)
$\boldsymbol{y} = F(\boldsymbol{x}) + \boldsymbol{x}$(スキップ接続)。恒等写像を学習しやすくし、非常に深いネットワークの訓練を可能に。
LSTM
ゲート機構(入力・忘却・出力ゲート)により、長期の依存関係を学習。セル状態 $\boldsymbol{c}_t$ が情報を保持・更新。
このレベルで理解できる応用
画像分類
CNN による画像認識。ImageNet で学習済みモデルを転移学習で活用。
物体検出
YOLO, Faster R-CNN などのアーキテクチャ。バウンディングボックスの予測。
感情分析
LSTM/GRU によるテキスト分類。レビューからポジティブ/ネガティブを判定。
時系列予測
RNN による株価、需要、センサーデータの予測。
学習のポイント
- 順伝播と逆伝播:手計算で小さな例を追う
- 勾配の流れ:なぜ深いネットで学習が難しいか理解
- アーキテクチャ設計:タスクに応じた構造を選ぶ
- 実装と実験:コードを書き、ハイパーパラメータを調整する経験
よくある質問(FAQ)
- 中級の機械学習で学ぶ内容は何ですか?
- 誤差逆伝播法・最適化アルゴリズム(Adam等)・正則化(Dropout・BatchNorm)・CNN(畳み込み・プーリング)・主要CNNアーキテクチャ・RNN・LSTM/GRU・単語埋め込み・次元削減・ハイパーパラメータ最適化・時系列分析を扱う。
- 中級機械学習を学ぶ前提は何ですか?
- 入門(intro)と初級(basic)の内容、特に線形代数・微積分・確率統計の基礎、Pythonによるscikit-learnとNumPyの操作、および基本的な機械学習アルゴリズムの理解が前提である。
- CNNとRNNはどのような問題に使い分けますか?
- CNNは空間的な局所特徴の抽出が得意で画像・音声スペクトログラム等に向く。RNNは時間的な依存関係の学習に特化し、系列データや自然言語処理に使われる。近年は両方をTransformerが統合しつつある。