自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 HBU深度学习手写作业11-LSTM

根据LSTM的计算公式,可以得出LSTM的cell state与都存在计算关系,而的计算公式又全部都与有关,所以从到的反向传播的公式如下:由LSTM各个门的计算公式可以进一步推导得到:根据公式,如果要计算时刻k的,简单的利用上式进行乘t-k+1次即可。在公式中的,也就是遗忘门可以控制的值。由于的值也与前面三项值有关,所以的值不一定局限于[0,1],也有可能是大于1的,所以在一定程度上减缓了梯度消失。从计算公式角度来看与。

2024-12-23 20:34:02 971

原创 HBU深度学习实验17-优化算法比较和分析

【代码】HBU深度学习实验17-优化算法比较和分析。

2024-12-21 20:23:25 421

原创 HBU深度学习实验16-循环神经网络(3)

这部分一直在报错,设备显示冲突。

2024-12-16 16:49:16 616

原创 HBU深度学习作业10-BPTT

这次作业算是从RNN到LSTM的一个过渡,总体难度不算太大RNN反向传播的参数梯度推导没什么,那三个参数的推导过程都是重复的,只要改变符号就行那个代码,参考别人的,自己写不出来。NNDL 作业十 RNN-BPTT_rnn计算例题-优快云博客NNDL 作业10 BPTT [HBU]_l相对于u的梯度-优快云博客LSTM从入门到精通(形象的图解,详细的代码和注释,完美的数学推导过程)_lstm模型-优快云博客。

2024-12-07 12:06:19 692

原创 HBU深度学习实验15-循环神经网络(2)

试着自己画画LSTM结构原理图(用visio画的,也可以用ppt)LSTM通过引入“门”结构和“细胞状态”来解决这个问题。门结构可以控制信息的流入和流出,细胞状态则可以长期存储状态。这使得LSTM能够在长序列中更好地捕捉依赖关系。LSTM的反向传播的数学推导很繁琐,因为涉及到的变量很多,但是LSTM确实是可以在一定程度上解决梯度消失和梯度爆炸的问题。我简单说一下,RNN的连乘主要是W的连乘,而W是一样的,因此就是一个指数函数(在梯度中出现指数函数并不是一件友好的事情);相反,LSTM的连乘是对。

2024-12-06 20:31:11 1014

原创 HBU深度学习实验14.5-循环神经网络(1.5)

RNN神经网络产生梯度消失和梯度爆炸的原因及解决方案 - 早起的小虫子 - 博客园 (cnblogs.com)本次实验主要是为了解决梯度爆炸问题一般而言,循环网络的梯度爆炸问题比较容易解决,一般通过权重衰减或梯度截断来避免.。

2024-12-06 15:31:56 1222

原创 HBU深度学习实验14-循环神经网络(1)

循环神经网络(Recurrent Neural Network,RNN)是一类具有短期记忆能力的神经网络.在循环神经网络中,神经元不但可以接受其他神经元的信息,也可以接受自身的信息,形成具有环路的网络结构.和前馈神经网络相比,循环神经网络更加符合生物神经网络的结构.目前,循环神经网络已经被广泛应用在语音识别、语言模型以及自然语言生成等任务上.循环神经网络非常擅于处理序列数据,通过使用带自反馈的神经元,能够处理任意长度的序列数据.给定输入序列,循环神经网络从左到右扫描该序列,并不断调用一个相同的组合函数。

2024-12-04 22:45:48 1175

原创 HBU深度学习实验13-卷积神经网络(4)

CIFAR-10数据集包含了10种不同的类别、共60,000张图像,其中每个类别的图像都是6000张,图像大小均为32×32像素。将数据集文件进行解压:在本实验中,将原始训练集拆分成了train_set、dev_set两个部分,分别包括40 000条和10 000条样本。将data_batch_1到data_batch_4作为训练集,data_batch_5作为验证集,test_batch作为测试集。训练集:40 000条样本。验证集:10 000条样本。测试集:10 000条样本。

2024-12-01 21:42:38 780

原创 HBU深度学习作业9

【PyTorch学习笔记】21:nn.RNN和nn.RNNCell的使用-优快云博客【学习笔记】RNN算法的pytorch实现 - Lugendary - 博客园 (cnblogs.com)torch 循环神经网络torch.nn.RNN()和 torch.nn.RNNCell()-优快云博客。

2024-11-30 17:13:06 1171

原创 HBU深度学习实验12-卷积神经网络(3)

