影像輸入
1. 資料預處理
- 尺寸調整(Resizing): 將影像調整到統一的尺寸,如 224 × 224 或 256 × 256。
- 歸一化(Normalization): 對每個畫素值進行歸一化,畫素值通常歸一化到 [0, 1] 或 [-1, 1] 範圍。
- 資料增強(Data Augmentation): 包括隨機裁剪、翻轉、旋轉等操作,以增加模型的泛化能力。
2. 輸入形狀
典型輸入形狀: 影像輸入通常為四維張量,形狀為 (N, C, H, W),其中:
- N: 批次大小(Batch Size)
- C: 通道數(通常是 3,代表 RGB 三個顏色通道)
- H: 影像的高度(Height)
- W: 影像的寬度(Width)
3. 常見各層的維度
- 卷積層(Convolutional Layer):
- 輸入形狀:(N, C, H, W)
- 輸出形狀:(N, C', H', W'),其中 C' 是卷積核的數量(即輸出通道數),H' 和 W' 由卷積核大小、步幅、填充方式等決定。
- 池化層(Pooling Layer):
- 輸入形狀:(N, C', H', W')
- 輸出形狀:(N, C', H'', W''),池化層通常減少空間維度 H'' < H' 且 W'' < W'。
- 全連線層(Fully Connected Layer):
- 展平後形狀:(N, F),其中 F 是展平後的特徵維度。
- 輸出形狀:(N, K),其中 K 是輸出類別數(在分類任務中)。
文字輸入
1. 資料預處理
- 分詞(Tokenization): 將文字拆分為詞或子詞,並將每個詞對映到一個整數索引。
- 序列填充(Padding): 文字長度不一,需要填充或截斷到統一的長度 T。
- 嵌入表示(Embedding): 將整數索引轉換為密集向量(詞向量或嵌入向量),通常透過查詢嵌入矩陣完成。
2. 輸入形狀
典型輸入形狀: 文字輸入通常為二維張量,形狀為 (N, T),其中:
- N: 批次大小(Batch Size)
- T: 序列長度(Token 的數量)
3. 常見各層的維度
- 嵌入層(Embedding Layer):
- 輸入形狀:(N, T)
- 輸出形狀:(N, T, D),其中 D 是嵌入維度(每個詞的向量維度)。
- 迴圈層(RNN/LSTM/GRU Layer):
- 輸入形狀:(N, T, D)
- 輸出形狀:(N, T, H),其中 H 是隱藏層狀態的維度。
- 自注意力層(Self-Attention Layer):
- 輸入形狀:(N, T, D)
- 輸出形狀:(N, T, D)(通常輸入與輸出的形狀保持一致,但可以調整特徵維度)。
- 全連線層(Fully Connected Layer):
- 輸入形狀:(N, T, D) 或展平為 (N, T × D)
- 輸出形狀:(N, K)(在分類任務中,K 是輸出類別數)。
對比總結
- 資料預處理: 影像需要進行尺寸調整和歸一化,而文字需要分詞、填充和嵌入表示。
- 輸入形狀:
- 影像:四維張量 (N, C, H, W)
- 文字:二維張量 (N, T)
- 常見各層的維度變化:
- 影像處理多涉及空間維度的卷積運算。
- 文字處理更多依賴序列處理和注意力機制。