【NumPy・Python3で】ゼロから作るニューラルネットワーク
3.9 (564 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
6,006 students enrolled

【NumPy・Python3で】ゼロから作るニューラルネットワーク

Python 3とNumPyで単層・多層ニューラルネットワークを自作して、機械学習の仕組みを理解しよう。バックプロパゲーションの仕組みをスクラッチで理解することで、ディープラーニングのライブラリを使いこなせるようになります。
3.9 (564 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
6,006 students enrolled
Last updated 10/2019
Japanese
Current price: $62.99 Original price: $89.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3.5 hours on-demand video
  • 35 articles
  • 7 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • パーセプトロンによる学習について手動計算をして仕組みを理解できます。
  • 勾配降下法の仕組みを数式解説を見たり、コードを書いて理解できます
  • ゼロからニューラルネットワークを書いて仕組みを理解できます
  • 逆伝播(バックプロパゲーション)が機能する仕組みをデータの流れを確認して理解できます
  • TensorFlowやScikit-learn, chainer, Caffe 2などでブラックボックス化されている仕組みを理解し、より効果的な設計や最適化ができるようになります。
Course content
Expand all 73 lectures 03:47:46
+ イントロ(狙いと概要)
2 lectures 07:51

どうして勾配降下法やバックプロパゲーションの仕組みを理解する必要があるのか?を解説します。

ぜひ外部リンクも参照してください。

Preview 03:12
機械学習のいろいろなパターン
04:39
+ 第1日:機械学習を体験してみよう
19 lectures 01:02:29
Anaconda最新版のインストール
07:28

機械学習のイメージをつかむために、シンプルな回帰問題を解きます。

また、matplotlibやpandasで、グラフ描画やデータ読み込みを体験します。

バージョンアップで元のコードは動かなくなったので、レクチャーを再収録中です。

はじめての機械学習体験(線形回帰とグラフのプロット)改変中
15:46
データのダウンロードURL
00:15
GitHubからのパラメーターファイルのダウンロード方法
01:04
練習課題:線形回帰を実行してみよう
00:06
notebookを保存して終了しよう
01:56
練習課題:Notebookの保存と再読み込み
00:08
線形回帰(その2 Bostonデータ)
01:14
線形回帰2(データの読み込み)
05:55
線形回帰を実行する(部屋数と価格の関係)
03:05
線形回帰の結果をグラフにしてみよう
04:36
練習課題: 部屋数から価格の推定をしてみよう
00:08
練習課題: 他の変数と住宅価格の関係性を調べよう
00:04

ビデオが長いので2本で構成されています。

ディープラーニングを体験してみよう(1/2)
11:41

北斎のタッチで描画させてみましょう。

ディープラーニングを体験してみよう(2/2)
07:32
moviepyでエラーが出る場合の対処方法
00:14
補足:チェックポイントファイルの保存手順
00:52
練習課題: スタイルトランスファーを実行してみよう
00:10
イントロのまとめ
00:12
+ 第2日:Pythonによるデータの扱い
7 lectures 24:28

テンソルについて理解を確認しておきましょう。

確認テスト
1 question
行列の扱い(NumPy)
04:25
ベクトルデータ
02:59
練習課題: ベクトルデータの生成と掛け算
00:05
行列の扱い
03:22
練習課題: 2次元行列をNumPyで扱ってみよう
00:04
レクチャーノート
00:02
+ 第3日:パーセプトロン
9 lectures 08:45
練習課題:形式ニューロン
00:14
単層パーセプトロン
02:04
練習課題:AND回路
00:14
解答例: AND回路
00:29
練習課題:NAND回路
00:12
練習課題: OR回路
00:12
練習課題: XOR回路を考えてみよう
00:12
ニューラルネットワークへ
01:48
+ 第4日:ニューラルネットワークによる出力計算
15 lectures 44:05

多層ニューラルネットワークで必須の活性化関数の仕組みを理解しましょう

Preview 10:19

GeoGebraをインストールし、さまざまな関数のグラフを描画して確認できるようにしておきましょう。

GeoGebraをインストールしてグラフを描こう
04:48
GeoGebraについての注意
00:32

高校数学が不安な方のみ視聴ください。問題ない方はスキップいただいても結構です。

(オプション)指数対数の復習
07:19

geoGebraで指数や対数のグラフを描かせてみましょう。

練習課題:指数関数と対数関数のグラフを描いてみよう
00:12
練習課題: シグモイド関数をPythonで描いてみよう
00:03
解答例: シグモイド関数をプロットする
06:13
練習課題: ReLU関数をPythonで描いてみよう
00:04
解答例: ReLU関数のグラフを描いてみよう
02:48
シンプルなニューラルネットワークによる出力計算
02:56
練習課題: アウトプットを計算してみよう
00:10
解答例: アウトプットの計算
04:10
練習課題:行列の積として書き直す
00:14
解答例: 行列のドット積として計算
04:13
レクチャーノート
00:02
+ 第5日:勾配降下法による重みの逆伝播
11 lectures 55:23

このセクションでは、評価関数・損失関数、勾配降下法やバックプロパゲーションの仕組みについて、データや途中の計算過程を確認しながら学びます。

Preview 05:33
誤差関数の導入
12:21
微分と学習率の導入
04:09
連鎖律(チェインルール)その1
08:42
連鎖律による微分(その2)
06:47
シグモイド関数の微分
07:27
練習課題: 勾配から新しい重みを計算してみよう
00:20

三層のネットワークにおける誤差逆伝播による学習

解答例: 単層NNにおける逆伝播による重みの更新
09:53
サンプルコード
Processing..
発展課題: 重みの更新を繰り返して推定値の変化を確認しよう
00:05
レクチャーノート
00:05
+ 第6日:多層ニューラルネットワーク(*追加中*)
10 lectures 24:42
隠れ層の導入(非線形分離問題を解く)
06:52
隠れ層の出力を計算してみよう
08:29
練習課題: 出力を計算してみよう
00:08
解答例: 多層NNの出力
00:03
重みの更新手順のレビュー
02:56
多層ネットワークにおけるバックプロパゲーション
05:48
練習課題:バックプロパゲーションの計算
Processing..
このセクションのレクチャーノート(更新中)
00:07
最終プロジェクト: ニューラルネットワークを自作
00:12
レンタルバイク問題のコードサンプル
00:05
Requirements
  • Windows, macOS, Linuxの動作するPC
  • 手計算をしたり、コードを入力して考えることを嫌がらないこと
  • 数学アレルギーでないこと(基礎から解説しますが、微分や指数対数などが出てきます。)
  • 折れない心
Description

*2017/8/14 最終課題のサンプルコード(Jupyter Notebook形式)を掲載しました。

*2017/6/2 バックプロパゲーションのレクチャーを追加しました。

*2017/5/17 多層ニューラルネットワークでの出力計算を掲載しました。

ニューラルネットワークを多層化したディープラーニングは、画期的な精度向上を実現し、大変注目を集めています。そして、TensorFlow, Chainer, Caffe 2などさまざまなライブラリが登場して、以前より手軽にディープラーニングを実装できるようになりました。

しかし、こうしたライブラリを使いこなすためにも、ブラックボックス化されている最適化の手法を理解しておくと、学習の精度を向上させるためのパラメーター最適化などに役立ちます。

この講座では、上記のような各種ライブラリを使用せず、NumPyやPandasなど行列計算やデータ入出力ライブラリだけを使用してニューラルネットワークを作成し、誤差の逆伝播(バックプロパゲーション)による重みの最適化や、勾配降下法の原理についての理解を目指します。

これにより学習率や隠し層の数などのパラメーターを変化させると、結果にどのような影響があるのか、を体験を通じて理解できます。

レクチャーでは数学的な処理についても逐一解説をしていきます。中学レベルの数学的知識があれば理解できるように指数対数や、微分、合成関数の微分(チェインルール)などについて解説をしますので、高校数学に自信がない方でもチャレンジできます。

数学的な解説・理解が不要な方、映像による学習は好きではない方には受講をお勧めしませんので、十分ご注意ください。

それでは一緒に学びましょう!

Who this course is for:
  • TensorFlowやScikit-learnなどのライブラリを使わず、機械学習の処理の仕組みをちゃんと理解したい方
  • ニューラルネットワークの誤差逆伝播によるエラー最小化の仕組みを理解したい方
  • NumPyやPandas, Matplotlibなどを使えるようになりたい方
  • 指数対数や連鎖律(合成関数微分)など機械学習に必要な数学をきちんと理解したい方