SlideShare a Scribd company logo
1 of 42
TECHNOMOBILE
GROUP
HEAD OFFICE
TOKUSHIMA development section
| 5floor Column Minamiaoyama,7-1-5,Minamiaoyama,Minato-ku,Tokyo 107-0062,Japan
| 3floor Tokushimakenkohkagaku-center,Hiraishisumiyoshi,Kawauchi-cho,Tokushima-shi Tokushima 771-0134,Japan
Tensorflowのチュートリアルで理解するDeepLearningはじめてハンズオン
2
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
ディープラーニング、知ってますよね?
3
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
顔を分類
カラーに変換
その画家風の絵を作成
4
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
見て分かりやすいし、面白そうですよね。
5
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
サンプルプログラムを動かした人はいる
とは思いますが、
ちゃんとプログラム内容を理解している
ひとは少ないですよね。
6
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
今回は、簡単な統計知識をもとにサンプ
ルコードを理解して、
自分で作れるようになりましょう。
7
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
どんな環境が良いの?
Chainer
Caffe
いろいろありますが、Pythonは避け
て通れません。どれもPythonのライ
ブラリーです。
行列計算のライブラリ numpy の強
みです。
8
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
最近の動向ではGoogleがリリースし
ているTensorflowがコーディング量も
少なく、チュートリアルや情報が充実
しているのでおすすめです。
勉強会も盛んにおこなわれています。
9
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
今回はTensorflowのチュートリアルを理解
してDeepLearningの世界を見ていきま
しょう。
10
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
DeepLearnigとは?
ニュ
ーロ
ン
人の神経細胞が信号を伝える仕組
みを真似して作られた、ニューラ
ルネットワークの発展版
入
力
層
隠
れ
層
隠
れ
層
出
力
層
正
解
ズレを評価
して重み付
けを調整す
る
何度も繰り返して特徴を残
す。これがDeepな理由。
重み
AzureMLのような機械学習との最大の違い
は特徴量を自動的に抽出するところです。
11
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
・画像認識に使われるCNN。データが固
定長。画像サイズを揃えないとダメ。
・可変長のデータ(音声・テキストなど)に
使われるRNN
・入力と出力を同じデータにして圧縮
データから推論(色など)するAutoEncoder
主なDeepLearningのアルゴリズムの種類は?
12
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
Tensorflowの以下のチュートリアルを
理解して段階的にDeepLearningの仕
組みを理解します。
・回帰
・MNIST(ニューラルネットワーク)
・MNIST(DeepLearning)CNN
何を作るの?
13
「サンプルプログラムをDownloadしましょう」「Tensorflowをインストールしましょう」
ページを参考にTensorflowをインストールしておいてください。Macまたは
Windows環境。
専門用語が多いので、一通り資料に目を通しておくことをおすすめします。
6
事前準備
14
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
この学びの対象者は?
→Mac、Windowsを使えるPython初心者。
PythonがわからなくてもDeepLearningの
基礎アルゴリズムは理解できます。簡単な
行列、直線式の理解が必要です。
WindowsではDocker(仮想環境)で動きま
す。
教えないことは?
→DeepLearningの専門家ではないので。。。
わかったことがあったらフィードバックく
ださい。
15
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
講師
Gashfara,Inc.代表
デジタルハリウッド大学院客員講師
茂木健一
mogi@gashfara.com
kenichi.mogi@tcmobile.jp
http://facebook.com/mogiken
http://www.slideshare.net/mogiken1
自己紹介
[プロフィール/実績]
もぎ・けんいち●青山学院大学大学院卒。Gashfara,Inc.代表。本社はハワイですが出社したことなし。
ホノルルマラソンには参加w
青山学院大学大学院卒:エニックスでオリジナルゲーム制作(Z80アセンブラ CP/M)、SmallTalkで
人工知能開発(企業買収)。
(株)東洋情報システム退社後、(株)エイチアイ、グランスフィア(株)、(株)ファッション
ウォーカー(えびもえのEC)など数社のベンチャー企業の立ち上げ・創業期に参画し、ガシュファ
ラ・インクをUSで起業。システム開発ではゲーム、TOL(ツタヤオンライン)の立ち上げ。動画配
信システム(USENのGate01:Gyaoの前進)、電子マネーシステム(Bitcash)、ECフルフィルメント
システムなど、多彩な分野を経験。IT関連教育では1998年ころからデジハリの2.5階に間借りしな
がら教育コンテンツ作成(JIB社)。Brew、Java、セキュリティーなどの講師として活躍。現在、
(株)HUGGを設立し、スマホのカップル向けSNSサービス[HUGG]をグローバルに展開。㈱テクノ
モバイルにて技術顧問。㈱SGPにてドローンのソフトウェア開発もしています。
【著書】
BREWプログラミング実践バイブル [共著] (インプレス)、PHP逆引き大全 516の極意[共著](秀和
システム)
16
成長を実現させるシステム”モバイルトータルソリュー
ション”
Web
システム
1
スマホ
アプリ
2 ゲーム
アプリ
3
モバイルトータルソリューション
B2B2C
• コンシューマ向けの大規模Webシステムの開発からアプリ・ゲーム開発までをマルチデバイスで対応
高い技術力 市場ニーズとマッチ
大規模
Webシステム
に強い
Java,PHP
Strong1
最先端技術・独自
フレームワークで
効率的な
開発
Strong2
高トラフィック、
インフラ
ネットワーク
に強い
Strong3 プライマリー
ベンダー、
ヒアリング・
要件定義
に強い
StrongⅠ
情報資産の活用
最先端と
知見に強い
StrongⅡ
最先端のマルチ
デバイス
ウェアラブルに
強い
StrongⅢ
Mashup Awards 5年連続 受賞
会社名 株式会社テクノモバイル
設 立 2008年
資本金 2,500万円
代 表 播田 誠
従業員数 100名(グループ合計)
本社所在地
〒 107-0062
東京都港区南青山7-1-5 コラム南青山 5F
開発室
〒771-0134
徳島県徳島市川内町平石住吉209-5
徳島健康科学総合センター 3F
17
サンプルプログラムをDownloadしましょう
下記のURLからサンプルプログラムをダウン
ロードしてください。
https://goo.gl/sHkxQB
18
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
Tensorflowをインストールしましょう
下記の手順でインストールしてください。Mac
の場合
参考http://dev.classmethod.jp/machine-learning/tensorflow-hello-world/
Python2.7の環境が必要です。インストール済みを前提にします。
Python用のライブラリ管理コマンドpipをインストールします。
sudo easy_install pip
Pythonの下層実行環境virtualenvをインストールします。
sudo pip install --upgrade virtualenv
Tensorflowの実行ディレクトリを作成し移動します。ここにTensorflowを配置します。日本語がない
パスに作らないとinstallの時にエラーになります。
mkdir ~/tensorflow
cd ~/tensorflow
実行ディレクトリに仮想環境を作成します。source bin/activateで環境を設定します。プログラムを
実行する前に実行が必要です。
virtualenv --system-site-packages ~/tensorflow
source bin/activate
Tensorflowを仮想環境にインストールします。
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.7.1-cp27-
none-any.whl
動作確認します。
test.pyを作成。新しいターミナルでsource ~/tensorflow/bin/activate を実行してからpython test.py
で動けばOK.
Windowsの場合は次ページのとおり仮想環境で。参考:http://goo.gl/F2vC2C
MacではWindowsと同じようにDocker環境でのTensorflowの実行を推奨します。
Dockerのインストール以外は同じです。
19
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
Windows環境は下記の手順で構築。
参考:http://goo.gl/F2vC2C
https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html#docker-installation
前提:
・Windows7以上
・仮想化が有効になっていること
タスクマネージャー→パフォーマンス → CPU → 「仮想化: 有効」
・OSが64 bit
1.Docker Toolboxのインストール
https://www.docker.com/products/docker-toolbox からDockerToolboxをダウンロードしてインス
トールしてください。デフォルトのままインストールを進めてOKです。
インストールされたDocker Quickstart Terminalを起動して下記のようなターミナルが表示されればイ
ンストールはOKです。
20
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
2.TensorFlowのインストール
Docker Quickstart Terminalで下記のコマンドを実行してインストールします。
docker run --name "tensorflowtest" -v /c/Users/mogi/Downloads:/share -it tensorflow/tensorflow /bin/bash
exit で終了
※-vオプションをつけてmogiの部分を自分のアカウントにするとダウンロードフォルダーが/shareとし
てマウントされます。 デファルトではc:/Usersしかマウントを許可されていません。
TensorFlowの起動も上記のコマンドで実行できます。imageがなければDownload。あれば実行。
exitで終了。
3.下記のコマンドでログインできます
docker start tensorflowtest
docker attach tensorflowtest
4. ログイン後以下のコマンドでplot系のライブラリーをインストールしてください。
apt-get update
apt-get install python-tk
Dockerイメージを削除したい時などはここを参考
http://qiita.com/tifa2chan/items/e9aa408244687a63a0ae
Dockerの仮想ドライブファイルVMDKをDドライブなどに移動したいと
きはここを参考
http://takaya030.hatenablog.com/entry/20150621/1434857168
21
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
回帰分析のチュートリアルを理解しよう
ここにある回帰分析のチュートリアルを理解
しましょう。http://goo.gl/CA7BIe
回帰分析とは。。ここにあるようにばらつき
のあるデータから直線の式を求めて値を推測
する方法です。http://goo.gl/woqBKX
このチュートリアルでは式による計算ではな
く推論モデル勾配降下法を使って式を推論し
ます。
22
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
勾配降下法とは
傾きを利用して最小値を求める方法です。
http://goo.gl/1Ce08K
チュートリアルでは答えと推論した値の誤差
が最小になるようにモデルを作成します。
学習率を大きくすると発散して学習が進まな
い。小さいと学習速度が遅い。学習率:移動
する幅。
23
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
Shapeとは
Tensorflow独特の配列構造を示すShapeがあり
ます。これを理解すると理解が早いです。単
純に説明すると配列の次元の組み合わせを表
します。
例)
[[1, 2, 3], [4, 5, 6], [7, 8, 9]] → Shapeは3次元(要素)x3次元なので[3, 3]
[1] →Shapeは[1]
[1,2,3] →Shapeは[3]
[[1 2 3]
[4 5 6]
[7 8 9]
[0 2 3]]→Shapeは[4,3]
参考:http://goo.gl/49LMxJ https://goo.gl/6qJqQ2
24
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
Tensorflowの実行の仕組み
test.pyをもとに説明します。python test.pyで
実行。
参考: http://goo.gl/5Up5UH
Node Edge
1つのNodeが1つの計算処理op(operation)を表します
Sessionが計算の順番、並列処理、リソースの管理をします。
Session
25
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
test1.py(回帰サンプル)を解説 python test1.pyで実行
ポイント:
y=W*x+bの直線式において、
y=0.1*x+0.3の直線にランダムに点を生成しこ
のランダムなデータから、この式y=0.1*x+0.3
を推論します。この式が確定すれば値を推論
できるようになるわけです。
y=0.1*x+0.3
※一般的な最小二乗法ではなく、勾配
降下法を使って解くのがポイント
26
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
MNIST(ニューラルネット)のチュートリア
ルを理解しよう
ここにあるMNISTのチュートリアルを理解し
ましょう。http://goo.gl/teJPty
27
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
ニューラルネットワークとは
資料の導入部分を参考に
28
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
MNISTとは
下記のような手書きの画像とその答え[0-9]の
ラベルからなるデータです。この訓練データ
を使って手書き文字を認識します。
29
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
MNISTのデータについて
手書き画像は28x28ピクセルの色の濃さを表し
たデータです。
30
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
MNISTのtrainデータ
28x28=784のデータが55000用意されている。
画像
答え(ラベル)
例えば 3 は [0,0,0,1,0,0,0,0,0,0] になります。最終的にはこれの確率
分布を求めます。
31
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
Softmax関数とは
活性化関数の一つ
回帰式からラベル(答え)の確率分布を計算しま
す。
回帰式 y = W*x +b (Wが画像がラベルに影響する重み。
bがバイアス)これをsoftmax関数で活性化します。
y = softmax(W*x+b)
softmax関数:ニューラルネットワークの出力結果を確率(0~1.0)に変換します。
※下記y1,y2....y10がありそれぞれが0,1,2...9の数値を推測する確率になり
ます。
32
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
test2.py(MNIST)を解説 python test2.pyで実行
ポイント:
・訓練ロジックは回帰のサンプルとほぼおな
じ。最後にsoftmax関数を使っているだけ。W
とbの値がモデルのパラメータ(これを推測)。
Wとbは配列。
・検証はテストデータを使って訓練したモデ
ルを評価する。
ニューラルネットワークがー階層だけなので
DeepLearningではないですね。
33
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
MNIST(多層化:DeepLearning)のチュー
トリアルを理解しよう
ここにあるMNISTのチュートリアルを理解し
ましょう。http://goo.gl/z1hRCp
test2.pyでは784のデータが10のデータにいき
なり削減されています。そのため重要な特徴
データが失われている可能性があります。
ニューラルネットワークを多層化して特徴を
残しつつ、データを削減(次元を削減)するのが
ポイントです。
34
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
層の種類
・畳み込み層
近隣にあるノードの値
次のノードに渡す
活性化関数
・プーリング層
近隣にあるノードの値の最大値を渡す
特徴を抽出
特徴を強調
例:3x3のパッチを1画像
ずつずらしながら計算
35
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
層の種類
・全結合層
全ての組み合わせを活性化関数で処理
活性化関数
36
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
CNNの多層化例(主に画像処理)
入
力
層
畳
み
込
み
層
プ
|
リ
ン
グ
層
畳
み
込
み
層
プ
|
リ
ン
グ
層
全
結
合
層
出
力
層
第一層 第二層
37
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
test3.py(MNIST:DeepLearning)を解説
ポイント:
・層は[第1層→第2層→全結合層]になっている
・層での計算後test2.pyと同じくsoftmax関数を使っ
ている。
・第1層、第2層は[畳み込み層+プーリング層]から
なる
・Wが特徴(重み)で、x(画像)をかけることにより特
徴を抽出。xは前の層からわたってくる。なので基本
式:y=W*x+bでWとbを推測することは変わらない。
・ reluなどは活性化関数。入力出力結果を調整。
https://goo.gl/StpYXm
※次頁のイメージがあると分かりやすい
38
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
6
第1層
畳み込み層
+
プーリング層
第2層
畳み込み層
+
プーリング層
全結合層
Softmax
dropout層で
過学習を防ぐ
28x28=784 14x14x32=6272 7x7x64=3136 1024
10
第1層、2層の特徴データは次ページのようになります
39
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
1層目
32の特徴(W)
テストデータ↓
テストデータに
特徴を適用
※学習時には、
前の層の出力
データと特徴W
をかけて答えに
近くなるように
Wを考える
40
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
2層目(特徴が64(W)あるので2行に表示)
41
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
参考書籍
http://goo.gl/nraR0R
ライブラリーはTensorflow
ではなくCaffeを使ってい
ます。DeepLearningの仕組
みの理解に役立ちます。
http://amzn.to/2lMkDQ7
ブラックボックスな活性
化関数や最小化の関数の
アルゴリズムが記載され
ています。
http://amzn.to/2vY44Vx
簡単な式で簡潔に説明されています。
NNの式を完全に理解したいときに便利。
画像分類が目的ならkerasが簡単。
http://qiita.com/tsunaki/items/608ff3cd941d82cd656b
Udemy https://goo.gl/fCcQyE
42
COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED.
6
・DeepLearningを使った画像サービスの提案
・画像認識を使ったPOSレジ(打ち込みが不
要なので会計が早い)
例)ECサイトで、自分で撮影した写真の服
に似た服をレコメンド。
適用事例(経営者・営業担当の方に)

