Pythonでディープラーニングを勉強するのにオススメな参考書3選

昨今の深層学習ブーム

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

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

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

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

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

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

オススメ度☆☆☆☆☆

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

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

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

オススメ度 ☆☆☆☆

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

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

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

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

PyTorchで始める深層学習 

オススメ度 ☆☆☆☆

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

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

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

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は人間に何をもたらすのか  」という本を出版しているので、そちらがオススメです。

また最近はPythonのよる機械学習・ディープラーニングを勉強できるプログラミングスクールやオンライン学習サービスも増えてきているので、参考書だけ読んでもイマイチ分からないという人はそういうのを使って勉強してみるのもいいかもしれませんね。昨今は月々たった3000円でディープラーニングが勉強できる「PyQ™(パイキュー)などもできており、昔よりも学習のハードル・コストは下がりつつあります。

PyQ™(パイキュー)の詳細を見てみる

また他にも少し値段は高いですが、Aidemy Premium Planだとレベルが高い学習内容なのでAIエンジニアとして実務レベルのスキルを身に着けられます。IT人材の給料が世界と比べて低い日本でもAIが分かるエンジニアには年収1000万を出すところもあるので、本気で勉強する気があるならば十分元はとれます。


 Aidemy Premium Planの詳細を見てみる

プログラミングの独学はとても難しい


プログラミングは小学校の義務教育にも導入され始めており、これから社会人として生きていく上でプログラミングはもはや出来て当たり前、出来なれば論外というエクセルレベルの必須スキルになりつつあります。そしてそういう話を聞いて参考書なりを購入して独学でプログラミング勉強しようと思っている人も少なくないでしょう。しかしプログラミングを独学で勉強し始めようと思うものの



・「分からない箇所で詰まって挫折してしまった」

・「勉強する時間が足りない」

・「ネットの記事だと情報が断片的でよくわからない」

・「コードのエラーの原因が分からない」



という壁にぶち当たって、プログラミングの勉強を止めてしまう方が少なくありません。独学でプログラミングを勉強してる時間のほとんどはつまづいている時間です。実際僕も最初のころ独学でプログラミングを勉強していた頃はエラーの原因が分からず丸1日を不意にしてしまった・・・そんな苦い経験がありました。



それで僕は一度はプログラミングの学習を諦めてしまいましたが、就活で現実を知る中で「プログラミングを勉強して、いずれフリーランスとして自由な生き方がしたい」「エンジニアとして若いうちから高収入を得たい」という気持ちから一念発起して「侍エンジニアのwebサービスコース」に申し込み、プロのエンジニアの方に対面でマンツーマンでPythonによるWebサービス作り方とWeb技術の基本を教えてもらい、ようやくプログラミングが理解でき、今ではエンジニアとしてそこそこの暮らしができるようになりました。





侍エンジニアでは、とりあえずプログラミングやインターネットの基本を知っておきたい人から、HTML・cssなどでWebサイトやWebアプリを作ってみたい人やPythonを勉強してデータサイエンティストやAIエンジニアになりたい人まで幅広いニーズに応えた様々なコースが用意されています。



IT業界と言ってもエンジニアの仕事はプログラミング言語次第でサーバーから機械学習・ディープラーニングまで多種多様ですし、侍エンジニアの無料レッスン(カウンセリング)を受けてみて、自分のやりたいITの仕事は何なのか?を見つけるのがエンジニアへの第一歩になります。ちなみに今侍エンジニアの無料レッスンを受けると1000円分のAmazonギフト券がもらえるので、試しに受けてみるだけもお得です。


自分は半端に独学やオンラインスクールで勉強して金と時間を無駄にするくらいなら、リアルのプログラミングスクールに通ってしっかりプログラミングを勉強した方がいいと思います。ちなみに今、侍エンジニアに申し込むと、25歳以下の学生の方であれば、受講料が20%OFFになるので超お得です。


そして、プログラミングは大勢で授業を受けたり漫然とオンライン学習をするよりも自分が分からない箇所をピンポイントでプロの講師に直接質問して、ちゃんと納得するというスタイルの方がお金は確かに少し掛かりますが、独学で学ぶよりも絶対にモノになります。


シェアする

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

フォローする