数式を使わない機械学習入門

2.2K Views

April 19, 22

スライド概要

公立小松大学大学院で使っている資料です.

profile-image

コンピュータを使って色々計算しています

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
1.

数式を使わない 機械学習⼊⾨ 公⽴⼩松⼤学 藤⽥ ⼀寿

2.

機械学習とは

3.

機械学習とは • The field of study that gives computers the ability to learn without being explicitly programmed. • 明⽰的にプログラミングすることなく,コンピュータに 学ぶ能 ⼒を与えようとする研究分野 • 1959年Samuelが⾔ったとよく書かれているが1959年のSamuelの論⽂には この⽂章は⾒られない. Machine learningという⾔葉はSamuelの論⽂(Samuel 1959)から⾒られる.

4.

機械学習とは • 機械に学習させる⼿法を取り扱う学問領域およびその技術. • 特に確率・統計に⽴脚したものを統計的機械学習という(現在 は単に機械学習といえばこれ). • いわゆる⼈⼯知能で使われる技術.データマイニングでも使わ れている. 0, 1, 2, 3, 4 5, 6, 7, 8, 9 学習データ 機械 出⼒ 例えば,機械学習の⼿法を⽤いて,機械が数字と書かれた画像を数字であると判断するように学ばせる. 機械は⼊⼒とラベルの間の規則性を学習の過程で⾒出す(かもしれない).

5.

学習と判断 学習 判断 判断ルール, データの規則性の発見 自動で判断 学習 獲得した判断ルールを使⽤ 機械学習 機械学習 判断を必要とするデー タが集まる 学習に必要なデータを集 める データ データ データ データ データ データ データ データ

6.

機械学習で何ができる

7.

IBM Watson • IBMの質問応答システム • 2011年アメリカのクイズ番組で⼈間と対決し勝利 • 様々な企業のコールセンターなどの顧客対応で活⽤されている.

8.

AlphaGo, AlphaGo Zero, AlphaZero • AlphaGo • 2016年イ・セドル⽒に勝利,2017年柯潔(コ・ジェ)⽒に勝利 • 2015年まではアマ有段者レベルだった囲碁AIが,AlphaGoの登場によりに より囲碁AIが世界トップ棋⼠より強くなった. • AlphaGo Zero (Silver et al. 2017) • ⾃⼰学習のみでAlphaGoに勝つ. • AlphaZero (Silver et al. 2018) • • • • 様々なボードゲームにも対応できる. ⾃⼰学習のみで強くなる.⼈間はデータを⽤意する必要がない. 碁ではAlpha Goにも勝てる. チェス (Stockfish),将棋(elmo)にも勝てる.

9.

