【Python】深層学習(ディープラーニング)を勉強する上でオススメな参考書まとめ

スポンサーリンク

昨今の深層学習ブーム

昨今、テレビでもSNSでもディープラーニング・AIという単語を聞かない日はありません。過去にもAIは実用化が期待されるも、なかなか結果が出ず世間から見放された冬の時代もありましたが、今や実用化の段階にきているといっても過言ではありません。

それに加えて、Pythonというプログラミング言語ではkeras・tesorflowといった機械学習用の便利なライブラリが公開され、基本的な構文知識があれば誰でも簡単に機械学習・ディープラーニングを始める環境が整っています。

そんな中学生や社会人でも就活や自身のキャリアアップを考えて深層学習(ディープラーニング)について勉強してみようと思っている方も多いと思います。今日はそんな人たちにオススメなpythonで実際にディープラーニングを取り組むうえで役に立つ参考書を紹介していきたいと思います。

独学するなら絶対買っとけレベル

まず独学でPythonを使い、ニューラルネットワークやディープラーニングを勉強・実装するのであれば以下の3冊のうちのどれかを購入するのがオススメです。

いちばんやさしい ディープラーニング 入門教室

オススメ度☆☆☆☆☆

本の名前の通り、ディープラーニングについていちばんやさしく解説している参考書だと思います。数式をあまり用いず色付きの図を用いて視覚的に解説しておりディープラーニングについてこれでもかというくらいかみ砕いて説明している参考書です。

ディープラーニング系の参考書は毎月新しいものが刊行されているので、これからそうなるかは分かりませんが、少なくともこの記事を執筆した時点では、ニューラルネットワーク・ディープラーニングの仕組みとそれをpythonで実装する方法を一番わかりやすく解説しているので、独学でディープラーニングを勉強したいという人にとっての触りの一冊として超オススメです。

ニューラルネットワーク自作入門

オススメ度 ☆☆☆☆

この本も上の本と同じくらいニューラルネットワークについてわかりやすく書かれておりかなり重宝しました。特徴としてはkerasやTensorflow などの機械学習系のライブラリを使わず一からニューラルネットワークを実装する方法が丁寧に書かれている点ですね。

ぶっちゃけkerasなんかを使えば、ディープラーニングの実装過程はほとんど関数化されているので、ニューラルネットワークの仕組みを分かってなくともデータをちょっと整形してコードをコピペしていくだけで計算処理自体はできてしまいます。

すると例題の手書き文字やイワナの分類以外の分析は全くできないなんてことが起こってしまいますが、この本ではKerasの関数を使わず自分で計算式を書いて1から実装していくので、中でどういう処理がされているのか体系的に理解することができます。

なので、ニューラルネットワーク・ディープラーニングの仕組みと実装についてじっくり理解したい人にはオススメの一冊です。ただ計算式が多めなので理系の方は大丈夫だと思いますが文系の方には少し厳しいと思います。

PyTorchで始める深層学習 

オススメ度 ☆☆☆☆

これは超わかりやすかったです。ディープラーニング、つまりニューラルネットワークとパーセプトロンについて丁寧に解説されており、加えてコードで使われている関数の処理もちゃんと書いてくれていて内部でどういうことをしているのかも把握しやすく、ディープラーニングを体系的に理解できるため、初学者にオススメできるディープラーニングの参考書だと思います。

本のタイトルどおり複雑な数式がなく、図などで体系的に説明されているので文系でも読めますがタイトルから分かるようにTensorflow・Kerasではなく、Pytorchを使っています。まあPytorchはTensorflowやkerasよりも少しマイナーですが、使い方が分かればディープラーニング用ライブラリとしてバリバリ使えますし、Kerasよりも高度な実装ができるので全然アリだとは思います。

深層学習の概要を理解した上で買うべき参考書

PythonとKerasによるディープラーニング

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

PythonとKerasによるディープラーニング

コード自体はちゃんと書いてありますが、ディープラーニングの説明については少し雑というか細かい点まで触れてはいるものの基本を押さえた前提で書いてあるので、初学者が購入すると恐らくハマります。

