Monthly Archives: 5月 2017

「ゼロから作るDeep Learning」第20回(5/30)

Posted on by 0 comment

参加者 沼田(読み手)、青木(記)
範囲 pp.208 – 224

7章 畳み込みニューラルネットワーク

  • 7.2 畳み込み層
    • 7.2.2 畳み込み演算
    • 7.2.3 パディング
    • 7.2.4 ストライド
    • 7.2.5 3次元データの畳み込み演算
    • 7.2.6 ブロックで考える
    • 7.2.7 バッチ処理
  • 7.3 プーリング層
    • 7.3.1 プーリング層の特徴
  • 7.4 Convolution/Poolingレイヤの実装
    • 7.4.1 4次元配列
    • 7.4.2 im2colによる展開

「ゼロから作るDeep Learning」第19回(5/26)

Posted on by 0 comment

参加者 青木(読み手)、今井、沼田(記)
範囲 pp.197 – 207

6章 学習に関するテクニック

  • 6.5 ハイパーパラメータの検証
    • 6.5.1 検証データ
    • 6.5.2 ハイパーパラメータの最適化
    • 6.5.3 ハイパーパラメータ最適化の実装
      • p.202 末尾
        ハイパーパラメータ(脱字)
  • 6.6 まとめ

7章 畳み込みニューラルネットワーク

  • 7.1 全体の構造
  • 7.2 畳み込み層
    • 7.2.1 全結合層の問題点
    • p.207 第三段落の2行目
      RBGはRGBの誤記?

「ゼロから作るDeep Learning」第18回(5/23)

Posted on by 0 comment

参加者 沼田(読み手)、青木、今井(記)
範囲 pp.189-197

6章 学習に関するテクニック

  • 6.4 正則化
    • 6.4.1 過学習
    • 6.4.2 Weight decay
      • p.194 L1ノルム, L2ノルムについて少しだけ調べました。(Ref. ノルム, \(L^p\)空間)
        ノルムはベクトル空間における「距離」を与えるための数学の道具。
        \(L^pノルム = \sqrt[p]{|x_1|^p + |x_2|^p + \cdots + |x_n|^p}\)
        \(L^\inftyノルム\)は、\(p\rightarrow\infty\)に対する\(L^pノルム\)の極限で、\(\max\{|x_1|, |x_2|, \cdots, |x_n|\}\)と同値。
    • 6.4.3 Dropout

「ゼロから作るDeep Learning」第17回(5/19)

Posted on by 0 comment

参加者 今井(読み手)、沼田(記)
範囲 pp.177 – 189

6章 学習に関するテクニック

  • 6.2 重みの初期値
    • 6.2.1 重みの初期値を0にする?
    • 6.2.2 隠れ層のアクティベーション分布
    • 6.2.3 ReLUの場合の重みの初期値
    • 6.2.4 MNISTデータセットによる重みの初期値の比較
      • 図6-14
        Xavierの初期値もゼロは突出しているのはなぜ?ゼロ以下ならゼロを出力する関数だから?
  • 6.3 Batch Normalization
    • 6.3.1 Batch Normalizationのアルゴリズム
    • 6.3.2 Batch Normalizationの評価

「ゼロから作るDeep Learning」第16回(5/16)

Posted on by 0 comment

参加者 青木(読み手)、今井、沼田(記)
範囲 pp.166 – 177

6章 学習に関するテクニック

  • 6.1 パラメータの更新
    • 6.1.2 SGD
    • 6.1.3 SGDの欠点
      • l.3~l.4 「伸ひ゛た形の関数た゛と」
        「び」と「だ」がひらがな+濁点になっている?
    • 6.1.4 Momentum
    • 6.1.5 AdaGrad
    • 6.1.6 Adam
    • 6.1.7 どの更新手法を用いるか?
    • 6.1.8 MNISTデータセットによる更新手法の比較

「ゼロから作るDeep Learning」第15回(5/12)

Posted on by 0 comment

参加者 沼田(読み手)、青木、今井(記)
範囲 pp.155-167

5章 誤差逆伝播法

  • 5.6 Affine/Softmaxレイヤの実装 (p.155 ヒントの下~)
    • 5.6.3 Softmax-with-Lossレイヤ
  • 5.7 誤差逆伝播法の実装
    • 5.7.1 ニューラルネットワークの学習の全体図
    • 5.7.2 誤差逆伝播法に対応したニューラルネットワークの実装
    • 5.7.3 誤差逆伝播法の勾配確認
    • 5.7.4 誤差逆伝播法を使った学習
      • p.163 コード
        1バッチごとにbatch_size個のデータをx_trainからランダムに取り出している(しかも重複ありで)。これだと1エポック終わったときにx_train全データを見ることはまずないと思うが、良いのだろうか?
  • 5.8 まとめ

6章 学習に関するテクニック

  • 6.1 パラメータの更新
    • 6.1.1 冒険家の話

「ゼロから作るDeep Learning」第14回(5/9)

Posted on by 0 comment

参加者 今井(読み手)、沼田(記)
範囲 pp.147 – 155

5章 誤差逆伝播法

  • 5.6 Affine/Softmaxレイヤの実装
    • 5.6.1 Affineレイヤ
    • 5.6.2 バッチ版Affineレイヤ
    • 5.6.3 Softmax-with-Lossレイヤ(p.155のヒントまで)

「ゼロから作るDeep Learning」第13回(5/2)

Posted on by 0 comment

参加者 青木(読み手)、今井(記)
範囲 pp.135-146

5章 誤差逆伝播法

  • 5.3 逆伝播
    • 5.3.1 加算ノードの逆伝播
    • 5.3.2 乗算ノードの逆伝播
    • 5.3.3 リンゴの例
  • 5.4 単純なレイヤの実装
    • 5.4.1 乗算レイヤの実装
    • 5.4.2 加算レイヤの実装
      • p.139 backward()
        ‘dout * 1’の1は、\(\frac{\partial}{\partial y}(x+y)=1\), \(\frac{\partial}{\partial x}(x+y)=1\) だから。
  • 5.5 活性化関数レイヤの実装
    • 5.5.1 ReLUレイヤ
    • 5.5.2 Sigmoidレイヤ
      • p.146 式(5.12) 2行目から3行目への変形
        $$\small{\begin{eqnarray}
        &=&\frac{\partial L}{\partial y}\frac{1}{1+e^{-x}}\frac{e^{-x}}{1+e^{-x}} \\
        &=&\frac{\partial L}{\partial y}\frac{1}{1+e^{-x}}\frac{(1+e^{-x})-1}{1+e^{-x}} \\
        &=&\frac{\partial L}{\partial y}\frac{1}{1+e^{-x}}\left(\frac{1+e^{-x}}{1+e^{-x}}-\frac{1}{1+e^{-x}}\right) \\
        &=&\frac{\partial L}{\partial y}\frac{1}{1+e^{-x}}\left(1-\frac{1}{1+e^{-x}}\right)
        \end{eqnarray}}$$
        として \(y=\frac{1}{1+e^{-x}}\) に置き換える。