神经网络原理--简单总结

概述

  一些神经网络的论文的观点与数学解释引导了写这篇文章的想法。这篇文章主要是个人的浅见与论文阅读总结。

神经网络的基础数学

  上面是一个简单多层感知机神经网络(MLP)结构,公式为(这里假设激活函数为 R e L U ReLU ReLU R e L U ( x ) = m a x ( x , 0 ) ReLU(x)=max(x,0) ReLU(x)=max(x,0)):

                  a i ( 2 ) = R e L U ( ∑ k = 1 3 w i k ( 1 ) ∗ x k + b ( 1 ) ) a_i^{(2)}=ReLU(\sum_{k=1}^3 w_{ik}^{(1)}*x_k+b^{(1)}) ai(2)=ReLU(k=13wik(1)xk+b(1))

                  h w , b ( x ) = R e L U ( ∑ i = 1 3 w i ( 2 ) ∗ a i ( 2 ) + b ( 2 ) ) h_{w,b}(x)=ReLU(\sum_{i=1}^3w_i^{(2)}*a_i^{(2)}+b^{(2)}) hw,b(x)=ReLU(i=13wi(2)ai(2)+b(2))

  这里我们不去深究以上具体的公式内容,对于每一层(除输入层)都可以用如下简单的数学公式表示:

                  f ( x ) = R e L U ( ∑ i = 1 n w i ∗ x i + b ) f(x)=ReLU(\sum_{i=1}^n w_{i}*x_i+b) f(x)=ReLU(i=1nwixi+b)

  以上公式我们可以转换为矩阵形式,即:

                  f ( X ) = R e L U ( W T X + b ) f(X)=ReLU(W^TX+b) f(X)=ReLU(WTX+b)

  这里我们假设 ∣ ∣ W ∣ ∣ = ∣ ∣ X ∣ ∣ = 1 ||W||=||X||=1 W=X=1 W W W X X X 的范数都为 1 1 1,这时 W W W X X X都为归一化向量,可以得到

                  W T X = W T X ∣ ∣ W ∣ ∣ ∗ ∣ ∣ X ∣ ∣ = c o s ( θ ) W^TX=\frac{W^TX}{||W||*||X||}=cos(\theta) WTX=WXWTX=cos(θ),其中 c o s ( θ ) ∈ [ − 1 , 1 ] cos(\theta)\in[-1,1] cos(θ)[1,1]

  所以神奇的事情发生了,矩阵乘法等价于cosine相似度。区别只在向量的长度,cosine相似度是归一化后的,而原始 W T X W^TX WTX是非归一化的。在实践中因为神经网络的梯度爆炸和消失问题,我们往往会使用BatchNorm即批规范化,使每层的输入的分布都归一化到[-1,1]之间,当我们可视化其中权重的时候会发现权重绝大多数都介于[-1,1]之间,也就是即便权重 W W W不是归一化的,其向量长度仍然很小。很多论文已经表明使用归一化的权重和未归一化权重并没有显着差别[2-3]。

  所以我们完全可以使用cosine相似度替代 W T X W^TX WTX,即(这里的 ∣ ∣ W ∣ ∣ ||W|| W ∣ ∣ X ∣ ∣ ||X|| X不再等于 1 1 1):

                  f ( X ) = R e L U ( W T X ∣ ∣ W ∣ ∣ ∗ ∣ ∣ X ∣ ∣ + b ) = R e L U ( c o s ( θ ) + b ) f(X)=ReLU(\frac{W^TX}{||W||*||X||}+b)=ReLU(cos(\theta)+b) f(X)=ReLU(WXWTX+b)=ReLU(cos(θ)+b)

  我们看到激活函数的作用是什么?对不相似的输入不响应,即相似度大于 − b -b b才有输出。所以我们看到 M L P MLP MLP本质在比较输入 X X X W W W 的相似度,如果相似度大于 − b -b b才有输出,否则不输出(和SVM超平面类似,这里也相当于构造了一个分割超平面,只是深层神经网络分割次数非常多,层次越深分割次数越多); 这里 W W W 即论文中经常提到的anchor(锚定矩阵),有的时候我喜欢把它叫观测矩阵,或者叫尺子,即我们能用它来测量输入与自身的差异,或者更哲学的我们能看到什么取决于我们有什么

  同样,在计算机视觉中广泛使用的卷积神经网络( C N N CNN CNN)和多层感知机神经网络并无本质的区别,形式都是 f ( X ) = R e L U ( W T X ) f(X)=ReLU(W^TX) f(X)=ReLU(WTX),区别仅仅在于 C N N CNN CNN中矩阵乘法是局部(或分patch)的,而权重参数在多个局部都是可重用的,因此权重参数比同等条件下的 M L P MLP MLP少得多。

  有人会说我用 s i g m o i d sigmoid sigmoid t a n h tanh tanh激活函数呢?[6]这篇文章说明了 s i g m o i d sigmoid sigmoid t a n h tanh tanh是同胚映射(homeomorphism),同胚映射是保拓扑结构的,如下图,同胚映射无法完全区分两个连接的轮胎拓扑,而ReLU不是同胚映射,ReLU 可以直接对轮胎拓扑作切割,对于不相似的区域直接切掉或者过滤掉,这是为什么用ReLU的原因之一,当然 s i g m o i d sigmoid sigmoid t a n h tanh tanh也有梯度爆炸和消失问题,和这里讨论的问题有些区别

  使用cosine相似度替代 W T X W^TX WTX也有他的缺陷, W T X = ∣ ∣ W ∣ ∣ ∗ ∣ ∣ X ∣ ∣ ∗ c o s ( θ ) = ∣ ∣ V ∣ ∣ ∗ c o s ( θ ) W^TX=||W||*||X||*cos(\theta)=||V||*cos(\theta) WTX=WXcos(θ)=Vcos(θ)我们发现当两个数据与 W W W 的夹角 θ \theta θ 相同时使用cosine相似度这两个数据将无法区分,但是 W T X = ∣ ∣ V ∣ ∣ ∗ c o s ( θ ) W^TX=||V||*cos(\theta) WTX=Vcos(θ) 可以使用 ∣ ∣ V ∣ ∣ ||V|| V 即:向量长度区分,如 ∣ ∣ V ∣ ∣ ||V|| V 为 1 和 5 是可以被区分的,所以相对的 W T X W^TX WTX c o s ( θ ) cos(\theta) cos(θ) 有更大的模式容量

