每日算法
文章平均质量分 96
丁希希哇
这个作者很懒,什么都没留下…
展开
-
【每日算法】理论:大模型相关 刷题:队列的应用
通过给定一个初始文本序列或部分文本序列,LLM可以利用学到的统计模型来计算下一个最有可能出现的词或字符,然后将其作为生成序列的一部分。zero-shot是在训练集类别和测试集类别之间没有交集的情况下,通过借助类别的描述来建立训练集和测试集之间的联系,从而实现只利用训练集数据训练模型之后,模型就能对测试集的对象进行分类。核心思想:先自行创建一个单调队列,在将大小为k的滑动窗口中元素放进队列中时,如果元素比当前队列中元素值都大,那么就弹出前边的元素,确保当前队列的最外端的元素始终为窗口的最大值。原创 2024-05-02 11:19:08 · 636 阅读 · 0 评论 -
【每日算法】理论:多模态系列 刷题:栈的应用
ViLT提出了一个极其简单的做多模态学习的框架结构,它把模态的特征抽取做到了极小化,把主要的计算量都放到了后面的模态融合上,大大地提高了模型的推理速度,而且让整个方法的建模变得很简单。BLIP模型是多模态领域的经典模型,它的核心思想是通过多路损失函数,以及图像分块理解策略等算法,构建高质量的图像理解模型,实现了视觉语言理解和生成任务的统一。核心思想:与上题类似,栈的目的就是存放遍历过的元素,当遍历当前的这个元素的时候,去栈里看一下是不是遍历过相同数值的相邻元素,然后再去做对应的消除操作。原创 2024-04-29 12:00:21 · 1028 阅读 · 0 评论 -
【每日算法】理论:深度学习基础 刷题:栈与队列的转换
Textual Inversion模型的作用在于将独特的对象注入新场景,将它们转换成不同的风格,转移姿势,减少偏见,甚至想象新产品。Textual Inversion模型影响的是模型的embedding部分,以SD为例,就是将SD的子模块text_encoder中的token embedding部分通过训练增加了伪标签的嵌入向量,其他模块均保持不变,所以训练速度超快,效果也很明显。要实现队列向栈的转换,也可以定义两个队列,只不过没有输入和输出的关系,而是将其中一个队列作为备份。原创 2024-04-24 18:44:38 · 1325 阅读 · 0 评论 -
【每日算法】理论:深度学习基础 刷题:KMP算法思想
梯度消失是指在深度学习训练的过程中,梯度随着 BP 算法中的链式求导逐层传递逐层减小,最后趋近于0,导致对某些层的训练失效;梯度爆炸与梯度消失相反,梯度随着 BP 算法中的链式求导逐层传递逐层增大,最后趋于无穷,导致某些层无法收敛;原创 2024-04-22 19:00:46 · 1152 阅读 · 0 评论 -
【每日算法】理论:常见网络架构 刷题:力扣字符串回顾
循环神经网络模型(RNN)是一种节点定向连接成环的人工神经网络,是一种反馈神经网络,RNN利用内部的记忆来处理任意时序的输入序列,并且在其处理单元之间既有内部的反馈连接又有前馈连接。而在普通的全连接网络或CNN中,每层神经元的信号只能向上一层传播,样本的处理在各个时刻独立,因此无法对时间序列上的变化进行建模。具体来说,RNN中的神经元的输出可以在下一个时间段直接作用到自身,即第i层神经元在m时刻的输入,除了(i-1)层神经元在该时刻的输出外,还包括其自身在(m-1)时刻的输出。原创 2024-04-17 08:32:14 · 642 阅读 · 0 评论 -
【每日算法】阶段总结
在写涉及到单调栈用法的题目时,一般情况下首先应该准备单调栈并且一般情况下初始化为0,然后会对原始数组进行遍历,遍历过程中根据题目的要求完成对于单调栈元素的增加或者删除。链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链表的代码题关键是处理好指针以及各种操作的顺序。涉及到的常用技巧有双指针法、虚拟头节点等。数组是非常基础的数据结构,数组可以方便的通过下标索引的方式获取到下标下对应的数据。原创 2024-04-13 08:30:31 · 600 阅读 · 0 评论 -
【每日算法】理论:深度学习基础 刷题:力扣哈希表回顾
KL散度和JS散度在度量的时候有一个问题:如果p、q离得很远,完全没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数。这在学习算法中是比较致命的,这就意味这这一点的梯度为0。JS散度度量了两个概率分布的相似度,基于KL散度的变体,解决了KL散度非对称的问题。问题类似,只不过需要多加一层循环。这两道题的关键难点在于不可以包含重复,因此在使用哈希法处理的时候有很多细节需要注意。问题可以先用两层for循环确定 a 和b 的数值,然后利用哈希法来确定 0-(a+b) 是否在 数组里出现过,而。原创 2024-04-12 09:39:21 · 975 阅读 · 0 评论 -
【每日算法】理论:AIGC算法相关 刷题:力扣哈希表回顾
大多数目标检测算法(稠密预测)在得到最终的预测结果时,特征图的每个位置都会输出多个检测结果,整个特征图上会出很多个重叠的框。NMS算法在每轮选取置信度最大的 Bounding Box ,接着关注所有剩下的 BBox 中与选取的 BBox 有着高重叠(IoU)的,对于IOU>阈值的相邻的检测框,NMS将其得分暴力置零,相当于直接舍弃。具体来说就是先遍历大A和大B数组,统计两个数组元素之和,和出现的次数,放到字典中,然后遍历大C和大D数组,统计0-(c+d) 在dict中出现的情况。原创 2024-04-09 08:43:55 · 1080 阅读 · 0 评论 -
【每日算法】理论: 扩散模型+深度学习基础 刷题:力扣哈希表回顾
去噪扩散隐式模型(DDIM)是一类更有效的迭代隐式概率模型,具有与DDPM相同的训练程序,但是它不再限制扩散过程必须是一个马尔卡夫链,这使得DDIM可以采用更小的采样步数来加速生成过程,DDIM的另外是一个特点是从一个随机噪音生成样本的过程是一个确定的过程(中间没有加入随机噪音)。核心思路:定义一个数组叫做record用于遍历增加记录字符串s里字符出现的次数,然后遍历减少记录字符串t里字符出现的次数,最后判断record中的记录是否为0。是判断两个字符串中的元素出现次数,是判断两个数组中的元素出现次数,原创 2024-03-29 09:47:07 · 1261 阅读 · 0 评论 -
【每日算法】理论: DALLE 系列 刷题:力扣链表回顾
局部性假设图片上相邻的区域会有相邻的特征,靠得越近的东西相关性能也就越强,局部性可以控制模型的复杂度。Stable Diffusion XL是一个二阶段的级联扩散模型,除了一个和Stable Diffusion基本一致的base模型之外,SDXL还增加一个单独的基于Latent的Refiner模型,来提升图像的精细化程度。由于卷积核是一样的,无论先做卷积还是平移,卷积核相当于模板,不论图片中同样的物体移到哪里,只要是同样的输入进来,遇到同样的卷积核,其输出永远是一样的。注意是节点相同,不是节点的值相同。原创 2024-03-26 12:51:28 · 1002 阅读 · 0 评论 -
【每日算法】理论:AIGC模型 刷题:力扣链表操作
AnyDoor就是“任意门”算法,它可以将任意目标传送到指定场景的指定位置,无需微调,被传送的目标会自动对新的场景进行姿态、角度、动作等方面的调整,确保生成图像的多样性以及和谐度。AnyDoor方法的核心思想在于将目标表征成“ID相关”和“细节相关”的特征,然后将他们组合到与背景场景的交互中。IP-adapter包含编码器和适配器两个部分,将图像特征通过Image Encoder、线性层和LN得到图像特征,文本通过文本编码器得到文本特征,图像特征和文本特征通过解耦交叉注意力的适配模块注入到unet中。原创 2024-03-25 11:21:54 · 1097 阅读 · 0 评论 -
【每日算法】理论:图像分割相关 刷题:设计链表
基本扩散模型根据用户输入的文本提示生成 64x64 像素的图像,之后的两个超分辨率模型分别用于生成分辨率256x256像素和1024x1024像素的图像。解码器由卷积层和上采样层组成,它们对收缩路径中的特征图进行上采样,并将它们与输入图像中的特征组合以生成最终的分割图。另外,unet架构中还有一个跳跃连接的部分,用于将编码器中的特征与解码器的对应层相结合,以便恢复图像的分辨率,提高分割图的精度。val 是当前节点的值,next 是指向下一个节点的指针/引用, prev 是指示链表中的上一个节点。原创 2024-03-22 19:39:53 · 1131 阅读 · 0 评论 -
【每日算法】理论:AIGC微调技术 刷题:滑动窗口、循环
DreamBooth主要用于针对某一个特定的主体,生成在不同的场景、姿势和视角中的该主体上下文图像,不仅能够实现在不同的背景下合成主题的新颖再现,而且能够确保关键视觉特征的高保真度。而schedule算法对每次U-Net预测的噪声进行优化处理(动态调整预测的噪声,控制U-Net预测噪声的强度),从而统筹生成过程的进度。理论上应该是判别器loss逐步下降,生成器 loss 逐步上升,但是这是不一定的,(必须要保证判别器的判别能力),直观上要看最后生成图片的质量。是一个可调参数,用于调节困难样本的权重。原创 2024-03-19 12:19:11 · 975 阅读 · 0 评论 -
【每日算法】理论:经典神经网络模型 刷题:二分法+双指针
Grounding DINO采用双编码器,单解码器结构,它包含用于图像特征提取的图像主干、用于文本特征提取的文本主干,用于图像和文本特征融合的特征增强器,用于查询初始化的语言引导查询选择模块和用于框细化的跨模态解码器。BERT通过在大量文本数据上进行预训练,学习的到了丰富的语言知识,然后在特定任务上进行微调,如文本分类、情感分析等。Transformer是一种基于自注意力机制的神经网络模型,它的基本结构是由编码器和解码器组成的,编码器可以将输入序列转换为向量表示,而解码器则可以将该向量表示转换回输出序列。原创 2024-03-18 15:18:09 · 1066 阅读 · 0 评论 -
【每日算法】理论:常见AIGC模型; 刷题:力扣单调栈
图像编码器VAE Encoder会将输入的图像转换为低维的Latent特征,而文本信息则会通过CLIP Text Encoder模型进行编码,处理过后的文本信息和图像信息会输入到图像优化模块中,图像优化模块进行优化迭代后,将其输出的低维Latent特征输入回图像解码器(VAE Decoder)中,重建成像素级图。这道题需要分别寻找元素右边和左边的最大元素来计算雨水面积,由于单调栈的作用是寻找一个元素右边或者左边第一个比自己大或者小的元素的位置,所以单调栈保存的标号主要是用来求雨水面积中的行。原创 2024-03-17 12:10:39 · 1218 阅读 · 0 评论 -
【每日算法】理论:生成模型基础; 刷题:力扣单调栈
马尔可夫过程是一种随机过程,其中未来状态只依赖于当前的状态,而与过去状态无关。原创 2024-03-16 12:00:57 · 1054 阅读 · 0 评论