图像输入
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)
- 常见各层的维度变化:
- 图像处理多涉及空间维度的卷积运算。
- 文本处理更多依赖序列处理和注意力机制。