首页 > 其他分享 >神经网络入门篇:为什么深度学习会兴起?

神经网络入门篇:为什么深度学习会兴起?

时间:2023-10-18 11:14:22浏览次数:33  
标签:训练 一个 算法 学习 入门篇 神经网络 深度

为什么深度学习会兴起?

  • 这篇我们来讲故事,关于为什么深度学习会兴起的故事~

深度学习和神经网络之前的基础技术理念已经存在大概几十年了,为什么它们现在才突然流行起来呢?

因为多亏数字化社会的来临,现在的数据量都非常巨大,我们花了很多时间活动在这些数字的领域,比如在电脑网站上、在手机软件上以及其它数字化的服务,它们都能创建数据,同时便宜的相机被配置到移动电话,还有加速仪及各类各样的传感器,同时在物联网领域我们也收集到了越来越多的数据。仅仅在过去的20年里对于很多应用,我们便收集到了大量的数据,远超过机器学习算法能够高效发挥它们优势的规模。

神经网络展现出的是,如果你训练一个小型的神经网络,那么这个性能可能会像下图黄色曲线表示那样;如果你训练一个稍微大一点的神经网络,比如说一个中等规模的神经网络(下图蓝色曲线),它在某些数据上面的性能也会更好一些;如果你训练一个非常大的神经网络,它就会变成下图绿色曲线那样,并且保持变得越来越好。因此可以注意到两点:如果你想要获得较高的性能体现,那么你有两个条件要完成,第一个是你需要训练一个规模足够大的神经网络,以发挥数据规模量巨大的优点,另外你需要能画到\(x\)轴的这个位置,所以你需要很多的数据。因此我们经常说规模一直在推动深度学习的进步,这里的规模指的也同时是神经网络的规模,我们需要一个带有许多隐藏单元的神经网络,也有许多的参数及关联性,就如同需要大规模的数据一样。事实上如今最可靠的方法来在神经网络上获得更好的性能,往往就是要么训练一个更大的神经网络,要么投入更多的数据,这只能在一定程度上起作用,因为最终你耗尽了数据,或者最终你的网络是如此大规模导致将要用太久的时间去训练,但是仅仅提升规模的的确确地让我们在深度学习的世界中摸索了很多时间。为了使这个图更加从技术上讲更精确一点,我在\(x\)轴下面已经写明的数据量,这儿加上一个标签(label)量,通过添加这个标签量,也就是指在训练样本时,我们同时输入\(x\)和标签\(y\),接下来引入一点符号,使用小写的字母\(m\)表示训练集的规模,或者说训练样本的数量,这个小写字母\(m\)就横轴结合其他一些细节到这个图像中。

在这个小的训练集中,各种算法的优先级事实上定义的也不是很明确,所以如果你没有大量的训练集,那效果会取决于你的特征工程能力,那将决定最终的性能。假设有些人训练出了一个SVM(支持向量机)表现的更接近正确特征,然而有些人训练的规模大一些,可能在这个小的训练集中SVM算法可以做的更好。因此你知道在这个图形区域的左边,各种算法之间的优先级并不是定义的很明确,最终的性能更多的是取决于你在用工程选择特征方面的能力以及算法处理方面的一些细节,只是在某些大数据规模非常庞大的训练集,也就是在右边这个会非常的大时,我们能更加持续地看到更大的由神经网络控制的其它方法。

所以可以这么说,在深度学习萌芽的初期,数据的规模以及计算量,局限在我们对于训练一个特别大的神经网络的能力,无论是在CPU还是GPU上面,那都使得我们取得了巨大的进步。但是渐渐地,尤其是在最近这几年,我们也见证了算法方面的极大创新。许多算法方面的创新,一直是在尝试着使得神经网络运行的更快。

作为一个具体的例子,神经网络方面的一个巨大突破是从sigmoid函数转换到一个ReLU函数:

如果你无法理解刚才我说的某个细节,也不需要担心,可以知道的一个使用sigmoid函数和机器学习问题是,在这个区域,也就是这个sigmoid函数的梯度会接近零,所以学习的速度会变得非常缓慢,因为当你实现梯度下降以及梯度接近零的时候,参数会更新的很慢,所以学习的速率也会变的很慢,而通过改变这个被叫做激活函数的东西,神经网络换用这一个函数,叫做ReLU的函数(修正线性单元),ReLU它的梯度对于所有输入的负值都是零,因此梯度更加不会趋向逐渐减少到零。而这里的梯度,这条线的斜率在这左边是零,仅仅通过将Sigmod函数转换成ReLU函数,便能够使得一个叫做梯度下降(gradient descent)的算法运行的更快,这就是一个或许相对比较简单的算法创新的例子。但是根本上算法创新所带来的影响,实际上是对计算带来的优化,所以有很多像这样的例子,我们通过改变算法,使得代码运行的更快,这也使得我们能够训练规模更大的神经网络,或者是多端口的网络。即使我们从所有的数据中拥有了大规模的神经网络,快速计算显得更加重要的另一个原因是,训练你的神经网络的过程,很多时候是凭借直觉的,往往你对神经网络架构有了一个想法,于是你尝试写代码实现你的想法,然后让你运行一个试验环境来告诉你,你的神经网络效果有多好,通过参考这个结果再返回去修改你的神经网络里面的一些细节,然后你不断的重复上面的操作,当你的神经网络需要很长时间去训练,需要很长时间重复这一循环,在这里就有很大的区别,根据你的生产效率去构建更高效的神经网络。当你能够有一个想法,试一试,看效果如何。在10分钟内,或者也许要花上一整天,如果你训练你的神经网络用了一个月的时间,有时候发生这样的事情,也是值得的,因为你很快得到了一个结果。在10分钟内或者一天内,你应该尝试更多的想法,那极有可能使得你的神经网络在你的应用方面工作的更好、更快的计算,在提高速度方面真的有帮助,那样你就能更快地得到你的实验结果。这也同时帮助了神经网络的实验人员和有关项目的研究人员在深度学习的工作中迭代的更快,也能够更快的改进你的想法,所有这些都使得整个深度学习的研究社群变的如此繁荣,包括令人难以置信地发明新的算法和取得不间断的进步,这些都是开拓者在做的事情,这些力量使得深度学习不断壮大。

