BNN方法总结

Bayesian Neural Networks(BNN)是衡量神经网络不确定性的一种方法,不同于确定性神经网络,BNN的权重是不确定的值,它的权重服从一定的先验,通过某种推断方法,计算出后验分布。

目前主流的BNN有两种主要方法,分别是采样MCMC和变分推断。

1.采样方法

采样方法主要是从利用采样的方法,对后验进行推断,即采样有限个点计算并取其平均值。

经典的方法如下:

  • HMC(Hamiltonian Monte-Carlo algorithm)
    • 哈密顿蒙特卡洛采样
    • 适用于小型网络,但是不适合深度学习中的大型模型
  • NUTS(No-U-Turn sampler)
    • 对HMC算法的改进
    • 自动调整算法超参数,不同手动设置
  • SGLD(stochastic gradient langevin dynamics)
    • 将随机梯度郎之万动力学和MCMC算法结合起来
    • 在培训期间使用小批量时,提供性能良好的马尔可夫链
    • 缺点: 关注单一模式的后验和样本变得越来越自相关
    • 可以用于有大量数据集的

2.变分推断

  • Bayes by backprop
    • 将任何参数分布拟合为后验分布
    • 梯度下降有噪声
    • 可以用于大型的模型
  • Monte Carlo-Dropout
    • 通过这种方法将任何网络结果转换成BNN
    • 使用dropout作为正则化项来计算预测不确定性

    • dropout解决过拟合问题,通过随机丢弃神经网络单元进行

    • 但是缺乏表达能力
    • 用于Dropout based models
  • 变分推断
    • 近似后验
  • Laplace approximation
    • 使用训练时生成的信息将任何最大后验概率模型转换为BNN
    • 只是用于单一模型的后验
    • 用于单模态,大型的模型
  • Deep ensembles
    • 将不同的BNN模型组合起来,从而可以识别多种模态,使BNN更好的拟合。

参考文献

《Hands-on Bayesian Neural Networks – a Tutorial

for Deep Learning Users》

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值