聯繫我們
 課程時長 35 時間:

課程簡介

第一部分 – 深度學習與 DNN 概念

人工智慧、機器學習與深度學習簡介

  • 人工智慧的歷史、基本概念及常見應用,並探討該領域中超越幻想的實際成就
  • 集體智慧:匯聚多個虛擬智能體所共享的知識
  • 基因演算法:透過選擇機制演化一群虛擬智能體
  • 機器學習定義
  • 任務類型:有監督學習、無監督學習、強化學習
  • 行動類型:分類、迴歸、叢聚、密度估計、降維
  • 機器學習演算法範例:線性迴歸、朴素貝葉斯、隨機樹
  • 機器學習 vs 深度學習:探討機器學習仍為目前最先進技術 (SOTA) 的問題領域(如隨機森林 & XGBoost)

神經網路基本概念(應用:多層感知機)

  • 數學基礎回顧
  • 神經網路定義:經典架構、激活函數
  • 前層激活的加權、網路深度
  • 神經網路學習定義:成本函數、反向傳播、隨機梯度下降、最大似然估計
  • 神經網路建模:根據問題類型(迴歸、分類等)對輸入和輸出數據進行建模。維數災難。
  • 區分多特徵數據與訊號。根據數據特性選擇成本函數。
  • 使用神經網路近似函數:介紹與範例
  • 使用神經網路近似分佈:介紹與範例
  • 數據增強:如何平衡數據集
  • 神經網路結果的泛化能力
  • 神經網路的初始化與正規化:L1 / L2 正規化、批次正規化 (Batch Normalization)
  • 優化與收斂演算法

標準 ML / DL 工具

本節計畫簡單介紹這些工具,包括其優缺點、在生態系中的定位及實際應用。

  • 數據管理工具:Apache Spark、Apache Hadoop 工具
  • 機器學習:Numpy、Scipy、Sci-kit
  • 高層級 DL 框架:PyTorch、Keras、Lasagne
  • 底層 DL 框架:Theano、Torch、Caffe、Tensorflow

卷積神經網路 (CNN)。

  • CNN 介紹:基本原則與應用
  • CNN 基本運作:卷積層、卷积核 (kernel) 的使用
  • 填充 (Padding) & 步幅 (Stride)、特徵圖生成、池化層。1D、2D 和 3D 的擴展。
  • 介紹在分類任務中達到最先進水平的各種 CNN 架構
  • 影像:LeNet、VGG 網路、Network in Network、Inception、Resnet。介紹各架構帶來的創新及其更廣泛的應用(如 1x1 卷積或殘差連結)
  • 注意力模型的使用
  • 應用於常見的分類案例(文字或影像)
  • 用於生成的 CNN:超解析度、像素到像素的分割。介紹
  • 用於影像生成的主要策略以增加特徵圖。

循環神經網路 (RNN)。

  • RNN 介紹:基本原則與應用。
  • RNN 基本運作:隱藏層激活、時間反向傳播、展開版本。
  • 演化至門控循環單元 (GRU) 和長短期記憶網路 (LSTM)。
  • 介紹這些架構帶來的各種狀態與演化
  • 收斂問題與消失梯度問題
  • 經典架構:時間序列預測、分類 ...
  • RNN 編碼器-解碼器架構。注意力模型的使用。
  • NLP 應用:字元/字符編碼、翻譯。
  • 影片應用:預測影片序列中的下一張生成影像。

生成模型:變分自編碼器 (VAE) 和生成對抗網路 (GAN)。

  • 生成模型的介紹,及其與 CNN 的關聯
  • 自編碼器:降維與有限生成
  • 變分自編碼器:生成模型與給定分佈的近似。潛在空間 (latent space) 的定義與使用。重參數化技巧。觀察到的應用與限制
  • 生成對抗網路:基礎知識。
  • 雙向網路架構(生成器與鑑別器),交替學習,可用的成本函數。
  • GAN 的收斂及遇到的困難。
  • 改進收斂性:Wasserstein GAN、BEGAN。土方距離 (Earth Moving Distance)。
  • 用於影像或照片生成、文字生成、超解析度的應用。

深度強化學習。

  • 強化學習介紹:在定義的環境中控制智能體
  • 透過狀態和可能行動進行決策
  • 使用神經網路近似狀態函數
  • 深度 Q 學習 (Deep Q Learning):經驗重放,並應用於電子遊戲控制。
  • 學習策略優化。On-policy && off-policy。Actor-critic 架構。A3C。
  • 應用:控制單一電子遊戲或數位系統。

第二部分 – 使用 Theano 進行深度學習

Theano 基礎

  • 介紹
  • 安裝與設定

TheanoFunctions

  • inputs, outputs, updates, givens

使用 Theano 訓練與優化神經網路

  • 神經網路建模
  • 邏輯迴歸
  • 隱藏層
  • 訓練網路
  • 計算與分類
  • 優化
  • 對數損失 (Log Loss)

模型測試

第三部分 – 使用 Tensorflow 建構 DNN

TensorFlow 基礎

  • 建立、初始化、儲存和恢復 TensorFlow 變數
  • 餵送、讀取和預載 TensorFlow 數據
  • 如何利用 TensorFlow 基礎設施進行大規模模型訓練
  • 使用 TensorBoard 視覺化和評估模型

TensorFlow 運作機制

  • 準備數據
  • 下載
  • 輸入與佔位符 (Placeholders)
  • 建構圖結構 (Graphs)
    • 推論 (Inference)
    • 損失 (Loss)
    • 訓練 (Training)
  • 訓練模型
    • 圖結構 (The Graph)
    • 會話 (The Session)
    • 訓練迴圈 (Train Loop)
  • 評估模型
    • 建構評估圖結構
    • 評估輸出

感知機 (Perceptron)

  • 激活函數
  • 感知機學習演算法
  • 使用感知機進行二元分類
  • 使用感知機進行文件分類
  • 感知機的限制

從感知機到支援向量機 (SVM)

  • 核函數 (Kernels) 與核技巧 (kernel trick)
  • 最大邊界分類與支援向量

人工神經網路

  • 非線性決策邊界
  • 前饋與反饋式人工神經網路
  • 多層感知機
  • 最小化成本函數
  • 正向傳播
  • 反向傳播
  • 改善神經網路學習方式

卷積神經網路

  • 目標
  • 模型架構
  • 基本原則
  • 程式碼組織
  • 啟動與訓練模型
  • 評估模型

以下模組將給予基礎介紹(視時間餘裕提供簡短介紹):

Tensorflow - 進階用法

  • 執行緒與佇列
  • 分散式 TensorFlow
  • 撰寫文件與分享模型
  • 自訂數據讀取器
  • 操作 TensorFlow 模型檔案

TensorFlow Serving

  • 介紹
  • 基本服務教程
  • 進階服務教程
  • Inception 模型服務教程

最低要求

需具備物理、數學與程式設計背景。有參與影像處理相關活動的經驗者更為適合。

學員應已具備機器學習概念的先導知識,並擁有 Python 程式設計及其相關函式庫的使用經驗。

人數


每位參與者的報價

客戶評論 (2)

即將到來的課程

課程分類