神经网络和深度学习——深度学习概述

1.主要内容:

1、使用房价预测的例子来建立最简单的由神经元组成的神经网络模型;

2、逐步增强神经网络模型的复杂度,建立标准的神经网络模型结构;

3、从监督式学习入手,介绍了不同的神经网络类型,包括Standard NN、CNN、RNN。

4、数据分为结构化数据和非结构化数据。在处理非结构化数据上,深度学习的处理能力近年来提高的非常快,例如图像处理、语音识别和自动翻译等。

5、深度学习飞速发展的原因有三点:大数据,GPU云计算和深度学习算法。

2.什么是神经网络?

深度学习是复杂的神经网络(Neural Network)。那么,什么是神经网络呢?下面通过一个简单的例子来引入神经网络模型的概念。

假如我们要建立房价的预测模型,我们已知输入x(每个房子的面积多少平方米),还知道其对应的输出y(每个房子的价格多少万元)。

根据输入输出,我们要建立一个函数模型,来预测房价:y = f(x)。

一般情况下,我们用一条直线来拟合图中这些离散点(建立房价与面积的线性模型)。我们知道价格不会是负数。因此对该直线做一点点修正,让它变成折线的形状,当面积小于某个值时,价格为零。

这个简单的模型(蓝色折线)就是一个最简单的神经网络,如下图所示:

这里写图片描述

该神经网络的输入x是房屋面积,输出y是房屋价格,中间包含了一个神经元(neuron),即房价预测函数(蓝色折线)。该神经元的功能就是实现函数f(x)的功能。

现在,我们把上面举的房价预测的例子变得复杂一些。

除了考虑房屋面积(size)之外,我们还考虑卧室数目(#bedrooms),房屋的邮政编码(zip code/postal code),还有地区财富水平(wealth)。

如下图所示,该神经网络共有三个神经元,分别代表了family size、walkability和school quality。每一个神经元都包含了一个非线性函数。那么,根据这个模型,我们可以根据房屋的面积和卧室个数来估计family size,根据邮政编码来估计walkability,根据邮政编码和财富水平来估计school quality。最后,由family size、walkability和school quality等这些人们比较关心的因素来预测最终的房屋价格。

这里写图片描述

上面这个例子真正的神经网络模型结构如下所示。它有四个输入,分别是size,#bedrooms,zip code和wealth。在给定这四个输入后,神经网络所做的就是输出房屋的预测价格y。

图中,x所在的称之为输入层,三个神经元所在的位置称之为中间层或者隐藏层,y所在的称之为输出层,每个神经元与所有的输入x都有关联(直线相连)。

这里写图片描述

这就是基本的神经网络模型结构。

在训练的过程中,只要有足够的输入x和输出y,就能训练出较好的神经网络模型,该模型在此类房价预测问题中,能够得到比较准确的结果。

3.监督学习

到目前为止,由神经网络模型创造的价值基本上都是基于监督学习(Supervised Learning)的。监督学习与非监督学习本质区别就是是否已知训练样本的输出y,也就是样本是否含标签信息。

下面我们来看几个监督式学习在神经网络中应用的例子。

1、房屋价格预测:根据训练样本的输入x和输出y,训练神经网络模型,预测房价;

2、在线广告:这是深度学习最广泛、最赚钱的应用之一。输入x是广告和用户个人信息,输出y是用户是否对广告进行点击;

3、计算机视觉:输入x是图片像素值,输出是图片所属的不同类别等;

4、语音识别:深度学习可以将一段语音信号转换为相对应的文字信息;

5、机器翻译:例如通过神经网络输入英文,然后直接输出中文;

6、自动驾驶。通过输入一张图片或者汽车雷达信息,神经网络通过训练来告诉你相应的路况信息并作出相应的决策。

神经网络配合监督式学习,其应用是非常广泛的。

这里写图片描述

例如上面介绍的几个例子中,对于一般的监督学习(房价预测和在线广告),我们使用标准的神经网络模型;而对于计算机视觉处理问题,我们使用CNN(Convolution Neural Network);对于语音这样的时序信号处理,我们使用RNN(Recurrent Neural Network)。

CNN和RNN是比较常用的神经网络模型。下图给出了Standard NN,CNN和RNN的神经网络结构图。

这里写图片描述

数据类型一般分为两种:结构化数据 和 非结构化数据。

这里写图片描述

结构化数据指的是有实际物理意义的数据:

例如房价预测中的size,#bedrooms,price等;在线广告中的User Age,Ad ID等。这些数据都具有实际的物理意义,比较容易理解。

非结构化数据通常指的是比较抽象的数据:

例如声音、图像或者文本。

深度学习对两种类型的数据都能处理得很好,并逐渐创造出巨大的实用价值。

为什么深度学习开始发力?

深度学习和神经网络相关思想技术已经出现几十年了,那么为什么直到现在才开始发挥作用呢?接下来,我们来看一下深度学习背后的主要动力是什么,方便我们更好地理解并使用深度学习来解决更多问题。

深度学习为什么这么强大?下面我们用一张图来说明。如下图所示,横坐标x表示数据量(Amount of data),纵坐标y表示机器学习模型的性能表现(Performance)。

这里写图片描述

上图共有4条曲线。

1、红色曲线代表了传统机器学习算法的表现,它在数据量很大的时候表现很一般;

2、黄色曲线代表了规模较小的神经网络模型(Small NN),它在数据量较大时候的性能优于传统的机器学习算法;

3、蓝色曲线代表了规模中等的神经网络模型(Media NN),它在数据量更大的时候的表现比Small NN更好;

4、绿色曲线代表更大规模的神经网络(Large NN),它在数据量更大的时候的表现比Media NN更好,并且保持了较快上升的趋势。

传统机器学习算法在数据量较大的时候,性能一般,很难再有提升。然而,深度学习模型由于网络复杂,对大数据的处理和分析非常有效。因此,近年来,在处理海量数据和建立复杂准确的学习模型方面,深度学习有着非常不错的表现。然而,在数据量不大的时候,深度学习模型不一定优于传统机器学习算法,性能差异可能并不大。

所以说,现在深度学习如此强大的原因归结为三个因素:大数据、GPU云计算、深度学习算法。数据量的几何级数增加,加上GPU出现、计算机运算能力的大大提升,使得深度学习能够应用得更加广泛,另外,算法上的创新和改进让深度学习的性能和速度也大大提升。