第二部:《深度學習》100/100 📌總結與測驗:打造你的 AI 應用雛型 🚀 將學到的模型部署上線!

更新 發佈閱讀 23 分鐘

AI時代系列(2) 機器學習三部曲: 🔹 第二部:《深度學習 —— 神經網路的革命》

100/100 第十週:📌 部署、壓縮與邊緣 AI 應用(Edge AI & Deployment)📦

100.總結與測驗:打造你的 AI 應用雛型 🚀 將學到的模型部署上線!

📚 第一至第十章小結

第1章:深度學習基礎入門

理解神經網路模擬大腦原理,從感知機、前向傳播到反向傳播學習流程。

掌握激活函數、損失函數與優化器在學習中的角色。

知道如何切分訓練/驗證/測試資料並避免過擬合。

第2章:多層感知器 MLP

多層架構是深度學習的核心,隱藏層學習抽象特徵。

Dropout 與 Early Stopping 增加模型泛化能力。

第3章:卷積神經網路 CNN

CNN 能抓取局部特徵與空間結構,是電腦視覺主力模型。

掌握卷積層、池化層、BatchNorm 與各大 CNN 架構。

第4章:循環神經網路 RNN

RNN 記憶時間序列資訊,LSTM 與 GRU 解決長期依賴問題。

Seq2Seq 與 Attention 是 NLP 任務基礎。

第5章:生成對抗網路 GAN

透過生成器與判別器對抗學習,創造高品質圖像。

應用如 DCGAN、StyleGAN、CycleGAN 各具特色。

第6章:Transformer 與注意力

Transformer 改寫序列處理,Self-Attention 是其核心。

應用於翻譯、摘要、聊天機器人等 NLP 任務。

第7章:語言模型與生成式 AI

BERT 強於理解,GPT 擅長生成,Prompt 可引導結果。

應用多元:摘要、客服、情緒分析、創作等。

第8章:自監督學習

不用人工標記也能學!SimCLR、MoCo 是代表架構。

適合資料少的場景,可與少樣本學習結合。

第9章:深度強化學習

透過獎勵學習最佳策略,DQN 是強化學習代表性方法。

可實作遊戲、自駕車、機器控制等。

第10章:部署、壓縮與 Edge AI

學會將模型壓縮、部署到網頁、手機與 IoT 裝置。

工具包含 Flask、Gradio、TFLite、ONNX、TensorRT。

________________________________________

✅ 測驗題(選擇題 10 題 + 問答題 5 題)

🎯 單選題

1. 下列哪一項是深度學習中的「激活函數」?

A. Softmax B. Adam C. ✅ReLU D. MSE

👉 解析: ReLU 是一種常見激活函數,用來增加非線性表達能力;Softmax 是輸出層函數,Adam 是優化器,MSE 是損失函數。

________________________________________

2. CNN 中的池化層作用是?

A. 提高模型容量 B. 訓練更多參數 C. 提取時間資訊 D. ✅降維保特徵

👉 解析: 池化層用於降低特徵圖維度,同時保留重要資訊,有助於降低運算量並防止過擬合。

________________________________________

3. 哪一項最適合處理時間序列資料?

A. MLP B. CNN C. ✅RNN D. GAN

👉 解析: RNN 能記住前一步的狀態,專門處理序列資料,如語音、股票等。

________________________________________

4. Dropout 的主要目的是?

A. 增加參數數量 B. 模型可解釋性 C. 模擬缺失值 D. ✅防止過擬合

👉 解析: Dropout 透過隨機遮蔽神經元,避免模型過度依賴特定特徵,提高泛化能力。

________________________________________

5. GPT 是什麼類型的模型?

A. 自監督學習 B. 編碼器架構 C. ✅自回歸生成模型 D. 卷積網路

👉 解析: GPT 是基於 Transformer 的生成式語言模型,使用自回歸方式逐字生成文本。

________________________________________

6. 生成器與判別器出現於哪種模型?

A. RNN B. CNN C. ✅GAN D. Transformer

👉 解析: GAN(生成對抗網路)由生成器和判別器組成,透過對抗學習提升生成品質。

________________________________________

