转行深度学习,如何解决自己在学习中遇到的瓶颈问题?

author author     2023-02-26     458

关键词:

大数据和高性能的计算能力,让深度学习技术开始超越人类。随着深度学习技术在应用上已经取得的快速发展,有人开始认为,科技既然能够通过互联网,让全世界实现信息共享,那么,随着以深度学习为代表的人工智能技术的发展,有理由相信,未来将会有比人的智力更高的新物种被创造出来。

不过,在众人普遍看好深度学习技术的发展前景时,也有业内专业人士指出,深度技术在发展方面还存在着不少问题。这些问题主要体现在以下几个方面。

(1)理论问题。
深度学习的理论问题主要体现在统计学和计算两个方面。对于任意一个非线性函数,都能找到一个浅层网络和深度网络来表示。深度模型比浅层模型对非线性函数具有更好的表现能力。但深度网络的可表示性并不代表可学习性。要了解深度学习样本的复杂度,要了解需要多少训练样本才能学习到足够好的深度模型,就必须知道,通过训练得到更好的模型需要多少计算资源,理想的计算优化是什么。由于深度模型都是非凸函数,也就让深度学习在这方面的理论研究变得非常困难。

(2)建模问题。
工业界曾经有一种观点:“在大数据条件下,简单的机器学习模型会比复杂模型更有效。”在实际的大数据应用中,很多最简单的模型得到大量使用的情形也在一定程度上印证着这种观点。

但是,随着深度学习的快速发展,人们不得不重新思考这种观点。因为在大数据情形下,往往只有比较复杂或表达能力强的模型,才能充分挖掘海量数据中的信息。随着深度模型变得更强大,从大数据中发掘出的信息往往更有价值。大数据需要深度模型。比如说,语音识别所涉及的是大数据机器学习问题。其声学建模所面临的是高达十亿到千亿级别的样本训练。Google公司在一个语音识别实验中发现,训练后的DNN,训练样本上的预测误差,竟然与测试样本的预测误差基本相当。而在通常模型上,训练样本上的预测误差要明显小于测试样本。这是因为大数据里含有丰富的信息维度,从而让DNN这样高容量的复杂模型处于欠拟合状态。由此也就表明大数据需要深度学习。浅层模型模拟人工经验抽取样本特征,其功能主要是负责分类或预测。在这种情形下,特征的好坏就成为整个系统性能的关键。为此,为了发掘更好的特征,开发人员就得对需要解决的问题有深入的理解。要做到这一点,就需要反复摸索,这在时间上往往要花费数年。这就表明,人工设计样本特征在可扩展性上欠佳。
深度学习的实质是学习更有用的特征,最终提升分类或预测的准确性。其方法是构建深度模型和海量训练数据。可以说,特征学习是目的,深度模型是手段。相对浅层学习来说,深度学习具有多达5层、6层,甚至是10多层的隐层节点,还突出了特征学习的重要性。深度学习通过逐层特征变换,让分类或预测变得更容易。

利用大数据来学习特征,比通过人工规则来构造规则更能刻画数据的内在信息。那么,在推进深度学习的学习理论与计算理论时,能不能提出新的具有强大表示能力的分层模型呢?在具体应用上,又该怎样设计一个用来解决问题的最合适的深度模型呢?还有,是否存在可能建立一个通用的深度模型或者是建模语言呢?这些都是深度学习必须面对的问题。

(3)工程问题。
对于从事深度学习技术研发的人来说,首先要解决的是利用并行计算平台来实现海量数据训练的问题。深度学习需要频繁迭代,传统的大数据平台无法适应这一点。随着互联网服务的深入,海量数据训练的重要性日益凸显。而现有的DNN训练技术通常所采用的随机梯度法,不能在多个计算机之间并行。采用CPU进行传统的DNN模型训练,训练时间非常漫长,一般训练声学模型就需要几个月的时间。这样缓慢的训练速度明显不能满足互联网服务应用的需要。目前,提升模型训练速度,成为许多大公司研发者的主攻方向。比如谷歌公司,搭建起了DistBelief这个深度学习并行计算平台。通过采用异步算法,实现随机梯度下降算法的并行化,从而加快模型训练速度。不过,工程方面尽管取得了一定的进展,但对解决各种服务需求来说,仍然有很长的一段路要走。

