- 博客(9)
- 收藏
- 关注
原创 零基础深度学习笔记:卷积神经网络
严格来说,卷积层是个错误的叫法,因为它所表达的运算其实是互相关运算(cross-correlation),而不是卷积运算。在卷积层中,输入张量和核张量通过互相关运算产生输出张量。首先,我们暂时忽略通道(第三维)这一情况,看看如何处理二维图像数据和隐藏表示。若输入是高度为3、宽度为3的二维张量(即形状为3×3)。卷积核的高度和宽度都是2,而卷积核窗口(或卷积窗口)的形状由内核的高度和宽度决定(即2×2)。在二维互相关运算中,卷积窗口从输入张量的左上角开始,从左到右、从上到下滑动。
2024-10-25 23:03:39
2083
原创 零基础深度学习笔记:深度学习计算
深度学习成功背后的一个因素是神经网络的灵活性: 我们可以用创造性的方式组合不同的层,从而设计出适用于各种任务的架构。有时我们会遇到或要自己发明一个现在在深度学习框架中还不存在的层。在这些情况下,必须构建自定义层。
2024-10-25 21:53:58
2094
原创 零基础深度学习笔记:多层感知机(二)
我们将介绍一些正则化模型的技术。此外,当反向传播通过许多层时,除非我们在刚刚好的地方, 这些地方sigmoid函数的输入接近于零,否则整个乘积的梯度可能会消失。2014年,斯里瓦斯塔瓦等人 (Srivastava et al., 2014) 就如何将毕晓普的想法应用于网络的内部层提出了一个想法: 在训练过程中,他们建议在计算后续层之前向网络的每一层注入噪声。我们可以将暂退法应用于每个隐藏层的输出(在激活函数之后), 并且可以为每一层分别设置暂退概率: 常见的技巧是在靠近输入层的地方设置较低的暂退概率。
2024-10-18 21:28:26
801
原创 零基础深度学习笔记:多层感知机(一)
通常,我们选择2的若干次幂作为层的宽度。此外,由于我们的训练和验证误差之间的泛化误差很小, 我们有理由相信可以用一个更复杂的模型降低训练误差。与我们在sigmoid函数图像中看到的类似, 输入在任一方向上越远离0点,导数越接近0。另一方面,当我们的训练误差明显低于验证误差时要小心, 这表明严重的过拟合(overfitting)。特别是在深度学习领域,众所周知, 最好的预测模型在训练数据上的表现往往比在保留(验证)数据上好得多。当输入为负时,ReLU函数的导数为0,而当输入为正时,ReLU函数的导数为1。
2024-10-18 20:46:46
765
原创 零基础深度学习笔记:线性神经网络(二)
Fashion-MNIST中包含的10个类别,分别为t-shirt(T恤)、trouser(裤子)、pullover(套衫)、dress(连衣裙)、coat(外套)、sandal(凉鞋)、shirt(衬衫)、sneaker(运动鞋)、bag(包)和ankle boot(短靴)。第二个样本的预测类别是2(该行的最大元素为0.5,索引为2),这与实际标签2一致。在上面的evaluate_accuracy函数中, 我们在Accumulator实例中创建了2个变量, 分别用于存储正确预测的数量和预测的总数量。
2024-10-12 00:01:04
628
原创 零基础深度学习:线性神经网络(一)
因为我们计算的损失是一个批量样本的总和,所以我们用批量大小(batch_size) 来规范化步长,这样步长大小就不会取决于我们对批量大小的选择。在下面的代码中,我们生成一个包含1000个样本的数据集, 每个样本包含从标准正态分布中采样的2个特征。当我们在之前实现线性回归时, 我们明确定义了模型参数变量,并编写了计算的代码,这样通过基本的线性代数运算得到输出。在下面的代码中,我们定义一个data_iter函数, 该函数接收批量大小、特征矩阵和标签向量作为输入,生成大小为batch_size的小批量。
2024-10-04 22:37:48
1335
原创 零基础深度学习:预备知识(二)
对于每个值,一种自然的方法是将它出现的次数除以投掷的总次数, 即此事件(event)概率的估计值。笼统来说,可以把分布(distribution)看作对事件的概率分配, 稍后我们将给出的更正式定义。如果骰子是公平的,那么所有六个结果都有相同的可能发生, 因此我们可以说1发生的概率为1/6。通过令x=1并让h趋近0,f'(x)的数值结果趋近于2,虽然这个实验不是一个数学证明,但稍后会看到,当x=1时,导数f'(x)是2。因为我们是从一个公平的骰子中生成的数据,我们知道每个结果都有真实的概率1/6,大约是。
2024-09-27 20:09:05
325
原创 零基础深度学习笔记:预备知识(一)
广播机制遵循一定的规则来扩展较小的张量,使其与较大的张量具有相同的形状,从而能够执行逐元素操作,如加减乘除等。可以发现,形状不同的两个张量仍然能相加,对于张量a, 第一列被复制粘贴到了第二列,形成了3行2列的张量,而对于张量b,第一行被复制粘贴到了第二行和第三行,同样形成了3行2列的张量,然后他们再相加便得到结果。我们可以对任意张量进行的一个有用的操作是计算其元素的和。同样,给定具有相同形状的任意两个张量,任何按元素二元运算的结果都将是相同形状的张量。这里的A是一个5行4列的矩阵,B是一个4行3列的矩阵。
2024-09-27 17:27:58
661
原创 零基础深度学习笔记:环境配置
注意:三者版本与python版本要对应,例如,若Python版本为3.9,numpy版本可以是1.21.5,pandas版本可以是1.2.4,matplotlib的版本可以是3.5.1。请注意,若此前存在其它单独的 Python 解释器添加过环境变量,请删除它的环境变量,否则 Anaconda 的环境变量会被挤出来(即点击确定后,再点进来会自动消失)。注意:三个组件的版本必须和CUDA版本,Python版本对应,图中cu121表示CUDA12.1,cp312表示Python3.12,以此类推。
2024-09-20 21:24:28
516
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