李沐
文章平均质量分 75
cherishIntention
为了远方
展开
-
LeNet
卷积神经网络(LeNet)最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!含但隐藏层的多层感知机模型对图像进行分了的方法有一定的局限性。1.图像在同一列邻近的像素在向量中可能相距较远。它们构成的模式可能难以被模型识别。2.对于大尺寸的图像,使用全连接层容易导致模型过大。卷积层尝试解决这两个问题:一方面,卷积层保留输入形状,使图像的像素在宽高两个方向上的相关性均可能被有效识别;另一方面,卷积层通过滑动窗口将同一卷积核与不同位置的输入重原创 2021-09-03 23:28:59 · 226 阅读 · 0 评论 -
padding_stride_and_multi_input_and_output_channel_and_pooling_layer
填充和步幅最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!填充填充(padding)是指在输入高和宽的两侧填充元素(通常是0元素)。from mxnet import ndfrom mxnet.gluon import nndef comp_conv2d(conv2d, X): """此函数用来计算卷积层。它初始化卷积层权重,并对输入和输出做相应的升维和降维。""" conv2d.initialize()原创 2021-08-31 22:20:24 · 126 阅读 · 0 评论 -
2D_convolutional_layer
二维卷积层最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!卷积神经网络是含有卷积层的神经网络。此文章所介绍的卷积神经网络均使用最常见的二维卷积层。它有高和宽两个空间维度,常用来处理图像数据。二维互相关运算虽然卷积层得名于卷积运算,但我们通常在卷积层中使用更加直观的互相关(cross-correlation)运算.在corr2d函数中实现互相关运算。它接受输入数组X与核数组K,并输出数组Y。from mxnet import a原创 2021-08-31 22:18:08 · 394 阅读 · 0 评论 -
deferred_initialization_and_customized_layer_and_load_save_data
模型参数的延后初始化最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!系统将真正的参数初始化延后到获得足够多的信息之后才执行的行为叫延后初始化(deferred initialization)。它可以使得模型的创建变得更加简单:只需定义每层输出,不需要人工推测输入个数。这对于定义多大数十甚至数百层的网络来说尤其方便。但是延后初始化也可能带来一些困扰。在第一次前向计算之前,我们无法直接操作模型参数,例如无法使用data函数和set_da原创 2021-08-31 22:16:23 · 117 阅读 · 0 评论 -
access_initialization_sharing_parameters
模型参数的访问、初始化和共享最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!from mxnet import nd, initfrom mxnet.gluon import nnnet = nn.Sequential()net.add(nn.Dense(256, activation='relu'), nn.Dense(10))net.initialize() # 使用默认初始化方式X = nd.ra原创 2021-08-31 22:13:44 · 135 阅读 · 0 评论 -
model_construction
最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!模型构造Block类是nn模块里提供的一个模型构造类,使用它可以用来定义我们想要的模型。下面继承Block类构造多层感知机。这里定义的MLP类重载了Block类的__init__函数和forward函数。它们分别用于创造模型参数和定义前向计算。from mxnet import gluon, ndfrom mxnet.gluon import nnclass MLP(nn.Bl原创 2021-08-25 23:21:06 · 163 阅读 · 0 评论 -
inverted_dropout
最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!丢弃法除了权重衰减以外,深度学习常常使用丢弃法(dropout)来应对过拟合问题。丢弃法有一些不同的变体。本文中提到的丢弃法特指倒置丢弃法(inverted dropout)当对隐藏层使用丢弃法时,隐藏单元将有一定的概率被丢弃。设丢弃概率为p,丢弃概率是丢弃法的超参数。具体来说,设随机变量,εi为0或1的概率分别为p和1-p。使用丢弃法时,重新计算隐藏单元,hi’=εi*hi/(1-原创 2021-08-25 23:19:27 · 445 阅读 · 0 评论 -
Kaggle_competition_House_Prices
实战Kaggle比赛:房价预测读取数据集# 如果没有安装pandas,反注释下面一行# !pip install pandas%matplotlib inlineimport d2lzh as d2lfrom mxnet import autograd, gluon, init, ndfrom mxnet.gluon import loss as gloss, data as gdata, nnimport numpy as npimport pandas as pdtrain_da原创 2021-08-25 23:07:27 · 161 阅读 · 0 评论 -
weight_decay
最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!权重衰减权重衰减等价于L2范数正则化。正则化通过为损失函数添加惩罚项使学出的模型参数值较小,是应对过拟合的常用手段。带有L2范数惩罚项的新损失函数为l(w,b)+λ/2||w||^2,其中λ>0。权重衰减通过惩罚绝对值较大的模型参数为需要学习的模型增加了限制,这可能对过拟合有效。实际场中,有时也添加偏差元素的平方和。高维线性回归实验%matplotlib inlinefro原创 2021-08-18 23:24:38 · 267 阅读 · 0 评论 -
model_selection_and_overfitting_and_underfitting
最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!多项式函数拟合%matplotlib inlineimport d2lzh as d2lfrom mxnet import gluon, nd, autogradfrom mxnet.gluon import loss as gloss, nn, data as gdata生成数据集使用三阶多项式生成标签,y = 1.2x-3.4x2+5.63+5+噪声,噪声服从标准差为0原创 2021-08-17 22:57:28 · 86 阅读 · 0 评论 -
multilayer_perceptron
最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!多层感知机多层感知机在单层神经网络之间加入了一个或多个全连接隐藏层。为了避免多个全连接层的仿射变换叠加之后仍是仿射变换,从而引入了非线性变换单元,即激活函数。三种激活函数:ReLU函数、sigmoid函数、tanh(双曲正切)函数介绍如下:ReLU(rectified linear unit)函数ReLU(x) = max(x, 0).%matplotlib inlineimp原创 2021-08-17 22:53:52 · 218 阅读 · 0 评论 -
softmax_regression_with_image_classification_dataset
最近在B站看沐神的动手学深度学习视频,记录一下学习过程查看本文的jupyter notebook格式,更加清晰美观哦!图像分类数据集%matplotlib inlineimport d2lzh as d2lfrom mxnet.gluon import data as gdataimport sysimport timeMNIST数据集是图像分类中广泛使用的数据集之一,但作为基准数据集过于简单。我们将使用类似但更复杂的Fashion-MNIST数据集。第一次调用会自动从网上获取数据。mn原创 2021-08-16 21:58:53 · 136 阅读 · 0 评论 -
linear_regression_and_basic_optimization_algorithm
手动实现线性回归%matplotlib inlineimport randomimport torchfrom d2l import torch as d2ldef synthetic_data(w, b, num_examples): """生成 y = Xw+b+噪声""" X = torch.normal(0, 1, (num_examples, len(w))) y = torch.matmul(X, w)+b y += torch.normal(0, 0原创 2021-08-14 23:36:39 · 149 阅读 · 0 评论