深度学习微专业详细笔记 1.2 什么是神经网络?

286 阅读5分钟
原文链接: github.com

视频:mooc.study.163.com/learn/deepl…

“深度学习”指的是训练神经网络,有时候规模很大,那么神经网络究竟是什么呢?在这个视频中,我会讲些直观的基础知识。

我们从一个房价预测的例子开始。假设有一个六间房屋的数据集,已知房屋的面积,单位是平方英尺或平方米,以及房屋价格。你想要找到一个函数,根据房屋面积来预测房价。

如果你懂线性回归,你可能会说,好吧,用这些数据来拟合一条直线。于是,你可能会得到这样一条直线。但奇怪的是,你可能也知道,价格永远不会为负,因此直线不大合适,它最后会让价格为负。我们在这里弯曲一点,让它结束于 0。这条粗的蓝线,就是你要的函数,根据房屋面积预测价格。

这里的直线拟合得很好。你可以把这个函数看成一个非常简单的神经网络,你刚刚用它来拟合房屋价格。这几乎是最简单的神经网络了。

让我画在这里,我们把房屋的面积,作为神经网络的输入,称之为x。通过这个节点,这个小圈圈,最后输出了价格,用y表示。这个小圆圈就是一个独立的神经元,你的网络实现了左边这个函数的功能。这个神经元所做的,就是输入面积,完成线性运算,取不小于 0 的值,最后输出预测价格。

神经网络的文献中,经常看得到这个函数。这个函数一开始是 0,然后就是一条直线。这个函数被称作 ReLU 函数,全称是“修正线性单元”。“修正”指的是取不小于 0 的值,这就是这个函数长这样的原因。不理解 ReLU 函数的话不用担心,这门课的后面你还会看到它。

这是一个单神经元网络,规模很小的神经网络。大一点的神经网络是把这些单个神经元堆叠起来形成的。你可以把这些神经元想象成单独的乐高积木,你通过搭积木来构建一个更大的神经网络。

来看一个例子,我们不仅仅用房屋的面积来预测价格,现在你还有一些房屋的其它特征,知道了一些别的信息,比如卧室的数量。你可能想到,有一个很重要的因素会影响房屋价格,就是“家庭人数”。这个房屋能住下一个三口之家,四口之家或者五口之家,这个性质和面积大小相关。还有卧室的数量,能否满足住户的家庭人数需求。

你可能知道邮编,在一些国家也被叫作邮政编码。邮编或许能作为一个特征,说明了步行化程度,这附近是不是高度步行化的?你是否能步行去杂货店,或者是学校?是否需要开车?有些人喜欢高度步行化的地方。另外还有富裕程度,在美国是这样的,其它国家也可能一样。邮编体现了附近学校的质量。

我画的每一个小圈圈,都可能是一个 ReLU,即“修正线性单元”,或者其它的不那么线性的函数。基于房屋面积和卧室数量,你可以估算家庭人口。基于邮编,可以评估步行化程度,也可以评估学校质量。最后你可能会认为,人们愿意在房屋上花费多少钱,和他们关注什么息息相关。在这个例子中,家庭人口、步行化程度以及学校质量,都能帮助你预测房屋的价格。

在这个例子中x是所有的这四个输入,y是预测的价格。通过把这些独立的神经元叠加起来,或者上一张幻灯片里面的简单的预测器(神经元),现在有了一个稍微大一点的神经网络。神经网络的部分神奇之处在于,当你实现它之后,你要做的只是输入x,就能得到输出y。不管训练集有多大,所有的中间过程它都会自己完成。

那么你实际上做的就是这样,这里有四个输入的神经网络,输入的特征可能是卧室的数量,邮政编码和周边的富裕程度。已知这些输入的特征,神经网络的工作就是预测对应的价格。

同时请注意到,这些圈圈,在一个神经网络中,它们被叫做“隐藏单元”。每个的输入都同时来自四个特征,比如说,我们不会具体说,第一个节点表示家庭人口,或者说家庭人口仅取决于特征x1x2。我们会这么说,对于神经网络,你自己决定这个节点是什么。我们只给你四个输入特征,随便你怎么计算。因此我们说这一层,输入层,以及在中间的这一层,在神经网络中连接数是很高的。因为输入的每一个特征,都连接到了中间的每个圈圈。

值得注意的是,对于神经网络,只有你喂给它足够多的关于xy的数据,得到足够的xy训练样本,就非常擅长于计算从xy的精准映射函数。这就是一个基本的神经网络,你可能发现,自己的神经网络在监督学习的环境下是如此有效和强大。也就是说,你只要尝试输入一个x,即可把它映射成y,像我们在刚才房价预测的例子中看到的。

在下一个视频中,你会看到更多监督学习的例子。有些例子会让你觉得,你的神经网络对你的应用场合非常有帮助。