跳至主要内容

Introduction

這個章節會介紹 Neural Network 的概念,並且深入探討為什麼 Deep Learning 正在如此火熱,以及他可以應用在那些資料上。Deep Learning 的應用不只是限於 Structured Data,也可以應用在 Audio、Image 以及 Raw Text 這些 Unstructured Data 上。因此,Deep Learning 可以更有效的分析資料,並得到更加准確的結果。另外, Deep Learning 還受益於三個方面:資料、運算以及演算法。由於資料的數量不斷增加,傳統的學習演算法已經無法能夠滿足應用的需求,而 Deep Learning 則可以透過不斷的擴大網路架構及資料來提升效能。同時,硬體的發展也讓 Deep Learning 的應用可以更加廣泛。

What is Neural Network ?

我們可以用一個 linear regression 的例子來解釋 Neural network,假設我們要用房子大小來預設價格:

House prediction
House prediction

這裡我們生出一個最簡單的 neural network

Simplest neural network
Simplest neural network
  • x 是我們的 input (house size)
  • 他會經過一個 neuron (activation function)
    • 這邊使用的為 ReLU function (Rectified Linear Unit)
    • ReLU function 的圖形跟上面的 house prediction 一模一樣
  • 最後我們吐出一個 ouput y (price)

Neural networks 可以像樂高一樣層層堆疊起來,像是一步一步把結果導向最佳解:

Build neural network like lego
Build neural network like lego

每一個 hidden layer 的 neuron 我們都可以自行定義他的意思。例如 input 1, 2 所產生的第一個 neuron 代表的是 family size,他可以比 1, 2 更有效的來預判 price,所以給予 neural networks 足夠的 input 通常能產生不錯的 output。

Supervised Learning with NN

目前非常成熟的 neural networks 通常都是 supervised learning,也就是給定 label x 與 y 來做訓練。以下是一些 neural networks 中熱門的 supervised learning:

Input (x)Output (y)ApplicationType
House featuresPriceReal EstateStandard NN
Ad, User infoClick ad ?AdvertisingStandard NN
ImageObject (0, ..., 1000)Photo taggingCNNs
AudioTranscriptSpeech RecognitionRNNs
EnglishChineseMachine TranslationRNNs
Image, Radar infoPosition of other carAutonomous DrivingCustom NN

Data Type

Structured Data

SizeBedrooms...Price
21043400
16003330
24403350
...
30004500

Unstructured Data

  • Audio
  • Image
  • Raw Text

Neural networks 的進步能夠被大家看見,也有一些原因是因為 neural networks 開始能夠分析 unstructured data!

Why is Deep Learning taking off ?

"Scale" drives deep learning progress !

Scale drives deep learning progress
Scale drives deep learning progress
  • 傳統的 learning algorithm 在 data 越來越多時,並不能有顯著的提升
  • 一開始發現小型的 Neural networks 在 data 變多時,可以提升 performance
  • 接著發現中型、大型的 Neural networks 又能更加提升 performance
  • 直到今日,越大的 Neural networks 利用越多的 data 就可以有越好的 performance
  • 所以 scale 指的是 Both Neural networks 和 data 的大小

另外 deep learning 的進步也受益於

  • Data : 現在的生活中能夠數位化的東西非常多
  • Computation : GPU 等硬體的出現及升級
  • Algorithm : 不時的有更強大的演算法被發表出來,例如 ReLU