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

举报
华章计算机 发表于 2019/06/16 16:21:27 2019/06/16
【摘要】 本节书摘来自华章计算机《MXNet深度学习实战》一书中的第1章,第1.1.3节,作者是魏凯峰。

1.1.3 深度学习

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

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

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


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。