前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深度学习初论:构建基础思维框架

深度学习初论:构建基础思维框架

作者头像
望月从良
发布2018-07-19 17:24:07
2580
发布2018-07-19 17:24:07
举报
文章被收录于专栏:Coding迪斯尼Coding迪斯尼

自16年Google的AlphaGO击败李世石,并再接再厉毫不留情的击垮棋坛一哥柯洁后,人工智能中的分支领域:深度学习和神经网络瞬间火遍大江南北。如今深度学习几乎成为人工智能的代名词,特别是它是最能让人工智能技术在现实产业中真正落地,并产生实用价值的人工智能技术,iPhoneX的人脸识别,百度和特斯拉的自动驾驶技术,微软的对话机器人小冰,以及苹果的Siri,亚马逊的智能音箱等技术无不基于深度学习技术。

从理念上看,我们很容易把深度学习,机器学习和人工智能所混淆。他们的关系如下: 人工智能 > 机器学习 > 深度学习

为了掌握深度学习的思维方式,我们需要对机器学习算法的基本流程做一个大概的了解。机器学习算法的基本要义是:对大量的数据进行统计分析,从数据中抽取出一般规律或模式。为了实现机器学习,我们必须实现三个基本点:

1,输入足量分析数据。如果我们的任务是要实现语音识别,那么就需要对话语音文件,如果要做的是图像识别,那么我们就需要足够多的目标图像文件。

2,期待输出样本。例如我们要完成语音识别,那么我们需要有人们讲话的音频文件,同时还得有对应的说明文件,这个说明文件可以是用文字来指明音频所描述的内容。如果是做图像识别,那么我们需要一定量的打上标签的图片,例如一堆猫狗图片,并分别在图片上做标记,用以标明图片是猫还是狗。

3,一种衡量算法运行效果的评价方式。例如我们要做图像识别,识别图片中是猫是狗,那么当算法运行输出结果后,我们通过计算算法判断正确的图片数所占总图片数的比例来衡量算法的效果,同时算法根据这个结果来调整它自己的运行方式,这种自我调整就是机器学习中,‘学习’二字的要义。

机器学习的过程就是对输入数据进行分析统计,并得出一组规则,依靠这组规则就在将来对新的数据进行分类或判断。我们看一个具体例子:

我们看到上图坐标里分布着一些数据点,通过人眼不难判断,这组数据点其实分为两组,一组是白色点,一组是黑色点。机器学习的任务就是通过读取点的信息,找到区分出这两组点的办法。我们把大量的点坐标输入给机器学习模型,并告诉它那些点是白点,哪些点是黑点,接着模型会统计白色数据点的坐标,分析出它们的分布特性,同时统计黑色点的坐标,分析出黑色点的分布特性,根据这些特性,慢慢的转动坐标轴,使得坐标轴把这两组点泾渭分明的区分开来,其过程如下所示:

上图中,最左边的图示是数据输入模型时的情形,最右边的图像是模型对数据进行一系列加工后,把坐标轴调整后的结果。根据第三幅图像中坐标轴的调整结果,有新数据时,机器就能对其作出判断,例如当面对一个新的数据点(x,y),模型读取数据点的x坐标,如果x < 0, 那么模型就判断新数据点属于白色,如果x > 0 那么模型就判断新数据点属于黑色。

然而模型对坐标轴的变换不是一撮而就。它会按照某种规则一点一滴的尝试去对坐标轴进行变换,例如把坐标轴右移一个单位,或者把坐标轴逆时针旋转10度左右,每做完一个动作,它就评估该动作产生的效果,所谓效果就是看当前动作完成后,通过新坐标轴区分出的白点和黑点的正确率是否增加了,例如当坐标轴逆时针旋转10度后,模型发现在新坐标轴下正确区分白点和黑点的数量比原来有所提高,根据这个反馈,它下次就继续逆时针旋转坐标轴,这个根据反馈决定下一次所采取动作的过程就叫“学习”。

如何理解深度学习的“深”

深度学习是机器学习的一个分支,它的工作流程跟上面我们描述的机器学习流程没有太大区别,只不过它有自己独到的数据处理方法。深度学习会对输入数据进行多个层次的加工,数据输入模型后,经过第一层工序,加工处理得到新的结果,新结果再输入第二层工序,加工处理后又得到新的处理结果,于是加工工序的多少就对应于所谓的深度。我们看一个例子:

