2023/8/26
dc9fcc9c819d5a4f43fe8e7daa086cf61d64277f53779768f95dc77b0be8b39c105c36c28322a40f87bfe34ec821ccecc219cb76a9025884217b0a0b8e279771b769e25a971178ef2a5d16899edf242680612c2755385a04067006ecee72b0fa0fff1fd9ba04063a2c9c1978181574b2c6bcaf664b9d85736ee7ecf85607fa874deaed5179630046de71072342c4779fb25c0e609f7f2baabd82d484424e9b8fa90336d862330641b27870f7ab24059ba4cfdebc408d7e6e39ff1f785a38fbd6b215190e5c4d58cbf1e0e81e044d342f6f62f6dd85e5be9f63f2b20ada845007af7a5bb37535a090d125b769542caed182cf13ba94aecbd10 ...
Multimodal Distillation
dc9fcc9c819d5a4f43fe8e7daa086cf61d64277f53779768f95dc77b0be8b39c105c36c28322a40f87bfe34ec821ccecc219cb76a9025884217b0a0b8e279771b769e25a971178ef2a5d16899edf242680612c2755385a04067006ecee72b0fa0fff1fd9ba04063a2c9c1978181574b2c6bcaf664b9d85736ee7ecf85607fa874deaed5179630046de71072342c4779fb25c0e609f7f2baabd82d484424e9b8fa90336d862330641b27870f7ab24059ba4cfdebc408d7e6e39ff1f785a38fbd6b215190e5c4d58cbf1e0e81e044d342f302d30cba6a982649d1049da793e1d05
Hey, password is r ...
2023/7/1
dc9fcc9c819d5a4f43fe8e7daa086cf61d64277f53779768f95dc77b0be8b39c105c36c28322a40f87bfe34ec821ccecc219cb76a9025884217b0a0b8e279771b769e25a971178ef2a5d16899edf242680612c2755385a04067006ecee72b0fa0fff1fd9ba04063a2c9c1978181574b2c6bcaf664b9d85736ee7ecf85607fa874deaed5179630046de71072342c4779fb25c0e609f7f2baabd82d484424e9b8fa90336d862330641b27870f7ab24059ba4cfdebc408d7e6e39ff1f785a38fbd6b215190e5c4d58cbf1e0e81e044d342f67d51210e07080c63be4f114291d250a6aa54dc630665dd637f28e05356fb4b9818dc8d7f693c15b1 ...
Diffusion 从入门到入土
Introduction
Creating noise from data is easy; creating data from noise is generative modeling – Songyang
这是一份关于Diffusion model的教程,和市面上很多教程不太一样的是,我会着重从high level的角度介绍如何去从0开始根据一些principle idea来推导出模型的结构,对于过于细节的math可能会一笔带过,因为对我来说这并不是重点。
Diffusion模型可以算是最近几年最为强大的生成模型,无论是理论推导,还是实际工程效果,无不透露出一种特殊的美感,我第一次接触diffusion模型其实并不是从变分框架的角度,而是从随机微分方程(SDE)的角度看待加噪和去噪的过程,这种随机中蕴含的确定性可逆的特性深深吸引了我,也驱使着我探究这份来源于物理学的美。
因为这个领域并没有自顶向下一次性提出一个完整的理论,实际上是由不同的视角逐步探索,最后收敛于同一个框架,用SDE去解释也是2021年才提出的,网上的很多tutorial对这个角度可能都不是很详细,为了记录我 ...
MiniGPT-4
介绍minigpt-4代码以及涉及到的语言模型和Blip-2
MiniGPT-4
minigpt-4作为究极缝合怪,就是Blip-2的LLM换成了Vicuna,然后重新训练一下linear层,加上点工程的trick。其对应的模型结构不难理解,首先来看初始化部分,利用freeze的VIT、Q-Former以及LLAMA语言模型,其中加一个简单的线性映射保证维度一致。
加载VIT
1234567891011121314151617print('Loading VIT')# 首先由参数文件初始化VITself.visual_encoder, self.ln_vision = self.init_vision_encoder( vit_model, img_size, drop_path_rate, use_grad_checkpoint, vit_precision)# 这里我们选择是冻住模型参数,因此就把对应模型置为eval模式,并从grad图中去掉if freeze_vit: for name, param in self.visual_encode ...
A Brief introduction to Contrastive Learning
dc9fcc9c819d5a4f43fe8e7daa086cf61d64277f53779768f95dc77b0be8b39c105c36c28322a40f87bfe34ec821ccecc219cb76a9025884217b0a0b8e279771b769e25a971178ef2a5d16899edf242680612c2755385a04067006ecee72b0fa0fff1fd9ba04063a2c9c1978181574b2c6bcaf664b9d85736ee7ecf85607fa874deaed5179630046de71072342c4779fb25c0e609f7f2baabd82d484424e9b8fa90336d862330641b27870f7ab24059ba4cfdebc408d7e6e39ff1f785a38fbd6b215190e5c4d58cbf1e0e81e044d342f302d30cba6a982649d1049da793e1d05
Hey, password is r ...
飞桨学习赛:产品评论观点提取
dc9fcc9c819d5a4f43fe8e7daa086cf61d64277f53779768f95dc77b0be8b39c105c36c28322a40f87bfe34ec821ccecc219cb76a9025884217b0a0b8e279771b769e25a971178ef2a5d16899edf242680612c2755385a04067006ecee72b0fa0fff1fd9ba04063a2c9c1978181574b2c6bcaf664b9d85736ee7ecf85607fa874deaed5179630046de71072342c4779fb25c0e609f7f2baabd82d484424e9b8fa90336d862330641b27870f7ab24059ba4cfdebc408d7e6e39ff1f785a38fbd6b215190e5c4d58cbf1e0e81e044d342fddb94124de8eb347540556b51feeb0a56116ddf8753bfbe4bd1e5c73c81b0cc3aa5ea569d652a3d91 ...
Hey, this is why LSTM works!
Introduction
首先谈一谈我对于神经网络结构改造的想法,其实和物理、化学这些理科不一样,很难说有什么支撑性的理论基础来引导模型的设计,深度学习更看重的是实际工程效果怎么样。据我所知对于文本和图像这种数据,人们还并没有那种完全式的掌握和理解,其实也是通过各种模型工具来窥知一二。所以深度学习的理论分析大多都是很泛的,因为针对某类具体问题压根没有对应的完备理论性知识。
深度学习的思维是针对已有模型的问题,通过引入一些归纳偏置(可能来源于数据的特性,可能来源于对模型的理解)来增加结构,去尝试work不work,如果确实有效再看看是不是真的符合预期假设的那样。所以这个过程更类似于engineer,而不是theory analysis。因此就会导致有些有效的网络模型看起来就感觉没有物理学中的美感,更像是各种naive idea和trick叠加的产物,研究的流程就是先跑个好结果然后再编个好故事,老是被其他专业诟病成炼丹。(摊手┑( ̄- ̄)┍)
平时接触最多的是把已有的网络模型魔改去解决具体问题,而设计一个全新的网络结构去解决一类问题看起来显然更有趣也是难度最大的,目前已有的网络大致可以分为 ...
2023 deep learning
去年算是刚初步接触deep learning,今年从头跟cmu学的过程中发现有了更加深入的思考,对于之前浅尝辄止的思路又有了新的认知,可能每年对这个领域都会有新的理解吧 :),这个blog会记录我今年在学习中总结的idea和knowledge,具体的形式应该是类似于综述。
暂时鸽~
HW3P1
Lecture
Lecture 13: Time Series and Recurrent Networks
对于时序或者序列输入的问题,在很多情况下都需要考虑整体性,也就是序列前会对序列后产生影响,前后元素的对照等因素。
所以为了解决这些问题,设计的神经网络不仅要考虑到当前输入,也要兼顾之前序列的输入,比较简单的想法就是用CNN那几讲说过的Time Delay NN,也被称为finite response system,Something that happens today only affects the output of the system for days into the future. 这样设计的缺点也是很明显,那就是单个输入不会长久影响输出,所以接下来就会介绍infinite response system。
为了做到A single input influences the output for the rest of time, 最简单的思路就是把输出重新喂回网络中,这也被称为NARX network,nonlinear autoregressive netwo ...
HW2P2
Introduction
Problem Restatement
这次作业的任务是图像分类(classification)和图像认证(verification),值得注意的是这个分类任务是closed set problem,图像一共有7000种类别,每个图像的主体都会出现在训练集中,在测试集中该主体的图像会和测试集中的有所不同。认证的任务是open set problem,下面的图解释了这两种问题的差别。对于verification我们关注的点并不是所属哪个类别,而是这个datapoint能与其他datapoint比较的metric值。除了这点外,verification和classification的区别还在于verification是允许一对多match的,也就是一个sample和多个identity匹配,而classification只是一对一。
关于这两种任务的差别,指导书解释了一堆,有点冗余🤔
Solving Problems
分类问题利用传统的方法解决就行:
A face classifier that can extract feature vectors fr ...
HW1P2
Introduction
这次的作业是利用MLP完成语音识别的任务,具体的流程大体可以分成三个部分,第一是数据处理,将原始的numpy数组处理成torch的标准输入格式,第二部分是网络搭建,第三部分是调参+网络结构优化。
输入数据代表特征的一些细节指导书上写的很细了,这里不会说太多。
Part 1
原始文件的格式是这样的:
1234567891011Data folder|--dev-clean|--test-clean|--train-clean-100| |--mfcc| | |--0019-000198-000.npy| | |--0019-000198-001.npy| | |-- ... more files| |--transcript| | |--0019-000198-000.npy| | |--0019-000198-001.npy
具体可以看kaggle data,下面我将展示npy文件的具体内容。首先介绍如何逐一读取训练集和测试集下的文件:
123datapath = 'dev-clean' # or 'train-clean-100 ...