2019-01-09 16:39:57 qq_40196164 阅读数 699
  • 深度学习与PyTorch入门实战教程

    亚洲排名第1的新加坡国立大学AI团队倾情打造,资深研究员龙龙老师主讲,帮助人工智能、深度学习初学者快速、深刻理解深度学习算法原理与实践。 【莫烦老师】权威推荐:在教学中,龙龙老师以简短高效的方式,从深度学习的多个角度向我们展开了论述,非常适合想对深度学习有全方位了解的朋友。 【PyTorch中文网】:讲解简单易懂、由浅入深,是一门值得推荐的课程。 课程特色: 1. 通俗易懂,快速入门 对深度学习算法追本溯源、循序渐进式讲解,学员不需要任何机器学习基础,只需要写过代码即可轻松上手。 2. 实用主导,简单高效 使用新手最容易掌握的深度学习框架PyTorch实战,比起使用TensorFlow的课程难度降低了约50%,而且PyTorch是业界最灵活,最受好评的框架。 3. 案例为师,实战护航 基于计算机视觉和NLP领域的经典数据集,从零开始结合PyTorch与深度学习算法完成多个案例实战。 4. 持续更新,永久有效 一次购买,永久有效。深度学习课程会持续更新下去,内容和学术界最前沿算法保持同步。

    4526 人正在学习 去看看 龙良曲

 深度学习:是一类通过多层非线性变换对高维复杂性数据建模算法的集合。

一、深度学习的原理

深度学习中最重要的一个概念叫做人工神经网络,它作为一种模仿生物神经网络行为特征,进行分布式并行信息处理的算法数学模型,这种网络通过调整内部大量节点(神经元)之间相互链接的权重,从而达到处理信息的目的。

如上图所示的是一个‘神经元’的基本结构,也叫做感知器,他接受多个输入(x1,x2,x3...)产生一个输出output,好呗神经末梢感受各种外部环境的变化,最后产生电信号。而当多个神经元相互连接起来过后就产生了下面的结构。

上图中,底层的感知器接受外部输入,作出判断以后,在发出信号,作为上层感知器的输入,直至得到最后的结果。(此感知器的输出依然只有一个,但是可以发送给多个目标)。

当网络的层数不断加深时,也就成了我们所说的深度神经网络。除此之外还有其他的神经网络结构,力图CNN、RNN、GAN等。而深度学习的过程就是将未经处理的数据(图像、声音、视频或者文字信息)输入值输出层的“输入单元”;输入信息经过一定的映射输出至输出层的“输出节点”检测误差然后通过优化算法利来调整神经元之间的链接权重来改善,大量重复优化的过程。映射的方法根据用户的定义,比如说输入的图像中有狗,输入的声音片段中有‘hello’。

深度学习是一种通过多层神经网络对信息进行抽取和表示,并实现分类、检测等复杂任务的算法架构。深度神经网络作为深度学习算法的核心组成部分,在输入和输出层之间包含有多个隐藏层,使得算法可以完成复杂的分类关系。

所以,深度学习最后学出来地是一种可以拟合事物关系的映射,相当于一种算法的黑箱,不是真正的智能。

二、深度学习的优势 

在目前的语音识别和合成、自然语言处理、计算机视觉以及游戏竞技等方面,深度学习实现的准确率已经远远超过传统机器学习方法的准确度。在许多任务中,经典机器学习甚至无法竞争。在ImageNet数据集上不同方法的图像分类准确性,深度学卷积神经网络的方法在各方面远远超过传统的机器学习方法。

与传统机器学习相比,深度网络可以使用更多的数据进行更好的扩展,很多时候,通过深层网络来使用更多的数据会使准确率不断地提升,直到某一个瓶颈,需要进一步改良算法才能继续提升。而在我们使用的经典机器学习算法时,增加训练数据这种简单快速提升正确率的方法甚至几乎没有效果,并且我们通常需要使用更复杂的方法来提高准确性。

经典的机器学习算法通常需要人工进行复杂的特征工程工作。首先在数据集上执行深度探索性数据分析,然后做一个简单的降低维度的处理,最后,必须仔细的选择最佳功能以传递给机器学习算法。当我们使用深度网络时,完全不需要这么做,因为只需将数据直接传递到网络,通常就可以实现良好的性能,这消除了整个过程的繁琐复杂且非常具有挑战性的特征工程阶段。

  • 远远超越传统机器学习方法的表现

  • 数据量的增大对于准确率的提升效果明显

  • 不再需要繁琐的特征工程

  • 可重新迁移训练,且易于转换

