Keras+Google Colab雲端服務「深度學習與人工智慧」實務入門

 

課程名稱

 

Keras+Google Colab雲端服務「深度學習與人工智慧」實務入門

為何要學習「深度學習人工智慧」?

國際研究顧問機構Gartner調查,2020年將有180萬個職位被人工智慧取代,然而人工智慧也將創造230萬個工作機會。如果您不想在人工智慧時代工作被取代,學習「深度學習人工智慧」技術,對於您的現有工作,與未來轉職都有很大的幫助。

課程特色

本課程主要是幫助初學者,能輕鬆進入「Keras深度學習人工智慧」領域,解決進入此領域的障礙。

豐富的教學與實務經驗的講師:

本課程講師林大貴。從事IT產業多年,具豐富的實務經驗:於商業智慧、大數據、機器學習、深度學習、人工智慧等領域。具備豐富的教學經驗:擔任公司的企業講師與資策會講師。林大貴是多本暢銷資訊書的作者:

  • TensorFlow+Keras深度學習人工智慧實務應用 (天瓏書店2017年排行榜第3名,2018年度排行榜第7名)
  • Python+Spark 2.0+Hadoop機器學習與大數據分析實戰
  • Hadoop+Spark大數據巨量分析與機器學習

 

專業的「深度學習人工智慧」教材:

本課程以暢銷書「TensorFlow+Keras深度學習人工智慧實務應用」為基礎(此書受到多家大學與企業的肯定,採用作為「深度學習人工智慧」課程教材),本課程中增加了很多書中未提及的進階內容。

 

 

「彩色圖解」與「投影片動畫」幫助您理解「深度學習與人工智慧」:

大家都知道「一張圖勝過千言萬語」,然而一般書本都是平面單色印刷,無法很生動地解說原理與程式架構, 所以本課程製作了很多投影片:包含很多「彩色圖解」,詳細解說深度學習模型的原理與程式運作。 有時圖片還不足以完整表達概念,我們還製作了「投影片動畫」,讓您能更清楚理解。

 

 

學會Google Colab免費雲端服務,加快「深度學習模型」訓練速度10倍以上:

「深度學習」的初學者,常遇到的問題,使用CPU訓練速度非常慢。如果要加快訓練速度,必須使用NVDIA顯示卡上的GPU,但價格昂貴且安裝不易。 為了解決此問題,本課程將Step by Step實機操作介紹Google Colaboratory免費雲端服務。您只需要有Google帳號與瀏覽器,就能夠以GPU訓練「深度學習」模型,加快訓練速度10倍以上。

 

 

增加「深度學習與人工智慧」直覺式的理解:

「深度學習」的初學者,接觸很多書或課程,看了很多數學公式與理論。雖然理論很重要,可是對於初學者而言,可能覺得很抽象。 本課程教您如何透過玩TensorFlow Playground,理解深度學習的概念。並且介紹Embedding Projector互動式視覺化工具,理解詞向量(Word Embedding)原理。

 

 

透過「範例程式」實作「深度學習與人工智慧」功能:

透過「範例程式」實作學習,是最有效率學習方式,本課程準備了很多「範例程式」,配合程式碼的詳細解說。實作各種深度學習模型,您可以透過修改超參數, 實際看到結果的差異,加深對於「深度學習」模型的理解。

 

 

課程介紹

 

第1堂課: 深度學習的原理介紹

透過投影片中豐富的圖解與動畫,解說深度學習的原理。

內容 圖解與動畫 介紹深度學習並詳細說明原理
  • 深度學習、機器學習、人工智慧的關係
  • 深度學習原理介紹
  • 以矩陣運算公式,模擬神經網路

 

第2堂課: 玩TensorFlow Playground理解深度學習的基本概念

本課程教您如何透過玩TensorFlow Playground,理解深度學習的概念。透過實際示範,讓您眼見為憑(有圖有真相),什麼是「神經元」?什麼是「過度擬合(overfitting)」? 什麼是「梯度消失(gradient vanishing)」? 透過實際操作了解如何設定超參數: Learning rate、Activation...? 為何需要隱藏層? 為何越多層隱藏層功能越強? 神經網路訓練後神經元的改變?

 

 

