こちらの記事では自然言語処理を学ぶ上でオススメの本をご紹介しましたが、今回は機械学習全般についてオススメ本をご紹介したいと思います。
世の中にはかなり色んな本が溢れていて、本屋さんに行くと本当に迷ってしまいますね。
ここで紹介する本は、私自身が読んで(今も見返したりしていて)人にオススメしたい!と思う本だけを厳選しています。
定番の本が多いかもしれませんが、ある程度よく読まれている本をしっかり理解するのが一番の近道だと思います。
では、順番に紹介していきます!
目次
オススメ本
機械学習
『Python機械学習プログラミング 達人データサイエンティストによる理論と実践 impress top gearシリーズ』
最初は大ベストセラーのド定番です。
まずは一通り読んで手を動かしておきたい一冊です。
線形回帰、ロジスティック回帰、データの前処理、k分割交差検証、アンサンブル学習、Webアプリケーション、クラスタ分析など極めて重要な概念が一通り網羅されていて、Scikit-learnやTensorflowで動かしていきます。
自然言語処理だとBag-of-Wordsの解説があります。
最近の版では、CNN、RNNといったディープラーニングを使う上では欠かせない重要なモデルも追加されていたり、GAN(敵対的生成ネットワーク)、強化学習なども追加されています。
一度は読んでおきたい一冊ですね。
『はじめてのパターン認識』
ちまたでは「はじパタ」と呼ばれている有名な本です。
上記の『機械学習プログラミング』とは違い、プログラムを作成するというより理論の解説が中心です。
とは言っても、ものすごく丁寧に説明されているので非常にわかりやすいです。
機械学習であればこの2冊をしっかり読めば、基礎はしっかりと理解できると思います。
Deep Learning
『ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装』
「ゼロつく」と呼ばれすっかり定番になってますね。
内容としては、一般的なディープラーニングと画像認識が中心になっています。
特徴的なのがTensorflowやPyTorchといったライブラリは使用せずに、基本的にPythonのみでコーディングしていくことで、ライブラリの中身がどうなっているのかを理解できる点です。
ディープラーニングの順伝搬や、ライブラリを使うと勝手にやってくれる逆伝搬についても、実際に中で何が起こっているかを理解できるので、深く理解することができます。
説明も非常に丁寧ですので、ディープラーニングを学び始めるのであれば、最初に読みたい一冊です。
機械学習のところで出てきた『機械学習プログラミング』もディープラーニングについての解説があるので、こちらも参考にしてみてください。
PyTorch + 自然言語処理・画像認識・GANなど全般
『つくりながら学ぶ!PyTorchによる発展ディープラーニング』
自然言語処理や画像認識、GANといった非常に幅広い分野について、まんべんなく解説があり、PyTorchで実装していきます。
まんべんなくと言っても、浅いわけではなく、重要なモデルを非常にうまくピックアップしているので、基礎と応用を同時に学べる感じがします。
解説もわかりやすいですが、著者の方のモデルやトピックのチョイスのセンスも抜群ですね。
自然言語処理においても、非常に重要なモデルであるTransformerやBERTを実装していきますが、BERTを実装するというのはなかなかないので、非常に勉強になると思います。
自然言語処理
『ゼロから作るDeep Learning ❷ ―自然言語処理編』
前述の『ゼロつく』の自然言語処理に特化した本です。
『ゼロつく』を読んだ人だと、こちらもわかりやすい本であることは簡単に想像できます。
自然言語処理に特化した本なので、自然言語処理でよく使われているRecurrent Neural Networkについて非常にわかりやすく解説されています。
また、現在のディープラーニングを語る上で非常に重要な仕組みであるattentionについても解説されており、実装もあります。
内容はattentionあたりまでなので、それ以降のTransformerやBERTなどの発展については他の本を読む必要がありますが、attentionの理解は必須ですし、そこまでをしっかり理解しておくとその後の理解も簡単になります。
『BERTによる自然言語処理入門 ―Transformersを使った実践プログラミング―』
こちらは自然言語処理分野でブレイクスルーとなったBERT(Bidirectional Encoder Representations from Transformers)を深く解説しており、さらにHugging FaceのTransformersという最新のモデルを利用できるライブラリを使ってモデルを構築していきます。
Hugging FaceのTransformersは、実務で自然言語処理を使う上で非常に重要なライブラリですので、この本で学んでおくとよいと思います。
勝手に考えたラーニングパス
ということで、自然言語処理について勝手にラーニングパスを考えてみました(無視していただいても結構です(笑))。
『ゼロから作るDeep Learning ❷ ―自然言語処理編』でattentionまでをPythonで実装しながら学ぶ
『つくりながら学ぶ!PyTorchによる発展ディープラーニング』でTransformer、BERTをPyTorchで実装しながら学ぶ
『BERTによる自然言語処理入門 ―Transformersを使った実践プログラミング―』でBERTとHugging FaceのTransformersを実装しながら学ぶ
もちろん、もっと理論を深く知らないと!とかそれだけじゃダメだ!とか聞こえてきそうですが、結構楽しみながら学べるのではないかなと思います。
自然言語処理の本については、以下の記事でもう少し紹介しています。
重複している本が多いですが、一部「対話システム」、「固有表現抽出」などもう少し細かいテーマについての本もご紹介していますので、興味がある方はご覧いただければと思います。
画像処理
ディープラーニングと言えば画像処理(画像認識)という感じがあるので、一般的なディープラーニングの本で解説されており、私自身、画像処理に特化した本はあまり読んでいません。
ですので、既に紹介した以下の本で学んでいただければいいのかなと思います。
- 『ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装』
- 『Python機械学習プログラミング 達人データサイエンティストによる理論と実践 impress top gearシリーズ』
- 『つくりながら学ぶ!PyTorchによる発展ディープラーニング』
ただ、以下の本は理論が詳しく解説がされていますので、しっかり理解した人向けにご紹介しておきます。
『画像認識 (機械学習プロフェッショナルシリーズ)』
前述の通り、理論がしっかりと詳しく解説されています。
論文を読んでて、これ何だろう?というのが出てきた場合、この本で確認することも多いです。
こういった本を一冊持っていれば役に立つと思います。
PyTorch
『PyTorch実践入門 (Compass Booksシリーズ)』
PyTorchの解説本です。
TensorflowかPyTorchのどちらがいいの?と聞かれると、個人的にはわかりやすい本が多いと感じるPyTorchをオススメします。
というのも、この本や『つくりながら学ぶ!PyTorchによる発展ディープラーニング』、次で紹介する本などがあるからです。
この本はすごくまとまっていて基礎的なところから解説があるので、PyTorchを使う方は一度は読んだ方がよいかなと思います。
今となってはPyTorchもTensorflowも非常に近くなっているので、PyTorchに慣れればTensorflowもそれほど苦労はしないと思います。
最短コースでわかる PyTorch &深層学習プログラミング
こちらは非常に評判の良い本です。
Twitterなどで見る限り、この本で勉強している人も多いようですね。
基礎的な部分から非常に丁寧に説明されていることから、めちゃくちゃわかりやすく、入門者に最適です。
まだあまり自信のない人はこちらの本をオススメします。
ベイズ深層学習
『ベイズ深層学習 (機械学習プロフェッショナルシリーズ)』
ディープラーニングとベイズ統計が合わさったベイズ深層学習がわかりやすく解説されている本です。
VAE(Variational Auto-Encoder)を理解するために使用した本です(こちらとあとで載せている『パターン認識と機械学習』を使いました)。
少し難しい部分もありますが、基本的にはわかりやすく書かれています。
著者の方の優しさ(丁寧さ)とプロフェッショナルさが伝わってきます(笑)。
ちょっと難しいという方に、もう少し基本的な解説があるのがこちらの本です。
私はまだ読んでいませんが、同じ著者の方なので同じように非常にわかりやすいと思います。
より基礎的なところから勉強したい方はこちらを読んでみるのも良いと思います。
少し上級本
ここからは一般的に難しいとされている少し上級者向けの本になります。
これから機械学習やディープラーニングを学んでAIエンジニアになろう!という人向けではないかもしれません。
ただ、これらの本を読むと理解が深くなりますので、どこかのタイミングでしっかり読む、もしくは関連するトピックを読んでみるというのも良いと思います。
なお、どれだけ読んでも理解できないほどめちゃくちゃ難しいか?と言われると、そこまでではなく、難しい内容をわかりやすく解説されていると思います。
『パターン認識と機械学習』
日本語訳版は上と下に分かれています。
ベイズ統計を使った話題が多くなっています
情報理論についても触れられており、エントロピーやカルバック・ライブラー・ダイバージェンスといった論文にはよく出てくるが概念についてもしっかりと理解できます。
個人的には難しめの内容をすごくわかりやすく解説されていると感じます。
『統計的学習の基礎 ―データマイニング・推論・予測―』
こちらは一冊ですがめちゃくちゃ分厚くボリュームが多い本です(税別1万4000円です)。
「平均2乗誤差を基準とするならば, \(X=x\)における\(Y\)の最良の予測は条件付き期待値ということになる」という説明がありますが、こういった数学や数理統計の本では当然されているが機械学習の本だとあまりされていないことについてもちゃんと説明があります。
理論をしっかり理解したい大学生、大学院生にはオススメですね。
あとこのようなでかい本を置いておくと賢くなった気分になるというメリットもあります(笑)。
まとめ
今回は機械学習・AIを学ぶためのオススメ本を紹介してきました。
是非いい本を選んで効率的に勉強していただければと思います。
また、UdemyやCouseraなどのMOOCやスクールを活用するというのも一つの選択肢だと思いますので、それらも有効に活用しながら自分にあった効率的な学習をして、スキルアップしていただければと思います。
Udemyの講座についてはこちらで紹介していますので、よろしければ参考にしてください。
MOOC + 本という組み合わせはすごくオススデです。
他にも紹介したい本が出てくれば更新したいと思います。
では!