10月最後一周的社課

雖然很突然,但我們先來學一下數學吧><

加法

1 + 1 = 2

2 + 4 = 6

3 + (-7) = -4

(-2)+(-3) = -5

要注意負數喔!

乘法

加法結合乘法

1+2*3 = 7

(2+3)*(1*2+3) = 25

(6*7)+(-(2*3)) = 36

1*2+3*4+5*6 = 44

結合律:

1+(2+3) = (1+2)+3 = 1+2+3

1*(2*3) = (1*2)*3 = 1*2*3

交換律:

1+2 = 2+1

1*2 = 2*1

*先乘除後加減

未知數

x + 1 + 2

y + 1

x * ( y + 1 )

( x + z ) * ( y + x * t ) 

方程式

x + 3 = 7

=> x = 4

 

x * 3 - 7 = 8

=> x = 5

 

*等量公理

兩邊同加,兩邊同乘

內積

n個未知數

( x1, x2, x3, ... , xn )

n個未知數

( y1, y2, y3, ... , yn )

對應項相乘,然後相加

( x1, x2, x3, ... , xn ) .( y1, y2, y3, ... , yn )

= x1*y1 + x2*y2 + x3*y3 + ... + xn * yn

舉例

( 2, 3, 4 ).( 3, 5, 7 ) = 2*3 + 3*5 + 4*7

x

上面這張圖代表x乘上w後變成wx

w

wx

x1

w1

w1x1+w2x2

x2

w2

上面這張圖代表兩個x分別乘上w後加在一起

好多東西乘起來然後加在一起><

恭喜大家都學會人工神經網路囉><(誇飾法)

人工神經網路在幹嘛?

我們丟資料進去,然後它會給我答案

 

舉例:

丟濕度、溫度、雲量......等等資訊

神經網路就會回答未來一周每天下雨的機率是多少

資料是甚麼?

一堆數字

 

答案是甚麼?

一堆數字

 

我們剛剛學了甚麼?

一堆數字的加減乘除

人工神經網路做的事情

首先把你的一堆數字丟進去

 

然後人工神經網路把那堆數字,每個都乘上一個數字,然後再把其中幾個加起來,

重複上面那個動作很多次

 

最後它就會給你一堆數字了

圖片支援

上一頁頁面不夠了(誒嘿~)

那箭頭上的數字怎麼決定嘞?

random(x), training(O)

蘋果和橘子

假設你有一堆蘋果和橘子的圖片

然後你想要製作一個人工神經網路

使的這個人工神經網路可以幫你

區分一張圖片是蘋果還是橘子

你首先要做的事情

  • 準備一大堆蘋果和橘子的圖片
  • 然後自已將這些圖片分類
  • 然後你就知道哪些是蘋果哪些是橘子了(X)

你首先要做的事情

  • 準備一大堆蘋果和橘子的圖片
  • 然後自已將這些圖片分類
  • 然後將每張圖片用像素來表示

甚麼是像素?

電腦存取顏色是用數字來存的喔><

發現了甚麼 ?

像素是一堆數字耶><

那數字能幹嘛?

拿來丟給人工神經網路啊XD

還是沒回答箭頭上的數字要怎麼決定耶QQ

答案是:

  • 先隨便設數字上去
  • 然後再微調喔><

還記得剛剛你辛苦分完的一大堆蘋果和橘子照片嗎?

 

把它們轉乘像素丟給神經網路

 

假設輸出是1代表是蘋果

0的話是橘子

 

然後你亂設定箭頭上的數字肯定會導致很多錯誤吧~

然後接著我們就去微調箭頭上的數字,直到我們的神經網路的正確率變很高為止喔

 

x1

3

輸出

x2

5

輸入

然後發現它的輸出錯誤百出

x1

4

答案

x2

5

輸入

改掉箭頭上的數字,然後再試試看

改掉箭頭上的數字也要自己做嗎orz

當然不用

那要怎麼做呢?

答案是微積分喔><

(正確來說是梯度)

反向傳播英語:Backpropagation,縮寫為BP)是「誤差反向傳播」的簡稱,是一種與最優化方法(如梯度下降法)結合使用的,用來訓練人工神經網絡的常見方法。該方法對網絡中所有權重計算損失函數的梯度。這個梯度會反饋給最優化方法,用來更新權值以最小化損失函數。

(維基百科)

簡單來說你有一顆球球

這顆球目前在山頂上(亂設的值)

它想要滾到最低的山谷(正確的值)

那它要怎麼做呢?

那就朝著"最陡"的那邊滾吧~~

詳情請參閱星期一的進階班課程~~~~~~~~~~~

學習速率

還記得我們的球球嗎?

如果球球滾得太慢

那它有可能卡在山腰的山谷中QQ

如果球球滾得太快

它有可能衝過頭,然後就錯過最低的山谷了

所以我們要找到最適合球球滾動的速率

 

這在人工神經網路上被稱為學習速率

球球和山坡

球球滾下山坡時,會先看看四周,然後找到最陡的地方往下滾

 

在單位時間下球球滾的距離就稱作學習速率喔><

要怎麼找到最佳的學習速率呢?

可以像剛剛找到最好的箭頭的值一樣用微積分嗎?

答:不行

基本上最佳的學習速率是只能一個一個去試試看的

 

如果你發現現在的速率太快了,那就調低一點;反之則快一點

 

或者是參照古人的經驗唷><

一些AI

不一定是人工神經網路

專家系統

能夠依據一組從專門知識中推演出的邏輯規則在某一特定領域回答或解決問題

活躍於1980~1987

Deep Blue

minmax tree

Alpha Go

Monte Carlo tree search 

配合

兩個人工神經網路

今天的課程就到此結束囉

      期待下次再會的說~~

(不)

10月最後一周的社課

By polarischiba

10月最後一周的社課

  • 81