与传统机器学习相比,深度学习技术可以更容易的适应不同的领域和应用。首先迁移学习使用预先训练的深度学习网络适用于同一领域内的不同应用程序是有效的。其次,如果我们一旦了解了语音识别领域的一些基础的深度学习理论,那么学习如何将深度网络应用于自然语言处理过程中将是一件不太具有挑战性的工作,因为它们之间的基础知识非常相似。而经典的机器学习算法来说,在不同的领域和应用的知识库是基本完全不同的,所以很难将算法进行跨领域应用。

 、深度学习的局限性

深度学习训练算法需要大量的数据,训练数据量越大,模型的准确性越高。如今大公司之间为了不惜一切代价的争夺数据,甚至愿意免费提供服务以换取数据,其原因是拥有越多的数据,就拥有越高的算法准确性和越有效的服务,从而可以吸引更多的用户,然后再竞争中形成良性循环。对于深度学习算法来说,缺乏一个“下定义”的过程,即从一个从特殊到一半的提炼过程,好的效果必须依托于成千上万甚至更多的训练样本之上。 

深度学习对于数据的过度依赖也会带来一些使用安全性的问题。Marcus说过:“深度学习非常善于对特定领域的绝大多数现象作出判断,另一方面它也会被愚弄”。这边涉及到对抗样本对于深度学习算法的攻击,通过对交通标志进行一些很小的涂改,深度学习算法就会将停止与限速的交通标记判断错误。

深度学习非常擅长建立输入与输出之间的映射关系,却不擅长总结发现其中的内在物理联系。通过大量的训练,深度学习算法可以大白最好的人类棋手,然而这并不代表人工智能对于游戏有着和人一样的领悟能力。深度学习只能通过反复试错,它才能够保证准确率,但是升级一下游戏或者版本,准确率就会降低,可以看出深度学习对于环境的依赖性太强

  • 训练需要大量的数据

  • 决策上对数据依赖性过强

  • 可迁移性差

  • 可理解性差

依据规则而写的程序给出的执行结果,可以从源代码中追踪到每一个if else。 而深度学习的算法类似于一个黑箱,其内部执行过程完全不被人们所理解。深度学习算法在成千上万个节点之间建立映射,并给出输入与输出之间的关系,但这种关系却无法被人所理解。即时是开发出此算法的工程师也常常胡对结果困惑不解。当深度学习应用于容错率较高的系统时,这个缺点看起来似乎无关紧要。但是想象一下,如果是应用于法庭判决嫌疑人的命运,或者医疗中决定对患者的处理之类的领域之中,任何微小的错误都会导致不可逆转的致命结果。

 四、为什么不能实现真正的智能?

深度学习最大的一个局限是把数据中最常遇到的内容作为真理,把统计学上较稀少的东西看作假的。深度学习的公正性并非来自其自身,而是人类筛选和准备的数据。深度学习无法解释其自身决策。除了深度学习读到最多的是某观点是正确的,因此它应该是正确的。深度学习将会学习并模仿最具缺陷的逻辑,包括一些比较极端的行为,甚至是孩童可以自己明白电影中的哪个人是坏的,但是深度学习做不到,除非人类首先明确教导它。深度学习中有些东西很酷,比如带有反向传播的梯度下降、自定义深度学习硬件,但这些大多是统计学和几何学方面的内容,很可能在未来的人工智能时代不会出现。

2020-03-02 17:03:06 Resume_f 阅读数 243
  • 深度学习与PyTorch入门实战教程

    亚洲排名第1的新加坡国立大学AI团队倾情打造,资深研究员龙龙老师主讲,帮助人工智能、深度学习初学者快速、深刻理解深度学习算法原理与实践。 【莫烦老师】权威推荐:在教学中,龙龙老师以简短高效的方式,从深度学习的多个角度向我们展开了论述,非常适合想对深度学习有全方位了解的朋友。 【PyTorch中文网】:讲解简单易懂、由浅入深,是一门值得推荐的课程。 课程特色: 1. 通俗易懂,快速入门 对深度学习算法追本溯源、循序渐进式讲解,学员不需要任何机器学习基础,只需要写过代码即可轻松上手。 2. 实用主导,简单高效 使用新手最容易掌握的深度学习框架PyTorch实战,比起使用TensorFlow的课程难度降低了约50%,而且PyTorch是业界最灵活,最受好评的框架。 3. 案例为师,实战护航 基于计算机视觉和NLP领域的经典数据集,从零开始结合PyTorch与深度学习算法完成多个案例实战。 4. 持续更新,永久有效 一次购买,永久有效。深度学习课程会持续更新下去,内容和学术界最前沿算法保持同步。

    4526 人正在学习 去看看 龙良曲

