【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)

深度学习课程 DAY 2 - 零基础入门深度学习

  • Chapter 1 零基础入门深度学习
    • 1 前言
      • (1)学习路径
      • (2)课程准备
      • (3)课程特色
    • 2 机器学习与深度学习
      • 2.1 三个概念的定义和关系
        • (1)人工智能、机器学习、深度学习的关系
      • 2.2 机器学习
        • (1)机器学习的实现
        • (2)机器学习的方法论
          • 1) 实验取样,提出假设
          • 2) 确定模型参数
          • 3) 模型结构介绍
      • 2.3 深度学习
        • (1)神经网络概念
        • (2)深度学习发展过程
          • 1)深度学习历史
          • 2)深度学习发展
        • (2)深度学习改变AI研发
          • 1)实现端到端的学习
          • 2)实现深度学习框架标准化

Chapter 1 零基础入门深度学习

1 前言

(1)学习路径

【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第1张图片该深度学习教程提供的基本学习路径。通过原理和代码结合、案例和作业结合进行学习。

(2)课程准备

  • 知识储备:Python编程、机器学习、深度学习
  • 平台:AI Studio和PaddlePaddle

(3)课程特色

原理和代码结合、案例作业比赛应用、飞桨系列产品工具。
【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第2张图片

2 机器学习与深度学习

2.1 三个概念的定义和关系

(1)人工智能、机器学习、深度学习的关系

三者的关系如图,人工智能 > 机器学习 > 深度学习。深度学习是机器学习算法的一种,机器学习是实现人工智能的一种方式,人工智能是用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第3张图片

2.2 机器学习

机器学习是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。

==============================================================================
【个人理解】研究对象是人的学习行为,研究工具是计算机,目的是模拟人的行为、优化知识结构、提高计算效率

(1)机器学习的实现

机器学习实现步骤:setp1 训练; step2 预测。可用归纳和演绎进行类比。

  • 训练
    归纳: 从具体案例中抽象一般规律,
    训练:从一定数量的样本(已知模型输入X和模型输出Y)中,学习输出Y与输入X的关系(可用某种表达式表示)。

  • 预测
    演绎: 从一般规律推导出具体案例的结果,
    预测”:基于训练得到的Y与X之间的关系。如出现新的输入X,计算出输出Y。
    通常情况下,如果通过模型计算的输出和真实场景的输出一致,则说明模型是有效的。

==============================================================================
【个人理解】从大量历史样本得出抽象的关系表达,再用公式预测新的样本。类似统计学的参数估计和假设检验。

(2)机器学习的方法论

  • 目标:介绍机器学习的思考过程,过程中模型参数的确定,模型三个关键部分(假设、评价、优化)的应用
  • Case:牛顿第二定律
    艾萨克·牛顿在1687年于《自然哲学的数学原理》一书中提出的,其常见表述:物体加速度的大小跟作用力成正比,跟物体的质量成反比,与物体质量的倒数成正比。牛顿第二运动定律和第一、第三定律共同组成了牛顿运动定律,阐述了经典力学中基本的运动规律。
1) 实验取样,提出假设

实验方法:倾斜滑动法和水平拉线法
【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第4张图片通过实验获取大量数据样本和观测结果
【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第5张图片猜测:物体的加速度a和作用力之间的关系呈线性关系
假设: a=w⋅F
其中,a代表加速度,F代表作用力,w是待确定的参数。

通过实验可确定参数w是物体质量的倒数(1/m)

最终模型公式:a=F⋅(1/m)
eg.燃料对火箭的推力F=10,火箭的质量m=2,可快速得出火箭的加速度a=5。

2) 确定模型参数

模型参数w的确定实现不够清晰。即:如何确定模型参数(w=1/m)?

确定模型参数的过程:
【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第6张图片* 模型假设:H为模型的假设。关于参数W和输入X的函数,用H(W,X)表示。
目标:H(W,X)的输出与真实输出Y尽量一致,即使H(W,X)≈Y。
评价:H(W,X)-Y=φ的相差程度即是模型效果的评价函数φ(相差越小越好)。

确定参数的过程就是在已知的样本上,不断减小该评价函数H(W,X) 和Y相差的过程,直到学习到一个参数W,使得评价函数的取值最小。
这个衡量模型预测值和真实值差距的评价函数也被称为损失函数(损失Loss)。

  • 优化目标:最小化损失。损失函数最小,即模型能最优迫近实际值。
  • 优化算法实现损失最小化的方法称为优化算法,也称为寻解算法(找到使得损失函数最小的参数解)

