SlideShare a Scribd company logo
1 of 29
Download to read offline
TensorFlow 入門
機械学習から画像認識まで
株式会社インフィニットループ アルバイト 中川武憲
Agenda
・ 機械学習
・ Neural Network
・ TensorFlow
・ 画像認識
Attention
 筆者も勉強中のため、所々間違っている箇所
があるかもしれませんが、マサカリは受け取れる
ように優しく投げていただけると幸いです。
機械学習 (Machine Learning)
・ データから反復的に学習
・ 学習結果から未知のデータに対して判断
・ 学習に用いるデータ: 訓練データ (学習データ)
・ 未知のデータ: 試験データ (テストデータ)
機械学習 - 種類
・ 教師あり学習

→ 入力(訓練データ)に対して答え(ラベル)がある
・ 教師なし学習

→ 答えの分からない入力しか無い
・ 半教師あり学習

→ ラベルのないデータとラベルのあるデータ両方で学習する
・ 強化学習

→ 答えは分からないけど、断片的な状態は評価できる
機械学習 - 手法の一部
・ ニューラルネットワーク

→ 人工神経ネットワークを使って学習
・ 進化型プログラミング

→ 人工的な遺伝の仕組を使って学習
・ 決定木学習
→ データから決定木という予測モデルを作ることで学習
・ Q学習
→ 環境、報酬、エージェントを用いて最適行動を獲得する学習
Neural Network
CC BY: zcool.com.cn
Neural Network
・ 脳の神経細胞の働きを参考に考案された

機械学習の手法の一種
・ 最もシンプルな2層構造: 単純パーセプトロン
・ 中間層(隠れ層)があるもの: 多層パーセプトロン
・ 中間層が2層以上のもの: Deep Neural Network
Neural Network
形式ニューロン
重み w
バイアス b
活性化関数 φ
入力 x
x1
x2
xn
w1
w2
wn
出力 y
・

・

・
・

・

・
Neural Network
・

・

・
・

・

・
入力層 中間層(隠れ層) 出力層
多層パーセプトロン
Backpropagation
・

・

・
・

・

・
誤差逆伝播法とも言う
教師データ
重み調整
重み調整
Deep Learning
・ Deep Neural Network は多層になるほど学習

しずらくなる
・ Backpropagation により誤差が入力層へ伝播

しにくくなり過学習が起こる
・ Dropout など様々な対策が施されている
Dropout
・

・

・
・

・

・
入力層 中間層(隠れ層) 出力層
任意の確率でニューロンをなかったことにする
TensorFlow
・ Google の開発している機械学習ライブラリ
・ C++ や Python から扱える
・ Android でも動くよ!
・ Windows ではまだ動かないよ…

Docker 使ってね!
Tutorial
・ Docker で環境構築

(Docker の導入方法は省略)
・ TensorFlow 公式イメージ



https://hub.docker.com/r/tensorflow/tensorflow/
$ docker pull tensorflow/tensorflow:0.7.1
Run
・ port 8888 は Jupyter 用
・ port 6006 は TensorBoard 用 (後述)
$ docker run -itd --name tf 

-p 8888:8888 -p 6006:6006 

tensorflow/tensorflow:0.7.1
Exec
・ 以後、コンテナ内での処理
・ Windows の方で SSH が面倒な場合は

Jupyter を使いましょう
$ docker exec -it tf bash
Jupyter
・ IPython Notebook の多言語対応版といった所
・ 対話的に動くコードを含んだドキュメントが作れる
Jupyter
Terminal の開き方
Jupyter
Terminal の開き方
TensorFlow
・ まずは簡単な算数から
・ Python インタプリタを起動する
$ python
TensorFlow
・ TensorFlow の Hello World
> import tensorflow as tf
> msg = tf.constant("Hello World")
> sess = tf.Session()
> print sess.run(msg)
Tensor が返る
TensorFlow で計算①
・ 1 + 1
・ m + m の時点では計算されていない

sess.run に渡った時点で計算される
> m = tf.constant(1)
> print sess.run(m + m)
TensorFlow で計算②
・ TensorFlow で sigmoid 関数
> a = tf.constant(5)
> x = tf.placeholder(tf.float32)
> sigmoid = 1 / (1 + tf.exp(-a * x))
> print sess.run(sigmoid,

feed_dict={x: 0})
Fetch TensorFlow
Repository tarball
・ Tutorialを実行するためにリポジトリの