这里为高层API版本的resnet18模型和自定义的resnet18模型赋予相同的权重,并使用相同的输入数据,观察输出结果是否一致。但是根据实验表明,随着网络的加深,优化效果反而越差,测试数据和训练数据的准确率反而降低了。如果残差映射(F(x))的结果的维度与跳跃连接(x)的维度不同,那咱们是没有办法对它们两个进行相加操作的,必须对x进行升维操作,让他俩的维度相同时才能计算。可以看到,高层API版本的resnet18模型和自定义的resnet18模型输出结果是一致的,也就说明两个模型的实现完全一样。

2024-11-23 22:18:48 765

原创 HBU深度学习实验11-卷积神经网络(2)

我的第一感觉就是这里的数据太少了,只有1000个,如果把数据扩大,是不是效果更好呢?我租了一个云服务器,RTX4090,但是,还是很慢。我就放弃了。然后我开始怀疑是我数据集的问题,因为我的数据集的底色是黄色的,可能影响了中间特征的提取好像也不太对。我试着修改学习率和训练次数,(其实一开始就修改了几个数,发现不行,要是我再认真点,就不会走这么多弯路了)。我借鉴了别人的代码,发现了学习率设为0.2,出奇的好。学习率往大处调,情况不多。学习率往小处调,就要紧跟着动训练次数,这俩之间的度要把握好。

2024-11-17 22:29:19 797

原创 HBU深度学习作业8

CNN的反向传播其实与全连接神经网络的反向传播有很大不同,只是从最后的输出层到最后一个卷积层的池化层的误差计算方式是相同的,但是从池化层到卷积层,卷积层到输出层(or池化层)的误差传播方式与全连接网络是大不相同的。CNN的反向传播,其实并不是大多所说的和全连接的BP类似,CNN的全连接部分的BP是与它相同,但是CNN中卷积--池化、池化--卷积部分的BP是不一样的,仔细推导,还是有很多细节地方需要思考的,比如。可见,网络的参数量只与卷积核的尺寸、通道数 ​、网络的深度相关,而与输入数据的大小无关。

2024-11-15 21:58:42 753

原创 HBU深度学习实验10-卷积神经网络(1)

创建卷积核# 创建偏置# 输入通道数# 输出通道数# 基础卷积运算# 零填充"""输入:- inputs:输入矩阵,shape=[B, D, M, N]- weights:P组二维卷积核,shape=[P, D, U, V]- bias:P个偏置,shape=[P, 1]"""# 进行多次多输入通道卷积运算for w, b in zip(self.weight, self.bias): # P个(w,b),每次计算一个特征图Zp# 循环计算每个输入特征图对应的卷积结果。

2024-11-09 16:37:23 602

原创 HBU深度学习实验9-前馈神经网络(5)

随机梯度下降收敛速度快,但是波动较大,在最优解处出现波动很难判断其是否收敛到一个合理的值。因为批梯度下降所需要的时间空间成本大,我们考虑随机抽取一个样本来获取梯度,更新参数 θ。:训练速度快,每次迭代只需要一个样本,相对于批梯度下降,总时间、空间开销小。:考虑到了全局数据,更新稳定,震荡小,每次更新都会朝着正确的方向。将数据集分为m /n个集合,如果有余,将剩余样本单独作为一个集合。:噪声大导致高方差。根据整个数据集求取损失函数的梯度,来更新参数θ的值。根据上图可以看到,批梯度下降收敛稳定,震荡小。

2024-11-03 21:45:14 656

原创 HBU深度学习实验8-前馈神经网络(4)

实现一个神经网络前,需要先初始化模型参数。如果对每一层的权重和偏置都用0初始化,那么通过第一遍前向计算,所有隐藏层神经元的激活值都相同;在反向传播时,所有权重的更新也都相同,这样会导致隐藏层神经元没有差异性,出现。看上面的权重都一样从输出结果看,二分类准确率为50%左右,说明模型没有学到任何内容。训练和验证loss几乎没有怎么下降。为了避免对称权重现象,可以使用高斯分布或均匀分布初始化神经网络的参数。

2024-11-03 19:45:05 643

原创 HBU深度学习作业7-基于CNN的XO识别

靠的就是最后的全连接层这里的全连接层就是前面的前馈神经网络。

2024-11-02 15:58:31 1030

原创 有序二叉树的删除

(4)如果有父节点,判断是要删除节点是父节点的左孩子还是右孩子。(3)目标节点左子树的最大值或右子树的最小值,替换掉目标节点。(4)如果有父节点,判断目标节点是父节点的左孩子还是右孩子。(2)找到目标节点左子树的最大值,或右子树的最小值。(2)找到要删除节点的父节点---parent。(2)找到要删除节点的父节点---parent。(3)如果没有父节点---root=NULL。(1)找到要删除的节点---target。(1)找到要删除的节点---target。(1)找到要删除的节点---target。

