
神经网络
文章平均质量分 92
不是很强 但是很秃
很爱盘逻辑的秃女士
展开
-
秃姐学AI系列之:样式迁移 + 代码实现
损失函数由内容损失风格损失和全变分损失3部分组成。风格迁移常用的损失函数由3部分组成:内容损失使合成图像与内容图像在内容特征上接近;风格损失令合成图像与风格图像在风格特征上接近;全变分损失则有助于减少合成图像中的噪点。我们可以通过预训练的卷积神经网络来抽取图像的特征,并通过最小化损失函数来不断更新合成图像来作为模型参数。我们使用格拉姆矩阵表达风格层输出的风格。原创 2024-11-14 21:56:01 · 974 阅读 · 0 评论 -
秃姐学AI系列之:GRU——门控循环单元 | LSTM——长短期记忆网络
关于RNN的两个改进网络:GRU和LSTM原创 2024-11-07 17:35:39 · 1482 阅读 · 0 评论 -
秃姐学AI系列之:FCN + 代码实现
FCN详解原创 2024-10-23 19:58:58 · 778 阅读 · 0 评论 -
秃姐学AI系列之:语义分割 + 数据集 | 转置卷积 + 代码
语义分割详解,以及用于语义分割的一个小处理原创 2024-10-22 22:36:36 · 937 阅读 · 0 评论 -
秃姐学AI系列之:SSD代码实现
现在,我们就可以按如下方式定义完整的模型TinySSD了。# setattr() 函数对应函数 getattr(),用于设置属性值,该属性不一定是存在的# 若不存在会创建并赋值# 即赋值语句self.blk_i=get_blk(i)# getattr(self,'blk_%d'%i)即访问self.blk_i我们创建一个模型实例,然后使用它对一个256×256像素的小批量图像X执行前向传播。如本节前面部分所示,第一个模块输出特征图的形状为32×32。原创 2024-10-12 00:00:35 · 1056 阅读 · 0 评论 -
秃姐学AI系列之:Pytorch的多GPU炼丹
无敌全的关于Pytorch上进行并行处理的原理+代码示例!原创 2024-09-24 17:15:04 · 1295 阅读 · 1 评论 -
秃姐学AI系列之:并行计算 & 分布式计算
并行计算——Parallel Computing:又称 平行计算,是指一种能够让多条指令同时进行的计算模式,可分为时间并行和空间并行。时间并行:即利用多条流水线同时作业空间并行:是指使用多个处理器执行并发计算,以降低解决复杂问题所需要的时间。并行计算是指同时使用多种计算资源解决计算问题的过程。为执行并行计算,计算资源应包括一台配有多处理机(并行处理)的计算机、一个与网络相连的计算机专有编号,或者两者结合使用。并行计算主要目的在于三个方面:将工作分离成离散部分,有助于同时解决;原创 2024-09-23 16:10:45 · 1986 阅读 · 0 评论 -
秃姐学AI系列之:目标检测的常用算法
R-CNN是最早、也是最有名的一类基于锚框和CNN的目标检测算法——对图像选取若干预测锚框,使用卷积神经网络对每个预测锚框执行前向传播以抽取其特征,然后再用这些特征来预测提议区域的类别和边界框。Fast R-CNN 对 R-CNN 的一个主要改进:只对整个图像做卷积神经网络的前向传播。它还引入了兴趣区域汇聚层(RoI Pooling),从而为具有不同形状的兴趣区域抽取相同形状的特征。原创 2024-09-22 21:16:12 · 886 阅读 · 0 评论 -
秃姐学AI系列之:目标检测(物体检测) + 边缘框代码实现 | 锚框 + 代码实现
物体检测识别图片里的多个物体的类别和位置位置通常用边缘框表示从两角表示法转换为中心宽度表示法,而反之亦然。输入参数boxes可以是长度为4的张量,也可以是形状为(n,4)的二维张量,其中n是边界框的数量。"""从(左上,右下)转换到(中间,宽度,高度)"""cx = (x1 + x2) / 2 # 中间就是左上右下的x轴取平均w = x2 - x1 # 一减就可以"""从(中间,宽度,高度)转换到(左上,右下)"""原创 2024-09-19 21:38:54 · 1116 阅读 · 0 评论 -
秃姐学AI系列之:实战Kaggle比赛:狗的品种识别(ImageNet Dogs)
在这里,我们选择预训练的ResNet-34模型,我们只需重复使用此模型的输出层(即提取的特征)的输入。然后,我们可以用一个可以训练的小型自定义输出网络替换原始输出层,例如堆叠两个完全连接的图层。因此,我们可以使用 微调中讨论的方法在完整ImageNet数据集上选择预训练的模型,然后使用该模型提取图像特征,以便将其输入到定制的小规模输出网络中。在计算损失之前,我们首先获取预训练模型的输出层的输入,即提取的特征。的处理一样,即从原始训练集中拆分验证集,然后将图像移动到按标签分组的子文件夹中。原创 2024-09-11 22:33:50 · 1230 阅读 · 0 评论 -
秃姐学AI系列之:实战Kaggle比赛:图像分类(CIFAR-10)
模型直接用了一个ResNet-18return net# lr_period,lr_decay:学习率下降的一种方法# lr_period:每隔多少了epoch# lr_decay:下降多少(0.5:减半)lr_decay):# 调整lr 把decay值*lr# 多GPU训练# 为了展示 画图用的 正常训练不需要None))# 每个epoch之后更新一下lr。原创 2024-09-10 22:50:02 · 1018 阅读 · 0 评论 -
秃姐学AI系列之:微调 + 代码实现
迁移学习将从源数据集中学到的知识迁移到目标数据集,微调是迁移学习的常见技巧。微调通过使用在大数据上得到的预训练好的模型来初始化模型权重来完成提升精度预训练模型质量很重要除输出层外,目标模型从源模型中复制所有模型设计及其参数,并根据目标数据集对这些参数进行微调。但是,目标模型的输出层需要从头开始训练。通常,微调参数使用较小的学习率,而从头开始训练输出层可以使用更大的学习率。微调通常速度更快、精度更高我们使用在ImageNet数据集上预训练的ResNet-18作为源模型。在这里,我们指定。原创 2024-09-10 21:12:18 · 1482 阅读 · 0 评论 -
秃姐学AI系列之:数据增广 + 代码实现
图像增广基于现有的训练数据生成随机图像,来提高模型的泛化能力。为了在预测过程中得到确切的结果,我们通常对训练样本只进行图像增广,而在预测过程中不使用带随机操作的图像增广。深度学习框架提供了许多不同的图像增广方法,这些方法可以被同时应用。常见的图片增广包括反转、切割、变色。原创 2024-09-09 23:24:42 · 874 阅读 · 0 评论 -
秃姐学AI系列之:多GPU并行 + 代码实现
当一个模型能用单卡计算时,通常使用数据并行拓展到多卡上模型并行则用在超大模型上有多种方法可以在多个GPU上拆分深度网络的训练。拆分可以在层之间、跨层或跨数据上实现。前两者需要对数据传输过程进行严格编排,而最后一种则是最简单的策略。数据并行训练本身是不复杂的,它通过增加有效的小批量数据量的大小提高了训练效率。在数据并行中,数据需要跨多个GPU拆分,其中每个GPU执行自己的前向传播和反向传播,随后所有的梯度被聚合为一,之后聚合结果向所有的GPU广播。小批量数据量更大时,学习率也需要稍微提高一些。原创 2024-09-03 23:05:30 · 1287 阅读 · 0 评论 -
秃姐学AI系列之:残差网络 ResNet
假如你只想在卷积神经网络了解一个网络,那一定是ResNet!!!原创 2024-08-27 21:04:57 · 1491 阅读 · 0 评论 -
秃姐学AI系列之:批量归一化 + 代码实现
批归一化层完整讲解 + 代码实现原创 2024-08-26 22:52:27 · 2369 阅读 · 0 评论 -
秃姐学AI系列之:GoogLeNet + 代码实现
含并行连结的网络——GoogLeNet原创 2024-08-26 21:01:26 · 608 阅读 · 0 评论 -
秃姐学AI系列之:NiN + 代码实现
NiN(Network In Network) 网络架构详解 以及 代码实现原创 2024-08-25 22:09:15 · 922 阅读 · 0 评论 -
秃姐学AI系列之:池化层 + 代码实现
一个非常简单的层——池化层!用来缓解卷积对于位置敏感的特性+减少模型数据量。原创 2024-08-20 21:31:06 · 353 阅读 · 0 评论 -
秃姐学AI系列之:AlexNet + 代码实现
深度卷积神经网络 AlexNet——真正引起这次深度学习热潮的第一个网络原创 2024-08-22 21:58:08 · 1436 阅读 · 0 评论 -
秃姐学AI系列之:使用块的网络——VGG
VGG使用可复用的卷积块构造网络。不同的VGG模型可通过每个块中卷积层数量和输出通道数量的差异来定义。块的使用导致网络定义的非常简洁。使用块可以得到不同复杂度的变种网络(之后很多网络都有 高配版 和 低配版)。在VGG论文中,Simonyan 和 Ziserman 尝试了各种架构。特别是他们发现深层且窄的卷积(即3×3)比较浅层且宽的卷积更有效。原创 2024-08-22 22:36:25 · 526 阅读 · 0 评论 -
秃姐学AI系列之:LeNet + 代码实现
80年代最著名的深度网络模型LeNet以及它随论文提出的数据集MNIST原创 2024-08-20 22:48:47 · 885 阅读 · 0 评论 -
秃姐学AI系列之:卷积层 + 代码实现 | 步幅和填充 + 代码实现 | 输入和输出通道 + 代码实现
关于卷积层的详解 + PyTorch代码实现!!超全!!原创 2024-08-16 22:57:30 · 704 阅读 · 0 评论 -
秃姐学AI系列之:使用GPU
但是在实际运行中,在GPU之间挪数据,特别是从GPU挪到CPU是一件很慢的事情。当我们需要进行张量计算的时候,我们需要决定在哪里执行这个操作,在哪执行这个操作,计算出来的张量就会被储存在哪个GPU。现在数据都在同一个GPU上(Z和Y都在第二张GPU),我们可以对它两个进行相加,加法就会在第二张GPU上进行。意味着将我们的所有参数在0号GPU上面copy一份,而X也在0号GPU,所以运算就是在0号GPU上面运算。如果我们想要储存在GPU上,需要在创建的时候定义一个device来设置储存在GPU上。原创 2024-08-13 23:32:23 · 544 阅读 · 0 评论 -
秃姐学AI系列之:PyTorch模型构造 | 参数管理 | 自定义层 | 读写文件
任何一个层,任何一个神经网络,都应该是Module的一个子类下面自定义了一个MLP,实现了和刚刚一样的函数class MLP(nn.Module): # 是nn.Module的子类,继承之后会得到很多好用的函数super().__init__() # 调用父类,这样在初始化weight等的时候就可以直接全部弄好return self.out(F.relu(self.hidden(X))) # 直接通过nn.module里面实现的ReLU来激活__init__:定义需要哪些类、哪些参数。原创 2024-08-13 20:01:19 · 1018 阅读 · 0 评论 -
秃姐学AI系列之 :实战Kaggle比赛:预测房价
在房价预测中,因为不同的房子价格差异太大了,导致如果按照之前简单的:预测标签-真实标签就会导致贵价的房子权重更大,解决这个问题的一种方法是用价格预测的对数来衡量差异——log_rmse:将预测值和真实值都开个根号,然后做正常的线性回归。2、在数据预处理阶段处理数值型特征:首先,它将这些特征标准化(即让数据符合均值为0、标准差为1的分布),然后处理缺失值,将它们设置为0。阶段,当你想要统一处理训练集和测试集中的特征时,你可以先将它们合并起来,进行必要的处理,然后。3、处理离散值,用单热编码替换他们。原创 2024-08-07 20:07:09 · 2120 阅读 · 0 评论 -
秃姐学AI系列之:丢弃法 + 代码实现 | 数值稳定性
丢弃法将一些输出项随机置0来控制模型复杂度常作用在多层感知机的隐藏层输出上(很少用在cnn啊那些模型上面)丢弃概率是控制模型复杂度的超参数(在1不丢~0全丢之间,一般最常见的丢弃概率是0.5、0.9、0.1)当数值过大或者过小时会导致数值问题常发生在深度模型中,因为其会对n个数累乘。原创 2024-08-06 21:30:23 · 1275 阅读 · 0 评论 -
秃姐学AI系列之:模型选择 | 欠拟合和过拟合 | 权重衰退
训练数据集:训练模型参数验证数据集:选择模型超参数非大数据集上通常使用K-折交叉验证模型容量需要匹配数据复杂度,否则可能导致欠拟合和过拟合实际中一般还是需要靠观察训练误差和验证误差。原创 2024-08-04 19:51:12 · 1029 阅读 · 0 评论 -
秃姐学AI系列之:感知机 | 多层感知机 | 感知机代码实现
感知机是一个二分类模型,是最早的AI模型之一它的求解算法等价于使用批量大小为1的梯度下降它不能拟合XOR函数,导致了第一次AI寒冬多层感知机使用隐藏层和激活函数来得到非线性模型超参数为隐藏层层数和各个隐藏层的大小使用Softmax来处理多类分类。原创 2024-08-03 18:43:42 · 1006 阅读 · 0 评论