More Related Content

Similar to Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン

Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオンHyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン健一 茂木
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側Yusuke Naka
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月VirtualTech Japan Inc.
 
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINARVirtualTech Japan Inc.
 
Tensor flow勉強会3
Tensor flow勉強会3Tensor flow勉強会3
Tensor flow勉強会3tak9029
 
TensorFlowの使い方(in Japanese)
TensorFlowの使い方(in Japanese)TensorFlowの使い方(in Japanese)
TensorFlowの使い方(in Japanese)Toshihiko Yamakami
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Masahito Zembutsu
 
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうかMasahito Zembutsu
 
TensorFlow Operation 作ってみた
TensorFlow Operation 作ってみたTensorFlow Operation 作ってみた
TensorFlow Operation 作ってみたTakuya Sakamoto
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜Yusuke Naka
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門Toru Miyahara
 
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOFVirtualTech Japan Inc.
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版VirtualTech Japan Inc.
 
はじめてのApple Watch開発体験ハンズオン
はじめてのApple Watch開発体験ハンズオンはじめてのApple Watch開発体験ハンズオン
はじめてのApple Watch開発体験ハンズオン健一 茂木
 
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?Mr. Vengineer
 
TensorFlow XLAの可能性
TensorFlow XLAの可能性 TensorFlow XLAの可能性
TensorFlow XLAの可能性 Mr. Vengineer
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことRetrieva inc.
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Hiro Yoshioka
 

