1.深度网络是天然多层,但天然多层不一定是神经网络
2.deep = many hiden layers
3.层数越多,训练时间越长
4.DL三步
5.DL流程
6.第一步:neural network(神经网络)
激活函数:这里用sigmoid做激活函数,但其实可以有很多种选择
这部分可以用gpu加速
softmax :softmax逻辑回归模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签y可以取两个以上的值。y值也会做softmax处理
multi-class classifier:多分类器
问题:
1)多少层?每层多少nueron?
经验+直觉:6层起,先过拟合了,再对半对半增减
2)传统特征工程:关键点是特征工程
深度学习:关键点是构造神经网络
不同的case就看什么方法容易一点,比如语音和图像,深度学习比较容易
nlp:Natural Language Processing 自然语言处理
7.第二步:计算TOTAL LOSS,GD法找最小化
👆分类问题,就要算交叉熵cross entropy,然后调整参数,让交叉熵越小越好
C可以理解为y与y^之间的距离,距离越小越好
常用的距离有:方差,交叉熵,MAE
👇用梯度下降法找θ
反向转播算法 backpropagation:
1)一种很方便的计算上述偏微分的方法,作用其实只是让GD更加高效
(tensorflow可实现)
2)chain rule (链式法则)
3)计算
forward pass :在前馈时同时用变量储存了每层的梯度
👆注意:z = wx+b,z不是激活函数,但是下一层的input是z经过激活函数之后的output(eg:layer2是0.12,不是-2)
backward pass:
先正向看
反向看:每个输出层也是方向传播的输入层
👆σ’(z)是一个常数,因为a = σ(z),z是已经确定的,每层的激活函数σ也是确定的
递推(不是递归,因为每次并不完全相同,激活函数每层可以不一样),一直到最后一层,最后一层就是反向传播的开始
👇 如何计算:z‘和z’’对C的偏微分
C y都已知,可以直接计算
**总结back propagation:**先正向计算z和y和损失,再从损失函数开始反向计算偏导
信号正向传播,误差反向传播
反思:DL真的那么有意义吗?