本文地址:https://goodgoodstudy.blog.csdn.net/article/details/109179566

文章目录

  • 预备知识
  • IP
    • 问题描述
    • 梯度下降法
    • 计算梯度
    • 随机梯度下降
  • 参考文献
  • 实验

预备知识

  1. 概率分布的变换,
    f y ( y ) ∂ y = f x ( x ) ∂ x f_y(y) \partial y = f_x(x) \partial x fy​(y)∂y=fx​(x)∂x
    或者
    f y ( y ) = f x ( x ) ∂ x ∂ y (1) f_y(y) = f_x(x)\frac{\partial x}{\partial y} \tag{1} fy​(y)=fx​(x)∂y∂x​(1)
    参考证明
  2. DL散度,衡量两个分布之间的差异
    D L ( p 1 ∥ p 2 ) = ∫ p 1 ( y ) log ⁡ ( p 1 ( y ) p 2 ( y ) ) d y DL(p_1\| p_2) = \int p_1(y) \log \left(\frac{p_1(y)}{p_2(y)}\right) dy DL(p1​∥p2​)=∫p1​(y)log(p2​(y)p1​(y)​)dy

IP

问题描述

假设神经元的输出方程为:
y = g ( x ) y = g(x) y=g(x)
其中 x x x 为到达该神经元的所有信号的总和,并且服从分布 x ∼ f x ( x ) x \sim f_x(x) x∼fx​(x)。 g ( ⋅ ) g(\cdot) g(⋅) 为非线性激活函数,如 Sigmoid 函数,单调递增,由(1)式得:
y ∼ f y ( y ) = f x ( x ) ∂ x ∂ y y \sim f_y(y)= f_x(x)\frac{\partial x}{\partial y} y∼fy​(y)=fx​(x)∂y∂x​

现在,我们希望神经元的输出 y y y 能够服从某一特定的分布 f e x p f_{exp} fexp​,如
指数分布:
f e x p = 1 μ exp ⁡ ( − y μ ) f_{exp} = \frac{1}{\mu} \exp\left(-\frac{y}{\mu}\right) fexp​=μ1​exp(−μy​)
高斯分布:
f e x p = 1 2 π σ exp ⁡ ( − ( y − μ ) 2 σ 2 ) f_{exp} = \frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{(y-\mu)^2}{\sigma^2}\right) fexp​=2π ​σ1​exp(−σ2(y−μ)2​)

梯度下降法

将神经元的输出方程改为:
y = g ( a x + b ) y = g(ax+b) y=g(ax+b)
通过调整 a a a 和 b b b 的值,使得输出 y y y 的分布服从指定分布

构造损失函数:
D L ( f y ∣ ∣ f e x p ) = ∫ f y log ⁡ ( f y f e x p ) d y = E y [ log ⁡ ( f y ) − log ⁡ ( f e x p ) ] = E y [ log ⁡ ( f x ) − log ⁡ ( ∂ y ∂ x ) − log ⁡ ( f e x p ) ] \begin{aligned} DL(f_y || f_{exp}) &= \int f_y \log\left(\frac{f_y}{f_{exp}}\right) dy \\\\ &= E_y[\log(f_y)-\log(f_{exp})] \\\\ &= E_y\left[\log(f_x) - \log\left(\frac{\partial y}{\partial x}\right)-\log(f_{exp})\right] \end{aligned} DL(fy​∣∣fexp​)​=∫fy​log(fexp​fy​​)dy=Ey​[log(fy​)−log(fexp​)]=Ey​[log(fx​)−log(∂x∂y​)−log(fexp​)]​
通过优化这个损失函数可以使得 f y f_y fy​ 接近 f e x p f_{exp} fexp​

计算梯度

以 f e x p = 1 μ exp ⁡ ( − y μ ) \displaystyle{f_{exp} = \frac{1}{\mu} \exp\left(-\frac{y}{\mu}\right)} fexp​=μ1​exp(−μy​)为例