實機操作 透過實際示範,瞭解實際上神經元如何運作
  • 功能介紹
  • 資料設定
  • 超參數設定
  • 神經網路設定
  • 參數Weight與Bias介紹
  • Learning rate設定
  • 梯度消失
  • 過度擬合(overfitting)
  • 加入L2 Regularization

 

 

第3堂課: Google ?Colaboratory免費雲端服務,加快訓練速度10倍以上

本課程將Step by Step實機操作介紹Google Colaboratory,是一個基於 Jupyter Notebook 的免費雲端服務。您只需要有Google帳號與瀏覽器,就能夠立即實作深度學習或機器學習專案,加快訓練速度10倍以上。

 

 

實機操作 透過架構圖解說Google ?Colaboratory免費雲端服務
  • 上傳程式至雲端硬碟
  • 設定使用GPU
  • 上傳資料至雲端硬碟
  • 訓練後的模型儲存至雲端硬碟

 

 

第4堂課: 多元感知器(MLP) 辨識手寫數字

MNIST手寫數字辨識資料集,很適合作為深度學習的初學者,本課程介紹以多元感知器(MLP)建立模型、訓練、預測。

 

 

範例程式 圖解與動畫 介紹多元感知器(MLP)原理
使用多元感知器(MLP)辨識Mnist資料集手寫數字
  • 下載與讀取Mnist 手寫數字資料集
  • 資料預處理
  • 將模型加寬、加深,以提高準確率
  • 訓練後的模型儲存至雲端硬碟

 

 

第5堂課: 卷積神經網路(CNN) 辨識手寫數字

為了進一步提高準確率,本課程介紹卷積神經網路CNN,辨識Mnist資料集中的手寫數字。

 

 

範例程式 圖解與動畫 介紹卷積神經網路(CNN)原理
使用卷積神經網路(CNN),辨識Mnist資料集手寫數字
  • 卷積層原理介紹
  • 池化層原理介紹
  • 卷積神經網路可訓練參數

 

 

第6堂課: 卷積神經網路(CNN)辨識Cifar-10彩色影像

之前介紹的mnist資料集是單色影像,本課程接介紹卷積神經網路CNN,辨識Cifar-10彩色影像。

 

 

範例程式 圖解與動畫 介紹卷積神經網路(CNN)原理
使用卷積神經網路(CNN),辨識CIFAR-10影像,可辨識10個分類:飛機、汽車、鳥、貓、鹿、狗、青蛙、船、卡車。

 

 

第7堂課: 要如何從原始圖檔,訓練深度學習模型?

「深度學習」的初學者常遇到的問題是,如果老闆給你一堆原始圖檔,要如何從原始圖檔,訓練深度學習模型? 後續課程我們將介紹2種方式:

 

 

範例資料集 從原始圖檔,訓練深度學習模型2種方式比較
我們將以Dogs vs. Cats資料集,示範如何從原始圖檔建立深度學習模型

 

 

第8堂課: 當資料量小於記憶體時:如何從原始圖檔,訓練深度學習模型?

當資料量小於記憶體時,我們可以將所有影像圖檔,轉換為numpy array的特徵與標籤,以numpy array做為資料來源進行訓練,這種方式:

 

 

  • 優點: 訓練時速度快(因為全部資料都在記憶體中)
  • 缺點: 資料量有限制(因為資料全部放在記憶體中,如果資料量太大,造成記憶體不足)

 

範例程式 架構圖與詳細解說,讓您快速了解程式的運作
以numpy array做為資料來源,訓練深度學習模型

 

第9堂課: 當資料量大於記憶體時:如何從原始圖檔,訓練深度學習模型?

當資料量很大時,超過記憶體容量,就必須建立generator,並設定讀取的資料夾。以generator 做為資料來源,每批次訓練時,才從硬碟資料夾讀取批次資料,進行預處理,批次訓練深度學習模型。

 

 

  • 優點: 資料量無限制(因為每批次訓練時,只讀取批次資料,所以不會造成記憶體不足)
  • 缺點: 訓練時速度比較慢(因為每批次訓練時,必須從硬碟讀取批次資料,進行預處理,所以速度比較慢)

 

