July 2018
Beginner to intermediate
432 pages
5h 58m
Japanese
何でも薄暗いじめじめした所で
ニャーニャー泣いていた事だけは記憶している。
——夏目漱石『吾輩は猫である』
これまで私たちが見てきたニューラルネットワークは、フィードフォワードと呼ばれるタイプのネットワークです。フィードフォワードとは流れが一方向のネットワークのことです。これは具体的に言うと、入力信号が次の層(隠れ層)へ信号を伝達し、信号を受け取った層はその次の層へ伝達し、そしてまた次の層へ……といったように一方向だけの信号伝達を行います。
フィードフォワード・ネットワークは単純な構成で、仕組みも理解しやすく、それでいて多くの問題に応用できます。しかし、このタイプのネットワークには大きな問題があります。その問題とは、時系列データをうまく扱えないことです。これはより正確に言うと、単純なフィードフォワード・ネットワークでは、時系列データの性質(パターン)を十分に学習することができないのです。そこで、リカレントニューラルネットワーク(Recurrent Neural Network)、略してRNNの出番です。
本章では、フィードフォワード・ネットワークの問題点を指摘し、RNNがその問題を見事に解決できることを説明します。また、RNNの構造をじっくりと時間をかけて解説しながら、その処理をPythonで実装していきます。
ここではRNNの話を始める前の準備として、前章のword2vecの復習から始めます。また、自然言語に関する現象を「確率」を使って記述し、最後に、言語を確率として扱う「言語モデル」について説明します。
それでは、前章のword2vecのCBOWモデルの復習から始めましょう。ここでは、 ...
Read now
Unlock full access