假设激活函数为 Sigmoid 函数, g ( x ) = 1 1 − exp ⁡ ( − x ) \displaystyle{g(x) = \frac{1}{1-\exp(-x)}} g(x)=1−exp(−x)1​,则
y = g ( a x + b ) = 1 1 − exp ⁡ ( − a x − b ) y = g(ax+b) = \frac{1}{1-\exp(-ax-b)} y=g(ax+b)=1−exp(−ax−b)1​

∂ y ∂ x = a y ( 1 − y ) (2) \frac{\partial y}{\partial x} = ay(1-y) \tag{2} ∂x∂y​=ay(1−y)(2) ∂ y ∂ a = x y ( 1 − y ) (3) \frac{\partial y}{\partial a} = xy(1-y) \tag{3} ∂a∂y​=xy(1−y)(3) ∂ y ∂ b = y ( 1 − y ) (4) \frac{\partial y}{\partial b} = y(1-y) \tag{4} ∂b∂y​=y(1−y)(4)

  1. 参数 a a a 的梯度
    ∂ ∂ a D L ( f y ∣ ∣ f e x p ) = ∂ ∂ a E y [ log ⁡ ( f x ) − log ⁡ ( ∂ y ∂ x ) − log ⁡ ( f e x p ) ] = E y [ 0 − ∂ ∂ a ( log ⁡ a + log ⁡ y + log ⁡ ( 1 − y ) ) − ∂ ∂ a ( − log ⁡ μ − y μ ) ] = − 1 a − E y [ 1 y ∂ y ∂ a − 1 1 − y ∂ y ∂ a + 1 μ ∂ y ∂ a ] = − 1 a − E y [ ( 1 y − 1 1 − y + 1 μ ) ∂ y ∂ a ] = − 1 a − E y [ x ( 1 − 2 y + 1 μ y ( 1 − y ) ) ] \begin{aligned} \frac{\partial}{\partial a} DL(f_y || f_{exp}) &= \frac{\partial}{\partial a}E_y\left[\log(f_x) - \log\left(\frac{\partial y}{\partial x}\right)-\log(f_{exp})\right] \\\\ &=E_y\left[0-\frac{\partial}{\partial a}(\log a + \log y + \log(1-y) ) - \frac{\partial}{\partial a}(-\log \mu - \frac{y}{\mu}) \right] \\\\ &= -\frac{1}{a} - E_y \left[\frac{1}{y} \frac{\partial y}{ \partial a} - \frac{1}{1-y} \frac{\partial y}{ \partial a} + \frac{1}{\mu} \frac{\partial y}{ \partial a}\right] \\\\ &= -\frac{1}{a} - E_y \left[\left(\frac{1}{y} - \frac{1}{1-y} + \frac{1}{\mu} \right)\frac{\partial y}{ \partial a}\right] \\\\ &= -\frac{1}{a} - E_y \left[x\left(1-2y+\frac{1}{\mu}y(1-y)\right)\right] \end{aligned} ∂a∂​DL(fy​∣∣fexp​)​=∂a∂​Ey​[log(fx​)−log(∂x∂y​)−log(fexp​)]=Ey​[0−∂a∂​(loga+logy+log(1−y))−∂a∂​(−logμ−μy​)]=−a1​−Ey​[y1​∂a∂y​−1−y1​∂a∂y​+μ1​∂a∂y​]=−a1​−Ey​[(y1​−1−y1​+μ1​)∂a∂y​]=−a1​−Ey​[x(1−2y+μ1​y(1−y))]​
  2. 参数 b b b 的梯度
    ∂ ∂ b D L ( f y ∣ ∣ f e x p ) = ∂ ∂ b E y [ log ⁡ ( f x ) − log ⁡ ( ∂ y ∂ x ) − log ⁡ ( f e x p ) ] = E y [ 0 − ∂ ∂ b ( log ⁡ a + log ⁡ y + log ⁡ ( 1 − y ) ) − ∂ ∂ b ( − log ⁡ μ − y μ ) ] = − E y [ 1 y ∂ y ∂ b − 1 1 − y ∂ y ∂ b + 1 μ ∂ y ∂ b ] = − E y [ ( 1 y − 1 1 − y + 1 μ ) ∂ y ∂ b ] = − E y [ 1 − 2 y + 1 μ y ( 1 − y ) ] \begin{aligned} \frac{\partial}{\partial b} DL(f_y || f_{exp}) &= \frac{\partial}{\partial b}E_y\left[\log(f_x) - \log\left(\frac{\partial y}{\partial x}\right)-\log(f_{exp})\right] \\\\ &=E_y\left[0-\frac{\partial}{\partial b}(\log a + \log y + \log(1-y) ) - \frac{\partial}{\partial b}(-\log \mu - \frac{y}{\mu}) \right] \\\\ &= - E_y \left[\frac{1}{y} \frac{\partial y}{ \partial b} - \frac{1}{1-y} \frac{\partial y}{ \partial b} + \frac{1}{\mu} \frac{\partial y}{ \partial b}\right] \\\\ &= - E_y \left[\left(\frac{1}{y} - \frac{1}{1-y} + \frac{1}{\mu} \right)\frac{\partial y}{ \partial b}\right] \\\\ &= - E_y \left[1-2y+\frac{1}{\mu}y(1-y)\right] \end{aligned} ∂b∂​DL(fy​∣∣fexp​)​=∂b∂​Ey​[log(fx​)−log(∂x∂y​)−log(fexp​)]=Ey​[0−∂b∂​(loga+logy+log(1−y))−∂b∂​(−logμ−μy​)]=−Ey​[y1​∂b∂y​−1−y1​∂b∂y​+μ1​∂b∂y​]=−Ey​[(y1​−1−y1​+μ1​)∂b∂y​]=−Ey​[1−2y+μ1​y(1−y)]​