範例程式 架構圖與詳細解說,讓您快速了解程式的運作
以generator做為資料來源,訓練深度學習模型

 

第10堂課: overfitting過度擬合的成因

當我們訓練深度學習模型,實務中常遇到的問題是overfitting過度擬合,雖然訓練準確率很高、但是驗證與測試準確率低,也就是模型泛化(generalization)能力不足。
對抗overfitting最好的方式是提供更多資料,不過在實務上,有時很難取得更多資料。所以接下來的課程我們將介紹,如何在有限資料中,降低overfitting方法。

 

 

範例程式 詳細圖解overfitting過度擬合的成因
  • 什麼是Overfitting
  • Overfitting成因
  • 模型太過複雜
  • 訓練過度
  • 訓練資料不足

 

 

第11堂課: DropOut降低overfitting過度擬合

 

範例程式 詳細圖解Drop Out原理
深度學習模型設計時加入DropOut降低overfitting

 

第12堂課: regularization降低overfitting過度擬合

 

範例程式 詳細圖解regularization原理
深度學習模型設計時加入regularization降低overfitting

 

第13堂課: Early Stopping降低overfitting過度擬合

 

範例程式 詳細圖解Early Stopping原理
深度學習模型訓練時,加入Early Stopping與ModelCheckUp降低overfitting

 

第14堂課: image data augmentation降低overfitting過度擬合

 

範例程式 詳細圖解image data augmentation原理
深度學習模型訓練時,加入image data augmentation降低overfitting

 

第15堂課: 無須辛苦訓練模型,直接使用預訓練深度學習模型,進行預測

如果老闆要求你完成影像辨識功能,可是你沒有大量資料與GPU進行深度學習訓練。該怎麼辦呢? 此時Keras Application模組,就是你的救星。
Keras Application模組包含了很多預訓練深度學習模型,這些模型已經使用了ImageNet大量資料進行預訓練,ImageNet包括100萬張圖片共1000類別,涵蓋了日常事物,例如交通、動物、生活器具...等。你可以直接使用預訓練模型預測,準確率很高。

 

 

範例程式 Keras Application模組中的深度學習模型介紹
使用預訓練模型VGG16、VGG19、 Xception、ResNet50 、 InceptionV3進行預測

後續的課程,我們將使用其中的VGG16模型,提取feature map特徵圖、遷移學習...等功能。

 

 

第16堂課: 如何使用卷積神經網路(CNN)提取影像特徵

之前的課程我們學會使用卷積神經網路CNN 模型進行預測,我們也許會好奇,為何CNN可以達到如此高的準確率? 主要是CNN模型具有自動提取影像特徵功能。 本課程介紹如何使用CNN提取影像特徵。

 

 

範例程式 圖解與動畫 說明如何使用CNN提取影像特徵
使用VGG16模型,提取feature map特徵圖

 

 

第17堂課: AI知識傳遞: Transfer Learning遷移學習

AI大師吳恩達曾?「在監督學習之後,遷移學習(Transfer Learning)將引領下一波機器學習技術商業化浪潮。」,究竟什麼是遷移式學習呢? 為何麼這麼重要?
在深度學習領域,遷移學習一種方法,將來源領域的知識,遷移(轉移)到另一個目標領域,使得目標領域能夠取得更好的學習效果。使用遷移學習的好處是:只需要更少的訓練資料,更少的訓練時間,模型泛化能力更好。遷移學習應用廣泛,包括影像辨識、自然語言處理、語音辨識..等領域。

 

 

範例程式 圖解與動畫 說明Transfer Learning遷移學習原理
本課程將介紹,來源領域:使用VGG16預訓練模型(使用100萬張圖片/1000種類別訓練),就好像一個見多識廣的師父,我們可以將師父的知識,傳輸給徒弟,徒弟可以運用這些知識在目標領域:辨識狗與貓。

 

 