7. 在 Transformer 中解決位置順序的方式是?

A. Dropout B. LSTM C. ✅Position Encoding D. Pooling

👉 解析: Transformer 本身無循序結構,需加上位置編碼讓模型知道 token 順序。

________________________________________

8. 哪一項最適合實現 Edge AI 應用?

A. GPT-4 B. HuggingFace C. ✅TensorFlow Lite D. BERT-large

👉 解析: TensorFlow Lite 是專為手機與嵌入式裝置設計的輕量推論框架,適合邊緣設備部署。

________________________________________

9. Deep Q-Network 屬於哪一類型方法?

A. 無監督學習 B. ✅增強學習 C. 預訓練模型 D. 卷積模型

👉 解析: DQN 結合深度學習與強化學習,用於從環境中獲得回饋並學習策略。

________________________________________

10. 用於檢測模型是否被對抗樣本攻擊的是?

A. Attention B. Embedding C. ✅異常檢測系統 D. Batch Normalization

👉 解析: 對抗樣本可能引導模型錯誤分類,異常檢測系統可識別非正常輸入,提升模型安全性

✍ 問答題

1. 解釋前向傳播與反向傳播在神經網路中的角色。

👉 前向傳播是資料從輸入到輸出流動的過程,反向傳播則根據誤差反推各層參數的梯度,並用以更新權重。

2. 說明為什麼深度學習模型需要正則化技術(如 L2、Dropout)。

👉 防止模型過度擬合訓練資料,提升泛化能力。

3. Transformer 為何能取代 RNN?

👉 Transformer 可以並行處理資料,克服長距依賴問題,訓練效率更高,效果也更好。

4. 對比 BERT 與 GPT 的差異。

👉 BERT 是雙向編碼器模型,善於理解語意;GPT 是單向解碼器模型,擅長文字生成。

5. 說明量化(Quantization)與剪枝(Pruning)的主要目的。

👉 減少模型大小與運算量,加快推論速度,適合部署到資源有限的設備。

🚀 檢驗的示範:打造你的 AI 應用雛型

以下示範把「模型開發 → 驗證 → API 雛型」串成一條龍流程;你只要改動資料與商業邏輯,就能快速複製成自己的 MVP。

________________________________________

1️⃣ 需求定義與驗證腳本

在 AI 專案中採用 TDD(Test-Driven Development)思維,有助於明確定義需求並確保開發過程穩健。透過撰寫測試腳本對三個關鍵里程碑進行驗證:一是用 test_metrics.py 檢查模型是否達到預期指標(如 F1 分數 ≥ 0.85),二是用 test_io.py 驗證輸入輸出的正確性(例如文字輸入應對應正確情緒標籤),三是以 test_speed.py 確認推論速度在 200 毫秒內,確保效能符合要求。這種「先寫測試、再寫程式」的開發方式,能讓每個功能模組開發後即時透過 pytest 驗證,大幅降低錯誤堆疊風險,讓 AI 模型更穩定、安全地邁向產品化。

________________________________________

2️⃣ 收集 & 前處理資料

import pandas as pd, re, emoji

df = pd.read_csv("raw_reviews.csv")

# 🔹 基礎清理

df["clean"] = (df["text"]

.str.lower()

.str.replace(r"http\S+", "", regex=True) # 去連結

.apply(emoji.demojize)) # emoji→文字

# 🔹 標籤平衡

pos = df[df.label==1].sample(5_000, replace=True)

neg = df[df.label==0].sample(5_000, replace=True)

balanced = pd.concat([pos, neg]).sample(frac=1)

balanced.to_csv("train.csv", index=False)

這段程式碼主要完成情緒分類資料的前處理工作,先將原始評論文字轉為小寫、移除網址,並將 emoji 轉為文字描述,提升模型理解能力;接著為了避免資料偏斜,從正評與負評中各抽 5,000 筆樣本進行平衡,最後將處理後的資料打亂並儲存為 train.csv,作為後續模型訓練的乾淨輸入。整體流程簡潔實用,有效提升資料品質與訓練穩定性。

________________________________________

3️⃣ 模型訓練(Notebook / Script)

from sklearn.model_selection import train_test_split