【深度学习】深度学习的理解(一)

写在最前面的话:设置【深度学习】栏,主要是为了扫盲深度学习的各个知识点,希望通过这种方式来给自己的基础打扎实,从头开始学习!如果有写得不对的地方,请指正!!!谢谢

深度学习在现在已经是非常成熟了,生活的方方面面都可以用上深度学习技术,那么其实什么是深度学习?直观地说,是计算机从经验中学习到知识来理解/解决问题,这里的**“经验”可以理解是深度,“学习”是指经过一种抽象的数学过程,“知识”**跟我们的常识是一样的道路。计算机只有先获取到大量的“常识”(如树叶是绿色,乒乓球比篮球小等)才能以人类的思考方式去解决问题。

如何学习

那么计算机又是如何学习到“常识”的呢?我们是如何将数据里面蕴含的“常识”传递给计算机的呢?其实这些“常识”用我们的语言可以很容易地表述出来,但是要让只会读数字的计算机认识这些“常识”,那么只能通过编码或者特征提取的方式来传递给计算机:

  • 编码:主要通过形式化语言硬编码将人类的语言换成计算机语言,使得计算机可以通过逻辑推理的方式学习这些知识;
  • 提取特征:从原始数据中提取某种特征/规律来表示知识,这主要涉及机器学习方面的知识。

传统的机器学习属于统计学领域,它非常依赖数据及其表达方式(representation),即如何将数据的某种规律/特征表示出来,举个现代的例子:比如在医院里面,医生给病人诊断,医生需要知道病人的一些信息(病态特征、习惯、发病时间、接触过什么等),这些信息在计算机中称为特征(feature),传统的机器学习有三个大弊端阻止了它的发展:无法确定需要哪些特征(如是需要在哪读书,还是学习成绩?)、无法确定这些特征的方式(是否需要将特征离散化?)、某些信息无法学习(如数据与结果的相关性微小,无法表示的数据等)。

如何表达

计算机学习到的知识又如何表达呢?如何利用知识来解决问题呢?计算机学习到知识是通过数学上的函数或者图像来表示,具体形式是特征空间,由所有的特征向量组成的空间称为特征空间,特征向量表示每个具体的输入,特征空间中的每一个维度对应一种特征。传统的机器学习对于一些高级特征是无法表示,而深度学习的解决方案是采用高级特征用低级特征来表示,即通过组合简单的概念(concept)来构建复杂的概念而计算机可以利用这些知识解决各种分类、预测、优化等问题。

例子

比如在图像识别的认为中,如果直接学习从一堆像素映射到物体是很困难的,深度学习是将这些复杂的映射分解成一系列简单的映射,通过嵌套简单映射来解决问题,每一个映射由模型的不同的层来描述:
图像识别

  • 可见层作为输入:这包含了我们人眼能直观看到的物体
  • 第一个隐层:描述了边 (edge) 的概念,可通过比较相邻像素的亮度,可分离出边缘,属于高频信息。
  • 第二个隐层:描述了角(corner)和轮廓(contour)的概念,通过识别边的集合能找到角,也属于高频信息。
  • 第三个隐层:描述了特定物体的概念,物体是由特定的角、边、等高线集合组成的。

从隐层开始,所表现出来的特征是我们人眼无法识别的变量。

深度学习的另一个典型例子是多层感知机(multilayer perceptron:MLP) 其实多层感知机就是一个(复合)函数,这个(复合)函数的作用是将一组输入值映射到相应的输出值,而(复合)函数是由许多非常简单的函数组成,这里面的每个简单函数都给它的输入值赋予一个新的表示方式。其实,深度学习跟多层感知机运作机制是一样的。

经验–深度

