深度学习与无人车导论

改变游戏规则
图片的信誉归功于: https : //www.digitalocean.com/

深度学习 已经成为许多新应用程序的主要驱动力,是时候真正了解为什么会这样了。 我们已经使用了这么长的其他选项,为什么选择深度学习呢?

深度学习现在很流行,因为它很容易并且有效。 好的,您可能认为深度学习很容易并且行得通,但这是什么呢? 我很高兴你问我们直接跳到它。 😄

深度学习是机器学习的子集,其中人工神经网络(受人脑启发的算法)从大量数据中学习。 类似于我们从经验中学习的方法,深度学习算法将重复执行任务,每次对其进行一些微调以提高结果。
我们将之称为“深度学习”,因为神经网络具有支持学习的各种(深度)层。 几乎所有需要“思考”才能解决的问题都是深度学习可以解决的问题。

深度学习与传统机器学习技术的不同之处在于,它们可以自动从图像,视频或文本等数据中学习表示形式,而无需引入手动编码规则或人工领域知识。 它们的高度灵活的体系结构可以直接从原始数据中学习,并且在提供更多数据时可以提高其预测准确性。 例如,在面部识别中,图像中的像素如何创建线条和形状,这些线条和形状如何创建面部特征以及这些面部特征如何排列到面部中。

深度学习改变了您如何考虑使用分析解决问题的想法。 它从告诉计算机如何解决问题到训练计算机解决问题本身的过程

例如,可以使用大量(如数百万个)图像(例如包含猫的图像)来训练称为卷积神经网络的深度学习模型。 这种类型的神经网络通常会从其获取的图像中包含的像素中学习。 它可以对代表猫的特征的像素组进行分类,其中爪,耳朵和眼睛等特征组可以指示图像中是否存在猫。

深度学习从根本上不同于传统的机器学习。 在此示例中,领域专家将需要花费大量时间来设计常规的机器学习系统,以检测代表猫的特征。 通过深度学习,所需要做的就是为系统提供大量的猫图像,并且系统可以自主学习代表猫的特征。

图片的信誉归功于:TechTarget

我们每天生成的数据量惊人,目前估计为2.6亿亿字节,而正是这种资源使深度学习成为可能。 由于深度学习算法需要大量的数据来学习,因此数据创建的增加是近年来深度学习能力得到增长的原因之一。 除了创建更多数据之外,深度学习算法还受益于当今更强大的计算能力。

深度学习在发现系外行星和新药以及发现疾病和亚原子颗粒方面也发挥了作用。 它从根本上增强了我们对生物学的理解,包括基因组学,蛋白质组学,代谢组学,免疫组学等等。

深度学习可以解决哪些问题?

如前所述,深度神经网络擅长基于很大程度上非结构化的数据进行预测。 这意味着它们可以在语音和图像识别等领域提供一流的性能,在这些领域中,它们可以处理混乱的数据,例如录制的语音和照片。

您应该使用始终深度学习而不是机器学习吗?

不可以,因为从计算的角度来看,深度学习可能非常昂贵。 对于非平凡的任务,训练深度神经网络通常需要使用高端GPU群集处理许多小时的大量数据。

鉴于顶级GPU的购买成本可能高达数千美元,或者在云中租用每小时高达5美元,直接跳入深度学习是不明智的。

如果可以使用更简单的机器学习算法(例如贝叶斯推理或线性回归)解决问题,而该算法不需要系统处理数据中层次结构的复杂组合,那么这些计算量少得多的选择将是更好的选择。

深度学习可能也不是基于数据进行预测的最佳选择。 例如,如果数据集很小,则有时简单的线性机器学习模型可能会产生更准确的结果-尽管一些机器学习专家认为,经过适当训练的深度学习神经网络仍然可以在少量数据下表现良好。

深度学习有哪些弊端?

最大的缺点之一是他们需要训练的数据量,Facebook最近宣布它已经使用了十亿张图像,以通过图像识别系统达到破纪录的性能。 当数据集如此之大时,训练系统还需要访问大量的分布式计算能力。 这是深度学习的另一个问题,即培训成本。 由于数据集的大小和必须运行的训练周期数,训练通常需要访问功能强大且昂贵的计算机硬件,通常是高端GPU或GPU阵列。 无论您是构建自己的系统还是从云平台租用硬件,这两种选择都不算便宜。

由于所谓的消失梯度问题,深层神经网络也很难训练,这会使神经网络中的层数更多。 随着添加更多的层,消失的梯度问题可能导致它花费不可行的长时间来训练神经网络达到良好的准确性。