2024-10-31 11:06:38 200

原创 图片大小怎么算的?

DPI是“Dots Per Inch”的缩写,指每英寸的点数。它是一种分辨率单位,用于描述图片在打印时的清晰度。这一参数通常用于打印时的清晰度衡量,而不是在屏幕上显示的清晰度。大多数图片格式(如JPEG、PNG)会通过压缩来减少文件大小,因此实际文件大小会比未压缩时小得多。这里显示为1.4 MB,说明压缩比率大约是。图片信息显示颜色深度为24位(24-bit),表示每个像素需要24位(或3字节)来存储颜色信息。17820408×3=53461224 字节≈53.5 MB。

2024-10-31 09:39:07 751

原创 堆排序思路

堆排序

2024-10-26 14:26:08 124

原创 基数排序思路

要排序的数最大有几位,那么一共就执行几次每次是O(n)假设最大有K位那么时间复杂度就是O(Kn)(K不能省)

2024-10-25 23:01:08 176

原创 HBU深度学习作业6-初识卷积

这次作业的核心就是搞清楚,卷积能提取特征的原理我们平常所见到的卷积核,都是有规律的,对称的,那些都是搞数学的弄出来的,至于怎么弄出来的,不知道。一个常见的卷积核是用于检测边缘的Sobel 卷积核,例如:这个卷积核用于水平边缘检测。每次将它应用于图像的一个小区域时,卷积核会将区域内像素值进行加权求和,计算得到一个新的像素值。这个操作遍历整张图像,输出结果形成一幅特征图,特征图的值越大,代表图像在该位置越接近边缘。假设有一个 5x5 的灰度图像。

2024-10-25 19:39:22 290

原创 HBU深度学习实验7-前馈神经网络(3)

import os# 新增make_moons函数1X = X[idx]y = y[idx]# 判断是二分类任务还是多分类任务,preds.shape[1]=1时为二分类任务,preds.shape[1]>1时为多分类任务else:# 绘制坐标轴和图例# 绘制坐标轴和图例plt.show()# 使用'torch.nn.functional.sigmoid'定义 Logistic 激活函数# 前向计算return a2# 记录训练过程中的评估指标变化情况。

2024-10-24 11:15:25 649

原创 HBU深度学习实验6-前馈神经网络(2)

链接:https://pan.baidu.com/s/1WvTC_O8WKImVyiqQMOZ-VA?pwd=abcd提取码:abcd--来自百度网盘超级会员V4的分享。

2024-10-21 19:22:23 341

原创 HBU深度学习实验5-前馈神经网络(1)

什么是活性值?神经网络中每个神经元在接收输入后计算得到的输出值。什么是净活性值?在激活函数应用之前,神经元接收到的加权输入的总和,净活性值在经过激活函数后,会得到活性值。

2024-10-12 11:25:30 315

原创 HBU深度学习作业4-BP算法

因为pytorch激活函数都是包装好的,代码量肯定是比numpy小得多再比如反向传播,numpy需要一个一个把求导公式敲出来、再对每一个参数进行迭代更新,pytorch就不一样了,直接调用一个backward()函数解决#前向传播print('前向传播:h1,h2,o1,o2:', round(h1.item(),2), round(h2.item(),2), round(o1.item(),2), round(o2.item(),2))

2024-10-08 23:47:57 1063

原创 HBU深度学习实验4-线性分类

【代码】HBU深度学习实验4-线性分类。

2024-10-04 19:51:30 376

原创 HBU深度学习实验2-Pytorch-Tensor基础

向量:向量是一维的,可以看作是特定情况下的矩阵(单行或单列)。矩阵:矩阵是二维的,可以看作是特定情况下的张量(二维)。张量:张量可以是n维的,是最通用、最泛化的表达形式。使用pytorch实现张量的运算创建张量。

2024-09-16 22:24:15 705 1

原创 matplotlib

以Iris数据集为例,对该数据集的任意两个特征,使用Python画图工具,将样本显示在二维空间中,并对不同类别样本使用不同颜色标注。在iris.txt文本中,最后一列有1,2,3,说明数据有三个种类,把这三个种类用不同颜色区分开来,前面的几列,任选两列,将其作为x,y轴。第三个:values[]表示列,用三个if语句把第一组,第二组,第三组区分开,连用三次scatter,图会自动区分开颜色。这个实验有三个难点,一个是读取txt文本中的数据,一个是用matplotlib作图,另一个是如何将三组数据区分开。

2024-03-04 10:04:23 342 1

mnist数据集(老师群文件里的那个似乎有问题)

mnist数据集(老师群文件里的那个似乎有问题)

2024-11-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除