機器學習

機器學習能幹嘛?

語音辨識

圖像辨識

玩遊戲

數值預測

機器人

自駕車

機器學習

學習

有用的模型

模型(神經網路aka學妹)

神經元

訊號

簡單的神經網路(學妹)

a^1_1
a^1_2
a^2_1
0.6
0.3
-0.1
0.2
+0.1
\sigma
\sigma (a\,\,\,\,\,\ \cdot\,\,\,\,\, w\,\,\,\,\,\,\,\,+\,\,\,\,\,\,\,b)
0.52
a^1_1
a^1_2
a^2_1
\sigma (a\cdot w+b)

激勵函數

a_1
w_2,b_2
a_2
w_3,b_3
a_3
a_3=\sigma(\sigma(a_1\cdot w_2+b_2)\cdot w_3+b_3)
a_2

MNIST實作模型

神經網路蓋好了

不過要怎麼訓練??

先評分,再調整\(w和b\),讓分數變好

如何評分??

0

1

2

3

4

5

6

7

8

9

0.25

0

0

0.03

0

0

0.1

0.4

0

0.8

0

0

0

0

0

0

0

0

0

1

f(x)
y
L(x)=\frac{1}{n} \sum (f(x)_i-y_i)^2
L(x)=-\sum y_i\, ln(f(x)_i)

損失函數

隨機選\(w和b\),計算損失函數

尋找\(w\pm\Delta w\, ,b\pm\Delta b\),使得損失函數值下降最多

更新\(w和b\)

如何調整w和b??

\((w_{12},b_{12})=(1,0)\),\(\Delta=0.5\)

\((w_{11},b_{11})=(0.5,0)\),\(\Delta=0.5\)

\((w_{10},b_{10})=(0,0.5)\),\(\Delta=0.5\)

\((w_9,b_9)=(-0.5,0.5)\),\(\Delta=0.5\)

\((w_8,b_8)=(-1,1)\),\(\Delta=0.5\)

\((w_7,b_7)=(-1.5,1)\),\(\Delta=0.5\)

\((w_6,b_6)=(-2,1.5)\),\(\Delta=0.5\)

\((w_5,b_5)=(-2.5,1.5)\),\(\Delta=0.5\)

\((w_4,b_4)=(-3,2)\),\(\Delta=0.5\)

\((w_3,b_3)=(-3.5,2.5)\),\(\Delta=0.5\)

\((w_2,b_2)=(-4,3)\),\(\Delta=0.5\)

\((w_1,b_1)=(-4.5,3.5)\),\(\Delta=0.5\)

\((w_0,b_0)=(-4,4)\),\(\Delta=0.5\)

看圖更清楚

上面方法似乎可行,但是...

每個模型都有上萬個參數(w和b)

每次調整都有3的上萬次方種可能

於是...

Text

Text

業配一下

"沒有微分解決不了的問題,如果有,二次微分"

--牛頓沒說過

微分!!!

我的學妹們

我造了五個學妹

第一個學妹

生於108/5/25,卒於108/6/6

讀檔案O

蓋好模型X

寫好訓練公式X

300行屍體

第二個學妹

讀檔案O

蓋好模型O

寫好訓練公式X

又300行屍體

第三個學妹

讀檔案O

蓋好模型O

寫好訓練公式O

只有輸入和輸出層

784
:
:
:
:
:
:
:
:
10

答對率80%

比三歲小孩還笨

第四個學妹

讀檔案O

蓋好模型O

寫好訓練公式O

有輸入、輸出、一層隱藏層

784
50
10

答對率96%!!!

第五個學妹

讀檔案O

蓋好模型O

寫好訓練公式?

有輸入、輸出、兩層隱藏層

Neural Network

By willy62830

Neural Network

  • 285