ゼロから作るDeep Learning 2 第2回

Contents
  1. 1.1 数学とPythonの復習
  2. 1.1.1 ベクトルと行列
  3. 1.1.2 行列の要素ごとの演算
  4. 1.1.3 ブロードキャスト
  5. 1.1.4 ベクトルの内積と行列の積
  6. 1.1.5 行列の形状チェック
  7. 1.2 ニューラルネットワークの推論
  8. 1.2.1 ニューラルネットワークの推論の全体図
  9. 1.2.2 レイヤとしてのクラス化と順伝播の実装
  10. 1.3 ニューラルネットワークの学習
  11. 1.3.1 損失関数
  12. 1.3.2 微分と勾配
  13. 1.3.3 チェインルール
  14. 1.3.4 計算グラフ
  15. 1.3.5 勾配の導出と逆伝播の実装
  16. 1.3.6 重みの更新

nownab.log | 言語処理のための機械学習入門 第22回

概要

機械学習勉強会でもくもくしてるゼロから作るDeep Learning 2 自然言語処理編の学習メモです。

書いたコードのリポジトリはこちら。 https://github.com/nownabe/DeepLearningFromScratch2

資料置き場

今回のコードはこちら。 https://github.com/nownabe/DeepLearningFromScratch2/pull/1

範囲

  • 1章 ニューラルネットワークの復習
    • 1.1 数学とPythonの復習
    • 1.2 ニューラルネットワークの推論
    • 1.3 ニューラルネットワークの学習

1章 ニューラルネットワークの復習

1.1 数学とPythonの復習

1.1.1 ベクトルと行列

  • numpy.arrayでは階層の浅い順に1次元目、2次元目、となる
    • np.array([[1,2,3],[1,2,3]])は1次元目の要素数が2、2次元目が3
    • 行列の場合、1次元目が行、2次元目が列と対応する
      • shapeが(2,3)なら2行3列の行列

1.1.2 行列の要素ごとの演算

1.1.3 ブロードキャスト

1.1.4 ベクトルの内積と行列の積

1.1.5 行列の形状チェック

1.2 ニューラルネットワークの推論

1.2.1 ニューラルネットワークの推論の全体図

1.2.2 レイヤとしてのクラス化と順伝播の実装

1.3 ニューラルネットワークの学習

1.3.1 損失関数

1.3.2 微分と勾配

1.3.3 チェインルール

1.3.4 計算グラフ

1.3.5 勾配の導出と逆伝播の実装

Softmax with Lossレイヤ、コードみたけど前作で読んだ内容まったく思い出せなかった 😇

1.3.6 重みの更新

所感

  • 今回は専用のリポジトリを作って、1週ごとにPull Requestを作るという感じでやっていく
  • せっかくGTX1070を買ったので、cupyで実行できるようにDockerfileを書いた
  • 今作は全編カラー刷り、コードハイライト有りという非常に豪華な本になってる
    • 特にコードは読みやすい ✨
  • 1章は前作の復習だが、とてもわかりやすくまとまっていていい
    • ミニバッチのShapeのとことか、前作よりわかりやすい気がする

ゼロから作るDeep Learning 2 自然言語処理編

機械学習勉強会について

有志で毎週開催している。本書はもくもく形式だが、題材によって形式は柔軟に変えている。 毎週読む範囲を決めてもくもくして、終わらなかったら次の週までにやってくるという形。

また、勉強会で書いたコードや疑問点などをまとめるためにGitHubのレポジトリを活用している。 Wondershake/machine-learning-study: 機械学習勉強会