吴恩达【深度学习工程师】专项课程包含以下五门课程:
1、神经网络和深度学习;
2、改善深层神经网络:超参数调试、正则化以及优化;
3、结构化机器学习项目;
4、卷积神经网络;
5、序列模型。
今天介绍《神经网络与深度学习》系列第一讲:深度学习概述。
主要内容:
1、使用房价预测的例子来建立神经网络模型;
2、介绍不同的神经网络类型:Standard NN、CNN 及 RNN;
3、在处理非结构化数据上,深度学习近年来发展的非常快;
4、深度学习飞速发展的三要素:大数据、GPU计算及深度学习算法。
1、什么是神经网络?
假如我们要建立房价的预测模型,我们已知模型输入面积 x 及输出价格 y ,来预测房价:y = f(x),我们用一条直线来拟合图中这些离散点(建立房价与面积的线性模型)。
这个简单的模型(蓝色折线)就是一个最简单的神经网络。
该神经网络的输入 x 是房屋面积,输出 y 是房价,中间包含了一个神经元(neuron),即房价预测函数(蓝色折线),该神经元的功能就是实现函数f(x)的功能。
除了考虑房屋面积(size)之外,我们还考虑卧室数目(#bedrooms),房屋的邮政编码(zip code/postal code),还有地区财富水平(wealth)。因此,这个神经网络有四个输入,分别是size,#bedrooms,zip code和wealth。
其中 x1 所在的位置称之为输入层,三个神经元所在的位置称之为中间层或者隐藏层,y 所在的位置称之为输出层。这就是基本的神经网络模型结构。
2、监督学习
监督学习与非监督学习本质区别就是是否已知训练样本的输出 y,也就是样本是否含标签信息。
下面是几个监督式学习在神经网络中应用的例子:
1)、房价预测:输入 x 是房屋的各种参数,输出是房价;
2)、在线广告:输入 x 是广告和用户个人信息,输出是用户是否对广告进行点击;
3)、计算机视觉:输入 x 是图片像素值,输出是图片所属的不同类别等;
4)、语音识别:输入 x 是一段语音信号,输出是文字信息;
5)、机器翻译:输入 x 是一种语言,输出是表达相同意思的另一种语言;
6)、自动驾驶:输入 x 一张图片或者汽车雷达信息等,输出是相应的路况信息并作出相应的决策等。
不同的情况,一般使用不同的网络模型:
1)、对于一般的监督学习(房价预测和在线广告),我们使用标准的神经网络模型;
2)、对于计算机视觉处理问题,我们使用CNN(Convolution Neural Network);
3)、对于语音这样的时序信号处理,我们使用RNN(Recurrent Neural Network)。
3、数据类型
数据类型一般分为两种:结构化数据 和 非结构化数据。
结构化数据:例如房价预测中的size,#bedrooms,price等;在线广告中的User Age,Ad ID等。
非结构化数据:例如声音、图像或者文本等。
尤其是在非结构化数据上,深度学习方法更能展示相对于其他方法的优越性,更能创造出巨大的实用价值。
4、深度学习飞速发展的要素
如下图所示,横坐标 x 表示数据量(Amount of data),纵坐标 y 表示机器学习模型的性能表现(Performance)。
图中共有 4 条曲线。
1、红色曲线代表了传统机器学习算法的表现,它在数据量很大的时候表现很一般;
2、黄色曲线代表了规模较小的神经网络模型(Small NN),它在数据量较大时候的性能优于传统的机器学习算法;
3、蓝色曲线代表了规模中等的神经网络模型(Media NN),它在数据量更大的时候的表现比Small NN更好;
4、绿色曲线代表更大规模的神经网络(Large NN),它在数据量更大的时候的表现比Media NN更好,并且保持了快速上升的趋势。
可以看出,更复杂的深度学习模型,对海量数据的处理和分析更有效。其原因是:可供使用来训练的样本数据量承几何级数增加、训练服务器使用计算力极强的GPU架构以及几年来学术界更多的算法上的创新和改进。