深度学习中,图像和文本的输入区别

图像输入

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)
  • 常见各层的维度变化:
    • 图像处理多涉及空间维度的卷积运算。
    • 文本处理更多依赖序列处理和注意力机制。
posted @ 2024-08-08 22:33  海_纳百川  阅读(63)  评论(0编辑  收藏  举报
本站总访问量