MATLAB與深度學習

深度學習簡介

為什麼使用MATLAB進行深度學習?

即使您不是資料科學的專家,MATLAB®也讓每個人都能輕鬆設計、建立和視覺化深度學習模型,取用最新的模型,或從Caffe & TensorFlow 導入預先訓練模型(pretrained model)。或使用NVIDIA GPU來進行高速模型訓練。 將MATLAB程式碼自動轉成用於嵌入式的高效能CUDA程式碼。

  • 高效能! MATLAB比TensorFlow 快7倍! 比Caffe2 快4.5倍!
  • 輕鬆使用最新模型, 如: GoogLeNet, VGG-16, VGG-19, AlexNet, ResNet-50, ResNet-101, 和Inception-v3,還有更多!
  • 快! 還要更快! 搭配使用NVIDIA GPUs,多GPU,雲端或叢集加速訓練任務!
  • 便利的開發工具: 具備即時視覺化,除錯以及自動真實標記(Ground-truth Labelling)功能。
  • 整合彈性! 可匯入Caffe 和TensorFlow-Keras的模型。
免費課程

兩小時! 學會使用MATLAB進行深度學習
這個免費的互動課程,將會引導您藉由實際操作影像辨識主題,學習可實用的深度學習方法,如卷積神經網路(Convolutional Neural Network, CNN), 使用預先訓練模型,以及遷移學習。現在就登入MathWorks會員,跟著我們一步步了解,如何使用MATLAB進行深度學習,探索人工智慧科技趨勢。開始課程

利用MATLAB訓練深度學習模型

深度學習模型的準確度在很大程度上取決於用於訓練模型的數據量。最準確的模型可能需要數千甚至數百萬的樣本,因此需要相當長的時間來進行訓練。一旦深度學習模型的訓練完成,它便可以使用在即時系統,如先進駕駛輔助系統(ADAS)行人偵測。

使用卷積神經網路(CNN)進行影像分類

卷積神經網路(Convolutional Neural Network),又稱CNN,是一種常見的深度學習結構。類神經網路為多層架構,層與層之間由一組相互連結的節點所構成。卷積神經網路會將學習到的特徵與輸入的數據進行迴旋積,因為使用2D的卷積層,這樣的架構適合用來處理2D數據,例如圖片。

利用卷積神經網路(Convolutional Neural Network)進行影像分類的處理流程。將濾波器用在每張且多種解析度的訓練影像上,每個卷積影像的輸出會是下一層的輸入。一開始濾波器會找出一些簡單的特徵,如亮度和邊緣,隨著階層的推進,特徵會是更加複雜的形狀。

遷移學習 Transfer Learning

典型的影像分類問題,需要大量數據進行卷積神經網路(CNN)的訓練,因為它必須學習上百萬的權重。相較於從頭訓練CNN,常見的替代方案為使用預先訓練模型(pretrained model)從一個新數據集自動擷取特徵。這種方法被稱為遷移學習,是一個達到深度學習,但不需要龐大的數據集和長期訓練時間的一種便捷方式。

針對從頭建立CNN模型以及使用pretrained模型的複雜度以及準確性比較。

深度學習預訓練模型下載安裝

如何區分深度學習與機器學習?

深度學習是機器學習一種技術,機器學習涵蓋機率學、統計學、最佳理論、運算與智能等,在於使用演算法來分析資料的實踐和學習,然後對真實事件做出決策或預測。而深度學習則直接從資料來學習任務,它採用了深層的類神經網路結構(Deep Neural Network),來訓練和分析資料特徵,以學習如何自動辨識與分類。 深度學習演算法能夠直接從影像、文字、訊號等資料,以端對端(end-to-end)的形式學習有鑑別度的特徵。當演算法被大量標記的訓練資料集訓練之後,可以用來建立高準確度的分類器。

機器學習與深度學習比較

    機器學習
  • 只須小量數據集即便可得出優良結果
  • 可快速將模型訓練完成
  • 需要嘗試不同的特徵和分類器才能實現最佳效果
  • 準確度有所限制
    深度學習
  • 需要非常大的數據集才能獲得最佳效果
  • 計算密集,所需時間較長
  • 具備自動學習功能和分類器
  • 準確度不受限制,可以獲得最先進的準確性,有時會超出人類的表現。
機器學習需要使用者手動從影像中擷取特徵
深度學習可自動從深度類神經網路中學習影像來源圖片的特徵

利用GPU 加速硬體

訓練一個深度學習模型可能需要從幾天到幾個星期的時間。使用GPU加速可以顯著加速訓練的過程。使用GPU可成功的將影像分類問題的模型訓練時間從數天縮短至數小時。

類神經網絡工具箱(Neural Network Toolbox)內建可從頭建立並訓練屬於你的卷積神經網路(CNN) 或是使用的預先訓練模型(Pretrained Model)來進行遷移學習(Transfer Learning)。