深度学习基础
文章平均质量分 93
深度学习 基础相关内容
一只小菜狗:D
这个作者很懒,什么都没留下…
展开
-
启发式算法
本篇主要介绍一些启发式算法,包括粒子群算法,模拟退火算法,遗传算法。这些启发式的算法也是解决最优化问题的途径之一。粒子群算法(PSO)粒子群算法的思想是,粒子群算法是通过模拟鸟群捕食行为设计的一种群智能算法。区域内有大大小小不同的食物源,鸟群的任务是找到最大的食物源(全局最优解),鸟群的任务是找到这个食物源。鸟群在整个搜寻的过程中,通过相互传递各自位置的信息,让其他的鸟知道食物源的位置最终,整个鸟群都能聚集在食物源周围,即我们所说的找到了最优解,问题收敛。假设pbestp_{best}pbest是当原创 2021-10-18 16:04:48 · 1241 阅读 · 0 评论 -
深度学习中常见的优化器小结
优化器的挑战局部最优如以下函数f(x)=cos(πx)f(x)=cos(\pi x)f(x)=cos(πx)当一个优化问题的数值解在局部最优解附近时,由于目标函数有关解的梯度接近或变成零,最终迭代求得的数值解可能只令目标函数局部最小化而非全局最小化。鞍点梯度接近0可能是在局部最优解,但也有可能在鞍点附近。比如:与局部最小不同,如果我们能往“正确”的方向前进一步,那么有可能逃离鞍点。幸运的是,我们有方法去判断这个点是局部最优还是在鞍点。J(θ)=J(θ0)+(θ−θ0)∇θJ(θ0)+12(原创 2021-10-07 21:26:43 · 479 阅读 · 0 评论 -
聊聊深度学习中的BN和LN
在一个深度神经网络中,每一层的神经网络参数发生变化会影响其上层的输入数据分布,又因为DP的网络深度较大,这样层层叠加,导致高层的输入分布变化较大,使得高层的参数需要不断的去适应底层的参数更新。导致神经网络难以训练。这听起来很糟糕,那么有什么方案去解决这个问题呢?我们可以为每一层都设立不同的学习率、不同的初始化策略等,去解决这个问题。但是这样的解决方案非常麻烦,而且需要很多人为的经验。而Normalization能够较好的解决该问题,且不需要为每一层单独设置学习率等。什么是Normalization上原创 2021-10-01 16:07:39 · 1274 阅读 · 0 评论 -
常见的激活函数
常用激活函数列表nameplotequationsigmoidf(x)=11+e−xf(x) = \frac{1}{1+e^{-x}}f(x)=1+e−x1Tanhf(x)=tanh(x)=21+e−2x=2sigmoid(2x)−1f(x)=tanh(x)=\frac{2}{1+e^{-2x}} \\ = 2sigmoid(2x)-1f(x)=tanh(x)=1+e−2x2=2sigmoid(2x)−1ReLUf(x)=max(0,x)f(x)=max(原创 2021-09-28 22:15:59 · 784 阅读 · 0 评论 -
小识 神经网络的初始化
初始化的原因对于一个神经网络而言,我们自然希望它是鲁棒的。也就是说,对于任何一个初始化的点,我们都能得到比较好的收敛结果。不幸的是,几乎所有的网络都是非凸的,不同的初始化得到的结果可能大相径庭。而且,如果权重初始化的方差过大或过小,可能会导致梯度爆炸或梯度弥散的问题,从而无法收敛。因此,合适的权重初始化就尤为重要。目前存在以下几种初始化策略:Constant InitializationXavier InitializationKaiming InitializationConstant原创 2021-09-28 15:26:49 · 772 阅读 · 0 评论