- 博客(34)
- 收藏
- 关注
原创 数据增强之改变RGB通道的强度
对每张训练图像,将找到的主成分的倍数相加,其大小与对应的特征值成比例,乘以一个从均值为0,标准差为0.1的高斯中抽取的随机变量。色彩抖动(Color Jittering)是一种常见的数据增强方法,用于改变图像的色彩信息,增加数据的多样性和鲁棒性。饱和度抖动(Saturation Jittering):通过随机增加或减少图像中颜色的饱和度,改变RGB通道的数值来调整图像的色彩鲜艳度。需要注意的是,对于每个样本,色彩抖动的变换参数可以是随机的,也可以是固定的,并根据任务和数据集进行调整以获得最佳效果。
2023-08-21 13:40:13
374
原创 如何读论文?
将文章快速过一遍,每一个部分都不要落下,但也不是说都要弄明白,重要的图表是需要一点一滴弄清楚;相关文献圈出来,如果文章太难读不懂,可以去读读引用的文献。用代入的视角去读文章,想想自己做会怎么做,或者哪一步作者为什么要这么做,做到读完就像是自己做的实验,能够自己讲明白。读完这些基本就知道论文在讲什么,结果怎么样,是否适合自己。首先,一篇论文从结构上大致可以分为以下六部分。读标题和摘要,然后直接跳转到结论部分。李沐老师介绍了一个三遍阅读法。
2023-08-14 13:12:53
106
原创 如何理解卷积后通道增多/卷积后特征图尺寸的变化
相反,当使用小卷积核时,可以考虑使用较大的步幅。较大的卷积核和较小的步幅可以捕捉更大范围的特征,但会导致特征图尺寸的减小。相反,较小的卷积核和较大的步幅会产生更多的特征图,但可能捕捉到更局部的特征。通过这些层的组合,LeNet网络能够从输入的图像中提取出不同层次的特征,并进行有效的图像分类。每一层的具体参数(卷积核大小、池化操作的窗口大小等)以及网络的整体结构可以根据实际任务进行调整和修改,以适应不同的图像处理和分类问题。较低层的通道可以学习到更加基础的特征,而较高层的通道可以学习到更抽象和语义类的特征。
2023-08-09 10:59:16
2491
原创 优化器的使用
在给定的代码中,net.parameters() 是一个网络模型 net 的参数列表,我们将这些参数作为优化器的优化目标。在深度学习中,通过最小化损失函数来优化模型参数是一个常见的任务,而 SGD 是一种常用且简单的优化算法,用于在训练过程中更新参数以最小化损失函数。因此,在深度学习网络训练中,优化器和损失函数是紧密配合的,并且需要一起定义和使用,以实现权重的更新和模型的优化。深度学习网络训练时,优化器和损失函数是需要一起定义和使用的,它们共同完成了模型参数的更新和优化的过程。
2023-08-08 12:15:40
179
原创 模型训练(以LeNet为例)
定义了一个函数 train,接受模型 net、训练集迭代器 train_iter、测试集迭代器 test_iter、迭代的轮数 num_epochs、学习率 lr 和设备类型 device 作为输入参数。创建一个计时器对象 timer,用于计算训练每个 epoch 所需的时间,并且获取训练集迭代器 train_iter 的长度作为总批次数 num_batches。调用 apply 方法,将 init_weights 函数应用到 net 模型的所有模块的权重上,用于初始化模型的权重。
2023-08-07 23:36:20
127
原创 经典卷积网络LeNet
每个卷积模块包含一个卷积层(卷积核为5×5),一个sigmoid激活函数以及一个平均池化层。我们给定输入X,在net中一层一层添加layer,然后每次调用net对X进行处理,打印X的形状就可以清楚地得到每一层输出的形状,进而确定下一层的输入。这种简单的网络我们可以这样计算,对于复杂的网络我们希望能够借助pytorch自动得出(虽然pytorch还没有这种功能,不过我们可以一层一层让它算)池化操作为2×2,步幅为2,能够将维度减少四倍?第一层卷积输出6个通道,第二层卷积输出16个通道;
2023-08-06 23:10:31
34
原创 深度再学习第四篇--回归(二)--softmax
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2023-08-05 23:11:03
32
原创 池化层小结
它的主要作用是减小特征图的空间尺寸,同时保留特征图的主要特征。池化层可以通过降低特征图的空间维度,减少模型参数量,提高计算效率,并且可以一定程度上增强模型的鲁棒性。最大池化操作将输入的特征图分割为不重叠的矩形区域(通常为 2x2 或 3x3 的窗口),然后从每个区域中选择最大的值作为输出。平均池化操作可以减小特征图的尺寸,并提供平滑的特征表示,有时它可以帮助降低模型对噪声和局部变化的敏感性。需要注意的是,池化层没有可学习的参数,它仅仅是从输入特征图中提取信息,并减小特征图的尺寸。
2023-08-05 21:41:18
277
原创 1x1卷积核的作用
降维和增加通道:(输出通道数为卷积核的个数C’)降维的例子:假设有一个输入特征图大小为HxWxC,其中C是通道数。使用一个1x1卷积核,通道数从C减少到C’,其中C’是较小的通道数。这可以通过使用适当的卷积核权重来实现降维效果。增加通道的例子:假设有一个输入特征图大小为HxWxC,将使用多个1x1卷积核,并将它们的输出通道堆叠在一起得到输出特征图大小为HxWxC’,其中C’是较大的通道数。特征图的组合和融合:(特征图的融合主要用于将不同来源的信息结合起来,而特征图的组合主要用于对单个通道内的
2023-08-05 15:29:05
79
原创 多通道输入与输出
例如输入图像,图像具有多个通道。通常,彩色图像由红色通道、绿色通道和蓝色通道组成,这被称为RGB图像。每个通道表示相应颜色的强度信息。例如,红色通道表示图像中红色的强度分布,绿色通道表示图像中绿色的强度分布,蓝色通道表示图像中蓝色的强度分布;对于图像分类任务,输出通常是代表不同类别的通道概率分布。每个通道的值表示相应类别的概率。对于目标检测任务,输出通常是一个包含多个边界框和对应类别的通道。每个通道的值表示相应位置上是否存在目标以及目标的类别。
2023-08-05 15:15:18
184
原创 填充与步幅
首先,如果不对卷积进行任何操作,那么每一步卷积得到的特征图会越变越小,如果想要控制得到的大小,就需要进行填充:设输入为h x w,卷积核大小为 a x b,那么一步操作后的大小为 h-a+1 x w-b+1如果不想输出缩水,那么可以进行填充padding,在输入的周围加入行/列如果填充p行q列,那么输出为: h-a+p+1 x w-b+q+1可以看出,为了保证输出维度不变,通常取p = a - 1, q = b - 1如果想快速度得到一个较小的输出,那么仅仅依赖于卷积核一层层减小是很慢的,引
2023-08-01 11:15:41
41
原创 正则化,权重衰减,Dropout丢弃法
正则化(Regularization)是机器学习中常用的一种技术,通过在模型训练过程中引入附加项或约束来控制模型复杂度,并减少过拟合问题。在机器学习中,模型的目标是通过拟合训练数据来学习输入数据的模式和规律。然而,当模型过于复杂或参数过多时,往往容易出现过拟合的问题,即在训练数据上表现良好,但在新数据上表现较差。过拟合表示模型过度地记忆了训练数据的噪声和细节,而没有很好地捕捉到真正的数据趋势。为了解决过拟合问题,正则化技术被引入。正则化的目标是在模型的损失函数中添加额外的项,以对模型的复杂度进行控制。
2023-06-19 12:01:37
419
原创 多层感知机
提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2023-06-06 16:26:42
45
原创 感知机相关问题
感知机的输入特征是实数向量,每个输入特征都有一个对应的权重。输入特征向量和权重向量做内积,再加上偏置项得到的值如果超过某个阈值,就会输出一个类别。感知机收敛定理是指,当训练数据是线性可分时,感知机算法一定可以找到一个可以正确分类所有训练数据的超平面,进而保证算法的收敛性。它是一种二分类模型,可以把样本分为两类,根据输入特征向量与权值向量的内积是否超过阈值来进行预测。在if判断这里的条件,如果判断错了,那么这里的乘积就不会大于0;等价于使用了批量大小为1的梯度下降,并使用了如下的损失函数。
2023-06-05 22:25:11
101
原创 项目实训(十五)--模型效果比较
项目实训(十五)本文记录在项目中使用过的各类模型效果目录项目实训(十五)berternietextcnntextrnn决策树逻辑回归berternietextcnntextrnn决策树逻辑回归
2021-06-11 14:00:18
291
原创 项目实训(十四)--textrnn
项目实训(十四)本文记录在项目中的textrnn目录项目实训(十四)概述结构代码参考概述textRNN指的是利用RNN循环神经网络解决文本分类问题,文本分类是自然语言处理的一个基本任务,试图推断出给定文本(句子、文档等)的标签或标签集合。在一些自然语言处理任务中,当对序列进行处理时,我们一般会采用循环神经网络RNN,尤其是它的一些变种,如LSTM(更常用),GRU。当然我们也可以把RNN运用到文本分类任务中。这里的文本可以一个句子,文档(短文本,若干句子)或篇章(长文本),因此每段文本的长度都不
2021-06-11 13:48:35
454
2
原创 项目实训(十三)--textcnn--MVP
项目实训(十三)本文记录在项目中的textcnn目录项目实训(十三)引言结构步骤代码实现参考引言对于文本分类问题,常见的方法无非就是抽取文本的特征,比如使用doc2evc或者LDA模型将文本转换成一个固定维度的特征向量,然后在基于抽取的特征训练一个分类器。 然而研究证明,TextCnn在文本分类问题上有着更加卓越的表现。从直观上理解,TextCNN通过一维卷积来获取句子中n-gram的特征表示。TextCNN对文本浅层特征的抽取能力很强,在短文本领域如搜索、对话领域专注于意图分类时效果很好,应用广泛
2021-06-11 13:41:55
394
1
原创 项目实训(十二)--弱分类器--决策树与集成
项目实训(十二)本文记录在项目中的决策树使用目录项目实训(十二)分类器adboost实现参考分类器我们有一种新思路,通过创建许多弱分类器,并通过集成的方法,得到良好的分类效果,实现最终目的。集成方法(ensemble method)通过组合多个学习器来完成学习任务,颇有点“三个臭皮匠顶个诸葛亮”的意味。基分类器一般采用的是弱可学习(weakly learnable)分类器,通过集成方法,组合成一个强可学习(strongly learnable)分类器。所谓弱可学习,是指学习的正确率仅略优于随机猜测
2021-06-11 13:30:02
2251
1
原创 项目实训(十一)--逻辑回归
项目实训(十一)本文记录在项目中的逻辑回归使用目录项目实训(十一)逻辑回归梯度上升一般过程应用参考逻辑回归Logistic回归是众多分类算法中的一员。通常,Logistic回归用于二分类问题,例如预测明天是否会下雨。当然它也可以用于多分类问题。假设现在有一些数据点,我们利用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合过程就称作为回归,如下图所示:Logistic回归是分类方法,它利用的是Sigmoid函数阈值在[0,1]这个特性。Logistic回归进行分类的主要思想是:根据现有数
2021-06-11 13:22:29
254
原创 项目实训(十)--ernie
项目实训(十)本文讲一下ernie的个人理解目录项目实训(十)改进1代码实现改进1我使用的ernie是基于bert进行了改动,使其更加符合中文语境。简单讲就是在划分输入的粒度级别上进行了修改。bert是在字符级别进行编码,而应用到中文这种划分可能就不是太合适。ernie在划分上进行了改进,采用中文的词作为最小划分粒度进行处理。代码实现...
2021-06-11 13:08:20
563
原创 项目实训(九)--bert模型
项目实训(八)本文记录在项目中的bert实现目录项目实训(八)配置参数网络结构数据集准备初始化网络参考配置参数需要使用预训练模型,提前下载 def __init__(self, dataset): self.model_name = 'bert' self.train_path = dataset + '/data/ans_train.txt' # 训练集 self.dev_path
2021-06-11 09:39:57
184
原创 项目实训(八)--transformer
项目实训(八)本文讲一下个人对transformer的理解目录项目实训(八)结构字向量与位置编码自注意力机制残差连接与layer normalizationfeedforward参考结构像大多数seq2seq模型一样,transformer模型是由encoder-decoder构成。字向量与位置编码由上面的结构可知,输入inputs需要经过input embedding进行编码。这一层的编码主要由两部分组成,字符编码和位置编码。所谓字符编码,就是将语句划分之后的字符通过预训练的向量进行匹配
2021-06-11 09:26:10
256
原创 项目实训(六)
项目实训(六)本篇主要分析项目中所涉及的句向量生成以及互注意力机制。目录项目实训(六)句向量生成句向量生成我们使用的句向量生成主要包括两种方法,一种是基于词向量,通过加权平均得到句向量,另一种是使用bert模型生成句向量。使用第一种方法会带来一个很大的问题,那就是生成的句向量会损失句子的语义,这对后面我们评分会造成明显的影响。但使用bert可以较好地规避这个问题。bert模型的网络结构是Transformer结构...
2021-04-21 14:56:18
322
1
原创 项目实训(五)
项目实训(五)本篇文章接上一篇,对项目中所使用的神经网络进行分析。目录项目实训(五)NN的实现基本结构训练结果展示参考NN的实现基本结构项目中所使用的神经网络为手写实现,未使用Torch,TensorFlow等第三方库。项目中使用的NN是包含一个隐藏层的全连接网络。 def __init__(self, input_size, hidden_size, output_size, file_name): I, H, O = input_size, hidden_size,
2021-04-20 19:18:11
163
原创 项目实训(四)
项目实训(四)根据队伍前面确立下的思路,最近一周我们通过代码实现,并取得了相关结果。目录项目实训(四)思路思路图示符号说明具体实现数据预处理生成X,A生成αA_X生成AX生成VkNN实现及评分细节(略)输出效果展示思路思路图示符号说明Xt,At分别对应处理过的考生答案文本和标准答案文本;X,A分别对应bert生成的句向量组成的矩阵;αA_X对应X与A生成的互注意力向量;AX是A与αA_X生成的考生答案的标准答案表示矩阵;Vk是AX经过flatten处理;S是Vk经过全连接神经网络NN
2021-04-19 10:18:21
76
原创 项目实训(三)
项目实训(三)之前的思路是通过输入B和R生成一系列问题q,对q进行筛选得出q集合作为评分标准;但这需要在第一步完成问题生成,任务量会变大。因此我转换思路,在第一步生成向量集合代替问题q集合。具体描述如下:1.对B和R进行预处理,去除噪音等;2.使用模型(例如bert)对处理过的B和R进行向量生成;在这一步有些细节我没有考虑清楚:1.是仅仅对B和R的分词结果简单的生成词向量吗?2.整个句子应该如何表示?是直接将词向量相加吗?如何将语义引入向量的表示?3.关键词的权重如何考虑?生成词向量所用的分词
2021-04-12 23:06:36
81
原创 项目实训(二)
项目实训(二)目录项目实训(二)输入具体步骤一.生成q及评价函数φ({q},x),x∈R/P/N二.q的筛选:三.评价函数φ:四.评分:本周确定下项目具体思路,在此记录输入问题背景B,参考答案R,标记的学生答案分为正确P与错误N具体步骤一.生成q及评价函数φ({q},x),x∈R/P/N1.q的生成:选择问题生成模型,输入B,R生成问题q的集合二.q的筛选:①第一次筛选:φ(q,R)与φ(q,P)一致。这里会存在一些q=>满足φ(q,R)与φ(q,N)一致②在①中筛选出的q的
2021-03-29 10:18:23
125
原创 项目实训(一)
项目实训(一)项目背景主体研究一致性判断噪音样本分析样本增强方法可视化证据相关调研项目背景本项目主要针对短文本语义一致性判定。在现实生活中,伴随着文本信息的爆炸式增长,从短文本中快速提取关键信息以及对短文本语义的分析显得尤为重要。在当下线上线下教育结合以及网络文本信息审批数据量越来越大,给单纯依靠人工进行文本阅读的工作带来了很大的负担。尤其在网上阅卷、和中小学生网上作业批阅的情况下,用机器代替教师进行作业、题目的评阅有很大的需求。本项目通过机器学习的方法,对短文本的语义进行分析和提炼,将标准答案和考生目
2021-03-22 15:27:05
146
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人