r - 如何使用MXNet创建混合密度网络?



我正在R中评估MXNet,我想对混合密度网络进行建模。Tensorflow,Keras和Edward的例子可以在这里找到:http://cbonnett.github.io/MDN_EDWARD_KERAS_TF.html

显示的示例是正态分布的混合。如何用MXNet进行相同的分析?

不幸的是,MxNet 中还没有实现混合密度网络 (MDN)。而且,由于 MxNet 是一项社区工作,因此非常欢迎您做出贡献!

在您的情况下,从 Keras/TF 迁移代码应该非常简单。MxNet 的 R 绑定目前非常有限,现在无法创建自定义操作,但查看示例,我认为不需要任何自定义操作。

我还没有运行这段代码,但以下是你示例中的MDN模型使用MxNet Python Symbol API的样子:

def mapping(self, X):
"""pi, mu, sigma = NN(x; theta)"""
hidden1 = mx.sym.FullyConnected(data=X, num_hidden=15)  # fully-connected layer with 15 hidden units
act1 = mx.sym.Activation(data=hidden1, act_type='relu')
hidden2 = mx.sym.FullyConnected(data=act1, num_hidden=15)  # fully-connected layer with 15 hidden units
act2 = mx.sym.Activation(data=hidden2, act_type='relu')
self.mus = mx.sym.FullyConnected(data=act2, num_hidden=self.K)  # fully-connected layer with 15 hidden units
sigma_fc = mx.sym.FullyConnected(data=act2, num_hidden=self.K)
self.sigmas = mx.sym.exp(data=sigma_fc) # the variance
pi_fc = mx.sym.FullyConnected(data=act2, num_hidden=self.K)
self.pi = mx.sym.SoftmaxActivation(data=pi_fc) # the mixture components

最新更新