アーカイブをダウンロードしましょう
# curl -Lo tensorflow.tar.gz
https://github.com/tensorflow/
tensorflow/archive/v0.7.1.tar.gz

# tar xzvf tensorflow.tar.gz

# cd tensorflow*
手書き文字認識
・ 手書き数字 0~9 を判定する
・ 4層ニューラルネットワーク
# cd tensorflow/examples/tutorials/
mnist
# python fully_connected_feed.py
TensorBoard
・ TensorFlow の可視化ツール
・ tf.train.SummaryWriter

で書き出したデータが見られる
# tensorboard --logdir data
活用方法
・ 画像認識 (分類)
・ 自然言語処理 (感情, 意味認識)
・ 作画, 作曲などクリエイティブな分野
・ ノイズ除去 (waifu2x等)
・ ?
ご清聴ありがとうございました

More Related Content

What's hot

TensorFlowをざっくりLTしてみた
TensorFlowをざっくりLTしてみたTensorFlowをざっくりLTしてみた
TensorFlowをざっくりLTしてみたMitsuki Ogasahara
 
AI入門「第1回:AIの歴史とTensorFlow」
AI入門「第1回:AIの歴史とTensorFlow」AI入門「第1回:AIの歴史とTensorFlow」
AI入門「第1回:AIの歴史とTensorFlow」fukuoka.ex
 
Tensorflowで言語識別をやってみた
Tensorflowで言語識別をやってみたTensorflowで言語識別をやってみた
Tensorflowで言語識別をやってみたKyota Yasuda
 
Meta-Learning with Memory Augmented Neural Network
Meta-Learning with Memory Augmented Neural NetworkMeta-Learning with Memory Augmented Neural Network
Meta-Learning with Memory Augmented Neural NetworkYusuke Watanabe
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)Etsuji Nakai
 
Basic deep learning_framework
Basic deep learning_frameworkBasic deep learning_framework
Basic deep learning_frameworkKazuhiroSato8
 
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴Yuya Unno
 
ディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみたディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみた卓也 安東
 
Dropout Distillation
Dropout DistillationDropout Distillation
Dropout DistillationShotaro Sano
 
もう学習は機械に任せたい2 -ディープラーニングの逆襲-
もう学習は機械に任せたい2 -ディープラーニングの逆襲-もう学習は機械に任せたい2 -ディープラーニングの逆襲-
もう学習は機械に任せたい2 -ディープラーニングの逆襲-Kosuke Sugahara
 
Facebookの人工知能アルゴリズム「memory networks」について調べてみた
Facebookの人工知能アルゴリズム「memory networks」について調べてみたFacebookの人工知能アルゴリズム「memory networks」について調べてみた
Facebookの人工知能アルゴリズム「memory networks」について調べてみた株式会社メタップスホールディングス
 
Learning to forget continual prediction with lstm
Learning to forget continual prediction with lstmLearning to forget continual prediction with lstm
Learning to forget continual prediction with lstmFujimoto Keisuke
 
全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131Hangyo Masatsugu
 
Development and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and mafDevelopment and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and mafKenta Oono
 
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...Yuya Unno
 
子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得Yuya Unno
 
Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用Yuya Unno
 
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクールYuya Unno
 

What's hot (20)

TensorFlowをざっくりLTしてみた
TensorFlowをざっくりLTしてみたTensorFlowをざっくりLTしてみた
TensorFlowをざっくりLTしてみた
 
AI入門「第1回:AIの歴史とTensorFlow」
AI入門「第1回:AIの歴史とTensorFlow」AI入門「第1回:AIの歴史とTensorFlow」
AI入門「第1回:AIの歴史とTensorFlow」
 
Tensorflowで言語識別をやってみた
Tensorflowで言語識別をやってみたTensorflowで言語識別をやってみた
Tensorflowで言語識別をやってみた
 
Meta-Learning with Memory Augmented Neural Network
Meta-Learning with Memory Augmented Neural NetworkMeta-Learning with Memory Augmented Neural Network
Meta-Learning with Memory Augmented Neural Network
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
 
Basic deep learning_framework
Basic deep learning_frameworkBasic deep learning_framework
Basic deep learning_framework
 
内省するTensorFlow
内省するTensorFlow内省するTensorFlow
内省するTensorFlow
 
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
 
ディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみたディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみた
 
Dropout Distillation
Dropout DistillationDropout Distillation
Dropout Distillation
 
