深度學習中,影像和文字的輸入區別

海_纳百川發表於2024-08-08

影像輸入

1. 資料預處理

  • 尺寸調整(Resizing): 將影像調整到統一的尺寸,如 224 × 224256 × 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)
  • 常見各層的維度變化:
    • 影像處理多涉及空間維度的卷積運算。
    • 文字處理更多依賴序列處理和注意力機制。

相關文章