![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
子燕若水
子燕若水
展开
-
文心一言4.0参数配置
检查代码的逻辑错误:# 定义一个后台进程类,继承自subprocess.Popen class BackgroundProcess(subprocess.Popen): def __init__(self, *args, **kwargs): # 调用父类的构造方法,设置shell为True,表示使用系统的shell执行命令 super().__init__(*args, shell=True, **kwargs)原创 2024-01-22 07:37:34 · 1072 阅读 · 0 评论 -
PCA主成分分析降维MNIST数据(代码实战版)
【代码】PCA主成分分析降维MNIST数据(代码实战版)原创 2023-10-25 17:49:02 · 252 阅读 · 0 评论 -
正交矩阵的转置就是它的逆矩阵
正交矩阵的定义是:一个矩阵A与它的转置矩阵相乘的结果是一个单位矩阵,则该矩阵被称为一个正交矩阵。根据矩阵论中的定义,如果一个矩阵A与另一个矩阵B相乘的结果是单位矩阵E,那么我们可以说矩阵A是矩阵B的逆矩阵,或者矩阵B是矩阵A的逆矩阵。因此,正交矩阵的转置就是其逆矩阵。根据矩阵的线性变换性质,先用正交矩阵A操作向量w1得到w2,再用A的逆矩阵操作w2得到的结果应该是w1。因此,w1和w3应该是相等的。先用正交矩阵A操作向量w1得到w2,再用A的逆矩阵操作w2得到w3,w1和w3是什么关系?原创 2023-10-25 14:23:19 · 2788 阅读 · 0 评论 -
主成分分析(PCA):代码级实战
我们需要明白PCA的目的是什么。PCA是一种降维技术,它的目的是将高维的数据投影到低维的空间中,同时保留数据的最大变化信息¹。PCA的原理是通过找到一组正交的基向量,使得数据在这组基向量上的投影方差最大²。具体来说,假设我们有一个n维的数据集X,其中每一行是一个样本,每一列是一个特征。为了演示这个过程,我给出一个简单的例子。从结果中我们可以看出,原始的三维数据被成功地降维到了二维,而且保留了数据的最大变化信息。对于大规模数据,方法2更为高效。然后V的前200列就是我们要的纹理空间的基向量组成的矩阵。原创 2023-10-24 20:47:35 · 232 阅读 · 0 评论 -
“Life Long Learning”(终身学习)和“灾难性遗忘”(catastrophic forgetting)
它的基本思想是,如果两个任务之间有一些共同的特征或规律,那么在一个任务上学到的知识可以帮助另一个任务的学习。例如,如果我们想让一个模型能够识别猫和狗的图片,我们可以先让它在一个大型的图片数据集上进行预训练,学习一些通用的图像特征,然后再在一个小型的猫狗图片数据集上进行微调,学习一些特定的猫狗特征。它的基本思想是,对于每个新任务,它都会增加一个新的网络列(column),并且将之前任务每层输出的特征作为新任务对应层的输入。这样,新任务就可以利用之前任务的特征来进行学习,而不会影响之前任务的参数。原创 2023-09-19 19:44:19 · 361 阅读 · 0 评论 -
通过WiSE-FT 大模型微调 (“灾难性遗忘”catastrophic forgetting)
上述方法实质上都是通过正则化的方式,约束精调过程中参数或输出不能与预训练参数或输出差距太大,起到保留预训练泛化知识的作用。作者的实验结果显示,相比于纯粹精调,这些方法可以明显改善模型在非精调数据集上的泛化性能,证明它们确实能够有效缓解泛化能力的遗忘。作者比较了不同的方法来缓解这种遗忘,包括持续学习方法(L1、L2正则化、知识蒸馏)、模型平均方法(Wise-FT)和参数高效精调方法(LoRA)。精调过程中模型倾向于遗忘预训练的泛化能力,以获得针对特定任务的专业能力(speciality)。原创 2023-09-19 16:31:22 · 851 阅读 · 1 评论 -
解决“distribution shift”的问题
对输入数据做归一化(normalize)是一种常用的方法,可以解决“distribution shift”的问题,归一化的目的是。理论上讲,如果能完全避免数据集分布发生偏移,那么模型就不需要考虑分布偏移下的鲁棒性问题了。但是在实际情况中,很难完全避免分布偏移的发生。,提高模型的稳定性和泛化能力。原创 2023-09-19 15:40:00 · 378 阅读 · 0 评论 -
深度学习输入数据的归一化
不同图像分辨率下的绝对像素坐标值会有很大差异(例如100px和1000px)。映射到[-1, 1]可以抹平这种分辨率影响,使坐标值处在统一的数值范围内。大多数基于深度学习的模型会假设输入数据处在[-1, 1]或[0, 1]等固定数值范围内。这样可以帮助网络学习,避免数值太大或太小带来的难以收敛等问题。在[-1, 1]的标准化空间中,设计算法和模型会更简单,无需考虑坐标尺度问题。例如计算点之间距离等。很大或很小的坐标值可能会导致计算过程的数值不稳定。但在[-1, 1]范围内,这种问题可以大幅减少。原创 2023-09-02 09:51:23 · 933 阅读 · 0 评论 -
GPU 错误中断处理程序(irq/82-nvidia)
中断请求(IRQ)是一种用于通知CPU有一个事件需要处理的机制,它可以由硬件设备或软件程序发出。IRQ 82 是 NVIDIA 显卡设备的中断处理程序,这些错误中断信号表示GPU在执行相关的任务时遇到了一些问题,需要CPU的干预或恢复。原创 2023-08-26 18:17:36 · 749 阅读 · 0 评论 -
深度学习调参技巧
欠拟合的现象是指模型在训练集和测试集上都表现不好,即模型的拟合能力不足,无法捕捉数据的真实规律。没爆卡速度可以—> 实验log完好可视化loss稳步下降—>回头看实验结果。写完代码—> 小数据上降loss无nan—>原创 2023-08-25 15:52:40 · 653 阅读 · 0 评论 -
【图解】多层感知器(MLP)
图片是一个多层感知器(MLP)的示意图,它是一种常见的神经网络模型,用于从输入到输出进行非线性映射。原创 2023-08-21 19:59:15 · 1450 阅读 · 0 评论 -
一阶RC低通滤波器[原理详细推导]
其中: f为输入信号的频率,f_B为滤波器的截止频率。原创 2023-08-15 18:02:47 · 816 阅读 · 0 评论 -
Kalman Filter VS Particle Filter
高斯分布有一些重要的性质,使得Kalman Filter可以用矩阵运算来简化计算和表示,以及达到最优的估计效果。如果状态是连续的,如果状态之间的关系是线性的,就是Linear Dynamic System (Kalman Filter),或者说是Linear Gaussian Model;如果状态之间的关系是Non-Linear 的或者Non-Gaussian 的,那么也就是Particle Filter。概率图模型+ 时间 -------->动态模型。原创 2023-08-13 12:26:01 · 161 阅读 · 0 评论 -
概率图模型(Probabilistic Graphical Model,PGM)
有向图模型使用有向非循环图(Directed Acyclic Graph,DAG)来表示变量之间的因果关系,也称为贝叶斯网络(Bayesian Network)或信念网络(Belief Network)。它可以用来表示复杂的概率分布,进行有效的推理和学习,以及解决各种实际问题,如图像处理,自然语言处理,生物信息学,社会网络分析等。这个图就是一个无向图模型的例子,它可以用来表示五个人的爱好和性格的联合概率分布,以及他们之间的友谊关系。推断问题是指如何根据已知的观测变量和参数,计算未知的隐变量或者边缘概率。原创 2023-08-13 11:11:56 · 277 阅读 · 0 评论 -
Transformer Encoder (Bert)
举个例子:假设输入数据形状为(243,34),表示的是243帧,每帧包含34个特征(比如17个关键点的x,y坐标)。所以综上,输入在Encoder中通过MHA和FFN被复用转换多次,但shape保持不变,依然编码每个时间步的特征。shape的维持使得 Encoder可以灵活堆叠。原创 2023-07-20 17:19:10 · 278 阅读 · 0 评论 -
StridedTransformer
Strided Transformer Encoder (STE)中的“Linear, dm"被替换成了“1D Conv, km, sm, dm”。这样做的目的是将VTE的输出进行进一步的信息聚合和降采样,从而减少序列的冗余性和计算成本。它的主要贡献是提出了一个改进的基于变换器的网络架构,叫做跨步变换器,它可以简单而有效地将一长串二维关节位置提升为一个三维姿态。VTE的作用是对二维姿态序列进行自注意力操作,从而建模长距离的依赖关系。不同之处在于,这里的全连接网络都采用的是Causal的形式。原创 2023-07-20 15:58:21 · 242 阅读 · 0 评论 -
transformer Position Embedding
让我们尝试理解计算位置嵌入的公式的“sin”部分:这里“pos”指的是“单词”在序列中的位置。P0指的是第一个词的位置embedding;“d”表示单词/令牌嵌入的大小。在此示例中,d=5。最后,“i”指的是嵌入的 5 个单独维度中的每一个维度(即 0、1、2、3、4)虽然“d”是固定的,但“pos”和“i”会变化。让我们尝试理解后两者。“pos”如果我们绘制一条正弦曲线并改变“pos”(在 x 轴上),您将在 y 轴上得到不同的位置值。因此,具有不同位置的单词将具有不同的位置嵌入值。原创 2023-07-18 11:22:56 · 1376 阅读 · 0 评论 -
Transformer vs dilated convolutions
因此,transformer需要采取一些特殊的技巧来稳定训练过程,如缩放(scaling)、掩码(masking)、位置编码(position encoding)、层归一化(layer normalization)等。- 模型复杂度:transformer的自注意力机制需要计算输入序列中每个元素与其他所有元素之间的相关性,这个计算的时间和空间复杂度都是输入序列长度的平方。因此,当输入序列过长时,transformer会消耗过多的计算资源和存储空间,导致效率降低和性能下降。原创 2023-07-16 12:11:29 · 1197 阅读 · 0 评论 -
transformer模型的长度限制的解决方案
transformer模型的一个限制是,它的自注意力机制需要计算输入序列中每个token与其他所有token之间的相关性,这个计算的时间和空间复杂度都是输入序列长度的平方。因此,当输入序列过长时,transformer模型会消耗过多的计算资源和存储空间,导致效率降低和性能下降。为了解决这个问题,后续的一些研究工作提出了一些稀疏注意力(sparse attention)的方法,它们可以减少自注意力机制中需要计算的相关性对的数量,从而降低时间和空间复杂度,使得transformer模型可以处理更长的输入序列。原创 2023-07-16 12:06:17 · 2075 阅读 · 0 评论 -
Jaccard与cosine文本相似度的异同
Jaccard与cosine文本相似度的异同 - mountain blue的文章 - 知乎 https://zhuanlan.zhihu.com/p/60723017。转载 2023-04-02 21:06:17 · 63 阅读 · 0 评论 -
用Jaccard相似度计算两个字符串的相似度
两个集合A和B的在A,B的并集中所占的比例,称为两个集合的,用符号J(A,B)表示。Jaccard相似系数。即计算两个集合之间的相似程度,元素的“取值”为0或1。所谓的Jaccard相似度就是Jaccard相似系数。是衡量两个集合相似度的一种指标。定义为两个集合A和B交集元素的个数在A、B并集的元素个数中所占的比例,用符号 J(A,B) 表示。用在文本相似度上,就是将字符串S, T分别进行分词,用交集中的词语数和并集中的词语数求比值。Jaccard。原创 2023-04-02 21:03:02 · 1266 阅读 · 0 评论 -
六)kaldi thchs30 特征提取(line 0-33)
该程序的执行流程是读取语料库中的{train, dev, test}文件夹下的.wav文件和.trn文件。利用wav文件的名字和所在路径生成wav.scp文件,利用wav.trn文件中的第1行和第3行生成word.txt和phone.txt。同时由于此处没有说话人识别,因此对于utt2spk(语段到说话人)和spk2utt(说话人到语段)里的内容都是两列相同的wav文件名。wav.scp必须是单声道的,如果底层语音文件有多个声道,就必须有一个短命令在wav.scp中要用到来提取一个特殊的通道。转载 2023-03-04 20:29:39 · 113 阅读 · 0 评论 -
espnet training
【代码】espnet training。原创 2023-03-03 18:26:31 · 628 阅读 · 0 评论 -
Mel Spectrogram
给出hop length后,切成一个个小段,对每个小段分别计算傅里叶变换。得到一个个频率振幅条,把条随时间拼成下图。原创 2023-03-02 18:32:59 · 444 阅读 · 0 评论 -
attention by Bahdanau
本研究提出使用序列中输入的不同组合来产生不同的表示,而不是在编码器部分的末尾仅获得一个向量表示。换句话说,在机器翻译任务中,对于解码器端的每个输出,源端的词具有不同的效果。组合权重是通过反向传播自适应学习的。上图显示了带有注意力模型的编码器-解码器方法。论文中显示的结果表明,与以前的机器翻译任务研究相比,这项工作提供了显着的性能改进。Dzmitry Bahdanau、Kyunghyun Cho、Yoshua Bengio,2015 年,“通过联合学习对齐和翻译进行神经机器翻译”,ICLR 2015。原创 2023-03-02 08:10:53 · 70 阅读 · 0 评论 -
Gated Activations门控激活单元
WaveNet 设计者发现,门控激活在音频数据方面比 ReLU 激活具有更强的经验性能,并且这种优异性能可能广泛扩展到时间序列数据。不像其他问题领域那样适合时间序列预测,或者门控激活允许更平滑的信息(梯度)在多层 WaveNet 架构上流动。在架构图的方框部分,您会注意到扩张卷积输出分成两个分支,随后通过逐元素乘法重新组合。中使用的门控机制,那么您说对了,因为这些模型使用相同类型的信息门控来控制对其细胞状态的调整。激活分支解释为一个学习门,用于调节来自过滤器的信息流。激活分支解释为一个学习过滤器,将。原创 2023-03-01 19:32:38 · 604 阅读 · 0 评论 -
Alignment of HMM, CTC and RNN-T (optional)
https://mp.csdn.net/mp_blog/creation/editor?spm=1000.2115.3001.4503原创 2023-03-01 14:59:56 · 65 阅读 · 0 评论 -
diffusers编写自己的推理管道
式 (2)的指导权重。在这里,我们将其设置为 7.5,就像之前所做的那样。例如,我们将展示如何将 Stable Diffusion 与不同的调度器一起使用,即。这些嵌入将用于调整 UNet 模型并引导图像生成类似于输入提示的内容。库的高级使用,可用于切换某些组件,例如上面解释的 VAE 或调度程序。现在我们不再加载预定义的调度程序,而是加载具有一些拟合参数的。我们可以通过引用保存组件的文件夹来加载组件,我们现在定义我们将用于生成图像的参数。接下来,让我们将模型移动到 GPU。与前面的示例相比,我们设置。原创 2023-02-10 21:07:25 · 2225 阅读 · 0 评论 -
stabilityai/stable-diffusion-2-1 生成黑图问题
【代码】stabilityai/stable-diffusion-2-1 生成黑图问题。原创 2023-02-09 14:23:01 · 12125 阅读 · 0 评论 -
AI绘图之DDIM 与 DDPM
为了加速采样,我们提出了去噪扩散隐式模型 (DDIM),这是一类更有效的迭代隐式概率模型,其训练过程与 DDPM 相同。在 DDPM 中,生成过程被定义为马尔可夫扩散过程的逆过程。我们凭经验证明,与 DDPM 相比,DDIM 可以在挂钟时间方面快 10 倍到 50 倍的速度生成高质量样本,允许我们权衡计算以换取样本质量,并且可以直接在潜在空间中执行具有语义意义的图像插值。因此,我们可以通过选择不同的非马尔可夫扩散过程(第 4.1 节)和相应的反向生成马尔可夫链,从使用相同神经网络的大量生成模型中自由选择。原创 2023-02-08 17:17:24 · 4061 阅读 · 0 评论 -
[diffusers系列]Scheduler的配置文件
【代码】[diffusers系列]Scheduler的配置文件。原创 2023-02-07 19:38:46 · 1099 阅读 · 0 评论 -
huggingface大模型载入
【代码】huggingface大模型载入。原创 2023-02-07 11:25:27 · 3268 阅读 · 0 评论 -
梯度累积accumulates-gradient
【代码】梯度累积accumulates-gradient。原创 2023-02-06 19:46:42 · 407 阅读 · 0 评论 -
Imagen 怎么工作的
中,该编码器输出一个向量序列(文本编码)。这些向量很重要,因为它们对标题中的单词如何相互关联进行编码,并充当模型所有其他组件的条件信息。,该模型从高斯噪声开始,然后逐渐去除噪声以生成反映标题中语义信息的新图像。该模型的输出是一个 64x64 像素的图像。,同样以文本编码(以及较低分辨率的图像)为条件。在此之后,再使用两个扩散模型。然后将文本编码传递到。原创 2023-02-02 23:01:45 · 230 阅读 · 0 评论 -
Classifier-Guidance 和 Classifier-Free
而对于“财大气粗”的Google、OpenAI等公司来说,它们不缺数据和算力,所以更倾向于往扩散模型的训练过程中就加入条件信号,达到更好的生成效果,这就是事前训练的Classifier-Free方案。应该说,Classifier-Free方案本身没什么理论上的技巧,它是条件扩散模型最朴素的方案,出现得晚只是因为重新训练扩散模型的成本较大吧,在数据和算力都比较充裕的前提下,Classifier-Free方案变现出了令人惊叹的细节控制能力。对于大多数人来说,一个SOTA级别的扩散模型训练成本太大了,而。转载 2023-02-02 19:52:50 · 4271 阅读 · 0 评论 -
teacher forcing
teacher-forcing 在训练网络过程中,每次不使用上一个state的输出作为下一个state的输入,而是直接使用训练数据的标准答案(ground truth)的对应上一项作为下一个state的输入。Teacher Forcing工作原理: 在训练过程的t�时刻,使用训练数据集的期望输出或实际输出: y(t)�(�), 作为下一时间步骤的输入: x(t+1)�(�+1),而不是使用模型生成的输出h(t)ℎ(�)。一个例子:训练这样一个模型,在给定序列中前一个单词的情况下生成序列中的下一个单词。转载 2023-02-01 22:06:45 · 303 阅读 · 0 评论 -
VAE算法
不过,这又会面临着这两个损失的比例要怎么选取的问题,选取得不好,生成的图像会比较模糊。直接用这个式子做补充 loss,就不用考虑均值损失和方差损失的相对比例问题了。链接:https://zhuanlan.zhihu.com/p/34998569。) 和 σ_{(i)}^{2} 分别代表一般正态分布的均值向量和方差向量的第。所以,原论文直接算了一般(各分量独立的)正态分布与标准正态分布的 KL 散度。为了使模型具有生成能力,VAE 要求每个 p(Z_X) 都向正态分布看齐。和方差的对数 log。原创 2023-01-31 21:38:56 · 335 阅读 · 0 评论 -
Variational Inference 变分推理
Inference就是这样一个过程,先有一些不确定的Z,然后在Z下得到一些数据,通过贝叶斯计算他们的概率分布的乘积,推出一个更好的Z。在整个inference的过程里,什么都是变的,除了 p(X)p(X) ,它是marginal distribution,理解为normalization 因子,或model evidence。这是贝叶斯大道理,大家很熟悉,Z作为latent variable (也就是简单分布里的参数,如果是复杂一点的模型比如cluster,除了包含。原创 2023-01-31 19:43:47 · 116 阅读 · 0 评论 -
图解cross attention
交叉注意力与自我注意力。原创 2023-01-09 23:27:19 · 16383 阅读 · 0 评论 -
矢量量化变分自编码器 (VQ-VAE)
与许多其他人一样,变分自编码器 (VAE) 是我选择的生成模型。与 GAN 不同,它们更容易训练和推理(亲爱的 GAN,无意冒犯)。展望未来,我假设您对 VAE 有一些了解。如果您不这样做,我建议您阅读。所提出的模型称为矢量量化变分自编码器 (VQ-VAE)。我真的很喜欢这个想法和随之而来的结果,但令人惊讶的是,我发现很少有资源可以加深理解。这是帮助其他可能在我之后冒险进入该领域的人的尝试。F从我最近对深度学习文献的探索中,我向您展示了。我发现它是比较简单的文章之一。转载 2022-12-31 14:05:39 · 613 阅读 · 0 评论