随机梯度下降

上边计算梯度都是基于 y 的期望,实际实现的时候是采用随机梯度下降算法
a = a + Δ a a = a + \Delta a a=a+Δa b = b + Δ b b = b + \Delta b b=b+Δb
其中
Δ b = η [ 1 − ( 2 + 1 μ ) y − y 2 μ ] Δ a = η a + x η [ 1 − ( 2 + 1 μ ) y − y 2 μ ] = η a + x Δ b \begin{aligned} \Delta b &= \eta \left[1-(2+\frac{1}{\mu})y-\frac{y^2}{\mu}\right] \\\\ \Delta a &= \frac{\eta}{a} + x\eta \left[1-(2+\frac{1}{\mu})y-\frac{y^2}{\mu}\right] \\\\ &= \frac{\eta}{a} + x\Delta b \end{aligned} ΔbΔa​=η[1−(2+μ1​)y−μy2​]=aη​+xη[1−(2+μ1​)y−μy2​]=aη​+xΔb​

参考文献

  • A Gradient Rule for the Plasticity of a Neuron’s Intrinsic Excitability
  • Improving reservoirs using intrinsic plasticity

实验

IP 的价值有待商榷,代码:https://goodgoodstudy.blog.csdn.net/article/details/109226320

如下展示的是使用 IP 前后储备池状态的时空分布,纵坐标代表 100 个神经元,横坐标表示时间:

  • 使用 IP 前
  • 使用 IP 后

    IP 规则使得每个神经的输出分布相近

