1.2 什么是神经网络-深度学习第一课《神经网络与深度学习》

什么是神经网络?​​​​​​

         我们常常用深度学习这个术语来指训练神经网络的过程。有时它指的是特别大规模的神经网络训练。那么神经网络究竟是什么呢?在这个视频中,我会讲解一些直观的基础知识。

        让我们从一个房价预测的例子开始。让我们假设有一个数据集,它包含了六栋房子的信息。所以,我们知道房屋的面积是多少平方米,和对应的房屋价格。这时,你想要用一个函数来根据房屋面积去预测房价。 

        如果你对线性回归很熟悉,你可能会说:“好吧,让我们用这些数据拟合一条直线。”于是你可能会得到这样一条直线。

        但有一点有趣的的是,你可能也发现了,我们知道价格永远不会是负数的。因此,为了替代一条可能会让价格为负的直线,我们把直线折一下,让它在开始处归0。那么这条粗的蓝线最终就是你的函数(图像),用于根据房屋面积预测价格。一边部分是零,另一边是一条直线,所以你把刚才根据房价拟合出来的方程当作一个很简单的神经网络。

        作为一个神经网络,这几乎可能是最简单的神经网络。我们把房屋的面积作为神经网络的输入(我们称为 x ),x 进入到这个节点中(一个小圆圈),然后这个小圈就输出了房价(我们称为 y )。其实这个小圆圈就神经网络的一个单独的神经元。然后就会执行我们刚刚在左边的图中画出的方程。并且所有的神经元都会做同样的事情,以房屋的大小作为输入,计算这个线性方程,结果,然后取 max (0,x) ,然后输出估计价格。


        在有关神经网络的文献中,你经常看得到这个函数。从趋近于零开始,然后变成一条直线。这个的一个方程函数,我们称作ReLU激活函数。它的全称是Rectified Linear Unit(意思是线性整流函数)。rectify(修正)可以理解成取max(0,x),这也是你得到一个这种形状的函数的原因。

线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元, 是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数。

        你现在不用担心不理解ReLU函数,你将会在这门课的后面再次看到它。

        如果这是一个单一的神经元的话,这就是一个非常小的神经网络,而一个很大的神经网络是由许多这样的单个神经元叠加在一起来形成。如果你把这个神经元想象成一个单独的乐高积木,你就通过搭这样的积木来完成一个较大的神经网络。


        让我们来看一个例子,我们不仅仅用房屋的面积来预测它的价格,现在你有了一些有关房屋的其它特征,比如卧室的数量(#bedroom),或许一家人的数量(人口)也会影响房屋价格,这个房屋能住下一家人或者是四五个人的家庭吗?而这个因素(即family size,能够容纳的家庭大小)其实是取决于房屋大小(size)以及卧室的数量。这两个因素(size、bedroom)决定了这个房子是否能够容纳你的家庭(family size)。

        另外你可能知道邮政编码在不同的州(美国),它也被称为一个房子的邮政编码(zip code),而且邮政编码可能可以告诉你它步行的便利程度(即walkabilty,生活便利程度)。另外根据邮政编码还和富裕程度(wealth)相关(在美国是这样的)。但在其它国家也可能体现出附近学校的水平有多好。

        所以在图上画的每一个小圆圈都可以是ReLU函数的一部分,也就是指修正线性单元,或者一些别的非线性函数中的一个。所以于房屋面积和卧室数量,可以估算家庭人口;基于邮编,可以估测步行化程度或者学校的质量。最后你可能会这样想,这些决定人们乐意花费多少钱,取决于人们看重哪一些东西?

        对于一个房子来说,这些都是与它息息相关的事情。在这个情景里,家庭人口、步行化程度以及学校的质量都能帮助你预测房屋的价格。

        所以在这个例子中,x 表示所有这四个输入(size,#bedroom,zip code,wealth),而 y 就是你试图去预测的价格。所以通过堆叠一些单一的神经元,我们就有了一个稍微大一点的神经网络。

         你如何管理神经网络呢?就是说当你搭建它的时候,你只需要给它 你训练集中的大量例子的输入x 和对应的输出 y ,而所有这些中间的东西(神经元等),它们神经网络将会自己搞清楚。(因为它可以自己计算你训练集中样本的数目以及所有的中间过程。)


        所以,你实际上要做的就是:这里有一个含四个输入的神经网络,这输入的特征可能是房屋的大小(size)、卧室的数量(bedroom)、邮政编码(zip code)和区域的富裕程度(wealth)。所以在给定这些输入的特征之后,神经网络的工作就是预测对应的价格y 

        注意这里的每个小圆圈都被叫做神经网络的隐藏神经元,其中每一个神经元都将所有的四个特征当作输入。举例说,与其说第一个结点代表家庭人口(family size),而家庭人口仅仅依赖于特征 x_{1} 和 x_{2} 。不如说,在神经网络中,神经网络自己来决定这些网络节点是什么,我们将会给你所有的四个特征来完成你想完成的任务。

        值得注意的是神经网络最重要的一点,就是只要给予了足够多的关于训练的 x 和 y ,神经网络就能很好的拟合出一个函数来建立 x 和 y 的映射关系。

        这就是一个基础的神经网络。你可能发现你自己的神经网络在监督学习的环境下是如此的有效和强大。所谓的监督学习就是把一个输入x 和一个输出 y 相对应连接起来,就像刚刚的房屋价格预测例子。

        在下一个视频中,让我们复习一下更多监督学习的例子,有些例子会让你觉得你的网络会十分有用,并且你实际应用起来也是如此。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>