avatar
Articles
103
Tags
32
Categories
26

Home
Archives
Tags
Categories
Link
About
detect
Search
Home
Archives
Tags
Categories
Link
About

detect

Accelerating Techniques for self-Attention
Created2023-12-29|DLLee's notes|机器学习
Accelerating Techniques for self-Attention detect0530@gamil.com 计算量和耗时 当输入序列很长时,在key和query计算dot-product时候计算量非常的大。(瓶颈) 当input的sequence数量很大时,transformer模型中self-attention组件是最耗时的,也就是运算量的瓶颈,那么如果我们加快self-attention的运算速度,就可以加快整个模型的训练速度。 加快 Self-Attention运算的方法 Skip some calculation with human knowledge 也许不需要把attention matrix所有值都算出来。 Local Attention 举个例子,如果只有sequence相邻的部分才有作用: 相当于每次做attention只看一个小范围的区域。但是这样做的话,和CNN就没什么区别了,也就是说虽然这样可以提速,但是效果不一定会很出色。 Stride Attention 同时也可以隔固定x位置看一下。 Global Attention ...
Transformer
Created2023-12-29|DLLee's notes|机器学习
Transformer detect0530@gmail.com Sequence to Sequence (seq2seq) 输出的长度是可变的,让机器自己判断该输出多少内容。 这种类型的模型能做非常多的事情。能在自然语言、音频、图像等领域广泛的应用。具体的例子暂且不展开。 Transformer也是一种Seq2Seq模型,但是它的结构和传统的RNN模型不同。它是基于Attention机制的,而不是RNN。 网络结构 Encoder 原始的transformer里面encoder更复杂 右边就是一个block里面的内容,实际上在encoder中种这样的block会做n次。 Decoder 一开始会用BOS作为输入,然后会产生一个输出,然后把这个输出作为下一次的输入,然后再产生一个输出,然后再把这个输出作为下一次的输入,一直这样做下去,直到产生EOS为止。 解释一下图中的Masked,实际上Masked就是在self-attention的时候,不让它看到后面的内容。因为在预测的时候,decoder产生的东西是一个一个产生的,后面的内容是不知道的,所以在训练 ...
Batch Normalization
Created2023-12-28|DLLee's notes|机器学习
Batch Normalization 为什么会难训练 一种可能是,不同参数的斜率差别很大,导致learning rate设小设大都不好。 比如:当x1x_1x1​和x2x_2x2​数值范围差异很大时,就会导致w1w_1w1​,w2w_2w2​出现上述情况。 Feature Normalization 对数据集的每一个维度(特征)进行Normalization。保证不同维度的原始数据不会差异数量级。 同时我们也希望对中间输出的结果进行normalization,因为输出的结果也会被当做input去处理训练新的参数。 实际上,一旦我们最数据进行了Normalization,那么这些数据接不能独立计算了,他们被耦合成了一个整体。但是如果把所有数据一下拿去训练,显存会爆。 于是我们采用batch的形式,比如一次训练64组数据,对这64组数据形象normalization处理区更新参数。 使用batch normalization适用于batch size比较大的时候,因为要算均值和标准差。 在实际中,我们还会加上一个参数γ\gammaγ和β\betaβ,来控制normalizat ...
Word Embedding
Created2023-12-28|DLLee's notes|机器学习
Word Embedding detect0530@gmail.com 对word的编码是困难的,用one-hot维数太高,分类的话类别也太多,一个单词会出现的很多类中, 于是,我们希望把word project到一个空间中,类似语义的词汇在space里是接近的。且每一个特定的维度有一定的意义。 但是,我们只知道输入,不知道输出。所以我们需要一个神经网络来学习这个project的过程。 可以用auto-encoder吗? 弄一个encoder和decoder然后输入等于输出去训练。最后把encode拿出来就可以了? 是不行的。 比如你用one-of-N encoding来说,每一个单词都是独立的,把这样的vector做auto-encoder,没法train出一些有用的特征分布来编码。(根源在与基础的编码方式是独立无关的,同时如果用n-gram来表述一个单词,也许可以抓到一些前缀后缀字母组的含义,但是效果肯定不好,不会这么干) 我们更希望从训练文本里,结合上下文找出相似关系的word。 一些基于上述思想的方法 Count based Predict based 我们要 ...
Recurrent Neural Network(RNN)
Created2023-12-27|DLLee's notes|机器学习
对单词的编码 one hot (拉胯) Beyond for 1-of-N encoding 于是我们可以暴力使用feedforward network来做这件事情。用输出的分类概率来表示每个词语的slot。 但是有个问题,一个单词在不同的语境有不同的slot。 于是,我们希望模型是有记忆的,也就是可以根据上下文产生不同的output。(对同一input) 于是,这种有记忆的model被称作Recurrent Neural Network(RNN)。 当然也可以是双向的。 这样一来,产出时模型关注的范围就比较广了(单向->双向了) 。 常见的形式 输入的参数还包括三个gate,分别是input gate, forget gate, output gate。 只要forget gate的值不为0,就会不更新memory cell的值,可以记得更久。 具体的一种实现: (蓝红数字即weight和bios都是training得到的) 举例,当输入向量为[4,1,0][4,1,0][4,1,0] 将LSTM运用刚在RNN里面。 RNN遇到的一些问题 有时候 ...
Crypto Note
Created2023-12-26|NJU courseCrypto|note
Crypto note detect0530@gmail.com DH key-excahnge protocol 一些公钥系统的安全性定义 这里A甚至可以选择把m0,m1都用pk加密一遍,因为它是CPA,所以这样做是可行。(侧面说明确定性的加密方法在这里不适用) CCA security EI Gamal Encryption 注意我们在Gen过程中,随机选择了x,这样就可以保证每次加密的结果都不一样,这样就可以避免确定性加密的问题。 但是很遗憾,其不是CCA安全的(个人感觉Dec函数过于简单不是件好事) RSA Plain RSA plain RSA是有问题的 是确定性算法 规约假设中密文是均匀取样才能保证安全性,但是在palin rsa中m不是 Padding RSA 一种实现方法: 打乱了m的分布,同时引入随机性! 例题 数字签名,只要能伪造即可。 一般就是先问几个,然后拼接/运算。 solution 发现这个题希望我们规约到DDH问题。 于是我们分析原问题哪里喝DDH问题相似。 原问题引入b=0/1,分别代表了(gx,gy, ...
IntroAI_HW4 Freeway_Game Lab_Report
Created2023-12-06|NJU courseIntroAI|HW
报告题目:Freeway Game detect0530@gmail.com 2023年12月 1 引言 强化作为机器学习比较新的一个分支,广泛用于游戏ai中,本次实验,将以Freeway Game作为例子,运用强化学习的方法,训练一个能够自动玩游戏的ai。 2 实验内容 2.1 Task1 2.1.1.0 阐述强化学习的方法与过程 实验Sample code采用的是传统的Q-learning方法,Q-learning是一种基于Q值的强化学习方法,其核心思想是通过不断的迭代,更新Q-table,最终得到一个最优的Q-table,从而得到最优的策略。 具体来说,需要维护Q-tabke来辅助决策,Q-table记录了每个statement对应每个action的打分。这一步我们引入了三个东西: 状态 : 指游戏或模型中不同的状态定位,当然在特征工程的帮助下,也可以看作特征, action : 指游戏/模型规定的运作方式。 打分 :又涉及heuristic函数,来对当前状态以及action评分。 Q-learning 强化学习算法流程: 第一步设计对状态的评估函数Q ...
演化算法HW3-复杂度&期望运行时间理论分析
Created2023-12-06|NJU courseHSEA|HW
Homework 3 detect0530@gmail.com 1. 证明No Free Lunch(NFL)定理 整体思路采用归纳法,首先,让我们证明: ∑fP(d1y∣f,m=1,a)=∑fμ(d1y,f(d1x))\sum_fP(d_1^y|f,m=1,a) = \sum_f\mu(d_1^y,f(d_1^x)) f∑​P(d1y​∣f,m=1,a)=f∑​μ(d1y​,f(d1x​)) μ\muμ函数代表指示函数,成立时为1,反之为0。 注意这里的dxxd_x^xdxx​是由aaa(算法)决定的。 因为f函数有个sum up,故上述式子的可以化简为∣Y∣∣X∣−1|Y|^{|X|-1}∣Y∣∣X∣−1,与aaa无关! 接下来,按照归纳法,我们假设∑fP(dmy∣f,m,a)\sum_fP(d_m^y|f,m,a)∑f​P(dmy​∣f,m,a)和a无关,然后去证明∑fP(dm+1y∣f,m+1,a)\sum_fP(d_{m+1}^y|f,m+1,a)∑f​P(dm+1y​∣f,m+1,a)也和a无关。 首先变化一下式子: P(dm+1y∣f,m+1,a)=P(dm+1y( ...
Self-Attention机制
Created2023-11-28|DLLee's notes|ML
Self-Attention 机制 场景 输入不只是一个向量,有可能是一个向量组,且向量长度和向量组集合大小都不确定。 比如文本输入,一段文本可以看作是一个向量组,每个向量是一个词向量,向量组的大小是文本的长度。 但是这些文本如果按照简单的编码是不定长,且文本的order对其解读有很大影响。传统的输入方式以上特征都无法满足。 (to learn more: word embedding in weblink) 又比如声音信号:(也是一堆向量组成的向量组) 图也可以作为,比如人际关系图中,每个人的attributes可以看作是一个向量。同时向量之间是有联系的。 一些输入输出的例子: 每个向量都有输出 e.g. 词性判断、语音识别、购物推荐 只输出一个lable就好 e.g. sentiment analyisis、speaker recognition 机器自己决定输出(sequence to sequence) e.g. 翻译、语音辨识 初步考虑 Windows 如果我们需要关联上下文,是不是开一个足够大的windows就好了呢? 如图我们开了一个全连接的wi ...
贝叶斯网络与MCMC近似
Created2023-11-27|MathBayesian Network and MCMC|ML
贝叶斯网络的结构 计算联合分布: 有利于减少参数量。(因为计算中每个节点只与父节点相关) 贝叶斯网络的建立 按照上述方式至少可以建DAG,但是想让图最自然同时边最少,需要按照逻辑拓扑序建图。 反过来也说明贝叶斯网络对图如何建立的不敏感。 贝叶斯网络的性质 流动性特点: X,Y为节点,Z为观测变量的集合 有效迹 更具流动性的特点,可以引入d-分离的概念。 定理1:父节点已知时,该节点与其非后代节点条件独立。(根据有效迹可以判断) 定理2:Markov blanket:Each node is conditionally independent of all others given its Markov blanket: parents + children + children’s parents 计算条件独立时可化简 计算条件概率时,可以通过条件独立大大化简原式子。(每个部分的概率只依赖于不多的与之相关的节 点)。 特别需要注意下: 在给定G时,D与I是有流动性的,此时D与I是不独立的。 反之,若不给定G,D与I之间没有有效迹,是独立的。 虽 ...
1…789…11
avatar
Richard
If you can't explain it simply, you don't understand it well enough.
Articles
103
Tags
32
Categories
26
Follow Me
Announcement
blog is buliding!
Recent Post
Math Guide2025-06-28
Positional Encoding2025-06-26
Auto-encoder2025-06-09
矩阵计算2025-06-09
好运设计2025-05-30
JAX base2025-05-06
Python Multiprocess2025-05-05
C++ Embedding Python2025-05-05
Python tips2025-05-01
Pandas Tips2025-05-01
Categories
  • DL17
    • Lee's HW1
    • Lee's notes15
    • code1
  • Math1
    • Bayesian Network and MCMC1
  • NJU course11
    • Crypto1
Tags
实验报告 实习 nju linux LLM catalog GAN tool python hexo resume mathbb ml math c++ ML algorithm git 随笔 OS 神经网络 diffusion DS HW GPT paper Metabit 机器学习 RL Quant note vim
Archives
  • June 20254
  • May 20256
  • March 202510
  • February 20252
  • January 20256
  • October 20245
  • June 20241
  • May 20243
  • April 20243
  • March 20248
  • February 20246
  • January 202416
  • December 20238
  • November 20237
  • October 20233
  • September 20237
  • July 20233
  • June 20234
  • March 20231
Info
Article :
103
Run time :
Total Count :
267.1k
Last Push :
©2020 - 2025 By Richard
Framework Hexo|Theme Butterfly
Search
Loading the Database