Improving Deep Neural Networks (Week3)--Hyperparameter tuning, Batch Normalization and Programming F

一、Tuning process

设置超参数的值及如何系统化进行超参数调优

最重要的参数是学习率α,上述参数的重要程度排序为红>橙>蓝

隐藏层中隐藏单元的个数比层数更加重要

当对传统机器学习中的超参数进行学习时,一般使用网格

而对于现在的深度学习来说,使用随机取样较好,因为在这里事先很难知道,在问题中那个超参数是最重要的

局域型的搜索即在初步筛选之后,限定一定的范围再次进行比较筛选

上述即为系统化组织超参数搜索过程的方法

二、Using an appropriate scale to pick hyperparameters

并不是在特定范围内的均匀随机抽样,要选取适当的尺度来研究超参数

对于α的取值可以用对数分割取值的方法

对于动量求梯度也是以指数分割较好

三、Hyperparameters tuning in practice: Pandas vs. Caviar

探讨如何有规划地探寻合适超参数的技巧

演讲领域的参数设置也可能在NLP中起作用!??

数据集逐渐更新、服务器的应用都会使得那些最优的超参数变得不再适用,因此要注意至少每隔几个月要重新检测或评估一次

有规划地探寻合适超参数的方法:

1.一直跟踪某个单一的模型(有很大的数据集,但没有足够的CPU或GPU)

照看模型、观察性能曲线、耐心微调学习率

2.同步训练多个模型

有足够的计算机来并行训练很多模型,采用鱼子酱模式,尝试大量不同的超参数,看结果如何

四、Normalizing activations in a network

batch normalization批量归一化,使得超参搜索变得简单

五、Fitting Batch Norm into a neural network

六、Why does Batch Norm work?

七、Batch Norm at test time

八、Multi-class classification——Softmax Regression

解决存在多种可能的分类目标---softmax回归

总类别C----0,1,,,,C-1

因此最后输出层的单元数N=4=C,每个单元的取值为对每类预测的概率 ,每个单元之和为1

具体计算过程如上

没有隐藏层的softmax函数

想了一个问题:为什么二分类的输出单元只有一个,而对于多分类的输出单元有对应的个数呢?因为,二分类时通过与0.5大小比较可以进行分类,而多分类不可以,但感觉后边还有对这个的改进。

九、Training a softmax classifier

softmax对应hardmax,即hardmax函数遍历Z中的所有元素,将softmax的元素都对应成0和1,最大的元素对应为1,其余位置对应为0

softmax回归是Logistic回归从2分类到多分类的推广

十、Deep learning frameworks

选择一个框架的原则:

十一、TensorFlow

其中导入数据的使用,tf.placeholder()

这三行代码属于在tensorflow中较为常用的,新建进程、启动进程,另一种表现形式如下

猜你喜欢

转载自blog.csdn.net/weixin_38527856/article/details/86726633