零基础直观理解深度学习(零)

零基础直观理解深度学习(零)


导语

为自己开了一个坑,这个系列的文章实际上是关于吴恩达deeplearning.ai课程的学习笔记。对于很多刚进入大学,数学基础没过关的,但对深度学习很感兴趣的童鞋,在理解深度学习上有较大障碍。我基于吴恩达的课程,力求用直白的语言阐述深度学习的各个技巧是如何实现和生效的,让大家对深度学习有一定的了解,所以这将会更像是科普文而不是技术文章。如果对深度学习的实现和数学原理感兴趣(实际上不需要过多理解数学原理也可以训练出一个很好的模型),可以直接在网易云课堂上观看免费的吴恩达课程视频,课后作业可在github上自行寻找。如果只是想对深度学习有一个全貌的了解,这个系列会是你合适的选择。

https://mooc.study.163.com/smartSpec/detail/1001319001.htm
http://www.ai-start.com/

一、深度学习-机器学习-人工智能间的区别

1.1 什么是人工智能

人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

简单来说,人工智能是一个大领域,它包括所有人类想要实现的智能想法,而机器学习则是实现人工智能的途径,深度学习是实现机器学习的其中一个方法。他们之间的关系可以用下图表示:

零基础直观理解深度学习(零)_第1张图片

1.2 深度学习与机器学习的差别

用雕塑家作例子,机器学习就像是技术精湛的雕塑家,掌握了许多不断雕饰出精美雕像的算法,如决策树学习、归纳逻辑程序设计、聚类分析(Clustering)、强化学习、贝叶斯网络等,通过对雕塑的形态的长期理解,提取出雕塑的各种特征,并对特征进行相应分析改良,真正对数据进行解析和学习。简单来说,机器学习是对数据进行挖掘,提取出模型

而深度学习就像是模具大师,这个模具就是神经网络,神经网络通过喂入数据不断优化自身,模具的各个细节(参数)也愈加精细,因而制作出来的雕塑也更加精美。简单来说,深度学习是设计一个有效模型,通过增加数据优化自己

可以看出,两者的最终目的都是得到一个有效模型,不同之处在于机器学习使用各种算法实现模型,其中一种实现方法就是深度学习,深度学习需要预设计出一个神经网络模型。

1.3 深度学习的优势

在早期的机器学习中,对于非结构化的数据(如音频等,具体定义自行百度),机器学习(ML)研究者需要自己构建各种模型的中间件,以语音识别中文为例,ML需要为音频设定汉语拼音,通过拼音构建字的读音,再进行组合词语。而深度学习崇尚的是端到端的学习(end-to-end),即输入一段数据,经过模型,即得到一段输出,具体来说,音频可以表现为一段波频图,将波频图用向量表示,直接将大量的波频图信息及其标签(即你想要的输出)喂入神经网络模型,不需要进行人为的再加工,即可得到想要的输出。因此,深度学习在非结构化的数据学习中起到了很好的效果。
另外,深度学习在无监督学习中也发挥了非常重要的作用,后面会提到。

零基础直观理解深度学习(零)_第2张图片

1.4 深度学习为什么会兴起

简单来说,传统的机器学习方法如下图所示,对于规模巨大的数据,机器学习能够实现的效果很有限。也就是说,机器学习在小规模的数据中表现得很好,但不适用于大规模的数据。
零基础直观理解深度学习(零)_第3张图片
但在数字化的社会,我们能够遇见的数据量都是非常庞大的,因而深度学习成为我们处理庞大数据的有力工具,深度学习处理庞大数据的有效方法为训练一个更大的神经网络,或喂入更多的数据,数据越多,神经网络的表现越好,当然这又要求计算机的算力达到一个高度。

随着科技的进步发展,我们的gpu和cpu得到了飞速的发展,gpu的超高算力使得训练大规模神经网络成为可能,同时,各界深度学习研究者也在不断对神经网络模型进行优化发展,使得神经网络模型运行得越来越快。快速计算的优势还在于深度学习研究者可以对小规模数据进行试探性实验,短时间内迭代更新模型,省去了以往可能一个实验花好几个星期的时间,现在只需10分钟或几小时就可以完成实验,DL研究者可以更专注更有效率地设计自己的神经网络模型。
零基础直观理解深度学习(零)_第4张图片

1.5 学习完吴恩达的深度学习课程可以去打kaggle吗?

很遗憾,以我的观点是比较难,kaggle名义上是数据挖掘和机器学习的竞赛,竞赛所遵循的是机器学习的一套原理,即重视数据,重视特征工程,而吴恩达的深度学习课程仅是工程学的,利于开发搞项目的,不涉及特征工程的学习,如果是抱着打kaggle的心态学习这个课程,我建议可以直接去学习吴恩达的机器学习课程,但对数学基础要求较高。当然,也不是一定就不能打,深度学习的卷积网络模型(CNN)在图像识别方面起到非常好的效果,kaggle有对应的CNN竞赛,可以去尝试一下。

这篇文章主要是一个引言,以后的文章才讲干货,敬请期待。。。

你可能感兴趣的:(学习笔记)