为什么深度神经网络很难训练?

如前所述,由于神经网络中的层数众多,难以训练深度神经网络。 网络中神经元之间的层和链接数量如此之大,以致于难以计算在训练过程中每个步骤都需要进行的调整,这一问题被称为消失梯度问题。

图片来源: makeameme.org

另一个大问题是训练深度学习神经网络所需的大量数据,而训练语料库通常会测量PB级。

在深度学习上投入多少钱?

这取决于您的方法,但通常会花费数百美元,这取决于机器学习任务的复杂性和您选择的方法。

存在哪些深度学习技术?

有多种类型的深度神经网络,其结构适合于不同类型的任务。 例如,卷积神经网络(CNN)通常用于计算机视觉任务,而递归神经网络(RNN)通常用于处理语言。 每个都有自己的专长,在CNN中,初始层专门用于从图像中提取不同的特征,然后将其输入到更常规的神经网络中以对图像进行分类。 同时,RNN与传统的前馈神经网络的不同之处在于,RNN不仅将数据从一个神经层馈送到下一个神经层,而且还具有内置的反馈循环,其中反馈将从一层的数据输出传递回前一层它-为网络提供某种形式的内存。 RNN有一种更专业的形式,其中包括所谓的存储单元,它专门用于处理输入之间存在滞后的数据。

神经网络的最基本类型是多层感知器网络,即上面在手写图形示例中讨论的类型,其中数据在神经元层之间前馈。 每个神经元通常将使用激活函数来转换它们所馈送的值,该函数将这些值更改为一种形式,该形式在训练周期结束时将允许网络计算与进行准确预测相距多远。

有大量不同类型的深度神经网络。 任何一个网络在本质上都不比另一个网络更好,它们只更适合于学习特定类型的任务。

最近,生成对抗网络(GANS)扩展了使用神经网络的可能性。 在这种架构中,两个神经网络交战,生成器网络试图创建令人信服的“伪”数据,而鉴别器则试图分辨伪造数据与真实数据之间的区别。 在每个训练周期中,生成器都会更好地生成伪造数据,而鉴别器会更敏锐地发现这些伪造品。 通过在训练过程中使两个网络相互抵制,两者都可以实现更好的性能。 GAN已用于执行一些非凡的任务,例如将这些行车记录仪视频从白天变成黑夜,或者从冬天变成夏天,如下面的视频所示,其应用范围包括将低分辨率的照片变成高分辨率的替代品,以及从文字生成图像。 GAN有其自身的局限性,尽管通过开发更强大的GAN变体已解决了这些问题,但这使它们具有挑战性。

哪些深度学习软件框架可用?

深度学习软件框架种类繁多,允许用户使用各种不同的编程语言来设计,训练和验证深度神经网络。

最受欢迎的选择是Google的TensorFlow软件库,该库允许用户使用Python,Java,C ++和Swift进行编写,并且可以用于各种深度学习任务,例如图像和语音识别,并且可以在广泛的环境下执行一系列的CPU,GPU和其他处理器。 它文档齐全,并且有许多可用的教程和已实现的模型。

另一个流行的选择,特别是对于初学者来说,是PyTorch,该框架提供了开发人员熟悉的命令式编程模型,并允许开发人员使用标准的Python语句。 它适用于从CNN到RNN的深度神经网络,并在GPU上高效运行。

微软的Cognitive Toolkit,MATLAB,MXNet,Chainer和Keras也是众多其他选择之一。

深度学习用例示例

机器人技术

人工智能和深度学习的发展推动了机器人技术的许多最新发展。 例如,人工智能使机器人能够感知并响应其环境。 这种功能扩大了他们可以执行的功能范围,从在仓库地板周围导航到对不均匀,易碎或混杂在一起的对象进行分类和处理。 对于人类来说,像摘草莓这样简单的事情是一件容易的事,但是机器人却很难完成。 随着AI的发展,这一进步将增强机器人的能力。

人工智能的发展意味着我们可以期望未来的机器人将越来越多地被用作人类的助手。 它们不仅会像今天使用的那样被用来理解和回答问题。 他们还将能够根据语音命令和手势采取行动,甚至可以预测工人的下一步行动。 如今,协作机器人已经与人类并肩作战,人类和机器人各自执行最适合自己优势的独立任务。

农业

