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

3.8K Views

April 19, 22

スライド概要

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

profile-image

コンピュータを使って色々計算しています.個人的な技術に関するメモと講義資料が置いてあります.気が向いた時に資料を修正しています. 公立小松大学臨床工学科准教授 https://researchmap.jp/read0128699

シェア

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

関連スライド

各ページのテキスト
1.

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

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.

画像⽣成⼈⼯知能 ⼈⼯知能に⾃分の名前を与 え画像を⽣成 ⼈⼯知能に⼩松⼤学を与え画像を⽣成

10.

⾔語処理 • 翻訳(DeepL) • ⽂章改善(DeepL) • ⽐較的⾃然な会話(ChatGPT) • 英会話の教師 機械翻訳(DeepL) • プログラムの作成 • アイデアの提案 • 説明⽂の作成 • ⽂章の校正 ⼈⼯知能との会話(ChatGPT)

11.

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

12.

機械学習の取り扱う問題

13.

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

14.

データには規則性があるかもしれない ラベル 数値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の点(データ点)が直線で分けられる事がわかる が,コンピュータでこの直線を計算できないか? ラベルがついていないデータが追加されたとき,⾃動でラベルをつけられないか?

15.

データには規則性があるかもしれない 数値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を予測できないか?

16.

データには規則性があるかもしれない データ 番号 数学 英語 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次元以上では⼈間では無理 • とにかく⼈の⼿でやりたくない

17.

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

18.

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

19.

学習の⼿法

20.

教師あり学習

21.

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

22.

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

23.

分類問題 • ラベルの付いたデータを分ける. • 分類問題を解くためには, 線を引くためには,答え となるラベルがついたデータが必要である. • 機械は答えがついているデータを使って学習してい るため,この学習は教師あり学習と呼ばれる. • 分類問題を解けば,未知のデータのラベルを予測す ることができる. B A • データを分ける線を引く. A A A データ B B B

24.

回帰問題 y • 数値xと数値yの組み合わさったデータが有る. • xとyの関係を⾒出す問題を回帰問題という. • 回帰問題が解ければ,未知のxにおけるyを予測す ることができる. x • 分類問題では⼊⼒のラベルを予測するが,回帰問 題では⼊⼒に対し数値を予測する. 1 t • 上記の例では,⼊⼒xに対し,yを予測する問題と なる. • 訓練データとして⼊⼒xに対する答えyを⽤意する 必要がある. 0 −1 0 x 1

25.

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

26.

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

27.

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

28.

教師なし学習

29.

クラスタリング

30.

このデータをどう分ける? 皆さんがこのデータを分けるとしたら,どう分ける?

31.

このデータをどう分ける? データの分布を⾒るだけでデータを分けた.=クラスタリング

32.

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

33.

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

34.

⼈はどうやってクラスタリングしたか? 遠い 近い 近い 遠い 出⼒ ⼊⼒ ⼈間 データの塊を⾒つける. ⼈間はデータ点同⼠が近ければ同じクラスタ,遠ければ別のクラスタだと無 意識に判断している. どうすれば⼈間のようにデータを分けられるんだろう か?

35.

⼈はどうやってクラスタリングしたか? 遠い 近い 近い 遠い 出⼒ ⼊⼒ ⼈間 データの塊を⾒つける. ⼈間はデータ点同⼠が近ければ同じクラスタ,遠ければ別のクラスタだと無 意識に判断している. この処理を機械にやらせれば良い. しかし,クラスタが何個あるかを⾒つけるのは難しい. 近いデータは同じクラスタ,遠くのデータは別のクラ スタか,なるほど. でも,クラスタは何個あるのだろうか?

36.

クラスタリング • クラスタリングとはデータをクラスタに⾃動で分けることをいう. • クラスタは近いデータ点の集まりである. • クラスタリングでは,答えがついた訓練⽤のデータを必要としない. • 答え(教師)が必要ない学習を教師なし学習といい,クラスタリング は教師なし学習の典型例である.

37.

教師なし学習の応⽤先と⼿法 • クラスタリング:データをクラスタに分ける. • k-means法 • ⾃⼰組織化マップ(⼈⼯ニューラルネットワーク) • ベクトル量⼦化:データをより少数のベクトルで表現する. • k-means法 • ⾃⼰組織化マップ • 次元削減:データの次元を削減する. • 主成分分析 • ⾃⼰組織化マップ • Autoencoder(⼊⼒が答えになっているので教師ありとも⾔える)

