用 TensorFlow 2 快速進入深度學習的世界

4615930de72ec08f99d3227761ace0d8?s=47 yenlung
July 27, 2020

用 TensorFlow 2 快速進入深度學習的世界

這次的分享, 很快為大家介紹深度學習的概念, 並且體會一下用 Python 實現深度學習是多麼容易的事。我們也會討論, 既然都這麼容易了, 一個 AI 的工程師還有什麼價值呢? 最後我們會推薦一些方向, 做為未來更深入學習的參考。

4615930de72ec08f99d3227761ace0d8?s=128

yenlung

July 27, 2020
Tweet

Transcript

  1. 用 TensorFlow 2 快速進入深度學習 的世界 蔡炎龍 政治大學應用數學系 Kaohsiung.py

  2. TensorFlow 2 度學習 2 程式碼 http://bit.ly/yenlung 今天的在 nccu-jupyter-math > 基本神經網路

  3. TensorFlow 2 度學習 3 關於我 美國爾灣加州大學 (UC Irvine) 數學博士 政治大學應用數學系副教授

    代數幾何
  4. TensorFlow 2 度學習 4 高中時代就寫了程式賣錢... 密

  5. TensorFlow 2 度學習 5 尋找一個簡單易學的程式語言 那時電腦打開都有個可愛的程式語言 BASIC

  6. TensorFlow 2 度學習 6 遇見 Python 我想找一個可以取代 BASIC 的程式語言, 最後終於是找到

    Python
  7. TensorFlow 2 度學習 7 今生唯一的一次捐錢給程式語言 交了 50 美 元的年費! 2000

    年時, Python Software Activity 只有 271 人
  8. TensorFlow 2 度學習 8 寫了一本 Python 的書 少年Py的大冒險 成為Python數據分析達人的第一門課 作者:

    蔡炎龍, 季佳琪, 陳先灝 出版: 全華圖書
  9. TensorFlow 2 度學習 9 我和 AI 有什麼關係呢? 碩士班就是研究神經網路的。

  10. TensorFlow 2 度學習 10 近年介紹主題都是神度學習 多次在學界、業界介紹 Python 及人工智慧。

  11. TensorFlow 2 度學習 11 最適切的形容大概是不務正業 【珊蒂微AI】專訪

  12. TensorFlow 2 度學習 12 和多位台灣一流學者專家寫了一本給高中生的 AI 書 鴻海《人工智慧導論》 (給高中生的 AI

    補充教 材) 前兩章主筆。
  13. TensorFlow 2 度學習 13 安裝 Anaconda 冒險01

  14. TensorFlow 2 度學習 14 找到 Anaconda Download 點 https://www.anaconda.com/products/individual 也可以

    Google 搜尋 Anaconda
  15. TensorFlow 2 度學習 15 選擇適合你的 OS

  16. TensorFlow 2 度學習 16 找到你適合的終端機 我們來試試剛開始可能有點可怕的終端機。 > Windows 使用者請用 Anaconda

    Prompt
  17. TensorFlow 2 度學習 17 安裝 TensorFlow > conda install tensorflow

  18. TensorFlow 2 度學習 18 安裝 TensorFlow GPU 版 > conda

    install Tensorflow-gpu 要先更新 NVIDIA GPU 顯卡 Driver
  19. TensorFlow 2 度學習 19 cd 進入你的工作資料夾 > cd <⼯作資料夾路徑>

  20. TensorFlow 2 度學習 20 拖拉神技出現工作資料夾 用拖拉的方式,可以找到完整路徑!

  21. TensorFlow 2 度學習 21 用 Colab 免安裝 冒險02

  22. TensorFlow 2 度學習 22 其實也可以直接用 Colab Colab 不用安裝, 用 Google

    帳號登入, 免費 使用 GPU 或 TPU。
  23. TensorFlow 2 度學習 23 檢查 TensorFlow 版本 檢查 TensorFlow 版本

    (現在應該預設就是 2.x)
  24. TensorFlow 2 度學習 24 打開 GPU 在編輯 > 筆記本設定中, 打開

    GPU 或 TPU。
  25. TensorFlow 2 度學習 25 Mount 你的 Google Drive, 存取資料 要點網址

    copy 金鑰 你會需要點網址, 選擇你的 Google 帳號授 權, 然後 copy 出現的金鑰, 回來貼在這裡。
  26. TensorFlow 2 度學習 26 進入你的資料夾 你可以 cd 進入任何你 Colab 的資料夾。前面的部份我們沒有耍可愛,

    Google 真的把你的 Google Drive 家目錄叫 My Drive。
  27. TensorFlow 2 度學習 27 極速深度學習入門 冒險03

  28. TensorFlow 2 度學習 28 把我們的問題, 化為函數 f 6 把我們的問題, 化為函數。比如說我們想做手寫辨識,

    就是輸入一個掃描 的手寫數字, 輸入電腦, 希望電腦輸出這個數字是什麼。
  29. TensorFlow 2 度學習 29 One-hot encoding f 我們在做分類問題時, 常會用 one-hot

    encoding。 0 0 0 0 0 0 1 0 0 0 6
  30. TensorFlow 2 度學習 30 深度學習考量點 1: 是否有夠多的數據 要注意是否有夠多 (常常是上萬筆) 歷

    史資料。
  31. TensorFlow 2 度學習 31 深度學習考量點 2: 可否在合理努力下取得 還要注意資料是否 在合理的努力下可 取得。

  32. TensorFlow 2 度學習 32 Step 1: 用深度學習的方式打造函數學習機 函數 學習機 不管我們用了什麼阿貓阿狗法,

    打造 一台深度學習函數學習機。 然後有一堆參數要調。 完成! {wi , bj } θ
  33. TensorFlow 2 度學習 33 基本元件是神經元 φ( 3 ∑ i=1 wi

    xi + b) = h
  34. TensorFlow 2 度學習 34 深度學習就是建一層層「隱藏層」 x ̂ y input layer

    hidden layers output layer 想辦法去決定要用幾層, 每一層 用什麼樣的形式。
  35. TensorFlow 2 度學習 35 每層就三種選擇 (基本上) x1 x2 xn h1

    h2 hk x h ℱ1 全連結層 (Dense) 卷積層 (Conv) 遞歸層 (LSTM, GRU) 差不多就是決定 幾個神經元就結 束了。
  36. TensorFlow 2 度學習 36 Step 2: fit 訓練 我們收集真實世界的歷史資料。 {(x1

    , y1 ), (x2 , y2 ), …, (xn , yn )} 也就是說, 真實世界的函數應該是⻑這個樣子。 f yi xi
  37. TensorFlow 2 度學習 37 事實上我們的神經網路 (在初始化之後) 也會... fθ Ë台灣藍鵲Î 只是開始時都在唬爛...

  38. TensorFlow 2 度學習 38 我們當然希望越接近真實答案越好 xi ̂ yi yi 正確答案

    看差多遠 fθ 於是我們會做一個計算誤差的函數, 叫 loss function 。 L(θ)
  39. TensorFlow 2 度學習 39 然後用「萬用」學習法 Gradient Descent 事實上我們是用: Stochastic Gradient

    Descent
  40. TensorFlow 2 度學習 40 Coding 時間 冒險05-07

  41. TensorFlow 2 度學習 41 討論、Q&A 冒險08

  42. TensorFlow 2 度學習 42 深度學習看來很簡單,那... 比起上個世紀, 要寫個 強強的深度學習程式, 真的太容易了!

  43. TensorFlow 2 度學習 43 深度學習其實人人可以做, 也該人人都來做! 吳恩達 (Andrew Ng) AI

    for Everyone Coursera 課程
  44. TensorFlow 2 度學習 44 關鍵在「問一個好問題」 專業上、技術上都要!

  45. TensorFlow 2 度學習 45 綠島海洋生物辨識 Photo by Juuyoh TANAKA, from

    Wikipedia. * * Tambja morosa (藍紋鏽邊海蛞蝓) CNN 本來想這麼容易的問題, 當然是這樣做就好了啊。
  46. TensorFlow 2 度學習 46 綠島海洋生物辨識 Photo by Juuyoh TANAKA, from

    Wikipedia. * * Embedding vector 結果, 我們其實要的是一個好的 embedding, 也就是一個海洋生物, 我們需要一個「好的」 向量代表牠。
  47. TensorFlow 2 度學習 47 綠島海洋生物辨識 Photo by Steve Childs, from

    Flickr. * Photo by zsispeo, from Flickr. ** * ** Amphiprion ocellaris 眼斑雙鉅海葵魚 Tambja morosa 藍紋鏽邊海蛞蝓 Tambja morosa 藍紋鏽邊海蛞蝓 Anchor Positive Negative Max Min 一個方式是用所謂的 triplet loss。
  48. TensorFlow 2 度學習 48 深度學習推薦學習內容 NN CNN RNN Transformer Auto

    Encoder Reinforcement Learning GAN
  49. TensorFlow 2 度學習 49 程式技巧上, 我們要學會 Functional API 的做法 會了

    Functional API, 真的什麼特別的神經網 路都做得出來!
  50. TensorFlow 2 度學習 50 這本書介紹了所有程式寫法 精通機器學習:使用Scikit-Learn, Keras與TensorFlow 第二版 Aurélien Géron

  51. TensorFlow 2 度學習 51 Trasnformer 很值得深入瞭解 當紅的 model, 原理包括 attention,

    本身就有很多啟發。 transformer
  52. TensorFlow 2 度學習 52 尤其是「芝麻街」系列是怎麼問問題的 瞭解新近的 NLP models, 如 BERT,

    GPT-3 等等。
  53. TensorFlow 2 度學習 53 SimpleTransformer https://simpletransformers.ai/ 輕鬆享用 Transformer 的樂趣!

  54. TensorFlow 2 度學習 54 Q & A 有問題嗎?