10.24-10.28
1、patch embedding:例如输入图片大小为224x224,将图片分为固定大小的patch,patch大小为16x16,则每张图像会生成224x224/16x16=196个patch,即输入序列长度为196,每个patch维度16x16x3=768,线性投射层的维度为768xN (N=768),因此输入通过线性投射层之后的维度依然为196x768,即一共有196个token,每个token的维度是768。这里还需要加上一个特殊字符cls,因此最终的维度是197x768。由此将视觉问题转化为seq2seq问题。
2、positional encoding:ViT同样需要加入位置编码,位置编码可以理解为一张表,表一共有N行,N的大小和输入序列长度相同,每一行代表一个向量,向量的维度和输入序列embedding的维度相同(768)。
3、LN/multi-head attention/LN:LN输出维度依然是197x768。多头自注意力时,先将输入映射到q,k,v,如果只有一个头,qkv的维度都是197x768,如果有12个头(768/12=64),则qkv的维度是197x64,一共有12组qkv,最后再将12组qkv的输出拼接起来,输出维度是197x768,然后再过一层LN,维度依然是197x768。
4、MLP:将维度放大再缩小回去,197x768放大为197x3072,再缩小变为197x768
一个block之后维度依然和输入相同,都是197x768,因此可以堆叠多个block。最后会将特殊字符cls对应的输出 z L 0 作为encoder的最终输出 ,代表最终的image presentation(另一种做法是不加cls字符,对所有的tokens的输出做一个平均)
1、Generator
(1)改进了LN层,将高斯噪声z经MLP得到潜在向量w,然后w经仿射变换得到A,A调制LN的计算得到SLN(自调制层归一化):
(2)隐式神经表示:
使用隐式神经表示学习从Encoder的输出yi∈RD的patch到patch像素值xp i∈ RP2 × C 的连续映射,与傅里叶特征结合时,隐式表示可以将生成的样本空间约束到平滑变化的自然信号空间
2、Discriminator:
(1)修改注意力计算方法:标准点积自注意力层的 Lipschitz 常数可以是无界的,这就会破坏 ViT 中的 Lipschitz 连续性。由点积相似性替换为欧几里得距离
(2)改进谱归一化:如果 MLP 模块的 Lipschitz 常数较小,则可能导致 Transformer 的输出坍缩为秩为 1 的矩阵,因此改进谱归一化。
(3)解决过拟合:将鉴别器中图像的patch大小扩大O个像素,变为P+2O,提供更好的位置感
学习了吴恩达的卷积神经网络,了解了卷积神经网络的具体过程;学习了一些经典的网络,如LeNet-5、AlexNet、残差网络、Inception网络;学习了人脸检测及识别的过程以及YOLO算法的原理。
卷积神经网络:卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一 。卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类,因此也被称为“平移不变人工神经网络 。