AI(人工知能)でよく出てくるcnnとは何かよくわからない!
AI(人工知能)について勉強を進めていると必ずと言ってもいいくらいcnnという用語が出てきますよね。
cnnとは畳み込みニューラルネットワーク(Convolutional Neural Network)から頭文字をとったもののこと。


それではまず、そもそもcnnとは何かからお伝えします。
cnn(畳み込みニューラルネットワーク)とは何


cnnはディープラーニングの中で非常に高い頻度で使われるニューラルネットワークの一つで身近な活用例として挙げられるのは画像認識。
そのためディープラーニングを用いた画像処理であればほぼ間違いなくCNNが使われており、今や生活に欠かせないものとなっているのです。
cnn初心者におすすめの書籍3冊


cnnとは何か軽く触れたので早速レベルごとにおすすめの書籍を見ていきましょう。
Excelでわかるディープラーニング超入門
最初におすすめする本は「Excelでわかるディープラーニング超入門」。
この本はcnnとはどのようなものか基本的な解説を学びつつ実際に動かしながら体験することができます。
深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト
次におすすめする本は「深層学習教科書 ディープラーニング G検定(ジェネラリスト) 公式テキスト」。
G検定というディープラーニングについて幅広い知識を持っていることを示す資格試験の公式テキストになります。
ゼロから作るDeep Learning
3冊目でおすすめの本は「ゼロから作るDeep Learning」。
1冊目の本と違い今度はAI(人工知能)で頻繁に使われる言語の一つであるPythonを用いて理解を進めていくものになります。
cnn中級者におすすめの書籍3冊


cnnとはどのようなものか初心者レベルの実装を交えて理解できるようになったら次におすすめの本を3冊ご紹介します。
[第2版]Python 機械学習プログラミング 達人データサイエンティストによる理論と実践
最初におすすめする本は「Python 機械学習プログラミング 達人データサイエンティストによる理論と実践」。
これは機械学習の基本的なアルゴリズムについて理論や背景にどういった数学があるか、そしてPythonでの実装を交えて理解するところから始め、cnnにまで到達できるようにするのを目指した書籍になります。
TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~
次におすすめする本は「TensorFlowで学ぶディープラーニング入門 ~畳み込みニューラルネットワーク徹底解説~」。
この本ではcnnとはどういったものかをディープラーニングの代表例とし、仕組みを基本となる部分から理解しつつTensorFlowを用いたコードを書いて動かせるようになるのを目指しています。
機械学習スタートアップシリーズ これならわかる深層学習入門
3冊目におすすめする本は「機械学習スタートアップシリーズ これならわかる深層学習入門」。
この本はコードを書くのではなく理論についてじっくり理解することに主軸を置いた本になります。
cnn上級者におすすめの書籍3冊


ここまで初心者向けと中級向けのおすすめの本を紹介してきました。
現場で使える! TensorFlow開発入門 Kerasによる深層学習モデル構築手法
最初におすすめするのは「現場で使える! TensorFlow開発入門 Kerasによる深層学習モデル構築手法」。
TensorFlowを用いているのはこれまで紹介してきた本の何冊かとの共通点。
この本ではさらにKerasというライブラリにも触れておりTensorFlowと併せ基礎となる部分から使えるように学習することができます。
PythonとKerasによるディープラーニング
次におすすめする本は「PythonとKerasによるディープラーニング」。
この本の筆者はKerasの開発者でもあり、ディープラーニングを利用できる人が一人でも増えるのを志した本となります。
深層学習
最後にご紹介するのは「深層学習」。
この本はGAN(敵対的生成ネットワーク)というアルゴリズムを考案した著名な研究者、イアン・グッドフェローが執筆をし東京大学の松尾研究室が主体となった翻訳した本となります。
cnn(畳み込みニューラルネットワーク)を学んだら実装を試してみよう


ここまで紹介した本をマスターしたら自分でも実装し試してみたくなりますよね。
その中で画像についてのコンペの開催される頻度は高いのでそれへの参加を通して力試し、他の参加者の戦い方を学ぶことでさらなるレベルアップやモチベーションの向上につながること間違いありません。


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


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

