[Deep Learning]卷积神经网络的详细理解

Deep Learning has 3 steps:

Step1

step2step3
define a set of function(neural network)goodness of functionpick the best function

How to connect the neurals?怎么把神经元连接起来?

最常见的方式是全连接前馈神经网络。Fully connect feedforward network.

所以神经网络用一句话概括就是:Given network structure,define a function set.

核心就是一组函数。

这组函数怎么选,函数的参数怎么设置,就变得至关重要。

为什么叫“Deep”?Deep=Many hidden layers。

上图的全连接网络的所有参数可以用矩阵来表示,这样GPU运算矩阵的优势就充分凸显了。

是sigmoid函数的意思。)


                                                                 一个完整的神经网络 


图例:

基本框架结构:

softmax层的作用是什么?

[引用知乎链接:https://www.zhihu.com/question/294679135/answer/885285177]

在这篇文章下的某个评论提出不同的观点!把神经网络的数学模型从左到右推导一遍或许会有神奇的发现!

首先,softmax 的作用是把 一个序列,变成概率。

他能够保证:

  1. 所有的值都是 [0, 1] 之间的(因为概率必须是 [0, 1])
  2. 所有的值加起来等于 1

从概率的角度解释 softmax 的话,就是

PyTorch,TensorFlow中对于softmax是这样描述的:

take logits and produce probabilities

 logits 有些地方还称之为 unscaled log probabilities。(没有限定范围的log概率。)为什么说是log呢?

原因有两个:

  1. 因为 全连接层 出来的结果,其实是无界的(有正有负),这个跟概率的定义不一致,但是你如果他看成 概率的 log,就可以理解了。
  2. softmax 的作用,我们都知道是 normalize probability。在 softmax 里面,输入 都是在指数上的 ,所有把 想成 log of probability 也就顺理成章了。

3.我觉得1的解释可以理解为hidden layer的激活函数sigmoid中的log。(不知道对不对)

softmax,顾名思义就是 soft 版本的 argmax。我们来看一下为什么?

举个栗子,假如 softmax 的输入是:

softmax 的结果是:

我们稍微改变一下输入,把 3 改大一点,变成 5,输入是

softmax 的结果是:

可见 softmax 是一种非常明显的 “马太效应”:强(大)的更强(大),弱(小)的更弱(小)。假如你要选一个最大的数出来,这个其实就是叫 hardmax。那么 softmax 呢,其实真的就是 soft 版本的 max,以一定的概率选一个最大值出来。在hardmax中,真正最大的那个数,一定是以1(100%) 的概率被选出来,其他的值根本一点机会没有。但是在 softmax 中,所有的值都有机会被作为最大值选出来。只不过,由于 softmax 的 “马太效应”,次大的数,即使跟真正最大的那个数差别非常少,在概率上跟真正最大的数相比也小了很多。

所以,前面说,“softmax 的作用是把 一个序列,变成概率。” 这个概率不是别的,而是被选为 max 的概率。

 

这种 soft 版本的 max 在很多地方有用的上。因为 hard 版本的 max 好是好,但是有很严重的梯度问题,求最大值这个函数本身的梯度是非常非常稀疏的(比如神经网络中的 max pooling),经过hardmax之后,只有被选中的那个变量上面才有梯度,其他都是没有梯度。这对于一些任务(比如文本生成等)来说几乎是不可接受的。所以要么用 hard max 的变种,比如 Gumbel,

什么是cross entropy?

[为什么交叉熵(cross-entropy)可以用于计算代价? - 微调的回答 - 知乎 https://www.zhihu.com/question/65288314/answer/244557337]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值