はじめに
ゼロから作るDeep Learning 2――自然言語処理編』の初学者向け攻略ノートです。『ゼロつく2』の学習の補助となるよう適宜解説を加えています。
【前巻の内容】
【目次】
記事一覧
1章 ニューラルネットワークの復習
2章 自然言語と単語の分散表現
3章 word2vec
4章 word2vecの高速化
5章 リカレントニューラルネットワーク(RNN)
これまでは、テキストを頻度行列に変換して扱うことで、テキスト中に登場する単語の頻度のみに注目しました。しかし本来テキスト中の単語は、それ以前の単語の影響を受けて生成される(書き手に選ばれる)と考えられます。このように前後のデータが影響し合うデータを時系列データと呼びます。これまで扱ったNNでは、時系列データをうまく扱えません。そこで5章からは、時系列データを扱えるRNN(リカレントニューラルネットワーク)について考えます。
6章 ゲート付きRNN
以下続く。
付録A sigmoid関数とtanh関数の微分
sigmoid関数の微分については、1巻の方「シグモイド関数の逆伝播【ゼロつく1のノート(数学)】 - からっぽのしょこ」でやりました。
おわりに
- 編集メモ
Trainer
クラスの実装で少し弄ったのが裏目ってるかも?- メンバ変数って何?インスタンス変数とどう違うの?
- Pythonの仕様に合わせて実験的に数式の添字も0から始めてみたものの統一していないので混乱のもと
- 単語の種類数が途中から語彙数になる
- 計算する・求める・処理する等の使い分けに深い意味はない
- 入力データが1つの場合とバッチデータの場合とを併記した方がよかった
- 2020.08.28
1巻に引き続き学習ノートを書き始めました。現在1章が終わったところです。先が楽しみ!
- 2020.09.08
2章は準備運動のような内容ですね。特異値分解の数理面からの理解は一旦飛ばします、、、PTBデータセットの項は、特に追加説明も不要そうなので省略します。
- 2020.09.14
これまでDLには特に興味がなかったのですが、分散表現には興味がありました。そんなword2vecへのようやく一歩目!とりあえず3章は問題なく完了。
- 2020.09.29
近頃トピックモデルの方に重心を移しつつありますが、4章の方もぼちぼち更新していきます。
おまけにベイズ推論の方も再開して、こちらが全然進んでません。一応4章は完了(10/23)。
- 2020.12.27
ベイズ推論で遊んでたら2か月空いてしまいました。とりあえず年内に1章分だけ進めておきます。
- 2021.01.11
6章分の更新が終わりました。