SlideShare una empresa de Scribd logo
1 de 16
もう学習は機械に
任せたい2
ディープラーニングの逆襲
@Signal株式会社
菅原 浩祐
これまでのあらすじ
• Wacker#8で、TensorFlowでMNISTの環境を構築して動かした
けど、何をやっているかまではわからんかった
MNISTとは
• 手書き文字認識の例題
• 0~10までの数字一文字が書かれた28 * 28ピクセルの画像が
70000個入ったデータセット
• TensorFlowのチュートリアルとしてはBeginnersとExpertの二
種類がある
• これらの画像を正しく分類できるようにプログラムを自動で学
習させる
本日の目的
• TensorFlowのMNIST ML Beginners及び、Expertのサンプル
コードがそれぞれ何をやっているか解説して、TensorFlowの活
用方法を理解できれば
そもそもディープラーニングとは
• 超ざっくり言うと
「入力された配列から正しい答えを導くために必要な変数を求め
る」ための方法
MNIST ML Beginners
【データの入力】
・TensorFlow(というかDeeplernning)では画像を1ピクセル
ごとに数値に置き換えて、配列として扱う
MNISTのデータの場合
28 * 28 256階調 の画像データなので・・・
「それぞれの要素に256までの整数が入った784個の要素数の
1次元配列」としてデータを入力する
例: [0,1,0,2,0・・・・・]
【処理】
[必要な変数とは]
重み(W)とバイアス(b)
それぞれのxに対応する重みを掛け算したものと、バイアスを全
部足し算したものが出力(y)になる
それぞれのxに対応する重みを掛け算したものと、バイアスを全
部足し算したものが出力(y)になる
式で表すと:
Yi = W1 * X1 + W2 * X2 + ……. W784 * X784 + b
↑この重みとバイアスを調整して「問題を解ける式」を求めてい
くというのが根本の原理
(yは答えの種類の数だけ用意(MNISTの場合0~9の10種類:y0~
y9))
[評価(重みとバイアスをどう導くか)]
• 出力結果のパーセンテージとラベルデータを突き合わせて、答
え合わせをして差を算出する
合ってたら(差が少なければ):W,bはそのまま
間違ってたら(差が大きければ):W,bを次に進めて再計算
→この差の事をクロスエントロピーと呼ぶ
[ソフトマックス関数]
出力の総和が1になるように比率化する処理
例えば
Y0:0.2, Y1:0, Y2:0, Y3:0, Y4:0, Y5:0, Y6:0.8, Y7:0, Y8:0, Y9:0
こういう出力になるように調整してくれるので、パーセンテージ
で答えが表せられる
MNIST ML Expert
[TensorFlowのMNIST BeginnersとExpertの違い]
・畳み込み処理のある無し
[畳み込み処理とは]
・画像にフィルタ処理を施して特徴量を抽出する
画像(の配列)を小さい矩形に区切って、それぞれに特定の値を
乗算して、特徴を増大させる
http://engineering.flipboard.com/assets/convnets/Convolution_schematic.gif
→例えば:グレーの部分を黒に置き換えることで線の部分を太
くする、とか(参考)
[プーリング]
画像が多少ずれていても結果に影響が出ないように調整する処理
MAXプーリング:
画像(の配列)を小さい矩形に区切り、その範囲内で一番大きな値
を結果として採用していく
平均プーリング:
画像(の配列)を小さい矩形に区切り、その範囲内の平均値を結果
として採用していく
[活性化関数]
どの程度特徴があったら真とするか、という評価をなめらかにし
たり、緩急をつけたりして調整するための処理
MNIST ML Expertソースコードの解説
https://gist.github.com/uramonk/422bb33419df91b253d8728f
e794f8b4
便利ツール
• Anaconda:Pythonのバージョン管理システム
http://qiita.com/exy81/items/48314b968d9fad6170c8
• Jupyter Notebook:Pythonを1行ずつ確認しながら実行できる
仕組み
http://qiita.com/icoxfog417/items/175f69d06f4e590face9