もう学習は機械に任せたい2 -ディープラーニングの逆襲-
もう学習は機械に任せたい2 -ディープラーニングの逆襲-もう学習は機械に任せたい2 -ディープラーニングの逆襲-
もう学習は機械に任せたい2 -ディープラーニングの逆襲-
 
Facebookの人工知能アルゴリズム「memory networks」について調べてみた
Facebookの人工知能アルゴリズム「memory networks」について調べてみたFacebookの人工知能アルゴリズム「memory networks」について調べてみた
Facebookの人工知能アルゴリズム「memory networks」について調べてみた
 
2016tf study5
2016tf study52016tf study5
2016tf study5
 
Learning to forget continual prediction with lstm
Learning to forget continual prediction with lstmLearning to forget continual prediction with lstm
Learning to forget continual prediction with lstm
 
全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131
 
Development and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and mafDevelopment and Experiment of Deep Learning with Caffe and maf
Development and Experiment of Deep Learning with Caffe and maf
 
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
 
子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得
 
Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用
 
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
 

More from Takenori Nakagawa (20)

機械学習を用いたパターンロック認証の強化手法
機械学習を用いたパターンロック認証の強化手法機械学習を用いたパターンロック認証の強化手法
機械学習を用いたパターンロック認証の強化手法
 
Docker で Deep Learning
Docker で Deep LearningDocker で Deep Learning
Docker で Deep Learning
 
GitHub Travis-CI Go!
GitHub Travis-CI  Go!GitHub Travis-CI  Go!
GitHub Travis-CI Go!
 
01.app
01.app01.app
01.app
 
Service Workers Push API Hands-on
Service Workers Push API Hands-onService Workers Push API Hands-on
Service Workers Push API Hands-on
 
Service Workers
Service WorkersService Workers
Service Workers
 
OpenGL 3DCG
OpenGL 3DCGOpenGL 3DCG
OpenGL 3DCG
 
WebGL
WebGLWebGL
WebGL
 
01:artificial life
01:artificial life01:artificial life
01:artificial life
 
後期05
後期05後期05
後期05
 
後期03
後期03後期03
後期03
 
後期02
後期02後期02
後期02
 
densan2014-late01
densan2014-late01densan2014-late01
densan2014-late01
 
phpck
phpckphpck
phpck
 
Git 初心者のための GitHub Pages
Git 初心者のための GitHub PagesGit 初心者のための GitHub Pages
Git 初心者のための GitHub Pages
 
OpenIL vol.1
OpenIL vol.1OpenIL vol.1
OpenIL vol.1
 
後期講座08
後期講座08後期講座08
後期講座08
 
後期講座07
後期講座07後期講座07
後期講座07
 
後期講座05
後期講座05後期講座05
後期講座05
 
後期講座03
後期講座03後期講座03
後期講座03
 

Recently uploaded

TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfMatsushita Laboratory
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdfAyachika Kitazaki
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-LoopへTetsuya Nihonmatsu
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor arts yokohama
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~arts yokohama
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦Sadao Tokuyama
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)ssuser539845
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法ssuser370dd7
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見Shumpei Kishi
 

Recently uploaded (12)

TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdfTaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
TaketoFujikawa_台本中の動作表現に基づくアニメーション原画システムの提案_SIGEC71.pdf
 
20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf20240326_IoTLT_vol109_kitazaki_v1___.pdf
20240326_IoTLT_vol109_kitazaki_v1___.pdf
 
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
「今からでも間に合う」GPTsによる 活用LT会 - 人とAIが協調するHumani-in-the-Loopへ
 
2024 01 Virtual_Counselor
2024 01 Virtual_Counselor 2024 01 Virtual_Counselor
2024 01 Virtual_Counselor
 
2024 04 minnanoito
2024 04 minnanoito2024 04 minnanoito
2024 04 minnanoito
 
What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?What is the world where you can make your own semiconductors?
What is the world where you can make your own semiconductors?
 
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
2024 02 Nihon-Tanken ~Towards a More Inclusive Japan~
 
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
ARスタートアップOnePlanetの Apple Vision Proへの情熱と挑戦
 
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
IFIP IP3での資格制度を対象とする国際認定(IPSJ86全国大会シンポジウム)
 
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
情報処理学会86回全国大会_Generic OAMをDeep Learning技術によって実現するための課題と解決方法
 
2024 03 CTEA
2024 03 CTEA2024 03 CTEA
2024 03 CTEA
 
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
持続可能なDrupal Meetupのコツ - Drupal Meetup Tokyoの知見
 

TensorFlow 入門