掌握Python中的深度学习:算法、模型、应用和教程以及机器学习比较的综合指南

90 阅读9分钟

简介

深度学习是机器学习的一个分支,它使用人工神经网络来学习数据的表示。深度学习架构在输入和输出层之间包含多个隐藏层,使其能够对数据中的非线性关系进行建模。深度学习已经被用来在计算机视觉、语音识别和自然语言处理的许多挑战性问题上取得最先进的性能。深度神经网络对高层次抽象的建模能力使其在商业应用中非常有吸引力,因为决策者需要从原始数据中获得准确的预测或建议,而原始数据往往包含缺失值或由于测量设备的噪声而产生的误差。

什么是深度学习?

深度学习是机器学习的一个子集,使用人工神经网络从数据中学习。这可以通过建立深度的、多层次的模型来实现,这些模型能够以与人脑相同的方式处理信息。

深度学习是由许多层组成的,每一层都执行不同的任务:

  • 输入层从外部来源(例如,图像或声音文件)获取信息,并将其转换为数值,供模型中的其他层使用。
  • 输出层根据从早期层收到的输入创建预测;然后将这些预测与实际结果进行比较,以确定它们的准确性(称为损失)。
  • 隐蔽层使用由反向传播算法确定的权重(稍后描述)在输入和输出值之间进行复杂计算。

深度学习对广泛的应用非常有用,包括计算机视觉、自然语言处理(NLP)、语音识别和生成。它还可以用来创建预测模型,这些模型可以自动从数据中学习,而不需要明确地进行编程。

为什么要学习深度学习?

深度学习是一个非常强大的工具,可以用来解决许多现实世界的问题。这是机器学习的一个领域,由于使用人工神经网络和深度架构进行数据分析,在过去几年中取得了进步。深度学习技术也被研究人员用来提高我们对大脑工作方式的理解,这可能会在医学或其他人类尚未取得任何进展的领域取得突破。

你可能想了解更多关于深度学习的原因有很多:

  • 你对通过研究帮助推动科学发展感兴趣
  • 你想在谷歌(使用TensorFlow)、Facebook(使用Caffe2)、亚马逊(使用MXNet)、苹果(使用Core ML)等科技公司工作,但之前没有任何关于这项技术的经验,所以你需要一些指导,了解到底从哪里开始好?

深度学习与机器学习

深度学习是机器学习的一个子集,而机器学习又是人工智能(AI)的一个子集。数据分析也是人工智能的一个子领域,所以深度学习也属于这个范畴。

你是一个有抱负的数据科学家,想更多地了解深度学习和其他机器学习技术。深度学习是机器学习的一个分支,它使用人工神经网络(ANN)来学习和进行预测。术语 "深度 "指的是这些ANNs通常由许多层组成,这使它们能够以其他机器学习算法无法做到的方式对变量之间的复杂相互作用进行建模。

在开始一个深度学习项目之前需要了解的基本概念

你应该了解你要解决的问题。这是一个基本步骤,它很重要,因为你需要知道你有什么样的数据,什么样的模型可以用于这个问题等等。

比如说:如果我们只有一个物体的图像,并且我们想把它分类为狗或猫,那么我们的输入将是一个图像(N x H x W),有3个通道的红绿蓝颜色通道,每个像素的灰色值在0-255之间,我们的输出将是 "狗 "或 "猫"。例如,如果我们的输入图像看起来像这样:

[[File:Dog1.jpeg|200px]]

神经网络的介绍。

神经网络是最流行的机器学习模型之一。它们的灵感来自于人脑,由一层层的神经元组成,可以被认为是处理单元。每个神经元接受一组输入,对其进行处理,并根据自己的内部状态(权重)和这些输入的值产生一个输出。通过这种方式,神经网络可以用来解决复杂的问题,将它们分解成简单的步骤,对计算机来说比单纯的原始数据更容易理解。

神经网络有许多应用,从图像识别到像Siri或Alexa这样的语音识别系统--所有这些都要归功于它们通过训练课程学习模式的能力,在训练课程中,它们被赋予实例,直到它们自己能够将这些模式概括成新的模式

卷积神经网络。