僕はディープラーニングを勉強する際、kerasが一番簡単だと言われて、一番最初にこの本を買ったのですが、図もほとんどなく結局なにが起こっているのか全く分からないポルナレフ状態でさっぱり読み進められず、ほかの参考書で仕組みを理解した後ちゃんとようやく内容が理解できました。

ですが、基本をちゃんと抑えて読むとkerasのコード自体は豊富で参考になりますし、Pythonで畳み込みニューラルネットワーク(CNN)やリカレントネットワーク(RNN)やLSTMといった少し高度なディープラーニングを実装する上では参考になるので、ディープラーニング/ニューラルネットワークの基礎は一通り抑えたうえで、そこからCNNやLSTMを実装したい中級者向けの本だと思います。

Pythonによる AI・機械学習・深層学習アプリのつくり方

機械学習全般を抑えた参考書であるため決定木などの他の機械学習アルゴリズムでの分析も紹介しており、ニューラルネットワーク/ディープラーニングについての説明自体は図もほとんどなくざっくりとしたものですが、チャットボットや形態素解析などさまざまなデータを分析するモデルケースがあり、実践例が豊富で押さえている範囲は広いです。

その代わりドロップアウトなどの精度を上げるために用いるパラメーターについて細かい解説はないため、基本を理解して応用例を勉強したい中級者向けかと思われます。僕は時系列データ専門なのであまり響きませんでしたが、色んな応用例が載っているので業務で色んな案件に深層学習を使う人には参考になると思います。

他にもアプリケーションへの実装などが書いてあり、他のディープラーニングの仕組みと軽い実装するコードが巷にあふれる参考書とは少し切り口が違うので、一応手元に置いておいて損はないです。

詳解 ディープラーニング ~TensorFlow・Kerasによる時系列データ処理~

オススメ度☆☆☆☆

タイトルの通りニューラルネットワーク・ディープラーニングについて詳細に解説してあり、Pythonで実装する際に自分もかなり役に立ちました!まあこのブログの他の記事を見ても分かるように、僕は株価や仮想通貨・ビットコインの価格データといった、時系列データの分析が主なので、今でも読み込んでいます。

ディープラーニング系特に時系列データのディープラーニングに用いるリカレントネットワーク(RNN/LSTM)については、今まで自分が読んだ参考書の中では図を用いて一番丁寧に解説していたので、リカレントネットワーク(RNN/LSTM)についてちゃんと知りたいという方は必読の一冊です!まあそれでもリカレントネットワーク自体が超複雑ですし、数式も結構でてきますので、中~上級者向けかと思います。

スポンサーリンク

終わり

以上が僕がニューラルネットワーク・深層学習(ディープラーニング)をPythonで実装する上でAmazonにあるものをほぼすべて購入した中で役に立った参考書の一覧とレビューです。昨今は簡単なライブラリや高スペックのPCが一般人も簡単に手に入れることができるようになったためかこういう類の参考書が巷に溢れています。

そして、その中には質の低い参考書や内容のレベルの差もあり、自分のニューラルネットワーク/ディープラーニングの理解度にあった本を見つけるのが非常に難しい状態になっています。ですが、こういう専門書は普通の書籍よりも高価なため、学生の方なんかはポンポン買う事の出来ない人もいると思いますし、そういった人たちの参考になればと思います。

他にもpythonとは全く関係なのですが、ディープラーニングやAIの社会的立場の変遷については松尾豊准教授が執筆した 「人工知能は人間を超えるか ディープラーニングの先にあるもの 」という本がなかなか面白かったので、将来AIエンジニアやデータサイエンティストになりたいと考えている人は一読してみるといいかと思われます。

まあこの本は少し専門的な内容なので、手早くざっくりと把握したいという人は、同氏がより内容を簡単にした「 マンガでわかる! 人工知能 AIは人間に何をもたらすのか  」という本を出版しているので、そちらがオススメです。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする