教育

cnnとは何だろう?おすすめ畳み込みニューラルネットワークの本9選

大量の本

AI(人工知能)でよく出てくるcnnとは何かよくわからない!

AI(人工知能)について勉強を進めていると必ずと言ってもいいくらいcnnという用語が出てきますよね。

cnnとは畳み込みニューラルネットワーク(Convolutional Neural Network)から頭文字をとったもののこと。

用途や実装方法を理解すれば研究者や開発者でなくても十分活用できるもののAI(人工知能)の中でも応用的な内容であるため敷居が高いのも事実。
そこで今回はcnnについてや周辺知識を座学と実践を交えて理解できるようにするのを想定、初心者、中級者、上級者の3つのレベルに分けそれぞれおすすめの本を3冊紹介します。
中村
中村

それではまず、そもそもcnnとは何かからお伝えします。

cnn(畳み込みニューラルネットワーク)とは何

不明点のイメージ

cnnはディープラーニングの中で非常に高い頻度で使われるニューラルネットワークの一つで身近な活用例として挙げられるのは画像認識

画像を二次元のままで処理をするという特徴があり、一次元の状態にして処理していた従来の手法よりも重要な情報を保持することができるようになっています。

そのためディープラーニングを用いた画像処理であればほぼ間違いなくCNNが使われており、今や生活に欠かせないものとなっているのです。

cnn初心者におすすめの書籍3冊

外へ一歩踏み出すイメージ

cnnとは何か軽く触れたので早速レベルごとにおすすめの書籍を見ていきましょう。

Excelでわかるディープラーニング超入門

最初におすすめする本は「Excelでわかるディープラーニング超入門」。

この本はcnnとはどのようなものか基本的な解説を学びつつ実際に動かしながら体験することができます。

注目ポイントはタイトルにもあるようにExcelを用いていること。
プログラミングの経験がなくても実際に手を動かしながら学習できるよう配慮されています。
また、数学も初頭的なレベルに抑えられているのも学びやすい点。
本の中で復習できるだけでなくExcelの簡単な操作と併せて進めていけるので無理なく理解していくことができます。

深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト

次におすすめする本は「深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト」。

G検定というディープラーニングについて幅広い知識を持っていることを示す資格試験の公式テキストになります。

この本でカバーされているのはディープラーニングやcnnとはについてはもちろん、AI(人工知能)の仕組みや歴史、社会との関わり方といった基本的な内容。
資格試験を受ける予定がなくてもcnnとは何かに限らずAI(人工知能)を学ぶ上で木の幹の部分を体系的に学べるので今後の学習にも十分役に立ちます。

ゼロから作るDeep Learning

3冊目でおすすめの本は「ゼロから作るDeep Learning」。

1冊目の本と違い今度はAI(人工知能)で頻繁に使われる言語の一つであるPythonを用いて理解を進めていくものになります。

この本で工夫されている最大のポイントはPythonの中であらかじめ用意されているライブラリにあえて頼らず何もない状態から実装を進めていくこと。
こうすることによってディープラーニングの基礎を手を動かすことで実感を伴いながら理解をし無理なくcnnに挑戦することができるようになります。

cnn中級者におすすめの書籍3冊

外へ踏み出したイメージ

cnnとはどのようなものか初心者レベルの実装を交えて理解できるようになったら次におすすめの本を3冊ご紹介します。

[第2版]Python 機械学習プログラミング 達人データサイエンティストによる理論と実践

最初におすすめする本は「Python 機械学習プログラミング 達人データサイエンティストによる理論と実践」。

これは機械学習の基本的なアルゴリズムについて理論や背景にどういった数学があるか、そしてPythonでの実装を交えて理解するところから始め、cnnにまで到達できるようにするのを目指した書籍になります。

ゼロから作るDeep Learningと違いscikit-learnやTensorFlowといったPythonのライブラリを使用。
これをきっかけに機械学習の全体像や理論、仕組みについて実装を伴いながら理解をし今後使うことになるライブラリに慣れておくことで以降の学習をする上で重要な土台を作っていくのに最適な本の一つです。

TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~

次におすすめする本は「TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~」。

この本ではcnnとはどういったものかをディープラーニングの代表例とし、仕組みを基本となる部分から理解しつつTensorFlowを用いたコードを書いて動かせるようになるのを目指しています。

工夫されているのはTensorFlowで実際に動くコードを使いcnnを作っている一つ一つのパーツがそれぞれどう関連しているのか丁寧に理解できるようにしていること。
これを通して自分で実装したものの精度があがっていくのを実感することができるのでその成長を楽しみながら進めていくことができます。

機械学習スタートアップシリーズ これならわかる深層学習入門

3冊目におすすめする本は「機械学習スタートアップシリーズ これならわかる深層学習入門」。

この本はコードを書くのではなく理論についてじっくり理解することに主軸を置いた本になります。

この理論書がカバーしているのは統計や機械学習の基礎といった土台となるところからcnnとはについて、最終的に深層強化学習といったさらに踏み込んだ領域まで。
機械学習の予備知識がない人でも独学で研究の最前線にいけるようにするのを目指しており中級レベルで座学と実践の両立を目指すうえでまたとない書籍となります。

cnn上級者におすすめの書籍3冊

険しい階段を上るイメージ

ここまで初心者向けと中級向けのおすすめの本を紹介してきました。

最後に上級者におすすめのハイレベルな本をご紹介します。

現場で使える! TensorFlow開発入門 Kerasによる深層学習モデル構築手法

最初におすすめするのは「現場で使える! TensorFlow開発入門 Kerasによる深層学習モデル構築手法」。

TensorFlowを用いているのはこれまで紹介してきた本の何冊かとの共通点。

この本ではさらにKerasというライブラリにも触れておりTensorFlowと併せ基礎となる部分から使えるように学習することができます。

この本のさらに注目すべきなのはこれまで学んできたcnnの応用ができること。
ノイズ除去や自動着色、画像生成などより実践的なところへとレベルアップし現場での実践を見据えることができるようになります。

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

次におすすめする本は「PythonとKerasによるディープラーニング」。

この本の筆者はKerasの開発者でもあり、ディープラーニングを利用できる人が一人でも増えるのを志した本となります。

ディープラーニングの基礎となる概念や予備知識を復習し、画像分類に挑戦しディープラーニングの限界や今後の予測についてまで学習できるのがこの本のポイント。
自然言語処理というまた別の領域についても触れられており、Kerasを幅広い問題でも使えるようになりつつディープラーニングについてもより現実的な理解ができるようになります。

深層学習

最後にご紹介するのは「深層学習」

この本はGAN(敵対的生成ネットワーク)というアルゴリズムを考案した著名な研究者、イアン・グッドフェローが執筆をし東京大学の松尾研究室が主体となった翻訳した本となります。

この本の構成はディープラーニングの理解に必要となる数学やニューラルネットワークで基礎となる範囲から始まりcnnやrnn、最新研究の紹介といった流れ。
各項目についてこれまで紹介してきた本の中でもかなり詳細に書かれており上級者として理解を深めていくのに最適です。

cnn(畳み込みニューラルネットワーク)を学んだら実装を試してみよう

次のステップのイメージ

ここまで紹介した本をマスターしたら自分でも実装し試してみたくなりますよね。

そこでおすすめなのはKaggleというサイトのコンペに挑戦すること。
このサイトではAI(人工知能)を用いてデータ分析をする人が世界中から集まっており、その中で与えられた課題への正確さを競う大会が頻繁に開かれています。

その中で画像についてのコンペの開催される頻度は高いのでそれへの参加を通して力試し、他の参加者の戦い方を学ぶことでさらなるレベルアップやモチベーションの向上につながること間違いありません。

頂上に登りきったイメージ

今回はcnnとは何かや周辺知識を座学と実践の両方から理解するのを想定、初心者、中級者、上級者の3つのレベルに分けそれぞれのステップでおすすめの本を3冊ずつ紹介しました。

  • 初級者の段階では学習する数学のレベルを必要最低限にしつつ手を動かしながら少しずつ仕組みを理解していくのがおすすめ。
  • 中級者の段階になったらPythonのライブラリや数学の理論について本格的に触れ始め、上級者の段階になったら骨太の理論書を理解しつつ現場での実践を見据えたレベルを意識した実装に挑むのがおすすめです。
  • cnnとはどのようなものか学んできたらKaggleのコンペに挑戦することで力試しをしたり世界中のライバルから知識を吸収することでさらなる発見や学習が期待できます。
中村
中村

初級者の段階からでも着実に積み上げていき自分でも画像処理ができるといいですよね。

トップへ戻る
タイトルとURLをコピーしました