- 博客(11)
- 收藏
- 关注
原创 注意力权重计算的原理及实现
计算注意力汇聚的输出为值的加权和:把查询query和每一个键key都做一个注意力评分函数a,会得到一个个值,叫注意力分数,把全部这些值经过softmax就可以得到注意力权重,把注意力权重和对应的值value进行相乘再求和就可以得到输出了。
2025-03-18 18:42:58
427
原创 Seq2Seq原理及实现
训练和推理时候的解码器Decoder会不一样,因为训练的时候模型可以拿到完整的真正的翻译后的句子,因此每一时刻的输入都可以用的是真正的那一时刻的token来做预测;但在推理的时候,不知道翻译后句子长啥样,只能自己一步步往后推,因此会把当前时刻预测出来的值作为下一时刻的输入。Seq2Seq的编码器Encoder是一个RNN,用来读取句子的输入,并且可以是双向的。其解码器Decoder使用另外一个RNN,它有自己的输入,用来输出翻译后的句子。,我们在这个张量的最前面增加了一个维度,使其形状变为。
2025-03-14 19:12:39
695
原创 RNN原理及实现
当前时刻的输入和结合过去时刻的输入来做出一个输出,此输出表示的含义是预测出来的下一个时刻的序列值。在RNN中,过去看到的信息存在隐/潜变量之中。这种情况就是当前时刻的标准结果值yt是下一个时刻的输入/观察值xt+1,所以是当前时刻模型的输出ot和下一时刻的观察值xt+1进行比较来计算损失。tips: 上图可以脑海中想象把观察的蓝色行整体向右平移一个单位,这样时刻就对齐了。
2025-03-10 15:51:53
406
原创 目标检测之边缘框及数据集
目标检测的任务是尝试去看一下这个图片里面到底有那些东西/物体,识别图片里面所有我们感兴趣的物体,是一只猫或者是一只狗等等,而且不仅如此,目标检测还需要把物体在这个图片中的位置给找出来,用方框来框定位置。
2025-02-04 16:00:51
727
原创 深度学习之微调及代码实现
因此在目标数据集上训练目标模型的时候,首先网络架构要同预训练的模型的一样,比如都使用resnet18模型,然后在模型权重初始化的时候,将特征抽取部分的模型权重全部都copy预训练模型的,而最后面输出层的权重可采用随机初始化来从头训练,因为目标数据集的labels很大可能是同源数据集不一样的,因此输出层不能copy。模型的网络架构可以简单的分成两个部分,如下图所示,一个部分是靠近数据集开始的第1层一直到最后第L-1层,这部分是用于进行数据的特征抽取的,并且此特征抽取是可学习的;
2025-01-22 16:36:30
961
原创 使用图像增广训练CIFAR10数据集
训练比测试多了一个RandomHorizontalFlip随机水平翻转,两者都需要调用ToTensor()变换。和。此外,还有其他存储格式,如 OpenCV 使用的格式、原始二进制格式等,但这三种是最常见的。是一种常用的图像变换操作,主要用于将图像数据从 PIL 图像或 NumPy 数组的形式转换为 PyTorch 的张量()形式,以便后续可以被 PyTorch 的模型和函数直接处理。
2025-01-21 19:42:29
516
原创 深度学习硬件之CPU与GPU
显卡(图形处理单元,GPU,Graphics Processing Unit)是计算机中的一个硬件组件,负责处理图形相关的任务。它主要用于生成图像、渲染视频、以及进行图形和视觉计算。显卡的工作不仅限于输出计算机屏幕上的图像,还在很多计算密集型任务中发挥重要作用,例如视频编辑、3D建模、游戏渲染、以及人工智能训练和推理等。简而言之,显卡是计算机系统中专门用于处理和输出图像的设备,同时也可以在某些计算密集型任务中提供加速。
2025-01-20 21:04:18
292
原创 残差网络 ResNet
也就是图中“短路”那一条线,好似一条快捷通道一样。在该条通道上有的需要经过1x1卷积层,有的不需要,判断标准是虚线框内卷积层的参数设置,如果需要更改输入的通道数及宽高(一般是高宽减半,通道数加倍),那么就需要加上1x1的卷积层来对输入同样进行高宽和通道数的增减处理,这样到后面才能进行相加操作。其中,网络结构如下:(print(net)即可)
2025-01-19 17:35:11
772
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人