使用 PyTorch 的深度學習入門

使用 PyTorch 的深度學習入門

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

深度學習無所不在!

示意圖:地球周圍的多種語言

使用 PyTorch 的深度學習入門

深度學習無所不在!

示意圖:地球周圍多語言與自駕車

使用 PyTorch 的深度學習入門

深度學習無所不在!

示意圖:地球多語言、自駕車與醫療診斷

使用 PyTorch 的深度學習入門

深度學習無所不在!

示意圖:地球多語言、自駕車與醫療診斷、聊天機器人

使用 PyTorch 的深度學習入門

什麼是深度學習?

同心圓圖:深度學習是機器學習的子集

小型神經網路示意圖

使用 PyTorch 的深度學習入門

什麼是深度學習?

同心圓圖:深度學習是機器學習的子集

多層神經網路示意圖

使用 PyTorch 的深度學習入門

深度學習網路

$$

  • 源自人腦學習的啟發

研究大腦的插畫

使用 PyTorch 的深度學習入門

深度學習網路

$$

  • 源自人腦學習的啟發
  • 神經元 ➜ 神經網路
  • 需要大量資料來訓練模型
  • 至少 100,000 筆以上資料點

聚焦神經元的大腦研究插畫

使用 PyTorch 的深度學習入門

PyTorch:深度學習框架

$$

$$

  • 最熱門的框架之一
  • 原由 Meta AI 開發,現屬 Linux Foundation
  • 直覺、好上手
  • 與 NumPy 類似

 

PyTorch 標誌

使用 PyTorch 的深度學習入門

PyTorch 的張量(tensor)

$$

  • Tensor:
    • 類似陣列或矩陣
    • 神經網路的基礎單元

$$

import torch

my_list = [[1, 2, 3], [4, 5, 6]] tensor = torch.tensor(my_list) print(tensor)
tensor([[1, 2, 3],
        [4, 5, 6]])
使用 PyTorch 的深度學習入門

Tensor 屬性

  • Tensor 的形狀(shape)
my_list = [[1, 2, 3], [4, 5, 6]]
tensor = torch.tensor(my_list)
print(tensor.shape)
torch.Size([2, 3])
  • Tensor 的資料型別(dtype)
print(tensor.dtype)
torch.int64
使用 PyTorch 的深度學習入門

開始進行張量運算

相容的形狀

a = torch.tensor([[1, 1], 
                  [2, 2]])

b = torch.tensor([[2, 2], 
                  [3, 3]])
  • 加法/減法
print(a + b)
tensor([[3, 3],
        [5, 5]])

不相容的形狀

a = torch.tensor([[1, 1], 
                  [2, 2]])

c = torch.tensor([[2, 2, 4], 
                  [3, 3, 5]])
  • 加法/減法
print(a + c)
RuntimeError: The size of tensor a
(2) must match the size of tensor b (3) 
at non-singleton dimension 1
使用 PyTorch 的深度學習入門

逐元素相乘(element-wise)

a = torch.tensor([[1, 1], 
                  [2, 2]])
b = torch.tensor([[2, 2], 
                  [3, 3]])
print(a * b)
tensor([[2,  2],
        [6,  6]])
使用 PyTorch 的深度學習入門

矩陣乘法

矩陣乘法

使用 PyTorch 的深度學習入門

矩陣乘法

突顯重點的矩陣乘法

$$

  • $1 \cdot 2 + 1 \cdot 3 = 5$

$$

  • 透過加總與相乘來處理資料並學習模式
使用 PyTorch 的深度學習入門

一起來練習吧!

使用 PyTorch 的深度學習入門

Preparing Video For Download...