深度学习引领着“大数据+深度模型”时代的到来。尤其是在推动人工智能和人机交互方面取得了长足的进步。同时也应该看到,深度学习在理论、建模和工程方面仍面临着一系列的难题。而在具体应用方面,深度学习也面临着一些挑战。

人工智能神经网络建设从最初的设想到成为信息技术中的应用,花了超过50年的时间。在克服传统计算机性能不足方面,神经网络算法较其他算法更具有先进性。在早期的实验中,网络训练方法是:“迭代地调整每个神经元施加到其输入的数据,来尽量减少整个网络的输出与所希望的结果之间的误差。”这样的训练虽然较过去有所改善,但让深度学习在规模上面临着一个挑站。

2006年,多伦多大学开发的训练技术能用于包含多个隐藏层的网络,其中的一种技术叫作“预训练”。这种方法能让上层提取高级特征,但无法解决规模问题。处在较高层的神经元,需要巨大的计算能力。如用于图像处理应用程序的第一层所需要分析的像素就多达一百万个。深度网络的多个层连接的数量非常巨大,每个图像的连接就达几十亿甚至上千亿。训练这样的大型网络,需要数千亿的浮点运算。这样的巨大规模,让神经网络的训练变得非常缓慢
参考技术A 深度学习作为机器学习的典范,在各领域显示出了广阔的前景。深度学习最大的特点在于从大量无关数据中获取有用信息,已经在很多实际中得到应用:从Netflix著名的电影推荐系统到Google的无人驾驶,从创造艺术和文学写作到各种预测,都在使用深度学习模型。
很多转行人士在学习深度学习算法时,往往会对算法的数学推导感到吃力,无法理解具体核心参数表示的物理意义,等弄懂算法原理后,面对实际问题,依然不知道如何利用算法解决。
造成这种普遍现象的原因,主要在于学习者数学基础不扎实、实践经验不足。
人工智能是一个将数学、算法理论和工程实践紧密结合的领域,是数学、概率论、统计学、各种数学理论的体现。机器学习作为实现人工智能的主流方法,最重要的基础就是数学和编程。对于普通程序员,C /C++、Python等编程能力比较强,但数学基础却相对薄弱。数学作为表达与刻画机器学习模型的工具,是深入理解机器学习算法原理的基石,也是算法创新的基础技能。
参考技术B 如果依靠自己无法解决这些瓶颈问题,可以考虑给孩子报一个辅导班,辅助孩子的学习,像迎上学之类的教育都是有很丰富的经验的。

关于配置深度开发学习环境所遇到的问题与解决

1问题(1)确定电脑是否有英伟达独立显卡;(2)无法下载mnist数据集;(3)无法显示数据集中的数字图像。2方法(1)1.打开电脑上的控制面板2.选择查看“硬件和声音”3.点击进入“设备管理器”4.左键点击:显示适配器,可... 查看详情

开篇随笔

  很早就产生了写博客的想法,而且之前在学习汇编的时候总结过几篇经验帖,只是那个账号找不到了。最近几日的在Javaweb的学习过程中遇到了很多问题,特别是昨天一个jsp的页面让自己非常头疼。同时机器学习的理论学习... 查看详情

强化学习是如何解决问题的?

...核心算法就用到了强化学习算法。相信很多人想了解或者转行研究强化学习算法或多或少都跟这两场赛事有联系。如今,强化学习继深度学习之后,成为学术界和工业界追捧的热点。从目前的形式看,强化学习正在各行各业开花... 查看详情

深度学习编译器cinn:编译过程中遇到的问题总结

目录问题一:NomodulenamedXXXX问题描述分析与解决方案问题二:catastrophicerror:cannotopensourcefile"float16.h" 查看详情

深度学习和日常代码中遇到的报错汇总及解决方案,持续更新中。。。。

本文是深度学习和日常代码中遇到的报错汇总,因时间比较久,暂时都没有图片,只有文字描述。解决方案也大多参考网上的解决方案,有些有用,有些没有效果,本文章中的问题,也仅是本人遇到的... 查看详情

深度学习入门——引言

