ISBN 9784873118369
ゼロから作るDeep Learning 2 : 自然言語処理編
- 著者
- 斎藤 康毅
- 出版社
- オライリー・ジャパン
- 刊行
- 2018-07
概要
自然言語処理のニューラルネットをゼロ実装で体得する
想定読者
前作(ゼロから作るDeep Learning)を読み終え、NLP・時系列処理の仕組みを実装レベルで理解したい学習者
こんな人には向いていない
- 前作を未読でバックプロパゲーションの実装経験がない初学者には、前提知識の壁が高く読み進めにくい
- TransformerやBERTなど最新のLLM系アーキテクチャを主目的とする読者には、2018年刊の本書はAttentionまでの解説に留まる
- コードを追わずに概念把握だけを目的とする読者には、実装中心の構成が合わない
この本で身につくこと
- CBOW・スキップグラムの学習アルゴリズムをNumPyで一から実装できる
- 勾配消失の観点からLSTMのゲート構造の必要性を理論と実装の両面で説明できる
- GRUがLSTMを簡略化した設計であることを実装差分から確認できる
- seq2seqモデルを構築し、文章翻訳・会話応答タスクに適用する流れを把握できる
- Attention機構をseq2seqに組み込み、コンテキストベクトルの重み付き計算を実装できる
- 特異値分解(SVD)による単語ベクトル化と、ニューラル手法(word2vec)との性能差を実験で比較できる
ハイライト(外部からの言及)
word2vecやRNN(リカレントニューラルネットワーク)、LSTMやGRU、seq2seqやAttention……ディープラーニングを支えるこれら最先端の技術を実装レベルでマスターできます。 — 出典
本書がカバーするアーキテクチャの射程が端的に示されており、購入前の適合確認として機能する
平坦な言葉で分かりやすくをモットーに、高度に見える技術の裏側をじっくり説明し、実際に作ることで理解を深めます。最後までコンセプトは変わらない。ゼロから作る! — 出典
前作から一貫するゼロ実装スタンスが明示されており、フレームワーク依存の書籍との最大の差別化点
正直ここでPythonのコーディングや、Numpyの使い方をかなり強化したような気がします。どちらも数式が多少出てきますが、丁寧に説明してくれているので高校くらいの数学が分かっていれば問題ないと思います。 — 出典
30代情シス→ML転身者が写経を通じた実体験で語る。既存2件が「カバー範囲」と「実装スタンス」を示すのに対し、読書の副産物(NumPy習熟)と入門前提水準(高校数学で足りる)という別角度を補完する
章立て
第1章 ニューラルネットワークの復習
前作(ゼロから作る①)の重要点を圧縮復習する章。①未読でも本章で必要部分は補える設計
第2章 自然言語と単語の分散表現
シソーラス・カウントベース手法を実装で理解。次章 word2vec への前提づくり
第3章 word2vec
CBOW を numpy だけで実装。本書の中核となる単語ベクトル理論の入口
第4章 word2vecの高速化
Embedding レイヤと Negative Sampling で訓練を高速化する実装章
第5章 リカレントニューラルネットワーク(RNN)
RNN の仕組みを numpy 実装で示す。時系列データ処理の基礎
第6章 ゲート付きRNN
LSTM / GRU を実装。勾配消失問題への解法を実装レベルで把握
第7章 RNNによる文章生成
言語モデルを使って文章生成を実装。Transformer 以前の主流アプローチ
第8章 Attention
本書の到達点。Encoder-Decoder + Attention 機構を numpy 実装。Transformer の前提
関連記事 / 参考情報
- 【保存版・初心者向け】独学でAIエンジニアになりたい人向けのオススメのAI勉強方法 (2019年改定版) — AIエンジニアへの独学ロードマップを体系化した記事。本書をNLP実装の必読ステップとして明示
- 機械学習エンジニアに爆速でなるための教材集 — ML習得を最短化するリソース集。ゼロつく2をNLP実装理解の入り口として推薦
- 1年半のソフトウェアエンジニア長期インターンで出会ったオススメ本をたくさん紹介します — 実務経験者の視点から技術書を多数紹介。本書をDL実装力を養う一冊として位置づけ
- 30歳を過ぎて機械学習エンジニアに転身して半年になったのでこれまでやってきた勉強についてまとめる — キャリアチェンジ実践者の学習記録。本書がNLPの実装理解に効いたと経験ベースで紹介
- Word2Vecを理解する — word2vecの仕組みを数式と図で解説。本書の実装と照合しながら読むと相乗効果が高い
- SVD(特異値分解)解説 — 本書のカウントベース手法章で扱うSVDの数学的背景を補完する技術解説
- 【深層学習】図で理解するAttention機構 — Attentionの視覚的な解説記事。本書の実装コードとセットで読むと重み付き和の直感が固まる
- PyTorchでSeq2Seqを実装してみた — 本書のNumPy実装をPyTorchで再現した実践記事。フレームワーク移行への橋渡しとして使える
学習のヒント
- 前作(ゼロから作るDeep Learning)を終えた直後に着手すると、バックプロパゲーションの実装パターンが記憶に新しい状態でコードの差分を追えるため理解効率が上がる
- 3〜4章相当のword2vec実装は前作の知識のみで自己完結するため、まずここを動かしてみると本書全体の読み方が掴める。RNN以降とは難易度の段差がある
- seq2seqとAttentionは写経先行・理解後追いの順序が定着しやすい。コードを動かして出力を確認してから数式を振り返ると、計算グラフとの対応が見えやすくなる
- PyTorchなどのフレームワーク移行を想定している場合、本書の各レイヤー実装とフレームワークのAPIを対応させながら読むと、ブラックボックスを持ち込まない移行ができる
前提知識
- 『ゼロから作るDeep Learning』(1巻)を通読し、バックプロパゲーションの実装まで完了していること
- NumPyの基本的な行列演算(dot・reshape・sum・transpose)の操作感
- 高校数学レベルの微分と合成関数の連鎖律の概念理解
次に読む本
ゼロから作るDeep Learning 3
本書で numpy 直実装した RNN・LSTM・Attention を一通り動かした後、3巻が提供する自作フレームワーク Dezero の設計意図が腑に落ちやすくなる。2巻の個別実装が抽象化レイヤとして整理される過程を、コードの差分として追える
Attention Is All You Need(Vaswani et al., 2017)
本書でAttentionを実装した後、RNNを全廃したTransformerアーキテクチャの原典を読む自然なステップ。seq2seq+Attentionとの設計上の差異が明確に対比できる
出版社による内容紹介
大ベストセラーの続編。さらに作る、さらに深くDeep Learningに迫る! コンピュータの専門書としては異例の大ヒットを記録した『ゼロから作るDeep Learning』の続編。第二弾の本書では、自然言語処理や時系列データ処理に焦点を当て、ディープラーニングを使ってさまざまな問題に挑みます。word2vecやRNN(リカレントニューラルネットワーク)、LSTMやGRU、seq2seqやAttention……ディープラーニングを支えるこれら最先端の技術を実装レベルでマスターできます。前作同様、平坦な言葉で分かりやすくをモットーに、高度に見える技術の裏側をじっくり説明し、実際に作ることで理解を深めます。最後までコンセプトは変わらない。ゼロから作る!
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。