NG深度学习系列笔记《神经网络与深度学习》(1)--深度学习概述

之前在学习吴恩达的斯坦福大学机器学习课程时,做的是手写的笔记,但是感觉手写还是太慢了,所以这次看NG的深度学习课时决定把笔记都写进博客里。

这次的深度学习系列课程主要分为五周的课程,分别为:
1、神经网络和深度学习;
2、改善深层神经网络:超参数调试、正则化以及优化;
3、结构化机器学习项目;
4、卷积神经网络;
5、序列模型。

这篇主要介绍《神经网络与深度学习》系列第一讲:深度学习概述。

主要内容:

1、使用房价预测的例子来建立神经网络模型;

2、介绍不同的神经网络类型:Standard NN、CNN 及 RNN;

3、在处理非结构化数据上,深度学习近年来发展的非常快;

4、深度学习飞速发展的三要素:大数据、GPU计算及深度学习算法。

1.What is a neural network?

假如我们要建立房价的预测模型,一共有六个房子。我们已知每个房子的面积x,还知道每个房子的价格y。根据这些建立一个函数模型,y=f(x)来预测房价。二者的关系如下所示:
这里写图片描述
该神经网络的输入x是房屋面积,输出y是房屋价格,中间包含了一个神经元(neuron),即房价预测函数(蓝色折线)。该神经元的功能就是实现函数f(x)的功能。
上图中的蓝色折线即预测函数在神经网络中比较常见,它是一种RELU函数,即Rectified Linear Unit,
除了考虑房屋面积(size)之外,我们还考虑卧室数目(#bedrooms),房屋的邮政编码(zip code/postal code),地区财富水平(wealth)。
因此,这个神经网络有四个输入,如下所示:
这里写图片描述
四个输入,分别是size,#bedrooms,zip code和wealth。在给定这四个输入后,神经网络所做的就是输出房屋的预测价格y。图中,三个神经元所在的位置称之为中间层或者隐藏层(x所在的称之为输入层,y所在的称之为输出层),每个神经元与所有的输入x都有关联(直线相连)。这就是基本的神经网络的结构图。

2.Supervised Learning with Neural Networks

目前为止,由神经网络模型创造的价值基本上都是基于监督式学习(Supervised Learning)的。监督式学习与非监督式学习本质区别就是是否已知训练样本的输出y。在实际应用中,机器学习解决的大部分问题都属于监督式学习,神经网络模型也大都属于监督式学习。
下面我们来看几个监督式学习在神经网络中应用的例子。
1.房屋价格预测。
根据训练样本的输入x和输出y,训练神经网络模型,预测房价。
2.线上广告
输入x是广告和用户个人信息,输出y是用户是否对广告进行点击。
3.计算机视觉(computer vision)
输入x是图片像素值,输出是图片所属的不同类别。
4.语音识别(speech recognition)
深度学习可以将一段语音信号辨识为相应的文字信息。
5.智能翻译
通过神经网络输入英文,然后直接输出中文。
6.自动驾驶
通过输入一张图片或者汽车雷达信息,神经网络通过训练来告诉你相应的路况信息并作出相应的决策
这里写图片描述
对于不同的问题使用不同的模型:
(1)一般的监督式学习(房价预测和线上广告问题),使用标准的神经网络模型
(2)图像识别处理问题,使用卷积神经网络(Convolution Neural Network)(3)处理类似语音这样的序列信号时,则要使用循环神经网络(Recurrent Neural Network),即RNN
(4)例如自动驾驶这样的复杂问题则需要更加复杂的混合神经网络模型。
这里写图片描述

数据类型一般分为两种:Structured Data和Unstructured Data。

这里写图片描述
结构化数据:有实际意义的数据。如房价预测中的size,#bedrooms,price;在线广告中的User Age,Ad ID等
非结构化数据:比较抽象的数据。例如Audio,Image或者Text

3.Why is Deep Learning taking off?

深度学习为何如此强大?
这里写图片描述

上图共有4条曲线。
1.红色曲线代表了传统机器学习算法的表现,例如是SVM,logistic regression,decision tree等。当数据量很大的时候,其表现很一般,性能基本趋于水平。
2.黄色曲线代表了规模较小的神经网络模型(Small NN)。它在数据量较大时候的性能优于传统的机器学习算法。
3.蓝色曲线代表了规模中等的神经网络模型(Media NN),它在在数据量更大的时候的表现比Small NN更好。
4.绿色曲线代表更大规模的神经网络(Large NN),即深度学习模型。在数据量很大的时候,它的表现仍然是最好的,而且基本上保持了较快上升的趋势。

然而,在数据量不大的时候,例如上图中左边区域,深度学习模型不一定优于传统机器学习算法,性能差异可能并不大。
所以说,现在深度学习如此强大的原因归结为三个因素:

Data、Computation、Algorithms

构建一个深度学习的流程是首先产生Idea,然后将Idea转化为Code,最后进行Experiment。接着根据结果修改Idea,继续这种Idea->Code->Experiment的循环,直到最终训练得到表现不错的深度学习网络模型。如果计算速度越快,每一步骤耗时越少,那么上述循环越能高效进行。

猜你喜欢

转载自blog.csdn.net/yato0514/article/details/79068587