MXNet深度学习实战》—1.1.3 深度学习

网友投稿 720 2022-05-30

《MXNet深度学习实战》—1.1.3 深度学习

1.1.3 深度学习

在介绍深度学习之前首先需要了解下神经网络,神经网络是机器学习算法中的一个重要分支,通过叠加网络层模拟人类大脑对输入信号的特征提取,根据标签和损失函数的不同,既可以做分类任务,又可以做回归任务。我们知道在机器学习的大部分算法中,特征提取一般都是手动构造的,这部分需要非常丰富的经验和业务知识,特征构造的优劣将会直接影响到模型的效果,而神经网络可以通过叠加网络层直接基于输入数据提取特征,然后将提取到的特征作为分类或回归层的输入来完成分类或回归任务,这在非结构化数据(图像、语音、自然语言)处理方面已经初见成效。

深度学习就是基于神经网络发展而来的,所谓“深度”,一方面是指神经网络层越来越深,另一方面是指学习的能力越来越强,越来越深入。神经网络是一个概念很大的词,一般常听到的多层感知机也大致与神经网络相对应,所以下次当你听到多层感知机这个名词时就不再会是一头雾水了。神经网络是由多个层搭建起来的,这就好比一栋几十层的房子是一层一层搭建起来的一样,稍有不同的是,在神经网络中层的类型更多样,而且层与层之间的联系复杂多变。深度学习中的深度主要就是来描述神经网络中层的数量,目前神经网络可以达到成百上千层,整个网络的参数量从万到亿不等,所以深度学习并不是非常深奥的概念,其本质上就是神经网络。

神经网络并不是最近几年才有的概念,早在20世纪中期就已经有人提出了神经网络,那么既然深度学习是基于神经网络发展而来的,为什么到最近几年才引起人们的注意呢?因为训练深层神经网络需要大量的数据和计算力!大量的数据可以通过人为标注输送给模型,这相当于为模型提供了燃料;强大的计算力可以在短时间内训练好模型,这相当于为模型提供了引擎。最近几年正是有了数据和计算力的支持,深度学习才得以大爆发。即便如此,神经网络的结构搭建、训练优化等过程依然十分耗时,许多底层的层操作都需要自己实现,网上相关的开源项目也非常少,相当于一直在重复造轮子,效率非常低下。在这种背景下,各种开源的深度学习框架开始诞生,这些深度学习框架封装了大部分的底层操作,支持GPU加速,并为用户提供了各种语言的接口,以方便用户使用。随着这些框架的不断发展和优化,文档越来越详细、清晰,显存优化越来越好,接口支持的语言也越来越多。因此现在利用深度学习框架提供的接口,我们可以像搭积木一样灵活地搭建我们想要的网络,然后训练网络得到结果,这也大大加快了算法的产出。

深度学习 神经网络

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:通过nfs-ganesha代理NFS服务
下一篇:文本文件和二进制文件的判别
相关文章