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 ベクトルの内積と行列の積
- NumPyの練習問題
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: 機械学習勉強会