我正在评估 R 中的 MXNet,我想对混合密度网络进行建模。可以在此处找到 Tensorflow、Keras 和 Edward 的示例:http: //cbonnett.github.io/MDN_EDWARD_KERAS_TF.html
所示示例是正态分布的混合。怎么能用 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 符号 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