長野ディープラーニングハンズオン準備勉強会(第9回)

2017/02/28(火)19:00 〜 21:00 開催
ブックマーク

イベント内容

長野ディープラーニングハンズオン準備勉強会概要

GEEKLAB.NAGANO/NSEGでディープラーニングのハンズオンをしようと思っており、その準備として何人かで予定内容を毎回1.5時間づつくらいやり、つまづきやすいところやわかりにくいところを把握するための勉強会です。
そのためハンズオンの内容を一緒に作っていくような内容になります。ハンズオンに参加したい場合、これでしっかり予習出来ることになるのでおすすめだと思います。

ニューラルネット/ディープラーニングに興味のある方で、自分のノートPCでPythonでFizzBuzz程度の簡単なコーディングができることが条件です。
資料は最終的には独自のものを用意する予定ですが、「ゼロから作るDeep Learning/Pythonで学ぶディープラーニングの理論と実装」が大変良書なので、これを参考にしながら作る方針で考えています。(とりあえず本は購入しなくてよいです)

毎週火曜日夜 19:00~ GEEKLAB.NAGANOで全部で8回を予定しています。

前回で最終回でしたがおまけとして、Tensorflow/Keras等のディープラーニングフレームワークを使った実装を行います。 実際にディープラーニングを触る時には通常なんらかのフレームワークを利用すると思います。オリジナルコードで原理だけを説明したので、そこから実際にディープラーニングを使ってみようとした時にギャップがあるのではと思いましたので、その分を埋めるためのものです。

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

その後、ブラウザで接続するとJupyterの表示がされます。

http://localhost:8888/

右端「New」ボタンから「Python3」を選択してノートを作ります。 最初のカラムに下記コマンドを入れて実行「」を押してください。 ハンズオン準備勉強会用に作っているリポジトリがコピーされます。

!git clone https://github.com/stealthinu/naganodeeplearning

「File」→「Open」→naganodeeplearning/chapter6/keras.ipynb

を開くとハンズオン用のページが開きます。

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/

注意事項

※ こちらのイベント情報は、外部サイトから取得した情報を掲載しています。
※ 掲載タイミングや更新頻度によっては、情報提供元ページの内容と差異が発生しますので予めご了承ください。
※ 最新情報の確認や参加申込手続き、イベントに関するお問い合わせ等は情報提供元ページにてお願いします。