深度学习入门与快速实践

深度学习介绍

以深度学习为主要力量的AI浪潮徐徐展开

我们正处在一个巨变的时代,人工智能已经成为了这个时代的主题。人工智能成为第四次工业革命的核心驱动力,并将像机械化、电气化、信息化一样,最终会渗透到每一个行业的每一个角落。人工智能将重塑全球制造业竞争新格局、引爆新一轮产业革命。以1956年的达特茅斯会议(Dartmouth Conference)为起点,人工智能经过了60余年的发展,经历了逻辑推理理论和专家系统的两次繁荣,也经历过随之而来的两次寒冬。在最近的十年间,人工智能技术再次出现了前所未有的爆发性增长和繁荣期。机器学习技术尤其是深度学习技术的兴起是本次人工智能繁荣大潮的重要推动力。
1.3起2落.png

近年来深度学习发展神速,在语音、图像、自然语言处理等技术上取得了前所未有的突破。本轮人工智能的快速发展离不开三大关键要素:算力数据算法
首先,大规模、高性能的云端计算硬件集群是人工智能发展的强劲引擎。目前深度学习算法模型结构复杂,规模大、参数多;模型的开发门槛很高。面对这些挑战,高性能的硬件,如GPU/FPGA/ASIC等,尤其是面向人工智能应用的专用芯片的发展,让机器学习的训练速度数倍提升。
第二,数据是推动人工智能发展的燃料,机器学习技术需要大量标注数据来作训练模型,在海量数据样本的基础上挖掘信息,得到有用的知识,从而做出决策。移动互联网、IoT物联网的发展,不止让手机这样的移动设备接入互联网,每一个音箱、每一个电视、每一个冰箱都可以接入云,获得人工智能的能力和服务。用户通过这些设备感受到AI带来的便利,实际上背后是云上提供的服务。云是AI的container,如果将AI比作电的话,云就是核电站,为各行各业提供源源不断的智能核动力。
第三,是不断推陈出新的人工智能算法突破,从卷积神经网络(Convolutional neural network,简称CNN)到递归神经网络(Recurrent neural network,简称RNN),从生成式对抗网络(Generative adversarial networks,简称GANs)到迁移学习(Transfer learning)。每一次新算法的提出或改进,带来了应用效果的大幅提升。人工智能技术在语音、图像、自然语言等众多领域的使用,推动这次人工智能大潮的持续发展。[1]

深度学习基本概念

机器善于规则、人类善于感知

机器善于计算。只要问题能够被一系列的数学规则形式化描述,那么通过编程的方法就可以进行运算,例如求解线性方程组,求解行星的运动轨迹。如果这些让人类手算的话会非常痛苦而且容易出错。为了尽量模拟人类的行为,人们开始研究机器学习。然而传统人工智能依赖科学家输入的规则模型,它只有在解决一些规则比较清楚的问题时才比较有效,比如击败卡斯帕罗夫的“深蓝”就是这样一种“人工智能”。但是对于直觉性问题,例如分辨图片中的是猫还是狗,从不同的口音中听出对方的实际想表达的意思,通过语气来表达自己的情绪,这些对于人来说非常容易的事情,对于传统人工智能来说就非常困难。因为这种认知类问题只有一个模糊的概念,没有清楚简单的规则。
[2]

人工智能的目标就是去解决人容易执行,但是很难形式化描述的任务。相对于传统的机器学习方法,深度学习方法是用来解决直觉问题的好方法。深度神经网络大大优化了机器学习的效果,使人工智能技术获得了突破性进展。在此基础上,图像识别、语音识别、机器翻译等都取得了长足进步。语音输入比打字快得多,机器翻译让我们基本可以看懂一篇外文资讯,图像识别则早已可以凭借一张少年时期的照片就在一堆成人照片中准确找到这个人,甚至可以把很模糊的照片恢复成清晰且准确的照片。神经网络的特点就是它不需要人类提前告知规则,它会自己从海量的基础数据里识别模式(规则)。[3]

