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

5.2K Views

April 19, 22

スライド概要

公立小松大学大学院の講義で使っている資料です.数式を使わず機械学習の雰囲気を感じられるように配慮しました.

profile-image

コンピュータを使って色々計算しています.個人的な技術に関するメモと講義資料が置いてあります.気が向いた時に資料を修正しています. 公立小松大学臨床工学科准教授 https://researchmap.jp/read0128699 初心者向けの人工知能の本を書いてみました. https://www.amazon.co.jp/dp/B0F2SKBXY4/crid=1RJHKTT637RSE

シェア

またはPlayer版

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

ダウンロード

関連スライド

各ページのテキスト
1.

数式を使わない 機械学習入門 藤田 一寿 Ver.20250520

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 0, 1, 2, 3, 4 訓練データ 機械 出力 例えば,機械学習の手法を用いて,機械が数字と書かれた画像を数字であると判断するように学ばせる. 機械は入力とラベルの間の規則性を学習の過程で見出す(かもしれない).

5.

学習と判断 学習 判断 判断ルール, データの規則性の発見 判断結果 学習により獲得した判断 ルールを使用し,機械は 判断する. 機械学習の手法を使い, 機械は学習する. 機械 機械 判断を必要とするデ ータが集まる 学習に必要なデータ を集める. データ データ データ データ データ データ データ データ

6.

機械学習で何ができる

7.

予測 最高気温から購入額が予測できるかも. 今日は25度,明 日は30度の予想 だから明日は1.2 倍売れそうだ! ! 約950円 約770円 1.2倍

8.

異常検知 • 異常検知とは,標準の状態や想定した状態から逸脱している,データ 点(例えば画像)を特定することである. • 異常検知は製造業やセンサーデータ解析などの現場で重要な手法であ り,教師なし学習や深層学習を含む多様なアプローチが存在する.

9.

機械の制御問題の解決 • 振り子を直立させる制御問題など連続制御が必要なタスクを,機械学 習(強化学習アルゴリズム)を適用し,解決する.

10.

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)にも勝てる.

11.

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

12.

画像生成人工知能 • 人が描いた画像と変わらない画像が生成できる. • 性能が高すぎて人が描いたものと区別がつかない. • 画像のクオリティと制作時間を考慮すると簡単なイラストなら画像生 成人工知能で良いのではないか. 2022年版 2023年版 人工知能に自分の名前を与 え画像を生成 人工知能に小松大学を与え画像を生成

13.

画像生成人工知能 Komatsu university Komatsu city A cute girl in Komatsu FLUX.1

14.

言語処理 • 翻訳(DeepL) • 文章改善(DeepL) • 比較的自然な会話(ChatGPT) • 英会話の教師 機械翻訳(DeepL) • プログラムの作成 • アイデアの提案 • 説明文の作成 • 文章の校正 人工知能との会話(ChatGPT)

15.

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

16.

機械学習の取り扱う問題

17.

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

18.

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

19.

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

20.

データには規則性があるかもしれない データ 番号 数学 英語 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次元以上では人間では無理

21.

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

22.

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

23.

学習の手法

24.

教師あり学習

25.

教師あり学習 • 入力と答えとなるラベル,もしくは数値がセットとなったデータを用 い,機械が入力とラベル(数値)の関係を学ぶことを教師あり学習とい う. • 代表的な課題 • 分類 • 回帰

26.

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

27.

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

28.

分類問題における学習 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の領域が変わった 機械に分類結果がついたデータを与え,データと分類結果の関係(規則性)を学習させる. 機械が分類を間違えたら,機械が正しいラベルが付けられるよう学習する. ここでラベルとは機械に教える分類結果(答え)だと思ってほしい.

29.

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

30.

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

31.

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

32.

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

33.

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

34.

教師なし学習

35.

クラスタリング

36.

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

37.

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

38.

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

39.

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

40.

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

41.

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

42.

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

43.

教師なし学習の応用先と手法 • クラスタリング:データをクラスタに分ける. • k-means法 • 自己組織化マップ(人工ニューラルネットワーク) • ベクトル量子化:データをより少数のベクトルで表現する. • k-means法 • 自己組織化マップ • 次元削減:データの次元を削減する. • 主成分分析 • 自己組織化マップ • Autoencoder(入力が答えになっているので教師ありとも言える)

44.

強化学習

45.

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

46.

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

47.

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

48.

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

49.

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

50.

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

51.

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

52.

強化学習の目的は何か(ハンターの例から) • ハンターの目的は,よく獲物がとれる場所を知ること. • 最も報酬を得られる方策(行動)を知りたい. • 欲を言えば,よく獲物がとれる場所をなるべく早く探したい. • 最も報酬を得られる方策をなるべく早く探す. • もしくは,なるべく損をせずに,よく獲物がとれる場所を探したい. • 行動を通して得られる報酬の総和を最大化する(なるべく最適行動を取り たい).

53.

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

54.

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

55.

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

56.

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

57.

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

58.

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

59.

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

60.

まとめ • 教師あり学習 • 教師となる答えが用意されている. • 機械は入力と答えの対応を学習する. • 人間の文字と発音の対応を覚えることに似ている. 文字画像と音声(ラベル)がペア になっている. • 教師なし学習 • 教師となる答えがない. • 人間が似ている似ていないを判別してカテゴリ分けすることに 似ている? 似ている似ていないに答えはない. • 強化学習 • 行動によって得られる報酬を多くするような行動を決める方策 を,試行錯誤により学習する. • 運動を覚えることに似ている. ゴールに入らなかったから違うや り方を試そう.

61.

手法を組み合わせる

62.

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

63.

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

64.

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

65.

機械学習と確率

66.

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

67.

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

68.

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

69.

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

70.

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

71.

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

72.

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