5月
20
長野ディープラーニングハンズオン
5/20(土)と5/27(土)の2回に渡って開催予定
主催 : NSEG / GEEKLAB (主担当 さとうきよし @stealthinu)
広告
イベントの説明
長野ディープラーニングハンズオン概要
NSEG/GEEKLAB.NAGANOでディープラーニングのハンズオンをします。
条件は
- ニューラルネット/ディープラーニングに興味がある
- dockerを実行可能な自分のノートPCを持ってこれる
- FizzBuzz程度の簡単なコーディングができる
- Pythonはわからなくてもよい
やる範囲が結構多いため
5/20(土)に第1回
5/27(土)に第2回
と2週連続で2回にわたって行います。
Dockerインストールとイメージの準備
参加者のPython環境が違っているとそこでつまづく可能性が増えるので、環境を揃えたいと考えていました。
そこでdocker内の環境を使うことで統一した環境にしようと思います。
自分はMacはDocker for Mac
https://www.docker.com/products/docker
WindowsはProならばDocker for Windowsか、Docker for WindowsはVirtualBoxとの共存が出来ないため、DockerToolboxを入れて試しています。MacでもHyper-VがないCPUの場合はDockerToolboxを使ってください。
https://www.docker.com/products/docker-toolbox
今回は、でまちさんに作っていただいたPython3ベースでTensorFlowとJupyterが使えるdockerイメージ https://hub.docker.com/r/tatsushid/alpine-py3-tensorflow-jupyter/ をベースにして、今回Kerasでの学習に使うサンプルデータ込みのイメージを https://hub.docker.com/r/stealthinu/alpine-py3-tensorflow-jupyter-datasets/ に作りました。
dockerインストール後、このイメージを使ってコンテナを動かします。下記コマンドでポート8888でパスワードfoobarでコンテナが起動します。
docker run -itd -p 8888:8888 -e PASSWORD=foobar stealthinu/alpine-py3-tensorflow-jupyter-datasets
その後、ブラウザで下記URLに接続するとJupyterの表示がされます。
Docker for Windows/Mac やLinuxのDockerの場合
http://localhost:8888/
DockerToolboxを理容している場合(接続IPアドレスは docker-machine ip で確認出来ます)
http://192.168.99.100:8888/
パスワードが求められるので、先のdocker runで指定したPASSWORDの値、ここでは「foobar」を入力するとJupyterにログイン出来ます。
右端「New」ボタンから「Terminal」を選択してターミナルを出します。 下記コマンドでgit cloneを実行すると、ハンズオン準備勉強会用に作っているリポジトリがコピーされます。
git clone https://github.com/stealthinu/naganodeeplearning
ハンズオンで色々とソースを変更しますので、ブランチを切っておくと良いでしょう。
git branch handson git checkout handson
ハンズオン内容
ハンズオンに先立って9回にわたりハンズオンの準備会を行なっています。
以下がその時にやった内容で、基本的にこれに沿った内容になります。
1回 ニューラルネットワークとは
- ニューラルネットワークとディープラーニングの概要
- 人力ニューロンになってニューロンの学習方法を学ぶ
- Pythonの環境を整える
http://glnagano.connpass.com/event/43820/
2回 パーセプトロン
- Pythonでニューロンの出力と学習を実装
- パーセプトロンを実装
- 数字(MNIST)をパーセプトロンで学習させる
http://glnagano.connpass.com/event/44785/
3回 バックプロパゲーション
- 学習を一般化し誤差関数から学習を行なう説明
- バックプロパゲーションの多層での学習方法の説明
http://connpass.com/event/45339/
4回 バックプロパゲーションの実装
- アナログ値に拡張
- バックプロパゲーションの実装
- 数字(MNIST)をバックプロパゲーションで学習させる
- 活性化関数を変えて試す
- 層を増やして試す
https://glnagano.connpass.com/event/46210/
5回 ディープラーニングで使われる技術
- 層を増やして試す
- 学習の効率化(モーメント、Adamなど)
- 活性化関数の変更(tanh、ReLUの意味と効果)
- ローカルミニマムに陥らないための方法(事前学習、Dropout、バッチ正規化)
https://glnagano.connpass.com/event/46887/
6回 畳み込みニューラルネットワーク(CNN) 1
- ネオコグニトロンの概要
- ネオコグニトロンとCNNについて色々説明
https://glnagano.connpass.com/event/48317/
7回 畳み込みニューラルネットワーク(CNN) 2
- CNNの構造説明
- ConvolutionとPoolingの説明
- ConvolutionとPoolingの順方向実装
https://glnagano.connpass.com/event/49653/
8回 畳み込みニューラルネットワーク(CNN) 3
- ConvolutionとPoolingの逆方向実装
- CNN実装
- 文字認識のテスト
- 重み可視化して観察など
https://glnagano.connpass.com/event/50147/
9回 (おまけ)ディープラーニングフレームワークの利用
- Tensorflow/Kerasを利用してCNNの実装
- Cloud ML利用してGPU利用した学習
https://glnagano.connpass.com/event/51399/
資料 資料をもっと見る/編集する
資料が投稿されると、最新の3件が表示されます。
広告
フィード
2017/05/29 12:08
案内にも書いてありますがgithubにあるハンズオン用の資料 https://github.com/stealthinu/naganodeeplearning
2017/05/20 14:09
2017/05/20 13:47
ぎーらぼ説明で初回したPython Boot Camp 懇親会です https://pyconjp.connpass.com/event/55694/
2017/05/20 13:46
ぎーらぼ説明で紹介したPython Boot Capm(本編) です https://pyconjp.connpass.com/event/55693/
2017/05/20 13:44
懇親会参加される方は参加登録お願いします! https://glnagano.connpass.com/event/57810/