【深度学习】嘿马深度学习系统性知识教程第1篇:在职高新课-深度学习,1.1 深度学习介绍【附代码文档】

63 阅读1分钟

教程总体简介:在职高新课-深度学习 要求 目标 环境要求 1.1 深度学习介绍 学习目标 1.1.1 区别 1.1.3 深度学习代表算法-神经网络 1.1.4 为什么深度学习现在效果非常好 深度学习与神经网络 1.2 神经网络基础 循环神经网络 4.2 词嵌入与NLP 4.3 seq2seq与Attention机制 5.1 生成对抗网络(GAN) 高级主题 5.2 自动编码器 5.3 CapsuleNet(了解) 1.3 浅层神经网络 深度学习进阶 2.1 多分类与TensorFlow 2.2 梯度下降算法改进 2.4 BN与神经网络调优 3.1 图像数据与边缘检测 3.2 卷积神经网络(CNN)原理 3.3 经典分类网络结构 3.5 CNN网络实战技巧

完整笔记资料代码:gitee.com/yinuo112/AI…

感兴趣的小伙伴可以自取哦~


全套教程部分目录:


部分文件图片:

在职高新课-深度学习

要求

  • 需要一定的数学基础,高数、线性代数、概率论

  • 需要掌握机器学习基础,分类、回归等算法

  • 需要会使用相关工具,Scikit-learn、Numpy、TensorFlow

目标

  • 算法

    • 掌握神经网络的数学原理
    • 使用工具动手实现神经网络结构
  • 应用

    • 使用TensorFlow编写神经网络案例

安排

环境要求

tensorflow==1.8.0
h5py==2.8.0
numpy==1.14.2
scikit-learn==0.18.1
matplotlib==2.2.2

1.1 深度学习介绍

学习目标

  • 目标

    • 知道深度学习与机器学习的区别
    • 了解神经网络的结构组成
    • 知道深度学习效果特点
  • 应用

1.1.1 区别

1.1.1.1 特征提取方面
  • 机器学习的特征工程步骤是要靠手动完成的,而且需要大量领域专业知识
  • 深度学习通常由多个层组成,它们通常将更简单的模型组合在一起,通过将数据从一层传递到另一层来构建更复杂的模型。通过大量数据的训练自动得到模型,不需要人工设计特征提取环节

深度学习算法试图从数据中学习高级功能,这是深度学习的一个非常独特的部分。因此,减少了为每个问题开发新特征提取器的任务。适合用在难提取特征的图像、语音、自然语言领域

1.1.2 深度学习应用场景

  • 图像识别

    • 物体识别
    • 场景识别
    • 车型识别
    • 人脸检测跟踪
    • 人脸关键点定位
    • 人脸身份认证
  • 自然语言处理技术

    • 机器翻译
    • 文本识别
    • 聊天对话
  • 语音技术

    • 语音识别

1.1.3 深度学习代表算法-神经网络

1.1.3.1 神经网络

人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN)。是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)结构和功能的 计算模型。经典的神经网络结构包含三个层次的神经网络。分别输入层,输出层以及隐藏层。

其中每层的圆圈代表一个神经元,隐藏层和输出层的神经元有输入的数据计算后输出,输入层的神经元只是输入。

  • 神经网络的特点

    • 每个连接都有个权值,同一层神经元之间没有连接
    • 神经元当中会含有激活函数
    • 最后的输出结果对应的层也称之为全连接层

神经网络是深度学习的重要算法,用途在图像(如图像的分类、检测)和自然语言处理(如文本分类、聊天等)

那么为什么设计这样的结构呢?首先从一个最基础的结构说起,神经元。以前也称之为感知机。神经元就是要模拟人的神经元结构。

一个神经元通常具有多个树突,主要用来接受传入信息;而轴突只有一条,轴突尾端有许多轴突末梢可以给其他多个神经元传递信息。轴突末梢跟其他神经元的树突产生连接,从而传递信号。这个连接的位置在生物学上叫做“突触”。

1.1.3.2 神经网络理解案例

我们以票房预测的例子说明

输入影响票房的N个因素,这里举例四个因素,结果输出一个Y预测票房结果

1.1.4 为什么深度学习现在效果非常好

过去十多年,得益于数字社会的发展,积累了大量的数据。以前的一些算法到达了瓶颈期,它们无法适用于大量的数据。"大规模"一直推动深度学习的发展进步。不仅仅是数据量的大,算法模型规模越来越大等。

  • 数据

  • 计算

    • 训练网络需要GPU、TPU
  • 算法

    • 一些创新,如ReLU激活函数

深度学习与神经网络

知道深度学习与机器学习的区别
了解神经网络的结构组成
知道深度学习效果特点
知道逻辑回归的算法计算输出、损失函数
知道导数的计算图
知道逻辑回归的梯度下降算法
知道多样本的向量计算
应用完成向量化运算
应用完成一个单神经元神经网络的结构
知道浅层神经网络的前向计算过程
知道选择激活函数的原因
说明浅层网络的反向传播推导过程
应用完成一个浅层神经网络结构进行分类
了解深层网络的前向传播与反向传播的过程

1.2 神经网络基础

学习目标

  • 目标

    • 知道逻辑回归的算法计算输出、损失函数
    • 知道导数的计算图
    • 知道逻辑回归的梯度下降算法
    • 知道多样本的向量计算
  • 应用

    • 应用完成向量化运算

    • 应用完成一个单神经元神经网络的结构

1.2.1 Logistic回归

1.2.1.1 Logistic回归

逻辑回归是一个主要用于二分分类类的算法。那么逻辑回归是给定一个x x xy^=P(y=1∣x) \hat{y}=P(y=1|x) ​y​^​​=P(y=1∣x)

Logistic 回归中使用的参数如下:

  • 输入的特征向量x∈Rnx,x x \in R^{n_x} , x x∈R​n​x​​​​,xnx n_x n​x​​y∈0,1 y \in 0,1y∈0,1
  • 参数:权重:w∈Rnx w \in R^{n_x}w∈R​n​x​​​​b∈R b \in R b∈R
  • 输出预测结果y^=σ(wTx+b)=σ(w1x1+w2x2+...+b)=σ(θTx)\hat{y} = \sigma(w^Tx+b)=\sigma(w_1x_1+w_2x_2+...+b)=\sigma(\theta^Tx) ​y​^​​=σ(w​T​​x+b)=σ(w​1​​x​1​​+w​2​​x​2​​+...+b)=σ(θ​T​​x)
    • Sigmoid 函数:s=σ(wTx+b)=σ(z)=11+e−z s = \sigma(w^Tx+b) = \sigma(z) = \frac{1}{1+e^{-z}}s=σ(w​T​​x+b)=σ(z)=​1+e​−z​​​​1​​
    • 如果zzz
    • 如果zzz

e−ze^{-z}e​−z​​

例如:

1.2.1.2 逻辑回归损失函数

**损失函数(loss function)**用于衡量预测结果与真实值之间的误差。最简单的损失函数定义方式为平方差损失:

L(y^,y)=12(y^−y)2 L(\hat{y},y) = \frac{1}{2}(\hat{y}-y)^2L(​y​^​​,y)=​2​​1​​(​y​^​​−y)​2​​

逻辑回归一般使用L(y^,y)=−(ylogy^)−(1−y)log(1−y^)L(\hat{y},y) = -(y\log\hat{y})-(1-y)\log(1-\hat{y}) L(​y​^​​,y)=−(ylog​y​^​​)−(1−y)log(1−​y​^​​)</spa