diffusion blog
diffusion blog
可以一步计算任何t时刻的正向传播
虽然逆向顺序没法算
但是:可以通过引入x0x_0x0作为条件,然后用正向的一步表达式的反演又把x0x_0x0从xt−1x_{t-1}xt−1的表达式中去掉,达到从xtx^txt导出xt−1x^{t-1}xt−1的inverse diffusion process的效果
这里的ϵt\epsilon_tϵt是由x0和xt计算出来的
同上,对于理解式子很重要,这里道理应该是given了xt。
只不过loss function里面反演的是epsilon
与score function的联系
带条件的,第一步对梯度关系进行贝叶斯很关键!
首先,这里应该是完全等价的变形,但是这里第一部分的转换为什么可以换出$\epsilon_t$,用网络预测应该是given了$x^T$,不是简单的正态分布了?(疑似这里就是近似了一步,不是严格等价的?)
DDIM has the same marginal noise distribution but deterministically maps noise back to ...
Score-function blog 速记
Score-function blog 速记
为什么score function是log p的梯度,某种意义上我们一般的定义是
以往我们都是参数化f,这里log刚好去掉指数。
同时log后让对p的大幅度变化不敏感。
加上高斯卷积导致这种效果:
高斯模糊效果,和直接线性添加高斯噪音不同
退火版朗之万采样法
By generalizing the number of noise scales to infinity , we obtain not only higher quality samples, but also, among others, exact log-likelihood computation, and controllable generation for inverse problem solving.
也许也可以看出score function的重要性
在 SDE 和 ODE 过程中,任意时刻 t 的数据分布是相同的。
同时ODE时,一个采样和一个噪音是双射的
Ensemble
Ensemble
Bagging
Bagging: 通过多次采样,然后平均结果,可以减小variance。
测试的时候把不同function的结果做平均(回归)或者voting(分类)。
做bagging的目的是为了减低模型的variance,所以一般是在模型比较复杂,很容易ovetfit时使用
nn其实没有那么容易overfit,decision tree其实容易overfit。
可以看到决策树考虑的东西很多。
树够深,就可以作出很复杂的决策。
可以用random forest来增强。
这里提到一些小技巧:
bagging可以随机放回的抽取每个树的训练样本,也可以限制一些特征让每个树的形态不一样。
validation可以像图中一样tricky,可以不用设置显性的validation set。
random forest可以让结果更平滑,不是简单的增强,比如depth=5本来就拟合不好,那么random forest也拟合不好。但是可以让图片平滑,不像minecraft那样的方块世界。
Boosting
和bagging不同,bagging是用在很强的mode ...
SVM
Support Vector Machine (SVM)
hinge loss function:
max操作促使f(x)大于1,且不需要超过1太多,对比cross entropy: hinge loss及格就好:
(也是ideal function的upper bound)
SVM和logistic regression的区别就是定义的loss function不同,SVM的loss function是hinge loss function,logistic regression的loss function是cross entropy loss function。
脑洞一下,linear SVM可以用gradient descent来求解。
常见的做法:
SVM特点
w参数实际是x的线性组合,所以SVM是线性分类器。这一点可以用lagrange multiplier或者梯度下降来证明。
ana_nan是sparse的,大部分是0,也就是说SVM结果只和少数几个样本有关。
经过等价变化,和最后一步推广,产生kernel trick。
当 ...
Meta Learning
Meta-Learning
关于参数
参数也是meta-learning的一个分支。
我们现在目标是学习F本身,包括网络架构,初始参数,学习率啥的。每一个东西都是meta learning的一个分支。
比如一个学习二元分类的meta learning:
然后就是强行train,如果不能微分,就上RL或者EA。
ML v.s. Meta-Learning
difference:
similarity:
MAML找一个初始化参数
好的原因:
还可以学习optimizer
Network Architecture Search
Data Augmentation
Sample Reweighting
应用
补充学习
self-supervised learning
knowledge distillation
有文献指出,成绩好的teacher不见得是好的teacher。
引入meta learning,可以让teacher学习如何去teach。
Domain Adaptation
在 ...
Network Compression
Network Compression
网络压缩是指通过减少模型的大小和计算量来提高模型的性能。这个技术在移动端和嵌入式设备上(即resource-constrained的时候,比如手表,无人机)非常有用,因为这些设备的计算资源有限。网络压缩的方法有很多,比如剪枝、量化、知识蒸馏等。
Network Pruning
去评估参数和神经元。
一个很有意思的发现:
大模型里面小模型中奖了可以出结果,所以从大模型pruning出来的小模型是幸运的可以train的起来的参数。(与之对比,重新初始化结构相同的pruning出来的小模型是不行的)
Knowledge Distillation
为什么不直接train一个小的network?因为效果不好。
一个直觉的说法,是teacher可以提供额外的咨询。
比如老师告诉说,1和7比较接近,而不是0%,100%。(比较平滑?)
同时注意到,knowledge distillation在model ensemble上的运用,实际中很难同时做1000个模型output的ensemble,但是我们可以提前train的一个对于ensemble结 ...
Domain Adaptation
Domain Adaptation
当我们有一个模型在一个domain上训练好了,我们想要将这个模型应用到另一个domain上,这时候就需要domain adaptation。
简单来说,就是训练集和测试集的分布不一样,我们需要让模型适应新的分布。其实和transfer learning很像,但是transfer learning更加广泛,不仅仅是domain adaptation。
Transfer Learning
按照有无label,可以分为几种case:
Fine-tune
直接fine-tune,加上参数的L2正则化。
或者只对一个layer进行fine-tune。
但是哪些layer会被fine-tune呢?这个不同任务差异很大。
Multi-task learning
一个成功的例子是多语言的speech recognition。
Domain-adversarial training
和GAN有点像,希望把domain的信息去掉,只保留task-specific的信息。
Zero-shot learning
先提取attrib ...
Unsurpervised Learning
Unsupervised Learning
分为两类,降维和生成。
K-mean
一开始从training data里sample出k个点init,然后不断迭代,更新每个点的位置,使得每个点周围的点尽可能的接近它。
Hierarchical Agglomerative Clustering
每次合并距离最近的两个点,直到只剩下一个点。
这棵树上,比较早分支就比较不像(比如root)
然后可以切一刀,划分出不同的cluster类。(可以比较好决定cluster的数量)
但是cluster太过绝对!
Distributed representation <—> Dimension reduction
其实是一样的事情
Demension Reduction
去掉无用feature(很多时候不好用)
PCA(Principal Component Analysis)
PCA
z = Wx
目的:找这个W
需要project到几维是自己决定的
如何解PCA ?
新的z的feature的Cov是diagnal的!!!
很多比较简单的model需 ...
Energy-Based Model Training and Implicit Inference
Energy-Based Model Training and Implicit Inference
Objective
我们要做两件事,给定(x,y)数据组,比如在强化学习专家策略中可以使(state,action) pair.
第一:训练一个能量模型Eθ(x,y)E_{\theta}(x,y)Eθ(x,y),这个模型能够对数据组(x,y)进行打分,分数越低,说明这个数据组越符合我们的目标。我们希望降低样本内的能量,同时不忘提高样本外的能量。
第二:我们希望能够通过这个能量模型,进行隐式推理,即给定一个x,我们希望找到一个y(集合Y),使得Eθ(x,y)E_{\theta}(x,y)Eθ(x,y)最小。
隐式模型(比如能量模型)好处
隐式模型的优势:在处理具有不连续性的复杂数据时,隐式模型能够精确地表示不连续点,并且在不连续点处保持尖锐的预测,不会因为插值而引入错误的中间值。
显式模型的局限:由于拟合的是连续函数,显式模型在不连续点处会进行插值,导致无法准确表示数据的真实变化,尤其当不连续性频繁出现时。
模型选择的考虑:
数据特性:如果数据包含大量不连续性,且这些不连续性对 ...
SQL
SQL
Soft Q-leaning引入了熵作为正则项,可以说提出了一种新的评价体系,加强了策略的探索性。
同时很意外的与Energy-based model有一定的联系。
值函数改变
以前的Q只是对当前策略未来收益的预测,现在加入熵项:
Qsoft⋆=rt+E(st+1,…)∼ρπMaxEnt∗[∑l=1∞γl(rt+l+αH(πMaxEnt∗(⋅∣st+l)))]Q^{\star}_{soft} = r_t + \mathbb{E}_{(s_{t+1},…)\sim\rho_{\pi^*_{MaxEnt}}}\left[ \sum_{l=1}^\infin\gamma^l\left(r_{t+l}+\alpha\mathcal{H}\left(\pi^*_{MaxEnt}\left(\cdot|s_{t+l}\right)\right)\right) \right]
Qsoft⋆=rt+E(st+1,…)∼ρπMaxEnt∗[l=1∑∞γl(rt+l+αH(πMaxEnt∗(⋅∣st+l)))]
H(π(⋅∣st))=Ea∼π(⋅∣st)[−logπ(a∣ ...