- 博客(31)
- 收藏
- 关注
原创 visual prompt tuning和visual instruction tuning
visual instruction tuning:目的是提高模型的听从指令的能力visual prompt tuning:作为一种微调手段,其目的是节省参数量,训练时需要优化的参数量小。
2024-09-17 00:55:36
517
原创 tensor repeat和expand操作 对某个维度进行复制
repeat()函数需要写清楚各个维度要复制的次数。expand()函数要写清楚复制完后的维度是多少,且要复制的那个维度原先必须是1。
2024-09-08 21:59:35
484
原创 tensor view和reshape操作
差异:view速度更快;但view需要确保内存连续才可以处理,所以在view之前对tensor进行contiguous()操作,而reshape不连续也可以处理tensor,其会自己处理成连续tensor。共同点:view和reshape都可以变换维度。
2024-09-08 21:44:49
206
原创 GQA (group query attention)
group query attention1.group有几组2.每个group对应几个head3.q以head为单位 k,v以group为单位 每个head/group特征维度都是head_dim
2024-09-08 21:40:28
795
原创 RLHF 基于人类反馈的强化学习
1 针对一个问题,生成多个答案:针对某个问题,由一个大语言模型生成多个答案/或不同大语言模型针对该问题生成答案。上述人工/标注模型 起到标注顺序的作用,给定排序的真实标签。2 生成有排序的数据集:得到了一个问题的多个答案,人工/标注模型 对好的答案打高分,差的答案打低分,这样相当于根据答案的好坏对多个答案进行排序(ranking)。3 训练奖励模型,让奖励模型对大语言模型生成的答案打分:让奖励模型学习什么是好答案,什么是坏答案,对好的答案给高分。
2024-07-10 00:39:56
142
原创 求导(前向求导和反向求导)
多次前向求导才能求得z对x1,x2,x3的导数;一次反向求导即可求得z对x1,x2,x3的导数。前向求导:一个输入对所有结点的影响。反向求导:所有结点对一个输出的影响。
2024-05-11 07:24:34
1727
原创 dropout训练阶段和测试阶段
原理:训练阶段dropout启动。在前向传播过程,dropout模块对于输入的每个数,都会以概率p将该数置0,如果该数被置0则输出0,如果该数未被置0则把该数乘上1−p1作为输出。
2024-05-11 01:06:03
1180
原创 VQ-VAE
VQ-VAE:1. 用于压缩编码,编码出离散隐向量(有用的表征)2. 先验分布不再固定,可学习,离散的均匀分布。不像VAE中,先验分布是一个标准的高斯分布。3. 避免后验坍塌,即输入任意隐变量解码器输出都一样。
2023-12-16 19:25:38
246
原创 import logging
logging利用basicConfig的基础使用,以及利用logger,handler,Formatter和filter来控制输出日志信息到控制台与文件。
2023-11-28 01:01:42
128
原创 插值上采样+普通卷积
上采样通常有两种方式:一种是插值;一种是转置卷积,即利用深度学习让神经网络学习参数。本文给出了最近邻插值+卷积的代码实现。介绍了转置卷积存在的不足:棋盘效应
2023-11-19 04:19:40
162
原创 关于用None拓展维度
pytorch当中,如果是两个维度不同的1维张量,没办法做广播运算。但是如果把一维张量增加一个维度,变成二维张量,就可以做广播运算了。如何增加维度呢?这时就需要利用None。
2023-11-14 12:24:45
136
1
原创 Transformer
Transformer是一个纯使用注意力机制的编码器-解码器。编码器和解码器都有n个transformer块。每个块内:有基于位置的前馈网络FFN全连接层(1x1卷积),多头注意力,有自注意力也有一般的attention,残差连接让网络更深,层归一化,位置编码。
2023-04-02 03:07:11
190
原创 自注意力和位置编码
自注意力self-attention和一般attention区别仅在于:自注意力的“自”,就是key,value,query都来自 自己。自注意力适合处理很长的序列,因为最长路径O(1)(站在某个节点上,走1步到达的节点,站在这个节点上,就可以看到很宽的序列/可以得到很宽的序列的信息。任何输出可以看到整个序列信息),但计算量大。自注意力没有记录位置信息,将位置编码注入输入。
2023-04-01 21:57:55
294
原创 深度RNN和双向RNN
深度循环神经网络使用更多隐藏层来获得更多的非线性,这点同样可以迁移到GRU和LSTM上。双向循环神经网络可以利用反向的时间信息;通常用于对序列做特征抽取,填空,而不是预测未来。
2023-03-30 21:12:07
307
原创 批量归一化 BN层
一般来讲,梯度会是比较小的数值,反向传播到越底层,梯度越小,这就导致了一个问题:顶层梯度大些,收敛快,底层梯度小,迭代收敛慢。当上层收敛快时,下层收敛慢,下层一有一点改变,上层就白训练了。需要批量归一化去解决这个问题。
2023-03-30 00:33:26
142
原创 GRU和LSTM
GRU是在LSTM后提出的,效果上GRU和LSTM差不多,用谁都差不多。两网络本质都是在权衡要不要忘记过去的状态,尽量去看现在的输入数据。GRU和LSTM就是在隐状态的计算上和RNN不同,其他都一样,所以下文重点关注和RNN的不同之处,即Ht的计算上。
2023-03-28 21:38:01
479
原创 语言模型 Language Model
语言模型是NLP当中的经典模型。给定文本序列,x1可能是词也可能是字符。语言模型的目标是估计联合概率,即估计整个文本出现的概率。
2023-03-27 17:17:10
231
原创 序列模型(马尔可夫,潜变量)
序列数据:有时序结构的数据,当前数据和之前观察到的数据相关。如:音乐,文本,语言都是连续的。序列模型:马尔科夫假设;潜变量模型。
2023-03-27 15:43:36
539
原创 池化层(类型+超参数)
二维最大池化:返回滑动窗口中的最大值,提取每个窗口中最强的模式信号。平均池化层:因为平均了,比较柔和。池化中三个超参数:窗口大小,padding, stride。没有需要学习的参数。总结:池化类型2种。池化可以改善卷积对于位置的敏感性。通常池化层在卷积层之后。
2023-03-26 19:43:46
973
原创 卷积概念和几个超参数
卷积两个关键:权重共享/平移不变性,局部性。几个相关超参数:kernel_size,stride,padding,out_channels.
2023-03-25 23:02:15
331
原创 数值稳定性(梯度消失,梯度爆炸)
梯度消失的问题:1梯度值变成0,对float16尤为严重 2 一旦梯度消失,不管如何调整学习率都无法更新权重,训练无进展 3可能造成顶层训练好,底层(更深层)由于梯度的消失而训练不好。想要实现合理的权重初始和激活函数,一个想法是将每层的输出和梯度看作随机变量,让各层输出的均值和方差保持一致,让各层梯度的均值和方差也一样。梯度爆炸的问题:1值超出值域,特别是对于float16尤为严重 2对学习率敏感,可能需要在训练过程不断调整学习率,一开始学习率可以大一些,后面学习率小一点。是第t层权重的方差,
2023-03-25 17:41:57
237
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人