•深度学习实践
本系列专栏是基于《动手学习深度学习》书籍,并利用PyTorch代码进行实践。
爱吃骨头的猫、
嘘!
展开
-
动手学深度学习(PyTorch实现)(十三)--ResNet模型
ResNet模型1. ResNet介绍2. ResNet结构3. ResNet的PyTorch实现3.1 导入所需要的包3.2 构建ResNet网络3.3 开始训练注:本文部分内容参考博主懒人元的《ResNet解析》1. ResNet介绍随着网络的加深,出现了训练集准确率下降的现象,我们可以确定这不是由于Overfit过拟合造成的(过拟合的情况训练集应该准确率很高);所以针对这个问题出现了一...原创 2020-02-25 18:56:06 · 3558 阅读 · 0 评论 -
动手学深度学习(PyTorch实现)(十二)--批量归一化(BatchNormalization)
批量归一化-BatchNormalization1. 前言2. 批量归一化的优势3. BN算法介绍4. PyTorch实现4.1 导入相应的包4.2 定义BN函数4.3 定义BN类5. 基于LeNet的应用5.1 定义LeNet5.2 加载数据5.3 训练网络1. 前言本博文理论部分摘自CSDN博主「Paulzhao6518」的文章《(BN)批量归一化全面解析》。先来思考一个问题:我们知道在...原创 2020-02-25 18:18:17 · 4477 阅读 · 0 评论 -
动手学深度学习(PyTorch实现)(十一)--GoogLeNet模型
GoogLeNet模型1. GoogLeNet介绍1.1 背景1.2 GoogLeNet网络结构2. PyTorch实现2.1 导入相应的包2.2 定义Inception块结构2.3 定义GoogLeNet网络2.4 训练1. GoogLeNet介绍1.1 背景GoogLeNet是谷歌(Google)研究出来的深度网络结构,为什么不叫“GoogleNet”,而叫“GoogLeNet”,据说是...原创 2020-02-21 13:47:01 · 4128 阅读 · 0 评论 -
动手学深度学习(PyTorch实现)(十)--NiN模型
NiN模型1. NiN模型介绍1.1 NiN模型结构1.2 NiN结构与VGG结构的对比2. PyTorch实现2.1 导入相应的包2.2 定义NiN block2.3 全局最大池化层2.4 训练网络1. NiN模型介绍1.1 NiN模型结构NiN模型即Network in Network模型,最早是由论文Network In Network(Min Lin, ICLR2014).提出的。这...原创 2020-02-20 22:57:56 · 4415 阅读 · 0 评论 -
动手学深度学习(PyTorch实现)(九)--VGGNet模型
VGGNet模型1. VGGNet模型介绍1.1 VGGNet的结构1.2 VGGNet结构举例2. VGGNet的PyTorch实现2.1 导入相应的包2.2 基本网络单元block2.3 实现VGGNet2.4 训练网络1. VGGNet模型介绍VGG Net由牛津大学的视觉几何组(Visual Geometry Group)和 Google DeepMind公司的研究员一起研发的的深度卷...原创 2020-02-19 22:03:32 · 3815 阅读 · 1 评论 -
动手学深度学习(PyTorch实现)(八)--AlexNet模型
AlexNet模型1. AlexNet模型介绍1.1 AlexNet的特点1.2 AlexNet的结构1.3 AlexNet参数数量2. AlexNet的PyTorch实现2.1 导入相应的包2.2 构建AlexNet网络2.3 加载数据集2.4 训练网络1. AlexNet模型介绍由于受到计算机性能的影响,虽然LeNet在图像分类中取得了较好的成绩,但是并没有引起很多的关注。 直到2012年...原创 2020-02-19 18:39:18 · 3869 阅读 · 0 评论 -
动手学深度学习(PyTorch实现)(七)--LeNet模型
LeNet模型1. LeNet模型2. PyTorch实现2.1 模型实现2.2 获取数据与训练1. LeNet模型LeNet分为卷积层块和全连接层块两个部分。下面我们分别介绍这两个模块。卷积层块里的基本单位是卷积层后接平均池化层:卷积层用来识别图像里的空间模式,如线条和物体局部,之后的平均池化层则用来降低卷积层对位置的敏感性。卷积层块由两个这样的基本单位重复堆叠构成。在卷积层块中,每个...原创 2020-02-19 17:03:24 · 6636 阅读 · 1 评论 -
动手学深度学习(PyTorch实现)(六)--卷积神经网络基础
卷积神经网络基础1. 二维卷积层1.1 二维互相关运算1.2 互相关运算与卷积运算1.3 特征图与感受野2. 填充与步幅2.1 填充2.2 步幅3. 多通道3.1 多输入通道3.2 多输出通道3.3 1x1卷积层4. 卷积层与全连接层的对比5. 卷积层的PyTorch实现6. 池化6.1 二维池化层6.2 池化层的PyTorch实现1. 二维卷积层二维卷积层是处理图像数据中最常见的卷积层结构。...原创 2020-02-19 15:57:29 · 3550 阅读 · 0 评论 -
动手学深度学习(PyTorch实现)(五)--多层感知机
多层感知机1. 基本知识2. 激活函数2.1 ReLU函数2.2 Sigmoid函数2.3 tanh函数2.4 关于激活函数的选择3. PyTorch实现3.1 导入相应的包3.2 初始化模型和各个参数3.3 训练1. 基本知识深度学习主要关注多层模型。在这里,我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。多层感知机就是含有至少一个隐藏...原创 2020-02-16 12:55:14 · 3235 阅读 · 0 评论 -
动手学深度学习(PyTorch实现)(四)--梯度消失与梯度爆炸
梯度消失与梯度爆炸1. 梯度消失与梯度爆炸2. 模型参数的初始化2.1 PyTorch的默认随机初始化2.2 Xavier随机初始化3. 环境因素3.1 协变量偏移3.2 标签偏移3.3 概念偏移1. 梯度消失与梯度爆炸深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸(explosion)。当神经网络的层数较多时,模型的数值稳定性容易变差。假设一个层数为LLL的多层感知机...原创 2020-02-16 12:20:22 · 3380 阅读 · 0 评论 -
动手学深度学习(PyTorch实现)(三)--过拟合与欠拟合
过拟合与欠拟合1. 过拟合与欠拟合1.1 训练误差和泛化误差1.2 模型选择1.2.1 验证数据集1.2.2 K折交叉验证1.3 过拟合与欠拟合1.3.1 模型复杂度1.3.2 训练数据集大小2. 解决方案2.1 权重衰减2.1.1 方法2.1.2 PyTorch实现2.2 丢弃法2.2.1 方法2.2.2 PyTorch实现1. 过拟合与欠拟合1.1 训练误差和泛化误差在解释上述现象之前,...原创 2020-02-15 21:43:05 · 3309 阅读 · 0 评论 -
动手学深度学习(PyTorch实现)(二)--softmax与分类模型
softmax与分类模型1. 关于softmax1.1 基本概念1.2 交叉熵损失函数1.3 模型训练与预测2. 获取Fashion-MNIST训练集2.1 下载数据集2.2 处理数据集2.3 读取数据3. PyTorch实现softmax分类模型3.1 加载相应模块3.2 获取数据和初始化参数3.3 定义网络模型并初始化参数3.4 定义损失函数和优化函数3.5 训练模型1. 关于softmax...原创 2020-02-15 20:26:27 · 4035 阅读 · 0 评论 -
动手学深度学习(PyTorch实现)(一)--线性回归
线性回归前言1. 线性回归的基本要素1.1 模型1.2 数据集1.3 损失函数损失函数1.4 优化函数2. 线性回归的PyTorch实现2.1 导入相应的包2.2 生成数据集并读取2.3 定义线性回归模型并初始化模型参数2.4 定义损失函数和优化函数2.5 训练模型前言本系列博客是基于《动手学深度学习》的PyTorch实现,对PyTorch不熟悉的同学可以参考PyTorch入门专栏。感谢伯禹...原创 2020-02-15 18:25:57 · 3328 阅读 · 0 评论