在上面提到,计算机从经验中学习知识,这里的经验可理解为深度。深度学习的深度是可度量的,对不同的学习方式来说,度量的方式也不同:

  • 对于编码学习,”深度“可以指代码中执行的顺序指令的数量,也可以视为算法流程图中从输入到输出中最长路径的长度。

    逻辑回归

    简单地,举个逻辑回归的例子, 给出逻辑回归模型的深度,其中y=σ(wTx)y'=\sigma(w^Tx)σ(z)=11+exp(z)\sigma(z)=\frac{1}{1+exp(-z)}为sigmoid函数,图的左边是将加法、乘法、sigmoid函数作为基本运算单元,则模型深度为3,而右边是将逻辑回归模型本身作为基本运算单元,则模型深度为1。

  • 对于特征学习,“深度”可以是概念图的深度。概念图是抽象的,其实不能具体定义深度是多少,是根据经验推理出来的。比如对于一个面部识别,如果半张脸存在阴影中,那么能明确识别的只有一只眼睛,但是根据脸部经验,应该存在两只眼睛,所以可推理出来还有位置对称的另一只眼睛,此时的概念图可认为只有两层,第一层是眼睛,第二层是脸部,但推理概念图的流程却不止2层,可能推理次数不止一次。

关系

深度学习是属于机器学习,只是它通过专门的嵌套学习方式来表征特征。机器学习是一种实现人工智能的方法,深度学习是一种实现机器学习的技术。它们三者之间的关系如下图:
关系

总结

(锻炼自己的文笔ing,养成总结的好习惯)本文粗略地介绍了什么是深度学习,深度学习的学习方法和表示方法,以及描述了深度学习、机器学习与人工智能的关系。虽然只是大致地介绍了简单的概念,希望自己能坚持学习下去,好好打基础!写得不好,请勿喷,哪里有错欢迎指出~

参考文章
http://www.huaxiaozhuan.com/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/chapters/0_dl_introduction.html

2019-08-07 10:25:59 weixin_42137700 阅读数 43
  • 深度学习与PyTorch入门实战教程

    亚洲排名第1的新加坡国立大学AI团队倾情打造,资深研究员龙龙老师主讲,帮助人工智能、深度学习初学者快速、深刻理解深度学习算法原理与实践。 【莫烦老师】权威推荐:在教学中,龙龙老师以简短高效的方式,从深度学习的多个角度向我们展开了论述,非常适合想对深度学习有全方位了解的朋友。 【PyTorch中文网】:讲解简单易懂、由浅入深,是一门值得推荐的课程。 课程特色: 1. 通俗易懂,快速入门 对深度学习算法追本溯源、循序渐进式讲解,学员不需要任何机器学习基础,只需要写过代码即可轻松上手。 2. 实用主导,简单高效 使用新手最容易掌握的深度学习框架PyTorch实战,比起使用TensorFlow的课程难度降低了约50%,而且PyTorch是业界最灵活,最受好评的框架。 3. 案例为师,实战护航 基于计算机视觉和NLP领域的经典数据集,从零开始结合PyTorch与深度学习算法完成多个案例实战。 4. 持续更新,永久有效 一次购买,永久有效。深度学习课程会持续更新下去,内容和学术界最前沿算法保持同步。

    4526 人正在学习 去看看 龙良曲
2019-02-22 22:01:36 weixin_39975436 阅读数 2770
  • 深度学习与PyTorch入门实战教程

    亚洲排名第1的新加坡国立大学AI团队倾情打造,资深研究员龙龙老师主讲,帮助人工智能、深度学习初学者快速、深刻理解深度学习算法原理与实践。 【莫烦老师】权威推荐:在教学中,龙龙老师以简短高效的方式,从深度学习的多个角度向我们展开了论述,非常适合想对深度学习有全方位了解的朋友。 【PyTorch中文网】:讲解简单易懂、由浅入深,是一门值得推荐的课程。 课程特色: 1. 通俗易懂,快速入门 对深度学习算法追本溯源、循序渐进式讲解,学员不需要任何机器学习基础,只需要写过代码即可轻松上手。 2. 实用主导,简单高效 使用新手最容易掌握的深度学习框架PyTorch实战,比起使用TensorFlow的课程难度降低了约50%,而且PyTorch是业界最灵活,最受好评的框架。 3. 案例为师,实战护航 基于计算机视觉和NLP领域的经典数据集,从零开始结合PyTorch与深度学习算法完成多个案例实战。 4. 持续更新,永久有效 一次购买,永久有效。深度学习课程会持续更新下去,内容和学术界最前沿算法保持同步。

    4526 人正在学习 去看看 龙良曲

