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
小島瑞貴
June 06, 2026
14
0
Share
さわって動かす人工知能
小島瑞貴
June 06, 2026
More Decks by 小島瑞貴
See All by 小島瑞貴
動画生成と三次元生成を融合して最強の生成モデルを作ろう
mickey_0226
0
27
CVPR2026_VGGTとその仲間たち
mickey_0226
0
250
Transformerの推論を線形時間にして皆を驚かせましょう
mickey_0226
0
25
Featured
See All Featured
Mind Mapping
helmedeiros
PRO
1
220
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
GitHub's CSS Performance
jonrohan
1033
470k
Crafting Experiences
bethany
1
160
Building Flexible Design Systems
yeseniaperezcruz
330
40k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
280
The Curious Case for Waylosing
cassininazir
1
360
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
520
The Cost Of JavaScript in 2023
addyosmani
55
10k
Faster Mobile Websites
deanohume
310
31k
Deep Space Network (abreviated)
tonyrice
0
160
Transcript
さわって、動かす、人工知能 学術バーQ: 東京科学大学 小島 瑞貴 ~高校数学から学ぶ人工知能の仕組み~
2 導入 世 は ま さ に 大 A I
時 代
3 導入 普段、AIは使いますか? アンケート: あなたの理解度を教えてください ❶ 普段、ChatGPTなどを使用している ❷ AIの特性をなんとなく知っている(例: ハルシーション、破滅的忘却など)
❸ 自分でAIを学習させられる (Pytorch, Tensorflowなどは使用可) ❹ フルスクラッチでAIを構築できる ❺ AIに関する新しい理論を作れる
4 導入 普段、AIは使いますか? アンケート: あなたの理解度を教えてください ❶ 普段、ChatGPTなどを使用している ❷ AIの特性をなんとなく知っている(例: ハルシーション、破滅的忘却など)
❸ 自分でAIを学習させられる (Pytorch, Tensorflowなどは使用可) ❹ フルスクラッチでAIを構築できる ❺ AIに関する新しい理論を作れる 本イベントはこの層が対象
5 モチベーション AIは使うけど、詳しくは知らない人は多いはず! 今回は高校数学のキソから、人工知能の基盤理論まで拡張させます
6 目次 ・高校数学の復習(第一部: 19:00~20:00) ・AIとは何か?(第二部: 20:00~21:00 ) ・関数 ・微分 ・AIは関数で、微分で学習する
・AIの評価基準 (損失関数) ・AIの学習方法 (微分による勾配降下法) ・ニューラルネットワークとは何か?(第三部:21:00~22:00) ・ニューラルネットワークは特別な関数 ・ニューラルネットと勾配降下法 種々のデモを用意してます 動かしながらAIと繋がりましょう
7 関数 関数 第一部 ~高校数学の復習~
8 目次 ・高校数学の復習 ・AIとは何か? ・関数 ・微分 ・AIは関数で、微分で学習する ・AIの評価基準 (損失関数) ・AIの学習方法
(微分による勾配降下法) ・ニューラルネットワークとは何か? ・ニューラルネットワークは特別な関数 ・ニューラルネットワークを実際に学習させよう! ・AIづくり体験 関数 高校数学を復習しましょう いたるところに伏線があります
9 関数: 高校数学の復習 関数とは「数を入れて数が出てくるもの」です 関数 数 数 たとえば、時速40kmの車に乗った時間を入れて、走行距離を出す関数だと: 関数 2時間
80km 入力をx, 出力をy, 関数をfとして と書くことが多いです。
10 関数: 高校数学の復習 関数には「複数個入力」ができます 関数 数 数 たとえば、車の時速も入れられるようにして 関数 2時間
80km 関数が受け取る数に応じて~変数関数と呼びます(もっと多いと多変数関数) 数 時速40km 入力はxとy、 出力をz, 関数をfとして と書きます。
11 関数: 高校数学の復習 入力数が少ないと、関数は「グラフで表現」できます 1変数関数: 時速40kmの車に乗ったときの、走行時間(x)と走行距離(y) 走行時間 走行距離 2時間 80km
12 関数: 高校数学の復習 入力数が少ないと、関数は「グラフで表現」できます 2変数関数: 走行時間(x)と時速(y)→走行距離(z) 時速 走行時間 走行距離 40km/h
1h 40km
13 関数: 高校数学の復習 デモ1:2変数関数と仲良くなりましょう ※前で一緒にやるので、PCなど持っていない方は前をご覧ください。 https://huggingface.co/spaces/Micckkey/touch-and-try-ai
14 微分: 高校数学の復習 微分値は「すごく近い2点を結ぶ直線の傾き」です 傾き: hを小さくしたのが微分値
15 微分: 高校数学の復習 デモ2: 微分を体感してみましょう ※hを動かして,傾きがどう変わるか確認しましょう!!
16 微分: 高校数学の復習 復習: 微分値は「すごく近い2点を結ぶグラフの傾き」です ☛ 2変数関数にも拡張します ポイント: 1つの変数以外すべて固定すると、1変数関数 例えば
… xを固定 固定 動かす xは決まっていて、yを教えればzが決まるので1変数関数 関数 固定 動かす ☛ x,y固定しそれぞれ微分値が出る ☛ 偏微分値と呼びます
17 微分: 高校数学の復習 デモ3: 偏微分を体感してみましょう ☛x,yを固定し、偏微分値(傾き)の変化を眺めましょう
18 まとめ(第1部): 高校数学の復習 関数 値(入力)を入れて、値(出力)が返ってくるもの 入力は、何個でも大丈夫!(例: 2変数関数、多変数関数など) 微分 (1変数関数は) とても近い2点を結ぶ直線の傾き(微分値)
(2変数関数は) 1つの入力だけ動かすときの微分値 (偏微分値) (2変数関数は) 偏微分値は、2つある (固定する個数分)
19 関数 関数 第ニ部 ~AIとは何か~
20 目次 ・高校数学の復習 ・AIとは何か? ・関数 ・微分 ・AIは関数で、微分で学習する ・AIの評価基準 (損失関数) ・AIの学習方法
(微分による勾配降下法) ・ニューラルネットワークとは何か? ・ニューラルネットワークは特別な関数 ・ニューラルネットワークを実際に学習させよう! ・AIづくり体験 高校数学から AI理論に拡張します
21 AIは関数で、微分で学習する: AIとは何か? AIを一言でいったら…? 知能?魔法の道具?アシスタント? いえ、ただの 「多変数関数」 です 関数 学習は、偏微分を利用しているだけです
2変数関数までの議論を拡張して、AIを構築しましょう
22 AIは関数で、微分で学習する: AIとは何か? ではこの関数は何…?? そもそも偏微分で学習できるの…?? 第2部はこの質問の回答になります
23 AIの評価基準 (損失関数) : AIとは何か? 損失関数とは「予測の悪さ」を決める指標です 例: 損失関数の値が0なら良い予測、100なら悪い予測です まずは、データセットと予測関数について… データセット:
機械学習では、入力から出力を予測します。入出力の正解ペアのことです。 たとえば、不動産の価格(出力)を、築年数と広さ(入力)から予測するとします。 種々の物件の、築年数と広さ(入力)と価格(出力)のペアです。 予測関数: 入力からの出力の予測です。AIは予測関数を学習します。入力→出力を返します。 損失関数: 予測と正解出力のずれです。データセットと予測関数で決まります。
24 デモ4: データセットと予測関数と損失関数 AIの評価基準 (損失関数) : AIとは何か? 入力: 築年数(x)・広さ(y) /
出力: 価格(z) データセット: 予測関数: a×(築年数) + b×(広さ) + c ※パラメータを変更し、良い予測関数を作ってみてください。価格シミュレーションもできます 損失関数: {(予測値)-(正解値)}**2 ※予測値と正解値のずれ
25 AIの学習方法 (微分による勾配降下法) : AIとは何か? 損失関数とは「予測関数の悪さ」を決める指標です 例: 損失関数の値が0なら良い予測関数、100なら悪い予測関数です ☛ 良い予測関数を作り、損失関数の値が小さくなるのを確認できましたか…?
前のデモは、実は、「3変数関数」でした ( 入力は2つ(広さ・築年数)なので注意です ) 関数 損失関数値(数字) ※a, b, cを調節したら値が返ってきましたよね! a, b, cを(頑張って?)変更して、損失関数値を下げたのではないですか?? それの自動化こそがAIの学習で、実現方法が偏微分なのです!!
26 AIの学習方法 (微分による勾配降下法) : AIとは何か? 「勾配降下法」とは、偏微分で、損失関数の値を下げる方法です まずは、少しだけ偏微分の復習をしましょう 偏微分: 1つの変数以外すべて固定した微分値 ※各点で、xを固定した微分値と、yを固定した微分値がありましたよね!
x固定:偏微分値3.0 y固定:偏微分値1.0 勾配とは、偏微分値のペアのことです (例: (3.0, 1.0))
27 デモ5:勾配をちょっと観察してみましょう AIの学習方法 (微分による勾配降下法) : AIとは何か? ☛ 勾配は、矢印で書いてみることにします 例: (3.0,
1.0) 3.0 1.0 ☛ 2変数関数は、等高線で書いてみます ※観察: 勾配(赤矢印)は 値が大きくなる方向を向いていませんか?
28 AIの学習方法 (微分による勾配降下法) : AIとは何か? ❶ 損失関数: 予測の悪さの評価。下げたい↓ すこしまとめ… ❷
勾配: 関数値が大きくなる方向 超大事 : 勾配の逆向きは、関数値を下げる方向!!! 勾配降下法: 勾配の逆向きに進んで、損失関数値を落とす方法 ☛ 勾配は入力(例: a, b, c)に対し、損失関数値を下げる信号を教える ※a, b, c をそれぞれ固定した偏微分値のペア
29 AIの学習方法 (微分による勾配降下法) : AIとは何か? ※ 勾配降下法で、入力(x,y)を更新し、損失関数の値を下げられましたか? デモ6:勾配降下法(2変数関数)
30 AIの学習方法 (微分による勾配降下法) : AIとは何か? ※ 勾配降下法で、AIを学習させることができましたか?? デモ8:不動産価格予測ふたたび ☛ 勾配降下法を使って、a,b,c
を更新し、損失関数値を自動的に下げましょう 予測関数: a×(築年数) + b×(広さ) + c
31 AIは関数で、微分で学習する: AIとは何か? ではこの関数は何…?? そもそも偏微分で学習できるの…?? この質問には答えられるようになりましたか?
32 まとめ(第2部): AIとは何か? AIは関数で、微分で学習する 「関数」とは、損失関数 (多変数関数) 「微分」とは、偏微分をまとめた勾配 損失関数 データセットは、入力と出力の複数ペア (例:
築年数、広さ、価格) 予測関数は、入力からの予測 (例: (価格)=a(築年数)+b(広さ)+c) 損失関数は、データセットへの、予測関数の悪さ (例: 0なら最高) 勾配降下法 勾配は、偏微分値をまとめたもの(例:ペア)で、関数値を大きくする方向 勾配降下法は、勾配の逆方向に進み、損失関数値を下げる
33 関数 関数 第三部 ~ニューラルネットワークとは何か~
34 目次 ・高校数学の復習 ・AIとは何か? ・関数 ・微分 ・AIは関数で、微分で学習する ・AIの評価基準 (損失関数) ・AIの学習方法
(微分による勾配降下法) ・ニューラルネットワークとは何か? ・ニューラルネットワークは特別な関数 ・ニューラルネットワークと勾配降下法 ・AIづくり体験 いよいよ、大詰め ニューラルネットの登場です
35 復習: AIの学習方法 (微分による勾配降下法) : AIとは何か? ❶ 損失関数: 予測の悪さの評価。下げたい。 すこしまとめ…
❷ 勾配: 関数値が大きくなる方向 超大事 : 勾配の逆向きは、関数値を下げる方向!!! 勾配降下法: 勾配の逆向きに進んで、損失関数値を落とす方法 ☛ 入力(例: a, b, c)に対し、勾配の逆は損失関数値を下げる信号を教える ※a, b, c をそれぞれ固定した偏微分値のペア
36 AIは、損失関数に対して 勾配降下法で損失値を下げて予測関数を学習する! 大正解です ですが… 絶対に改善すべき点 が残っています ※察しのよい方なら気づいたかもしれません…?? それは… 予測関数
です 導入:ニューラルネットワークとは何か?
37 では、不動産の価格予測を振り返ってみましょう… 予測関数 が 平面以外 になった方いますか?? ※赤い平面のこと 予測関数を自分で作る…? 無理! これは、改善すべき
予測関数: a×(築年数) + b×(広さ) + c 振り返り: 理論的に、平面以外なれないんです では、ニューラルネットとは…?? 導入:ニューラルネットワークとは何か?
38 ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ニューラルネットワークとは 「ぐねぐねできる(特別な)予測関数」です 百聞は一見に如かず 実際にニューラルネットを勾配降下させましょう
39 ※予測関数は、データにぐねぐねしてあてはまりましたか? デモ:ニューラルネットによる学習 ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ここから、ニューラルネットの仕組みを確認していきましょう
40 ニューラルネット(予測関数)は2つの要素からなります ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ❶アフィン変換 ❷活性化関数 これを交互に繰り返して、作られます それぞれの要素の詳細に入ります!
41 ❶アフィン変換は「入力に係数を掛けて足す」 ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? 実は… もう登場しています… 予測関数: a×(築年数) + b×(広さ) +
c ~不動産価格予測再訪(また)~ 入力(例: 築年数、広さ)に係数(例:a, b, c)を掛けて 数(例: c)を足すのを、アフィン変換といいます 例: ax+by+c(入力x,y), ax+by+cz+d(入力x,y,z) ※これが予測関数だと、係数a,b,cを勾配降下法で調整します 図で などと書きます
42 ❶アフィン変換は「入力に係数を掛けて足す」 ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? 実は… もう登場しています… 予測関数: a×(築年数) + b×(広さ) +
c ~不動産価格予測再訪(また)~ 入力(例: 築年数、広さ)に係数(例:a, b)を掛けて 数(例: c)を足すのを、アフィン変換といいます 例: ax+by+c(入力x,y), ax+by+cz+d(入力x,y,z) ※これが予測関数だと、係数a,b,cを勾配降下法で調整します 図で などと書きます 築年数 広さ 価格 ※a×(築年数)+b×(広さ)+c=(価格)
43 ❷活性化関数は「0以下のものを0に」 ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? 「青矢印を0以下のものを0に」と約束します 例: 3 0 -2 3 0
0 0より大きいとそのまま 0は0のまま マイナスは0にする 活性化関数 活性化関数 活性化関数
44 ニューラルネット(予測関数)は2つの要素からなります ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ❶アフィン変換 ❷活性化関数 これを交互に繰り返して、作られます 焦らず少し練習します 0 1 活性化関数
45 ニューラルネット(予測関数)は2つの要素からなります ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ❶アフィン変換 ❷活性化関数 これを交互に繰り返して、作られます アフィン変換は x+y-2としましょう(a=1, b=1, c=-2)
0 1 -1 ※0+1-2 活性化関数
46 ニューラルネット(予測関数)は2つの要素からなります ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ❶アフィン変換 ❷活性化関数 これを交互に繰り返して、作られます マイナスは0に 0 1 -1
0 活性化関数
47 ニューラルネット(予測関数)は2つの要素からなります ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ❶アフィン変換 ❷活性化関数 これを交互に繰り返して、作られます 0 1 0 この操作をまとめて1つのグラフで書きます
これを繰り返します。でももう繰り返せなさそう…??
48 ニューラルネット(予測関数)は2つの要素からなります ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ❶アフィン変換 ❷活性化関数 これを交互に繰り返して、作られます 1つではなく、複数個用意すれば繋げられます…!
49 ニューラルネット(予測関数)は2つの要素からなります ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ❶アフィン変換 ❷活性化関数 これを交互に繰り返して、作られます 1つではなく、複数個用意すれば繋げられます…!
50 ニューラルネット(予測関数)は2つの要素からなります ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ❶アフィン変換 ❷活性化関数 これを交互に繰り返して、作られます 1つではなく、複数個用意すれば繋げられます…!
51 ニューラルネット(予測関数)は2つの要素からなります ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ❶アフィン変換 ❷活性化関数 これを交互に繰り返して、作られます 1つではなく、複数個用意すれば繋げられます…!予測関数なので1つに。
52 ニューラルネット(予測関数)は2つの要素からなります ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? ❶アフィン変換 ❷活性化関数 これを交互に繰り返して、作られます 1つではなく、複数個用意すれば繋げられます…!予測関数なので1つに。 これを ニューラルネットワーク と呼びます
53 ニューラルネットワークは「多変数関数」です ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? 築年数 広さ 価格 ~復習:不動産価格予測再訪(また)~ だと、a×(築年数) + b
* (広さ) + c なので、3変数関数(a,b,c)でしたね では、ニューラルネットワークは…?
54 ニューラルネットワークは「多変数関数」です ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? アフィン変換分だけ変数が増えていきます(多変数) 例: 簡単な例で多変数関数だと確認
55 ニューラルネットワークは「多変数関数」です ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? アフィン変換分だけ変数が増えていきます(多変数) 例: 簡単な例で多変数関数だと確認 変数リスト: (a, b, c)
56 ニューラルネットワークは「多変数関数」です ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? アフィン変換分だけ変数が増えていきます(多変数) 例: 簡単な例で多変数関数だと確認 変数リスト: (a, b, c,
d, e, f)
57 ニューラルネットワークは「多変数関数」です ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? アフィン変換分だけ変数が増えていきます(多変数) 例: 簡単な例で多変数関数だと確認 変数リスト: (a, b, c,
d, e, f, g, h, i)
58 ニューラルネットワークは「多変数関数」です ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? アフィン変換分だけ変数が増えていきます(多変数) 例: 簡単な例で多変数関数だと確認 変数リスト: (a, b, c,
d, e, f, g, h, i) ☚なので9変数関数ですね! 「ニューラルネットワークは多変数関数」 納得いきますか…??
59 ニューラルネットワークは「多変数関数」で予測関数です ニューラルネットワークは特別な関数:ニューラルネットワークとは何か? 損失関数値(数字) ニューラルネット ※a_1, …, a_nを固定すれば値が返ってきます! (例: a,
b, c, d, e, f, g, h, i)
60 復習: AIの学習方法 (微分による勾配降下法) : AIとは何か? ❶ 損失関数: 予測の悪さの評価。下げたい。 すこしまとめ…
❷ 勾配: 関数値が大きくなる方向 超大事 : 勾配の逆向きは、関数値を下げる方向!!! 勾配降下法: 勾配の逆向きに進んで、損失関数値を落とす方法 ☛ 勾配は入力(例: a, b, c)に対し、損失関数値を下げる信号を教える ※a, b, c をそれぞれ固定した偏微分値のペア
61 二ューラルネットワークと勾配降下法:ニューラルネットワークとは何か? ❶ 損失関数: 予測の悪さの評価。下げたい。
62 二ューラルネットワークと勾配降下法:ニューラルネットワークとは何か? ❷ 勾配: 関数値が大きくなる方向 ☛ 勾配は入力(例: a_1, …, a_n)に対し、損失関数値を下げる信号を教える
☛ a_1,…,a_nを一つ一つ固定→偏微分(傾き)を計算→ペアにして勾配に ☛ 勾配降下法でa_1, …, a_nを更新し,損失関数値を下げる(予測を高める)
63 予測関数(ニューラルネット)は,各ピクセルの色を予測します. 左の猫の画像に近いと,損失関数値が減少します! デモ1:ニューラル画像場 二ューラルネットワークと勾配降下法:ニューラルネットワークとは何か? ※ 勾配降下法で、ニューラルネットを学習させることができましたか??
64 予測関数(ニューラルネット)は,手書き数字を予測します (0から9) 分類できると損失関数値が落ちます(正解率は上がります). 学習ボタンで勾配降下させ,自分の手書き文字を判定しましょう! デモ2:手書き文字認識 二ューラルネットワークと勾配降下法:ニューラルネットワークとは何か?
65 まとめ(第3部): ニューラルネットワークとは何か? ニューラルネットワークは特別な関数 予測関数の自力設計は大変 (例: 不動産価格予測が平面) ニューラルネットワークと勾配降下法 多変数関数の偏微分による勾配は,損失関数値を下げる データにぐねぐねし当てはまる予測関数
アフィン変換と非線形変換の組み合わせ アフィン変換は「掛けて足す」,非線形変換は「マイナスを零に」 多変数関数