上图展示的就是一个深度学习过程。最左边是一幅图案,这幅图案表示手写的数字“4”,中间4条白杆表示用来加工最左边数字图案的4道工序,数字图案输入模型后,先经过第一道白杆的处理,得到的处理结果发送给第二道白杆,依次类推,最后一道白杆输出一组新数据,我们看到最右边的黑杠中,只有数字4所在的地方是白色,其他地方是黑色,它意思是说,图片里面的图案表示数字4。由此我们也可以说,上面机器学习的模型“深度”为4,因为它有四道关口进行数据处理。

输入数据没经过一道关口进行处理输出后,它的内容会发生巨大的改变:

我们可以看到,每经过一层数据形式的变化与输入时相差得就越大。你可以把深度学习的逻辑模型想象成纯净水的过滤。在一开始时,水里含有很多杂质,上图中的每一个白杆如同一种过滤网,水每流经一个过滤网,水中某种杂质就会被隔离出来,经过的过滤网越多,最后流出来的水其纯净度显然就越高。

到现在我们基本上明白,所谓机器学习其实就是把输入数据转换成某种具体的实操规则,面对新数据,计算机根据实操规则进行处理后得出一种具体的结论。接下来我们就深入探讨一下,上面的那些”白杆“,是如何对输入数据进行“过滤”的,这个过程其实很简单。

观察上图,”Input X”对应着输入数据,也就是前面图案展示的手写数字图案,右边的大方块对应着前面我们所说的”白杆“,它负责对数据进行加工处理,每个大方块左边都对应着一个小方块叫“权重”,所谓“权重”其实就是一系列数字的集合,当数据输入第一层时,它会用其对应的“权重”跟输入它的数据做一系列的运算,运算后所得结果就是第一层的输出,第一层的输出结果再当做输入数据传入第二层,第二层有它自己对应的“权重”,也就是它左边那个小方块,也是一系列数字的集合,它把第一层处理后传入的数据跟它自己的权重数据结合在一起做一系列的运算,所得的结果就是最终结果。

然而此时得到的结果还不是适用的结果。模型会把当前结果与“标准答案”进行比较,看看处理效果如何,上图中的”loss function” 指的是处理结果与“标准答案”的比对过程。形象点说,我们还是回到“过滤水”这个例子,上图中的”Input X”对应的就是含有杂质的水,Y’就是经过过滤后得到的水,而右边那个Y就是满足卫生标准的纯净水,这时候我们需要检测左边过滤出来的水与右边符合卫生标准的水到底有多大差距,例如符合卫生标准的纯净水要求含钙量不得超过0.5克每升,但是左边处理出来的水含钙量达到1克每升,中间这个”lose function”相当于一个化学成分检测器,它通过化学检测得出一个结论:“左边处理的水含钙量超标,超出标准0.5克”。

得到的结果会反馈给模型,模型根据所得结果调整每一层数据处理层对应的参数,调整完后再对数据处理一遍,所得结果再次与标准结果进行比较,看看调整后,模型对数据处理的结果是否与”标准答案“更接近了,对应于过滤水的例子,我们把“处理水的含钙量超出标准0.5克”这个结果反馈给工厂,于是工厂让工人对机器进行调整,调整后再次对相同的水进行过滤,然后再比对结果,如果调整后,生产出来的纯净水含钙量与标准纯净水相比,只超标0.3克,那意味着工厂的调整方案是正确的,那么工厂继续按原方案加大调整力度以便让最终水的含钙量进一步下降。

上述流程反复循环进行,知道最后的处理结果符合标准为止。这个根据处理结果调整处理流程的过程,就叫机器学习的过程。

当前深度学习所取得的成果

深度学习的爆发从2010年开始,至今还不到十年,但却达到了惊人成效。它解决了人类认知方面的很多难题,通过深度学习技术,计算机学会了像人一样“看”和”听”。这些看起来完全是出自于人的本能能力,在深度学习出现以前,计算机根本就无法与人相比。深度学习在一下领域都达到,甚至是超过了一般人所拥有的水准,例如:

1,它使得计算机像人一样能对图片进行识别分类。 2,它使得计算机像人一样能听懂由人说出来的话。 3,它大大改进了机器翻译的效果。 4,它实现了语音到文本的转换。 5,它引发了一系列数字助手例如iPone里的Siri. 6,它实现了超出人类水平的驾驶能力。 7,使得广告投放更加精准。 8,让搜索引擎能够直接理解人口头表达的问题并给出答案。 9,碾压人类水平的围棋能力。

目前我们还处于深度学习的暴发前期。在不久的将来,深度学习的应用一定会超越“看”和“说”,甚至进入到“思考”的领域,以深度学习为基础的人工智能将全面渗透到经济生活的各个领域,为人类的文化发展和科学研究产生巨大的推动作用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Coding迪斯尼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音识别
腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档