Más contenido relacionado

La actualidad más candente

Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Yuya Unno
 

La actualidad más candente (20)

Pythonによる機械学習
Pythonによる機械学習Pythonによる機械学習
Pythonによる機械学習
 
Nlpaper.challenge2 nlp2
Nlpaper.challenge2 nlp2Nlpaper.challenge2 nlp2
Nlpaper.challenge2 nlp2
 
[DL輪読会]Learning by Association - A versatile semi-supervised training method ...
[DL輪読会]Learning by Association - A versatile semi-supervised training method ...[DL輪読会]Learning by Association - A versatile semi-supervised training method ...
[DL輪読会]Learning by Association - A versatile semi-supervised training method ...
 
[第2版] Python機械学習プログラミング 第1章
[第2版] Python機械学習プログラミング 第1章[第2版] Python機械学習プログラミング 第1章
[第2版] Python機械学習プログラミング 第1章
 
DS Exercise Course 3
DS Exercise Course 3DS Exercise Course 3
DS Exercise Course 3
 
現在のDNNにおける未解決問題
現在のDNNにおける未解決問題現在のDNNにおける未解決問題
現在のDNNにおける未解決問題
 
Basic deep learning_framework
Basic deep learning_frameworkBasic deep learning_framework
Basic deep learning_framework
 
TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門TensorFlowによるニューラルネットワーク入門
TensorFlowによるニューラルネットワーク入門
 
ディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみたディープラーニングで株価予測をやってみた
ディープラーニングで株価予測をやってみた
 
論文紹介 Semi-supervised Learning with Deep Generative Models
論文紹介 Semi-supervised Learning with Deep Generative Models論文紹介 Semi-supervised Learning with Deep Generative Models
論文紹介 Semi-supervised Learning with Deep Generative Models
 
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
Jubatusのリアルタイム分散レコメンデーション@TokyoWebmining#17
 
DS Exercise Course 2
DS Exercise Course 2DS Exercise Course 2
DS Exercise Course 2
 
Python基礎その2
Python基礎その2Python基礎その2
Python基礎その2
 
特徴ベクトル変換器を作った話
特徴ベクトル変換器を作った話特徴ベクトル変換器を作った話
特徴ベクトル変換器を作った話
 
TensorFlowとは? ディープラーニング (深層学習) とは?
TensorFlowとは? ディープラーニング (深層学習) とは?TensorFlowとは? ディープラーニング (深層学習) とは?
TensorFlowとは? ディープラーニング (深層学習) とは?
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
 
Vanishing Component Analysis
Vanishing Component AnalysisVanishing Component Analysis
Vanishing Component Analysis
 
Sakusaku svm
Sakusaku svmSakusaku svm
Sakusaku svm
 
ディープニューラルネット入門
ディープニューラルネット入門ディープニューラルネット入門
ディープニューラルネット入門
 
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
論文紹介 Identifying Implementation Bugs in Machine Learning based Image Classifi...
 

Similar a もう学習は機械に任せたい2 -ディープラーニングの逆襲-

Similar a もう学習は機械に任せたい2 -ディープラーニングの逆襲- (20)

ディープラーニングゼミ TensorFlowで学ぶ理論と実践
ディープラーニングゼミ TensorFlowで学ぶ理論と実践ディープラーニングゼミ TensorFlowで学ぶ理論と実践
ディープラーニングゼミ TensorFlowで学ぶ理論と実践
 
HTML5 Conference LT TensorFlow
HTML5 Conference LT TensorFlowHTML5 Conference LT TensorFlow
HTML5 Conference LT TensorFlow
 
tfug-kagoshima
tfug-kagoshimatfug-kagoshima
tfug-kagoshima
 
