1
我正在評估RNet中的MXNet,我想模擬混合密度netowrks。有關Tensorflow,Keras和Edward的示例可以在此處找到:http://cbonnett.github.io/MDN_EDWARD_KERAS_TF.html我們如何使用MXNet創建混合密度網絡?
所示示例是正態分佈的混合。怎樣才能對MXNet進行相同的分析?
我正在評估RNet中的MXNet,我想模擬混合密度netowrks。有關Tensorflow,Keras和Edward的示例可以在此處找到:http://cbonnett.github.io/MDN_EDWARD_KERAS_TF.html我們如何使用MXNet創建混合密度網絡?
所示示例是正態分佈的混合。怎樣才能對MXNet進行相同的分析?
不幸的是,在MxNet中還沒有實現混合密度網絡(MDN)。而且,由於MxNet是一項社區活動,因此歡迎您的參與!
從Keras/TF移植代碼應該相當簡單。對於MxNet來說,R綁定目前相當有限,因爲現在不可能創建自定義操作,但考慮這個例子,我沒有看到需要任何自定義操作。
我還沒有運行此代碼,但這裏是如何從你的榜樣MDN模型看起來像使用Python的MxNet符號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