SlideShare a Scribd company logo
1 of 57
Download to read offline
ディープラーニング入門
社内勉強会用
Tomomi Daigo
sat.Dec.10.2016
導入
AIや機械学習で出来ること
https://www.youtube.com/watch?v=9SNB-_t9qUc
https://www.youtube.com/watch?v=uCezICQNgJU
AIや機械学習で出来ること
https://www.youtube.com/watch?v=4HCE1P-m1l8
AIや機械学習で出来ること
SPAM?
Not SPAM?
AIや機械学習で出来ること
https://www.amazon.co.jp/
AIや機械学習で出来ること
https://www.youtube.com/watch?v=XEEXMAGZJ7g
AIや機械学習で出来ること
http://sensy.jp/
https://www.youtube.com/watch?v=L_tCHwQCK60
AIや機械学習で出来ること
http://rinna.jp/
AIや機械学習で出来ること
https://www.waseda.jp/top/news/41520
AIや機械学習で出来ること
http://deeplearning.cs.toronto.edu/i2t
機械学習の定義
「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野」
アーサー・リー・サミュエル
「コンピュータ・プログラムにおいて、[タスク]の性能を[評価]した際に、[経験]によってそ
れが改善されている場合のこと」
トム・マイケル・ミッチェル
機械学習の手法
機械学習の定義 ・・・ 学習(経験)する方法
教師あり学習 教師なし学習 強化学習
問題と答えで学習 構造を自分で把握 試行錯誤を繰り返す
機械学習の定義 ・・・ 学習(経験)する方法
教師あり学習 教師なし学習 強化学習
機械学習の手法
問題と答えで学習 構造を自分で把握 試行錯誤を繰り返す
教師あり学習
・ 問題とその答えをセットで機械に与える
・ 機械はどうにかして、問題を答えに変換する方法を探す
・ 上記を多くの事例に対して行い、一般的な問題に対応させる
例:数字を覚えさせる
機械学習の定義 ・・・ 学習(経験)する方法
教師あり学習 教師なし学習 強化学習
機械学習の手法
問題と答えで学習 構造を自分で把握 試行錯誤を繰り返す
教師なし学習
・ 問題のみ機械に与える
・ 機械は与えられた問題の構造を抽出する
・ 出力すべきものが決まっていない
例:クラスタリング(似た事例をいくつかのグループに分ける等)
機械学習の定義 ・・・ 学習(経験)する方法
教師あり学習 教師なし学習 強化学習
機械学習の手法
問題と答えで学習 構造を自分で把握 試行錯誤を繰り返す
強化学習
・ 現在の状態を観測する
・ 機械は現在の状態で行動を選択する
・ 選択した結果により状態が変化し、機械は報酬を受け取る
・ 機械は報酬が最も多く得られるような方策を学習する
例:ロボットの移動、ゲーム内キャラクタの動作など
導入ここまで
目次
1. 概観
2. 理論
2.1 数理モデル
ニューラルネットワーク
・ パーセプトロン
・ ディープラーニング
3. 実装へ向けて
1. 概観
AI技術の概観 AI(artificial intelligence)技術
機械学習 計算知能
エキスパートシステム
事例ベース推論
ベイジアンネットワー
ク
ニューラルネットワーク
ファジイ制御
進化的計算
https://ja.wikipedia.org/wiki/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD を元に作成
AI技術の概観 AI(artificial intelligence)技術
機械学習 計算知能
エキスパートシステム
事例ベース推論
ベイジアンネットワー
ク
ニューラルネットワーク
ファジイ制御
進化的計算
https://ja.wikipedia.org/wiki/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD を元に作成
有向グラフ(確率)
過去の事例利用
記号処理、論理学
遺伝メカニズム
神経細胞モデル
曖昧な表現を利用した制御
反復計算統計分析
AI技術の概観 AI(artificial intelligence)技術
機械学習 計算知能
エキスパートシステム
事例ベース推論
ベイジアンネットワー
ク
ニューラルネットワーク
ファジイ制御
進化的計算
https://ja.wikipedia.org/wiki/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD を元に作成
このように分類されていますが、現在は「計算知能」のこと
を指して「機械学習」と呼んでいる記事が圧倒的。この分
類での「機械学習」は 70〜80年代に興隆した技術で、現
在はあまり話題にならない。
機械学習
2. 理論
機械学習の流れ
https://thinkit.co.jp/article/9926?page=0%2C1
『Python機械学習プログラミング』p11 アルゴリズムは
機械学習のキーだが
機械学習の流れ
https://thinkit.co.jp/article/9926?page=0%2C1
実はそのコア(核)となる
のはモデル
『Python機械学習プログラミング』p11
人工知能 ≒ 数理モデル
 
数理モデル(mathematical model)
・ 「現象」を数学の言葉で表したもの(系、システム)
・ 「対象のシステムを簡略化して、その本質を表したもの」
・ 実際のふるまいとのズレは存在する(近似値である)
 