from sklearn.feature_extraction.text import TfidfVectorizer

from sklearn.linear_model import LogisticRegression

from sklearn.metrics import f1_score

X_train, X_val, y_train, y_val = train_test_split(

balanced.clean, balanced.label, test_size=0.2, stratify=balanced.label)

tfidf = TfidfVectorizer(max_features=20_000, ngram_range=(1,2))

X_tr = tfidf.fit_transform(X_train)

X_va = tfidf.transform(X_val)

clf = LogisticRegression(max_iter=1000, n_jobs=-1)

clf.fit(X_tr, y_train)

f1 = f1_score(y_val, clf.predict(X_va))

print(f"F1 = {f1:.3f}") # ← 通過 0.85 再往下走

這段程式碼使用 TF-IDF 特徵與邏輯斯迴歸(Logistic Regression)進行情緒分類模型的訓練與驗證。流程包括:將經過前處理與平衡的資料集劃分為訓練集與驗證集(維持標籤比例),再透過 TfidfVectorizer 提取 unigram 與 bigram 的詞語特徵,限制最多 20,000 個,轉換為稀疏矩陣後,交由邏輯斯迴歸模型進行訓練。最後計算驗證集上的 F1 分數,若達到門檻(如 ≥ 0.85),即可進行下一階段,如模型調整或部署。這是一個結合資料前處理、特徵工程與模型評估的完整基礎流程。

________________________________________

4️⃣ 打包推論核心

# src/inference.py

import pickle, pathlib

MODEL_DIR = pathlib.Path(__file__).resolve().parent / "artifacts"

tfidf = pickle.load(open(MODEL_DIR/"tfidf.pkl", "rb"))

model = pickle.load(open(MODEL_DIR/"model.pkl", "rb"))

def predict(text:str) -> str:

vec = tfidf.transform([text])

y = model.predict(vec)[0]

return "positive" if y==1 else "negative"

這段 inference.py 程式碼是模型推論模組,負責將訓練完成的情緒分類模型應用於實際輸入。它從指定的 artifacts 資料夾中載入事先儲存的 TF-IDF 向量器與模型檔(使用 pickle),並定義 predict() 函式:接收一段文字輸入,先轉換為向量,再送入模型預測其情緒標籤,最後回傳結果為 "positive" 或 "negative"。這樣的設計讓模型可被輕易整合至前端、API 或服務中進行即時預測,實現完整的離線訓練、線上推論流程。

________________________________________

5️⃣ 雛型 API 🚦(Flask + Gradio)

Flask(機器對機器)

# app.py

from flask import Flask, request, jsonify

from src.inference import predict

app = Flask(__name__)

@app.post("/predict")

def _predict():

data = request.get_json(force=True)

return jsonify({"label": predict(data["text"])})

if __name__ == "__main__":

app.run(host="0.0.0.0", port=8000)

Gradio(快速人機 Demo)

import gradio as gr

from src.inference import predict

demo = gr.Interface(fn=predict,

inputs=gr.Textbox(label="輸入評論"),

outputs=gr.Label(num_top_classes=2),

title="🚀 情緒分析 Demo",

description="輸入一句話測試看看!")

demo.launch(server_port=7860)

這段程式碼展示了兩種常見的模型部署方式:Flask API 與 Gradio 互動介面。首先,app.py 使用 Flask 建立 /predict 路由,透過 POST 請求接收 JSON 格式的評論文字,呼叫 predict() 函式進行情緒預測,回傳結果為 "positive" 或 "negative",適合用於系統整合或後端部署。而第二段則透過 Gradio 建立一個簡易友善的 Web Demo,使用者可直接輸入一句評論文字,立即看到預測結果,方便展示與測試模型效果。兩種方式互補,分別對應正式服務與快速展示需求。

________________________________________

6️⃣ 自動化測試與 CI/CD

1. 單元測試:pytest

2. 型態檢查:mypy --strict src/

3. CI:GitHub Actions

jobs:

test:

runs-on: ubuntu-latest

steps:

- uses: actions/checkout@v4

- uses: actions/setup-python@v5

with: {python-version: "3.11"}

