第一周 神经网络导论(Introduction to Deep Learning)
1.2 什么是神经网络(What )
由例子引入:房子价格的估计
简单的神经网络:由一个神经元组成,输入x,经过神经元,输出y
ReLU函数(Rectified Linear Unit):线性整流函数 ,作为神经元的激活函数。
基本的神经网络:通过输入不同的特征(x1,x2,x3,x4),通过神经网络,可以的到相应的y值。在这个神经网络中,分为输入层,全连接层,输出层,输入层与全连接层的链接有不同的权值,在神经网络的训练中,各个节点会自行学习权值的大小。
1.3 用神经网络进行监督学习
监督学习在过去创造了巨大的价值:
1.智能在线广告投送(通过点击广告,来决定投送广告,利用卷积神经网络)
2.计算机视觉(输入图像)
3.机器翻译(输入语言,一维时间序列,使用RNN,循环神经网络)
4.自动驾驶(混合更多更复杂的模型)
结构化数据:数据数据库,每个特征有清晰的定义
非结构化数据:音频,图像,文本内容,特征为时间序列,像素,(人类很擅长理解),借助神经网络可以使计算机理解。
1.4深度学习兴起的原因
深度学习兴起的原因:
由于越来越多地设备,便宜的相机,物联网的传感器等,使得数据的获取越来越容易;以及神经网络的规模越来越大,神经网络的规模增大,往往意味着更好的学习效果。综上,得益于数据与网络的规模的增大,越大规模的神经网络需要越大的训练数据。
在图像的左边,即数据集不大时,各个算法的效果主要取决于组件的设计,当数据足够大时,可以看到,神经网络远远领先于其他的算法。
数据的增多,设备算力的增强(CPU,GPU)
激活函数:激活函数的不同,会影响算法的速度
(1)sigmoid函数:
在参数接近正负无穷时,梯度会接近于0,会导致更新很慢,训练速度就会减慢。
(2)ReLU函数:
它的梯度对于所有输入的负值都是零,因此梯度更加不会趋向逐渐减少到零。会使梯度下降的运行速度更快
激活函数的影响:
激活函数的改变,使得代码运行的更快,这也使得我们能够训练规模更大的神经网络,或者是多端口的网络。因为在训练神经网络时,很多时候是凭借直觉的,往往你对神经网络架构有了一个想法,于是你尝试写代码实现你的想法,然后让你运行一个试验环境来告诉你,你的神经网络效果有多好,通过参考这个结果再返回去修改你的神经网络里面的一些细节,然后你不断的重复上面的操作,当你的神经网络需要很长时间去训练,需要很长时间重复这一循环,如果训练时间过长,会让这个周期变得很长。