⾔語処理 機械翻訳(DeepL) 機械が⾃動でプログラムコードを⽣成する. (https://www.youtube.com/watch?v=SGUCcjHTmGY)

10.

その他 • スパムメールの判定 • 天気予報と過去の販売実績から商品の仕⼊れ量を予測 • ⾃動⾞の衝突回避 • 画像から⼈だけ抜き取る • 画像から不要なものを取り去る • などなど,様々な場所で機械学習は活躍している.

11.

機械学習の取り扱う問題

12.

そもそもデータとはなにか • 何かを⽂字や符号、数値などのまとまりとして表現したもの. (IT⽤語辞典) • ⼈間にとって意味のあるものや、データを⼈間が解釈した結果のことを情 報と呼ぶ。(IT⽤語辞典) • 例: • 成績 • ⾝体データ • 画像 • 画像は⾊と場所の数値で出来ている. • ⾳声 • ⾳声は時間と⾳の⼤きさの数値で出来ている. 成績 名前 数学 英語 Aさん 75 80 Bさん 100 30

13.

データには規則性があるかもしれない ラベル 数値1 数値2 1 A 10 9 2 A 9 7 3 A 8 9 4 A 7 7 5 A 8 6 6 B 2 2 7 B 4 3 8 B 2 5 9 B 5 1 10 B 4 2 数値2 番号 数値2 データ 直線で分け られる 可視化 数値1 A B 数値1 可視化するとラベルAとラベルBの点(データ点)が直線で分けられる事がわかる が,コンピュータでこの直線を計算できないか? ラベルがついていないデータが追加されたとき,⾃動でラベルをつけられないか?

14.

データには規則性があるかもしれない 数値1 数値2 1 1 1.2 2 2 1.8 3 3 3.4 4 4 4.1 5 5 4.8 6 6 5.7 7 7 7.3 8 8 8.1 9 9 9 10 10 9.8 数値2 番号 数値2 データ ⽐例の関係 がある 可視化 数値1 数値1 可視化すると数値1と数値2には⽐例関係がありそうだが,⾃動で直線の式を求 められないか? 数値1から数値2を予測できないか?

15.

データには規則性があるかもしれない データ 番号 数学 英語 1 90 80 2 30 90 3 80 30 4 100 90 5 5 80 6 30 35 7 20 40 8 90 20 9 70 25 10 40 40 英語 英語 4つの グループが⾒ える 可視化 数学 数学 可視化すると4つのグループがあるように⾒えるが,⾃動でこれらのグループ を取り出せないか? • データが多いと⼈間では無理 • 3次元以上では⼈間では無理 • とにかく⼈の⼿でやりたくない

16.

データを作ってそこから判断しなければならないかもしれない スロットマシンで儲けたいが,どのスロットマシンが当たり やすいか分からない.しかも⼿がかりもない. 実際にスロットマシンの腕を何回も引いて確か める.(データを作る) 当たった確率 0.1 0.5 0.3 0.6 何度もスロットマシンを回した結果から得られた当たる確率が最も⾼いスロットマシンを回せば儲かるはず. 本当に得られた結果は正しいのだろうか. 結果を得るまでの何度もスロットマシンを回さなければならないが,その過程で損をするのではないだろうか.

17.

機械学習が取り扱う問題 • 分類(Classification) • ラベルの付いたデータを分ける. • データを分ける線を引く. • 分類する問題を識別問題という. • 回帰(Regression) 分類 回帰 • 値を予測する. • データを再現できる関数を探す. • クラスタリング(Clustering) どれが当たりやすい か確かめながら探す • データを塊ごとに分ける. • 強化学習(Reinforcement) クラスタリング • 良さそうな⾏動を報酬に基づき⼿探りで探す. 強化学習

18.

学習の⼿法

19.

教師あり学習

20.

識別問題 B B A A A A B B A B 出⼒ ⼊⼒ データ 学習していない 機械 でたらめな分類 AグループとBグループに分けられたデータ(ラベル付きデータ)がある. このデータを学習していない機械に⼊⼒したら,間違った分け⽅をするだろう. 機械が正しく分類するためには学習する必要がある.

21.

識別問題における学習 1回⽬の学習 2回⽬の学習 B B データ A データ A ⼊⼒ ラベル B 学習 学習中の 機械 ⼊⼒ ラベル これはAだ 3回⽬の学習 学習 学習中の 機械 A これはBだ 4回⽬の学習 B B データ A ラベル ⼊⼒ 学習 学習中の 機械 A データ B これはAだ ラベル A ⼊⼒ 学習 学習中の 機械 機械に分類結果がついたデータを与え,データと分類結果の関係(規則性)を学習させる. 機械が分類を間違えたら,機械が正しいラベルが付けられるよう学習する. ここでラベルとは機械に教える分類結果だと思ってほしい. これはBだ

22.

識別問題 訓練データ 覚えた 答えが分かっているデータ(ラベ ルが付いたデータ)を用い機械は 学習する. B A A A A 学習した結果,機械は分類ルールを 獲得する(データを分ける線を見つ ける). 学習した機械は未知のデータに対し ても,正しくラベルを付けることが できるかもしれない. B B B Bだと思う 未知のデータ

23.

教師あり学習 • このように,数値とラベルがセットとなったデータを⽤い,機 械が数値とラベルの関係を学ぶことを教師あり学習という. • 教師あり学習では,数値とラベルがセットとなった学習⽤のデ ータ(訓練データ)が必要である. • 機械の識別する能⼒(識別能⼒,識別性能)は,学習で⽤いな かったラベル付きデータをどれだけ正確に識別できるかで測れ る.

24.

回帰問題 • 数値xと数値yの組み合わさったデータが有 る. y • xとyの関係を⾒出し,xが未知の値の時のy の値を予測したい. x • 識別問題では⼊⼒にラベルをつけるが,回 帰問題では⼊⼒に対し数値を予測する. 1 t 0 −1 0 x 1

25.

教師あり学習の適⽤例 • 画像認識 • ⾳声認識 • スパムメール判別 • ⾃動翻訳 • 売上予測 • 販売価格予測

26.

教師あり学習で⽤いられる⼿法 • k近傍法 (k nearest neighbor method) • ロジスティック回帰 (logistic regretion) • 決定⽊ (decision tree) • ランダムフォレスト (random forest) • サポートベクターマシン (support vector machine) • ⼈⼯ニューラルネットワーク (artificial neural network)

27.

教師なし学習

28.

クラスタリング 出⼒ ⼊⼒ ⼈間 データの塊を⾒つける. ⼈間は図のように分布しているデータを⾒た時,特に意識することなくデータ点の3つの塊を⾒つけ る事ができる.機械にも同じことをさせたい. データ点の塊をクラスタといい,データをクラスタに分ける(クラスタを⾒つける)ことをクラス タリングという. クラスタリングと分類の違いは,クラスタリングではラベルが必要ない点である.

29.

クラスタリング 遠い 近い 近い 遠い 出⼒ ⼊⼒ ⼈間 データの塊を⾒つける. おそらく,⼈間はデータ点同⼠が近ければ同じクラスタ,遠ければ別のクラスタだと無意識に判断 している.この考え⽅(処理)を機械に導⼊すれば良い. どうすれば⼈間のようにデータを分けられるんだろう か?

30.

クラスタリング 遠い 近い 近い 遠い 出⼒ ⼊⼒ ⼈間 データの塊を⾒つける. おそらく,⼈間はデータ点同⼠が近ければ同じクラスタ,遠ければ別のクラスタだと無意識に判断 している.この考え⽅(処理)を機械に導⼊すれば良い. ただし,機械はクラスタの個数を⾒つけることが⾮常に苦⼿なのではじめに何個クラスタがあるか 教えておく必要がある. 遠いと近いの違いが分かりません. だから,クラスタが何個か分かりません.

31.

クラスタリング • クラスタリングとはデータをクラスタに⾃動で分けることをい う. • クラスタは近いデータ点同⼠の集まりである. • 近い遠いの基準には様々なものが⽤いられる. • 例:ユークリッド距離,コサイン類似度 • クラスタリングの学習は,答えがついた訓練⽤のデータを必要 としない. • 答え(教師)が必要ない学習を教師なし学習といい,クラスタ リングは教師なし学習の典型例である.

32.

教師なし学習の適⽤例 • クラスタリング • 量⼦化 (quantization) • データを少数のベクトルに置き換えデータ削減する. • 次元削減 • ⾼次元データを低次元データに変換すること. • ⾼次元データには次元の呪いと⾔われる様々な問題を抱えているため,デ ータの次元を下げる事がある.

33.

教師なし学習の⼿法例 • クラスタリング • k-means法 • ⾃⼰組織化マップ(⼈⼯ニューラルネットワーク) • 量⼦化 • k-means法 • ⾃⼰組織化マップ • 次元削減 • 主成分分析 • ⾃⼰組織化マップ • Autoencoder

34.

強化学習

35.

強化学習とは • 数値化された報酬信号を最⼤にするために,何をすべきか(ど のようにして状況に基づく動作選択を⾏うか)を学習する. (Sutton and Barto (三上,皆川訳) 強化学習) • 答えは与えられていない. • 報酬という⼿掛かりがある. • 試⾏錯誤で探す. • 環境に働きかけることで情報を得る.

36.

強化学習の要素 ⾏動(Action) エージェント (Agent) 環境 (environment) ⽅策(Policy) 報酬(Reward) 状態(State) エージェントは⽅策に従い⾏動し,報酬を受け取る.そして状態が変わる.

37.

ハンターの例 どこに行けば獲物がたく さんとれるだろうか? 森 池 草原 ハンターは獲物をとりたい. しかし,どこで獲物がよくとれるかわからない. どこにいっても,とれることもあるし,とれないこともある. ハンターは最も獲物をとれる確率が⾼いところを探したい. ハンター

38.

ハンターの例 どこで獲物がよくとれる かわからないから色々な ところで狩りをしよう. 森 池 草原 ハンターはどこで獲物がよくとれるかわからない. 全く⼿がかりがないので,ハンターはそれぞれの場所に⾏って狩りをしてみる. ハンター

39.

ハンターの例 それぞれの場所で何度も 狩りをしてみると,森が 一番獲物を取ることがで きた.今後,森で狩りを しよう. 森 池 草原 ハンターはそれぞれの場所何度もに⾏って狩りをしてみる. 何度も狩りをしていると,獲物がとれる確率が⾼い場所がわかってくる. 獲物とれる確率が最も⾼い場所が分かれば,ハンターはそこにだけ狩りに⾏けばよい. ハンター

40.

ハンターの例のまとめ • ハンターは獲物がよくとれるかわからない. • ハンターは⼿がかりがないので,それぞれの場所で狩りをする. • それぞれの場所で何回か狩りをして,よく獲物がとれる場所を⾒ つけられた.

41.

ハンターの⾏動を強化学習と考えれば • 狩場は環境とみなせる. • ハンターが狩りをすることは⾏動とみなせる. • 獲物は報酬とみなせる. • 様々な場所で狩りをして獲物がとれるかどうか試すことを探索 という. • 試した結果を使うことを利⽤という. ⾏動(Action) 森 池 草原 ⽅策 環境 報酬(Reward)

42.

強化学習の⽬的は何か(ハンターの例から) • ハンターの⽬的は,最もよく獲物がとれる場所をなるべく早く 探しだすこと. • 最も報酬(獲物)を得られる⾏動を決める最適な⽅策を探す. • もしくは,最も効率良く,よく獲物がとれる場所を探し出すこ と. • ⾏動の選択を通して得られる報酬の総和を最⼤化する.

43.

探索と利⽤のトレードオフ • ハンターはいろいろな場所で何度も狩りを⾏い,獲物がよくと れる場所を探す必要がある. • ハンターとしては効率良く獲物がよくとれる場所を探したい. • 探索する回数が少なければ少ないほどハンターは嬉しい. • しかし,少ない探索回数から得た情報から良い狩場を⾒つけた としても,その狩場より良い狩場があるかもしれない.

44.

探索と利⽤のトレードオフ • 探索回数が多ければ多いほど正確に良い⾏動が⾒つかるが,良い ⾏動をする回数は減り,探索を通して得られる報酬は少ないかも しれない. • ⼀⽅,少ない探索回数から得られた情報を利⽤し良い⾏動を⾒つ けても,もっと良い⾏動があるため得られる報酬は少ないかもし れない. • これを探索と利⽤のトレードオフという.

45.

不確かなときは楽観的に • 探索しなければ正確に報酬を得られる確率を獲得できないが, 正確に知るためには何回も探索しなければならない.(探索と 利⽤のトレードオフ) • 「不確かなときは楽観的に」という考え⽅で探索と利⽤のトレ ードオフを回避する. • 「不確かなときは楽観的に」とは • エージェントが⾒積もっている報酬が得られる期待(報酬の期待値)が真 の期待値より低いと探索されることが少なく修正されにくい. • ⾒積もりが真の期待値より⾼いと探索され,修正されることで⾒積もりが 真の期待値に近づく.

46.

まとめ • 教師あり学習 • 教師となる答えが⽤意されている. • 機械は⼊⼒と答えの対応を学習する. • ⼈間の⽂字と発⾳の対応を覚えることに似ている. ⽂字画像と⾳声(ラベル)がペア になっている. • 教師なし学習 • 教師となる答えがない. • ⼈間が似ている似ていないを判別することに似ている. • 強化学習 似ている似ていないに答えはない. • ⾏動によって得られる報酬を多くするような⾏動を決め る⽅策を,試⾏錯誤により学習する. • 運動を覚えることに似ている. ゴールに⼊らなかったから違うや り⽅を試そう.

47.

⼿法を組み合わせる

48.

⼈がマルバツゲームを解くとき 現在の盤⾯ 次の⼿をどうしよう 起こる可能性がある盤⾯ この盤⾯なら相⼿が悪い⼿ を打てばマルが3つ並ぶから 良い盤⾯だ.

49.

⼈がマルバツゲームを解くとき 現在の盤⾯ 次の⼿ どうし よう この盤⾯なら相⼿が 悪い⼿を打てばマル が3つ並ぶから良い 盤⾯だ. 起こる可能性が ある盤⾯ 次の⼿を打った結果 起こる可能性が ある盤⾯ この盤⾯は必ず引き 分けになる. 勝つ可能性 がある⼿を 打とう!!

50.

機械がマルバツゲームを解くには 可能性のあ る盤⾯を列 挙しよう. 現在の盤⾯ この盤⾯は5点 起こる可能性が ある盤⾯ 次の⼿を打った結果 この盤⾯は0点. 起こる可能性が ある盤⾯ 最も点が⾼ い盤⾯を選 ぶ.

51.

機械がマルバツゲームを解くには • 機械は盤⾯を評価しなければならない • 盤⾯と評価の関係を学習しなければならない. • 回帰問題 • 機械は良い⼿(盤⾯)を選ばなければならない. • プレイしながら様々な盤⾯を評価しする. • 強化学習 教師あり学習(回帰)+強化学習=AlphaZero (AlphaGo)

52.

機械学習と確率

53.

識別問題を確率で捉える • 識別問題では,データを分ける線(識別境界⾯)を引くのが⽬的 訓練データ B A A A A B 覚えた B B AとBを分ける線がわかれば良い.

54.

1次元で考えてみる 数値がAの確率 B A A A B A B B A A 縦線から左のデータがA,右がBに分かれ る. 0.5 B B B B A 数値がBの確率 1.0 A 左のデータはAである確率が⾼いからA のラベルをつける.右のデータはBであ る確率が⾼いからBのラベルを付ける. ちょうど確率が0.5の場所が境界になっ ている.

55.

回帰問題を確率で捉える • 数値と数値の関係を説明できる関数を探すのが⽬的 y y 距離 x 関数とデータの距離が短い関 数が良い. x データを最も⽣成確率が⾼い関 数が良い.

56.

統計的機械学習 • このように学習を確率統計で考える分野を統計的機械学習とい う. • 現在,統計的機械学習が機械学習の主流である.

57.

歴史 • 1763年 ベイズ定理 • 1957年 識別機パーセプトロン(Rosenblatt) • 1957年 強化学習の基本⽅程式Bellman⽅程式 • 1959年 機械学習という⽤語ができる(Samuel) • 1967年 クラスタリング⼿法k-means (MacQueen) • 1986年 多層ニューラルネットワークの学習⼿法バックプロパ ゲーション(Rumelhart et al.) • 1994年 主成分分析(Pierre) • 1995年 識別機サポートベクタマシン(Vapnic) • 2012年 深層ニューラルネットワークAlexNet(Krizhevsky et al. )

58.

なぜ今⼈⼯知能(機械学習)? ビッグデータ,深層学習,ライブラリ,GPGPUが同じ時代に揃った • ビッグデータ • インターネットやIoT機器から莫⼤なデータを収集することで,⼈⼯知能の学習に必要な データが豊富になった. • 技術の発展 • 深層学習(深層ニューラルネットワーク)が他の技術より性能が遥かに上回った(2012 年). • GPUを⽤いることで深層学習の膨⼤な計算を現実的な時間で処理できるようになった. • GPGPU(3DCGを描画するための計算ユニットであるGPUを⼀般的な⽤途で使うこと) • 無料で簡単なライブラリ(開発環境)が公開され,誰でも簡単に性能の⾼い深層学習を使 うことができるようになった. • 社会的要請(⽇本) • ⼈⼝減少とそれに伴う⼈⼿不⾜により⾃動化を進める必要が出てきた.

59.

技術の関係性 必要な価値のある情報の抽出 IoT データ収集 ビッグデータ データマイニング ウェブサービス ⾃動判断 ⼿法 ⼈⼯知能? 機械学習 識別 サポートベクタマシン 強化学習 Bellman Eq ⼈⼯ニューラル ネットワーク DQN AlphaZero 深層ニューラルネットワーク 深層学習(ディープラーニング) クラスタリング EM algorithm, k-means データ⽣成 確率・統計 関係が深い ⾼速化に必要 GPU (NVIDIA) GAN 開発の簡便化 開発環境 ライブラリ