[DL輪読会]Xception: Deep Learning with Depthwise Separable Convolutions
[DL輪読会]Xception: Deep Learning with Depthwise Separable Convolutions[DL輪読会]Xception: Deep Learning with Depthwise Separable Convolutions
[DL輪読会]Xception: Deep Learning with Depthwise Separable Convolutions
 
2018年01月27日 TensorFlowの計算グラフの理解
2018年01月27日 TensorFlowの計算グラフの理解2018年01月27日 TensorFlowの計算グラフの理解
2018年01月27日 TensorFlowの計算グラフの理解
 
ChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なことChainerでDeep Learningを試す為に必要なこと
ChainerでDeep Learningを試す為に必要なこと
 
ChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なことChainerでDeep Learningを試すために必要なこと
ChainerでDeep Learningを試すために必要なこと
 
機械学習初学者が短期間でTensor flowで作ったmnistモデルをandroidアプリに組み込んだ話
機械学習初学者が短期間でTensor flowで作ったmnistモデルをandroidアプリに組み込んだ話機械学習初学者が短期間でTensor flowで作ったmnistモデルをandroidアプリに組み込んだ話
機械学習初学者が短期間でTensor flowで作ったmnistモデルをandroidアプリに組み込んだ話
 
Getting Started with Deep Learning using Scala
Getting Started with Deep Learning using ScalaGetting Started with Deep Learning using Scala
Getting Started with Deep Learning using Scala
 
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
「TensorFlow Tutorialの数学的背景」 クイックツアー(パート1)
 
いきなりAi tensor flow gpuによる画像分類と生成
いきなりAi tensor flow gpuによる画像分類と生成いきなりAi tensor flow gpuによる画像分類と生成
いきなりAi tensor flow gpuによる画像分類と生成
 
Deep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlowDeep Learning基本理論とTensorFlow
Deep Learning基本理論とTensorFlow
 
[DL輪読会]StyleNet: Generating Attractive Visual Captions with Styles
[DL輪読会]StyleNet: Generating Attractive Visual Captions with Styles[DL輪読会]StyleNet: Generating Attractive Visual Captions with Styles
[DL輪読会]StyleNet: Generating Attractive Visual Captions with Styles
 
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
『手を動かしながら学ぶ ビジネスに活かすデータマイニング』で目指したもの・学んでもらいたいもの
 
NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~NLPにおけるAttention~Seq2Seq から BERTまで~
NLPにおけるAttention~Seq2Seq から BERTまで~
 
2021 10-07 kdd2021読み会 uc phrase
2021 10-07 kdd2021読み会 uc phrase2021 10-07 kdd2021読み会 uc phrase
2021 10-07 kdd2021読み会 uc phrase
 
ゼロから作るDeepLearning 4章 輪読
ゼロから作るDeepLearning 4章 輪読ゼロから作るDeepLearning 4章 輪読
ゼロから作るDeepLearning 4章 輪読
 
業務アプリケーション開発を支える.NET技術 #ngtnet
業務アプリケーション開発を支える.NET技術 #ngtnet業務アプリケーション開発を支える.NET技術 #ngtnet
業務アプリケーション開発を支える.NET技術 #ngtnet
 
2018/6/26 deep learning Neural Network Console hands-on
2018/6/26 deep learning Neural Network Console hands-on2018/6/26 deep learning Neural Network Console hands-on
2018/6/26 deep learning Neural Network Console hands-on
 
ChatGPT(LLMによる生成系AI)の追加学習を No Code で行う ~ 概念モデリング教本を元に ~
ChatGPT(LLMによる生成系AI)の追加学習を No Code で行う  ~ 概念モデリング教本を元に ~ChatGPT(LLMによる生成系AI)の追加学習を No Code で行う  ~ 概念モデリング教本を元に ~
ChatGPT(LLMによる生成系AI)の追加学習を No Code で行う ~ 概念モデリング教本を元に ~
 

もう学習は機械に任せたい2 -ディープラーニングの逆襲-