因此,模型假设、评价函数(损失/优化目标)和优化算法是构成模型的三个部分。

3) 模型结构介绍

构成模型的三个部分(模型假设、评价函数和优化算法)是如何支撑机器学习流程的呢?
机器执行学习的框架:
【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第7张图片

  • 模型假设:无目的试探Y-X关系非常低效。因此假设空间先圈定了能够表达的关系可能区域,如蓝色圆圈所示,作为模型假设。机器进一步在假设圈定的范围内寻找最优的Y~X关系,即确定参数W。【特定区域确定参数】
  • 评价函数:定义最优,即评价Y~X关系指标。通常衡量该关系是否能很好的拟合现有观测样本,将拟合的误差最小作为优化目标。【评价指标:拟合误差最小】
  • 优化算法:设置了评价指标后,就可以在假设圈定的范围内,将使得评价指标最优(损失函数最小/最拟合已有观测样本)的Y~X关系找出来,这个寻找的方法即为优化算法。最笨的优化算法即按照参数的可能,穷举每一个可能取值来计算损失函数,保留使得损失函数最小的参数作为最终结果。【优化算法寻优】

因此,case的三个阶段为:
step1:假设:通过观察加速度a和作用力F的观测数据,假设a和F是线性关系,即a=w∗Fa。
step2: 评价:对已知观测数据上的拟合效果好,即w∗F计算的结果,要和观测的a尽量接近。
step3: 优化:在参数w的所有可能取值中,发现w=1/m可使得评价最好(最拟合观测样本)。

而机器学习的本质就是参数估计,如科学定律、图像识别、机器翻译和自动问答等问题可通过同样框架进行学习。

2.3 深度学习

若模型假设是个更为复杂呢?这就需要用到深度学习了。
机器学习算法理论在上个世纪90年代发展成熟。2010年左右,随着大数据的涌现和计算机算力提升,深度学习模型改变了机器学习的应用格局。相比传统的机器学习算法,深度学习的理论结构上是一致的,即:模型假设、评价函数和优化算法,其根本差别在于假设的复杂度。

【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第8张图片人脑可以接收到五颜六色的光学信号,能用极快的速度反应出这张图片是一位美女。
但对计算机而言,只能接收到一个数字矩阵,对于美女这种高级的语义概念,从像素到高级语义概念中间要经历的信息变换的复杂性是难以想象的。这种变换已经无法用数学公式表达,因此研究者们借鉴了人脑神经元的结构,设计出神经网络的模型。

(1)神经网络概念

人工神经网络包括多个神经网络层,如卷积层、全连接层、LSTM等,每一层又包括很多神经元,超过三层的非线性神经网络都可以被称为深度神经网络。
通俗的讲,深度学习的模型可以视为是输入到输出的映射函数,如图像到高级语义(美女)的映射,足够深的神经网络理论上可以拟合任何复杂的函数。
因此神经网络非常适合学习样本数据的内在规律和表示层次,对文字、图像和语音任务有很好的适用性。几个领域的任务是人工智能的基础模块,所以深度学习可被称为实现人工智能的基础。

神经结构网络:
【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第9张图片

  • 神经元: 神经网络中每个节点称为神经元,由两部分组成:
    * 加权和:将所有输入加权求和。
    * 非线性变换(激活函数):加权和的结果经过一个非线性函数变换,让神经元计算具备非线性的能力。
  • 多层连接: 大量这样的节点按照不同的层次排布,形成多层的结构连接起来,即称为神经网络。
  • 前向计算: 从输入计算输出的过程,顺序从网络前至后。
  • 计算图: 以图形化的方式展现神经网络的计算逻辑又称为计算图。可以将神经网络的计算图以公式的方式表达,如下:
    在这里插入图片描述

由此可见,神经网络并没有那么神秘,它的本质是一个含有很多参数的“大公式”。如果大家感觉这些概念仍过于抽象,理解的不够透彻,先不用着急,后续我们会以实践案例的方式,再次介绍这些概念。

==============================================================================
【个人理解】可以用运筹学的网络规划进行类比,节点的流量计算和起点终点的计算,可以正向和反向进行。

(2)深度学习发展过程

1)深度学习历史

