- 博客(16)
- 收藏
- 关注
原创 DCGAN--深度卷积生成对抗网络
输入数据的形状一般为(batch_size,num_channels,height,width),这种数据形式常见于图像数据,其中batch_size表示批处理大小,num_channels表示图像的通道数(如彩色图像的RGB三个通道),height和width分别表示图像的高度和宽度。DCGAN的生成网络结构相较于原始的GAN,它几乎完全使用了原基层代替全连接层,判别器几乎是和生成器对称的,从上图可以看到,整个网络没有pooling层和上采样层的存在,实际上是使用了。
2025-01-17 19:46:56
903
原创 GAN--生成式对抗网络
优化D的公式的第一项,使得真样本x输入的时候,得到的结果越大越好,可以理解,因为需要真样本的预测结果越接近于1越好。这个时候只有假样本,但是我们说这个时候是希望假样本的标签是1,所以是D(G(z))越大越好,但是为了统一成1-D(G(z))的形式,那么只能是最小化1-D(G(z)),本质上没有区别,只是为了形式的统一。通过标准化每一层的输入,使得每层的输入分布具有固定的均值和方差,从而减少内部协变量偏移,使得训练过程更加稳定,允许使用更高的学习率,并且具有一定的正则化效果,减少过度拟合。
2025-01-17 19:14:13
2832
原创 RNN实战--LSTM识别MNIST数据集
上述代码是用LSTM模型实现MNIST数据集识别的实例,大家可以参考做练习!2.加载MNIST数据集。1.定义LSTM模型类。4.训练LSTM模型。
2025-01-17 18:54:13
298
原创 LSTM结构--长短期记忆网络
它在不同的时间步之间提供了一种相对稳定的信息传递方式,使得LSTM能够更好地处理梯度消失和梯度爆炸问题,有效地利用长期的依赖关系,提高模型在处理序列数据任务中的性能。sigmoid函数决定输出的哪些部分是重要的,tanh函数将细胞状态的值映射到-1到1之间。输出门的作用是确保LSTM输出的信息是与当前任务相关的,并且不会因为过多的无关信息而导致梯度问题。所有循环神经网络都有一个重复结构的模型形式,在标准的RNN中,重复的结构是一个简单的循环体,如图所示的A循环体。
2025-01-17 16:59:10
1111
原创 RNN--循环神经网络
循环神经网络是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。其主要目的是处理序列数据,能够捕捉序列中的时间依赖关系,学习序列中的模式和规律,并对序列的未来状态或输出进行预测。【数学上,序列是被排成一列的对象(或事件);这样每个元素不是在其它元素之前,就是在其它元素之后。这里,元素之间的顺序非常重要。RNN是一种特殊的神经网络结构,它与CNN不同的是: 循环神经网络是一种特殊的神经网络,它具有递归结构,使得它可以处理长期依赖关系。
2025-01-17 16:56:57
1250
原创 深度学习--经典网络ResNet18原理及代码
具体来说,ResNet18包含了4个卷积层,每个卷积层使用3x3的卷积核和ReLU激活函数来提取图像的局部特征。同时,它还有8个残差块,每个残差块由两个卷积层和一条跳跃连接(恒等连接)构成,这有助于解决深度卷积神经网络中可能出现的梯度消失和梯度爆炸问题。在深度学习中,模型可以是由各种不同类型的层组成的,例如卷积层、池化层、全连接层等。上述代码中,stride传入的是一个列表,分别表示横向滑动和纵向滑动的步长,当 stride=stride[0]时表示的是横向滑动,另一个则是纵向滑动。
2025-01-17 15:39:01
853
原创 深度学习--经典网络VGG16原理及代码
在神经网络中,每一层(无论是卷积层、全连接层还是其他类型的层)都有与之关联的权重矩阵(或权重张量,对于卷积层而言)。我们可以看出,初始的图片经过卷积层和池化层的处理,通道数在不断增加,有最开始输入的3个,变为了512个,再到4096个,最终的1000是指分类的类别数为1000个。con3-aaa,:卷积层全部都是3*3的卷积核,用上图中conv3-aaa表示,aaa表示通道数。这样,我们对VGG16论文中的两个表格以及VGG16的框架就大体了解完了,接下来我们就具体分析它们,然后用代码实现它。
2025-01-17 14:56:29
482
原创 卷积神经网络框架及实战
定义一个继承自Dataset类的自定义类,用于创建自定义的数据集对象。其中该类包含三个方法:1. __init__方法:初始化数据集的一些重要属性。2. __len__方法:返回数据集包含的图像数量。3. __getitiem方法:用于根据给定的索引获取数据集中的一个样本。这个自定义数据集类使得数据的读取、预处理和标签设置以一种结构化和可复用的方式进行,方便在后续的模型训练中使用。1.__init__方法,称为构造方法。特性:在创建类对象时会自动执行,在创建类对象时,会传入参数给__init__使用。
2025-01-17 14:47:52
1689
原创 CNN--卷积神经网络
局部连接是指在卷积层中,每个卷积核只与输入数据的一部分进行卷积运算,而不是与整个输入数据进行卷积运算,这样可以提取出局部特征,增强模型的特征提取能力。feature map(特征图)的个数是根据卷积核来的,有几个卷积核就有几个feature map(特征图),而卷积核的个数是我们自己设置的,卷积核的通道数是根据上一层的通道数确定的,feature map(特征图)的长宽是根据公式算出来的。是卷积神经网络中的一种常见层类型,其主要作用是将前面的层的输出作为输入,并对其进行线性组合,以产生新的输出。
2025-01-16 17:35:05
846
原创 BP实战2--猫狗分类识别
Kaggle猫狗大战数据集免费下载_猫狗数据集下载-优快云博客。定义一个继承自Dataset类的自定义类,用于创建自定义的数据集对象。其中该类包含三个方法:1. __init__方法:初始化数据集的一些重要属性。2. __len__方法:返回数据集包含的图像数量。3. __getitiem方法:用于根据给定的索引获取数据集中的一个样本。这个自定义数据集类使得数据的读取、预处理和标签设置以一种结构化和可复用的方式进行,方便在后续的模型训练中使用。__init__方法,称为构造方法。
2025-01-16 17:15:13
2034
原创 BP实战1--识别MNIST
在神经网络的最后一层,通常使用softmax函数将输出转换为概率分布。softmax函数与NLLLoss配合使用是非常常见的做法,因为softmax函数可以将网络的原始输出转换为概率分布,而NLLLoss则可以直接计算这些概率与真实标签之间的差异。而优化器使用了SGD随机梯度下降优化器来更新参数,这里我们选择进行20批次的循环,而每批次内存在两个数据:内层循环for images, lables in trainloader: 从trainloader中按批次读取训练数据图像和标签。
2025-01-16 17:02:33
629
原创 python深度学习之感知机
这个过程通过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时,经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。BP神经网络属于前馈型神经网络,通过在输入层与输出层之间增加若干层(一层或多层)神经元,这些神经元称为隐单元,它们与外界没有直接的联系,但其状态的改变能影响输入与输出之间的关系。=f(wx)(1-f(wx))x,因此loss对w求导loss`(w)=loss’(y^)*y^’(w)。
2025-01-16 15:28:56
873
原创 深度学习之梯度下降
梯度下降法求解最小值与线性回归的关系梯度下降法是一种优化算法,常用于求解函数的最小值。在线性回归中,我们的目标是找到最佳的模型参数(例如直线方程y=wx+b中的w和b),使得损失函数(通常是均方误差)最小化用梯度下降法求解线性回归的核心目标确实是通过不断调整模型参数来实现损失函数的最小值。梯度下降法求解最小值这一过程是用梯度下降法求解线性回归中的关键步骤。
2025-01-16 15:09:07
620
原创 深度学习基础语法
前向传播得到预测结果,损失函数评估预测结果与真实值的差距,反向传播基于损失函数计算梯度,梯度用于指导模型参数的更新,不断重复这个过程,以训练出性能良好的模型。Tensor中所有元素都有编号,正索引数从0开始(自左向右),负索引是从-1开始(自右向左)一个标量函数关于向量x的梯度是向量, 并与x具有相同的形状(标量对向量求导)3.查看tensor属性。8.tensor运算。
2025-01-16 13:43:20
196
原创 深度学习环境配置
import torch’查看是否安装成功,‘torch.cuda.is_avvailable()’结果若为True则为支持GPU,为False则为不支持GPU。打开pycharm -> 新建一个项目 -> 将conda环境中的解释器连接虚拟机中python -> 更新虚拟机 -> 创建该项目。Conda create --name env_name python=3.5 #创建指定python版本。Conda install *** -i 源名称或链接 #指定下载源。
2025-01-16 13:29:44
816
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