本教程是本人学习吴恩达老师DeepLearing系列课程中整理的最为详细的笔记。视频主要来自B站[双语字幕]吴恩达深度学习deeplearning.ai_哔哩哔哩_bilibili?,以及DeepLearning官方网站Deep Learning by deeplearning.ai | Coursera。该系列课程总共有180多个,我会陆续分享出来,为有兴趣深度学习的同仁提供便利。再次由衷感谢吴恩达老师的精彩讲解和无私奉献!
特别说明:图片来源于吴恩达老师视频截图。
神经网络有时被媒体炒作得很厉害,考虑到它们的使用效果,有些说法还是靠谱的。事实上,到目前为止,几乎所有通过神经网络创造的经济价值都利用了其中一种机器学习方式—监督学习 (Supervised Learning)。
那是什么意思呢?我们来看一些例子。在监督学习中,输入x,学习得到一个函数,映射到输出y。比如我们之前看到的应用于房价预测的例子,输入房屋的一些特征x,就能输出或预测价格y。
下面是一些其他例子,这些例子中神经网络效果拔群。很可能,今天通过深度学习获利最大的就是在线广告。这也许不是最鼓舞人心的,但真的很赚钱。在线广告应用中,根据你在网站上的输入信息,给网站输入广告信息及用户的一些其他信息向你展示与你信息相关的广告。神经网络在预测你是否会点击这个广告方面已经表现的很好。对于许多公司而言,向你和用户展示你们最有可能点击的广告是一个非常有利可图的神经网络应用。因为有了这种向你展示最有可能点开的广告的能力,直接影响到了不少大型线上广告公司的收入。
过去的几年里,计算机视觉有了很大进展。这要感谢深度学习。你也许会输入一张图片并且想得到一个索引,比如说索引范围为1到1000,每个索引代表了一种图片,共有1000种不同的图片。你也许会用它来标记照片类别,以便分类管理。
深度学习最近在语音识别方面的进展也是非常令人兴奋的。当你输入一段语音给神经网络时,它能够将语音转换为文本。
机器翻译进步也很大,这得感谢深度学习。你可以给神经网络输入一个英文句子,它会直接输出英文段落的翻译结果,例如输出对应的中文段落。
在自动驾驶技术中,你可以输入一幅包含了车辆前方信息的图像,又或者再加上一些雷达扫描信息,基于这些信息,神经网络经过训练后就能够告诉你路面上其他汽车的位置信息。这个训练过的神经网络,它能告诉你路上其他汽车的位置。所以神经网络成为了自动驾驶技术的关键组成部分。
在神经网络创造这么多价值的案例中,你需要巧妙地建立x对应y的函数映射关系,并且通过监督学习拟合数据,将这个监督学习过的组件嵌入到更复杂的系统中,例如自动行驶的交通工具。
事实证明(结构)稍有不同的神经网络在不同的应用领域都非常有用。比如说,在之前的视频中房屋售价预测应用里,我们用了非常标准的神经网络结构,对吧?也许在预测房价和广告里用的就像我们之前看到过的那样,都是相对标准的神经网络结构。在图像应用中,我们常常将卷积结构放在神经网络结构当中,简称为CNN(卷积神经网络)。
对于序列数据,例如,音频是时序组成的数据,对吧?音频需要完整的播放才能表达其意,所以一维时间序列或一维时序序列最能自然而然地代表音频的数据结构。在这种序列化数据中,常常用到RNN,即所谓的循环神经网路。语言,比如英语和中文,字母或汉字都在序列化数据中有自己出现的时序(即都是按顺序逐个出现的)。所以,语言最自然的表示方式也是序列数据。更复杂的RNNs,经常会用被到上述的应用当中。对于更复杂的应用,比如自动驾驶技术,当你要获取识别图像的内容时,需要用卷积神经网络CNN的架构去处理。雷达信息需要一些更复杂的混合神经网络结构进行处理。
所以,为了更具体地说明标准的CNN和RNN结构是什么,在文献中,你可能会见过这样的图片,这是一个标准的神经网络。你可能见过这样的图片
,这是一个卷积神经网络,在后续的课程,我们会去了解这幅图的含义和如何实现它,卷积网络通常用于图像数据。你也可能会看到这样的图片
,后续的课程也会去实现它,循环神经网络,非常适合处理包含时间成分的一维序列数据。
你也可能听说过,机器学习被应用于结构化数据和非结构化数据。下面是这些术语的含义。
结构化数据基本上意味着数据库。例如,在房价预测中,你可能有一个数据库或者数据列,告诉你房间的大小和卧室数量,这就是结构化数据。在预测用户是否会点击广告的例子中,你可能会有用户信息,比如你年龄,还有广告信息,还有你要预测的标签y。这就是结构化数据,意味着每个特征(比如说房屋的大小,卧室数量,用户的年龄等)都有着清晰的定义。
相反,非结构化数据指的是,比如文本、音频、图像等,你想要识别图像或文本中的内容,这里的特征可能是图像中的像素值,或者是文本中的单个单词。从历史角度看,与结构化数据相比,非结构化数据让计算机理解起来更难。但人类进化到现在,很擅长理解音频信号和图像(文本是一个更近代的发明)这类非结构化数据。
因此,神经网络兴起最令人兴奋的事情之一是:得益于深度学习,得益于神经网络,计算机现在才能在解释非结构化数据方面比几年前做的要好得多。这为许多使用语音识别、图像识别、文本自然语言处理的新应用创造了机会,比两三年前多得多的机会。我认为,因为人们生来就有能力理解非结构化数据。你可能会更多地在媒体上听到神经网络在非结构化数据上取得成功的消息,因为当神经网络识别出一只猫时,这真是太酷了。
我们都喜欢这样,我们都知道这意味着什么。但事实证明,神经网络创造的许多短期经济价值也体现在结构化数据上,例如更好的广告系统、更好的利润建议,以及有更好的能力去处理很多公司拥有的海量数据库,并用这些数据准确预测未来趋势。因此,在本课程中,我们介绍的许多技术将适用于结构化数据和非结构化数据。为了解释算法原理,我们将更多地介绍使用非结构化数据的示例。但是当你在自己的团队中思考神经网络的应用时,我希望你能在结构化和非结构化数据中找到它们的两种用途。
因此,神经网络已经改变了监督学习并创造了巨大的经济价值。其实呢,基本的神经网络背后的技术理念,大部分都不是新概念,有些甚至有几十年历史了。那么,为什么它们现在才刚刚起飞并且工作得这么好呢?在下一个视频中,我们将讨论为什么直到最近神经网络才成为您可以使用的强大工具。