- 博客(10)
- 收藏
- 关注
原创 卷积神经网络(2)基于LeNet实现手写体数字识别实验
对于大小为32×32的单通道图像,先用6个大小为5×5的卷积核对其进行卷积运算,输出为6个28×28大小的特征图;6个14×14大小的特征图再经过16个大小为5×5的卷积核对其进行卷积运算,得到16个10×10大小的输出特征图;16个5×5大小的特征图再经过120个大小为5×5的卷积核对其进行卷积运算,得到120个1×1大小的输出特征图;16个10×10大小的特征图经过大小为2×2,步长为2的汇聚层后,输出特征图的大小变为5×5;第二个全连接层的参数量为:84×10+10=85084×10+10=850;
2024-11-18 21:51:15
589
原创 卷积神经网络1卷积算子
在图像处理任务中,常用拉普拉斯算子对物体边缘进行提取,拉普拉斯算子为一个大小为3×3的卷积核,中心元素值是8,其余元素值是−1。考虑到边缘其实就是图像上像素值变化很大的点的集合,因此可以通过计算二阶微分得到,当二阶微分为0时,像素值的变化最大。kernel_size:池化窗口的大小,可以是单个整数或元组(如 (2, 2) 表示 2x2 的池化窗口)。kernel_size:卷积核的大小,可以是单个整数(3表示3x3的卷积核)或一个元组((3, 3))。padding:填充,控制输入边界的补充,默认为 0。
2024-11-10 13:40:01
717
原创 深度学习实验八前馈神经网络优化问题
实验中,当某个 ReLU 神经元在训练中某一轮更新后变为非激活状态(输出恒为零)时,它的梯度也会恒为零,导致该神经元在后续训练中完全失效。在训练过程中,如果参数在一次不恰当的更新后,某个ReLU神经元在所有训练数据上都不能被激活(即输出为0),那么这个神经元自身参数的梯度永远都会是0,在以后的训练过程中永远都不能被激活。在神经网络的构建过程中,随着网络层数的增加,理论上网络的拟合能力也应该是越来越好的。由Linear的值可以看出,梯度的更新由9.88->0.007,梯度的更新逐渐减小,出现了梯度消失现象。
2024-11-03 10:34:00
650
原创 深度学习——卷积
低层次的卷积层可能学习边缘和角点等简单特征,而高层次的卷积层则能够组合这些简单特征,形成更复杂的模式。权重共享:卷积核在整个输入图像上重复使用相同的权重,减少了模型的参数数量,还使得卷积网络对平移不变性(即物体位置变化时特征仍能被识别)具有更强的能力。非线性激活:卷积操作后通常会应用非线性激活函数(如ReLU),这使得网络能够学习更复杂的特征关系,而不仅仅是线性组合。下采样和特征图:通过池化操作对卷积输出进行下采样,进一步减少特征图的维度,同时保留重要的信息。
2024-10-27 15:18:33
285
原创 前馈神经网络(3)自动梯度
3.自定义隐藏层层数和每个隐藏层中的神经元个数,尝试找到最优超参数完成二分类。经过尝试之后,第一层5个神经元,第二层3个神经元,学习率5,轮次2000效果最好。经过尝试,尝试在只有一个隐藏层时,学习率5,神经元个数6,轮次2000时最好。2.增加一个3个神经元的隐藏层,再次实现二分类,并与1做对比。隐藏神经元的数量应为输入层大小的2/3加上输出层大小的2/3。1.使用pytorch的预定义算子来重新实现二分类任务。隐藏神经元的数量应在输入层的大小和输出层的大小之间。隐藏神经元的数量应小于输入层大小的两倍。
2024-10-27 12:57:43
299
原创 实验五前馈神经网络实现二分类
神经网络通过多个隐藏层和激活函数引入非线性,使得每一层的输出不仅依赖于前一层的线性组合,还加入了非线性变换。Logistic 类实现了Sigmoid激活函数,将线性层的输出进行非线性变换,使得神经网络能够进行学习复杂的特征。2.向量形式的输入数据将被输入到第一个全连接层,其中每个神经元的输入都是上一层神经元的输出,同时每个神经元都会进行一次非线性的变换。定义了神经层的线性层算子和激活函数算子之后,我们可以不断交叉重复使用它们来构建一个多层的神经网络,可以更高效的构建神经网络模型。神经网络的参数主要是通过。
2024-10-19 11:38:57
1392
原创 pytorch实现神经元、激活函数(Sigmoid函数和ReLU函数)
特点:函数在 x=0x=0 处输出为 0.5,接近于 −∞ 时输出接近于 0,接近于 +∞ 时输出接近于 1。Sigmoid: 在反向传播中,输入值为极大或极小时,Sigmoid 函数的导数接近于 0,导致梯度消失。导数为:ReLU′(x)={0if x<01if x≥0,对于正输入,ReLU 可以提供恒定的梯度。Sigmoid: 输出被限制在 (0,1)(0,1) 的范围内,因此适合于处理概率值或二分类问题。Sigmoid:常用于输出层,特别是在二分类问题中,能够输出概率值。输出范围:(0,1)
2024-10-12 11:09:25
332
原创 numpy手推 + pytorch自动 - 编程实现
前向传播print('前向传播:h1,h2,o1,o2:', round(h1.item(), 2), round(h2.item(), 2), round(o1.item(), 2), round(o2.item(), 2))print('均方误差error:', round(error.item(), 2))x = torch.tensor([0.5, 0.3]) # 输入y = torch.tensor([0.23, -0.07]) # 真实标签。
2024-10-09 00:52:48
1235
原创 神经网络与深度学习实验四线性分类
3.Logistic回归模型其实就是线性层与Logistic函数的组合,通常会将 Logistic回归模型中的权重和偏置初始化为0,构建Logistic回归算子并进行简单测试。注:此分类为多分类任务,softmax,Op,model_SR,MultiCrossEntropyLoss,Optimizer,RunnerV2,plot等类和函数。2.损失函数图像,与线性回归不同的是,Logistic回归引入了非线性函数,可以解决连续的线性函数不适合进行分类的问题。4.构建类似于二分类的算子,并进行简单测试。
2024-09-28 15:59:36
1505
原创 神经网络与深度学习实验三线性回归
用优化器对神经网络进行构建,用与线性模型相同的Linear类实现了线性层的基本功能,包括初始化参数和执行前向传播,允许你通过调用实例来计算线性变换.可能导致过拟合,w,b计算不正确,可以通过数据预处理移除异常值,在回归任务中对正常值和异常值设置不同的权重,添加正则化减少模型复杂度等方法。,线性回归可以通过最小二乘法求出参数w和b的解析式。x,y若为不同的数据类型,则在运行过程中会报错。(大部分代码都是书上给好的,理解加整理写了一天,感觉收获很多)加载训练好的模型参数,在测试集上得到模型的MSE指标。
2024-09-21 16:06:25
548
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人