深度学习简介
DL的发展
DL的步骤
1.构建model
- define a function set(neural network结构,没有参数)
- deep=many hidden layers
- Alexnet(2012)有8层,VGG(2014)有19层,Googlenet(2014)有22层,Residual net(2015)有152层。
- 实质上是一连串的矩阵运算
- 隐藏层用于进行特征提取
- 设置好network structure(function set),挑一组参数(function就固定了)
- 隐藏层有多少层,每一层有多少神经元?实验经验
2.设置loss function
- loss 就是prediction与target的“距离”(eg:cross entropy)
3.调整参数,使得total loss最小(这样就获得最好的function)
- 使用GD(更新参数)找到最优参数(w,b)和min loss
- backpropagation就是算微分的方法
注:之前实验证明:deeper is better
深度学习与机器学习
- 深度学习是一种特殊的机器学习
- 在动物识别器例子中,深度学习会自动找出对分类很重要的特征,而在机器学习中必须手动提供这些特征;
- 性能比较如下图所示,深度学习需要依赖大量数据才能理解问题,因此,数据量小时,传统的机器学习占优势。
- 深度学习依赖于高端机器,要求GPU的运算速度 可以进行矩阵运算;机器学习可以在底端机器上运行
- 机器学习的特征是手动编码得到的,其性能取决于特征识别和特征提取的准确程度;深度学习尝试从数据中学习高级特征
- 深度学习需要长时间训练,执行时间长;机器学习训练时间短
反向传播机制
我觉得就是 让每一次的误差进行反向传播(backward pass与forward pass),去修改参数w【误差带给参数的影响】,这其中涉及到链式法则,套娃一样的算 loss对w的偏微分。
|