Week1 深度学习概述
1.1 What is a neural network?
- 简单模型
- 假如我们要建立房价的预测模型,一共有六个房子。我们已知输入x即每个房子的面积(多少尺或者多少平方米),还知道其对应的输出y即每个房子的价格。根据这些输入输出,我们要建立一个函数模型,来预测房价:y=f(x)。
- 一般地,我们会一条直线来拟合图中这些离散点,即建立房价与面积的线性模型。但是从实际考虑,我们知道价格永远不会是负数。所以,我们对该直线做一点点修正,让它变成折线的形状,当面积小于某个值时,价格始终为零。
- 这个简单的模型(蓝色折线)就可以看成是一个神经网络,而且几乎是一个最简单的神经网络。我们把该房价预测用一个最简单的神经网络模型来表示,如下图所示:
- 该神经网络的输入x是房屋面积,输出y是房屋价格,中间包含了一个神经元(neuron),即房价预测函数(蓝色折线)。该神经元的功能就是实现函数f(x)的功能。上述折现我们叫做,即
- 稍复杂模型
- 除了房屋面积(size)之外,我们还可以考虑卧室数目(#bedrooms)。这两点实际上与家庭成员的个数(family size)有关。还有,房屋的邮政编码(zip code/postal code),代表了该房屋位置的交通便利性,是否需要步行还是开车?即决定了可步行性(walkability)。另外,还有可能邮政编码和地区财富水平(wealth)共同影响了房屋所在地区的学校质量(school quality)。如下图所示,该神经网络共有三个神经元,分别代表了family size,walkability和school quality。每一个神经元都包含了一个ReLU函数(或者其它非线性函数)。根据这个模型,可以根据房屋的面积和卧室个数来估计family size,根据邮政编码来估计walkability,根据邮政编码和财富水平来估计school quality。最后,由family size,walkability和school quality等这些人们比较关心的因素来预测最终的房屋价格。
- 上图关联性进一步推广,则有四个输入,分别是size,#bedrooms,zip code和wealth。在给定这四个输入后,神经网络所做的就是输出房屋的预测价格y。图中,三个神经元所在的位置称之为中间层或者隐藏层(x所在的称之为输入层,y所在的称之为输出层),每个神经元与所有的输入x都有关联(直线相连)。
- 除了房屋面积(size)之外,我们还可以考虑卧室数目(#bedrooms)。这两点实际上与家庭成员的个数(family size)有关。还有,房屋的邮政编码(zip code/postal code),代表了该房屋位置的交通便利性,是否需要步行还是开车?即决定了可步行性(walkability)。另外,还有可能邮政编码和地区财富水平(wealth)共同影响了房屋所在地区的学校质量(school quality)。如下图所示,该神经网络共有三个神经元,分别代表了family size,walkability和school quality。每一个神经元都包含了一个ReLU函数(或者其它非线性函数)。根据这个模型,可以根据房屋的面积和卧室个数来估计family size,根据邮政编码来估计walkability,根据邮政编码和财富水平来估计school quality。最后,由family size,walkability和school quality等这些人们比较关心的因素来预测最终的房屋价格。
1.2 用神经网络进行监督学习
- 监督学习和非监督学习
目前为止,由神经网络模型创造的价值基本上都是基于监督式学习(Supervised Learning)的。监督式学习与非监督式学习本质区别就是是否已知训练样本的输出y。在实际应用中,机器学习解决的大部分问题都属于监督式学习,神经网络模型也大都属于监督式学习。- 机器学习:监督学习
- 监督学习:
- standard NN – 房屋价格预测,广告点金
- 卷积神经网络(CNN)——图像领域
- 循环神经网络(RNN)—— 一维序列(时间,音频(机器翻译,语音变文本))
-
复杂,混合神经网络(complex,hybrid,NN)——无人驾驶
- 结构化数据和非结构化数据
- 结构化数据:数据的数据库
- 非结构化数据:机器不容易理解的语音,图片,文本(用于语音识别,图像识别,自然语言文字处理)
1.3 Why is Deep Learning taking off?
- 深度学习为什么这么强大?用一张图来说明。如下图所示,横坐标x表示数据量(Amount of data),纵坐标y表示机器学习模型的性能表现(Performance)。
- 最底下的那条红色曲线代表了传统机器学习算法的表现,例如是SVM,logistic regression,decision tree等。当数据量比较小的时候,传统学习模型的表现是比较好的。但是当数据量很大的时候,其表现很一般,性能基本趋于水平。
- 黄色曲线代表了规模较小的神经网络模型(Small NN)。它在数据量较大时候的性能优于传统的机器学习算法。
- 蓝色曲线代表了规模中等的神经网络模型(Media NN),它在在数据量更大的时候的表现比Small NN更好。
- 绿色曲线代表更大规模的神经网络(Large NN),即深度学习模型。从图中可以看到,在数据量很大的时候,它的表现仍然是最好的,而且基本上保持了较快上升的趋势。
- 现在深度学习如此强大的原因归结为三个因素:
- Data(数据量的几何级数增加)
- Computation(GPU出现、计算机运算能力的大大提升)
- Algorithms(算法的创新和改进让深度学习的性能和速度也大大提升,例如:Sigmoid函数、ReLU函数)
- 深度学习进行过程