![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
人工智能
文章平均质量分 87
TwcatL_tree
我家二猫爱爬树
展开
-
机器学习之特征选择(Feature Selection)
本文讲了过滤法、嵌入法和包装法三种特征选择方法。三种方法中过滤法最为简单快速,需要的计算时间也最短,但是也较为粗略,实际应用过程中,通常只作为数据的预处理,剔除掉部分明显不需要的特征,然后使用其他方法进一步特征选择。嵌入式和包装法更为精确,更适合具体到算法中去调整。计算量也较大,相应的运行时间也比较长。当数据量比较大时,优先使用方差过滤和互信息法对数据进行预处理,然后在使用其他的特征选择方法。使用逻辑回归时,优先使用嵌入法。使用支持向量机时,优先使用包装法。原创 2024-04-09 16:27:44 · 2656 阅读 · 1 评论 -
【机器学习】Kmeans如何选择k值
确定 K 值是聚类分析的一个重要步骤。不同的 K 值可能会产生不同的聚类结果,因此选择合适的 K 值非常重要。原创 2024-02-09 13:03:12 · 2064 阅读 · 0 评论 -
kmeans聚类选择最优K值python实现
并且,当k小于真实聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故SSE的下降幅度会很大,而当k到达真实聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以SSE的下降幅度会骤减,然后随着k值的继续增大而趋于平缓,也就是说SSE和k的关系图是一个手肘的形状,而这个肘部对应的k值就是数据的真实聚类数。其中,Ci是第i个簇,p是Ci中的样本点,mi是Ci的质心(Ci中所有样本的均值),SSE是所有样本的聚类误差,代表了聚类效果的好坏。可以看到,轮廓系数最大的k值是3,这表示我们的最佳聚类数为3。原创 2024-02-09 12:56:40 · 1105 阅读 · 0 评论 -
【机器学习】scikit-learn机器学习中随机数种子的应用与重现
在未来想要重新获取X_train, X_test, y_train, y_test的时候可以再次调用以下语句。随机数种子是为了能重现某一次实验生成的随机数而设立的,相同的随机数种子下,生成的随机数序列一样。X,y分别为原数据与标签,0.3指的是把X和y随机分为30%的测试数据和70%的训练数据。检验新生成的数据和同样的随机数种子下生成的数据是否一样,可以自行运行程序发现是一样的。可以看到out[6]之前加载了随机数种子1之后可以重现第一次随机数的生成结果。这里的随机数种子参数为random_state。原创 2024-01-08 18:49:14 · 643 阅读 · 0 评论 -
基于代码一步一步教你深度学习中循环神经网络(RNN)的原理
我们从初始字符开始,迭代地将字符索引输入到模型中,获取模型的输出并选择最高分数对应的字符作为预测结果。然后,我们将预测字符添加到结果中,并将预测字符作为下一个时间步的输入,继续迭代生成下一个字符,直到生成与原始文本长度相同的文本序列。在前向传播过程中,我们将输入张量通过嵌入层转换为向量表示,然后通过RNN层处理序列并输出隐藏状态,最后通过线性层映射隐藏状态到输出空间。然后,我们定义了模型的参数,包括输入大小(字符的种类数)、隐藏层大小、输出大小(字符的种类数)。接下来,我们定义了一个RNN模型。原创 2023-12-18 18:27:30 · 956 阅读 · 0 评论 -
小白看得懂的 Transformer (图解)
另一个完成这个任务的方法是留住概率最靠高的两个单词(例如I和a),那么在下一步里,跑模型两次:其中一次假设第一个位置输出是单词“I”,而另一次假设第一个位置输出是单词“me”,并且无论哪个版本产生更少的误差,都保留概率最高的两个翻译结果。第六步是对加权值向量求和(译注:自注意力的另一种解释就是在编码某个单词时,就是将所有单词的表示(值向量)进行加权求和,而权重是通过该词的表示(键向量)与被编码词表示(查询向量)的点积并通过softmax得到。而自注意力机制会将所有相关单词的理解融入到我们正在处理的单词中。原创 2023-12-18 18:26:50 · 1153 阅读 · 0 评论 -
神经网络训练过程中不收敛或者训练失败的原因
在面对模型不收敛的时候,首先要保证训练的次数够多。在训练过程中,loss并不是一直在下降,准确率一直在提升的,会有一些震荡存在。train loss 不断上升,test loss不断上升,说明网络结构设计不当,训练超参数设置不当,数据集经过清洗等问题。train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目;train loss 不断下降,test loss不断下降,说明网络仍在学习;train loss 不断下降,test loss趋于不变,说明网络过拟合;原创 2023-12-13 11:57:43 · 638 阅读 · 0 评论 -
利用SPSS进行神经网络分析过程及结果解读
等领域有着广泛而吸引人的前景,特别在智能控制中,人们对神经网络的自学习功能尤其感兴趣,并且把神经网络这一重要特点看作是解决自动控制中控制器适应能力这个难题的关键钥匙之一。需要生成一个分组变量,用于区分训练集以及验证集。通过计算变量,生成分组变量。本例通过几个自变量预测是否有高血压,2个分类变量,一个性别,一个吸烟;下图为程序运行后的神经网络图,线条的粗细代表了权重的大小。以及分类对具体的分类结果以及预测模型的分类结果进行了比较。点击导出,可以保存相应模型,用于新数据的预测。点击保存,勾选预测值和预测概率。原创 2023-12-13 11:56:25 · 3035 阅读 · 0 评论 -
pytorch实战经验:4个提高深度学习模型性能的技巧
深度学习是一个广阔的领域,但我们大多数人在构建模型时都面临一些共同的难题在这里,我们将讨论提高深度学习模型性能的4个难题和技巧这是一篇以代码实践为重点的文章,所以请准备好你的Python IDE并改进你的深度学习模型!过去两年的大部分时间,我几乎都在深度学习领域工作。这是一个相当好的经历,这中间我参与了图像和视频数据相关的多个项目。在那之前,我处于边缘地带,我回避了对象检测和人脸识别等深度学习概念。直到2017年底才开始深入研究。在这段时间里,我遇到了各种各样的难题。原创 2023-12-12 16:42:00 · 1350 阅读 · 0 评论 -
卷积神经网络(CNN)中感受野的计算问题
如下图所示的原始图像,经过kernel_size=3, stride=2的Conv1,kernel_size=2, stride=1的Conv2后,输出特征图大小为2×2,很明显,原始图像的每个单元的感受野为1,Conv1的每个单元的感受野为3,而由于Conv2的每个单元都是由范围的Conv1构成,因此回溯到原始图像,每个单元能够看到大小的区域范围。显然重叠的部分一定是与你的stride的有关的,如果你的stride很大,显然是不会有重合,所以,越小重合越多.(注意:这里计算的是在原图上的重合)原创 2023-12-12 16:35:48 · 1079 阅读 · 0 评论 -
t-SNE完整笔记 (附Python代码)
t-SNE(t-distributed stochastic neighbor embedding)是用于的一种机器学习算法,是由 Laurens van der Maaten 和 Geoffrey Hinton在08年提出来。此外,t-SNE 是一种非线性降维算法,非常适用于高维数据降维到2维或者3维,进行可视化。t-SNE是由SNE(Stochastic Neighbor Embedding, SNE;Hinton and Roweis, 2002)发展而来。原创 2023-12-11 16:26:19 · 1554 阅读 · 1 评论 -
基于深度学习的超分辨率图像技术一览
SR取得了显著进步。一般可以将现有的SR技术研究大致分为三大类:监督SR,无监督SR和特定领域SR(人脸)。如今已经有各种深度学习的超分辨率模型。这些模型依赖于有监督的超分辨率,即用LR图像和相应的基础事实(GT)HR图像训练。虽然这些模型之间的差异非常大,但它们本质上是一组组件的组合,例如模型框架,上采样方法,网络设计和学习策略等。从这个角度来看,研究人员将这些组件组合起来构建一个用于拟合特定任务的集成SR模型。由于图像超分辨率是一个病态问题,如何进行上采样(即从低分辨率产生高分辨率)是关键问题。基于采用原创 2023-12-10 21:14:09 · 1239 阅读 · 1 评论 -
机器学习算法性能评估常用指标总结
ROC(Receiver Operating Characteristic)翻译为"接受者操作特性曲线"。曲线由两个变量1-specificity 和 Sensitivity绘制. 1-specificity=FPR,即负正类率。Sensitivity即是真正类率,TPR(True positive rate),反映了正类覆盖程度。这个组合以1-specificity对sensitivity,即是以代价(costs)对收益(benefits)。原创 2023-12-10 21:13:17 · 980 阅读 · 0 评论 -
【深度学习】一维数组的 K-Means 聚类算法理解
分组内遍历原数组的每个元素与聚类中心的每个元素的距离(差值的绝对值),将最小距离的聚类中心数组下标缓存的临时变量临时变量数组A中(长度=原数组),对分组后的数组计算中间值存入缓存聚类中心数组,比较缓存剧烈数组和聚类数组,是否位置一样,值一样,如果一样跳出死循环,分类结束,然后初始化一个K长度的数组,值随机(尽量分布在原数组的更大的区间以便计算),用于和源数组进行比对计算。遍历临时变量数组A,使用A的小标拿到原数组对应的值,赋值给分组数组。一个缓存临时聚类中心的数组,我们称之为【缓存聚类中心数组】原创 2023-12-08 00:31:47 · 1472 阅读 · 0 评论 -
【深度学习】一维数组的聚类
在学习聚类算法的过程中,学习到的聚类算法大部分都是针对n维的,针对一维数据的聚类方式较少,今天就来学习下如何给一维的数据进行聚类。原创 2023-12-08 00:29:44 · 2163 阅读 · 0 评论 -
【深度学习】迁移学习中的领域转移及迁移学习的分类
根据分布移位发生的具体部分,域移位可分为三种类型,包括协变量移位、先验移位和概念移位协变量移位:在协变量移位的情况下,源域和目标域的边际分布是不同的,即ps(x)∕= pt(x),而给定x的y的后验分布在域之间保持相似,即ps(y|x)≈pt(y|x)(图1)。当不同的传感器、遥远的地理区域或不同的时间窗采集相同光谱波段的数据时,就会发生协变量移位。例如,Landsat-8和Sentinel-2都提供可见光和近红外波段的观测。然而,其传感器之间的中心波长、带宽和空间分辨率的变化可能导致Landsat-原创 2023-12-07 12:29:48 · 2227 阅读 · 0 评论 -
PyTorch 基础篇(2):线性回归(Linear Regression)
torch.from_numpy(x_train)将X_train转换为Tensor。# detach().numpy()预测结结果转换为numpy数组。# model()根据输入和模型,得到输出。# 将Numpy数组转换为torch张量。# 玩具资料:小数据集。# 损失函数和优化器。原创 2023-12-06 14:16:52 · 741 阅读 · 0 评论 -
PyTorch 基础篇(1):Pytorch 基础
目的:我是直接把 Yunjey 的教程的 python 代码挪到 Jupyter Notebook 上来,一方面可以看到运行结果,另一方面可以添加注释和相关资料链接。# Cifar-10数据集介绍:https://www.cs.toronto.edu/~kriz/cifar.html。# 1. 从文件中读取一份数据(比如使用nump.fromfile,PIL.Image.open)# requieres_grad设置为False的话,就不会进行梯度更新,就能保持原有的参数。原创 2023-12-06 14:16:03 · 1071 阅读 · 0 评论 -
【深度学习】回归模型相关重要知识点总结
例如,如果我们有一个从 1 到 100000 的列,那么将值增加 10% 不会改变较低的值,但在较高的值时则会产生非常大的差异,从而产生很大的方差差异的数据点。随着输入特征数量的增加,R2会趋于相应的增加或者保持不变,但永远不会下降,即使输入特征对我们的模型不重要(例如,将面试当天的气温添加到我们的示例中,R2是不会下降的即使温度对输出不重要)。它导致残差的不均匀分散。上述指标取决于我们正在解决的问题的上下文, 我们不能在不了解实际问题的情况下,只看 MAE、MSE 和 RMSE 的值来判断模型的好坏。原创 2023-12-05 00:20:29 · 1081 阅读 · 0 评论 -
SAS聚类分析介绍
在电子商务上,聚类分析在电子商务中网站建设数据挖掘中也是很重要的一个方面,通过分组聚类出具有相似浏览行为的客户,并分析客户的共同特征,可以更好的帮助电子商务的用户了解自己的客户,向客户提供更合适的服务。当然,这种聚类技术就失去了实际意义,因为聚类的目的是寻找数据集中的有意义的模式,方便用户理解,而任何聚类的数目和数据对象一样多的聚类算法都不能帮助用户更好地理解数据,挖掘数据隐藏的真实含义。因此,聚类就是一些数据实例的集合,这个集合中的元素彼此相似,但是它们都与其他聚类中的元素不同。原创 2023-12-01 12:51:13 · 1380 阅读 · 0 评论 -
【深度学习】KMeans中自动K值的确认方法
注意,即使在数据上聚类特征最明显,也并不意味着聚类结果就是有效的,因为这里的聚类结果用来分析使用,不同类别间需要具有明显的差异性特征并且类别间的样本量需要大体分布均衡。KMeans是聚类方法中非常常用的方法,并且在正确确定K的情况下,KMeans对类别的划分跟分类算法的差异性非常小,这也意味着KMeans是一个准确率非常接近实际分类的算法。对于不同类别的典型特征的对比,除了使用雷达图直观的显示外,还可以使用多个柱形图的形式,将每个类别对应特征的值做柱形图统计,这样也是一个非常直观的对比方法。原创 2023-11-30 12:12:34 · 1452 阅读 · 0 评论 -
【深度学习】基于代码一步一步教你深度学习中卷积神经网络(CNN)的原理
通过构建一个CNN模型并对其进行训练,我们能够对图像进行分类,并获得模型在测试集上的准确率评估。通过构建一个CNN模型并对其进行训练,我们能够对图像进行分类,并获得模型在测试集上的准确率评估。# 输入通道数为16,输出通道数为32,卷积核大小为3,步长为1,填充为1。# 输入通道数为16,输出通道数为32,卷积核大小为3,步长为1,填充为1。# 输入通道数为3,输出通道数为16,卷积核大小为3,步长为1,填充为1。# 输入通道数为3,输出通道数为16,卷积核大小为3,步长为1,填充为1。原创 2023-11-29 11:22:06 · 1092 阅读 · 0 评论 -
【深度学习】神经网络训练过程中不收敛或者训练失败的原因
在面对模型不收敛的时候,首先要保证训练的次数够多。在训练过程中,loss并不是一直在下降,准确率一直在提升的,会有一些震荡存在。train loss 不断上升,test loss不断上升,说明网络结构设计不当,训练超参数设置不当,数据集经过清洗等问题。train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目;train loss 不断下降,test loss不断下降,说明网络仍在学习;train loss 不断下降,test loss趋于不变,说明网络过拟合;原创 2023-11-27 12:48:21 · 1244 阅读 · 0 评论 -
【机器学习】迁移学习
迁移学习:给定一个有标记的源域和一个无标记的目标域。这两个领域的数据分布不同。迁移学习的目的就是要借助源域的知识,来学习目标域的知识(标签)。或是指基于源域数据和目标域数据、源任务和目标任务之间的相似性,利用在源领域中学习到的知识,去解决目标领域任务的一种机器学习方法。Transfer learning的优势在于节省人工标注样本的时间,让模型可以通过已有的标记数据(source domain data)向未标记数据(target domain data)迁移。原创 2023-11-27 12:37:59 · 1606 阅读 · 0 评论 -
【深度学习】如何找到最优学习率
之所以上面的方法可以work,因为小的学习率对参数更新的影响相对于大的学习率来讲是非常小的,比如第一次迭代的时候学习率是1e-5,参数进行了更新,然后进入第二次迭代,学习率变成了5e-5,参数又进行了更新,那么这一次参数的更新可以看作是在最原始的参数上进行的,而之后的学习率更大,参数的更新幅度相对于前面来讲会更大,所以都可以看作是在原始的参数上进行更新的。学习率的选择策略在网络的训练过程中是不断在变化的,在刚开始的时候,参数比较随机,所以我们应该选择相对较大的学习率,这样loss下降更快;原创 2023-11-26 14:44:49 · 1580 阅读 · 0 评论 -
【机器学习】算法性能评估常用指标总结
ROC(Receiver Operating Characteristic)翻译为"接受者操作特性曲线"。曲线由两个变量1-specificity 和 Sensitivity绘制. 1-specificity=FPR,即负正类率。Sensitivity即是真正类率,TPR(True positive rate),反映了正类覆盖程度。这个组合以1-specificity对sensitivity,即是以代价(costs)对收益(benefits)。原创 2023-11-26 14:43:45 · 1735 阅读 · 0 评论 -
【深度学习】基于深度学习的超分辨率图像技术一览
SR取得了显著进步。一般可以将现有的SR技术研究大致分为三大类:监督SR,无监督SR和特定领域SR(人脸)。如今已经有各种深度学习的超分辨率模型。这些模型依赖于有监督的超分辨率,即用LR图像和相应的基础事实(GT)HR图像训练。虽然这些模型之间的差异非常大,但它们本质上是一组组件的组合,例如模型框架,上采样方法,网络设计和学习策略等。从这个角度来看,研究人员将这些组件组合起来构建一个用于拟合特定任务的集成SR模型。由于图像超分辨率是一个病态问题,如何进行上采样(即从低分辨率产生高分辨率)是关键问题。基于采用原创 2023-11-24 12:22:40 · 1592 阅读 · 1 评论 -
【机器学习】算法性能评估常用指标总结
ROC(Receiver Operating Characteristic)翻译为"接受者操作特性曲线"。曲线由两个变量1-specificity 和 Sensitivity绘制. 1-specificity=FPR,即负正类率。Sensitivity即是真正类率,TPR(True positive rate),反映了正类覆盖程度。这个组合以1-specificity对sensitivity,即是以代价(costs)对收益(benefits)。原创 2023-11-24 12:21:49 · 1743 阅读 · 0 评论 -
【深度学习】卷积神经网络结构组成与解释
实现函数有nn.functional.interpolate(input, size = None, scale_factor = None, mode = ‘nearest’, align_corners = None)和nn.ConvTranspose2d(in_channels, out_channels, kernel_size, stride = 1, padding = 0, output_padding = 0, bias = True)介绍:为了提升网络的非线性能力,以提高网络的表达能力。原创 2023-11-24 11:55:39 · 1313 阅读 · 0 评论 -
【深度学习】Transformer及其变种
本文主要介绍了Transformer模型以及针对其缺点作出改进的一些变种模型,总结了它们的设计思路和优缺点。未来,以Transformer及其改进版为基础特征抽取器的预训练模型,一定能够在自然语言处理领域取得更大的突破。原创 2023-11-24 11:47:21 · 1410 阅读 · 0 评论 -
【深度学习】CNN中pooling层的作用
(1) translation invariance:这里举一个直观的例子(数字识别),假设有一个16x16的图片,里面有个数字1,我们需要识别出来,这个数字1可能写的偏左一点(图1),这个数字1可能偏右一点(图2),图1到图2相当于向右平移了一个单位,但是图1和图2经过max pooling之后它们都变成了相同的8x8特征矩阵,主要的特征我们捕获到了,同时又将问题的规模从16x16降到了8x8,而且具有平移不变性的特点。图中的a(或b)表示,在原始图片中的这些a(或b)位置,最终都会映射到相同的位置。原创 2023-11-24 11:44:47 · 978 阅读 · 0 评论 -
【深度学习】六大聚类算法快速了解
与 K-Means 和 GMM 的线性复杂度不同,层次聚类的这些优点是以较低的效率为代价的,因为它具有 O(n³) 的时间复杂度。自下而上的算法首先将每个数据点视为一个单一的簇,然后连续地合并(或聚合)两个簇,直到所有的簇都合并成一个包含所有数据点的簇。这是一个基于质心的算法,这意味着它的目标是定位每个组/类的中心点,通过将中心点的候选点更新为滑动窗口内点的均值来完成。作为例子,我们将用 average linkage,它将两个簇之间的距离定义为第一个簇中的数据点与第二个簇中的数据点之间的平均距离。原创 2023-11-23 12:51:29 · 435 阅读 · 0 评论 -
【深度学习】如何选择神经网络的超参数
简化训练用的数据,在简化问题中,我们已经减少了80%的数据量,在这里我们该要精简检验集中数据的数量,因为真正验证的是网络的性能,所以仅用少量的验证集数据也是可以的,如仅采用100个验证集数据。然后对于剩下的超参数先随机给一个可能的值,在代价函数中先不考虑正则项的存在,调整学习率得到一个较为合适的学习率的阈值,取阈值的一半作为调整学习率过程中的初始值;因此,可以选择的方式就是使用某些可以接受的值(不需要是最优的)作为其他参数的选择,然后进行不同小批量数据大小的尝试,像上面那样调整。原创 2023-11-23 12:49:50 · 904 阅读 · 0 评论 -
【深度学习】Transformer简介
如下图所示,Transformer模型采用经典的encoder-decoder结构。其中,待翻译的句子作为encoder的输入,经过encoder编码后,再输入到decoder中;decoder除了接收encoder的输出外,还需要当前step之前已经得到的输出单词;整个模型的最终输出是翻译的句子中下一个单词的概率。现有方法中,encoder和decoder通常都是通过多层循环神经网络或卷积实现,而Transformer中则提出了一种新的、完全基于注意力的网络layer,用来替代现有的模块,如下图所示。原创 2023-11-23 12:48:57 · 716 阅读 · 0 评论 -
【深度学习】卷积神经网络(CNN)的参数优化方法
在这个架构中,我们把卷积层和chihua层看做是学习输入训练图像中的局部感受野,而后的全连接层则是一个更抽象层次的学习,从整个图像整合全局信息。输入层是卷积层,5*5的局部感受野,也就是一个5*5的卷积核,一共20个特征映射。本文并不会介绍正则化,弃权(Dropout), 池化等方法的原理,只会介绍它们在实验中的应用或者起到的效果,更多的关于这些方法的解释请自行查询。我们接着插入第二个卷积-混合层,把它插入在之前的卷积-混合层和全连接层之间,同样的5*5的局部感受野,2*2的池化层。错误率降低了1/3,。原创 2023-11-23 12:47:54 · 704 阅读 · 0 评论 -
【深度学习】神经网络术语:Epoch、Batch Size和迭代
就是说我们选定一个batch的大小后,将会以batch的大小将数据输入深度学习的网络中,然后计算这个batch的所有样本的平均损失,即代价函数是所有样本的平均。3.适当的增加Batch_Size,梯度下降方向准确度增加,训练震动的幅度减小。增大Batch_Size,所需内存容量增加(epoch的次数需要增加以达到最好结果)。的动作,神经网络中我们希望通过迭代进行多次的训练以到达所需的目标或结果。注:对于大的数据集我们不能使用全批次,因为会得到更差的结果。每一次迭代得到的结果都会被作为下一次迭代的初始值。原创 2023-11-23 12:35:38 · 1081 阅读 · 0 评论 -
【深度学习】学习率及多种选择策略
如果我们对每次迭代的学习进行记录,并绘制学习率(对数尺度)与损失,我们会看到,随着学习率的提高,从某个点开始损失会停止下降并开始提高。在「训练神经网络的周期性学习速率」[4] 的 3.3 节中,Leslie N. Smith 认为,用户可以以非常低的学习率开始训练模型,在每一次迭代过程中逐渐提高学习率(线性提高或是指数提高都可以),用户可以用这种方法估计出最佳学习率。学习率越低,损失函数的变化速度就越慢。这种方法与人们常用的学习速率配置方法相反,常用的方法是训练时在整个网络中使用相同的学习速率。原创 2023-11-23 12:34:24 · 665 阅读 · 0 评论 -
【深度学习】卷积神经网络(CNN)
通常,我们使用的比较多的是Maxpooling,而且一般取大小为(2,2)步长为2的filter,这样,经过pooling之后,输入的长宽都会缩小2倍,channels不变。首先,我们都不一定清楚对于一大推图片,我们需要识别哪些特征,其次,就算知道了有哪些特征,想真的去设计出对应的filter,恐怕也并非易事,要知道,特征的数量可能是成千上万的。) 这里的“挪动”,就涉及到一个步长了,假如我们的步长是1,那么覆盖了一个地方之后,就挪一格,容易知道,总共可以覆盖6×6个不同的区域。原创 2023-11-22 20:38:15 · 890 阅读 · 0 评论 -
【深度学习】参数优化和训练技巧
原理很简单,越大的batch-size意味着我们学习的时候,收敛方向的confidence越大,我们前进的方向更加坚定,而小的batch-size则显得比较杂乱,毫无规律性,因为相比批次大的时候,批次小的情况下无法照顾到更多的情况,所以需要小的学习率来保证不至于出错。学习率是一个非常非常重要的超参数,这个参数呢,面对不同规模、不同batch-size、不同优化方式、不同数据集,其最合适的值都是不确定的,我们无法光凭经验来准确地确定lr的值,我们唯一可以做的,就是在训练中不断寻找最合适当前状态的学习率。原创 2023-11-22 20:35:41 · 715 阅读 · 0 评论 -
【机器学习】对比学习(contrastive learning)
SSL 中使用的最古老和最受欢迎的技术之一是对比学习,它使用“正”和“负”样本来指导深度学习模型。此后,对比学习得到了进一步发展,现在被用于完全监督和半监督的环境中,并提高了现有技术水平的性能。现在让我们讨论一下对比学习的工作原理。对比学习如何在 Vision AI 中发挥作用?对比学习模仿人类的学习方式。例如,我们可能不知道什么是水獭或什么是灰熊,但看到图像(如下所示),我们至少可以推断出哪些图片显示的是相同的动物。原创 2023-11-21 13:09:23 · 3709 阅读 · 1 评论