DeepLearning
文章平均质量分 82
大江东去浪淘尽千古风流人物
主要研究方向:XR SLAM 三维重建 欢迎讨论&&交流
展开
-
【ML】Image Augmentation)的作用、使用方法及其分类
图像增强(Image Augmentation)是一种技术,它通过对原始图像进行各种变换或操作,生成新的图像数据。这些变换包括旋转、翻转、裁剪、调节亮度、添加噪声等。图像增强主要用于扩充训练数据集,以提高机器学习模型的鲁棒性和泛化能力。原创 2024-08-14 16:59:55 · 758 阅读 · 0 评论 -
【ML】强化学习(Reinforcement Learning)及其拆解
What is RL?强化学习(Reinforcement Learning, RL)是机器学习(Machine Learning, ML)中的一个重要范式,它与监督学习和无监督学习并列。RL的核心在于通过智能体(agent)与环境的交互,智能体通过观察环境状态并采取行动,以最大化累积奖励(cumulative reward)为目标进行学习。原创 2024-08-12 23:19:35 · 892 阅读 · 0 评论 -
【ML】为什么multi-lingual bert 有跨语言的能力?M-BERT有什么特点
Multi-lingual BERT,简称M-BERT,是一种能够处理多种语言的预训练语言模型。它通过对多种语言的原始维基百科文本进行训练,从而具备了跨语言处理能力。M-BERT的训练不需要监督,即语言之间没有对齐,但产生的表征似乎能够很好地跨语言概括各种下游任务。原创 2024-08-12 20:14:50 · 1152 阅读 · 0 评论 -
【ML】异常检测、二分类问题
异常检测主要用于识别数据中的异常点或异常行为,通常涉及极端的数据不平衡和无监督学习方法。它在风险监控和问题预警领域非常重要。二分类问题是将数据点分类到两个类别的任务,通常使用监督学习方法,适用于需要明确分类结果的场景。两者尽管在某些方面存在相似之处,但其应用场景和挑战有所不同。原创 2024-08-09 20:34:55 · 722 阅读 · 0 评论 -
【ML】Auto-encoder
自编码器是一种强大的无监督学习模型,通过学习数据的低维表示和重构原始输入,能够在数据降维、去噪、特征提取等多个任务中展现出色的表现。其简单而有效的架构使其在多个领域中得到了广泛应用。异常检测是一项关键技术,能够在各种复杂数据中识别异常或异常事件。由于异常通常很稀少且难以定义,这使得异常检测任务充满挑战。然而,通过应用统计方法、机器学习和深度学习等多种技术手段,异常检测已经在许多重要领域中取得了显著的成功,并继续发挥着关键作用。原创 2024-08-09 17:33:55 · 967 阅读 · 0 评论 -
【ML】pre-train model 是什么如何微调它,如何预训练
预训练模型通过在大规模数据集上进行初步训练,学到了通用的特征表示,在下游任务中只需要少量的数据和计算资源,通过微调即可高效地应用到具体任务上。这种方法不仅提高了训练效率,还大幅提升了模型在多个任务上的表现,是当前深度学习领域的重要技术手段。原创 2024-08-08 22:10:07 · 729 阅读 · 0 评论 -
【ML】self-supervised Learning for speech and Image
自监督学习(Self-supervised Learning)是一种无监督学习方法,它通过让模型学习数据自身的特征来提高模型的性能,而不需要人工标注的数据。自监督学习通过让模型学习数据自身的特征来提高模型的性能,这种方法在语音和图像处理领域都有广泛的应用。总结来说,VICReg是一种通过同时控制表示的方差、不变性和协方差,来学习稳健和多样化特征的正则化方法,特别适合在自监督学习中用于构建高质量的特征表示。:与其他自监督学习方法相比,VICReg的设计较为简洁,不需要复杂的采样策略或特殊的架构修改。原创 2024-08-08 20:56:55 · 649 阅读 · 0 评论 -
【ML】Pre-trained Language Models及其各种微调模型的实现细节和特点
参数高效微调方法显著减少了模型适应特定任务所需的任务特定参数。这些方法特别适用于在不需要重新训练整个模型的情况下,将大型预训练模型适配到特定任务。以下是四种主要微调方法的总结:Adapter、LoRA、Prefix Tuning 和 Soft Prompt。原创 2024-08-08 04:23:26 · 706 阅读 · 0 评论 -
【ML】自监督学习 self-supervised Learning
bert 的模型是基于各种已有问题的训练, 但是GPT的模型作者的脑洞更大,并且实现了,以下三种模式,就是给出要做的事情,给出几个样例,然后给出问题,采用提示词大的方式来与模型交互,可能也是大经历过 非常大的规模的数据训练出来的模型才有的一种“智能”的形式吧,也即探索的本质——压缩。GLUE数据集是一中对机器学习小任务的能力评估模型,这里可以看出随着算法的发展,在多个子任务上机器的能力已经超过人类,部分子任务机器的能力自逼近人类的能力。GPT实现一个假新闻: 安第斯山脉发现以恶搞独角兽。原创 2024-08-08 02:39:37 · 586 阅读 · 0 评论 -
【ML】 transform(self-attention)的各种变体
LayerNorm是对一个样本进行处理,对一个样本的所有特征进行归一化,乍一看很没有道理,因为如果对身高体重和年龄一起求一个均值方差,都不知道这些值有什么含义,但存在一些场景却非常有效果–NLP领域。在NLP中,N个特征都可能表示不同的词,这个时候我们仍然采用BatchNorm的话,对第一个词进行操作,很显然意义就不是非常大了,因为任何一个词都可以放在第一个位置,而且很多时候词序对于我们对于句子的影响没那么大,而此时我们对N个词进行Norm等操作可以很好地反映句子的分布。原创 2024-08-07 04:11:48 · 550 阅读 · 0 评论 -
【ML】 如何训练transform model, 模型训练实现细节
训练 Transformer 模型通常涉及以下步骤和实现细节:定义模型架构:输入数据准备:位置编码:构建自注意力和交叉注意力机制:前馈网络:残差连接和层归一化:输出层:损失函数:优化器:训练循环:验证和测试:正则化技术:学习率调度:保存和加载模型:多GPU训练:使用预训练模型:实现细节:调试和分析:模型评估指标:训练 Transformer 模型是一个复杂的过程,需要仔细设计和调整模型架构、训练过程和超参数。随着模型规模的增长,对计算资源的需求也会增加,因此可能需要使用分布式训练策略。此外,模型的微调和优化原创 2024-08-06 22:17:17 · 697 阅读 · 0 评论 -
【ML】transform 之 decoder 及其实现细节
在解码器中,查询来自之前步骤的输出,而键和值来自编码器的输出,这样解码器就可以在生成每个词时考虑编码器中的所有信息,但更加关注与当前词最相关的部分。在 Transformer 架构中,编码器(Encoder)和解码器(Decoder)之间的信息传递是通过一种特殊的自注意力机制实现的,称为交叉注意力(Cross-Attention)或编码器-解码器注意力(Encoder-Decoder Attention)。其中,( W^Q ),( W^K ),和 ( W^V ) 是模型参数。原创 2024-08-06 21:19:44 · 961 阅读 · 0 评论 -
【ML】transform 之 encode 及其实现细节
自动生成文本内容的简短摘要,保留关键信息。原创 2024-08-06 19:56:00 · 711 阅读 · 0 评论 -
【ML】为什么要做batch normlization,怎么做batch normlization
如何更新 均值和方差,如果使用pytorch实现,那么pytorch再训练阶段,(假设batch =64) ,在数据陆续进入 train的batch个过程中 , 会维持更新 均值和方差,当test阶段可以调用这个更新的均值和方差。此外,如果数据集中的特征已经接近归一化,或者特征的尺度对于问题本身具有重要意义,则可能不需要进行归一化。某些模型,如支持向量机(SVM)和 K-近邻(KNN)等,对特征的尺度非常敏感,归一化是这些模型训练的前提。将特征缩放到单位方差,即在零均值归一化的基础上,再除以特征的标准差。原创 2024-08-06 17:30:19 · 967 阅读 · 0 评论 -
【ML】multi head self-attention(自注意力机制)
不管是 self-attention 还是 multi head self-attention都是位置无关的算法(举例:根据self-attention,a1 和 a4 或者 a1 与 a2 的举例相关性是一样的,并没有将位置信息编码到 O的的输出中,不反应位置相干的信息,因此为位置无关),这里通过 positional encoding 加入位置信息。对于序列中的每个元素,我们通过不同的线性变换将其分解为查询向量 ( q_i )、键向量 ( k_i ) 和值向量 ( v_i )。其中 n 是序列的长度。原创 2024-08-06 03:07:56 · 1101 阅读 · 0 评论 -
【ML】自注意力机制selfattention
计算出来的结果 称作 attention score ,其中四个相关性中的第一个为自相关性计算。a1 a2 a3 a4 (代表输入的句子:比如 this is a tree)这里面I 是input 具体的内容为 this is a tree。所以 这里 self-attention 输入是 I 输出是 O。原创 2024-08-05 23:41:17 · 703 阅读 · 0 评论 -
【hloc】 项目流程
项目中使用了多种三维重建方法,如三角化和基于SfM(Structure from Motion)的方法。这个项目涉及到了视觉定位和三维重建的一系列步骤,从特征提取、匹配、三维重建到定位和结果评估。提取特征之后,需要对这些特征进行匹配,以找到两幅图像之间的对应点。在视觉定位和三维重建中,首先需要提取图像的特征。项目中涉及到了多种评估方法,如计算定位误差和绘制定位结果的可视化。项目中使用了多种定位方法,如基于SfM的定位方法。这些脚本文件包含了上述步骤的完整代码,用户可以通过运行这些脚本来完成整个流程。原创 2024-08-03 03:47:38 · 410 阅读 · 0 评论 -
【ML】类神经网络训练不起来怎么办 Loss of Classification 6
表示该样本属于第一个类别的概率为 0.1,属于第二个类别的概率为 0.2,属于第三个类别的概率为 0.7。假设我们有一个二分类问题,正例的概率为 0.7,负例的概率为 0.3。如果模型预测的概率分布与真实数据的概率分布越接近,则交叉熵越小。分类问题:交叉熵可以用来作为分类模型的损失函数,衡量模型预测的类别与真实类别之间的差异。可以看出,当我们预测所有样本都是正例时,交叉熵较小,说明这种预测更接近真实情况。当 P 和 Q 相等时,交叉熵为 0。Softmax 函数的输出是一个概率分布,所有元素的和为 1。原创 2024-03-28 04:08:22 · 1086 阅读 · 0 评论 -
【ML】类神经网络训练不起来怎么办 5
RMSProp 算法首先计算每个参数的均方根,然后用均方根来调整每个参数的学习率。如果一个参数的梯度变化幅度很大,那么它的均方根也会很大,从而导致它的学习率降低。反之,如果一个参数的梯度变化幅度很小,那么它的均方根也会很小,从而导致它的学习率提高。Small Batch v.s. Large Batch: 详细的优势掠食 对比,在并行情况下,速度持平,除非,大的batch特别大。RMSProp 算法可以有效解决 Adagrad 算法的学习率衰减过快的问题,并且在许多机器学习任务中都取得了良好的效果。原创 2024-03-27 23:41:16 · 1000 阅读 · 0 评论 -
【ML】机器学习任务攻略 4
过拟合是机器学习中一个常见的问题,指的是模型在训练数据上表现得非常好,但在未见过的测试数据上表现不佳。检查模型是否存在过拟合(模型在训练数据上表现很好,但在新数据上表现差)或欠拟合(模型在训练数据上表现也不好)的问题。k折交叉验证是常用的方法,它将数据集分成k个部分,在k-1个部分上训练模型,在剩下的部分上测试模型,然后取平均值作为模型性能的估计。过于复杂的模型可能会导致过拟合,而过于简单的模型可能无法捕捉数据的关键特征。通过结合以上方法,可以有效地处理和避免过拟合问题,提高模型在新数据上的泛化能力。原创 2024-03-21 22:27:56 · 1119 阅读 · 1 评论 -
【ML】逻辑回归、生成式与判别式引出 3
学习目标:判别式模型关注于分类边界,而生成式模型关注于数据的生成过程。数据需求:判别式模型通常需要大量标记数据,生成式模型可以利用未标记数据。输出类型:判别式模型输出分类结果,生成式模型可以输出新的数据实例。应用场景:判别式模型适用于分类和回归任务,生成式模型适用于数据生成、异常检测和无监督学习任务。原创 2024-03-20 00:10:09 · 887 阅读 · 0 评论 -
【ML】深度学习演进与神经网络反向传播推导 2
神经网络的反向传播(Backpropagation)算法是一种用于训练人工神经网络的监督学习算法。它通过计算网络输出与实际目标值之间的误差来调整网络中的权重,目的是最小化这个误差。反向传播算法的核心是梯度下降法,它利用了微积分中的链式法则来计算梯度。反向传播算法是深度学习领域的基石,它使得复杂的神经网络模型能够通过大量数据进行有效训练。随着深度学习技术的不断发展,反向传播算法也在不断地被优化和改进,以适应更大规模的网络和更复杂的任务。现在网络结构有了,计算和训练过程怎么操作呢?原创 2024-03-19 23:06:26 · 785 阅读 · 0 评论 -
【ML】ML基本概念与深度学习模型的引出 1
Different types of FunctionsThis course focuses on Deep Learning.输入与输出的差异与机器学习的任务目标Structured Learning(智能呢个范式)create something withstructure (image, document)Regression,Classification损失函数定义:Error SurfaceGradient Descent 最速下降法:模型的修改与优化:测试集与建原创 2024-03-14 01:29:38 · 623 阅读 · 0 评论 -
【NERF】入门学习整理(三)
其中,( M ) 和 ( N ) 分别为图像的高度和宽度,( I(i,j) ) 和 ( K(i,j) ) 分别表示原始图像和处理后的图像在位置 ( (i,j) ) 处的像素灰度值。通过这个计算公式,可以得到处理后图像相对于原始图像的质量损失程度,PSNR值越高,表明图像质量损失越小。其中,MAX表示像素值的最大可能取值(比如对于8位灰度图像,MAX=255)。原创 2023-04-19 17:43:49 · 187 阅读 · 0 评论 -
【NERF】入门学习整理(二)
Loss定义(其实就是简单的均方差MSE)原创 2024-03-10 01:11:18 · 491 阅读 · 0 评论 -
【NERF】入门学习整理(一)
在深度学习中,concat操作指的是连接(concatenate)操作,通常用于将两个张量沿着指定的轴(通常是某个维度)进行拼接。位置编码(x,y,z):主要是为了将图像中的高频信息体现出来,可以大幅提高图片中的细节质量,不受到周边位置平滑的操作的影响。,在获取一定范围采样点的(r,g,b,a)之后需要再进行特定积分运算,最终得到对应像素最终的(r,g,b,a),在训练时通过。输入:是一个五维的相机位姿(x,y,z,Yaw,Pitch)input:(x,y,z,0,φ)代表输入的相机位姿。原创 2024-03-09 23:46:50 · 1523 阅读 · 0 评论 -
【DUSt3R】2张图2秒钟3D重建
在这个过程中,数据的维度会根据不同模块的处理而发生变化,具体变化的维度需要根据具体的网络结构和处理步骤来确定。具体网络架构方面,DUSt3R基于的是标准Transformer编码器和解码器,受到了CroCo(通过跨视图完成3D视觉任务的自我监督预训练的一个研究)的启发,并采用简单的回归损失训练完成。Pointmaps是指一种密集的2D场景中的3D点的表示,通常用符号X表示,其维度为RW×H×3。在提供超过两张输入图像的情况下,通过一种简单而有效的全局对准策略,将所有成对的点图表示为一个共同的参考框架。原创 2024-03-04 23:07:59 · 1624 阅读 · 0 评论 -
【Animatable 3D Gaussian】3D高斯最新工作,25s重建十人, 炸裂
神经辐射场能够重建高质量的可驱动人类化身,但训练和渲染成本很高。为减少消耗,本文提出可动画化的3D高斯,从输入图像和姿势中学习人类化身。我们通过在正则空间中建模一组蒙皮的3D高斯模型和相应的骨架,并根据输入姿态将3D高斯模型变形到姿态空间,将3D高斯[1]扩展到动态人类场景。本文引入哈希编码的形状和外观来加快训练,并提出与时间相关的环境光遮蔽,以在包含复杂运动和动态阴影的场景中实现高质量重建。在新视图合成和新姿态合成任务中,所提出方法在训练时间、渲染速度和重建质量方面都优于现有方法。原创 2024-01-16 15:15:38 · 1149 阅读 · 0 评论 -
【CVPR2023】人像卡通化(2D图像->3D卡通)
人像卡通风格渲染的目标是,在保持原图像 ID 信息和纹理细节的同时,将真实照片转换为卡通风格的非真实感图像。原创 2024-01-14 20:48:59 · 1121 阅读 · 0 评论 -
【conda】pip安装报错,网络延时问题解决记录(亲测有效)
网络上解决方案也很多如下:没有用。原创 2024-01-10 16:24:30 · 643 阅读 · 0 评论 -
【conda】conda 版本控制和环境迁移/安装conda加速工具mamba /conda常用指令/Anaconda配置
TUNA 还提供了 Anaconda 仓库与第三方源(conda-forge、msys2、pytorch等,查看完整列表,更多第三方源可以前往校园网联合镜像站查看)的镜像,各系统都可以通过修改用户目录下的 .condarc 文件来使用 TUNA 镜像源。注:由于更新过快难以同步,我们不同步pytorch-nightly, pytorch-nightly-cpu, ignite-nightly这三个包。运行 conda clean -i 清除索引缓存,保证用的是镜像站提供的索引。清华大学开源软件镜像站。原创 2024-01-08 15:14:27 · 903 阅读 · 0 评论 -
【Pytorch】学习记录分享14——视频分析3D卷积
网络架构:上图的发现表明,3×3×3卷积核的均匀设置是3D ConvNets的最佳选择。所有3D卷积滤波器均为3×3×3,步长为1×1×1。为了保持早期的时间信息设置pool1核大小为1×2×2、步长1×2×2,其余所有3D池化层均为2×2×2,步长为2×2×2。所有的3D卷积核都是3×3×3,在空间和时间上都有步长1。所有池化核为2×2×2,除了pool1为1×2×2。最终的特征表示是通过组合所有频道的信息获得的。2D ConvNet效果最差,3×3×3卷积核的3D ConvNet在实验中表现最佳。原创 2024-01-07 17:13:24 · 1259 阅读 · 2 评论 -
【Pytorch】学习记录分享4——HUB使用与天气预测线性回归实例
独热编码是一种用于处理分类变量的方法,它将一个具有n个可能取值的分类变量转换成n个新的二元变量,每个二元变量代表了原始变量中的一个可能取值。例如,对于一个“性别”这样的分类变量,如果原始数据中有"男"和"女"两种取值,经过独热编码处理后,会生成两个新的二元变量列"性别_男"和"性别_女",其中每行的值为1或0来表示原始数据中的性别情况。friend:这一列可能是凑热闹的,你的朋友猜测的可能值。actual:这就是我们的标签值了,当天的真实最高温度。average:在历史中,每年这一天的平均最高温度值。原创 2023-12-18 11:10:23 · 1056 阅读 · 0 评论 -
【Pytorch】学习记录分享13——OCR(Optical Character Recognition,光学字符识别)
OCR(Optical Character Recognition,光学字符识别)指提取图像中的文字信息,通常包括文本检测和文本识别。原创 2024-01-04 10:04:35 · 716 阅读 · 0 评论 -
【Pytorch】学习记录分享12——CycleGAN 对抗生成网络变体及其项目实例
CycleGAN项目工程实例及其基本原理,留言0012 获取工程文件 ,可以直接运行!原创 2024-01-04 09:46:52 · 345 阅读 · 0 评论 -
【NeRF数据集】LLFF格式数据集处理colmap结果记录
以方便python读取,且NeRF模型源码拥有直接对LLFF格式数据集进行训练的配置和模块,便于研究者使用。或者 File 导出 export model,新建名称为sparse保存的位置,sparse文件下的0文件作为输出结果,这里包含具体见上图。得到COLMAP位姿匹配数据后,我们要对每张图片的位姿信息进行格式转换,转换为LLFF格式方便Nerf模型读取。而不是直接输入图像数据,当然也可以,只是存在2个问题,1是收敛速度变慢,2是重建效果变差。配置nerf-pytorch 工程 ,开始训练!原创 2024-01-03 17:52:14 · 2375 阅读 · 3 评论 -
【Pytorch】学习记录分享11——GAN对抗生成网络
loss BCEloss代码逐行运行结果。原创 2024-01-03 10:32:44 · 598 阅读 · 0 评论 -
【Pytorch】学习记录分享10——TextCNN用于文本分类处理
该代码对应上述的图像中的模块实现,CNN用于处理文本数据。原创 2023-12-30 22:57:31 · 591 阅读 · 0 评论 -
【Pytorch】学习记录分享9——新闻数据集文本分类任务实战
TextRNN h_t 为RNN提取出来的特征。原创 2023-12-27 14:37:36 · 903 阅读 · 0 评论 -
【Pytorch】学习记录分享8——自然语言处理基础-词向量模型Word2Vec
如果一个语料库稍微大一些,可能的结果简直太多了,最后一层相当于softmax,计算起来十分耗时,有什么办法来解决嘛?初始方案:输入两个单词,看他们是不是前后对应的输入和输出,也就相当于一个二分类任务,但是这样做之后。2.通过神经网络返向传播来计算更新,此时不光更新权重参数矩阵W,也会更新输入数据。出发点非常好,但是此时训练集构建出来的标签全为1,无法进行较好的训练。类似wiki与合乎说话逻辑的文本均可以作为训练数据。1.初始化词向量矩阵。原创 2023-12-27 09:57:59 · 859 阅读 · 0 评论