卷积神经网络是一种神经网络,用于对图像进行分类。它们被用于图像识别任务,如物体检测和姿势估计。

卷积神经网络已经存在了一段时间;它们最初是由Yann LeCun在1989年提出的,他是Facebook人工智能研究(FAIR)的深度学习研究的先驱之一。然而,直到最近,这些算法由于其计算复杂性和缺乏训练数据而没有得到广泛的使用。

递归神经网络。

RNN是可以学习为数据序列建模的神经网络。RNN的名字来自于它是传统神经网络的延伸,它被称为递归,因为在同一层(或 "层")的单元之间以及层与层之间都有连接。这意味着RNN有记忆:它们会记住一些关于早期发生的事情。例如,如果你在关于动物的原始文本数据上训练一个RNN,像这样:

  • 狗 马 -> 牛
  • 猫鼠->大象

它最终可能学会根据之前发生的事情来预测下一个动物:"老鼠 "会在 "猫 "之后出现;"大象 "会在这两个词之后出现;等等。

从本质上讲,RNN是一个可以记忆事物的神经网络。例如,如果你在关于动物的原始文本数据上训练一个RNN,就像这样:狗 马 -> 牛 猫 老鼠 -> 大象 它最终可能会学会根据前面的内容预测下一个动物是什么:"老鼠 "会在 "猫 "之后出现;"大象 "会在这两个词之后出现;等等。

长短时记忆(LSTM)细胞。

在这一节中,我们将介绍LSTM单元的基本知识和它们在架构中的作用。

  • LSTM是一种特殊类型的递归神经网络(RNN)。
  • 与前馈网络不同,RNN有一个内部状态,它们根据新的输入和以前的输出以及同一层(或隐藏层)其他神经元的状态进行更新。
  • 这种内部状态使RNN能够学习不同信息片断之间的长期依赖关系--这对于前馈网络来说是不可能完成的任务!

GANs的训练是通过交替使用生成器和鉴别器网络进行的,这意味着鉴别器网络首先被训练。然后,生成器被训练来产生数据样本,使鉴别器认为它们是真实的(即使它们不是!)。经过这个过程的几次反复,两个网络都被训练得非常好,以至于它们可以一起创造出真实的图像。LSTM网络由三个主要部分组成:!

生成式对抗网络(GANs)。

生成式对抗网络(GANs)是用于无监督学习的神经网络。它们是对抗性学习的一种类型,对于生成真实的图像特别有用。

GANs由两个神经网络组成:一个称为生成器,用于创建数据样本;另一个称为鉴别器,用于尝试区分真实或虚假数据样本。目标是将这两个网络训练得非常好,以至于它们可以互相欺骗,认为它们的输出是真实的,即使它不是!这种技术已经成功地应用于许多领域!这种技术已经成功地应用于许多领域,包括人脸交换、图像编辑和生成、语音合成等,但我们不会在这里讨论这些--让我们专注于为什么GAN在生成逼真的图像方面会有如此好的效果!

自动编码器和无监督学习。

自动编码器是用于无监督学习的。它们被用来压缩数据,学习数据的表征和学习潜在的代码。

深度学习是机器学习的一个子集,使用神经网络。它的灵感来自于大脑新皮质的结构和功能,并试图用算法来模拟这一过程。深度学习是基于一套试图在机器中模拟人类思维过程的技术,它们被用来压缩数据,学习数据的表征和学习潜在的代码。在这篇文章中,我将介绍自动编码器是如何工作的,它们有什么好处以及在NLP中的一些实际应用。

深度学习是机器学习的一个领域,由于使用人工神经网络和深度架构进行数据分析,在过去几年中取得了进步。

深度学习是机器学习的一个领域,在过去几年中,由于使用人工神经网络和深度架构进行数据分析而取得了进展。深度学习是机器学习和人工智能的一个子集,也是模式识别、数据分析、数据挖掘和信息科学。

深度学习是机器学习的一种形式,它使用多层神经网络对数据中的高层抽象进行建模。深度学习模型可用于预测性分析、模式识别和认知系统。

结论

深度学习是机器学习的一个领域,由于使用人工神经网络和深度架构进行数据分析,在过去几年中取得了进步。