转自http://www.sohu.com/a/162460147_505915

源地址https://twiecki.io/blog/2016/07/05/bayesian-deep-learning/

今天,我们将使用Lasagne构建一个更有趣的模型,这是一个灵活的Theano图书馆,用于构建各种类型的神经网络。你可能知道,PyMC3还使用了Theano,因此在Lasagne中建立了人工神经网络(ANN),将贝叶斯先验放在参数上,然后在PyMC3中使用变分推理(ADVI)来估计模型。

由于Lasagne的优秀表现,我们可以轻松地建立一个具有最大汇集层的分层贝叶斯卷积ANN,在MNIST上实现98%的准确性。

数据集:MNIST

我们将使用手写数字的经典MNIST数据集。 与之前的博客文章相反,MNIST是具有合理数量的维度和数据点的有实际挑战性的ML任务(当然不如像ImageNet那样有挑战性)。

Loading data...

模型说明

我想像应该可以把Lasagne和PyMC3搭在一起,因为他们都依赖于Theano。 然而,目前还不清楚它将会是多么困难。 幸运的是,第一个实验做得很好,但有一些潜在的方法可以使这更容易。 我开设了一个GitHub issue在Lasagne's的报告里,在这几天后,PR695被合并,允许他们更好的整合。

首先,Lasagne创建一个具有2个完全连接的隐藏层(每个具有800个神经元)的ANN,这几乎是从教程中直接采用的Lasagne代码。 当使用lasagne.layers.DenseLayer创建图层时,我们可以传递一个函数init,该函数必须返回一个用作权重和偏差矩阵的Theano表达式。

接下来,为ANN创建权重函数。 因为PyMC3要求每个随机变量具有不同的名称,我们创建一个类并且是唯一命名的先验。

在这里,priors充当了调节者的角色,试图保持ANN small的权重。它在数学上等价于一个L2的损失项,作为通常的做法是将大的权重惩罚到目标函数中。

下面是一些设置小批量ADVI的函数。

放在一起

让我们用小批量的ADVI来运行ANN:

确保一切聚合:

Accuracy on test data = 89.81%

分层神经网络:学习数据的正则化

上面我们只是固定了所有层的sd = 0.1,但是可能第一层应该有不同于第二层的值。也许开始时是0.1,要么太小或太大。在贝叶斯建模中,很常见的是在这种情况下放置hyperprior,并学习最佳正则化应用到数据中去。这节省了我们在超参数优化中对参数进行调优的时间。

Accuracy on test data = 92.25999999999999%

我们得到一个很小但很好的boost在准确性上。 我们来看看超参数后面的部分:

有趣的是,它们都是不同的,这表明改变正规化数量在网络的每一层是有意义的。

卷积神经网络

但到目前为止,在PyMC3中实现也很简单。有趣的是,我们现在可以构建更复杂的ANNs,像卷积神经网络:

Accuracy on test data = 98.03%

PyMC3和Lasagne构建神经网络(ANN)和卷积神经网络(CNN)相关推荐

  1. 神经网络与卷积神经网络,什么是卷积神经网络

    前馈神经网络.BP神经网络.卷积神经网络的区别与联系 一.计算方法不同1.前馈神经网络:一种最简单的神经网络,各神经元分层排列.每个神经元只与前一层的神经元相连.接收前一层的输出,并输出给下一层.各层 ...

  2. 神经网络和卷积神经网络,常用的卷积神经网络

    前馈神经网络.BP神经网络.卷积神经网络的区别与联系 一.计算方法不同1.前馈神经网络:一种最简单的神经网络,各神经元分层排列.每个神经元只与前一层的神经元相连.接收前一层的输出,并输出给下一层.各层 ...

  3. DL之ANN/DNN: 人工神经网络ANN/DNN深度神经网络算法的简介、应用、经典案例之详细攻略

    DL之ANN/DNN: 人工神经网络ANN/DNN深度神经网络算法的简介.应用.经典案例之详细攻略 相关文章 DL:深度学习(神经网络)的简介.基础知识(神经元/感知机.训练策略.预测原理).算法分类 ...

  4. 什么是深度卷积神经网络,基于深度卷积神经网络

    卷积神经网络算法是什么? 一维构筑.二维构筑.全卷积构筑. 卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedfor ...

  5. 卷积神经网络(2D卷积神经网络和3D卷积神经网络理解)

    前言 卷积神经⽹络(convolutional neural network,CNN)是⼀类强⼤的神经⽹络,正是为处理图像 数据而设计的.基于卷积神经⽹络结构的模型在计算机视觉领域中已经占主导地位,当 ...

  6. 一维卷积神经网络结构图,一维卷积神经网络原理

    1.卷积神经网络算法是什么? 一维构筑.二维构筑.全卷积构筑. 卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Fe ...

  7. 描述卷积神经网络的结构,卷积神经网络三大特点

    什么是卷积神经网络?为什么它们很重要 卷积神经网络(ConvolutionalNeuralNetwork,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理 ...

  8. 神经网络与卷积神经网络,深度残差卷积神经网络

    深度残差网络是卷积网络的一种吗 谷歌人工智能写作项目:神经网络伪原创 深度残差网络是卷积网络的一种吗 神经网络的历史是什么? 沃伦·麦卡洛克和沃尔特·皮茨(1943)基于数学和一种称为阈值逻辑的算法创 ...

  9. 深度卷积神经网络是什么,卷积神经网络的深度

    卷积神经网络算法是什么? 一维构筑.二维构筑.全卷积构筑. 卷积神经网络(ConvolutionalNeuralNetworks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedfor ...

最新文章

  1. 新的一年,请以这样的标准完善自我
  2. Tip:强制执行exchange DAG节点之间的数据库副本移动
  3. linux 内核 hrtimer,hrtimer在Linux内核中重复任务
  4. sha-1算法的实现 c语言,SHA-1算法的C语言实现
  5. python爬虫爬商品库存_利用Python爬虫爬取指定天猫店铺全店商品信息
  6. 学位论文检测系统的说明与修改
  7. IDEA 运行maven命令时报错: -Dmaven.multiModuleProjectDirectory system propery is not set
  8. 安装Windows 10 V1909对CPU有什么要求?
  9. eslint配置文件解析
  10. 深度学习之反向传播推导
  11. 团队如何开会,开会准则
  12. 计算机检索技巧知识,信息检索策略与搜索技巧
  13. POJ 1392 Ouroboros Snake 欧拉回路
  14. django models 之字段详解
  15. Python tkinter Text 多行文本框变化事件
  16. chart.js使用学习——散点图
  17. ps2021直装版|ps2021中文直装版 v22.0.0.35附安装教程
  18. 2016OSC源创会年终盛典-综合技术专场-George Neville-Neil
  19. sql server 计算2个日期相差的 天数,月数,年数,日期运算/计算
  20. Spring Boot应用的启动和停止(Spring Boot应用通过start命令启动)

热门文章

  1. c语言程序stm8s,经典STM8s20实用C语言编程大全
  2. python具体应用过程_python公开课|Python for循环的具体应用就是python流程控制的核心,想学会就来看看...
  3. python3.6是用来干嘛的_学 Python 都用来干嘛的?
  4. 论文浅尝 - AAAI2020 | 小样本知识图谱补全
  5. 论文浅尝 - 计算机工程 | 知识图谱可视化查询技术综述
  6. CCKS 2018 | 工业界论坛报告简介
  7. DGL实现同构/异构图卷积模型
  8. RSA 前段加密 java 后台解密 已调试通过
  9. 程序猿的日常——JVM内存模型与垃圾回收
  10. spirng mvc 中使用验证码