数理モデル(mathematical model) ・・・例
1.「A君の貯蓄額」というシステム
(変化する系)をモデル化する。
A君 A君
2. A君の行動を観察する。
A君は貯金が趣味であり、毎日 500円ずつ
貯金していることがわかった。
つまりA君の貯蓄額は毎日500円ずつ増加
する。
また、A君は始めに300円貯蓄があるとす
る。
数理モデル(mathematical model) ・・・例
3. この事実をグラフに描いたもの。
 横軸が時間、縦軸が貯蓄額である。
0 1 2 3 4 5 6 7 8 9 10 11 12 … (日)
(円)
6,000
5,000
4,000
3,000
2,000
1,000
500
0
4. グラフから明らかなように、 X日後の貯蓄額
(Y) は500*X+300と等しい。
 A君の貯蓄額は、Y=500X+300と数学的にモデ 
ル化された。
(貯蓄額) = 500 * (日数) + 300
Y = 500 X + 300
数理モデル(mathematical model) ・・・例
Y = 500 X + 300
0 1 2 3 4 5 6 7 8 9 10 11 12 … X
Y
6,000
5,000
4,000
3,000
2,000
1,000
500
0
ここで重要なことは、
 Xにどんな数(X>0の整数)を入れてもそのX
日後時点での貯蓄額Yが自動的に求められ
る点。
 モデルとはそのように、可能な限り、入力す
