2016.3.28 其他的调整网络的技巧

其他的调整网络的技巧

技巧有很多,但是简单常用的不多。

首先说说对于随即梯度下降的不同变换,梯度下降其实就是用c来对于单独的一个w进行变换,但是我们如果考虑到对于不同的两个或者更多的w之间的关系呢?实际上就是用c对于多个w求多个偏导数。

Momentu就是二阶导数,原来的学习是使用c直接对于w进行修改,但是现在相当于多了一个屏障。原来走的每一步的步长实际上是和c直接相关的,但是通过momentum,加了一个代理,就是c调整一个中间的变量,中间变量再修改整体的w的值,所以再这样的情况下能够非常好的实现一个控制。

比如说我们想象一辆行驶的汽车,原来的wc直接相关,可能一不小心就走多了,因为我们需要超像某个方向,方向是由cw求偏导来决定的,走多少是学习率来决定的。但是这个带来的一个问题就是到底参数互相之间什么关系,要不要也微微调整以下。

其实这个也没太理解。

 

再有就是如何去最小化损失函数:

conjugate gradient descent BFGS 或者nesterov’s accelerate gradient technique

 

Sigmoid能不能换呢?其实tanh也许更好,因为对于sigmoid来说,激活的都是大于0的,这就意味着如果某个神经元是某个值,那么和这个相连的前一层的结果就都是同时增加或者减少的。而且tanh其实是sigmoid的一个缩放。还有一个比较神奇的东西就是relurectified linear unit)。

 

我们还没有明确的知道为什么这些是管用的,不过我们会继续探索。

 

下面问题来了:

1.    到底怎么解释这些,为什么激活函数这个就可以,有没有更好的?哪个是最好的?还是和数据有关?

你可能感兴趣的:(2016.3.28 其他的调整网络的技巧)