Similar to Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン (20)

Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオンHyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
Hyperledgerのチュートリアルで理解する基幹システム向けブロックチェーンハンズオン
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
今さら聞けない人のためのDocker超入門 – OpenStack最新情報セミナー 2015年4月
 
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
仮想化技術として注目されているDocker入門 - PASONATECH ADVANTAGE SEMINAR
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
 
Tensor flow勉強会3
Tensor flow勉強会3Tensor flow勉強会3
Tensor flow勉強会3
 
TensorFlowの使い方(in Japanese)
TensorFlowの使い方(in Japanese)TensorFlowの使い方(in Japanese)
TensorFlowの使い方(in Japanese)
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
 
運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか運用に自動化を求めるのは間違っているだろうか
運用に自動化を求めるのは間違っているだろうか
 
TensorFlow Operation 作ってみた
TensorFlow Operation 作ってみたTensorFlow Operation 作ってみた
TensorFlow Operation 作ってみた
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
 
今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門今さら聞けない人のためのDocker超入門
今さら聞けない人のためのDocker超入門
 
今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF今さら聞けない人のためのDocker超入門 - KOF
今さら聞けない人のためのDocker超入門 - KOF
 
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
今さら聞けない人のためのDocker超入門 CentOS 7.2対応版
 
はじめてのApple Watch開発体験ハンズオン
はじめてのApple Watch開発体験ハンズオンはじめてのApple Watch開発体験ハンズオン
はじめてのApple Watch開発体験ハンズオン
 
TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?TensorFlow XLAは、 中で何をやっているのか?
TensorFlow XLAは、 中で何をやっているのか?
 
TensorFlow XLAの可能性
TensorFlow XLAの可能性 TensorFlow XLAの可能性
TensorFlow XLAの可能性
 
いまさら聞けないDockerコンテナ超入門
いまさら聞けないDockerコンテナ超入門 いまさら聞けないDockerコンテナ超入門
いまさら聞けないDockerコンテナ超入門
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
 
Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010Sourcecode Reading Workshop2010
Sourcecode Reading Workshop2010
 

More from 健一 茂木

Ethereumをさわって実感するブロックチェーンハンズオン
Ethereumをさわって実感するブロックチェーンハンズオンEthereumをさわって実感するブロックチェーンハンズオン
Ethereumをさわって実感するブロックチェーンハンズオン健一 茂木
 
Cocos2d js セットアップ for windows
Cocos2d js セットアップ for windowsCocos2d js セットアップ for windows
Cocos2d js セットアップ for windows健一 茂木
 
Docker環境でetherium開発環境を作る際のはまりどころ
Docker環境でetherium開発環境を作る際のはまりどころDocker環境でetherium開発環境を作る際のはまりどころ
Docker環境でetherium開発環境を作る際のはまりどころ健一 茂木
 
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...健一 茂木
 
ブロックチェーンを理解して応援する「熊本がんばれ募金ハック」サイト作成ハンズオン
ブロックチェーンを理解して応援する「熊本がんばれ募金ハック」サイト作成ハンズオンブロックチェーンを理解して応援する「熊本がんばれ募金ハック」サイト作成ハンズオン
ブロックチェーンを理解して応援する「熊本がんばれ募金ハック」サイト作成ハンズオン健一 茂木
 