人工智能具有革新农业的潜力。 如今,深度学习使农民能够部署能够看到并区分农作物和杂草的设备。 这种功能使除草机能够在杂草上选择性喷洒除草剂,而其他植物则保持不变。 使用深度学习功能的计算机视觉的农机甚至可以通过选择性喷洒除草剂,肥料,杀真菌剂,杀虫剂和生物制剂来优化田间的单个植物。 除了减少除草剂的使用并提高农场产量外,深度学习还可以扩展到其他农业活动,例如施肥,灌溉和收割。

医学影像与医疗

由于高质量数据的可用性和卷积神经网络对图像进行分类的能力,深度学习在医学成像中特别有效。 例如,深度学习在分类皮肤癌方面可以和皮肤科医生一样有效,如果不是更多的话。 多家供应商已经获得FDA批准,可用于诊断目的的深度学习算法,包括用于肿瘤学和视网膜疾病的图像分析。 深度学习还通过预测以下方面的医疗事件,也正在显着推进改善医疗质量:

虚拟助手

无论是Alexa,Siri还是Cortana,在线服务提供商的虚拟助手都使用深度学习来帮助您理解语音以及人类与之互动时使用的语言。

翻译

深度学习算法可以类似的方式自动在语言之间进行翻译。 对于旅行者,商务人士和政府官员而言,这可能是强大的。

顺便看看Google翻译的这种有趣的失败(对于所有触发了Bieber粉丝的人来说,现在不是我,这是Google的错吗?!:])

PVision适用于无人驾驶送货卡车,无人机和自动驾驶汽车

自主车辆了解道路现实的方式以及如何响应道路现实(无论是停车牌,大街上的球还是其他车辆)都是通过深度学习算法来实现的。 算法接收的数据越多,它们在信息处理中就越能像人一样发挥作用-知道被雪覆盖的停车标志仍然是停车标志。

聊天机器人和服务机器人

通过深度学习,为许多公司提供客户服务的聊天机器人和服务机器人能够以一种智能且有用的方式对越来越多的听觉和文本问题做出响应。

图像着色

将黑白图像转换为彩色图像以前是人手精心完成的任务。 如今,深度学习算法能够使用图像中的上下文和对象为它们着色,从而基本上重新创建彩色的黑白图像。 结果令人印象深刻且准确。

面部识别

图片来源:Yann LeCun

深度学习不仅用于安全目的,而且还用于在Facebook帖子上标记人物,从而可用于面部识别,而且我们不久就可以通过使用脸部来为商店中的商品付款。 用于面部识别的深度学习算法所面临的挑战是,即使他们已经改变了发型,长了胡子或剃掉了胡须,或者由于光线不足或遮挡而拍摄的图像不佳,也要知道自己是同一个人。

深度学习的未来

如今,存在针对特定类型的输入和任务进行了优化的各种神经网络架构。 卷积神经网络非常擅长对图像进行分类。 深度学习架构的另一种形式是使用递归神经网络来处理顺序数据。 卷积和递归神经网络模型都执行所谓的监督学习,这意味着需要向它们提供大量数据以进行学习。 将来,更复杂的AI类型将使用无监督学习。 大量的研究致力于无监督和半监督学习技术。

强化学习是与深度学习稍有不同的范式,在深度学习中,主体仅在模拟环境中通过反复试验从奖励和惩罚中学习。 对该领域的深度学习扩展称为深度强化学习(DRL)。 正如在古代GO游戏中击败人类的DRL程序所证明的那样,该领域已经取得了长足的进步。

设计神经网络体系结构来解决问题非常困难,要进行调整的超级参数和要优化的许多损失函数都变得更加复杂。 有很多研究活动来自主学习良好的神经网络架构。 学习学习,也称为金属学习或AutoML,正在稳步发展。

当前的人工神经网络基于1950年代对人脑如何处理信息的理解。 自那时以来,神经科学取得了长足的进步,深度学习架构已经变得如此复杂,以至于它们似乎表现出诸如网格细胞之类的结构,这些结构存在于用于导航的生物神经脑中。 神经科学和深度学习都可以从思想的异花传授中受益,并且这些领域很有可能在某个时候开始合并。

结论

现在,借助深度学习和GPU,我们可以以实用的速度实现更高的精度! 就学习曲线而言,深度学习也更容易获得。 许多开源软件都非常易于使用,并且使用简单的语言翻译器,聊天机器人或图像识别器并不是很困难。 减少复杂的数学和编码,更多有趣的东西!

感谢您的阅读!😄

翻译自: https://hackernoon.com/introduction-to-deep-learning-9064d6b87a51

深度学习与无人车导论

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