好消息是这些力量目前也正常不断的奏效,使得深度学习越来越好。研究表明我们的社会仍然正在抛出越来越多的数字化数据,或者用一些特殊的硬件来进行计算,比如说GPU,以及更快的网络连接各种硬件。我非常有信心,我们可以做一个超级大规模的神经网络,而计算的能力也会进一步的得到改善,还有算法相对的学习研究社区连续不断的在算法前沿产生非凡的创新。根据这些可以乐观地回答,同时对深度学习保持乐观态度,在接下来的这些年它都会变的越来越好。

标签:训练,一个,算法,学习,入门篇,神经网络,深度
From: https://www.cnblogs.com/oten/p/17771611.html

相关文章

  • 《动手学深度学习 Pytorch版》 9.1 门控循环单元(GRU)
    我们可能会遇到这样的情况:早期观测值对预测所有未来观测值具有非常重要的意义。考虑一个极端情况,其中第一个观测值包含一个校验和,目标是在序列的末尾辨别校验和是否正确。在这种情况下,第一个词元的影响至关重要。我们希望有某些机制能够在一个记忆元里存储重要的早期信息。如......
  • TensorFlow深度学习——深入理解人工智能算法设计pdf电子版 龙良曲
    TensorFlow深度学习——深入理解人工智能算法设计pdf电子版作者:龙良曲出版年:2020-7-1ISBN:9787302553335连接提取码:poat挺系统的,原理加代码的结合,是我最喜欢的阅读方式,前面对tensorflow的使用算相当细致了,后面实践部分内容广,但是部分内容深浅不一,还得自己找别的资......
  • Python神经网络编程pdf电子版 Tariq Rashid
    Python神经网络编程pdf电子版TariqRashid作者:[英]TariqRashid原作名:MakeYourOwnNeuralNetwork出版年:2018-4ISBN:9787115474810连接提取码:c75z本书对初学者极为友好,并且篇幅短小精悍,概念讲解明晰易懂,很适合作为神经网络入门第一书。书中作为例子实现的神经网......
  • 神经网络入门篇:神经网络到底是什么东西
    神经网络到底是什么东西我们常常用深度学习这个术语来指训练神经网络的过程。有时它指的是特别大规模的神经网络训练。那么神经网络究竟是什么呢?举例说明-通俗易懂第一个例子从一个房价预测的例子开始讲起。假设你有一个数据集,它包含了六栋房子的信息。所以,你知道房屋的面......
  • 【地表最强】深度学习环境配置攻略 | 【nvidia-driver】, 【cuda toolkit】, 【cudnn
    更新截止到2023.10.161.要素:linux(ubuntu22.04)nvidia-driver(也叫做cudadriver):英伟达GPU驱动,命令:nvidia-smicuda(也叫做cudatoolkit):这个必须有。CUDA是NVIDIA创建的一个并行计算平台和编程模型(用这个来跑深度学习),命令:nvcc-Vcudnn:nvidia开发的深度学习算子库,用......
  • 挖掘文本的奇妙力量:传统与深度方法探索匹配之道
    挖掘文本的奇妙力量:传统与深度方法探索匹配之道文本向量表示咋做?文本匹配任务用哪个模型效果好?许多NLP任务的成功离不开训练优质有效的文本表示向量。特别是文本语义匹配(SemanticTextualSimilarity,如paraphrase检测、QA的问题对匹配)、文本向量检索(DenseTextRetrieval)等......
  • 各神经网络模型全称
    博客地址:https://www.cnblogs.com/zylyehuo/人工神经网络--ANN--ArtificialNeuralNetworks卷积神经网络--CNN--RecurrentNeConvolutionalNeuralNetworks递归(循环)神经网络--RNN--RecurrentNeuralNetworks长短期记忆递归网络--LSTM(特殊的RNN)--LongSho......
  • 吴恩达深度学习笔记
    B站看的视频,课太长了,180多节,但搬运的没有作业练习,最好找个能练习的 1,假设模型时,以前(2011版机器学习)用西塔代表参数组成的向量,现在用w代表参数组成的向量,b代表西塔0,x还是特征与样本组成的矩阵。目的还是求系数w,进而确定模型。比较一个样本的预测结果与实际结果的函数,是损失函......
  • 基于深度学习框架的基因组预测新模型SoyDNGP
    目录简介材料方法数据集SoyDNGP的模型结构比对模型的处理主要结果SoyDNGP在大豆基因组预测中展现了出色的能力大豆基因组预测中SoyDNGP与其他算法的性能比较SoyDNGP模型在不同大豆群体中的多功能预测能力SoyDNGP在大豆之外的广泛应用SoyDNGP是一个面向大豆基因组预测的开放友好的......
  • Redis持久化深度解析
    本文已收录至GitHub,推荐阅读......