- run: pip install -r requirements.txt

- run: pytest -q

4. CD:Docker + Fly.io/Railway 一鍵部署。

這段流程展示了一套簡潔實用的 AI 專案開發與部署自動化流程。開發階段使用 pytest 進行單元測試,搭配 mypy --strict 執行嚴格的型別檢查,確保程式正確性與可維護性;在持續整合(CI)方面,透過 GitHub Actions 建立自動測試工作流程:當有新提交時,自動在 Ubuntu 環境下安裝依賴並執行測試;而持續部署(CD)則結合 Docker 封裝應用,並透過 Fly.io 或 Railway 平台實現一鍵部署上線。整體流程可實現從程式撰寫、測試、驗證到雲端部署的全自動化,有助於快速迭代並穩定交付。

________________________________________

7️⃣ 監控 & 快速迭代

這段說明整理了三套常用的 AI 系統監控與管理工具,分別對應不同面向的實務需求:Prometheus + Grafana 適合用來監控 CPU 使用率、記憶體與推論延遲等系統效能指標,建議透過 Docker Compose 快速部署;

Sentry 則聚焦在例外追蹤與錯誤記錄,只需透過 sentry_sdk.init() 接入即可即時監控應用程式錯誤與堆疊資訊;MLflow 則提供模型訓練版本管理與 A/B 測試支援,推薦使用 mlflow.sklearn.log_model() 等 API 將模型與其指標記錄下來,方便日後比對與回溯。這三者組合起來,構成一套完整的 AI 系統可觀測性與可維運性方案。

________________________________________

🎁 小結 Check-list

✅ 測試先行:需求 → 測試腳本 → 程式

✅ 資料平衡:確保模型不偏頗

✅ API 雛型:Flask for backend,Gradio for demo

✅ CI/CD:自動跑測試、建映像、熱部署

✅ 監控迴圈:線上指標 + 回饋資料,持續優化

按照這套流程,你就擁有一個 可驗證、可示範、可迭代 的 AI 應用雛型。改變任務或模型時,只需替換資料與推論函式,其餘基礎設施可直接沿用,快速上線不踩坑!祝開發順利 🚀

________________________________________

🎓 AI時代系列(3) 機器學習三部曲:第二部《深度學習 —— 神經網路的革命》 在這裡畫下精彩句點。我們從感知機到 Transformer,從圖像分類到生成對抗,再到實際部署與監控,完整體驗了深度學習如何重塑資料理解與模型建構,並將理論真正落地為可操作的 AI 應用。

________________________________________

🚀 下一站,我們即將邁入 AI時代系列(5):第三部《強化學習 —— AI 的決策與進化》。

這一部將聚焦在 決策智能 上,也就是讓 AI 不只是「辨識」與「生成」,而是能夠在環境中學習「如何行動」、「如何最大化獎勵」、「如何面對不確定性」。

________________________________________

🔍 導讀搶先看:

📌 你將學到:

強化學習的核心概念(Agent、State、Action、Reward)

值函數、策略函數、Q-learning 與 Policy Gradient 差異

DQN 如何讓 AI 玩會電動

Actor-Critic、PPO 等進階演算法

模擬環境中的學習(OpenAI Gym、Gymnasium)

強化學習在遊戲、推薦系統、自駕車等真實應用

________________________________________

✨ 特別亮點:

🤖 將理論轉化為互動實作:教你用程式讓 AI 玩平衡桿、走迷宮、做交易

🧠 探索 AI 如人類般「試錯學習」的過程

📈 結合策略演進與深度網路,進入 深度強化學習 的黃金路線

________________________________________

📚 AI 不只是理解世界,也要與世界互動。

第三部《強化學習 —— AI 的決策與進化》,將帶你進入 AI 最接近智慧本質的領域。敬請期待!🔥





