AI 的核心

分類 Deep Learning

AI 是什麼?

很多人探討 AI 會追隨前人的探討,去探討什麼是智慧?或是什麼樣的是強人工智慧?

當然我也做過一樣的事情,只是今天我想從比較 技術層面、比較 務實 的角度切入這一大類技術。

從比較技術層面跟務實的角度切入,就表示我想討論的是現今人工智慧的實作層面,也就是 AI 是怎麼被做出來的?(how),並非討論 AI 是什麼?(what)

AI 是什麼? 這議題會牽涉到什麼是智慧?而智慧這種事情連人類自身都說不清楚,有的人從哲學層面討論智慧,動物有動物的智慧,人類有人類的智慧,憑什麼說人類的『智慧』才稱為智慧?有的人從生物角度切入, 從大腦的結構與神經元的連結,到神經元的觸發,這一系列的科學探索,或許我們未來可以回答智慧是什麼?但目前仍舊是一個大謎團。

我今天要談的都不是這些,我要談的是深度學習的核心,不!是機器學習的核心… 嗯…等等,所以那是什麼?

繼續閱讀

今天我們來談談 activation function 吧!

前言

在神經網路模型(neural network)及深度學習(deep learning)中,activation function 一直扮演重要的角色。

網路模型中的層的概念基本上是由以下的式子構成:

$$
\sigma(Wx + b)
$$

其中 $Wx$ 的矩陣相乘是大家在線性代數中常見的線性運算(linear operation),$Wx + b$ 嚴格來說是稱為仿射運算(affine operation)。相對應線性空間,仿射運算會構成仿射空間,不過兩者只差一個位移 $b$ 而已,但是大家都把它叫做線性(其實是錯誤的阿阿阿阿阿阿阿阿)。最後就是最外層的 $\sigma$ 了。這就是我們今天要談的 activation function。大家應該知道 activation function 會提供神經網路模型非線性的特性,而在沒有非線性特性前的神經網路長什麼樣子呢?

仿射?線性?

其實是可以將仿射看成線性的。假設

$$
Wx + b = \begin{bmatrix}
w_{11}& w_{12}& \cdots& w_{1n} \\
\vdots& \vdots& \ddots& \vdots \\
w_{m1}& w_{m2}& \cdots& w_{mn} \\
\end{bmatrix}
\begin{bmatrix}
x_{1} \\
\vdots \\
x_{n} \\
\end{bmatrix} + \begin{bmatrix}
b_{1} \\
\vdots \\
b_{m} \\
\end{bmatrix}
$$

然後把 $W$ 跟 $b$ 合併,有點像高中學的增廣矩陣那樣,就變成了:

$$
= \begin{bmatrix}
w_{11}& w_{12}& \cdots& w_{1n}& b_{1} \\
\vdots& \vdots& \ddots& \vdots& \vdots \\
w_{m1}& w_{m2}& \cdots& w_{mn}& b_{m} \\
\end{bmatrix}
\begin{bmatrix}
x_{1} \\
\vdots \\
x_{n} \\
1
\end{bmatrix} = W’x’
$$

這樣就可以把 $b$ 吸收到 $W$ 裡面,整體就變成線性的了。

先談談線性轉換

談 activation function 之前先要談談線性轉換。去除掉 activation function 後的神經網路層只剩下 $Wx + b$ 的部份,而如果講這部份看成線性,我們就可以用線性代數裡的東西來解釋它。

有上到比較後面的線性代數的同學,應該有爬過 SVD 這座高山。基本上,SVD 是一種矩陣分解的技巧,可以適用各式的矩陣(只要是可分解的)。SVD 可以告訴我們一些關於線性運算的特質。

推薦可以看周老師的線代啟示錄 奇異值分解 (SVD)

我們可以知道一個矩陣可以被看成線性轉換,而矩陣這個線性轉換可以被分解成 3 個矩陣:

繼續閱讀

RNN 的意義

分類 Deep Learning

今天又是個長長的故事。

上次我們講完在空間上,我們可以知道資料的區域性,並且利用 convolution 來萃取特徵。

這次我們來講時間,其實不一定要是"時間"序列資料,只要是有先後順序的資料就可以。

在時間序列分析及統計的領域中,我們有基礎的馬可夫模型(Markov chain)。

繼續閱讀

CNN 的意義

分類 Deep Learning

前面大致介紹完了 Deep learning 跟 MLP 的設計,我們接下來介紹在影像處理上的重要技術。

Convolutional neural network,顧名思義,他是一種神經網路架構,裡頭包含著 convolution 的運算。

那為什麼 convolution 這麼重要,重要到要放在名稱上呢?

繼續閱讀

在前一篇講完了 deep learning 的意義之後我們來更具體一點講 multi-layer perceptron (MLP)。

最簡單的版本莫過於 linear MLP,不過不太會有人去用他,其實只是每層 layer 的 activation function 都是採用 identity。你可以想像他是有很多的線性轉換所疊起來的模型。

繼續閱讀

目前我們 machine learning 的技術已經發展了非常久的時間,我們有非常多的模型可以幫我們做預測,包含像是 regression、classification、clustering、semi-supervised learning、reinforcement learning。這些都可以幫助我們去做出預測,或是從資料當中去挖掘知識跟資訊。這些模型需要數學與統計作為基礎。

當你使用這些模型之後你會發現,你輸入的資料會大大的影響整個 performance,像是你給的 feature 不夠好,模型的表現就變得很糟糕,或是模型要預測的資訊根本不在這些 data 當中,那麼模型根本就預測不出來,所以玩過 machine learning 的人就會知道 feature engineering 的重要性。

繼續閱讀
  • 第 1 頁 共 1 頁

Yueh-Hua Tu

目標是計算生物學家!
Systems Biology, Computational Biology, Machine Learning
Julia Taiwan 發起人


研發替代役研究助理


Taiwan