lisz-works

プログラミングと興味を貴方に

ゼロから作るDeep Learningを買ってみた!1-2章を読んだ感想とか!

【スポンサーリンク】

回路の脳

最近ディープラーニング*1とうのに興味津々なlisでございます。

気になり始めてから、darknetをちょろっと試してみました。

www.lisz-works.com

www.lisz-works.com

やり始めると、より興味が沸いてしまい、書籍を購入しました……

今回は、購入したコチラの本についてご紹介です。
まだ導入部分しか読んでいないのですが……

今読んでいる感じ、初心者にオススメです!

なぜ初心者にオススメか?

とはいえ、まだ1、2章しか読めていないのですが、「それなのに何が初心者にオススメやねん」っていう話です。

理由は、必要な初歩的なことを説明してくれているからです。

「いや当たり前じゃん」

っていう話かと思うんですが、こういう専門書的なものって、「●●を知ってる前提」で書かれてたり、超有識者が書いた“初心者向け”というなの初心者向け説明ができてない本が世の中には点在いませんか?

ありません?

「いや、これなんだよ」

ってなったりするやつ。

どのくらいの初心者向けか?

ぼくがPython若干かじったことがあるレベルだった、というところをベースでお話します。

「プログラムすらやったことないよ!」

という方だと、もしかしたらプログラミング自体の概念的なところで躓く場合は、プログラム自体やPythonの基礎勉強をしてみた方がいいかもしれません。

個人的には、わりと分かりやすくは書かれているとは思うんですが……

「プログラム経験者でPython初心者です」というくらいの方なら、1〜2章で導入をいい感じに受けられるんじゃないでしょうか?

1章:pythonの基礎解説

Pythonの基礎的なところですね。

この書籍では、Anacondaという環境をオススメしています。
凄くざっくりいうと、色々全部入りのPython環境って感じですね(笑)

これのインストールや、Pythonの基本的な操作についてがまず書かれています。

そして、基本的な演算、構文等が書かれています。

具体的にはこんな感じ。

  1. 算術計算
  2. データ型
  3. 変数
  4. リスト
  5. ディクショナリ
  6. ブーリアン
  7. if文
  8. for文
  9. 関数
  10. クラス
  11. NumPy
  12. Matplotlib

プログラムをかじっている人は、分かりやすいので、サクサクいけると思います。

NumPyとかMatplotlibとか触ったことなかったので、本書を基に試してみてちょっと感動しましたね。

データ郡の演算や、グラフの描画が簡単に行えるので、普通に驚きました(笑)

2章:pythonで実装する論理回路の話

ANDとかORとかの演算を作るお話しです。

ここではパーセプトロンという、人工知能の基礎知識として、必要なものになります。
同じだけどちょっと違う感じ?

ある入力を演算して、閾値を超えるかどうかで、結果として1/0を出力する関数を作ります。

これで、AND/OR/NAND/XORを作っていきます。

改めて「論理演算を処理で作る」という事をしたことがなかったので……なんか新鮮(笑)

ここまで読んでみて

とりあえず1、2章はわりかしサクっといけましたね。

プログラム自体や、表示例等が書かれているので、打ち込みながら確認しながらやって行けば

「ああなるほど」

と進めましたね。

ただ、ほんとにベースの所なのだと思うので、これから本格的なところが始まっていく感じですね!

全体の構成

  1. Python入門
  2. パーセプトロン
  3. ニューラルネットワーク
  4. ニューラルネットワークの学習
  5. 誤差逆伝播法
  6. 学習に関するテクニック
  7. 畳み込みニューラルネットワーク
  8. ディープラーニング
  9. 付録A Softmax-with-Lossレイヤの計算グラフ

4章から学習とかが入ってくるので、ワクワクが止まりません。

その前のニューラルネットワークをちゃんと理解せねば……といった感じです。

誤差逆伝播法とか畳み込みとか、この辺の用語は知らないので、どうなることやら(笑)

あとがき

気になりすぎちゃって本買いましたが、なかなかいいですね!

久しぶりにこういう参考書?を買った気がします(笑)

これでディープラーニングの理解が深まったら、なんかいろいろワクワクです。

この知識を持った状態で、darknetをちゃんと見てみたり、なんかアプリとか作れないか?とか考えても楽しそうですね。

……なにかに活用したい!!

*1:Deep Learning(深層学習)
機械学習を用いた人工知能(AI)の種類の一種。ニューラルネットワークともいう。
まずは「あぁ人工知能のやつね」と覚えてもらえればw