萌生转行做深度学习已经有二年了,收集了很多资料,看了些书籍、视频,论坛、博客和知乎看了不少,程序也写了一些,但是其实我并没有入门,对原理不清楚,写代码也只是模仿。今天看了Charlotte77在博客园写的入门建议(... 查看详情

想转行做程序员,学哪种编程语言比较好?

互联网行业的迅速发展,让越来越多的人开始走进计算机行业,并从事相关的工作。要成为一个更优秀的程序员,需要经常性地练习编程并用不同的语言和技术拓宽你的经验,但是语言是如此之多,很多时候你不知道从哪里开始... 查看详情

想转行做程序员,学哪种编程语言比较好?

互联网行业的迅速发展,让越来越多的人开始走进计算机行业,并从事相关的工作。要成为一个更优秀的程序员,需要经常性地练习编程并用不同的语言和技术拓宽你的经验,但是语言是如此之多,很多时候你不知道从哪里开始... 查看详情

深度学习论文推荐:deeprm——系统自己学习管理自己的资源

推荐一篇关于DeepRM的论文《ResourceManagementwithDeepReinforcementLearning》系统和网络中的资源管理问题已经是计算机系统中一个很常见的问题,通常表现为困难的在线决策任务,其包括集群的作业调度、云计算中虚拟机的放置、... 查看详情

当机器学习性能遭遇瓶颈时,如何优化?如何去尝试解决问题?

当机器学习性能遭遇瓶颈时,如何优化?如何去尝试解决问题?第一,问题的界定有无问题;第二,基于数据改善性能:获取更多的数据、衍生或者创造更多的新的数据、数据是不是清洗的不够好、是不是数据的采样方式方法不... 查看详情

过度学习对学习迁移有何影响?

深度学习在一些传统方法难以处理的领域有了很大的进展。这种成功是由于改变了传统机器学习的几个出发点,使其在应用于非结构化数据时性能很好。如今深度学习模型可以玩游戏,检测癌症,和人类交谈,自动驾驶。深度学... 查看详情

深度学习中如何平衡多个loss?多任务学习自动调整lossweight解决方案(代码片段)

...论文赏析代码分析视频讲解说明:写在最后问题引入深度学习中,针对loss权重的优化是重要的改进方向,许多深度学习应用都受益于具有多重回归和分类目标的多任务学习。每年的顶会都会出现不少关于loss优化的文... 查看详情

我想读取大量图像进行深度学习,但是当内存不足时,如何解决?

】我想读取大量图像进行深度学习,但是当内存不足时,如何解决?【英文标题】:Iwanttoreadalargeamountofimagesfordeeplearning,butwhatisthesolutionforwhenthereisinsufficientmemory?【发布时间】:2018-05-0904:23:30【问题描述】:在用python编写的深度... 查看详情

20175315第二周学习总结

教材学习内容总结-学习了标识符,如何命名。-学习了数据类型,并如何输入输出数据。-学习了数组。-学习了运算符,基本的算法语句。教材学习中的问题和解决过程问题1:在调试书上第一个程序时,打不来日文。问题1解决方... 查看详情

深度学习之pytorch实战——迁移学习

...  在开始之前,我们先来了解一下什么是迁移学习。在深度神经网络算法的应用过程中,如果我们面对 查看详情

转行零基础该如何学python?

第一:看入门类书籍关于书籍的选择,难易度一定要入门级别的,千万不要太复杂。如果选择的书籍过于复杂,很容易打乱我们的学习节奏,还会影响我们学习的积极性。学习是一个循序渐进的过程,不能一口吃成一个胖子,因... 查看详情

什么是深度学习,促进深度学习的策略

最近几年,人工智能技术快速发展,深度学习领域迎来爆发,越来越多的人才加入到深度学习行业。很多小白在初学深度学习的时候,经常会遇到各种各样的问题,如何才能快速入门呢?我们知道,深度学习是一个将理论算法与... 查看详情

kpu处理器_深度学习及kpu基础知识

深度学习及KPU基础知识1.阅读完本章文档可以了解什么?了解深度学习一些基础内容了解K210内部KPU的特性了解KPU使用过程中可能会遇到的问题,以及问题的解决方法2.概述在本章中,将会为大家介绍深度学习和K210内部... 查看详情