Welcome!🎉 I’m Cyan Fu, a master student at Carnegie Mellon University studying Artificial Intelligence.
I write about anything and everything here, and my main interest lies at the intersection of AI and 3D vision. I hope you find something interesting here!
Check out the network at the bottom of the page!
Site under construction
I’m trying to build a new site with better LaTeX support and automatic Chinese <-> English translation with GPT4.
Sorry if some link is broken!
# How about reading something about …
# Math
- 一个抽象而有趣的引理:
Johnson Lindenstrauss Lemma
Johnson Lindenstrauss Lemma - Publish Version
Johnson Lindenstrauss Lemma 2021-12-03 Tags: #MachineLearning #Math 对于高维数据,我们能够在降维的过程中保留其大部分的几何特征,即使降维的幅度非常大。 这是徐亦达老师让我们学习的第一个主题 Study Materials MIT 6.854 Spring 2016 Lecture 5: Johnson Lindenstrauss Lemma and Extensions PDF(zotero://select/items/@mcnally2021RethinkingKeypoint) MIT 6.854...
- 从二项分布到泊松分布再到指数分布-From Binomial Distribution to Poisson Distribution to Exponential Distribution
从二项分布到泊松分布再到指数分布-From Binomial Distribution to Poisson Distribution to Exponential Distribution
From Binomial Distribution to Poisson Distribution to Exponential Distribution 2022-05-22 Tags: #Math/Probability #PoissonDistribution #BinomialDistribution #ExponentialDistribution 这两个回答讲的挺好: 泊松分布的现实意义是什么,为什么现实生活多数服从于泊松分布? - 马同学的回答 - 知乎 https://www.zhihu.com/question/26441147/answer/429569625 指数分布公式的含义是什么?...
- 为什么方差的分母常常是n-1
为什么方差的分母常常是n-1
为什么方差的分母常常是? 2021-10-29 Tags: #Math/Statistics #Variance 按照定义, 方差的分母的确应该是 但是因为我们用样本的均值代替了数学期望, 而这个是有误差的, 是为了消除这个误差. 详细解释 前提: 相互独立 按照定义, 方差的公式是: $$\sigma^{2}=\mathbb E\left(\frac{1}{n} \sum{i=1}^{n}\left(X{i}-\mu...
- 酉矩阵为什么叫酉矩阵
酉矩阵为什么叫酉矩阵
酉矩阵为什么叫酉矩阵 2021-11-16 Tags: #Math/LinearAlgebra #English 酉矩阵里面的"酉"其实是字母的音译 (又译作幺正矩阵,英语:unitary matrix) unitary adjective uk /ˈjuː.nɪ.tər.i/ us /ˈjuː.nɪ.ter.i/ of a system of local government in the UK in which official...
- 如何对矩阵求导?
- 矩阵的求导
矩阵的求导
对矩阵的求导MatrixDerivative 2021-08-16 Tags: #Matrix #Derivative #Calculus #MachineLearning 在学习吴恩达机器学习CS229的时候为了推导Normal Equation的公式, 接触到了函数对于矩阵的求导, 因为许久没有接触微积分, 并且知识跨度太大, 许久没有看懂, 故在此笔记中慢慢梳理. Learning Materials: Pili HU, Matrix Calculus, https://github.com/hupili/tutorial/tree/master/matrix-calculus A Matrix Algebra...
- D2L-4-矩阵求导
D2L-4-矩阵求导
矩阵求导 2022-02-01 Tags: #Math #Matrix 矩阵的求导一直很让人头疼😖 之前的笔记: 矩阵的求导 李沐这次的讲解方式不太一样,是从标量逐步推广到矩阵,还蛮清晰的。 从标量到向量 其中 都很好理解, 尤其需要注意的是当求导的自变量为向量的时候, 为 $$\mathbf{x}=\left[\begin{array}{c} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{array}\right] \quad...
- 矩阵的求导
- Diffie-Hellman问题
Diffie-Hellman问题
Diffie-Hellman问题 两个Diffie-Hellman问题 Computation Diffie-Hellman / CDH 即给定一个基数与两个指数, 计算合并的指数 给定, 求 Decision Diffie-Hellman / DDH 即给你三个指数, 让你判断最后一个是不是前两个的合并 给定 , 判断有没有 注意: 给定的 ...
- KL_Divergence-KL散度
KL_Divergence-KL散度
Kullback–Leibler divergence 2022-02-11 Tags: #Math/Probability #DeepLearning KL散度可以衡量两个概率分布之间的相似性 KL散度也称为相对熵 - Wikipedia: In mathematical statistics, the Kullback–Leibler divergence, ...
- Gilbert Strang 深入浅出机器学习的矩阵知识
Gilbert Strang 深入浅出机器学习的矩阵知识
MIT 18.065 Matrix Methods in Data Analysis, Signal Processing, and Machine Learning, MIT18.065-Part1-AColumnSpace_Perspective MIT18.065-Part2-Matrix_Factorization MIT18.065-Part3-ADifferentPerspectvieofMatrixMultiplication-AnExample MIT18.065-Part4-LU_Factorization MIT18.065-Part5-Four_Subspaces MIT18.065-Part6-Orthonormal Columns in Q Give Q'Q = I MIT18.065-Part7-Eigenvalues and...
- Understanding Bayes’ Theorem
Understanding Bayes' Theorem
Understanding Bayes' Theorem 2021-12-19 Tags: #Math/Probability #Bayes 单从形式上来说, Bayes定理是十分简单的. 但是如果我们结合实际问题与一点几何直觉, Bayes定理可以从两个独特的角度来直观理解: Update of Prior Beliefs & Change of Perspective Bayes' Theorem: Statement $$P(A \mid B)=\frac{P(B...
# Machine Learning
- What on earth is Logit
Logit
Logit: a confusing term 2022-02-11 Tags: #Math #DeepLearning #SoftmaxRegression Ref: machine learning - What is the meaning of the word logits...
- 为什么Softmax回归不用MSE
为什么Softmax回归不用MSE
为什么Softmax (或者Logistic) 不用MSE作为损失函数? 2022-02-28 Tags: #DeepLearning #MachineLearning #SoftmaxRegression #LogisticRegression #CostFunction #MeanSquareError #CrossEntropy 回顾: MSE假设样本误差i.i.d., 并且服从正态分布, 最小化MSE等价于极大似然估计. 通常用于回归问题. MSE基于输出与真实值的欧氏距离. 最小化Cross Entropy等价于最小化KL散度, 相当于最小化输出概率分布与真实概率分布之间的区别. 通常用于分类问题 在分类问题里面,...
- Kernel Regression
D2L-64-Kernel Regression
Nadaraya-Watson Kernel Regression 2022-04-20 Tags: #KernelRegression #Nonparametric #Attention #MachineLearning Intuition Definition 其中是 是 核(kernel),...
- Norm in Regularization - Intuition
Norm in Regularization - Intuition
Norm in Regularization - Intuition 2022-02-14 Tags: #Norm #Regularization #DeepLearning #MachineLearning L2 Norm in Regularization L2 Norm 的等高线是圆形的 使用范数的一个原因是它对权重向量的大分量施加了巨大的惩罚。 这使得我们的学习算法偏向于在大量特征上均匀分布权重的模型。 在实践中,这可能使它们对单个变量中的观测误差更为稳定。 使用L2正规化在训练时"更稳定". ...
- Fisher Linear Discriminant(Pattern_Classification-Chapter_4)
Part.29_Fisher_Linear_Discriminant(Pattern_Classification-Chapter_4)
Fisher Linear Discriminant 2021-10-28 Tags: #MachineLearning #PatternClassification #Course #DimensionalityReduction 通过降维进行分类, 降到一维即为线性判别. 其实, 线性判别分析 (LDA)就是对Fisher线性判别的归纳. Motivation Curse of Dimensionality - 模型的表现随着维度的增加而变坏, 而且根据设计者的3维直觉, 无法很好的解决高维度的问题. 所以一个很直观的方法便是减少问题的维度, Fisher的方法便是将多维样本直接映射到一维的一种方法. 直接映射到一维是否太粗暴?...
- Cross_Entropy-交叉熵
Cross_Entropy-交叉熵
Cross Entropy - 交叉熵 2022-02-11 Tags: #InformationTheory #DeepLearning Intuition 熵是编码一个事件所需要的最短平均长度 而交叉熵则是一种特殊情况下编码的平均最短长度: 事件真实的概率分布是 , 但是我们以为事件的分布是 ....
# Deep Learning
- Convolution-卷积,数学与ML含义
D2L-32-Convolution-卷积
卷积 - Convolution 2022-02-26 Tags: #DeepLearning #Convolution 关键点: Convolution Determines the Output of a System for any Input 从数学的角度理解, 卷积是通过两个函数 ( 和...
- 1x1卷积层有什么用
D2L-36-1x1卷积层
卷积层 2022-02-27 Tags: #CNN #DeepLearning #Convolution 卷积,即 ,它虽然不能提取相关特征, 但是却能融合图像的不同通道, 也是一种很受欢迎的网络结构. 它相当于输入形状为 , 权重为 ...
- 智能版加权平均:Attention
- Kernel Regression and Attention
D2L-66-Kernel Regression and Attention
Kernel Regression And Attention 2022-04-20 Tags: #KernelRegression #Attention #DeepLearning Nadaraya-Watson kernel regression is an example of machine learning with attention mechanisms. 更一般化的Attention...
- Attention Scoring Function
D2L-67-Attention Scoring Function
注意力评分函数 2022-04-21 Tags: #Attention #DeepLearning 抽取出Attention Pooling里面都有的Softmax部分, 我们可以将注意力机制的设计简化为Attention Scoring Function的设计. 形式化的表达如下: query , 个key-value pairs $(\mathbf{k}1, \mathbf{v}1), \ldots,...
- 图解Additive Attention
D2L-68-Additive Attention
加性注意力 2022-04-21 Tags: #Attention #DeepLearning 一般来说,当Query和Key是不同长度的矢量时,我们可以使用Additive Attention来作为Scoring Function。 给定查询 和键 ,加性注意力(additive attention)的评分函数(Scoring Function)为 $$a(\mathbf q, \mathbf k) =...
- Scaled Dot-Product Attention
D2L-69-Scaled Dot-Product Attention
缩放的点积注意力 2022-04-21 Tags: #Attention #DeepLearning 相比Additive Attention, 使用点积可以得到计算效率更高的Scoring Function. 但是点积操作要求查询和键具有相同的长度 。 我们知道内积可以衡量两个向量之间的相似程度Product&_Correlation.md), 所以我们可以这样解读缩放点积注意力: 注意力机制是Values的一个加权平均, 而缩放点积注意力会赋予和 Query 更相似的 Key-Value Pair 更高的权重. 假设Query ...
- Seq2Seq with Attention - Bahdanau Attention
D2L-70-Seq2Seq with Attention - Bahdanau Attention
含注意力机制的Seq2Seq 2022-04-22 Tags: #Seq2Seq #Attention #DeepLearning #RNN Motivation 在Seq2Seq模型里面, Encoder向Decoder传递的仅仅是最后一个时间步的隐状态, 也就是上下文变量 , 我们假设里面已经包含了输入序列的所有信息: 但这样每一步Decoder的输入都是原序列的一个"全局, 笼统的总结", 这是不太合理的: 在下图中, 在翻译"Knowledge"的的时候, 显然"力量"这个词是不太重要的. 在原始的Seq2Seq模型里面, 输入序列里面的所有元素都是同等重要的,...
- 图解Multi-Head_Attention
D2L-71-Multi-Head_Attention
多头注意力 2022-04-27 Tags: #Attention #Multi-headAttention #DeepLearning 多头注意力就是对 Query, Key, Value 进行一些线性变换, 并行地计算多个注意力, 期望模型能学习到多样化的依赖关系. Another way of seeing it: 模型构建 下面我们给出 Multi-Head Attention 的形象化表示: Part 1 给定...
- 图解Self-Attention
D2L-72-Self-Attention
自注意力 2022-04-26 Tags: #Self-Attention #Attention #DeepLearning Attention 机制可以抽象为: \begin{align} \textit{Attention}(Q,K,V) = V\cdot\textit{softmax}\space (\textit{score}(Q, K)) \end{align} 自注意力就是 , 也就是同一个序列同时作为 Query, Key...
- Kernel Regression and Attention
- 智能版加权平均 is All You Need: 图解Transformer
D2L-74-Transformer
Transformer 2022-04-27 Tags: #Transformer #Attention #DeepLearning Transformer 是一个纯基于 Attention 的 Encoder Decoder 架构模型 Hugging Face Explorable Transformer: exBERT Motivation 我们在 Self-Attention 中比较了卷积神经网络(CNN)、循环神经网络(RNN)和自注意力(self-attention)。值得注意的是,自注意力同时具有并行计算和最短的最大路径长度这两个优势。因此,使用自注意力来设计深度架构是很有吸引力的. 整体架构 其实整个 Transformer 的结构是很清晰的:总的来说,Transformer...
- 端到端学习-End_to_End_Learning-E2E
端到端学习-End_to_End_Learning-E2E
端到端学习 2022-05-05 Tags: #EndtoEndLearning #MachineLearning #DeepLearning 端到端的学习就是省略中间步骤,直接从输入得到输出结果。 Pro & Con Pro 不用人为设计中间步骤, 减少了工作量, 并且避免人为添加的步骤给模型带来不好的归纳偏置. Con 需要足够多的数据才能达到较好的效果 有时候人为的步骤是可以帮助模型进行学习的 What is end-to-end deep learning? (C3W2L09) - YouTube Whether to Use End-To-End...
- 好的预测模型的特质
好的预测模型的特质
"好"的预测模型的特征 2022-02-14 Tags: #DeepLearning 泛化性的角度: 我们期待“好”的预测模型能在未知的数据上有很好的表现: 经典泛化理论认为,为了缩小训练和测试性能之间的差距,应该以简单的模型为目标。 简单性以较小维度的形式展现. 此外, 正则化的有效性也说明, 参数的范数也代表了一种有用的简单性度量。 简单性的另一个角度是平滑性,即函数不应该对其输入的微小变化敏感。 例如,当我们对图像进行分类时,我们预计向像素添加一些随机噪声应该是基本无影响的。 1995年,克里斯托弗·毕晓普证明了 具有输入噪声的训练等价于Tikhonov正则化。 这项工作用数学证实了“要求函数光滑”和“要求函数对输入的随机噪声具有适应性”之间的联系。 平滑的函数能较好地适应输入的随机噪声 Dropout 就是在前向传播过程中,计算每一内部层的同时注入噪声,从而增加模型的平滑性. ...
- What is a tensor
D2L-1-What_is_a_tensor
What is a tensor? 2022-01-25 Tags: #Tensor #DeepLearning 最初, 张量是在物理和数学里面的一个概念, 后来深度学习借用了这个名词, 但是意义有所改变. 在数学与物理学的语境里面, "Tensor"是一个抽象的概念, 用于表示在坐标变换下的一种不变量, 比如广义相对论中, 坐标的变换会引起观测的时空的变换。而爱因斯坦张量(Einstein tensor)是广义相对论中用来描述时空曲率的一个张量, 不随坐标的变换而变换. 在深度学习的语境里面, "Tensor"是多维数组的一种表示方式 要理清这其中的关系, 还需要稍微深入的认识一下张量是个什么东西. 张量 -...
- 自动求导
D2L-7-自动求导
自动求导 2022-02-02 Tags: #DeepLearning 在机器学习里面, 深度学习框架可以帮我们自动求导, 计算梯度. 自动求导的两种方式 基于链式法则, 求导有两种顺序: 正向累积 反向累积、又称反向传递 $$ \frac{\partial y}{\partial...
- 为什么反向传播比前向传播更高效
为什么反向传播比前向传播更高效
找到了一个很好的解释: 为什么说反向传播算法很高效?要回答这个问题,让我们来考虑另一种计算梯度的方式。设想现在是神经网络研究的早期阶段,大概是在上世纪50年代或60年代左右,并且你是第一个想到使用梯度下降方法来进行训练的人!但是要实现这个想法,你需要一种计算代价函数梯度的方式。你回想了你目前关于演算的知识,决定试一下是否能用链式法则来计算梯度。但是琢磨了一会之后发现,代数计算看起来非常复杂,你也因此有些失落。所以你尝试着寻找另一种方法。你决定把代价单独当做权重的函数(我们一会再来讨论偏置)。将权重写作,并且要对某个权重计算。一个很明显的计算方式是使用近似: 其中是一个大于零的极小数, 是第个方向上的单位向量。换句话说,我们可以通过计算两个差距很小的的代价,然后利用上面的等式来估计。我们可以利用相同的思想来对偏置求偏导。 > 这种方式看起来很不错。它的概念很简单,实现起来也很简单,只需要几行代码。当然了,他看起来要比使用链式法则来计算梯度靠谱多了! > 然而遗憾的是,虽然这种方式看起来很美好,但当用代码实现之后就会发现,它实在是太慢了。要理解其中的原因的话,设想在我们的神经网络中有一百万个权重,对于每一个不同的权重,为了计算,我们需要计算。这意味着为了计算梯度,我们需要计算一百万次代价函数,进而对于每一个训练样例,都需要在神经网络中前向传播一百万次。我们同样需要计算,因此总计需要一百万零一次前向传播。 > 反向传播的优点在于它仅利用一次前向传播就可以同时计算出所有的偏导,随后也仅需要一次反向传播。大致来说,反向传播算法所需要的总计算量与两次前向传播的计算量基本相等(这应当是合理的,但若要下定论的话则需要更加细致的分析。合理的原因在于前向传播时主要的计算量在于权重矩阵的乘法计算,而反向传播时主要的计算量在于权重矩阵转置的乘法。很明显,它们的计算量差不多)。这与基于等式(46)的方法所需要的一百万零一次前向传播相比,虽然反向传播看起来更复杂一些,但它确实更更更更更快。 > 这种加速方式在1986年首次被人们所重视,极大地拓展了神经网络能够适用的范围,也导致了神经网络被大量的应用。当然了,反向传播算法也不是万能的。在80年代后期,人们终于触及到了性能瓶颈,在利用反向传播算法来训练深度神经网络(即具有很多隐含层的网络)时尤为明显。在本书后面的章节中我们将会看到现代计算机以及一些非常聪明的新想法是如何让反向传播能够用来训练深度神经网络的。 Source: 为什么说反向传播算法很高效 · 神经网络与深度学习 原文无公式, 对照英文原文: Neural networks and deep...
- 为什么反向传播比前向传播更高效
- MLP-多层感知机
D2L-17-MLP-多层感知机
Multilayer Perceptron 2022-02-12 Tags: #MultilayerPerceptron #DeepLearning #Perceptron 隐藏层 从线性到非线性 用 分别代表输入层, 隐藏层和输出层, 带偏置的模型可以表示如下: ...
- 权重衰减
D2L-22-权重衰减
权重衰减 2022-02-12 Tags: #Regularization #DeepLearning 权重衰减就是利用 范数进行 正则化, 避免过拟合 权重衰减是通过减小目标参数(weights)的大小来实现正则化的, 这也是其名称的由来. 参数的范数代表了一种有用的简单性度量。 Links: - Part.18RegularizationIntuition(ML_Andrew.Ng.).md) - Part.19RegularizedLinearRegression(MLAndrew.Ng.).md) Intuition Norm in Regularization - Intuition 这项技术通过函数与零的距离来衡量函数的复杂度, 因为在所有函数 ...
- 数值稳定性
D2L-24-数值稳定性
深度学习里面的数值稳定性 2022-02-17 Tags: #DeepLearning #NumericalComputing 问题的由来 数值稳定性的问题发生在反向传播的时候. 对于一个很深的模型, 计算在损失 关于第 层权重 的梯度的时候, 如果第 层关于输出较远, 则结果由许多矩阵乘法构成, 这会导致梯度爆炸或者梯度消失. 考虑如下有 层的神经网络 $$\mathbf{h}^{t}=f{t}\left(\mathbf{h}^{t-1}\right) \quad...
- D2L-25-让训练更加稳定-Xavier初始化
D2L-25-让训练更加稳定-Xavier初始化
让训练更加稳定 2022-02-18 Tags: #DeepLearning 要点 因为我们无法改变梯度问题的根本原因, 所以我们的目标是将梯度的值控制在一个合理的范围内. 改进方向 将乘法变加法: 如ResNet, LSTM 归一化: 梯度归一化, Gradient Clipping-梯度剪裁 合理地初始化权重并选择合适的激活函数: 初始化方案的选择在神经网络学习中起着举足轻重的作用, 它对保持数值稳定性至关重要。 此外,这些初始化方案的选择可以与非线性激活函数的选择有趣的结合在一起。 梯度归一化 目标: 我们可以将每层的输出 和梯度 $\frac{\partial...
- D2L-25-让训练更加稳定-Xavier初始化
- 经典模型
# English
# Paul Graham
# Blog as Network
- Feel free to explore the graph below!