Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
176
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

【保存版】環境構築不要!Google Colaboratoryで始める「ゼロから作るDeepLearning」

「ゼロから作るDeepLearning」とは?

image.png

DeepLearningの理論非常に丁寧に説明している良書です。ライブラリに頼らず理論を理解してゼロから実装するので、「DeepLearningの理論をしっかりと理解したい!」という人におすすめです。ですが、Pythonの文法の説明は少ないので、ある程度入門書などでPythonの基礎を習得していないと理論は理解できてもプログラムを理解するのは難しいかと思います。

以下から購入できます。
https://www.amazon.co.jp/dp/4873117585/ref=cm_sw_em_r_mt_dp_U_dEFvEb1FVX4AK

プログラムをGoogle Colaboratoryで動かしたい

https://github.com/oreilly-japan/deep-learning-from-scratch
上記のGithubにそれぞれの章のサンプルコードが載っているのですが、これをローカルに落として環境構築するのは初心者にはちょっととっつきにくいかと思いました。そこで、今後この書籍を読む方の参考になればと思い、Googleアカウントさえあれば誰でもすぐに使えるGoogle Colaboratoryを使ってサンプルコードを全て動かせるようにしました。

要約

以下では簡単に各章の要約をして、サンプルコードと解説動画のリンクを貼っています。サンプルコードがわからない方はYoutubeの解説動画を参考にしてみてください。
プログラムはノートブックの左上にある「Playgroundで開く」を押すと自身の環境で実行が可能となります。

第1章 Python入門 

Pythonの基本的な文法の紹介とNumpyやMatplotlibといったライブラリの使用方法が解説されています。

プログラム: https://colab.research.google.com/drive/1zVMbegg1G2ZMCj6paGkHbQdEgfhl8uHI
解説動画: https://youtu.be/ZxY7nmUtqs0

第2章 パーセプトロン

ニューラルネットの基本となるパーセプトロンについて解説されています。また、パーセプトロンを使ってANDゲート、ORゲート、NANDゲート, XORゲートの実装を行います。

プログラム: https://colab.research.google.com/drive/1Vw2JIZP797Su3AeECVC0M7_G8UoYSwNL
解説動画: https://youtu.be/o6K4o7MyitM

第3章 ニューラルネットワーク

パーセプトロンからニューラルネットワークの構築を学習します。その中でステップ関数、シグモイド関数、ReLu関数などの活性化関数の紹介を行い、最後に実際にニューラルネットワークを構築し、手書き文字の認識を行います。

プログラム: https://colab.research.google.com/drive/1xckYBNOaRYojHrJVy6-D8O57bcjW8v4P
解説動画: https://youtu.be/5vTIwRY5pNk

第4章 ニューラルネットワークの学習

訓練データから最適な重みパラメータを獲得することを目指します。二乗和誤差、交差エントロピー誤差といった損失関数、効率よく学習を行うミニバッチ学習、勾配を利用して関数の最小値を見つける勾配法について学習します。

プログラム: https://colab.research.google.com/drive/1lszsWsHO0E8nZWHQLjsytjSFJD_-C6dB
解説動画: https://youtu.be/3zMOJCZONpA

第5章 誤差逆伝播法

前章で行った数値微分による実装は簡単であったが、時間がかかるのが難点だったため、効率よく計算を行う誤差逆伝播法について学びます。

プログラム: https://colab.research.google.com/drive/19mWo7Y945L-YsoDAyCXJjXJ5N8djon5_
解説動画: https://youtu.be/5YFpLspKPxw

第6章 学習に関するテクニック

SGD以外のパラメータ更新手法を学ぶ、またBatch NormalizationやDropoutなどの学習のテクニックを学びます。

プログラム: https://colab.research.google.com/drive/1z_VGltBzsvI0zMZGwuqriaQRyi8G1ylV
解説動画: https://youtu.be/vQKoJlhUfP4

第7章 畳み込みニューラルネットワーク

画像認識の精度をより高めるためにCNNについて学びます。

プログラム: https://colab.research.google.com/drive/1g1gJC9k1WePSJbmJZ993xetur9U2d0LC
解説動画: https://youtu.be/Qi1Uzh3rXe8

第8章 ディープラーニング

ディープラーニングの歴史や未来について学びます。

プログラム: https://colab.research.google.com/drive/11EbbCtHDI-qvqyl0Dp3zQGJN3zKrQdkR
解説動画: https://youtu.be/kcRPPF4zvx4

最後に

YouTubeで機械学習を中心に技術書のレビューや解説動画を上げていこうと思っています。またIT系に行くなら知っておいた方がいい企業の紹介もやっています。YoutubeとQiita更新のモチベーションに繋がるため、いいね、チャンネル登録、高評価をよろしくお願い致します。
ちょっとYoutubeの方が音声にノイズが入りすぎていて聞き取りづらいので、近々アップロードし直す予定です🙇‍♂️
YouTube: https://www.youtube.com/channel/UCywlrxt0nEdJGYtDBPW-peg
Twitter: https://twitter.com/tatelabo

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
176
Help us understand the problem. What are the problem?