参考文献

  1. Understanding Convolutional Neural Networks with A Mathematical Model
  2. Cosine Normalization: Using Cosine Similarity Instead of Dot Product in Neural Networks
  3. SphereFace: Deep Hypersphere Embedding for Face Recognition
  4. Deep Hyperspherical Learning
  5. ArcFace: Additive Angular Margin Loss for Deep Face Recognition
  6. Neural Networks, Manifolds, and Topology
  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
循环神经网络(RNN)是一种具有重复神经网络模块的链式结构。在标准的RNN中,这个重复的模块通常由一个简单的结构组成,比如一个tanh层。RNN的原理推导可以从基础的神经网络开始理解。 基础的神经网络由输入层、隐层和输出层组成,通过激活函数控制输出,层与层之间通过权值连接。在基础的神经网络中,神经网络模型通过训练学到的东西被蕴含在权值中。 RNN与基础的神经网络最大的不同之处在于,在层与层之间的神经元之间也建立了权连接。这意味着RNN的每一个时间步都会接收来自上一个时间步的输出作为输入,并将其与当前时间步的输入进行计算,从而产生当前时间步的输出。 这种循环的结构使得RNN可以处理序列数据,例如自然语言文本或时间序列数据。通过在每个时间步重复应用相同的神经网络模块,RNN可以捕捉输入序列中的时间依赖性,并在输出中反映这种依赖性。 总结来说,循环神经网络原理推导可以从基础的神经网络开始,通过在层与层之间建立权连接的方式,使得RNN可以对序列数据进行建模,并捕捉输入序列中的时间依赖性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [循环神经网络(Recurrent Neural Network)原理推导](https://blog.csdn.net/ABV09876543210/article/details/124296938)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值