第18堂課: IMDB(網路電影資料)影評文字情感分析

情感分析(sentiment analysis)又稱為意見探勘(opinion mining)。使用自然語言處理、文字分析等方法,找出作者在某些話題上的態度、情感、評價或情緒。情緒分析的商業價值,可提早得知顧客對公司或產品觀感,以調整銷售策略方向。首先,我們介紹如何以自然語言處理的方式,預處理影評文字。

 

 

範例程式 圖解與動畫 說明影評文字情感分析原理
IMDB(網路電影資料)影評文字情感分析:
  • 讀取IMDB資料集
  • 文字預處理
  • 建立詞向量(Word Embedding)層
  • 使用深度學習模型,進行訓練與預測

 

 

第19堂課:詞向量(Word Embedding)自然語言處理介紹

以上課程中我們會建立Embedding層,使用詞向量(Word Embedding)技術,是近年在自然語言處理中,被廣泛使用的一種技術。其原理是將文字映射成多維幾何空間的向量。經過訓練後,類似語意的文字向量,在多維幾何空間比較相近。 因為詞向量觀念比較抽象,所以本課程介紹Embedding Projector互動式視覺化工具,理解詞向量原理。

 

 

實機操作 透過視覺化工具,理解詞向量原理
介紹如何使用Embedding Projector互動式視覺化網頁工具

 

 

第20堂課: Keras MLP模型IMDB 情緒分析

接下來,介紹使用深度學習模型進行IMDB 情緒分析。在模型中我們加入了詞向量(Word Embedding)層,可以讓深度學習模型,理解字與字的關係,然後用多層感知器(MLP) 進行IMDB 情緒分析。

 

 

範例程式 圖解介紹MLP模型進行IMDB 情緒分析
建立多層感知器(MLP)模型進行IMDB 情緒分析

 

 

第21堂課: Keras RNN模型IMDB 情緒分析

由於自然語言是有順序性(因為同一時間只能聽到一個字,之前的語言會影響之後語言的意義)。所以接下來我們介紹,遞歸神經網絡RNN (Recurrent Neural Network),進行IMDB 情緒分析。

 

 

範例程式 圖解與動畫 介紹RNN原理
建立RNN模型進行IMDB 情緒分析

 

 

第22堂課: Keras LSTM模型IMDB 情緒分析

本課程介紹LSTM((Long-Short Term Memory)模型進行IMDB 情緒分析。為何需要LSTM呢?
因為RNN在訓練時會有long-term dependencies的問題,所以只能短期記憶,不能長期記憶。所以深度學習專家提出了長短期記憶LSTM模型,可以記住長期與短期記憶。

 

 

範例程式 圖解與動畫 介紹LSTM原理
建立LSTM模型進行IMDB 情緒分析

 

 

第23堂課: Keras GRU模型IMDB 情緒分析

本課程介紹GRU模型進行IMDB 情緒分析。為何需要GRU呢?
因為GRU 相對於LSTM的優點:效果與LSTM類似,結構比較簡單,能加快執行速度, 減少記憶體的耗用。

 

 

範例程式 圖解與動畫 介紹GRU原理
建立GRU模型進行IMDB 情緒分析

 

先備知識:

本課程您只需要具備Python基礎程式設計概念:依照本課程的步驟Step by Step學習,就可以了解深度學習基本概念,並且實際運用深度學習技術。

講座預先準備事項:

  • 請學員自備筆記型電腦:教室提供電源插座與網路。
  • 學員上課必須有Google Gmail帳號

講座時間:

2019/4/13

早上9:00 - 17:00

2019/4/20

早上9:00 - 17:00

天瓏CodingSpace / 10046台北市中正區重慶南路一段105號

活動票券

票種 販售時間 售價
早鳥票(含書) 2019/02/25 00:00(+0800) ~ 2019/03/31 23:50(+0800)
  • TWD$7,900
一般票 2019/04/01 00:00(+0800) ~ 2019/04/12 00:00(+0800) 尚未開賣
  • TWD$8,500
下一步