神经网络与深度学习(1)

来源:互联网 发布:淘宝充值平台店铺 编辑:程序博客网 时间:2024/05/16 15:38

0. 写在前面

这是吴恩达网易云课堂的视频笔记。

1. 神经网络是什么

吴恩达使用了一个简单的房屋预测问题来解释什么是神经网络。
即知道房子大小和房价,如何进行一个拟合。吴恩达给出的答案如下图,需要考虑价格为正的因素在内,那么这个拟合的线就变成了神经网络的常客——Relu函数(修正线性单元)。
这里写图片描述

这是一个最简单的神经网络,因为首先它的输入时一个单变量X,而不是向量X,另外它连感知单元(求和器)都没有,直接进入激活函数(Relu函数)。但是它确实已经具备了神经网络的基本单位神经元的特性,以此来进行训练也是可以的。神经网络就是把这样的神经元叠加组合,形成更为强大的复合函数。

如果更进一步,那么输入可能变为多个,除了房屋大小还有卧室、邮编和医疗等因素在内,这时候,如果把房屋大小和卧室大小看作是影响家庭成员数目的因素,而邮编可以体现步行化程度,也可以和医疗状况结合一起体现教育程度,那么依靠家庭成员、步行化程度、医疗状况等,再进一步预测价格可能会更加精确一点,如下图所示。
这里写图片描述
但是事实上,神经网络的精华就在于,我们不需要去抽取、选择这些特征,而让计算机自动学习到这些。这既是优势(可以节省人力并且获得很好的特征表现),也是劣势(没有办法解释说明这些特征是啥),不过最终的神经网络其实是长这样的。
这里写图片描述
这样这些隐藏神经元就不再有某个具体的特征了。

事实上,这种才是神经网络在监督学习的情境下最厉害的部分!

2. 神经网络真正有用的方式——监督学习

正如吴恩达所说,神经网络无论吹得多么厉害,目前能够落地(应用到实际中)的部分大多是监督学习的方式。

所谓的监督学习就是给定一系列输入,需要给出一个标准的输出,然后才能够进行学习。正如(X,y)这样的方式,之所以我的X用了大写,y用了小写,是因为X表示的是向量的形式,而y通常是标量。

那么神经网络的监督方式可以用在哪些方面呢?比如上面提到的房地产、在线广告、照片分类(打标签)、语音识别、机器翻译和自动驾驶等方面都有成熟的案例。

但是,其实神经网络是有很多种形式的,在监督学习下面,房地产和在线广告都是使用的标准的全连接神经网络,而照片分类则更倾向于卷积神经网络(CNN),而语音识别和机器翻译都是需要时序的,因此像循环神经网络(RNN)这种序列化神经网络就比较适合,当然RNN有很多变种,例如LSTM和GAN等。而像自动驾驶的话,可能就需要自定义网络类型,并且嵌入到整个大系统中,才能够运行起来。各个类型的神经网络结构如下图所示:
这里写图片描述

3. 结构化数据和非结构化数据

对于神经网络来说,与传统的机器学习方式相比,最大的优势在于处理非结构化数据。

由于计算机体系建立在二进制的基础上,这就导致了,从存储到运行以及编程语言的唯一性,使得计算机非常擅长处理结构化数据,所谓的结构化数据,一般指的是像表格一样的数据,有一个键值对表示一个属性,而且是确切的。

但是人不一样,人非常擅长处理非结构化数据,还记得3年前讲hadoop的老师和4年前讲数据结构的老师都说过,现在计算机所面临的难题在于如何处理非结构化的数据。所谓的非结构化数据,一般指的是声音、文字和图像。一旦处理好了这三部分,其实就离人工智能的实现更近了一步,好在神经网络比较擅长处理这些。

吴恩达认为人生来就能够理解非结构化的数据,我认为其原因主要是由于人生存在一个非结构化数据的世界里,本身也是一个非结构化的数据。所以对于非结构化数据的处理已经经过了上亿年的进化而来,一点点积攒出来的。

而计算机则是基于结构化的二进制发展而来的,经过了几十年的进化它当然对于结构化数据的处理越来越擅长。这是应该的,也是一定的。

原创粉丝点击