る値にかかわらずその値における正しい回答
を出力できるように設計するもの。
数理モデル(mathematical model) ・・・例
Y = 500 X + 300
0 1 2 3 4 5 6 7 8 9 10 11 12 … X
Y
6,000
5,000
4,000
3,000
2,000
1,000
500
0
つまり、
この例で構築したモデル「Y=500X+300」に「A君の3日後の貯蓄額は?」と尋ねると、
予測値「1800円」を返してくれるはず
AI=数理モデル
1800円です! >
500*3+300=1800
AI技術の概観 AI(artificial intelligence)技術
機械学習 計算知能
エキスパートシステム
事例ベース推論
ベイジアンネットワー
ク
ニューラルネットワーク
ファジイ制御
進化的計算
https://ja.wikipedia.org/wiki/%E4%BA%BA%E5%B7%A5%E7%9F%A5%E8%83%BD  を元に作成
再掲
ニューラルネットワーク(Newral Network)
・ 神経細胞の動作をもとにした数理モデル
・ 人口ニューロンが学習(結合強度を変化)して問題解決能力を  
持つようになるもの全般を指す。
・ 「単純パーセプトロン」、「多層パーセプトロン」を含む概念
・ 多層構造化したものが「ディープラーニング」
パーセプトロン(perceptron)
・ 1950〜1960 Warren McCulloch, Walter Pitts らを元にFrank Rosenblattが提案
・ 「重み」と「バイアス(閾値)」を持ち、入力*「重み」の総和がバイアスを超えれば発火
・ 入力・出力ともに0または1のみ
https://nnadl-ja.github.io/nnadl_site_ja/chap1.html
output= { 0 if ∑j wj xj ≤ threshold
1 if ∑j wj xj > threshold
シグモイドニューロン
・ パーセプトロンでは重みやバイアスの小さな変更で結果が大きく変わる
・ 上記の問題を解決する「微小な調整に対して、出力の変化も微小」な人工ニューロン
・ 入力は0〜1のあらゆる値を取り、出力はシグモイド関数を経由する
https://nnadl-ja.github.io/nnadl_site_ja/chap1.html
output= σ(w⋅x+b)
w1
w2
w3
b σ
シグモイド関数
 
http://www.gifu-nct.ac.jp/elec/deguchi/sotsuron/iwasa/
Z
σ(Z)
・ 入力Zがどんな値であっても、出力σ(Z)は0から1の範囲に収まる
・ ネットワーク出力側ニューロンの出力が0(または1)ばかりになることを防ぐ
・ この役割の関数を活性化関数と呼ぶ
活性化関数
 
http://hokuts.com/2016/05/27/pre-bp/
Z
Zσ(Z)
1. 「重み」と「バイアス」の微小な変化が、出力の微小な変化につながることが重要(そ
うでなければ”学習”することができない)
2. シグモイド関数以外も利用可能(プログラム的に微分可能であること)
σ(Z)=tanh(z)
Z
活性化関数
 
https://nnadl-ja.github.io/nnadl_site_ja/chap1.html
1. 「重み」と「バイアス」の微小な変化が、出力の微小な変化につながることが重要(そ
うでなければ”学習”することができない)
出力の微小な変化 = 「重み」 と 「バイアス」 の微小な変化 の線型結合で書ける
→つまり、入力に対するどんな出力でも重みとバイアスを変えれば表現できる!
活性化関数
 
https://nnadl-ja.github.io/nnadl_site_ja/chap1.html
2. シグモイド関数以外も利用可能(プログラム的に微分可能であること)
出力(σ(w*x+b))を微分する必要がある
多層パーセプトロン(multilayer perceptrons, MLPs)
https://nnadl-ja.github.io/nnadl_site_ja/chap1.html
パーセプトロンを多層化したもの
※層の構成要素はパーセプトロンではなく、実際にはシグモイドニューロン
多層パーセプトロン(multilayer perceptrons, MLPs)
https://nnadl-ja.github.io/nnadl_site_ja/chap1.html
入力層
(input layer)
隠れ層
(hidden layer)
出力層
(output layer)
パーセプトロンを多層化したもの
※層の構成要素はパーセプトロンではなく、実際にはシグモイドニューロン
多層パーセプトロン(multilayer perceptrons, MLPs)
https://nnadl-ja.github.io/nnadl_site_ja/chap1.html
入力層
(input layer)
隠れ層
(hidden layer)
出力層
(output layer)
mnistの手書き数字認識を解く多
層パーセプトロンの構造
ディープラーニング(Deep Learning)
・ ニューラルネットワークの多層化、特に3層以上のもの
・ 脳、視覚野の研究や、
「たった一つの学習理論(One Learning Theory)※1」、
スパース・コーディング理論※2を基にしたアルゴリズムが実
装されたもの
※1:脳が物事を学習する際には、全ての処理対象に対して唯一の学習方法を使っているという考え方
※2:脳がある処理をするときに、なるべく少ない神経活動で済ませられるように学習をしていく
http://s0sem0y.hatenablog.com/entry/2016/04/30/173951#%E3%81%9F%E3%81%A3%E3%81%9F1%E3%81%A4%E3%81%A
E%E5%AD%A6%E7%BF%92%E7%90%86%E8%AB%96
ディープラーニングのメリット
・ ”「データをもとに何を特徴表現すべきか」をコンピュータが自 
動的に獲得することができる”
例:
人間が特徴を指定:丸い赤い物体→りんご
ディープラーニング:りんご、りんご以外の何か→りんご
ディープラーニングの種類
・ 畳み込みニューラルネットワーク(Convolutional Newral Networks: CNN)
・・・主に画像認識
・ 再帰型ニューラルネットワーク(Recurrent Newral Networks: RNN)
・・・自動翻訳、音声認識など(時系列等の連続した関係を学習できる)
ディープラーニングの種類
GoogLeNet
https://arxiv.org/pdf/1409.4842v1.pdf
機械学習の流れ(再掲)
https://thinkit.co.jp/article/9926?page=0%2C1
このアルゴリズムの一つが
ディープラーニング
(ニューラルネットワーク)
『Python機械学習プログラミング』p11
機械学習の流れ(再掲)
https://thinkit.co.jp/article/9926?page=0%2C1
アルゴリズムによって
問題を解くための
モデルのパラメータを
決定する
『Python機械学習プログラミング』p11
3. 実装へ向けて
フレームワーク
・ Chainer
  ディープラーニングフレームワーク
Python言語
  動的な計算グラフ構築による直感的なコード
・ TensolFrow, Theano, Caffe など
http://chainer.org/
HDF5(Hierarchical Data Format)
・ 階層化されたデータ"群"を取り扱うファイル形式
・ 科学計算用途など
・ Chainerでは計算完了したモデルの
パラメータを保存するために使用する
http://yukisakamoto.hatenablog.com/entry/20130413/1365825028
(参考)機械学習に関わる手法
・ サポートベクターマシン
・ 決定木
・ ナイーブベイズ推定
・ 主成分分析(PCA)
・ k-meansメソッド
分類
クラスタリング
次元削減(クラスタリング)
参考資料
・ 岡谷貴之 『深層学習 (機械学習プロフェッショナルシリーズ)』
https://www.amazon.co.jp/%E6%B7%B1%E5%B1%A4%E5%AD%A6%E7%BF%92-%E6%A9%9F%E6%A2%B0%E5%AD%A6
%E7%BF%92%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%
E3%83%AB%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E5%B2%A1%E8%B0%B7-%E8%B2%B4%E4%B9%8B
/dp/4061529021
参考資料
ニューラルネットワークと深層学習 1.ニューラルネットワークを用いた手書き文字認識
https://nnadl-ja.github.io/nnadl_site_ja/chap1.html
有名論文から学ぶディープラーニング 2016.03.25
http://www.slideshare.net/minoruchikamune/20160325-60094117
【機械学習】ディープラーニング フレームワークChainerを試しながら解説してみる。
http://qiita.com/kenmatsu4/items/7b8d24d4c5144a686412
高卒でもわかる機械学習 (4) 誤差逆伝播法の前置き
http://hokuts.com/2016/05/27/pre-bp/
はじめるDeep learning
http://qiita.com/icoxfog417/items/96ecaff323434c8d677b

More Related Content

Featured

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

ディープラーニング入門