![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习 PyTorch 极简入门
深入浅出化解深度学习核心难点
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
红色石头Will
个人网站:https://redstonewill.github.io/
展开
-
第01课:深度学习概述
什么是深度学习机器学习,顾名思义,是机器从数据中总结经验,找出某种规律构建模型,并用它来解决实际问题。而深度学习,是机器学习的一个重要分支和延伸,是包含多隐层的神经网络结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,从而学习到数据本身最关键的特征。简单来说,深度学习就是更深、更加复杂的神经网络结构。首先,我将通过一个例子来解释什么是神经网络。例如一个房屋价格预测问题。输入...原创 2020-09-22 12:01:42 · 1894 阅读 · 0 评论 -
第02课:深度学习 Python 必备知识点
无论是在机器学习还是深度学习中,Python 已经成为主导性的编程语言。而且,现在许多主流的深度学习框架,例如 PyTorch、TensorFlow 也都是基于 Python。这门课主要是围绕 “理论 + 实战” 同时进行的,所以本文,我将重点介绍深度学习中 Python 的必备知识点。为什么选择 PythonPython 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido va...原创 2020-09-22 12:01:40 · 1235 阅读 · 0 评论 -
第03课:Anaconda 与 Jupyter Notebook
本文将为大家介绍深度学习实战非常重要的两个工具:Anaconda 和 Jupyter Notebook。Anaconda为什么选择 Anaconda我们知道 Python 是人工智能的首选语言。为了更好、更方便地使用 Python 来编写深度学习相关程序,可以使用集成开发环境或集成管理系统,最流行的比如 PyCharm 和 Anaconda。本文我推荐使用 Anaconda。之所以选择 A...原创 2020-09-22 12:01:39 · 1026 阅读 · 0 评论 -
第04课:深度学习框架 PyTorch
随着深度学习的研究热潮持续高涨,各种开源深度学习框架也层出不穷,包括 TensorFlow、PyTorch、Caffe2、Keras、CNTK、MXNet、Paddle、DeepLearning4、Lasagne、Neon 等等。其中,谷歌推出的 TensorFlow 无疑在关注度和用户数上都占据绝对优势,最为流行。但是,今天我将给大家介绍的却是另外一个发展与流行势头强劲的深度学习框架:PyTor...原创 2020-09-22 12:01:37 · 960 阅读 · 0 评论 -
第05课:神经网络基础知识
在第01课深度学习概述中,我们介绍了神经网络的基本结构,介绍了神经网络的基本单元组成是神经元。如何构建神经网络,如何训练、优化神经网络,这其中包含了许多数学原理,需要具备一些基本知识。本课,我将重点罗列并详细介绍神经网络必备的基础知识。掌握这些基础知识,你就可以很轻松地为接下来的课程做准备。由逻辑回归出发逻辑回归(Logistic Regression)是机器学习一个最基本也是最常用的算法模型...原创 2020-09-22 12:01:35 · 455 阅读 · 0 评论 -
第06课:浅层神经网络(NN)
上一篇我们主要介绍了一些神经网络必备的基础知识,包括 Sigmoid 激活函数、损失函数、梯度下降和计算图。这些知识对我们学习神经网络非常有用!本文我们将开始真正的神经网络学习,从一个浅层的神经网络出发,详细推导其正向传播和反向传播完整过程。神经网络模型概述首先,我们来看一个简单的神经网络模型:最简单的神经网络模型由输入层(Input Layer)、隐藏层(Hidden Layer)、输出...原创 2020-09-22 12:01:34 · 596 阅读 · 0 评论 -
第07课:项目实战——自己动手写一个神经网络模型
上一篇我们主要介绍了最简单的二层神经网络模型,详细推导其正向传播过程和反向传播过程,对整个神经网络的模型结构和数学理论推导过程有了清晰的认识和掌握。本文将带大家使用 Python 搭建一个神经网络模型来解决实际的分类问题。导入数据集为了简化操作,我们直接构造一批数据集。 说明:本文所有代码均在 Jupyter Notebook 中编写实现。import numpy as npimp...原创 2020-09-22 12:01:32 · 904 阅读 · 0 评论 -
第08课:深层神经网络(DNN)
上一篇是实战内容,我们使用 Python 一步步搭建了一个最简单的神经网络模型,只包含单层隐藏层。并使用这个简单模型对非线性可分的样本集进行分类,最终得到了不错的分类效果。本文将继续从深度神经网络入手,介绍深层神经网络的数学原理和推导过程。神经网络为什么要深?我们都知道神经网络能处理很多问题,而且效果显著。其强大能力主要源自神经网络足够“深”,也就是说网络层数越多,神经网络就更加复杂,处理数据...原创 2020-09-22 12:01:31 · 693 阅读 · 0 评论 -
第09课:项目实战——让你的神经网络模型越来越深
上一篇,我们主要介绍了深层神经网络模型的结构和常用的标记方法,详细推导了深层神经网络模型的正向传播和反向传播过程,并在最后介绍了多分类 Softmax 模型。本文我将带领大家通过搭建一个较深层的神经网络来解决一个猫、狗的分类问题。这是一个典型的二分类问题。输入是一张图片,我们会把 3 通道的 RGB 图片拉伸为一维数据作为神经网络的输入层。神经网络的输出层包含一个神经元,经过 Softmax 输...原创 2020-09-22 12:01:29 · 524 阅读 · 0 评论 -
第10课:优化神经网络——如何防止过拟合
上一篇,我们一步步搭建了一个深层的神经网络,来实现图片的分类。结果显示,随着网络层数加深,隐藏层数增加,网络性能会有所提升。但是,单纯地通过增加网络层数也不一定能取得很好的效果,且模型容易发生过拟合。本文将主要来谈谈神经网络中的过拟合问题以及如何避免过拟合。什么是过拟合任何机器学习模型,包括神经网络都可能存在过拟合(Overfit)问题。下面用一张图来说明:上图中,分别用三个模型来拟合实际...原创 2020-09-22 12:01:28 · 1383 阅读 · 0 评论 -
第11课:优化神经网络——梯度优化
上一篇,我们主要介绍了在神经网络模型中如何防止出现过拟合问题。常用的方法是 L1、L2 正则化,Dropout 正则化,Data Augmentation,Early Stopping 等。本文将重点介绍如何使用梯度优化来使神经网络训练更快更有效率。Mini-Batch 梯度下降神经网络反向传播的过程需要使用梯度下降算法来优化网络参数,迭代更新。我们之前介绍的梯度下降算法做法是每次训练都使用全...原创 2020-09-22 12:01:26 · 454 阅读 · 0 评论 -
第12课:优化神经网络——网络初始化技巧与超参数调试
上一篇,我们主要介绍了神经网络中几种常见的梯度下降优化算法,包括 Mini-Batch、Momentum、Nesterov Momentum、AdaGrad、RMSprop、Adam、Learning Rate Decay ,并对各自特点进行了说明和对比。本文将重点讲解初始化神经网络的一些技巧以及如何高效进行超参数调试。网络输入标准化我们知道,神经网络的输入层是训练样本的各个特征值,而不同特征...原创 2020-09-22 12:01:24 · 753 阅读 · 0 评论 -
第13课:构建神经网络模型的实用建议
上一篇,我们主要介绍了优化神经网络中的一些常用技巧,包括输入标准化、权重 W 初始化、批归一化(Batch Normalization)、超参数调试等。这些技巧和方法在实际应用中非常有用,能够大大提高训练神经网络的效率。本文将介绍一些构建神经网络模型的实用建议。如何评估模型神经网络模型训练完成之后需要对其进行评估,正确地评估有助于了解模型的性能,能够帮助我们继续优化模型。如何评估模型呢?这里先...原创 2020-09-22 12:01:22 · 413 阅读 · 0 评论 -
第14课:项目实战——深度优化你的神经网络模型
上一篇给出了构建神经网络模型时的一些实用建议,涉及到评估模型、训练/验证/测试集、贝叶斯最优误差和人类表现水平、错误分析等内容。掌握这些知识对优化神经网络模型非常有用。本文将继续使用第9课中的项目,带领大家使用一些梯度优化技巧和正则化技术搭建一个更好的神经网络来解决猫、狗图片分类问题。这是一个典型的二分类问题。输入是一张图片,我们会把三通道的 RGB 图片拉伸为一维数据作为神经网络的输入层。神经...原创 2020-09-22 12:01:21 · 375 阅读 · 0 评论 -
第15课:卷积神经网络(CNN)
之前的课程中,我们介绍的都是传统神经网络结构,也称为全连接层神经网络。传统神经网络在许多应用中都有着不错的表现和性能。但是在某些领域问题中,其性能受限,表现却并不完美。因此,本文我们将讨论一种新的神经网络结构:卷积神经网络(Convolutional Neural Networks,CNN)。为什么选择 CNN在机器视觉(Computer Vision,CV)、图像识别领域,传统神经网络结构存...原创 2020-09-22 12:01:19 · 639 阅读 · 0 评论 -
第16课:项目实战——利用 PyTorch 构建 CNN 模型
上一篇,我们主要介绍了 CNN 的基本概念和模型结构。本文将带领大家使用 PyTorch 一步步搭建 CNN 模型,进行数字图片识别。本案例中,我们选用的是 MNIST 数据集。总的来说,我们构建分类器将按照以下步骤来做:使用 torchvision 加载 MNIST 数据集;定义一个卷积神经网络 CNN;定义损失函数;使用训练样本,训练网络;在测试样本上进行测试。MNIST 简...原创 2020-09-22 12:01:18 · 1840 阅读 · 0 评论 -
第17课:循环神经网络(RNN)
本文将介绍另一种功能强大、应用非常广泛的神经网络模型:循环神经网络(Recurrent Neural Networks,RNN)。为什么使用 RNN生活中,我们会遇到许多序列信号,例如一段语音、一段文字、一首音乐,等等。这些序列信号都有一个共同的特点:某一点的信号跟它之前或之后的某些信号是有关系的。比如,当我们在理解一句话意思时,孤立的理解这句话的每个词是不够的,我们需要处理这些词连接起来的整...原创 2020-09-22 12:01:16 · 537 阅读 · 0 评论 -
第18课:项目实战——利用 PyTorch 构建 RNN 模型
上一篇,我们主要介绍了基本的 RNN 模型和 LSTM。本文将通过一个实战项目带大家使用 PyTorch 搭建 RNN 模型。本项目将构建一个 RNN 模型,来对 MNIST 手写数据集进行分类。可能有的读者会疑问,MNIST 数据集不是图片吗,而 RNN 是处理序列信号的。为什么图片识别也能使用 RNN 模型呢?其实,这里我们可以把图片看成是序列信号,例如下面是 MNIST 数据集的一张图片:...原创 2020-09-22 12:01:15 · 2205 阅读 · 0 评论