深度学习简介
➢ 机器学习与深度学习
机器学习概述
-
什么是机器学习
-
机器学习(Machine Learning)是专门研究计算机怎样模拟或实现人类的学习行为,以获取新知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
-
机器学习是从人工智能中产生的一个重要学科分支,是实现智能化的关键。
-
-
机器学习原理
- 从广义上来说,机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法。
- 从广义上来说,机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法。
-
机器学习的学习形式分类
有监督学习、无监督学习、半监督学习
-
有监督学习
- 有监督学习(supervised learning):从给定的有标注训练数据集中学习出一个函数(模型参数),当新的数据到来时可以根据这个函数预测结果。常见任务包括分类与回归。
- 有监督学习(supervised learning):从给定的有标注训练数据集中学习出一个函数(模型参数),当新的数据到来时可以根据这个函数预测结果。常见任务包括分类与回归。
-
无监督学习
- 无监督学习(unsupervised learning):没有标注的训练数据集,需要根据样本间的统计规律对样本集进行分析。常见任务如聚类等。
- 无监督学习(unsupervised learning):没有标注的训练数据集,需要根据样本间的统计规律对样本集进行分析。常见任务如聚类等。
-
强化学习
-
强化学习(Reinforcement Learning,简称RL)是机器学习的一个重要分支,它的本质是解决自动进行决策,并且可以做连续决策。用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题 。
-
强化学习是通过反馈的结果信息不断调整之前的策略,从而算法能够学习到:在什么样的状态下选择什么样的动作可以获得最好的结果。
-
深度学习
-
什么是深度学习
- 深度学习(Deep Learning)是机器学习领域中一个新的研究方向,深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
- 深度学习(Deep Learning)是机器学习领域中一个新的研究方向,深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。
-
深度学习对比传统机器学习方法
-
深度学习对比传统机器学习的方法
前馈神经网络、卷积神经网络、循环神经网络
-
前馈神经网络
- 前馈神经网络是一种最简单的神经网络,各神经元分层排列。每个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层,各层间没有反馈。
- 前馈神经网络是一种最简单的神经网络,各神经元分层排列。每个神经元只与前一层的神经元相连。接收前一层的输出,并输出给下一层,各层间没有反馈。
-
卷积神经网络(CNN)
卷积神经网络(CNN)是一类包含卷积计算且具有深度结构的前馈神经网络,是深度学习的代表算法之一。卷积神经网络具有表征学习能力,能够按其阶层结构对输入信息进行平移不变分类因此也被称为“平移不变人工神经网络”。卷积神经网络在计算机视觉中,例如图片分类、目标检测、图像分割、人脸识别、人体姿态识别等。
-
循环神经网络(RNN)
- 循环神经网络(RNN)是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。循环神经网络具有记忆性、参数共享并且图灵完备,因此能以很高的效率对序列的非线性特征进行学习。循环神经网络在自然语言处理,例如语音识别、语言建模、机器翻译等领域有应用,也被用于各类时间序列预报或与卷积神经网络相结合处理计算机视觉问题。
- 循环神经网络(RNN)是一类以序列数据为输入,在序列的演进方向进行递归且所有节点(循环单元)按链式连接的递归神经网络。循环神经网络具有记忆性、参数共享并且图灵完备,因此能以很高的效率对序列的非线性特征进行学习。循环神经网络在自然语言处理,例如语音识别、语言建模、机器翻译等领域有应用,也被用于各类时间序列预报或与卷积神经网络相结合处理计算机视觉问题。
-
生成式对抗网络(GAN)
-
生成式对抗网络(GAN)是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。
-
图像生成:GAN最常使用的地方就是图像生成,如超分辨率任务,语义分割等。数据增强:用GAN生成的图像来做数据增强
-
深度强化学习
深度强化学习将深度学习的感知能力和强化学习的决策能力相结合,可以直接根据输入的
图像进行控制,是一种更接近人类思维方式的人工智能方法。深度学习具有较强的感知能力,但是缺乏一定的决策能力;而强化学习具有决策能力,对感知问题束手无策。因此,将两者结合起来,优势互补,为复杂系统的感知决策问题提供了解决思路。
➢ 深度学习发展历程
➢ 深度学习开发工具
深度学习框架
在深度学习初始阶段,每个深度学习研究者都需要写大量的重复代码。为了提高
工作效率,这些研究者就将这些代码写成了一个框架放到网上让所有研究者一起使用。
接着,网上就出现了不同的框架。全世界最为流行的深度学习框架有PaddlePaddle、
Tensorflow、Caffe、Theano、MXNet、Torch和PyTorch。
-
PyTorch
- 由亚洲排名第1的新加坡国立大学 AI 团队开发,PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这是很多主流深度学习框架比如Tensorflow等都不支持的。
- 由亚洲排名第1的新加坡国立大学 AI 团队开发,PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是一个以Python优先的深度学习框架,不仅能够实现强大的GPU加速,同时还支持动态神经网络,这是很多主流深度学习框架比如Tensorflow等都不支持的。
-
TensorFlow
- Google开源的Tensorflow是一款使用C/+/+语言开发的开源数学计算软件,使用数据流图(Data Flow Graph)的形式进行计算。Tensorflow灵活的架构可以部署在一个或多个CPU、GPU的台式及服务器中,或者使用单一的API应用在移动设备中。Tensorflow最初是由研究人员和Google Brain团队针对机器学习和深度神经网络进行研究而开发,开源之后几乎可以在各个领域适用。
- Google开源的Tensorflow是一款使用C/+/+语言开发的开源数学计算软件,使用数据流图(Data Flow Graph)的形式进行计算。Tensorflow灵活的架构可以部署在一个或多个CPU、GPU的台式及服务器中,或者使用单一的API应用在移动设备中。Tensorflow最初是由研究人员和Google Brain团队针对机器学习和深度神经网络进行研究而开发,开源之后几乎可以在各个领域适用。
-
Caffe
- 和Tensorflow名气一样大的是深度学习框架Caffe,是一个清晰而高效的开源深度学习框架。Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
- 和Tensorflow名气一样大的是深度学习框架Caffe,是一个清晰而高效的开源深度学习框架。Caffe是纯粹的C++/CUDA架构,支持命令行、Python和MATLAB接口;可以在CPU和GPU直接无缝切换:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
-
PaddlePaddle
- PaddlePaddle是百度研发的开源开放的深度学习平台,是国内最早开源、也是当前唯一一个功能完备的深度学习平台。PaddlePaddle有最全面的官方支持的工业级应用模型,涵盖自然语言处理、计算机视觉、推荐引擎等多个领域,并开放多个领先的预训练中文模型,以及多个在国际范围内取得竞赛冠军的算法模型。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
- PaddlePaddle是百度研发的开源开放的深度学习平台,是国内最早开源、也是当前唯一一个功能完备的深度学习平台。PaddlePaddle有最全面的官方支持的工业级应用模型,涵盖自然语言处理、计算机视觉、推荐引擎等多个领域,并开放多个领先的预训练中文模型,以及多个在国际范围内取得竞赛冠军的算法模型。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
-
MXNet
- MXNet的主要作者是李沐,最早就是几个人抱着纯粹对技术和开发的热情做起来的,如今成了亚马逊的官方框架,有着非常好的分布式支持,而且性能特别好,占用显存低,同时其开发的语言接口不仅仅有Python和C++,还有R,Matlab,Scala,JavaScript等。
- MXNet的主要作者是李沐,最早就是几个人抱着纯粹对技术和开发的热情做起来的,如今成了亚马逊的官方框架,有着非常好的分布式支持,而且性能特别好,占用显存低,同时其开发的语言接口不仅仅有Python和C++,还有R,Matlab,Scala,JavaScript等。
深度学习框架比较
➢ 深度学习的应用
计算机视觉
自然语言处理
自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。
自然语言生成系统把计算机数据转化为自然语言。