1. DNN:

DNN CNN RNN

在训练集上性能不行:

1.梯度消失问题:有些activation function会导致这个问题,例如:后面提出了Rectified Linear Unit:ReLU,形状为_/;learnable activation function:Maxout

2.可能调整学习率来达到更好,例如Adam

在验证集上性能不行:

1.early stopping:不用等到在训练集上loss最小,可能会出现过拟合

2.regularization:找到新的loss function==原来loss function + 正则项(L1,L2等)

即是找到一组参数(通常只考虑weight,不考虑bias)不仅能够最小化原来loss function,同时也能接近零

例如使用L2,L1 regularization时,梯度推到如下

DNN CNN RNNDNN CNN RNN

L2是乘上一个decay权重--》导致所有wweight都会很均匀,而L1是直接剪去一个值--〉可能有些weight很大,有些很小

3.dropout:

训练的时候:在更新参数之前,每个neuron都会有P%的几率被dropout,从而使用新的网络进行训练

测试的时候:不做dropout,如果在训练时dropout rate是p%,则所有weights乘上(1-p)%

2.CNN

DNN CNN RNN

3.RNN

DNN CNN RNN

隐藏层的输出是存储的,然后作为下一次输入。

RNN的各种形式:

DNN CNN RNNDNN CNN RNN

最常见的形式:Long Short-term Memory-LSTM

DNN CNN RNNDNN CNN RNN

基于RNN的网络不总是很容易去学习,因为 the error surface is either very flat or very steep.导致梯度变化太大或者太小

但是LSTM能够处理梯度消失问题:1.memory和input是相加的,2.影响会一直存在,除非gorget gate是关闭的,即是forget gate打开就不会产生梯度消失问题

Gated Recurrent Unit(GRU):simpler than LSTM,大致是把forget和input gate联系起来,有input的时候就刷掉memory

4.Explainable ML

4.1local Explanation:Explain the Decision

basic idea:找出那个成分是做出决策时候具有重要性

 4.2global explanation:explain the whole model

basic idea:解释整个model到底产生了什么

 

 

 

 

 

 

 

相关文章: