著:斎藤 康毅
ベストセラーとなった「ゼロから作るDeep Learning」の続編である。前著はディープラーニングの基本を丁寧に説明したものだが、こちらは、最初の章でDeep Learningの基本的なおさらい解説を行った後、自然言語処理に特化した内容になっている。
Python3でプログラムを試しながら学べるようになっている。基本をしっかりやる内容なので、主に出てくるのは以下のライブラリである。
・Numpy:Pythonにおいて並列処理や数値計算を効率的に行う
・Matplotlib:グラフ描画ライブラリ
・CuPy:GPUによる並列計算を行うライブラリ。完全互換ではないがNumpyと共通のAPIを多く持つのでNumyからの移植が容易。
自然言語の技法としては、単語をベクトル化して表現する定量化の手法であるWord2Vecが大きく取り上げられている。Word2Vecには大きく分けて、以下の2つがあるが、本書では特にCBOWが丁寧に説明されている。ただ、skip-gramについても、きちんと説明されていて、両方の違いと特徴がよくわかる。
・CBOW(Continuous bag-of-words):コンテキストからターゲットを推測することを目的としたNN。CBOWでは複数のコンテキストから中央の単語(ターゲット)を推測。
・skip-gram:中央の単語(ターゲット)から周囲の複数の単語(コンテキスト)を推測する。
(例)
・CBOWの場合
You ? goodbye and I say hello.
・skip-gramの場合
? say ? and I say hello.
RNNによる文章生成、Attention Mechanismとその応用でRNNの外部に記憶空間を配置して利用するNeural Turning Machine(NTM)についての説明もある。
自然言語処理用のコーパスについてもいくつか登場する。例えば、PTB(Penn Treebank)。word2vecの発明者であるTomas Mikolovによるコーパス。手ごろな大きなでベンチマークによく利用される。付録Bでは、自然言語処理用で有名なシソーラスであるWordNetと、品詞タグ付け・構造解析・意味解析などの自然言語処理用のLibraryであるNLTK(Natural Language Toolkit)の解説がある。
付録Cでは、LSTMのゲートを利用しながらも、パラメータを削減して高速化を図ったゲート付きRNNの一種であるGRU(Gated Recurrent Unit)の説明が補足されている。
専門書の中には、説明不足のものが少なくないのだが、この本は違う。ひとつひとつの原理が、学習者のことを考えて丁寧に説明されている。地味だが、カラー印刷である。サンプルプログラムはGithubからダウンロードできる。間違いなく、良い本だ。
単行本、432ページ、オライリージャパン、2018/7/21
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- 作者: 斎藤康毅
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/09/24
- メディア: 単行本(ソフトカバー)
ゼロから作るDeep Learning 2[本/雑誌] / 斎藤康毅/著
- ジャンル: 本・雑誌・コミック > 科学・医学・技術 > 工学 > その他
- ショップ: CD&DVD NEOWING
- 価格: 3,888円