私が書籍「ゼロから作るDeep Learning」を勉強しながら作成している自習Memoです。わかりにくかったり、覚えにくかったところを「ゼロから作るDeep Learning」の章に合わせてまとめています。
書籍では記述されていない基本文法の説明など、理解の補助となる内容にしたいと思います。
また、基本的に書籍とは独立した記事ですので、書籍がなければわからないということはありません。
1.書籍紹介
以下の記事でも紹介していますが、私がPythonを始めるきっかけになった書籍でもあります。私自身の備忘録として内容を充実させていきたいと思います。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 新品価格 |
2.各章ごとの学習のポイント
私が「ゼロから作るDeep Learning」を勉強したときの学習メモの記事を各章ごとにまとめます。
1章 Python入門
1.5.5 ブロードキャスト
・NumPy♪ブロードキャストを雰囲気で理解していませんか?
2章 パーセプトロン
3章 ニューラルネットワーク
用語メモ:バイアス(3.1.2)、活性化関数(3.1.3, 3.2)、ノード(3.1.3)、シグモイド関数(3.2.1)、ReLU関数(Rectified Lineaar Unit)(3.2.7)、恒等関数(3.4.2, 3.5.1)、分類問題(3.5)、回帰問題(3.5)、MNIST(エムニスト)(3.6.1)、pickle(3.6.1)、PIL(Python Image Library)(3.6.1)、正規化(3.6.2)、白色化(3.6.2)、バッチ処理(3.6.3)
3.5.1 恒等関数とソフトマックス関数 ※ダウンロードサンプルコード
・NumPy♪axis指定を易しく図解(axis = -1とは)
・NumPy♪関数maxやsumにおけるkeepdims指定の図解
3.6.3 バッチ処理
・Python♪関数で複数の値を返すタプルの便利な機能
・Python♪ディープラーニングを高速化するバッチ処理とは
4章 ニューラルネットワークの学習
用語メモ:損失関数(4.2)、2乗和誤差(4.2.1)、one-hot表現(4.2.1)、交差エントロピー誤差(4.2.2)、ミニバッチ学習(4.2.3)、中心差分(4.2.1)、前方差分(4.3.1)、勾配法(4.4.1)、勾配降下法(4.4.1)、勾配上昇法(4.4..1)、鞍点(あんてん)(4.4.1)、学習率(4.4.1)、ハイパーパラメータ(4.4.1)
4.2.4 [バッチ対応版]交差エントロピー誤差の実装
以下、この章のサンプルコードを読むために、NumPyの要素の指定方法について整理します。
・Python♪NumPyのa[i, j, k]とa[i][j][k]の違い
・NumPy♪ファンシーインデックスが苦手だと感じたら
・Python♪NumPyのa[[0], 0, 0:1]は何次元の配列になる?
4.4 勾配 ※ダウンロードサンプルコード
・NumPy♪nditerを使うと様々な次元数に対応できる
4.4.2 ニューラルネットワークに対する勾配
・Python♪ラムダ式でクラスのインスタンス変数を操作するテクニック