Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
機械学習入門
Search
tasotaku
May 22, 2023
Programming
0
390
機械学習入門
RICORA Programming Team で使用したスライド
tasotaku
May 22, 2023
Tweet
Share
More Decks by tasotaku
See All by tasotaku
DQNによるポーカーの強化学習/Reinforcement Learning in Poker with DQN
tasotaku
0
370
オセロCPU/Othello CPU
tasotaku
0
100
オセロAI / OthelloAI
tasotaku
0
110
私、ChatGPTがChatGPTを解説するよ! / ChatGPT explains ChatGPT
tasotaku
0
440
AIが作る予想外な画像を考える / Consider the unexpected images that AI creates
tasotaku
0
300
Google Colaboratory でStable Diffusionの実装 / Implementation of Stable Diffusion at Google Colaboratory
tasotaku
0
360
Other Decks in Programming
See All in Programming
SRE、開発、QAが協業して挑んだリリースプロセス改革@SRE Kaigi 2025
nealle
3
4.1k
富山発の個人開発サービスで日本中の学校の業務を改善した話
krpk1900
4
370
Spring gRPC について / About Spring gRPC
mackey0225
0
220
SwiftUI Viewの責務分離
elmetal
PRO
0
140
AHC041解説
terryu16
0
590
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
41
15k
2,500万ユーザーを支えるSREチームの6年間のスクラムのカイゼン
honmarkhunt
6
5.1k
DROBEの生成AI活用事例 with AWS
ippey
0
130
最近のVS Codeで気になるニュース 2025/01
74th
1
250
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
200
JavaScriptツール群「UnJS」を5分で一気に駆け巡る!
k1tikurisu
10
1.8k
ISUCON14公式反省会LT: 社内ISUCONの話
astj
PRO
0
180
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Being A Developer After 40
akosma
89
590k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Producing Creativity
orderedlist
PRO
343
39k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
950
Transcript
機械学習入門 2023/05/19 1
目的 機械学習に興味があるけど良く知らないという方向けの話です。 そのため、長い部分や理論的な部分は省略して、広く浅く紹介します。 機械学習とは何なのか、何をするのに向いているのかを知って、興味があるか検討に 役立てて下さい。 「これからガッツリ勉強したい!」という方には向かないかも。 2023/05/19 2
機械学習とは データから自動で学習する技術 2023/05/19 3
深層学習 def predict(self, x): W1, W2 = self.params['W1'], self.params['W2'] b1,
b2 = self.params['b1'], self.params['b2'] a1 = np.dot(x, W1) + b1 z1 = sigmoid(a1) a2 = np.dot(z1, W2) + b2 y = softmax(a2) return y 上のコードのように、計算によって出来ている。 Wは重み、bはバイアス np.dotは行列の積 sigmoidはシグモイド関数 ( sigmoid(x) = 1 / 1 + exp(-x) ) 2023/05/19 4
深層学習 a1 = np.dot(x, W1) + b1 # 第一層 z1
= sigmoid(a1) a2 = np.dot(z1, W2) + b2 # 第二層 y = softmax(a2) 下の図のように表される。(引用: https://jp.mathworks.com/discovery/deep- learning.html) 2023/05/19 5
どうやって学習するのか 誤差を関数で表し、微分を使って誤差が最小になるようにする。 2023/05/19 6
勾配法 引用(https://rightcode.co.jp/blog/information-technology/back-propagation- algorithm-implementation) 微分によって傾き(勾配)を求め、パラメータをどっちにどれだけ進めれば誤差が少なく なるか学習する 2023/05/19 7
誤差逆伝播法 誤差を逆方向からフィードバックする手法 引用(https://rightcode.co.jp/blog/information-technology/back-propagation- algorithm-implementation) 2023/05/19 8
機械学習に扱えるもの 深層学習は数式によって成り立っている事を説明しました。 極端に言えば、数字に変換できる物なら大抵のものが取り込めます。 2023/05/19 9
データ 赤ワインの属性と品質のデータ 引用(https://www.statlab.co.jp/seminar/redwine01.html) 各項目がすでに数値なので、そのまま取り出すことができる。 2023/05/19 10
画像 色は光の三原色の強さで表せる。 0~255段階とすることで、画像を配 列にできる 2023/05/19 11
言語 単語の意味は周囲の単語によって形成される(分布仮説) I say hello You say goodbye IとYouはどちらもsayの前だから似た意味? helloとgoodbyeはどちらもsayの後ろだから似た意味?
単語をベクトルで表現する 各単語の類似度(数値)をベクトルで表現する。 似た意味の単語はベクトル空間上で近い位置にある。 2023/05/19 12
ボードゲーム 左のマップは以下のように配列にできる [[-1, None,0, 1 ], [0, 0, 0, None],
[None,0, None,0 ], [0, 0, 0, 0 ]] 移動したら得られる点を表す。家のマスに移動したら1 点、炎のマスは1点減点、それ以外は0点。 引用【入門】Q学習の解説とpythonでの実装 〜シンプル な迷路問題を例に〜 2023/05/19 13
モデル作成の例 1. データセットの用意 2. 前準備 3. 学習と予測 2023/05/19 14
データセットの用意 質の良いデータを大量に用意する事は最も重要なことの一つです。 サイトからダウンロードする Kaggle や Dataset Search などで探せる ネット上でかき集める 画像投稿サイトで集めたり
自作 大量に用意する必要があるので大変。 外注 企業がやるやつ 2023/05/19 15
前準備 フレームワーク選び データの整形 データの分割 データローダーにかける ハイパーパラメータ設定 などなど 2023/05/19 16
学習と予測 学習が完了するまで待ち。 データの数やフレームワーク・ライブラリによって時間は変わる。 ノーパソだと数時間かかるものも珍しくない。 2023/05/19 17
シンプルな例で体験 Google Colab を使用 https://colab.research.google.com/ Python環境がすでに整っているのですぐに始められる。 GPUが使える。 無料で使えるが使用制限あり。 ソースコードとデータセットはgithubに用意してあるので、CodeからDownload ZIP
https://github.com/tasotaku/Machine_Learning_lec 2023/05/19 18
シンプルな例で体験 1. アップロードを選択 2. ipynbファイルをアップロード 3. ファイルを選択 4. csvファイルをアップロード 5.
上から実行 2023/05/19 19
強化学習 先ほど紹介したのは教師あり学習 強化学習とはエージェントと環境が相互にやり取りをす ることで学習する。 家のマスに移動するという行動をしたら、1点という報 酬をあたえる。こういった探索を行い、最も良い行動を 求める。 強化学習の場合、データセットは必要ない。代わりに環 境や報酬が必要。 2023/05/19
20
Deep Learninig 実用例 物体検知 画像生成 自動翻訳 チャットボット ボードゲーム ロボット制御 2023/05/19
21
物体検知 画像から物体の位置と種類を表示 引用 (https://pjreddie.com/darknet/yolo/) 2023/05/19 22
画像生成 引用(https://huggingface.co/stabilityai/stable-diffusion-2) テキストや文章から新たな画像を生成 stable-diffusionなど 2023/05/19 23
自動翻訳 翻訳してくれる。英語課題のお供。 Google翻訳、DeepLなど。 2023/05/19 24
チャットボット 人と自然な対話が可能。分かりやすく教えてもらったり、ソースコード書いてもらっ たりできる。 ChatGPTなど 2023/05/19 25
ボードゲーム チェスやオセロ、エアーホッケー、アクションゲームなど、人間と同じ強さで戦え る。 ロボット制御 アームで掴む、犬型ロボットが歩くなど。ロボットの行動はデータにしづらいので、 強化学習になる。物をつかめたらプラスの報酬を与えるなど。 2023/05/19 26
機械学習は万能か? 先週のatcoder A問題 https://atcoder.jp/contests/abc301/tasks/abc301_a 入力が整数と文字列、出力が文字。一応、機械学習で扱えるが... データセットを用意しなければならない。 手を抜くと精度が下がる。 前準備がいる。 場合によっては学習に時間がかかる。 正答率は100%にならない可能性がある。
手間がかかる上に不完全。普通に数行コードを書いた方がいい! 2023/05/19 27
おすすめの本 昨今のAIブームのおかげで機械学習の情報は沢山ある。 ネットで調べるなり本を借りるか買うかすれば困らないと思う。 ゼロから作るdeep learning 説明が丁寧で読みやすい。序盤にPythonの解説があるが基礎知識はあった方がいい。 AIの理論的な部分がメイン、実装するにはこの本だけでは不十分。(個人の意見) 2023/05/19 28
おわり 広ーく話させてもらいました。理論的な部分はほぼ飛ばしているので、本来は数学っ ぽい話があります。 機械学習の理解に役立ったのならうれしいです。 2023/05/19 29