http://www.ashinari.com/2009/09/30-029113.php
第11回 KAIM 金沢人工知能勉強会
改めて機械学習を広く浅く知る
(旧タイトル:ちょっと知った気になる機械学習) tomitomi3
注意
本資料に使われている文献、図は勉強会及び教育目的のために引用して
います。引用されている文献の内容、図は著作者に帰属します。
2015/07/17 新規&発表
2015/09/30 加筆修正
2017/05/28 加筆修正
2019/07/21 加筆修正
2019/08/02 加筆修正
abstract
• KAIM(金沢人工知能勉強会)では最近の機械学習技法および
アプリケーションで紹介している。今回は改めて「機械学習」の
技法について紹介する。
• KAIM (Kanazawa Artificial Intelligence Meetup) introduced
recently Machine learning techniques and Application including
deep learning. In this presentation, I will introduce a little old
Machine learning techniques.
• この資料について
– プログラムのコードや数式等はほとんど出ません。
機械学習“史”と思って聞いていただければと思います。
– もともと、2015年ごろ地理情報システム(GIS)と機械学習という提案をし
たとき機械学習の概要説明に作ったものです。それを、学生向けにある
研究室で発表したときに手を入れて、さらに今回少し整理しました。
自己紹介
• 第6回 KAIM 発表資料 参照
– https://www.slideshare.net/tomit3/6-kaim-120127099
– 医療機器のソフトウェア開発など
• 最近
– JDLA Deep Learning for GENERAL 2019#2 合格した
– 2019 8/3,4 Maker Faire Tokyo 2019 出展
• 機械学習のための教師用画像データ生成&認識システ
ム
My Image datasets creation system for machine learning
https://makezine.jp/event/makers-mft2019/m0124/
• Maker Faire Tokyo 2019の見どころ #4 に紹介されました!
https://makezine.jp/blog/2019/07/mft2019_4_ai.html
目次
1. 機械学習の流行と何ができるのか
2. 各種技法
回帰分析(多変量解析)、判別分析、サポートベクターマシン、
決定木、アンサンブル学習
ニューラルネットワーク/ディープラーニング
3. まとめ
4. 機械学習を身近にするために
機械学習の流行と何ができるのか
Google Trends https://trends.google.co.jp/trends/?geo=JP
※Google Trends : キーワードの検索頻度をグラフ化したもの。流行具合が分かる
下記は「機械学習」というキーワードとその他技法の結果
機械学習は2012年~流行のワード≒流行っている
2019/7/20 検索
Googleが猫認識(2012)
Hinton LCVRCで優勝(2012)
↓
↑
Microsoft Kinect
(2011)
↑
Haar like特徴による顔認識
(2001)
NIKON デジカメで顔認識(2005)
↓
↑
Apple iPhone3G
(2008)
統計を背景に持つ分析技法が注目
[1]イアン・エアーズ 山形浩生 訳, “その数学が戦略を決める (文春文庫)”, 株式会社文藝春秋, 2010年 第1刷, p42, p218, p262
2013/12007 20142013/4
「その数学が戦略を決めるより」[1]より抜粋
“専門家:経験と直感に基づく意見。
絶対計算:大量データの解析に基づく分析。“
“専門家と絶対計算のどちらかが優秀かを比べると、ほぼ例外なく絶対計算が勝つ。
理由:人間は大量の条件にうまく重みづけができない。感情や先入観に左右されがち。“
“手法自体は昔からあった。でもこうした周辺の条件が整ってきたことで、一気に絶対計算があらゆる
場面で容易に使えるようになった。ただし、完ぺきではない。”
絶対計算≒コンピュータによる大量データ+分析手法
分析手法の改善、大量データへの分析手法・
計算リソースが手に入れやすくなった
統計を背景に持つ分析技法が注目
• Just One Word: Statistics[1] ※2009年
– “I keep saying that the sexy job in the next 10 years will be
statisticians,” said Hal Varian, chief economist at Google.
• Jobs in IT: The Hottest New Careers in Tech ?[2] ※2010年
– Data Mining/Machine Learning/AI/Natural Language
Processing
– Business Intelligence/Competitive Intelligence
– Analytics/Statistics – specifically Web Analytics, A/B Testing
and statistical analysis
• グーグルやマイクロソフトによると、「統計分析」こそ次の
10年でもっとも魅力的な職業になるのだそうです[3]
[2]The Top Three hottest new majors for a career in technology
http://jobsblog.com/blog/top-three-new-tech-majors/
[1]For Today’s Graduate, Just One Word: Statistics
http://www.nytimes.com/2009/08/06/technology/06stats.html?_r=3
[3]次の10年、「統計分析」こそテクノロジー分野でいちばんホットな職業になる
http://www.publickey1.jp/blog/10/10_3.html
http://gendai.ismedia.jp/articles/-/40925 より
“消える・なくなる仕事”のきっかけ
• Carl Benedikt Frey, Michael A. Osborne(2013)が発表
– “THE FUTURE OF EMPLOYMENT: HOW SUSCEPTIBLE ARE JOBS TO
COMPUTERISATION?”
– 雇用の未来:情報化がどのように影響を与えるか?
• COMPUTERISATION、情報化:コンピュータや機械への代替を意味
• どんな内容か
– 10~20年後、米国の47%の雇用が失われる(代替の可能性が高い)。
(主観ですがこのトピックだけが一人走りしたような印象。。。)
“消える・なくなる仕事”のきっかけ
• Carl Benedikt Frey, Michael A. Osborne(2013)が発表
– “THE FUTURE OF EMPLOYMENT: HOW SUSCEPTIBLE ARE JOBS TO
COMPUTERISATION?”
– 雇用の未来:情報化がどのように影響を与えるか?
• COMPUTERISATION、情報化:コンピュータや機械への代替を意味
• どんな内容か
– (機械学習とロボティクスの発達により)10~20年後、米国の47%の雇用が失わ
れる(代替の可能性が高い)。
– 仕事と情報化とへの影響および、情報化で仕事が代替される確率を求める
機械学習モデルを作成した。
• ガウス過程回帰を使って仕事がコンピュータ・機械に代替される確率を求めている
• 同じ技法を使って日本での場合を野村総研とオズボーンが行った。
– 賃金/学歴と情報化は負の相関
• 情報化されにくい仕事に再配置。しかし、競争に勝つためには創造性と社会スキルが必要↓
“For workers to win the race, however, they will have to acquire creative and social skills.”
“消える・なくなる仕事”のきっかけ
• 情報化の対象が時代とともに変化
– 今までは“定型”の仕事のみがコンピュータ/機械に
より代替されたが大量のデータ+機械学習+ロボ
ティクスで定型以外の仕事も代替可能に
手作業 認知
定型作業
非定型作業
手作業 認知
定型作業
非定型作業
↑ex. 職人の技、医者↑ex. 職人の技、医者
機械学習
と
ロボティクスの発達
ガートナー 先進テクノロジのハイプサイクル 2015~2018 赤破線は機械学習、応用したテクノロジを指す
[1]Gartner's 2015 Hype Cycle for Emerging Technologies Identifies the Computing Innovations That Organizations Should Monitor
https://www.gartner.com/newsroom/id/3114217
[2]Gartner's 2016 Hype Cycle for Emerging Technologies Identifies Three Key Trends That Organizations Must Track to Gain Competitive Advantage
http://www.gartner.com/newsroom/id/3412017
[3]ガートナー、「先進テクノロジのハイプ・サイクル:2017年」を発表
https://www.gartner.com/jp/newsroom/press-releases/pr-20170823
[4]ガートナー、「先進テクノロジのハイプ・サイクル:2018年」を発表
https://www.gartner.com/jp/newsroom/press-releases/pr-20180822
機械学習
• 機械学習
– コンピュータにヒトのような学習能力を持たせるた
めの技術の総称[1]
– 人間が自然に行っている学習能力と同様の機能を
コンピュータで実現しようとする技術・手法のこと[2]
[1]杉山 将, "イラストで学ぶ 機械学習 最小二乗法による識別モデル学習を中心に (KS情報科学専門書)", 講談社, 2013年
[2]機械学習:http://ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92
機械学習は何ができるのか?
• 機械学習は3種類
– 教師あり機械学習 ←今回の対象
– 教師なし機械学習
– 強化学習
• それぞれの特徴
– 教師あり学習
• できること:分類と回帰
• 教師データ(正解が分かっている)から未知データを予測
– 教師なし学習
• できること:グループ化、データの特徴抽出
• データのみからグループ・特徴抽出を行う
– 強化学習
• できること:行動(一連の流れ)
• 環境とのやり取りによる学習。行動に対し報酬で学習を行う。
機械学習は何ができるのか?
• 教師あり学習ができること
分類と回帰
• 分類
– 与えられたパターンを識別する教師付きのパターン認識
• 回帰
– 実数値関数を標本点から近似する教師付きの関数近似
杉山 将, “イラストで学ぶ 機械学習 最小二乗法による識別モデル学習を中心に (KS情報科学専門書)”, 講談社, 2013年 pp4-5
機械学習は何ができるのか?
• 入力した情報から、分類/回帰(予測)を行う。
入力 出力
入力に応じ
出力を
返す仕組み
機械学習は何ができるのか?
• 入力した情報から、分類/回帰(予測)を行う。
入力 出力
入力に応じ
出力を
返す仕組み
何を入力するか? 何を出力するか?
機械学習は何ができるのか?
• 入力した情報から、分類/回帰(予測)を行う。
入力 出力
入力に応じ
出力を
返す仕組み
例
量的データ(数値)
• 店舗の売り上げ
• 5年以内につぶれる確率
質的データ(非数値)
• 明日は晴れ/雨/曇り
• 画像の分類(犬、猫など)
量的・質的データ
• 駅からの距離(数値)
• 競合店の有無(有/無)
• 天気(晴れ、曇り、雨)
バイナリデータ(表現を変えただけ)
• 画像データ、音データ
仕組みをどうやって作るか?
機械学習は何ができるのか?
• 仕組みを作るには学習データが必要
学習
データ
出力結果
仕組み
(識別(規則)、学習機
とも呼ばれる)
• 学習
• 学習データから仕組みを作ること
・誤差から仕組みを調整
・仕組みの評価など
機械学習は何ができるのか?
• 仕組みの種類
仕組み
(識別(規則)、学習機
とも呼ばれる)
仕組みの種類
• 回帰/判別分析
• 決定木
• サポートベクターマシン
• ニューラルネットワーク など
※ベンチマークとしてアヤメ(花)を
高精度かつ高速に分類する手法を研究
(現在はもっと大量で複雑なデータ)
各種技法
教師あり機械学習
• 回帰分析
• 判別分析
• 決定木
• アンサンブル学習
• ニューラルネットワーク
良い初期値を与え、
勾配消失の回避
超多層化の時代へ
誤差伝播による多層化
(合成関数)
決定木+アンサンブル学習
Ridge+LASSOの組み合わせ
学習法の一般化
(デルタルール)
カーネルトリック(カーネル関数を
用いてデータを高次元へ写像)
パーセプトロンの発展、識別面に注目
(サポートベクター)
形式ニューロン
McCulloch, Pitts (1943)
↓
Perceptron
↓Rosenblatt (1958)
↓逆誤差伝播法:Rumelhart,
Hinton, Williams(1986) Autoencoder
Deep belief network
Hinton(2006)
ネオコグニトロン
福島(1984)↓
1940 1960 1980 2000 2020
ニューラルネットワーク(Neural Network) 多層NNの実現 深層学習※ホットな分野
Convolution NN:
↓ LeCun(1989)
↓ID3:Quinlan(1986)
↓CART:Breiman(1984) Random Forest
↓Breiman(2001)
↓C4.5:Quinlan(1993)
CHAID:
Gordon V. Kass(1980)↓
決定木(Decision Tree/Stamp)
アンサンブル学習
AdaBoost:Freund, Schapire(1995)↓
Bagging:Breiman, Leo (1996)↓
↓(線形)SVM:Vapnik(1963)
サポートベクターマシン(Support Vector Machine)
(非線形)SVM:
↓Boser, Guyon and Vapnik(1992)
判別分析
Fisher(1936)
統計学
(多変量解析)
回帰分析(線形回帰)
?(1800後半~)
Gradient Boosting
↓Brieman(1997), Friedman(1999)
※分類と回帰のはじまり
Ridge回帰:
↓Hoerl, Kennard (1970)
LASSO回帰:Tibshirani, R. (1996)
↓
回帰
↓ElasticNet:
H Zou, etal(2005)
機械学習技法の変遷
※教師あり機械学習の技法を抜粋
(主観で代表的な技法を抜粋)
精度向上・高速化のため日進月歩
最小二乗法の発見
(Methode des miondres quarres)
ルジャンドル(1805)
天体のモデル化
機械学習を支える学問
(学問と技法で分けてみる(主観有))
統計学(数学)
⇒データの特徴(平均etc)をつかむ
機械学習(パターン認識)
⇒データからの学習
(再現)、手法に重点
データマイニング
⇒新たな知識発見に重点
多変量解析
回帰分析
(重回帰、ロジスティック回帰など)
主成分分析、独立成分分析
因子分析、判別分析
数量化理論 (I類、II類、III類、IV類)
コンジョイント分析 など
ベイズ理論
ナイーブベイズ推定
(ガウス過程回帰)
ベイジアンネット など
技法
クラスター分析(K-meansなど)、
決定木、サポートベクターマシン
ニューラルネットワーク、アンサンブル学習
(バギング、ブースティング)など
データサイエンス
⇒データを包括的に扱う
(視覚化という技法も含まれる)
冒頭のトレンドの他の技法
昨今話題の深層学習、Deep Neural Networkがやや流行
ただし、回帰分析を入れると回帰分析がぶっちぎりで1位になる
2019/7/20 検索
Googleが猫認識(2012)
Hinton LCVRCで優勝(2012)
↓
↑
Microsoft Kinect
(2011)
↑
Haar like特徴による顔認識
(2001)
NIKON デジカメで顔認識(2005)
↓
↑
Apple iPhone3G
(2008)
回帰分析
回帰分析について
• 回帰分析とは?
– ある変数𝒚 (目的変数)を、他の変数𝒙 𝟏, … , 𝒙 𝒑(説明
変数)で予測する式を求め目的変数を予測、説明変
数の寄与を評価したりする分析のことをいう
– 説明変数が1つの場合は単回帰分析、2つ以上の場
合は重回帰分析という
𝒚 = 𝒇 𝒙 𝟏 + ⋯ + 𝒙 𝒑 + 𝜺
↑
目的変数
↑
予測する式
(回帰式、モデル)
※既知と未知
の場合がある
↑
説明変数
(添え字の
pは変数の数)
↑
誤差/定数項
(説明変数だけで
は説明できない定
数の変数)
回帰分析
• 第7回 KAIM 参照↓
– 回帰分析を使う上での注意事項
– https://www.slideshare.net/tomit3/7kaim
回帰分析の種類
• 一言に「回帰分析」といっても、、、
– 説明変数が1つ:単回帰分析 𝑓 𝑥 = 𝑎𝑥 + 𝑏
– 説明変数が2つ以上 𝑓 𝑥 = 𝑎0 + 𝑏1 𝑥1 ⋯ + 𝑏 𝑛 𝑥 𝑛
• 数量化理論I類(説明変数が数値ではない場合 例:月日など)
– ロジスティック回帰(分類)
• 値ではなく、確率を返す。
– 正則化(罰則)を加えた回帰分析
• RIDGE 回帰(L2)・・・回帰係数の二乗和を追加(Hoerl 1970)
• LASSO (least absolute shrinkage and selection operator)回帰(L1)
・・・回帰係数の絶対値の和を追加(Tibshirani 1996)
• ELASTIC NET(L1+L2)・・・上記ハイブリッド(Zou 2005)
ELASTIC NET
𝑓 𝑥 = 𝑎0 +
𝑖=0
𝑛
𝑏𝑖 𝑥𝑖 + 𝛾1
𝑖=0
𝑛
𝑏𝑖
2
+ 𝛾2
𝑖=0
𝑛
𝑏𝑖
Ridge回帰:𝑓 𝑥 = 𝑎0 +
𝑖=0
𝑛
𝑏𝑖 𝑥𝑖 + 𝛾
𝑖=0
𝑛
𝑏𝑖
2
LASSO回帰:𝑓 𝑥 = 𝑎0 +
𝑖=0
𝑛
𝑏𝑖 𝑥𝑖 + 𝛾
𝑖=0
𝑛
𝑏𝑖
判別分析
(線形)判別分析
• 概要
– 事前に与えられているデータが異なるグループに分かれる
ことが明らかな場合、新しいデータが得られた際に、どちら
のグループに入るのかを判別するための基準(判別関数)
を得るための手法[1]
⇒与えられたデータをもとに「分類」する技法
• どのように分類するか?
– 1本の線(平面、超平面)で分類を行う。
[1]https://ja.wikipedia.org/wiki/%E5%88%A4%E5%88%A5%E5%88%86%E6%9E%90
(線形)判別分析
• 例:血圧と体重から健康/非健康の分類
– 血圧、体重という2変数をもとに健康/非健康かを
分類する。図でプロットしてみると健康/非健康を
分ける・説明できる直線がありそうだ。
血圧
体重
血圧
体重
※青〇を健康、赤〇を非健康とする
健康
非健康
(線形)判別分析
• 線形識別関数/判別関数
– 群(グループ、クラス)の塊(分布)が重ならない方向を探す。
クラスを分ける直線(判別関数)になる。
[1]図は引用し加工:http://www.weblio.jp/content/%E5%88%A4%E5%88%A5%E5%88%86%E6%9E%90
[2]杉山将,”イラストで学ぶ機械学習”, p72-74
判別関数の式
𝑓 𝑥 = 𝑤0 𝑥 + ⋯ + 𝑐 = 𝑤 𝑇 𝑥 + 𝑐
データから分布が重ならない方向の式(wとc)を
求める。2変数の場合は直線、3変数は面、4変数
以上は超平面となる。
条件有り:各クラスにおいて、共分散行列の等し
いガウス分布に従うとき最適な分類が可能[2]
→クラスの確率分布が正規分布を仮定
サポートベクターマシン
(線形)サポートベクターマシン
• 概要
– 訓練サンプルから、各データ点との距離が最大となるマー
ジン最大化超平面を求めるという基準で線形入力素子のパ
ラメータを学習する。 [1]
– 分類/回帰も可能。
• どのように分類するか?
– マージン最大化の識別線・面で分類を行う。
• 「境界を,それぞれの集合でもっとも境界に近い点のど
ちらからも,もっとも遠くなるように置く」[2]
[1] https://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%83%99%E3%82%AF%E3%82%BF%E3%83%BC%E3%83%9E%E3%82%B7%E3%83%B3
[2] http://racco.mikeneko.jp/Kougi/10s/AS/AS10pr.pdf
(線形)サポートベクターマシン
• マージンを最大化する識別面・線
図は下記より引用
http://home.a00.itscom.net/hatada/ml/svm/svm01.html
識別面・線の式
𝑓 𝑥 = 𝑤 𝑇
𝑥 + 𝑤0
サポートベクター(最も境界に近
い点)のマージンを最大化する
識別線/面の式を求める。
判別分析と同じ式だが、求める
のにデータの分布ではなく、識別
面・線に注目していることが特徴
(線形)サポートベクターマシン
• 下図の赤と青を分類したい
x
y
(線形)サポートベクターマシン
• 下図の赤と青を分類したい
– 線形判別分析・線形SVMでは直線・面の式で分類す
る為分類ができない=“線形分離”ができない
x
y
〇
分類できる
×
分類できない
×
分類できない
(非線形)サポートベクターマシン
• 直線・面で分離できない場合
– 1つ次元を上げて線から面で分類ができないか?
• 「線形分離可能でない学習データは、非線形変換で高次
元特徴空間へ写像することにより線形分離可能となる可
能性がある」[1]
– カーネルトリック
• カーネル関数を用いてデータを高次元へ写像
– カーネル関数:多項式カーネル、ガウス関数など
[1]平井 有三, "はじめてのパターン認識", 森北出版, 2012年
[1] SVM with polynomial kernel visualization https://www.youtube.com/watch?v=3liCbRZPrZA
(非線形)サポートベクターマシン
• SVM with polynomial kernel visualization[1]
– 多項式関数(y=w0*x+w1*x^2…+c)をカーネル関数
青/赤の点を分類
青の点は白い円内にある
カーネル関数として多項式関数を使用
3次元の空間に写像
識別面で分類→
回帰/判別分析、SVM
• 回帰/判別分析、(線形/非線形)SVMは数式に
より回帰、分類を実現
• 数式は学習データ(教師データ)から
数式の変数を調整して得られる。最適化技法。
– 最適化については下記参照
• 第9回 KAIM(金沢人工知能勉強会)進化的計算と最適化
/ Evolutionary computation and optimization
• https://www.slideshare.net/tomit3/evolutionary-
computation-and-optimization-9-kaim-133068389
決定木
決定木
• 概要
– 決定木は予測モデルであり、ある事項に対する観察結果か
ら、その事項の目標値に関する結論を導く。内部節点は変
数に対応し、子節点への枝はその変数の取り得る値を示す。
葉(端点)は、根(root)からの経路によって表される変数値
に対して、目的変数の予測値を表す。[1]
• どのように分類するか?
– IF-THENルールから分類/回帰を行う。
– 回帰を行う決定木は回帰木
[1] https://ja.wikipedia.org/wiki/%E6%B1%BA%E5%AE%9A%E6%9C%A8
決定木
• 学習データからIF-Thenのルールを作成する
• どのような基準でルールを作るか?
– GINI係数⇒CART
– 情報ゲイン(エントロピー)⇒ID3、C4.5
変温? 卵生? 肉食? クラス
恒温 YES Yes 鳥類
恒温 NO Yes 哺乳類
変温 YES Yes 爬虫類
恒温 NO No 哺乳類
変温?
卵生? 爬虫類
木のように成長させていく。
説明力の高さ(情報
量が大きい)を基準に
IF-THENを作る
∆𝐼 = 𝑃 𝑄 𝐼 𝑄 −
𝑖
𝑛
𝑃(𝐴𝑖)𝑃(𝐴𝑖)
決定木
• 木を成長(学習)させすぎると過学習が起こる
– 過学習:学習データは良く説明できるが、未知デー
タに対して予測できる能力が低い
• 般化能力が低いともいう
– 木の剪定を行うことで予防
• ある程度の部分で枝を剪定
変温?
卵生? 爬虫類
どのような基準で枝を剪定するか?
交差検証、1SDルールを用いる(割愛)
アンサンブル学習
アンサンブル学習
• Q.学習機が多数あれば予測性能は上がるか?
– A.上がる。
• アンサンブル学習
– 多数の学習機を適切に生成する技法
– 単体では使用せず、決定木・株(決定木の枝1つ)な
どを複数組み合わせて多数決で予測する
アンサンブル学習
• 異なる学習機を生成する技法
– バギング:学習データを一定ルールで抽出し、学習
機を生成する
– ブースティング:学習データに重みづけを行い、学習
機を生成する。
• Ada boosting
• アンサンブル学習から作られた新しい技法
– 決定木+バギング=Random Forest
– 決定木+Boostting=Gradient Boosting Decision Tree
ニューラルネットワーク
ニューラルネットワーク
• 概要
– 神経細胞とそのネットワーク構造を模倣した学習機
• どのように分類するか?
– ネットワークの構造と伝播により結果を出力
• ニューラルネットワークの結合荷重+活性化関数の組み
合わせ
f(w1*x1+…wn
*xn+xb)
xb
w1
wn
x1
xn
1940 1960 1980 2000 2020
良い初期値を与え、
勾配消失の回避
超多層化の時代へ
誤差伝播による多層化
(合成関数)
学習法の一般化
(デルタルール)
形式ニューロン
McCulloch, Pitts (1943)
↓
Perceptron
↓Rosenblatt (1958)
↓逆誤差伝播法:Rumelhart,
Hinton, Williams(1986) Autoencoder
Deep belief network
Hinton(2006)
ネオコグニトロン
福島(1984)↓
ニューラルネットワーク(Neural Network) 多層NNの実現 深層学習※ホットな分野
Convolution NN:
↓ LeCun(1989)
• 神経細胞のつながりをモデル化
– 形式ニューロン McCulloch, Pitts (1943)
– Perceptron Rosenblatt (1958)
• パターン認識・識別に使われる(データにより学習が可能)
• 1層(?)の全結合ニューラルネットワーク
𝑓 𝑥 = 𝑔 𝑤 𝑇 𝑥 + 𝑤0
入力(w1,w2)とバイアス項の和を求め、
活性化関数(g)を通し、ある閾値を超えたかど
うかで分類する。教師データと結果の二乗誤差
を最小にする最適化で重みづけwを変更する。
関連:SGD、バッチ学習
パーセプトロンの問題点
• 線形分離ができない
– ミンスキーによる線形分離ができないことが証明
• 人工知能冬の時代
x
y
〇
分類できる
×
分類できない
×
分類できない
ニューラルネットワークの歴史
• 形式ニューロン(Threshold Logical Unit)
– McCulloch, Pitts (1943)
• Perceptron
– Rosenblatt (1958)
~人工知能 冬の時代~
• Neocognitron
– 福島(1980)
• Back propagation
– Rumelhart, Hinton, Williams(1986)
• Convolution Neural Network
– LeCun(1989)
• Autoencoder, Deep belief network
– Hinton(2006)
線形識別しかできないということで冬の時代
の突入したといわれているが、、、
「パーセプトロンへの興味が薄れた原因はア
メリカではミンスキーがダメだと言ったからだ
ということになっていますが、要するに当時の
テクノロジーで作れる見込みがほとんどな
かったというのが本当の原因ではないかと思
います。
・・・
いまの単純なものでさえその時代のテクノロ
ジーでは実現できない。ましてやもっと複雑
なものなど夢のまた夢だし、複雑にしたら何
が起こるかを解析する数学的な手段もちょっ
と見当がつかない。」[1]
[1]甘利俊一, "ニューロコンピューティングから
情報幾何学へ (ステアリングシリーズ―科学
技術を先導する30人)", 三田出版会, 1990, 第
一版第一刷
1940 1960 1980 2000 2020
良い初期値を与え、
勾配消失の回避
超多層化の時代へ
誤差伝播による多層化
(合成関数)
学習法の一般化
(デルタルール)
形式ニューロン
McCulloch, Pitts (1943)
↓
Perceptron
↓Rosenblatt (1958)
↓逆誤差伝播法:Rumelhart,
Hinton, Williams(1986) Autoencoder
Deep belief network
Hinton(2006)
ネオコグニトロン
福島(1984)↓
ニューラルネットワーク(Neural Network) 多層NNの実現 深層学習※ホットな分野
Convolution NN:
↓ LeCun(1989)
• 非線形分離を可能に
– 逆誤差伝播法(Back Propagation) Rumelhart(1986)
f1
f2
x1
x2
出力の誤差を最小にするよう
重みづけを変更
f3
𝑓1 𝑥 = 𝑔 𝑤1
𝑇 𝑥 + 𝑤10
𝑓2 𝑥 = 𝑔 𝑤2
𝑇
𝑥 + 𝑤20
𝑓3 𝑥 = 𝑔 𝑤3
𝑇 𝑥 + 𝑤30 最終層
入力と教師データの誤差を逆に伝播させ、
各層の重みづけを変更する。
多層化と非線形な活性化関数により、非線形
分離を可能に
𝑤1
𝑤2
𝑤3
1940 1960 1980 2000 2020
良い初期値を与え、
勾配消失の回避
超多層化の時代へ
誤差伝播による多層化
(合成関数)
学習法の一般化
(デルタルール)
形式ニューロン
McCulloch, Pitts (1943)
↓
Perceptron
↓Rosenblatt (1958)
↓逆誤差伝播法:Rumelhart,
Hinton, Williams(1986) Autoencoder
Deep belief network
Hinton(2006)
ネオコグニトロン
福島(1984)↓
ニューラルネットワーク(Neural Network) 多層NNの実現 深層学習※ホットな分野
Convolution NN:
↓ LeCun(1989)
• Convolution Neural Network
– 脳の視覚野の構造からヒントを得たネオコグニトロン
をベースとしたNN構造
• 画像に都合の良いNN⇒後の深層学習の火付け役
• 3層以上のNNの学習
– 逆誤差伝播法では、勾配消失が起こり入力層に近
い重みづけが変更されない。
• 事前学習(PreTraining)により多層のNNが学習可能
• 現在では活性化関数の改善により勾配消失を改善
深層学習の何がすごいのか?
• 多層ニューラルネットワーク
– 層を重ねるほど、能力(分類力、関数近似力)ことは
知られていたが、学習が困難であった。
– 事前学習、活性化関数の改善により解決
• 「画像」に対して非常に有効
– 従来は画像の特徴量抽出と分類アルゴリズムを
別々に行っていた(各々独自のノウハウが必要)。
– 深層学習では特徴量抽出+分類を1度にやってし
まった。しかも性能が良い!(~10%の向上)
その他の話題
• 教師なし学習の技法(クラスタリング)
– K-means、NearestNeighbor、PCA、ICA
• 強化学習
• ベイズ理論
– ナイーブベイズ分類
– ベイジアンネット など
• 検証
– 交差検証
• 評価値
– AUCなど
まとめ
• 教師あり機械学習技法の各種技法を紹介
– 主観で下記の表にまとめる
学習
計算量
推論
計算量
分散処理 モデル
分かりやすさ
備考
回帰/判別分析 軽 軽 × 〇 -
SVM 中 中 × × -
決定木 軽 軽 ×
(RandomFr
estは〇?)
〇 -
NN、Deep Laerning 中~大 中~大 〇 × 今後様々な発展
機械学習を身近にするために
(主観強めの内容です)
機械学習の成果はどこにあるか?→計算機の中
現実世界の諸問題を機械学習により解決するためには機械学習の成果を計算機外に持ち
出す必要があると考える。
※諸問題といっても問題の大小は千差万別。玄関のピンポンをLINEで知りたいなど
機械学習の成果を現実世界でどう実現するか
・iPhoneをはじめとするスマホがIF
・実ハードウェア
nVidia:Jetson、Google:TPU
などのハードウェアが検討されている。より身近にするためには、使いやすく、安く。
機械学習/人工知能を身近にするには
• 身近なモノに実装する/できる必要がある
– 用途に応じ最適なモデル、使用方法があると考える
• 精度、高速
– 高精度、高速(リアルタイム)
» 自動運転(人命がかかる)
– 高精度、低速
» 音声認識にかかわるアプリケーション
• 使う場所
– エッジ側で推論のみ
» ノイズが少ないデータ、環境にロバストなモデルが作れるか
– エッジ側で推論+学習
» 利用環境で得られるデータと学習モデルが不一致
» 環境のデータで再学習可能に。
– 機械学習/人工知能技法をソフトウェアからハード上で実現
• ニューラルネットワークを専用に処理するFPGA、マイコン(Kendryte
K210)など
精度
速度/レスポンス
自動運転
ADAS
機械翻訳
画像生成
顔認識
(カメラ)
広告
最適化
スマート
スピーカー
リアルタイム数秒~
プラント
最適化
化合物
探索
ピッキング
(画像分類)
機械学習において2軸(精度と時間)でアプリケーションを
当てはめる(主観だからバイアス有)
セキュリティ
チャット
ボット
精度
速度/レスポンス
自動運転
ADAS
機械翻訳
画像生成
顔認識
(カメラ)
広告
最適化
スマート
スピーカー
リアルタイム数秒~
プラント
最適化
化合物
探索
ピッキング
(画像分類)
機械学習において2軸(精度と時間)でアプリケーションを
当てはめる(主観だからバイアス有)
セキュリティ
チャット
ボット
B2B向け
ミッションクリティカルかつ
精度に重み
アプリケーション
不在
学習
・言語、プラットフォーム有
推論
・言語、プラットフォーム有
環境
・GPU、クラウドベース
学習、推論
・プラットフォーム無し→スクラッチで作る必要有
・クラウド上の推論PFを利用
機械学習/人工知能技法をハードで実現するために
低コストで大量、下の方に行くことで身近になるかも
(主観)。ただし、別の難しさがある。
OSが稼働可能な
コンピュータ
マイコンetc
FPGA ASIC 学習、推論を専用HW化⇒高速な学習・推論
決定木とかが相性よさそうなど
この層は言語を介して学習・推論せず、
スイッチなど直接触れるIFで行う必要有
(機械学習に触れる客層が変わる)
Interface 2018年2月号, CQ出版
Kendryte K210(2019年)
世界中の名だたる企業が参戦
だれが覇権に?
↓
有用なアプリケー
ションが必要
≒使われる必要が
ある。
・種類が多い、触
れない(身近では
ない)
・消費電力が大き
い
出典:Interface 2018年6月号, CQ出版
マイコンには学習は不得
手というような記載がある
が、そんなことはないと考
える。
使用用途と精度と速さのト
レードオフを取ることで最
適なアプリケーションがあ
る。専用のコプロセッサに
より可能となる(時間の問
題と思われる)。
M5StickV
・Kendryte K210[1]
・LCD
・カメラ
を1つにまとめたHW
3000円
機械学習の成果を
現実世界で手軽に使
う共通HWになりうる
≒モデルを差し替えて
機能を実現する
[1]Windows環境でSiPEED M1 dockが顔認識できるまでの手順
https://qiita.com/tomitomi3/items/d1b675957238f9b7f965
• 上記のモノ・コトが揃いつつある
– 今後求められるモノ・コト
• 機械学習により実現したいコト:要件定義
• 上記を実現する(大量の)教師データ
– 実現したい要件を満たすデータが大量にあるかどうか?
無い場合は作るしかない。
Maker Faire Tokyo 2019 「うーぼーず」では一つの回答を提案
» 機械学習のための教師用画像データ生成&認識システム
My Image datasets creation system for machine learning
https://makezine.jp/event/makers-mft2019/m0124/
・機械学習による
モデル作成
・技法、環境
・大量データ モデル
・機械学習モデル
利用できるHW
e.g. M5StickV
・エッジ側の学習
参考文献
• 涌井 良幸, 涌井 貞美, “図解でわかる多変量解析―データの山から本質を見抜く科
学的分析ツール”, 日本実業出版社, 2003年第8刷
• 近藤 宏 , 末吉 正成, "Excelでできるかんたんデータマイニング入門", 同友館
• 平井 有三, "はじめてのパターン認識", 森北出版, 2012年
• 杉山 将, "イラストで学ぶ 機械学習 最小二乗法による識別モデル学習を中心に (KS
情報科学専門書)", 講談社, 2013年
• イアン・エアーズ 山形浩生 訳, “その数学が戦略を決める (文春文庫)”, 株式会社文
藝春秋, 2010年 第1刷, p42, p218, p262
• 大滝 厚, 堀江 宥治, Dan Steinberg, "CARTによる応用2進木解析法", 日科技連出版社,
1998年
• Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard and L. D.
Jackel: Backpropagation Applied to Handwritten Zip Code Recognition, Neural
Computation, 1(4):541-551, Winter 1989.
• Ridge回帰、LASSO回帰、ELASTIC NET
– Hoerl, A.E.; R.W. Kennard (1970). "Ridge regression: Biased estimation for nonorthogonal
problems". Technometrics 12 (1): 55–67.
– Tibshirani, R. (1996). "Regression shrinkage and selection via the lasso". Journal of the Royal
Statistical Society, Series B 58 (1): 267–288.
– Zou, Hui; Hastie, Trevor (2005). "Regularization and Variable Selection via the Elastic Net". Journal
of the Royal Statistical Society, Series B: 301–320.
おわり
言葉の整理:
多変量解析・データマイニング・データサイエン
ス・パターン認識・機械学習・・・ってなに?
資料
ネットで調べると色々言葉が出てくるが、、、
• 多変量解析
• データマイニング
• データサイエンス(データサイエンティスト)
• パターン認識、機械学習
ネットで調べると色々言葉が出てくるが、、、
• 多変量解析
– 変量が2つ以上のことを多変量という(1つの場合は単変量?)
– 複数の項目について同時に調査が行われた資料の分析に有効な統計
解析の手法[1]
– 複数の結果変数からなる多変量データを統計的に扱う手法[2]
• データマイニング
– 大量のデータの中からビジネスに有用な知識となるパターンを発見する
プロセス[3]
– 統計学、パターン認識、人工知能等のデータ解析の技法を大量のデー
タに網羅的に適用することで知識を取り出す技術[4]
[1]涌井 良幸, 涌井 貞美, "図解でわかる多変量解析―データの山から本質を見抜く科学的分析ツール", 日本実業出版社, 2003年第8刷
[2]多変量解析:http://ja.wikipedia.org/wiki/%E5%A4%9A%E5%A4%89%E9%87%8F%E8%A7%A3%E6%9E%90
[3]近藤 宏 , 末吉 正成, "Excelでできるかんたんデータマイニング入門", 同友館
[4]データマイニング: http://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%9E%E3%82%A4%E3%83%8B%E3%83%B3%E3%82%B0
ネットで調べると色々言葉が出てくるが、、、
• データサイエンス(データサイエンティスト)
– データに関する研究を行う学問。(略)データサイエンスの研究者や実践
者はデータサイエンティストと呼ばれる。[1]
• パターン認識
– 物事の類型を知るはたらき、およびその内容[2]
– 画像・音声などの雑多な情報を含むデータの中から、意味を持つ対象を
選別して取り出す処理[3]
• 機械学習
– コンピュータにヒトのような学習能力を持たせるための技術の総称[4]
– 人間が自然に行っている学習能力と同様の機能をコンピュータで実現し
ようとする技術・手法のこと[5]
[1]データサイエンス:http://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B5%E3%82%A4%E3%82%A8%E3%83%B3%E3%82%B9
[2]平井 有三, "はじめてのパターン認識", 森北出版, 2012年
[3]パターン認識:http://ja.wikipedia.org/wiki/%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E8%AA%8D%E8%AD%98
[4]杉山 将, "イラストで学ぶ 機械学習 最小二乗法による識別モデル学習を中心に (KS情報科学専門書)", 講談社, 2013年
[5]機械学習:http://ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92

第11回 KAIM 金沢人工知能勉強会 改めて機械学習を広く浅く知る