見出し画像

ゼロから作るDeep Learningを読み終えて

本書を選んだ動機

まず、簡潔なプロフィールを以下にまとめておきました。

  • 情報系の大学4年生(諸事情により研究室未配属)

  • Atcoderに取り組んでいて、Kaggleにも挑戦しようとしている

  • 現在、大学の講義で機械学習全般と強化学習について学んでいる

  • 将来的には自然言語処理の研究を行いたい

上記のような背景をもっていて、大学の講義でディープラーニングについてざっくり学んだのですが、専門用語の解説やそれがどうして成り立つのかの説明がありませんでした。なので、そのもやもや感を解消するために本書を選びました。

本書が書かれた時代について

この本は2016年に書かれた本なのですが、まだ10年も経ってないのにずいぶんと古い情報になってしまっている気がします。(決して知識が役に立たないという訳ではない)
実際、今有名なTensorflwの正式リリースが2017年ごろでPytorchも2016年後半なので、この本が書かれている時期は今とは状況が全く違いました。今でこそこれらのライブラリを用いることでニューラルネットワークを簡単に実装出来ますが、当時はそれほど簡単ではなかったでしょう。

本書を読んで得たもの

ここからが本題です。先ほどこの本の情報は古いと言いましたが、使えないという訳ではなく、今後より発展的な内容を扱う上で重要となる基本的な情報がたくさん詰まっています。
この本を読んで以下の内容についてより理解を深めることが出来ました。

  • ニューラルネットワークとは何か

  • 活性化関数とは何か、またどうして非線形なのか

  • ニューラルネットワークの学習の仕組み

  • 誤差逆伝播法となぜそれが有用なのか

  • 学習する際のパラメータを更新するアルゴリズム

  • 過学習を防ぐためのアルゴリズム

  • 畳み込みニューラルネットワーク(CNN)の仕組みとモチベーション

などのディープラーニングを行う上で大切な基礎を学ぶことが出来ました。無論これらは先に紹介したPytorch等のライブラリにすでに実装されていて、アルゴリズムの名前やパーセプトロンの個数を指定するだけで容易に使うことが出来ます。しかしながら、プログラムの入力と出力を知るだけではなく、プログラムがどのように働いてその出力が得られるのかを理解する方がのちに役立つと思います。決して安い本ではありませんが、値段以上の価値はあると思います。

この記事が気に入ったらサポートをしてみませんか?