iT邦幫忙

2025 iThome 鐵人賽

DAY 3
0
生成式 AI

AI 情感偵測:從聲音到表情的多模態智能應用系列 第 12

【PyTorch 入門指南|從零開始認識深度學習的好夥伴】

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20251001/20178322tZqszI5zAE.png
圖片來源:https://analyticsindiamag.com/deep-tech/a-beginners-guide-pytorch/

為什麼要認識 PyTorch?

在深度學習的世界裡,有兩大主流框架:TensorFlow 和 PyTorch
其中,PyTorch 近幾年已經成為研究與產業界的首選。原因很簡單:它更直覺、更靈活,而且更貼近 Python 的使用習慣。

PyTorch 的特色

  1. 動態計算圖(Dynamic Computation Graph)
    不像 TensorFlow 早期需要「先定義整張計算圖,再執行」,PyTorch 的運算圖是動態生成的。
    這代表你可以像寫一般 Python 程式一樣邊寫邊跑,非常適合需要「邊實驗邊調整」的情境。

  2. Pythonic 風格
    PyTorch 幾乎就是 Python 原生延伸,直覺好懂。寫起來跟 NumPy 很像,只是多了 GPU 加速。

  3. 強大的 GPU 支援
    搭配 NVIDIA CUDA,可以讓訓練速度飛快(但注意要安裝正確的 CUDA 版本,否則會像你剛剛遇到的只能跑 CPU)。

  4. 龐大的社群與資源
    PyTorch 有活躍的開發者社群,GitHub、Kaggle、Colab 都有一堆範例程式碼。遇到問題幾乎都能 Google 到解答。


安裝 PyTorch

最簡單的方式(CPU 版):

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

如果你有 NVIDIA GPU,則需要依照 PyTorch 官網的安裝指令來對應 CUDA 版本。

快速上手:Hello PyTorch

下面是一個最小可跑的範例,示範如何用 PyTorch 建一個簡單的神經網路:

import torch
import torch.nn as nn
import torch.optim as optim

一個簡單的全連接神經網路

class SimpleNN(nn.Module):
    def __init__(self):
        super(SimpleNN, self).__init__()
        self.fc = nn.Linear(10, 1)  # 輸入 10 維,輸出 1 維

    def forward(self, x):
        return self.fc(x)

建立模型、損失函數、優化器

model = SimpleNN()
criterion = nn.MSELoss()
optimizer = optim.SGD(model.parameters(), lr=0.01)

假資料

x = torch.randn(5, 10)  # batch_size=5, 每筆 10 維
y = torch.randn(5, 1)   # 目標輸出

前向傳播 + 損失計算

output = model(x)
loss = criterion(output, y)

反向傳播 + 更新權重

optimizer.zero_grad()
loss.backward()
optimizer.step()

print("Loss:", loss.item())

這個範例展示了 PyTorch 的基本流程:

  1. 定義模型 (nn.Module)
  2. 設定損失函數與優化器
  3. 前向傳播 → 損失計算 → 反向傳播 → 權重更新

PyTorch 的應用領域

PyTorch 不只用在研究,實務上也能應用在各種領域:
電腦視覺 (CV):影像分類、人臉辨識、物件偵測
自然語言處理 (NLP):聊天機器人、翻譯模型、情緒分析
音訊處理:語音辨識、音樂生成
互動設計 / 藝術:情感計算、互動展覽裝置、動態視覺效果生成
強化學習:自駕車、遊戲 AI


初學者建議

如果你是第一次接觸 PyTorch,我建議這樣學習:

  1. 從 Tensor 開始
    先理解 torch.Tensor 的操作,像是加減乘除、維度變化,跟 NumPy 很像。
  2. 動手跑小模型
    從最簡單的線性迴歸或 MLP 開始,體驗「前向傳播 + 反向傳播」。
  3. 嘗試應用專案
    比如:用 CNN 做貓狗分類、用 RNN 處理文字,或是做一個互動裝置的小 demo。
  4. 善用社群資源
    多逛 PyTorch 官網範例、Kaggle Notebook、GitHub 開源專案。

結語

不管你是研究 AI 的學生,還是想把 AI 帶進互動藝術的設計師,PyTorch 都能成為你的工具箱。
從今天開始,打開你的終端機,安裝 PyTorch,試著跑一個小模型吧!
當你第一次看到損失逐漸下降的時候,那種「AI 在學習」的感覺,會讓你上癮 !


上一篇
【用 Librosa 做音訊特徵擷取(MFCCs)】
系列文
AI 情感偵測:從聲音到表情的多模態智能應用12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言