课程是我自己在学的,所以笔记会不断完善…第一周What you’ll learnCourses in this sequence (Specialization):Neural Networks and Deep LearningImproving Deep Neural Networks: Hyperparameter tuning, Regularization and OptimizationStructuring your Machine Learning projectConvolutional Neural NetworksNatural Language Processing: Building sequence models1.2 什么是神经网络?如果你有6个房子价格的数据,会想到 linear regression 同时价格不会为负,所以得到了蓝色函数,拟合的挺好,这里的蓝色函数可以看成一个非常简单的神经网络。这个神经网路输入房子的大小(size)通过你的神经元(neuron)输出了价格(price)。在深度学习中,会经常看见这个函数,从水平线开始,然后上升,叫做 ReLU函数 (Rectified linear unit,修正线性单元)修正认为是取不小于0的值 大一些的神经网络就是由这些神经元堆积起来。对于同样的问题,我们考虑更多的条件:1.由房屋面积大小和卧室可以推断出家庭大小2.由邮编可以推断出步行程度(walkability),即是否可以步行去超市, 步行去学校3.由邮编和富有程度可以推断出附近学校的质量4.由家庭大小加步行便利程度加附近学校质量可以推断出房屋的价格这就是一个大一些的神经网络,中间的小圆圈就是一个个的 函数,有可能是 ReLU 函数,也有可能是其他的线性或者不那么线性的函数。中间的圆圈(一共四个)叫做 隐藏单元(hidden units) 每个隐藏单元的输入都同时来源于四个输入,我们会将输入层和隐藏单元全连接,并不告诉神经网络个别输入只影响部分隐藏单元,而是让神经网络自己去决定。1.3用神经网络进行无监督学习Supervised Learning在房屋预测和在线广告用的是标准神经网络(standard NN)在图像领域,通常使用的是CNN对于序列问题经常使用RNN (recurrent neural network)语言,也是序列问题,要用到更复杂的RNNs对于自动驾驶,雷达信息,面对更复杂的信息,用到混合神经网络后续讲解图片,并有实现。对于监督学习 数据的分类 ,分为 结构化数据 和 非结构化数据结构化数据(Structured Data) 指的是数据库中的数据,可以存储在数据库中。非结构化数据(Unstructured Data) 指的是类似于语音数据、图像数据、文本数据等,通常处理所针对的是一个像素、文本中的一个单词,相比结构化的数据,更难让计算机理解。这里的应用是可以结合的,可以在神经网络中同时应用结构话数据和非结构化数据。1.4为什么深度学习最近几年才流行起来?深度学习已经进行了20多年来了,为什么是在20年后的今天才得到巨大的发展?横坐标代表数据的大小(指的是带标签的数据,(x,y)x是数据,y是该数据的标签),纵坐标表示算法的表现。在本堂课中都会用m表示数据集的大小、样本的数量红线代表传统学习算法(SVM,logistic regression等等),这些算法会在数据达到一定规模的时候进入平台期,表现并没有提升很多甚至不会再提升了,无法处理大规模数据。如果使用一个小型神经网络,那么得到的是黄线中型神经网络是蓝线绿线表示大型神经网络,表现的非常好。此时的神经网络表现好的原因有两点,也只有在这两点的支持下,才会有如此的表现:1.我们在一个数据爆炸的时代,科技进步带来的数据量可以支撑神经网络2.我们的神经网络足够大,意味着更多的神经元,更多层所以现在,如果想要更好的结果,要么训练一个更大的神经网络,要么投入更多的数据,但这也只能在一定程度上起作用(数据量增多和神经网络变大都需要更多的计算时间)。数据的发展,cpu、Gpu的发展提高了计算力,新算法的出现,推动了深度学习的进程。算法的更新,也是为了让神经网络运行的更快。一个较为突破性的一点就是从sigmoid函数变成了ReLU函数,sigmoid函数的一个缺点就是在这两点(图中两个箭头所指)梯度会接近于0,学习会变得很慢,因为此时参数变化很慢。通过改变activation function(激活函数)为ReLU函数,对于所有大于0的输入,梯度输出都是1 。所以通过更换函数梯度下降会运行的更快。这是简单的算法创新的例子。