シンプルな9つのサンプルで学ぶJava Script初心者のためのAngularJS超入門ハンズオン
シンプルな9つのサンプルで学ぶJava Script初心者のためのAngularJS超入門ハンズオンシンプルな9つのサンプルで学ぶJava Script初心者のためのAngularJS超入門ハンズオン
シンプルな9つのサンプルで学ぶJava Script初心者のためのAngularJS超入門ハンズオン健一 茂木
 
ひとりでできるもん!サーバープログラム不要、Java Scriptだけで作るハイブリッドアプリ(iphone,android,web)...
ひとりでできるもん!サーバープログラム不要、Java Scriptだけで作るハイブリッドアプリ(iphone,android,web)...ひとりでできるもん!サーバープログラム不要、Java Scriptだけで作るハイブリッドアプリ(iphone,android,web)...
ひとりでできるもん!サーバープログラム不要、Java Scriptだけで作るハイブリッドアプリ(iphone,android,web)...健一 茂木
 
Oculusで会える俺のミクを作るハンズオン
Oculusで会える俺のミクを作るハンズオンOculusで会える俺のミクを作るハンズオン
Oculusで会える俺のミクを作るハンズオン健一 茂木
 
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオンJava ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン健一 茂木
 

More from 健一 茂木 (10)

Ethereumをさわって実感するブロックチェーンハンズオン
Ethereumをさわって実感するブロックチェーンハンズオンEthereumをさわって実感するブロックチェーンハンズオン
Ethereumをさわって実感するブロックチェーンハンズオン
 
自己紹介Lt
自己紹介Lt自己紹介Lt
自己紹介Lt
 
Cocos2d js セットアップ for windows
Cocos2d js セットアップ for windowsCocos2d js セットアップ for windows
Cocos2d js セットアップ for windows
 