深度学习与神经网络

深度学习技术是构建在传统神经网络技术基础之上的。可以粗略的认为当传统神经网络够“深”的时候就是深度学习了。图中的网络的层次比较少,也就是这个网络比较浅,可以想象当网络层次达到几十层上百层的时候,那么这就是一个深层次网络了。用深层次网络解决问题就是深度学习技术。
2.浅层神经网络.png

人工神经网络是受到生物神经网络的启发而发明的。生物神经网络是由无数个神经元相互连接进而组成的一个复杂网络。人工神经网络模拟了这个过程,在逻辑上我们模拟出很多的神经元,然后让这些神经元联系成网络。在深度学习领域,通常用神经网络这个词来指代人工神经网络。这里要强调一下:人工神经网络和生物神经网络仅仅是启发关系,内部原理是不同的,因为我们人类目前还没有把生物神经网络的内在全部机制完全探明。
3.神经元.jpg

复杂的神经系统是由简单的神经元相连组成。神经元就像图中这样,枝枝杈杈很多,看上去一边比较粗大一边比较纤细。粗大的这边的结构叫做轴突,纤细这边叫做树突。信号就是由一个细胞的轴突通过突触将信号传递给另一个细胞的树突。当无数个这样的神经元联系在一起的时候就构成了神经网络。
4.神经元.jpg

神经元

生物神经网络的最小单元是神经元,而人工神经网络的单元是感知机。生物的神经元是一端接受化学信号,经过加工从另一端释放出来。而感知机是一端接受一个向量作为输入,经过一定加工,另一端释放出去一个标量。
5.神经元与感知机
而一个神经元内部事实上经历了两个运算过程,线性运算和非线性运算。这两个运算的复合就构成了一个神经元的运算过程。线性运算就是最简单的加权求和,而非线性运算所使用的函数也被称作激活函数或者激励函数。关于激活函数在后面还会继续讨论。注意,在线性运算中的向量 w 和 偏置 b 就是该网络的参数。其中,w 表示权重, b 表示偏置。
6.线性运算与非线性运算.png

输入层、输出层、隐藏层、全连接网络

通常一个深度学习网络就是一个多层的神经网络,那么很自然就会想到,多深算“深”呢?这个度量标准目前还没有定论,有的学者认为超过3层的为深层网络,有的学者认为超过5层为深层网络。无论多深,网络所具有的基本结构的是一致的。输入数据的那层别称作输入层,输出预测结果的一层(也就是网络的最后一层)被称作输出层,而夹在两层之间的层次被称作隐藏层。输入层通常不算做网络的一部分。如果网络中的每一个神经元都和上层的所有神经元相连也和下一层的所有神经元相连,那么这样的网络就被称作全连接网络。有时,我们也把全连接网络认为是一种经典的深度神经网络(Deep Neural Networks,DNN)。通常情况下,谈及DNN就是指全连接网络(除了DNN网络还有CNN、RNN等网络结构)。下图就是一个4层的全连接网络。
7.4层全连接网络.png

神经网络运算三部曲

神经网络运算由三步过程组成:正向传播反向传播梯度下降
正向传播的主要目的:计算预测值。反向传播的主要目的:得到参数的偏导数(也就是 w 和 b 的偏导数)。梯度下降的主要目的:更新参数,进而将损失函数的函数值尽量降低。

正向传播
主要过程为:采集客观数据 x。将 x 输入网络,从输入层开始一层一层的计算到输出层,这一路下来会得到预测值 y ^ \hat{y} y^
8.正向传播.gif

反向传播
主要过程为:在正向传播得到预测值 y ^ \hat{y} y^ 后,用该值与采集回来的标签值 y 做比较,进而度量预测值的准确性,如果 y ^ \hat{y} y^ 与 y 的差距很小,那么说明预测的较为精准,如果 y ^ \hat{y}

  • 10
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值