目录
- 第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)
- 第一周:深度学习引言(Introduction to Deep Learning)
- 1.1 欢迎(Welcome)
- 1.2 什么是神经网络?(What is a Neural Network)
第一门课:神经网络和深度学习 (Neural Networks and Deep Learning)
第一周:深度学习引言(Introduction to Deep Learning)
1.1 欢迎(Welcome)
第一个视频主要讲了什么是深度学习,深度学习能做些什么事情。
深度学习改变了传统互联网业务,例如如网络搜索和广告。深度学习做的非常好的一个方面就是读取 X 光图像,到生活中的个性化教育,到精准化农业,甚至到驾驶汽车以及其它一些方面。在接下来的十年中,我认为我们所有人都有机会创造一个惊人的世界和社会,这就是 AI(人工智能)的力量。我希望你们能在创建AI(人工智能)社会的过程中发挥重要作用。
我认为 AI 是最新的电力,如今我们见到了 AI 明显的令人惊讶的能量,带来了同样巨大的转变。显然,AI 的各个分支中,发展的最为迅速的就是深度学习。因此现在,深度学习是在科技世界中广受欢迎的一种技巧。
通过这个课程,以及这门课程后面的几门课程,你将获取并且掌握那些技能。下面是你将学习到的内容:
-
在第一门课中(神经网络和深度学习),你将学习神经网络的基础,你将学习神经网络和深度学习,这门课将持续四周,专项课程中的每门课将持续 2 至 4 周。
在第一门课程中,你将学习如何建立神经网络(包含一个深度神经网络),以及如何在数据上面训练他们。在这门课程的结尾,你将用一个深度神经网络进行辨认猫。 -
在第二门课中,我们将使用三周时间。你将进行深度学习方面的实践,学习严密地构建神经网络,如何真正让它表现良好,因此你将要学习超参数调整、正则化、诊断偏差和方差以及一些高级优化算法,比如 Momentum 和 Adam 算法,犹如黑魔法一样根据你建立网络的方式。第二门课只有三周学习时间。
-
在第三门课中,我们将使用两周时间来学习如何结构化你的机器学习工程。事实证明,构建机器学习系统的策略改变了深度学习的错误。
举个例子:你分割数据的方式,分割成训练集、比较集或改变的验证集,以及测试集合,改变了深度学习的错误。
所以最好的实践方式是什么呢?你的训练集和测试集来自不同的贡献度在深度学习中的影响很大,那么你应该怎么处理呢?如果你听说过端对端深度学习,你也会在第三门课中了解到更多,进而了解到你是否需要使用它,第三课的资料是相对比较独特的,我 将和你分享。我们了解到的所有的热门领域的建立并且改良许多的深度学习问题。这些当今热门的资料,绝大部分大学在他们的深度学习课堂 上面里面不会教的,我认为它会提供你帮助,让深度学习系统工作的更好。
-
在第四门课程中,我们将会提到卷积神经网络(CNN(s)),它经常被用于图像领域,你将会在第四门课程中学到如何搭建这样的模型。
-
最后在第五门课中,你将会学习到序列模型,以及如何将它们应用于自然语言处理,以及其它问题。
序列模型包括的模型有循环神经网络(RNN)、全称是长短期记忆网络(LSTM)。你将在课程五中了解其中的时期是什么含义,并且有能力应用到自然语言处理(NLP)问题。总之你将在课程五中学习这些模型,以及能够将它们应用于序列数据。比如说,自然语言就是一个单词序列。你也将能够理解这些模型如 何应用到语音识别或者是编曲以及其它问题。
因此,通过这些课程,你将学习深度学习的这些工具,你将能够去使用它们去做一些神奇的事情,并借此来提升你的职业生涯。
1.2 什么是神经网络?(What is a Neural Network)
我们常常用深度学习这个术语来指训练神经网络的过程。有时它指的是特别大规模的神经网络训练。那么神经网络究竟是什么呢?在这个视频中,我会讲解一些直观的基础知识。
让我们从一个房价预测的例子开始讲起。
假设你有一个数据集,它包含了六栋房子的信息。所以,你知道房屋的面积是多少平方英尺或者平方米,并且知道房屋价格。这时,你想要拟合一个根据房屋面积预测房价的函数。
如果你对线性回归很熟悉,你可能会说:“好吧,让我们用这些数据拟合一条直线。”于是你可能会得到这样一条直线。
但有点奇怪的是,你可能也发现了,我们知道价格永远不会是负数的。因此,为了替代一条可能会让价格为负的直线,我们把直线弯曲一点,让它最终在零结束。这条粗的蓝线最终就是你的函数,用于根据房屋面积预测价格。有部分是零,而直线的部分拟合的很好。你也许认为这个函数只拟合房屋价格。
作为一个神经网络,这几乎可能是最简单的神经网络。我们把房屋的面积作为神经网络的输入(我们称之为𝑥),通过一个节点(一个小圆圈),最终输出了价格(我们用𝑦表示)。其实这个小圆圈就是一个单独的神经元。接着你的网络实现了左边这个函数的功能。
在有关神经网络的文献中,你经常看得到这个函数。从趋近于零开始,然后变成一条直线。这个函数被称作 ReLU 激活函数,它的全称是 Rectified Linear Unit。rectify(修正)可以理解成𝑚𝑎𝑥(0, 𝑥),这也是你得到一个这种形状的函数的原因。
如果这是一个单神经元网络,不管规模大小,它正是通过把这些单个神经元叠加在一起来形成。如果你把这些神经元想象成单独的乐高积木,你就通过搭积木来完成一个更大的神经网络。
让我们来看一个例子,我们不仅仅用房屋的面积来预测它的价格,现在你有了一些有关房屋的其它特征,比如卧室的数量,或许有一个很重要的因素,一家人的数量也会影响房屋价格,这个房屋能住下一家人或者是四五个人的家庭吗?而这确实是基于房屋大小,以及真正决定一栋房子是否能适合你们家庭人数的卧室数。
换个话题,你可能知道邮政编码或许能作为一个特征,告诉你步行化程度。比如这附近是不是高度步行化,你是否能步行去杂货店或者是学校,以及你是否需要驾驶汽车。有些人喜欢居住在以步行为主的区域,另外根据邮政编码还和富裕程度相关(在美国是这样的)。但在其它国家也可能体现出附近学校的水平有多好。
在图上每一个画的小圆圈都可以是 ReLU 的一部分,也就是指修正线性单元,或者其它稍微非线性的函数。基于房屋面积和卧室数量,可以估算家庭人口,基于邮编,可以估测步行化程度或者学校的质量。最后你可能会这样想,这些决定人们乐意花费多少钱。
对于一个房子来说,这些都是与它息息相关的事情。在这个情景里,家庭人口、步行化程度以及学校的质量都能帮助你预测房屋的价格。以此为例,𝑥 是所有的这四个输入,𝑦 是你尝试预测的价格,把这些单个的神经元叠加在一起,我们就有了一个稍微大一点的神经网络。这显示了神经网络的神奇之处,虽然我已经描述了一个神经网络,它可以需要你得到房屋面积、步行化程度和学校的质量,或者其它影响价格的因素。
神经网络的一部分神奇之处在于,当你实现它之后,你要做的只是输入𝑥,就能得到输出𝑦。因为它可以自己计算你训练集中样本的数目以及所有的中间过程。所以,你实际上要做的就是:这里有四个输入的神经网络,这输入的特征可能是房屋的大小、卧室的数量、邮政编码和区域的富裕程度。给出这些输入的特征之后,神经网络的工作就是预测对应的价格。同时也注意到这些被叫做隐藏单元圆圈,在一个神经网络中,它们每个都从输入的四个特征获得自身输入,比如说,第一个结点代表家庭人口,而家庭人口仅仅取决于𝑥1和𝑥2特征,换句话说,在神经网络中,你决定在这个结点中想要得到什么,然后用所有的四个输入来计算想要得到的。因此,我们说输入层和中间层被紧密的连接起来了。
值得注意的是神经网络给予了足够多的关于𝑥和𝑦的数据,给予了足够的训练样本有关𝑥和𝑦。神经网络非常擅长计算从𝑥到𝑦的精准映射函数。
这就是一个基础的神经网络。你可能发现你自己的神经网络在监督学习的环境下是如此的有效和强大,也就是说你只要尝试输入一个𝑥,即可把它映射成𝑦,就好像我们在刚才房价预测的例子中看到的效果。
在下一个视频中,让我们复习一下更多监督学习的例子,有些例子会让你觉得你的网络会十分有用,并且你实际应用起来也是如此。