1 卷积神经网络Convolutional Neural Network (CNN)卷积神经网络由三个主要部分组成:卷积层 (convolutional layers)池化层 (pooling layers)全连接层 (fully connected layers)应用于数字识别的CNN架构[source]1.1 卷积层输入:大小 $W\times H\times C$(W 宽,H 高,C 通道数对于初始的图像,通道数为颜色维度,RGB的 channel size = 3)主要的数学运算:卷积(对图像的像素矩阵应用的滑动窗口函数)卷积操作的目的:从输入图像中提取高级特征。通过应用多个不同的 filter (大小相同) 来提取不同的图像特征。每个 filter 以 一定步长stride 遍历整张图片。以手写数字识别为例,filter 可以用于识别数字的曲线,边缘,数字的整体形状等对输入预处理:padding 填充Valid padding: 不进行任何填充,卷积操作后特征图的尺寸会减小。Same padding: 进行填充,使得卷积操作后特征图的尺寸与输入图像的尺寸相同。使用 $3\ti
video:https://www.youtube.com/watch?v=lAq96T8FkTwhttps://www.youtube.com/watch?v=NxTFlzBjS-4https://www.youtube.com/watch?v=lWzo8CajF5shttps://zhuanlan.zhihu.com/p/68748778EMA:Exponential Moving Average,指数移动平均,也称权重移动平均(Weighted Moving Average)。假设有 n 个数据:$[\theta_1, \theta_2, ..., \theta_n]$ 计算平均值:$v_t = \beta \cdot v_{t-1} + (1-\beta) \cdot \theta_t$ ,其中 $v_t$ 表示前 $t$ 个数据的平均值,$\beta$ 是加权权重值(一般设为 0.9~0.999),不同的 $\beta$ 值会影响平均值的平滑程度。普通求平均值的方法:$v_t = \cfrac{(n-1)\cdot v_{t-1} + \theta_t}{n}$ ,当 $\b
学习:李宏毅:自注意力机制和Transformer1 EncoderEncoder 的主要作用是接收一系列输入向量,并输出对应的向量序列。可以使用 RNN 或 CNN 实现编码器,但在 Transformer 中,采用了自注意力机制(Self-Attention)来实现: Encoder 由多个相同的块(block)组成,每个块内部包含多个层(layer),其结构如下:每个块:input vector seq → self-attention → fully connected network → output。每个块的输出作为下一个块的输入,最终生成的输出为一个向量序列。 Transformer 的设计:在上面的结构基础上加入了 residual 和 normalization: 最终的 encoder 架构:2 Decoder2.1 自回归解码 Autoregressive(AT)Decoder 首先接收一个特殊符号,表示开始(start token),然后根据这个符号输出与词汇表大小相同的向量。选择概率最大的词作为最终输出,同时将其作为 Decoder 的新输入。 encode
1 输入Self-Attention 的输入一个向量序列,可以是原始输入或者某个隐藏层的输出。2 输出向量的产生对于输入向量(例如 $a^1$),需要计算其他向量与 $a^1$ 的关联度。关联度的计算通常通过 点乘 实现:对于给定的输入向量 $a^1$ ,需要先计算 $q^1$ 值:$a^1 = W^qa^1$,其他向量 $a^i$ 计算 $k^i$ 值:$k^i = W^ka^i$,之后和 $q^1$ 点乘,得到 $\alpha_{1,i}$,再进行 soft-max:$\alpha_{1,i}' = \exp(\alpha_{1,i})/\sum_j \exp(\alpha_{1,j})$,作为最终的 attention score: 根据 attention score,和每个输入的 value 值相乘(加权求和)得到最终的输出向量:$b^1 = \sum_i \alpha_{1,i}'v^i$ 这个输出包含了输入序列中各个元素的信息,经过加权后反映了与查询相关的重要性。计算 $b^2$,同上:3 矩阵乘法角度理解从矩阵乘法的角度来看: $W^q$,$W^k$,$W^v$ 是需
标题:Object Detection in 20 Years: A Survey发表时间:2019年pdf 链接:https://arxiv.org/pdf/1905.05055v2这篇文章回顾了400多篇关于目标检测的论文(从上个世纪九十年代到2019年),涵盖了许多话题。关键词:目标检测(Object detection)、计算机视(Computer vision)、深度学习(Deep learning)、卷积神经网络(Convolutional neural networks)、技术进步。1 介绍应用的角度:object detection 可以分为 "general object detection" 和 "detection application"。general object detection:探索不同的方法检测不同的物体以模拟人类的视觉和认知。detection appliction:探索特定应用场景,如:行人检测、人脸检测、文本检测 等。第二个部介绍目标检测20年的进化历史。第三部分介绍目标检测的一些加速技术。第四部分介绍近三年来一些最先进的检测方法(2019)。
HCP Diffusion 官方文档1.01 loRA讲解视频:LoRA explained (and a bit about precision and quantization)关键:秩分解 + 对低秩矩阵进行微调训练$$ W_0 + \Delta W = W_0 + BAW_0 + \Delta W = W_0 + BA $$$W_0$ 是保持不变的原始模型权重A 和 B 是低秩矩阵:$B\in \mathbb{R}^{d\times r},A\in \mathbb{R}^{r\times k},rank\ r\ll \min(d,k)$ 有:$BA = \Delta W$初始化:$B$ 初始化为零矩阵,$A$ 的权重从正态分布中采样在 transformer 中,它通常应用于 attention weights前向传播:输入数据同时通过原始模型和低秩矩阵进行计算。结果相加,得到最终输出。$$ h = W_0 x + \Delta Wx = W_0 x + BAx $$def regular_forward_matmul(x, W): h = x @ w return h
Stable Models 阅读摘选稳定扩散的关键要素从大方向来看,稳定扩散可以分解三个重要元素:感知图像压缩:先将图像透过感知图像编码器&解码器(VQ-VAE [12]和VQ-GAN [13]风格)降低解析度后,直接在降解析度的图像上,或者说特征图上,进行 DDPM 的训练。潜在扩散模型:基本上就是 DDPM 的描述方法,不过这个 DM 在潜在空间中运行,因此论文称为潜在扩散模型。调理机制:SD论文内部设计了利用领域特定模型抽取语义信息后,再使用注意力机制[14]与究竟抽取图像的潜在结合。可以达到很泛用又有效的调理。稳定扩散架构与可运行。(资料来源)结合这三者就是构成Stable Diffusion的核心思想,感知图像压缩后的潜在扩散模型让Stable Diffusion可以高效地生成高解析度图像。条件机制则让Stable Diffusion可以具备良好的可控制性,完成各个式各样结合其他描述的生成任务。感知图像压缩一般简单的自动编码器虽然很容易重建,也可以有效地压缩潜在的大小,但是解码器重建的图形实际上经常是有一些模糊的,甚至有一些不真实的工件产生。常见自动编码器的概念。(资料来源)
Diffusion Model 是如何制作的?生成图片的第一步: 生成 一个都是杂讯的图片,生成图片的大小和目标图片大小一致。然后进行 denoise,就是过滤掉先前图片中的部分杂讯不断进行 denoise,最后得到一张清晰的图片每一步 denoise 都有一个编号,越之后的步骤的 denoise 的编号越小从杂讯到图片的过程称为 reverse process。跟雕塑一样denoise 的模型,除了需要输入一张图片之外,还要一个代表当前图片 noise 的程度的输入。Denoise 模组内部实际做的事情denoise 模组内部有一个 noise predicter,预测图片中的杂讯长什么样,需要输入一张图片和图片的 noise 程度,然后输出一张输入图片的杂讯,减去输入图片,达到 denoise 的效果直接产生一张更清晰的图片比产生一种 noise 图片更难,所以现在大部分模型都会选择先产生一张 noise 的图片如何训练 noise predictor?对图片不断加 noise把某次加noise后的图片作为输入,对应的 noise 就是它的输出Text-to-Image训练 文字-
caroline
计算机专业学生