自学内容网 自学内容网

Patch embed 的映射矩阵多大?

假设我们有一个图像,其大小为 (H \times W \times C),其中 (H) 是图像的高度,(W) 是图像的宽度,(C) 是图像的通道数(例如,RGB 图像的通道数为 3)。

  1. 将图像划分成 patches:

    • 假设我们将图像划分成大小为 (P \times P) 的 patches。
    • 这样我们就会得到 (\frac{H}{P} \times \frac{W}{P}) 个 patches。
  2. 将每个 patch 展开成一个向量:

    • 每个 patch 的大小为 (P \times P \times C),展开成一个长度为 (P^2 \cdot C) 的向量。
  3. 应用线性嵌入(Linear Embedding):

    • 使用一个线性变换将每个长度为 (P^2 \cdot C) 的向量映射到一个固定的维度,这个维度通常被称为 embedding dimension,记为 (D)。
    • 这个线性变换通常用一个权重矩阵来表示,形状为 (D \times (P^2 \cdot C))。

所以,总结一下,patch embedding layer 的大小和形状如下:

  • 输入大小:每个 patch 的大小为 (P^2 \cdot C)。
  • 输出大小:embedding dimension (D)。
  • 权重矩阵的形状:(D \times (P^2 \cdot C))。

如果具体举个例子,假设一个图像的大小为 (224 \times 224 \times 3),每个 patch 的大小为 (16 \times 16),embedding dimension (D) 为 768。

  1. 图像被划分成 (\frac{224}{16} \times \frac{224}{16} = 14 \times 14) 个 patches。
  2. 每个 patch 的大小为 (16 \times 16 \times 3 = 768)。
  3. patch embedding layer 的权重矩阵大小为 (768 \times 768)。

原文地址:https://blog.csdn.net/vivi_cin/article/details/140162695

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!