38.

強化学習

39.

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

40.

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

41.

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

42.

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

43.

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

44.

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

45.

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

46.

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

47.

探索と知識利⽤のトレードオフ • ハンターは獲物がよくとれる狩場を探したいので,いろいろな場所で 何度も狩りを⾏いたい(探索したい). • ⼀⽅で,探索する回数が少なければ少ないほどハンターは嬉しい. • ハンターは獲物がよくとれる場所で早く狩りをしたい. • しかし,少ない探索回数から得た知識から良い狩場を⾒つけたとしても, その狩場より良い狩場があるかもしれない. • ハンターは,良い場所を探さがしたい気持ちと早く良い場所で狩りを したい気持ちの板挟みになっている.

48.

探索と知識利⽤のトレードオフ • エージェントは,今現在,最も良さそうな選択肢を選びたい. • しかし,他の選択肢も探索しないと他に良い選択肢があるかどうかわ からない. • 探索ばかりでは,いつまでたっても良い選択肢を選べない. • 過去の知識を利⽤し最も報酬の⾼い⾏動をとろうとすると探索が減っ てしまい,あるかもしれない更に良い⾏動を⾒つけられない.⼀⽅で, 更に良い⾏動を探そうとすると探索しなければならず,過去の知識か ら得た最も報酬の⾼い⾏動を取れない. • これを,探索と知識利⽤のトレードオフという.

49.

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

50.

不確かなときは楽観的に:悲観ハンターの場合1 森 期待値0 何処に行っても獲物は取 れないだろう. 池 期待値0 草原 期待値0 ハンターはどの狩場でも獲物は取れないと悲観的に思っている. ハンター

51.

不確かなときは楽観的に: 悲観ハンターの場合2 森 期待値0 池に行ったら獲物が取れ た.池は良い狩場だ. 池 期待値1 草原 期待値0 ハンター たまたま池で獲物が取れるとハンターは池が良い狩場だと思い,他に あるもっと良い狩場を試さなくなる.他の狩場を試さないので,他の 場所の期待値が修正されない.

52.

不確かなときは楽観的に: 楽観ハンターの場合1 森 期待値0.8 何処に行っても獲物は取 れるだろう. 池 期待値0.8 草原 期待値0.8 ハンターはどの狩場でも獲物は取れると楽観的に思っている. ハンター

53.

不確かなときは楽観的に: 楽観ハンターの場合2 池に行ったら獲物が取れ た.他の狩場も良さそう だから次は森に行こう. 森 期待値0.8 池 期待値1 草原 期待値0.8 ハンター たまたま池で獲物が取れたとしても,他の狩場も獲物が取れると思っ ているので他の狩場も試す.試す機会があるため,期待値が修正され る.

54.

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

55.

⼿法を組み合わせる

56.

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

57.

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

58.

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

59.

機械学習と確率

60.

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

61.

1次元で考えてみる B A A A B B B A 縦線から左のデータがA,右がBに分かれ る.

62.

確率で考えてみる 確率 1.0 Bである確率 Aである確率 左のデータはAである確率が⾼いからラ ベルAをつける.右のデータはBである 確率が⾼いからラベルBを付ける. 確率が等しい場所が境界になっている. B A A A B B B A ⻘い曲線:⼊⼒がAクラスである確率 ⾚い曲線:⼊⼒がBクラスである確率

63.

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

64.

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

65.

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

66.

なぜ⼈⼯知能(機械学習)が2010年代に急速に発展した? ビッグデータ,深層学習,GPGPU ,ライブラリが2010年代に揃った • ビッグデータ • インターネットやIoT機器から莫⼤なデータを収集することで,⼈⼯知能の学習に必要な データが豊富になった. • 深層学習(深層ニューラルネットワーク) • 画像識別において他の技術より遥かに性能が⾼いことが2012年に分かった. • GPGPU(3DCGを描画するための計算ユニットであるGPUを⼀般的な⽤途で使う こと) • GPUを⽤いることで深層学習の膨⼤な計算を現実的な時間で処理できるようになった. • ライブラリ • 深層学習・機械学習の無料で簡単に使えるライブラリ(開発環境)が公開され,誰でも簡 単に性能の⾼い⼈⼯知能を使えるようになった.