深度学习关键词定义:
训练样本:机器通过“看/学习”未知系统的输入-输出对而达到的某种自适应理解,对于未知系统的输入-输出叫做训练样本。
泛化:机器通过对未知系统的训练样本进行学习后,得到的具有举一反三的能力叫做泛化。
损失函数:设训练样本为D={Z1,Z2,…,Zn},其中Zi表示未知系统P(z)中采样得到的数据(每个数据都可以表示一个输入-输出对),规定惩罚函数为L(f,Z),L的参数为机器学习到的规则f和独立于训练样本集的验证样本集Z,惩罚函数L的返回值为实数标量,称为惩罚值,又叫损失函数(Loss),损失函数是描述机器学习程度的函数,对于一个可靠机器,其损失函数应该是最小否则会让机器陷入一个无止境的重复计算过程。
机器学习算法:为使机器能够从数据D中学习游戏规则f并积攒经验,需要一个可靠算法,这个可以运行到机器中的算法称为机器学习算法。
训练好的模型:机器通过机器学习算法学习积攒经验后,能够自适应的处理未知新系统的输入输出,不断优化,达到最优时,称为训练好的模型。
机器学习的三个必要数据:(1)训练集,机器学习的样本。(2)验证集,机器学习阶段用于评估得分和损失,验证是否达到预期要求。(3)测试集,机器学习结束后,实战阶段评估得分。可以将机器学习理解为我们平时练题(训练集)模拟考试(样本集)最后高考(测试集)一样。
深度学习技术:ReLU、Dropout等技术。
传统机器学习在处理原始形态的自然数据方面有很大的局限性,多年来,构建模式识别或者是机器学习需要技艺较为高超的工程师和经验丰富的领域专家进行设计特征提取器,将原始数据(如图像的像素值)转化为合适的中间表示形式或特征向量,学习子系统(分类器)然后对输入数据进行检测或分类。
传统机器学习处理模式,为单一地对原始数据进行设定对应类别特征提取器,提取特征后通过设计分类器/检测器对所提取特征进行检测/分类,然后得出处理结果,例如图像处理中的单对杂草图像的颜色特征、纹理特征、长宽比特征、曲率特征、位置特征等处理。

深度学习的前身是表示学习,在表示系统中,直接以原始数据形式提供机器输入,自动发现用于检测和分类的表示。深度学习是一种多层表示学习方法,用简单的非线性模块构建而成,这些模块将上一层表示转化为更高层、更抽象的表示,当一个系统含有足够多的这样简单的的非线性模块构建时,就可以学习非常复杂的功能。
关于分类问题,高层表示能够强调更重要/中肯的信息,且同时能够抑制无关的背景信息。例如,一幅图像总是以像素值数组的形式提供网络输入,第一层学习到的特征为边缘信息,即图像的某个边缘是否存在特定朝向的边缘;第二层检测边缘信息按特定方式排列组成的基本图案,而不关心边缘位置的变化;第三层将第二层的基本图案组合起来,对应典型物体的部件,后续层检测由部件组成的物体。
深度学习只需要少量的人工介入,非常适合当前大规模计算系统和海量数据。当前正在开发的深度神经网络算法和架构将加快深度学习的进程。

深度学习之监督学习:深度学习不论深浅,最普遍的是监督学习。
假如我们需要设计可以分类图像(包含房子、车子、人、动物等)的系统,首先应先收集大量关于房子、车子、人、动物的图像数据集,每张图像都按照其类别进行打标签。
在训练阶段,向机器送入一张图像,产生一个得分向量,每个元素对应一个类别,我们希望真实类别在所有类别中得分最高,我们通过计算目标函数来计算输出得分与期望形式得分的差异(或距离),之后我们通过更改机器内部的可调参数来降低这个差异。可调参数为实数,可被称为权值,针对权值的人为更改而降低差异的系统便是监督学习。在很多监督学习中,人工特征上使用线性分类器,二分类线性分类器计算特征向量元素的加权和。如果加权和高于某个门槛,输入将被分类到一个特定的类别。
但是线性分类器具有非常明显的局限性,在处理数据时,线性(“浅层”)分类器表现的非常乏力,它只能简单的将数据二分化,并不能够适用于交叉特征,所以深度学习需要一个功能更加强大的分类器,能够自主学习、分类,这是深度学习优势的核心。
在应用机器学习算法到深度学习中时,通常采用梯度下降法对采用的算法进行训练,一般地,有批量梯度下降法(BGD)、随机梯度下降法(SGD)和小批量梯度下降法(MBGD),其中比较常用的是SGD,梯度下降的异同可参考https://www.cnblogs.com/maybe2030/p/5089753.html。

理解深度学习

阅读数 309

没有更多推荐了,返回首页