【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第10张图片
1940年代:首次提出神经元的结构,但权重是不可学的。
1950-60年代:提出权重学习理论,神经元结构趋于完善,开启了神经网络的第一个黄金时代。
1969年:提出异或问题(人们惊奇的发现神经网络模型连简单的异或问题也无法解决,对其的期望从云端跌落到谷底),神经网络模型进入了被束之高阁的黑暗时代。
1986年:新提出的多层神经网络解决了异或问题,但随着90年代后理论更完备并且实践效果更好的SVM等机器学习模型的兴起,神经网络并未得到重视。
2010年左右:深度学习进入真正兴起时期。随着神经网络模型改进的技术在语音和计算机视觉任务上大放异彩,也逐渐被证明在更多的任务,如自然语言处理以及海量数据的任务上更加有效。至此,神经网络模型重新焕发生机,并有了一个更加响亮的名字:深度学习。

为何神经网络到2010年后才焕发生机呢?这与深度学习成功所依赖的先决条件:大数据涌现、硬件发展和算法优化有关。

  • 大数据是神经网络发展的有效前提。神经网络和深度学习是非常强大的模型,需要足够量级的训练数据。
  • 依靠硬件的发展和算法的优化。计算机、GPU、Autoencoder预训练和并行计算等技术,深度网络在训练上的困难已经被逐渐克服。其中,数据量和硬件是更主要的原因。
2)深度学习发展

深度学习在今天依然在蓬勃发展,一方面基础研究快速进展,另一方面工业实践层出不穷。

【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第11张图片
【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第12张图片

(2)深度学习改变AI研发

1)实现端到端的学习

在深度学习兴起之前,很多领域建模的思路是投入大量精力做特征工程,将专家对某个领域的“人工”理解沉淀成特征表达,然后使用简单模型完成任务(如分类或回归)。
而在数据充足的情况下,深度学习模型可以实现端到端的学习,即不需要专门做特征工程,将原始的特征输入模型中,模型可同时完成特征提取和分类任务。

【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第13张图片以计算机视觉任务为例,特征工程是诸多图像科学家基于人类对视觉理论的理解,设计出来的一系列提取特征的计算步骤,典型如SIFT特征。在2010年之前的计算机视觉领域,人们普遍使用SIFT一类特征+SVM一类的简单浅层模型完成建模任务。

说明:SIFT特征
由David Lowe在1999年提出,在2004年加以完善。SIFT特征是基于物体上的一些局部外观的兴趣点而与影像的大小和旋转无关。对于光线、噪声、微视角改变的容忍度也相当高。基于这些特性,它们是高度显著而且相对容易撷取,在母数庞大的特征数据库中,很容易辨识物体而且鲜有误认。使用SIFT特征描述对于部分物体遮蔽的侦测率也相当高,甚至只需要3个以上的SIFT物体特征就足以计算出位置与方位。在现今的电脑硬件速度下和小型的特征数据库条件下,辨识速度可接近即时运算。SIFT特征的信息量大,适合在海量数据库中快速准确匹配。

==============================================================================
【个人理解】SIFT特征检测算法:
构造图像多级尺度特征→提取关键点尺度、位置和主方向→生成特征描述子。
由于信息量大,算法耗时,但是定位准确,对图像尺度、光度噪声变化的适应性好,可重现性高。

2)实现深度学习框架标准化

算法的通用性导致标准化、自动化和模块化的框架产生。
在此之前,不同流派的机器学习算法理论和实现均不同,导致每个算法均要独立实现,如随机森林和支撑向量机(SVM)。但在深度学习框架下,不同模型的算法结构有较大的通用性,如常用于计算机视觉的卷积神经网络模型(CNN)和常用于自然语言处理的长期短期记忆模型(LSTM),都可以分为组网模块、梯度下降的优化模块和预测模块等。这使得抽象出统一的框架成为了可能,并大大降低了编写建模代码的成本。一些相对通用的模块,如网络基础算子的实现、各种优化算法等都可以由框架实现。建模者只需要关注数据处理,配置组网的方式,以及用少量代码串起训练和预测的流程即可。

【深度学习】【PaddlePaddle】DAY 2 - 零基础入门深度学习(一)_第14张图片

==============================================================================

学习内容出处:飞桨深度学习学院——百度架构师手把手带你零基础实践深度学习
https://aistudio.baidu.com/aistudio/course/introduce/1297

你可能感兴趣的:(paddlepaddle,深度学习)