Docker環境でetherium開発環境を作る際のはまりどころ
Docker環境でetherium開発環境を作る際のはまりどころDocker環境でetherium開発環境を作る際のはまりどころ
Docker環境でetherium開発環境を作る際のはまりどころ
 
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
Ethereumをさわって実感するブロックチェーンハンズオン(新版はここ https://www.slideshare.net/mogiken1/et...
 
ブロックチェーンを理解して応援する「熊本がんばれ募金ハック」サイト作成ハンズオン
ブロックチェーンを理解して応援する「熊本がんばれ募金ハック」サイト作成ハンズオンブロックチェーンを理解して応援する「熊本がんばれ募金ハック」サイト作成ハンズオン
ブロックチェーンを理解して応援する「熊本がんばれ募金ハック」サイト作成ハンズオン
 
シンプルな9つのサンプルで学ぶJava Script初心者のためのAngularJS超入門ハンズオン
シンプルな9つのサンプルで学ぶJava Script初心者のためのAngularJS超入門ハンズオンシンプルな9つのサンプルで学ぶJava Script初心者のためのAngularJS超入門ハンズオン
シンプルな9つのサンプルで学ぶJava Script初心者のためのAngularJS超入門ハンズオン
 
ひとりでできるもん!サーバープログラム不要、Java Scriptだけで作るハイブリッドアプリ(iphone,android,web)...
ひとりでできるもん!サーバープログラム不要、Java Scriptだけで作るハイブリッドアプリ(iphone,android,web)...ひとりでできるもん!サーバープログラム不要、Java Scriptだけで作るハイブリッドアプリ(iphone,android,web)...
ひとりでできるもん!サーバープログラム不要、Java Scriptだけで作るハイブリッドアプリ(iphone,android,web)...
 
Oculusで会える俺のミクを作るハンズオン
Oculusで会える俺のミクを作るハンズオンOculusで会える俺のミクを作るハンズオン
Oculusで会える俺のミクを作るハンズオン
 
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオンJava ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
Java ScriptでつくるはじめてのiPhoneAndroidゲーム開発体験ハンズオン
 

Recently uploaded

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Recently uploaded (9)

スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

Tensorflowのチュートリアルで理解するdeep learningはじめてハンズオン

  • 1. TECHNOMOBILE GROUP HEAD OFFICE TOKUSHIMA development section | 5floor Column Minamiaoyama,7-1-5,Minamiaoyama,Minato-ku,Tokyo 107-0062,Japan | 3floor Tokushimakenkohkagaku-center,Hiraishisumiyoshi,Kawauchi-cho,Tokushima-shi Tokushima 771-0134,Japan Tensorflowのチュートリアルで理解するDeepLearningはじめてハンズオン
  • 2. 2 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. ディープラーニング、知ってますよね?
  • 3. 3 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 顔を分類 カラーに変換 その画家風の絵を作成
  • 4. 4 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 見て分かりやすいし、面白そうですよね。
  • 5. 5 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. サンプルプログラムを動かした人はいる とは思いますが、 ちゃんとプログラム内容を理解している ひとは少ないですよね。
  • 6. 6 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 今回は、簡単な統計知識をもとにサンプ ルコードを理解して、 自分で作れるようになりましょう。
  • 7. 7 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. どんな環境が良いの? Chainer Caffe いろいろありますが、Pythonは避け て通れません。どれもPythonのライ ブラリーです。 行列計算のライブラリ numpy の強 みです。
  • 8. 8 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 最近の動向ではGoogleがリリースし ているTensorflowがコーディング量も 少なく、チュートリアルや情報が充実 しているのでおすすめです。 勉強会も盛んにおこなわれています。
  • 9. 9 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 今回はTensorflowのチュートリアルを理解 してDeepLearningの世界を見ていきま しょう。
  • 10. 10 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. DeepLearnigとは? ニュ ーロ ン 人の神経細胞が信号を伝える仕組 みを真似して作られた、ニューラ ルネットワークの発展版 入 力 層 隠 れ 層 隠 れ 層 出 力 層 正 解 ズレを評価 して重み付 けを調整す る 何度も繰り返して特徴を残 す。これがDeepな理由。 重み AzureMLのような機械学習との最大の違い は特徴量を自動的に抽出するところです。
  • 11. 11 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. ・画像認識に使われるCNN。データが固 定長。画像サイズを揃えないとダメ。 ・可変長のデータ(音声・テキストなど)に 使われるRNN ・入力と出力を同じデータにして圧縮 データから推論(色など)するAutoEncoder 主なDeepLearningのアルゴリズムの種類は?
  • 12. 12 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. Tensorflowの以下のチュートリアルを 理解して段階的にDeepLearningの仕 組みを理解します。 ・回帰 ・MNIST(ニューラルネットワーク) ・MNIST(DeepLearning)CNN 何を作るの?
  • 14. 14 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 この学びの対象者は? →Mac、Windowsを使えるPython初心者。 PythonがわからなくてもDeepLearningの 基礎アルゴリズムは理解できます。簡単な 行列、直線式の理解が必要です。 WindowsではDocker(仮想環境)で動きま す。 教えないことは? →DeepLearningの専門家ではないので。。。 わかったことがあったらフィードバックく ださい。
  • 15. 15 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 講師 Gashfara,Inc.代表 デジタルハリウッド大学院客員講師 茂木健一 mogi@gashfara.com kenichi.mogi@tcmobile.jp http://facebook.com/mogiken http://www.slideshare.net/mogiken1 自己紹介 [プロフィール/実績] もぎ・けんいち●青山学院大学大学院卒。Gashfara,Inc.代表。本社はハワイですが出社したことなし。 ホノルルマラソンには参加w 青山学院大学大学院卒:エニックスでオリジナルゲーム制作(Z80アセンブラ CP/M)、SmallTalkで 人工知能開発(企業買収)。 (株)東洋情報システム退社後、(株)エイチアイ、グランスフィア(株)、(株)ファッション ウォーカー(えびもえのEC)など数社のベンチャー企業の立ち上げ・創業期に参画し、ガシュファ ラ・インクをUSで起業。システム開発ではゲーム、TOL(ツタヤオンライン)の立ち上げ。動画配 信システム(USENのGate01:Gyaoの前進)、電子マネーシステム(Bitcash)、ECフルフィルメント システムなど、多彩な分野を経験。IT関連教育では1998年ころからデジハリの2.5階に間借りしな がら教育コンテンツ作成(JIB社)。Brew、Java、セキュリティーなどの講師として活躍。現在、 (株)HUGGを設立し、スマホのカップル向けSNSサービス[HUGG]をグローバルに展開。㈱テクノ モバイルにて技術顧問。㈱SGPにてドローンのソフトウェア開発もしています。 【著書】 BREWプログラミング実践バイブル [共著] (インプレス)、PHP逆引き大全 516の極意[共著](秀和 システム)
  • 16. 16 成長を実現させるシステム”モバイルトータルソリュー ション” Web システム 1 スマホ アプリ 2 ゲーム アプリ 3 モバイルトータルソリューション B2B2C • コンシューマ向けの大規模Webシステムの開発からアプリ・ゲーム開発までをマルチデバイスで対応 高い技術力 市場ニーズとマッチ 大規模 Webシステム に強い Java,PHP Strong1 最先端技術・独自 フレームワークで 効率的な 開発 Strong2 高トラフィック、 インフラ ネットワーク に強い Strong3 プライマリー ベンダー、 ヒアリング・ 要件定義 に強い StrongⅠ 情報資産の活用 最先端と 知見に強い StrongⅡ 最先端のマルチ デバイス ウェアラブルに 強い StrongⅢ Mashup Awards 5年連続 受賞 会社名 株式会社テクノモバイル 設 立 2008年 資本金 2,500万円 代 表 播田 誠 従業員数 100名(グループ合計) 本社所在地 〒 107-0062 東京都港区南青山7-1-5 コラム南青山 5F 開発室 〒771-0134 徳島県徳島市川内町平石住吉209-5 徳島健康科学総合センター 3F
  • 18. 18 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 Tensorflowをインストールしましょう 下記の手順でインストールしてください。Mac の場合 参考http://dev.classmethod.jp/machine-learning/tensorflow-hello-world/ Python2.7の環境が必要です。インストール済みを前提にします。 Python用のライブラリ管理コマンドpipをインストールします。 sudo easy_install pip Pythonの下層実行環境virtualenvをインストールします。 sudo pip install --upgrade virtualenv Tensorflowの実行ディレクトリを作成し移動します。ここにTensorflowを配置します。日本語がない パスに作らないとinstallの時にエラーになります。 mkdir ~/tensorflow cd ~/tensorflow 実行ディレクトリに仮想環境を作成します。source bin/activateで環境を設定します。プログラムを 実行する前に実行が必要です。 virtualenv --system-site-packages ~/tensorflow source bin/activate Tensorflowを仮想環境にインストールします。 sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.7.1-cp27- none-any.whl 動作確認します。 test.pyを作成。新しいターミナルでsource ~/tensorflow/bin/activate を実行してからpython test.py で動けばOK. Windowsの場合は次ページのとおり仮想環境で。参考:http://goo.gl/F2vC2C MacではWindowsと同じようにDocker環境でのTensorflowの実行を推奨します。 Dockerのインストール以外は同じです。
  • 19. 19 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 Windows環境は下記の手順で構築。 参考:http://goo.gl/F2vC2C https://www.tensorflow.org/versions/r0.10/get_started/os_setup.html#docker-installation 前提: ・Windows7以上 ・仮想化が有効になっていること タスクマネージャー→パフォーマンス → CPU → 「仮想化: 有効」 ・OSが64 bit 1.Docker Toolboxのインストール https://www.docker.com/products/docker-toolbox からDockerToolboxをダウンロードしてインス トールしてください。デフォルトのままインストールを進めてOKです。 インストールされたDocker Quickstart Terminalを起動して下記のようなターミナルが表示されればイ ンストールはOKです。
  • 20. 20 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 2.TensorFlowのインストール Docker Quickstart Terminalで下記のコマンドを実行してインストールします。 docker run --name "tensorflowtest" -v /c/Users/mogi/Downloads:/share -it tensorflow/tensorflow /bin/bash exit で終了 ※-vオプションをつけてmogiの部分を自分のアカウントにするとダウンロードフォルダーが/shareとし てマウントされます。 デファルトではc:/Usersしかマウントを許可されていません。 TensorFlowの起動も上記のコマンドで実行できます。imageがなければDownload。あれば実行。 exitで終了。 3.下記のコマンドでログインできます docker start tensorflowtest docker attach tensorflowtest 4. ログイン後以下のコマンドでplot系のライブラリーをインストールしてください。 apt-get update apt-get install python-tk Dockerイメージを削除したい時などはここを参考 http://qiita.com/tifa2chan/items/e9aa408244687a63a0ae Dockerの仮想ドライブファイルVMDKをDドライブなどに移動したいと きはここを参考 http://takaya030.hatenablog.com/entry/20150621/1434857168
  • 21. 21 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 回帰分析のチュートリアルを理解しよう ここにある回帰分析のチュートリアルを理解 しましょう。http://goo.gl/CA7BIe 回帰分析とは。。ここにあるようにばらつき のあるデータから直線の式を求めて値を推測 する方法です。http://goo.gl/woqBKX このチュートリアルでは式による計算ではな く推論モデル勾配降下法を使って式を推論し ます。
  • 22. 22 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 勾配降下法とは 傾きを利用して最小値を求める方法です。 http://goo.gl/1Ce08K チュートリアルでは答えと推論した値の誤差 が最小になるようにモデルを作成します。 学習率を大きくすると発散して学習が進まな い。小さいと学習速度が遅い。学習率:移動 する幅。
  • 23. 23 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 Shapeとは Tensorflow独特の配列構造を示すShapeがあり ます。これを理解すると理解が早いです。単 純に説明すると配列の次元の組み合わせを表 します。 例) [[1, 2, 3], [4, 5, 6], [7, 8, 9]] → Shapeは3次元(要素)x3次元なので[3, 3] [1] →Shapeは[1] [1,2,3] →Shapeは[3] [[1 2 3] [4 5 6] [7 8 9] [0 2 3]]→Shapeは[4,3] 参考:http://goo.gl/49LMxJ https://goo.gl/6qJqQ2
  • 24. 24 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 Tensorflowの実行の仕組み test.pyをもとに説明します。python test.pyで 実行。 参考: http://goo.gl/5Up5UH Node Edge 1つのNodeが1つの計算処理op(operation)を表します Sessionが計算の順番、並列処理、リソースの管理をします。 Session
  • 25. 25 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 test1.py(回帰サンプル)を解説 python test1.pyで実行 ポイント: y=W*x+bの直線式において、 y=0.1*x+0.3の直線にランダムに点を生成しこ のランダムなデータから、この式y=0.1*x+0.3 を推論します。この式が確定すれば値を推論 できるようになるわけです。 y=0.1*x+0.3 ※一般的な最小二乗法ではなく、勾配 降下法を使って解くのがポイント
  • 26. 26 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 MNIST(ニューラルネット)のチュートリア ルを理解しよう ここにあるMNISTのチュートリアルを理解し ましょう。http://goo.gl/teJPty
  • 27. 27 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ニューラルネットワークとは 資料の導入部分を参考に
  • 28. 28 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 MNISTとは 下記のような手書きの画像とその答え[0-9]の ラベルからなるデータです。この訓練データ を使って手書き文字を認識します。
  • 29. 29 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 MNISTのデータについて 手書き画像は28x28ピクセルの色の濃さを表し たデータです。
  • 30. 30 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 MNISTのtrainデータ 28x28=784のデータが55000用意されている。 画像 答え(ラベル) 例えば 3 は [0,0,0,1,0,0,0,0,0,0] になります。最終的にはこれの確率 分布を求めます。
  • 31. 31 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 Softmax関数とは 活性化関数の一つ 回帰式からラベル(答え)の確率分布を計算しま す。 回帰式 y = W*x +b (Wが画像がラベルに影響する重み。 bがバイアス)これをsoftmax関数で活性化します。 y = softmax(W*x+b) softmax関数:ニューラルネットワークの出力結果を確率(0~1.0)に変換します。 ※下記y1,y2....y10がありそれぞれが0,1,2...9の数値を推測する確率になり ます。
  • 32. 32 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 test2.py(MNIST)を解説 python test2.pyで実行 ポイント: ・訓練ロジックは回帰のサンプルとほぼおな じ。最後にsoftmax関数を使っているだけ。W とbの値がモデルのパラメータ(これを推測)。 Wとbは配列。 ・検証はテストデータを使って訓練したモデ ルを評価する。 ニューラルネットワークがー階層だけなので DeepLearningではないですね。
  • 33. 33 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 MNIST(多層化:DeepLearning)のチュー トリアルを理解しよう ここにあるMNISTのチュートリアルを理解し ましょう。http://goo.gl/z1hRCp test2.pyでは784のデータが10のデータにいき なり削減されています。そのため重要な特徴 データが失われている可能性があります。 ニューラルネットワークを多層化して特徴を 残しつつ、データを削減(次元を削減)するのが ポイントです。
  • 34. 34 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 層の種類 ・畳み込み層 近隣にあるノードの値 次のノードに渡す 活性化関数 ・プーリング層 近隣にあるノードの値の最大値を渡す 特徴を抽出 特徴を強調 例:3x3のパッチを1画像 ずつずらしながら計算
  • 35. 35 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 層の種類 ・全結合層 全ての組み合わせを活性化関数で処理 活性化関数
  • 36. 36 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 CNNの多層化例(主に画像処理) 入 力 層 畳 み 込 み 層 プ | リ ン グ 層 畳 み 込 み 層 プ | リ ン グ 層 全 結 合 層 出 力 層 第一層 第二層
  • 37. 37 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. test3.py(MNIST:DeepLearning)を解説 ポイント: ・層は[第1層→第2層→全結合層]になっている ・層での計算後test2.pyと同じくsoftmax関数を使っ ている。 ・第1層、第2層は[畳み込み層+プーリング層]から なる ・Wが特徴(重み)で、x(画像)をかけることにより特 徴を抽出。xは前の層からわたってくる。なので基本 式:y=W*x+bでWとbを推測することは変わらない。 ・ reluなどは活性化関数。入力出力結果を調整。 https://goo.gl/StpYXm ※次頁のイメージがあると分かりやすい
  • 38. 38 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 6 第1層 畳み込み層 + プーリング層 第2層 畳み込み層 + プーリング層 全結合層 Softmax dropout層で 過学習を防ぐ 28x28=784 14x14x32=6272 7x7x64=3136 1024 10 第1層、2層の特徴データは次ページのようになります
  • 39. 39 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 1層目 32の特徴(W) テストデータ↓ テストデータに 特徴を適用 ※学習時には、 前の層の出力 データと特徴W をかけて答えに 近くなるように Wを考える
  • 40. 40 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 2層目(特徴が64(W)あるので2行に表示)
  • 41. 41 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 参考書籍 http://goo.gl/nraR0R ライブラリーはTensorflow ではなくCaffeを使ってい ます。DeepLearningの仕組 みの理解に役立ちます。 http://amzn.to/2lMkDQ7 ブラックボックスな活性 化関数や最小化の関数の アルゴリズムが記載され ています。 http://amzn.to/2vY44Vx 簡単な式で簡潔に説明されています。 NNの式を完全に理解したいときに便利。 画像分類が目的ならkerasが簡単。 http://qiita.com/tsunaki/items/608ff3cd941d82cd656b Udemy https://goo.gl/fCcQyE
  • 42. 42 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ・DeepLearningを使った画像サービスの提案 ・画像認識を使ったPOSレジ(打ち込みが不 要なので会計が早い) 例)ECサイトで、自分で撮影した写真の服 に似た服をレコメンド。 適用事例(経営者・営業担当の方に)

Editor's Notes

  1. 弊社がご提供しているソリューション内容です。 企画から運営・保守にいたるまでを一気通貫で、 軸となるコンシューマ向けの大規模Webシステムをはじめ、スマホアプリ、ゲーム開発などをご提供しております。 特に大きな実績として、大規模ECシステム、求人検索サイトの開発となっております。 他にも音楽DLサイトや、業務を効率する管理系のシステムの実績も多数あります。 (30秒)