今回はE資格の勉強をするうえですごくためになった本を紹介します。
AI、ディープラーニングについてだけでなくなんでもググれば大体のことはわかりますが、いろんな情報が出てきたり、自分のわからないところだけが説明されてなかったりして調べるのすら一苦労ですよね。
その点この本は、ディープラーニング、特に自然言語処理について理論など基本的なことをしっかりと解説してくれているので、これを選んでおけば自然言語処理について勉強するのに間違いない理由とできるようになることならないことについてまとめていきます。
E資格受験体験談についてはこちら
自然言語処理とは
自然言語処理とは、普段人間が使っている言語をコンピュータに理解させる技術で、siriや自動応答など生活に欠かせない身近な技術です。しかしそれを実現させるのは言語のどの部分がどんな意味を持っているか、各単語の類似性、文脈、そもそも単語の数が膨大であるなど処理しなければいけないことが多く非常に難しいタスクです。
しかしDeep Learningによって膨大な処理、複雑な表現が可能になり近年急速に発達しています。
そこでⅮeep Ⅼearningで自然言語処理をどう実現させてきたか、分散表現をどう定義するか、RNN、Attentionから文章生成まで一連を解説したのがこの「ゼロから作るディープラーニング2 自然言語処理編」です。
本の目次
- ニューラルネットワークの復習
- 自然言語処理と単語の分散表現
- word2vec カウントベースでなく推論ベース、CBOWとskip
- word2vecの高速化embedding、negative sampling
- RNN
- ゲート付きRNN
- RNNによる文章生成(seq2seq)
- Attention
誰のための本か
- ぜろつく1を読んでDLの基礎的な理論内容を理解した上でさらに学びたい人
- 自然言語処理について学びたい人
誰のための本ではないか
- PyTorch、TensorFlowなどのライブラリに精通したい人
- 機械学習の基本的な理論を学びたい人(NNの復習はありますが簡易的です。G検定合格したならまず1を読みましょう。)
- 最新の研究や、強化学習、生成モデルなどについて知りたい方
できるようになること
- 自然言語処理における基本的な知識(どう自然言語をコンピュータに処理できる形にするか、単語間の違いなどを理解させるか、word2vecなど)
- それらの効率的な扱い方と文章を時系列データと見立てた時の処理方法がわかる
- 上記の自然言語処理のながれ、なぜこの知識が必要で、どう改良されて、どうなっているかがわかる。
- それらをライブラリを使わずに書いたコードが理解できる(描けるようになる)
RNN、LSTMなど、再起的な結合を持つNNについて、図も多用して、時系列の流れもわかりやすく、(主にゲート付きはLSTMの解説で、GRUは4ページしかない)数回読めば確実に理解できるないようになっている。
seq2seq、エンコーダデコーダによる文章生成、機械翻訳についてもどういう仕組みなのかわかります。
さらに実装用のコード例も載っているのでアウトプットとして実装することで定着率の向上も期待できます。
できるようにならないこと、解説されていないこと
- 最新の研究、技術への精通
- 自然言語処理以外の知識、技術
- ライブラリの使い方
GPT-3のベースとなっているTransfomerは数ページしか解説されておらず、value、queryなどの説明もなく、あくまで基本的な自然言語処理、Attentionについての内容の本です。
Transformerについては下のページでの解説がわかりやすいです。(外部サイトかつほかの方の記事です。)
作って理解する Transformer /Attention
僕はこれが理解できておらず、後悔がありました。なぜかは察してください。
ただ、自然言語処理をマスターするなら間違いなく読んでおくべきかと思います。
E資格試験対策としてのゼロつく
とりあえずE資格のシラバスに乗っているword2vec、RNN、LSTM、GRU、seq2seqのところは間違いなく読んでおきましょう。
僕の受けた講座では文章の分散表現や、その計算の効率化などは解説されなかったが、この本はそれも書いてあり、それを理解することでRNNへどうつながっていくかなど、なぜ、どうしてがちゃんと解消されていける順で書いてあるから、一部一部でなく全体をとりあえず読む、そこから分からなかったとこを復習するという感じで僕は3周くらいした。
しかしなんとなくのイメージですが、自然言語処理についてはそんなに深い知識を問う問題より、各ゲートがどんな働きでどうやって制御しているか、教師強制などの高速化技術的、エンコーダデコーダの隠れ状態の伝播など講座レベル程度で、8割くらいの理解度で問題ないです。
それを踏まえて最低限押さえておきたいのは
- 分散表現でカウントベースが使われないのはなぜか
- RNNの効率的な計算をするときの重みの形
- なぜLSTMを使うのか、どのようなタスクで使うのか
- LSTM、GRUのゲートの数や名前、働きの違い、それぞれの特徴
といったところでしょうか。
最後に
今回は「ゼロから作るディープラーニング2 自然言語処理編」について書いてきました。
この本を読めば自然言語処理とその中枢技術についてマスターできます。
E資格の内容とも合致している部分が多く、E資格の勉強をしている方はぜひ参考にしていただければ幸いです。
E資格受験をしたときの記事はこちら
|