【雑記】「RとKerasによるディープラーニング」が素晴らしい

コンピューティングのGPGPUの仕組みには興味あって、CUDAとかはチョイチョイ触っていたのですが、昨今、流行りの、カメラ+深層学習にはどうも興味が湧かなくて静観していました。

が、お仕事でJetson NanoとかCoral DevBoardとかを扱わなければならず、「深層学習マルデワカリマセン」では通用しないので、、、みなさんに追いつけるよう、機械学習と深層学習をちびちびとやり始めました。

しかし、マジ辛い。

深層学習の参考書を読み漁ってみると、パーセプトロンから始まって、多層、活性化関数、出力層と、、、聞きなれない用語と数式が多数。 数学はわりと好きな方なのですが、用語が多いのは辛い。選んだ本が悪いのか(オイオイ)と思い、他の参考書も見てみるが、どれもこれもだいたい似たような感じ。(オイオイオイ)

が、最近手に取った「RとKerasによるディープラーニング」が、俺が求めていたのはまさにこれだーーーーー!!!だったので、ブログ書くことにしました。

www.oreilly.co.jp

本書の内容

  • R経験者で深層学習についてあまり知識のない統計学者、アナリスト、エンジニア、学生を対象
  • 基礎理論から高度な実践的アプリケーションまでの扱う学習教材
  • 30本以上のコード例、実践的なアドバイス、問題の解決にとりくむために必要なすべてのものについての広い視野に立った説明

本書のすばらしいところ

ぼんやり から 詳細 へ

まずはサンプルコードでサッと動かしてから、より詳細を解説するスタイル。

過去から現代へ、積み上げたものを解説していくのではなく、まずはKerasで動かしてから、その章で注視する部分だけを詳細に説明しています。

一般的に疑問に思うであろう部分から章立てされていて、巧妙に組み立てられている感じ。

概念を直感的に

前半の章は、数学の基礎知識がない人を尻込みさせないように数学記号は使わず、過度に専門的にならずに概念を直感的に理解できるように書かれています。

疑問点に共感

1/3ほど読み進めると、「ここ疑問でしたよね?こうなっている理由は、、、」という流れに変わってきますが、この疑問点が共感できます。(個人差があるとは思います)

たとえば、

  • 活性化関数ってなぜ必要?
  • なぜデータセットは訓練セットとテストセットの2セットではないのか?

など。

まとめ

深層学習の学習範囲は、さまざまあると思いますが、

  • 既存モデルの正確度を上げる
  • 既存モデルの実行速度を上げる
  • 既存モデルのメモリ使用量を下げる
  • モデルをゼロから作る
  • 複数モデルを組み合わせて正確度を上げる
  • 深層学習を実運用に適用する
  • 実運用の深層学習の性能向上を考える

どれに取り組むにしても、一度、この本を通読することを強くオススメします。