抛砖引玉:

整个平台是清华大学副教授朱军的学生们主导的,有国家经费的支持,个人觉得是一个很有意义的项目。先搬砖翻译项目介绍:珠算(ZhuSuan)是一个构建于 TensorFlow 之上的用于生成模型(Generative Model)的 Python 库。和现有的主要为监督式任务设计的深度学习库不同,珠算的特点是其在很大程度上根基于贝叶斯推理(Bayesian Inference),因此支持各种生成模型:既包括传统的分层贝叶斯模型,也有最近的深度生成模型。

要理解这个项目 有几个背景知识:

1、TensorFlow是一个比较流行的深度学习开发平台,在Python下有大量现成的代码基础,所以可以看到zhusuan的项目开发实际上大部分是复用的TensorFlow的类,包括分布类型,网络结构定义等等。这样同时也获得了GPU的计算能力

2、“珠算”的核心目的是做贝叶斯深度学习,这里要区别于常见的CNN神经网络。CNN通过深层的网络结构去拟合的往往是分类标注的函数模型,其中没有用到任何的分布假设,所以要很大量的数据去训练一个简单的图片标注。而贝叶斯擅长的基于各种分布假设的统计推断,可以从一个输入分布推断到另一个输出分布,因为有比较强的分布假设,所以在小规模样本的训练效果上非常好。

3、现在的深度学习框架里,VAE和GAN这类生成模型就是类似思路的产物,引用我今年北京R会上面的分享(我觉得我讲的DCGAN比朱老师讲的TripleGAN更清晰易懂,而且我们还带W的):

特征分布 Z空间,样本分布X空间,统计专业的同学可以把这个转换理解为分布的重采样,计算机专业的可以理解为编码机,通信专业的可以想象为时域到频域的傅里叶变换。画出来就是下面这样:

但这里面关键是,如果用MCMC过程,产生的是一个贝叶斯状态网络,而用深度学习训练出来的是一个深度神经网络,但最终目的都是希望提取样本的特征。特征搞好了,就可以肆意的在两个分布间进行创作,下面是车轮互联用草图生成彩色效果图的DCGAN效果:

————正文分割————

有了前面的背景知识,那么程序员的问题就来了,对比CNN得到的模型是一个固定的向量,而当我训练贝叶斯深度模型的时候,会得到Z空间和X空间的分布,在ZhuSuan里以 BayesianNet表示。其中的随机节点以 stochastic node 类来表示,他们的观测状态可以很方便的得到复用。

比如在VAE模型里,我们训练的时候用的X先验分布是伯努利分布(最后一行)

import tensorflow as tf

from tensorflow.contrib import layers

import zhusuan as zs

with zs.BayesianNet() as model:

z_mean = tf.zeros([n, n_z])

z_logstd = tf.zeros([n, n_z])

z = zs.Normal('z', z_mean, z_logstd, group_event_ndims=1)

lx_z = layers.fully_connected(z, 500)

lx_z = layers.fully_connected(lx_z, 500)

x_logits = layers.fully_connected(lx_z, n_x, activation_fn=None)

x = zs.Bernoulli('x', x_logits, group_event_ndims=1)

模型训练后得到了X的观测分布,为了复用学习到的X变量,我们可以在新的网络定义里做声明

with zs.BayesianNet(observed={'x': x_batch}):

...

x = zs.Bernoulli('x', x_logits, group_event_ndims=1)

随着TripleGAN在极小标注样本下获得了显著的效果,以及生成模型的广泛应用前进,相信贝叶斯深度学习会大有用武之地,感兴趣的可以一起关注这个领域