Intrinsic Plasticity 公式推导相关推荐

  1. 2022年顶会、顶刊SNN相关论文----------持续更新中

    原文链接:https://blog.csdn.net/qq_43622216/article/details/124163883 2022年顶会.顶刊SNN相关论文 目录 说明 AAAI2022(共7 ...

  2. 插值、平稳假设、本征假设、变异函数、基台、块金、克里格、线性无偏最优…地学计算概念及公式推导

    插值.平稳假设.本征假设.变异函数.基台.块金.克里格.线性无偏最优-地学计算概念及公式推导 1 引言 2 空间插值 3 几个重要假设 3.1 平稳假设 3.2 二阶平稳性假设 3.3 本征假设 3. ...

  3. 我所理解的卡尔曼滤波——公式推导与应用

    我所理解的卡尔曼滤波--公式推导与应用 1.什么是卡尔曼滤波 2.卡尔曼滤波的数学推导 2.1 状态方程和测量方程 2.2 卡尔曼滤波过程 3 卡尔曼滤波应用 1.什么是卡尔曼滤波 先举个例子说一下什 ...

  4. 基于C++的本征图像分解(Intrinsic Image Decomposition)

    利用本征图像分解(Intrinsic Image Decomposition)算法,将图像分解为shading(illumination) image 和 reflectance(albedo) im ...

  5. 吴恩达老师深度学习视频课笔记:单隐含层神经网络公式推导及C++实现(二分类)

    关于逻辑回归的公式推导和实现可以参考: http://blog.csdn.net/fengbingchun/article/details/79346691 下面是在逻辑回归的基础上,对单隐含层的神经 ...

  6. BP神经网络公式推导及实现(MNIST)

    BP神经网络的基础介绍见:http://blog.csdn.net/fengbingchun/article/details/50274471,这里主要以公式推导为主. BP神经网络又称为误差反向传播 ...

  7. 《周志华机器学习详细公式推导版》发布,Datawhale开源项目pumpkin-book

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 来源 | Datawhale(ID:Datawhale) 如果让你推荐两本国内机器学习的入门经典作,你会 ...

  8. 西瓜书公式推导讲解来了!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale学习 开源贡献:Datawhale团队 组队学习 Datawhale南瓜书是经 ...

  9. LOAM 代码部分的公式推导(前端里程计部分)

    作者丨小飞@知乎 来源丨https://zhuanlan.zhihu.com/p/404326817 编辑丨3D视觉工坊 本篇主要介绍LOAM代码中有关lidar odometry部分对应的公式推导. ...

最新文章

  1. 教你轻松将springboot打包成exe程序
  2. 「AI白身境」究竟谁是paper之王,全球前10的计算机科学家
  3. 趋势型指标——MACD
  4. python处理excel-python处理excel总结
  5. domino升级-602-651-851
  6. Android中的相对布局
  7. hdu 1754 I Hate It(线段树之 单点更新+区间最值)
  8. api怎么写_PHP开发api接口安全验证
  9. 通过一道面试题来看 C++ 语言中的表达式求值
  10. Bash Shell学习笔记三
  11. java windows linux 乱码_Linux 中 Windows 中文乱码
  12. 关于SharePoint V3网站老弹出“此网站需要运行以下载项:'Microsoft Corporation'中的'name.dll'......”的3种解决办法...
  13. 21天Jenkins打卡Day14-maven服务
  14. Mac控制中心使用方法
  15. First flight, Let's do it!
  16. Eclipse3.2安装简介
  17. Windows如何ping端口
  18. VBA--遍历所有工作表_冻结首行_无视工作表长度_and_所在单元格位置
  19. 【测试】优秀软件测试工程师必备的8个能力
  20. 申请苹果公司版开发者账号实录【99美元,非299美元企业版账号】

热门文章

  1. C基础 函数的形式参数和实际参数
  2. C++实现爬取网页源代码并下载至本地文件(可直接运行)
  3. 做外贸需要知道的买家背景调查方法
  4. PageHelper失效问题
  5. 差距明显 固态硬盘trim修剪功能实测
  6. 计算机网络时间同步技术原理介绍 1
  7. [转载]字符编码:ASCII,Unicod和UTF-8
  8. 手机App与蓝牙手柄
  9. 矩阵的佛罗贝尼乌斯范数(Frobenius norm)
  10. IDEA 版本更新为2020.1双击打不开的解决方案