留言
avatar-img
留言分享你的想法!
avatar-img
Hansen W的沙龍
14會員
344內容數
AIHANS沙龍是一個結合AI技術實戰、產業策略與自我成長的知識平台,主題涵蓋機器學習、生成式AI、創業經驗、財務規劃及哲學思辨。這裡不只提供系統化學習資源與實作案例,更強調理性思維與行動力的結合。無論你是AI初學者、創業者,還是追求人生升維的行者,都能在這裡找到前進的方向與志同道合的夥伴。
Hansen W的沙龍的其他內容
2025/09/22
對抗樣本能以微小擾動欺騙模型,造成嚴重誤判。常見攻擊如 FGSM、PGD,防禦方法包括對抗訓練、輸入正則化、異常檢測與 API 控管。AI 安全性關乎醫療、自駕等關鍵應用,需多層次防護。
2025/09/22
對抗樣本能以微小擾動欺騙模型,造成嚴重誤判。常見攻擊如 FGSM、PGD,防禦方法包括對抗訓練、輸入正則化、異常檢測與 API 控管。AI 安全性關乎醫療、自駕等關鍵應用,需多層次防護。
2025/09/22
模型部署後需持續更新,以應對資料漂移與效能下降。A/B 測試能比較新舊版本,透過滾動更新、藍綠部署等策略控管風險。結合 MLOps 自動化與版本控管,確保 AI 系統長期穩定運行。
2025/09/22
模型部署後需持續更新,以應對資料漂移與效能下降。A/B 測試能比較新舊版本,透過滾動更新、藍綠部署等策略控管風險。結合 MLOps 自動化與版本控管,確保 AI 系統長期穩定運行。
2025/09/22
TensorFlow Lite 將訓練模型轉為 .tflite 格式,適用於 Android/iOS 與 IoT 裝置,具備小巧、快速、省電特性。搭配量化、Delegate 與 Edge TPU,可實現高效即時推論,推動 AI 普及至行動與邊緣端。
2025/09/22
TensorFlow Lite 將訓練模型轉為 .tflite 格式,適用於 Android/iOS 與 IoT 裝置,具備小巧、快速、省電特性。搭配量化、Delegate 與 Edge TPU,可實現高效即時推論,推動 AI 普及至行動與邊緣端。
看更多
你可能也想看
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
本文介紹了人工智慧(AI)及機器學習(ML)的基本概念和關係,探討了數據在機器學習中的重要性,以及深度學習和生成式人工智慧的應用。
Thumbnail
本文要探討AI的任務與實戰場景。AI技術已深入生活各層面,從違約預測到都市交通管理。AI任務主要有三類:數值型資料處理、自然語言處理(NLP)和電腦影像辨識。時間序列資料和強化學習方法(如AlphaGo)也引起廣泛關注。AI演算法和方法因應不同學派和技術發展而多樣化,了解這些基礎有助選擇適合研究方向
Thumbnail
本文要探討AI的任務與實戰場景。AI技術已深入生活各層面,從違約預測到都市交通管理。AI任務主要有三類:數值型資料處理、自然語言處理(NLP)和電腦影像辨識。時間序列資料和強化學習方法(如AlphaGo)也引起廣泛關注。AI演算法和方法因應不同學派和技術發展而多樣化,了解這些基礎有助選擇適合研究方向
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 77 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 77 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 76 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 76 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 75 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 回顧 AI說書 - 從0開始 - 75 ,我們在給定句子 「 Transformers possess surprising emerging features 」的情
Thumbnail
預計量子AI計算會在2032年左右來到,在這之前,我們還有充足的時間可以逐步去學習量子計算與演算法,讓我們按部就班,持續前進,做輕鬆無負擔的超前學習 !
Thumbnail
預計量子AI計算會在2032年左右來到,在這之前,我們還有充足的時間可以逐步去學習量子計算與演算法,讓我們按部就班,持續前進,做輕鬆無負擔的超前學習 !
Thumbnail
在科技發展的浪潮中,生成式AI無疑是引領未來的關鍵力量。透過深度學習技術,AI系統能夠從大量資料中發掘規律,並創造出全新的內容,無論是文字、圖像、音頻還是視頻,都可以在AI的加持下重新定義。
Thumbnail
在科技發展的浪潮中,生成式AI無疑是引領未來的關鍵力量。透過深度學習技術,AI系統能夠從大量資料中發掘規律,並創造出全新的內容,無論是文字、圖像、音頻還是視頻,都可以在AI的加持下重新定義。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News