python评语生成_如何评价生成模型框架 ZhuSuan?相关推荐

  1. Python学习笔记_多张图片生成马赛克图

    原文链接:使用Python简单实现马赛克拼图 代码如下: import os import time from functools import reduce from threading impor ...

  2. python ppt自动生成_如何自动化生成PPT缩略图?

    搜到的代码,可能得自己改一下. '' 导出当前文件夹下所有 PowerPoint 演示文稿的第一张幻灯片 '' 并以图形文件格式保存在当前文件夹下 '' 变量声明和初始化 Dim wShell, pp ...

  3. python xgboost参数_如何对XGBoost模型进行参数调优

    匿名用户 1级 2017-01-19 回答 XGBoost参数调优完全指南(附Python代码) 译注:文内提供的代码和运行结果有一定差异,可以从这里下载完整代码对照参考.另外,我自己跟着教程做的时候 ...

  4. 自动生成_一键自动生成CAD图纸目录

    好课推荐: 零基础CAD:点我CAD室内:点我 周站长CAD:点我CAD机械:点我 Bim教程:点我CAD建筑:点我CAD三维:点我全屋定制:点我 ps教程:点我苹果版CAD:点我 3dmax教程:点 ...

  5. lda主题模型python实现篇_基于LDA主题模型的短文本分类

    VSM(向量空间模型)是信息检索领域最为经典的分析模型之一,采用VSM对短文本进行建模,即将每一篇短文本表示为向量的形式,用TF-TDF表示向量的值.给出一些符号定义:短文本集SD= {sd1,sd2 ...

  6. 6位顺序号生成_分布式id生成策略,我和面试官扯了一个半小时

    一.分布式系统带来ID生成挑战 在分布式系统中,往往需要对大量的数据如订单.账户进行标识,以一个有意义的有序的序列号来作为全局唯一的ID. 而分布式系统中我们对ID生成器要求又有哪些呢? 全局唯一性: ...

  7. 如何评价python知乎_如何评价《Python Web开发实战》?

    我先说一个「为什么给人没有太多实战的感觉」的问题吧.我这本书借着「豆瓣」这个title出版,相信很多人对其中豆瓣相关的内容都很关注,最后可能会比较失望,因为比较少的介绍到豆瓣自己造的轮子.另外我给其他 ...

  8. python vector 初始化_从零开始搭建机器学习算法框架(python)--计算框架

    介绍 今天开始一个新的系列,这个系列的目标是用python在不使用任何第三方库的情况下去实现各类机器学习或者深度学习的算法.之所以会有这种想法是因为每当我想提高编程技巧的时候,我总希望能够做一些简单又 ...

  9. python关键词对联_如何用深度学习框架PaddlePaddle实现智能春联

    引言: 不知不觉春节假期马上到来,在今年的春节话题中,不难发现,除了七大姑八大姨亲切问候这些常规话题,人工智能的踪迹也是随处可见.AI在以全新的面貌向我们展示值得期待的未来,比如今天,我们可以用Pad ...

最新文章

  1. 在公司中,如何提升自己的段位,脱颖而出
  2. 寻找实力高手长期合作
  3. __attribute__ 总结
  4. viper4android 生效,另一种让V4a音效在Poweramp上生效的方法
  5. flutter 弹框 dialog,flutter提示框
  6. Spring4.x(9)--Spring的Hibernate事务-XML
  7. 游戏开发之编程语言5选和游戏引擎3选
  8. Appium原理及使用
  9. 爬虫 京东登录协议分析
  10. android仿微信的开门效果
  11. html实体注册商标,html 注册商标,html 注册商标代码
  12. wps图表横纵坐标怎么设置_用WPS的excel插入图表怎样快速设置横纵坐标轴
  13. 【EasyRL学习笔记】第五章 Proximal Policy Optimization 近端策略优化算法
  14. 字节跳动面经(2020春招)
  15. 【drag】HTML5 drag API
  16. 别再鼓吹神通广大的黑客了 只有务实才能让高管和董事会加大网络安全投入
  17. kettle基本概念
  18. openlayers画虚线 (十四)
  19. 【C++】第二章 数据类型:整型/sizeof关键字/实型(浮点型)/ 字符型/转义字符/字符串型 /布尔类型/数据的输入
  20. TCP连接握手为什么3次?断开为什么是4次?TCP的优化-SCTP协议

热门文章

  1. Java的Web项目使用DWR简单配置说明
  2. unix amp; linux oralce用户 内存使用情况分析
  3. Ruby 2.2.0发布,支持增量式垃圾收集和符号的垃圾收集
  4. 如何从Exchange Server 2007/2010上删除邮件
  5. JavaScript —— 如何判断一个非数字输入
  6. CentOS装LAMP服务器(Apache2+PHP5+MySQL)
  7. 不删除文件,清空文件内容命令
  8. 使用SSM+JSP实现一个教务管理系统
  9. Scala的异常处理
  10. 力扣(LeetCode)刷题