首页 > 解决方案 > 自动编码器:找到重要的神经元

问题描述

我已经使用 Keras 实现了自动编码器,它将112*112*3神经元作为输入,100神经元作为压缩/编码状态。我想从这 100 个神经元中找出学习重要特征的神经元。到目前为止,我已经使用以下步骤计算了特征值(e)和特征向量(v)。我发现(e)的前 30 个值大于 0。这是否意味着前 30 个模式是重要的?有没有其他方法可以找到重要的神经元?

提前致谢

x_enc = enc_model.predict(x_train, batch_size=BATCH_SIZE) # shape (3156,100)
x_mean = np.mean(x_enc, axis=0) # shape (100,)
x_stds = np.std(x_enc, axis=0) # shape (100,)
x_cov = np.cov((x_enc - x_mean).T) # shape (100,100)
e, v = np.linalg.eig(x_cov) # shape (100,) and (100,100) respectively

标签: machine-learningpcaautoencodereigenvalueeigenvector

解决方案


我不知道你使用的方法是否真的会给你任何有用的结果,因为网络学习的方式和它确切学习的内容是未知的,我建议你使用不同类型的自动编码器,它会自动学习解开的表示潜在空间中的数据,这样您就可以确定您找到的所有参数实际上都有助于数据的表示。检查这篇文章


推荐阅读