![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习笔记
文章平均质量分 71
Angelina_Jolie
这个作者很懒,什么都没留下…
展开
-
浅谈人工智能的趋势和展望
(1)预训练语言模型(2)视觉和多模态预训练(3)预训练模型的应用(1)可信:小模型时代的价值对齐(2)大模型时代的价值对齐(1)预训练获得基础能力,强化学习进行价值对齐(2)预训练模仿人类,强化学习超越人类(1)“真”多模态:从微调回归预训练(2)系统一 vs. 系统二(3)基于交互的理解和学习(4)超级智能 vs 超级对齐1956年的达特茅斯会议将“”定义为“这一定义催生了模仿人类智能的两种思路-逻辑演绎和归纳总结,它们分别启发了人工智能发展的两个重要阶段:(1)1960至1990年,原创 2024-05-23 15:05:45 · 1052 阅读 · 0 评论 -
总结优秀的prompt案例,学习更有效的prompt提示词工程写法,值得收藏
上面的一些提示词,我总结到了文档,不方便回复的,后台回复prompt可以获取。结构化的表达、角色设置、workflow、某些咒语、限制是上面提示词的通法,具体问题具体分析,不见得都一定有效,就比如业务上的一些,可能简短的提示词就已经ok了。原创 2024-05-23 14:54:58 · 914 阅读 · 0 评论 -
ICLR 2024爆火!杰出论文出炉!
然后通过仔细编排沿不同轴的丰富数据,本文表明 UniSim 可以成功地合并不同轴数据的经验并泛化到数据之外,通过对静态场景和对象的细粒度运动控制来实现丰富的交互。作者提出了这种现象发生的关键假设,并提供了一个简单而优雅的解决方案,使用额外的 register tokens 来解决这些痕迹,从而增强了模型在各种任务上的性能。,是朝着这个方向迈出的重要一步,也是一项工程壮举,它利用了基于视觉感知和控制的文本描述的统一接口来聚合数据,并通过利用视觉和语言领域的最新发展来训练机器人模拟器。原创 2024-05-19 09:42:37 · 635 阅读 · 0 评论 -
ICML 2024 | 文生图新SOTA!Pika北大斯坦福联合推出RPG:多模态助力解决文生图两大难题
论文地址:https://arxiv.org/pdf/2401.11708.pdf代码地址:https://github.com/YangLing0818/RPG-DiffusionMaster论文作者提出了一个全新的免训练文本到图像生成/编辑框架,利用多模态大语言模型(MLLM)强大的思维链推理能力,来增强文本到图像扩散模型的组合性。简单来说,就是能让文生图模型在面对「多个属性和关系的多个对象的复杂文本提示」时表现更出色。原创 2024-05-12 09:13:25 · 855 阅读 · 0 评论 -
低质多模态数据融合,多家机构联合出了篇综述论文
幸运的是,由于多模态数据模态之间的互补性和信息的冗余性,在多模态融合过程中,联合多个模态的信息进行去噪已被证明是行之有效的策略。尽管在传统的多模态融合任务中,不确定性感知的动态融合方法的优越性已经从实验和理论上得到了证明,但是,在SOTA的多模态模型(不限于融合模型,如CLIP/BLIP等)中,动态性的思想还具有较大挖掘和应用潜力。为了充分刻画低质量多模态数据的性质及处理方法,该文章对目前的低质量多模态融合领域的机器学习方法进行了总结,系统回顾了该领域的发展过程,并进一步展望了需进一步研究的问题。原创 2024-05-08 09:52:40 · 808 阅读 · 0 评论 -
全新神经网络架构KAN一夜爆火!
与传统的MLP架构截然不同,且能用更少的参数在数学、物理问题上取得更高精度。比如,200个参数的KANs,就能复现DeepMind用30万参数的MLPs发现数学定理研究。不仅准确性更高,并且还发现了新的公式。要知道后者可是登上Nature封面的研究啊~在函数拟合、偏微分方程求解,甚至处理凝聚态物理方面的任务都比MLP效果要好。而在大模型问题的解决上,KAN天然就能规避掉灾难性遗忘问题,并且注入人类的习惯偏差或领域知识非常容易。甚至直接引出关于的探讨,有人已经准备开始尝试……原创 2024-05-06 15:18:01 · 1049 阅读 · 0 评论 -
PyTorch小技巧:使用Hook可视化网络层激活(各层输出)
通过可视化不同的层,可以评估早期层是否捕获边缘和纹理等基本特征,而较深的层是否捕获更复杂的特征。利用 PyTorch 钩子函数来可视化网络中的激活是一种很好的方式,尤其是想要理解不同层如何响应不同输入的情况下。在这个过程中,我们可以捕捉到网络各层的输出,并将其可视化以获得直观的理解。可视化激活,即模型内各层的输出,对于理解深度神经网络如何处理视觉信息至关重要,这有助于诊断模型行为并激发改进。然后我们加载一个预训练的ResNet模型,并在特定的层上设置钩子函数,以在向前传递期间捕获激活。原创 2024-04-18 17:29:14 · 191 阅读 · 0 评论 -
Transformer的本质图解代码细节全析
尽管宇宙的熵在不断增加,生命体和智能体却能够通过学习在局部范围内实现减熵,即通过摄取和转换能量来增加内部的有序性。Transformer模型正是这样一种智能体,它通过学习数据中的模式和规律,提高了对序列数据的处理能力。本文详细介绍了Transformer模型的所有关键组成部分,并分析了其为什么这么实现,实现的原理是什么。同时每个部分都配有相应的代码实现和解释,希望您能够更深入地理解Transformer模型的工作原理。原创 2024-04-18 17:14:31 · 1003 阅读 · 0 评论 -
Unet++(pytorch实现)
既然Unet++由多个不同深度的Unet++叠加起来,那么随意去掉一层,前向传播的梯度不会受到任何变化,但你发现Unet++第三个输出的效果和第四个输出效果差不多时,那就可以毫不犹豫删去4层深度的Unet++。比如,直接删去图3中棕色部分,就可以实现剪枝。所以,作者提出了deep supervision,也就是监督每一个深度的Unet++的输出,通过一定的方式来叠加Loss(比如加权的方式),这样就得到了一个经由1、2、3、4层的Unet++的加权Loss(图2 不同深度Unet++融合)。原创 2024-04-13 14:29:04 · 554 阅读 · 1 评论 -
谁将替代 Transformer?
2017年谷歌发表的论文《Attention Is All You Need》成为当下人工智能的一篇圣经,此后席卷全球的人工智能热潮都可以直接追溯到 Transformer 的发明。Transformer 由于其处理局部和长程依赖关系的能力以及可并行化训练的特点,一经问世,逐步取代了过去的 RNN(循环神经网络)与 CNN(卷积神经网络),成为 NLP(自然语言处理)前沿研究的标准范式。原创 2024-04-07 15:16:56 · 785 阅读 · 0 评论 -
Vision Transformers的注意力层概念解释和代码实现
在这篇文章中我们完成了ViT中注意力层。为了更详细的说明我们进行了手动的代码编写,如果要实际的应用,可以使用PyTorch中的torch.nn. multiheadeattention(),因为他的实现要快的多。原创 2024-03-10 15:29:58 · 927 阅读 · 0 评论 -
机器学习的12个基础问题
可能有人认为模型超参数就是或者像是模型参数,但事实并非如此。实际上这两个概念是完全不同的。模型参数是从训练数据集建模的,而模型超参数却完全不是这样,其完全位于模型之外而且不依赖于训练数据。所以模型超参数的作用是什么?实际上它们有以下任务:在训练过程中使用,帮助模型寻找最合适的参数;通常是在模型设计时由人工选择的;可基于几种启发式策略来定义。对于某个具体问题,我们完全不知道最佳的超参数模型是怎样的。原创 2023-12-13 15:42:52 · 1302 阅读 · 0 评论 -
浅析特征增强&个性化在CTR预估中的经典方法和效果对比
在CTR预估中,主流都采用特征embedding+MLP的方式,其中特征非常关键。然而对于相同的特征,在不同的样本中,表征是相同的,。为了解决这个问题,CTR预估领域提出了一系列相关工作,被称为特征增强模块。,以适应不同样本的特征表示,提升模型的表达能力。最近,复旦大学和微软亚研院联合发布了一篇特征增强工作的总结,对比了不同特征增强模块实现方法的效果。本文给大家介绍一下几种特征增强模块的实现方法,以及本文进行的相关对比实验。原创 2023-12-13 15:15:41 · 1046 阅读 · 0 评论 -
卷积核的基本概况
在数学上,卷积核的标准定义是其中,函数g一般称为,函数f指的是。在卷积神经网络里,卷积核其实就是一个过滤器,但在深度学习里,它不做反转,而是直接元素的乘法和加法,我们把这个又称为,在深度学习里称为那为什么在图像处理上,需要进行卷积处理呢。实际上是借鉴于科学家的研究结果——上个世纪科学家就发现,视觉皮层的很多神经元都有一个小的局部感受野,神经元只对有限区域的感受野上的刺激物做出反应。不同的感受野可以重叠,他们共同铺满整个视野。原创 2023-12-04 10:18:43 · 1152 阅读 · 0 评论 -
卷积神经网络中用1*1 卷积有什么作用或者好处呢?
使用1*1卷积核,实现降维和升维的操作其实就是channel间信息的线性组合变化,3*3,64channels的卷积核后面添加一个1*1,28channels的卷积核,就变成了3*3,28channels的卷积核,原来的64个channels就可以理解为跨通道线性组合变成了28channels,这就是通道间的信息交互。右侧操作数:w*h*256*1*1*64 + w*h*64*3*3*64 +w*h*64*1*1*256 = 69632*w*h,,左侧参数大概是右侧的8.5倍。(实现降维,减少参数)原创 2023-12-04 10:22:49 · 1288 阅读 · 0 评论 -
attention中Q,K,V的理解
1.首先定义三个线性变换矩阵,query,key,value:注意,这里的query, key, value只是一种操作(线性变换)的名称,实际的Q/K/V是它们三个的输出 2.假设三种操作的输入都是同一个矩阵,这里暂且定长度为L的句子,每个token的特征维度是768,那输入就是(L,768),每一行就是一个字,像这样:乘以上面三种操作就得到了Q、K、V,(L,768)*(768,768)=(L,768),维度其实没变,即此刻的Q、K、V分别为:代码为:3.然后实现这个操作:① 首先是Q和K矩原创 2023-11-29 10:49:50 · 1049 阅读 · 0 评论 -
计算机视觉中的数据预处理与模型训练技巧总结
计算机视觉主要问题有图像分类、目标检测和图像分割等。针对图像分类任务,提升准确率的方法路线有两条,一个是模型的修改,另一个是各种数据处理和训练的技巧(tricks图像分类中的各种技巧对于目标检测、图像分割等任务也有很好的作用,因此值得好好总结。本文在精读论文的基础上,总结了图像分类任务的各种tricks如下:WarmupCutoutAdaBoud其他经典的tricks。原创 2023-10-24 11:21:33 · 993 阅读 · 0 评论 -
传统图像增强三大类别:点增强、空域增强、频域增强
图像增强是图像模式识别中非常重要的图像预处理过程。图像增强的目的是通过对图像中的信息进行处理,使得有利于模式识别的信息得到增强,不利于模式识别的信息被抑制,为图像的信息提取及其识别奠定良好的基础。图像增强按实现方法不同可分为点增强、空域增强和频域增强。原创 2023-10-24 10:27:37 · 762 阅读 · 0 评论 -
解决样本不均衡问题
注:本文主要探讨分类任务的类别不均衡,回归任务的样本不均衡详见《原创 2023-10-24 10:11:32 · 161 阅读 · 0 评论 -
联合概率和条件概率的区别和联系
例如:从 10 个不同颜色的球中选出 1 个绿球的概率是 ¹⁄₁₀, 10个球中选2个绿球的概率(2个绿、2个蓝、2个红、4个黄)²⁄₁₀ × ¹⁄₉(这个排列组合会更清楚)有2%的孩子住在这个三角区。这个问题属于条件概率,因为给定了选择样本空间的条件:创业成本高的国家 n(S) = 87(样本空间), 以上样本空间中的南亚地区国家,即创业成本高的国家:7。在这种情况下,你被撞到的条件概率是概率P(H=撞到|C=红色),即假设灯是红色的,你被车撞到的概率有多大。在这种情况下,样本空间的条件是已经给定的。原创 2023-10-05 14:35:12 · 787 阅读 · 0 评论 -
Transformer的上下文学习能力
s_t 被处理到时间步 t,Transformer (i) 创建一个由输入 - 目标关联对组成的内部训练集,(ii) 通过结果数据集定义内部目标函数,用于衡量内部模型的性能 使用权重 W,(iii) 优化该目标并使用学习的模型生成未来的预测。此外可以看到性能随着深度的增加而显着提高。通过实验对在简单序列建模任务上训练的 Transformer 进行了逆向工程,并发现强有力的证据表明它们的前向传递实现了两步算法:(i) 早期自注意力层通过分组和复制标记构建内部训练数据集,因此隐式地构建内部训练数据集。原创 2023-09-21 16:16:51 · 222 阅读 · 0 评论 -
多模态深度学习:用深度学习的方式融合各种信息
我们对世界的体验是多模态的 —— 我们看到物体,听到声音,感觉到质地,闻到气味,尝到味道。模态是指某件事发生或经历的方式,当一个研究问题包含多个模态时,它就具有多模态的特征。为了让人工智能在理解我们周围的世界方面取得进展,它需要能够同时解释这些多模态的信号。例如,图像通常与标签和文本解释相关联,文本包含图像,以更清楚地表达文章的中心思想。不同的模态具有非常不同的统计特性。原创 2023-08-15 19:43:06 · 120 阅读 · 0 评论 -
浅谈AIGC
AIGC有两项关键技术:一个是ChatGPT所代表的另一个是Midjourney、妙鸭相机等AI绘画作图背后的AI绘画、AI对话、AI游戏创作等这些产物的背后是,它可以根据已有的数据和计算机程序生成新的数据。真实世界的数据是复杂的,其维度高、分布复杂,变量之间还存在非线性关系,例如,图片数据被认为是二维空间的像素点数据,并且图片内容决定了像素点之间有着复杂的交互关系。这对使用传统模型进行拟合数据分布提出了巨大挑战。原创 2023-08-11 19:22:33 · 77 阅读 · 0 评论 -
神经网络背后的数学原理
上图描述了训练一个神经网络时所用到的部分数学过程。我们将在本文中解释这个。读者可能感到有趣的一点是:一个神经网络就是很多模块以不同的目标堆叠起来。输入变量 X 向神经网络馈送原始数据,它被存储在一个矩阵中,矩阵的行是观察值,列是维度。权重 W_1 将输入 X 映射到第一个隐藏层 h_1。然后权重 W_1 充当一个线性核。Sigmoid 函数防止隐藏层中的数字落到 0-1 的范围之外。结果就是一个神经激活的数组,h_1 = Sigmoid(WX)。原创 2023-08-09 21:44:18 · 114 阅读 · 0 评论 -
深度学习的泛化能力-论文笔记
本篇博客为阅读谷歌最近出品的82页论文《ON THE GENERALIZATION MYSTERY IN DEEP LEARNING》的小小感悟,有兴趣的可以看看原文:github.com/aialgorithm/Blog。原创 2023-07-25 20:06:37 · 172 阅读 · 1 评论 -
马尔科夫链、PCA和条件概率分析
马尔科夫链是指数学中具有马尔可夫性质的离散事件随机过程。在其每一步中,系统根据概率分布可以从一个状态变到另一个状态,也可以保持当前状态。状态的改变叫做转移,与不同的状态改变相关的概率叫做转移概率。在状态空间中有两种状态,A和B。共有4种可能的转换。如果我们在A,接下来可以过渡到B或留在A。如果我们在B,可以过渡到A或者留在B。在这张图中,从任意状态到任意状态的转移概率是0.5。当然,真正的建模工作者不会总是就画一张马尔科夫链图。相反,他们会使用“转移矩阵”来计算转移概率。原创 2023-07-05 21:15:31 · 113 阅读 · 0 评论 -
手撕回字形遍历:
这段代码首先定义了上、下、左、右四个边界,然后在while循环中按照右移->下移->左移->上移的顺序访问元素,并适当地调整边界。当一个方向上的遍历完成后,就更新相应的边界,当边界不再有效时,即结束遍历。这样,我们就可以按照螺旋的方式遍历完整个矩阵。最后返回的res向量中就包含了按照回字形遍历的所有元素。回字形遍历(也称为螺旋遍历或螺旋式遍历)通常指的是在二维数组或矩阵中按照螺旋形状进行元素访问的方式。下面是一个用C++实现的回字形遍历的例子,假设我们的输入是一个m x n的二维数组或矩阵。原创 2023-07-05 11:00:00 · 109 阅读 · 0 评论 -
Detr是怎么做到不用nms的,如何保证在一个目标附近只生成一个bbox?
具体来说,它会根据预测和真实目标之间的距离,为每个真实目标找到一个最匹配的预测,然后只计算这些匹配对的损失。通过这种方式,每个真实目标都只会有一个与之对应的预测,这就避免了在一个目标附近生成多个bounding box的问题。其基本思想是将目标检测任务转化为一个直接预测类别和位置的回归问题,它尝试为每个目标生成一个独特的bounding box。在传统的目标检测方法中,模型会生成大量候选框,然后利用NMS等方法去除冗余的、重叠度高的候选框,从而确定最终的检测结果。原创 2023-07-06 08:00:00 · 825 阅读 · 0 评论 -
在训模型的时候如果loss报Nan了,可能是因为什么?
如果模型参数初始化的值过大或过小,可能会导致训练过程中的激活值或梯度过大或过小,从而引发NaN值。:学习率过高可能会使模型在训练过程中跳过最优解,导致损失函数的值快速增加到无穷大,然后变成NaN。:一些操作可能会在某些输入值上产生数值不稳定,例如,对一个非正数取对数,或者除以一个接近于零的数。:如果输入数据包含NaN值或者无穷大的值,或者标签数据有问题,可能会导致NaN损失。除了这些,如果问题仍然存在,建议使用调试工具或者逐步运行代码,查看哪一步开始产生NaN值,这将有助于识别和解决问题。原创 2023-07-04 09:15:00 · 3283 阅读 · 0 评论 -
在训模型的时候如果遇到显存占用了,但是后面的GPU利用率不高的情况,可能是因为什么?
解决上述问题的方法包括:优化数据传输过程、增大训练批量(前提是显存允许)、选择更复杂的模型、优化同步操作、提升IO速度、升级GPU或降低模型和批量的大小等。:在训练过程中,数据需要从CPU传输到GPU。:如果模型的计算复杂度低(比如模型较小,或者模型的运算并不复杂),那么GPU的计算能力可能没有被充分利用。:如果数据从磁盘读取到内存的速度跟不上模型的训练速度,也会使GPU在等待新的数据时空闲,从而降低利用率。:显存不足会限制网络的大小和批量大小,甚至可能导致无法运行网络,也会导致GPU利用率低。原创 2023-07-03 10:00:00 · 2546 阅读 · 2 评论 -
BN层的作用是什么,有什么可学习参数?
Internal Covariate Shift是指训练神经网络时由于每一层参数的变化导致后一层输入分布的变化,这种变化会导致训练过程中每一层都需要不断地适应新的数据分布,使训练过程变得复杂并且可能导致训练过程陷入饱和区,从而影响训练速度。如果在BN操作后,模型需要原始的、未归一化的特征,那么这可以通过学习合适的γ和β参数来实现。BN层的引入,使得每一层的输入都近似标准正态分布,这样一来,后一层的输入分布就不会随着前一层参数的变化而变化,从而缓解了Internal Covariate Shift的问题。原创 2023-07-03 00:00:00 · 769 阅读 · 1 评论 -
给定NCHW的输入,BN层的输出应该是什么?
具体地,BN层首先计算每个通道的均值和方差,然后用每个通道的值减去均值并除以标准差,得到归一化的值。然后,BN层再用学习到的缩放参数和平移参数对归一化的值进行缩放和平移,得到最终的输出。批量归一化(Batch Normalization,BN)层是神经网络中常用的一种层,它可以缩放和平移每个输入通道的值,使得输出的均值接近0,方差接近1。给定输入的维度是(N, C, H, W),其中N是批量大小(batch size),C是通道数(channels),H是高度(height),W是宽度(width)。原创 2023-07-01 09:04:41 · 491 阅读 · 0 评论 -
yolo中是怎么解决正负样本不均衡问题的?yolo中的object分支有什么作用?
YOLO中的object分支用于预测每一个预测边框的目标性(objectness),即这个边框中是否包含一个目标。在YOLO中,正负样本不均衡问题主要体现在大量的背景区域(负样本)和少量的目标区域(正样本)之间。YOLO的包含目标的边框(即正样本)的损失函数包括对于边框坐标的预测,置信度和分类的损失;:对于每一个真实目标,YOLO选择预测边框和真实边框的IoU(交并比)最大的边框作为正样本,这样可以保证每一个真实目标都有一个正样本进行学习。但是对于不包含目标的边框的损失,YOLO给予了较小的权重。原创 2023-07-03 15:30:00 · 677 阅读 · 1 评论 -
fasterrcnn的流程,两阶段主要解决了什么问题?
然后,RPN在这个特征图上滑动,每个位置生成多个尺度和比例的候选框,并且对每个候选框进行二分类(是目标或者不是目标)。Faster R-CNN是一种两阶段的目标检测方法,其由R-CNN和Fast R-CNN进一步演化而来,主要贡献在于引入了区域建议网络(Region Proposal Network, RPN)以更快速地生成高质量的候选框。:由于RPN可以生成大量高质量的候选框,RoI Pooling可以充分利用卷积特征,全连接层可以进行精细的分类和回归,因此Faster R-CNN的检测精度很高。原创 2023-07-02 09:30:00 · 269 阅读 · 1 评论 -
从模型和数据的角度解决梯度爆炸的问题
梯度爆炸是深度学习模型在训练过程中可能遇到的问题,特别是在训练深度神经网络和递归神经网络时。梯度爆炸问题会导致网络的权重更新过大,使得模型无法收敛。原创 2023-07-02 10:00:00 · 197 阅读 · 1 评论 -
手写NMS,C++方法
然后我们每次取出面积最大的边界框,并将其添加到输出的边界框列表中。接着我们将这个边界框从输入的边界框列表中移除,并删除与其重叠率超过阈值的所有其他边界框。NMS(Non-Maximum Suppression)是计算机视觉中常用的一种技术,用于处理目标检测任务中的重叠边界框问题。(Intersection over Union)计算的是两个边界框的重叠率,它是重叠区域的面积除以两个边界框的并集面积。最后,你需要在实际的目标检测任务中,根据任务的具体需求来选择合适的阈值。注意的是,这个函数中的。原创 2023-07-01 08:56:14 · 158 阅读 · 0 评论