如何删除Theanets中的连接?我想在输入图层,单个隐藏图层和输出图层之间创建自定义连接。但唯一的默认设置是前馈全对所有体系结构或循环体系结构。我想从所有连接中删除特定连接,然后训练网络。
提前致谢。
答案 0 :(得分:2)
(theanets
的开发人员。)
theanets目前无法直接使用此功能。为了提高计算效率,前馈网络中的基础计算实现为简单的矩阵运算,这些运算速度快,可以在GPU上执行,有时可以实现显着的加速。
但是,您可以初始化图层中的权重,以便某些(或多个)权重为零。为此,只需在layers
列表中传递字典,并包含sparsity
键:
import theanets
net = theanets.Autoencoder(
layers=(784, dict(size=1000, sparsity=0.9), 784))
这会初始化图层的权重,以便给定的权重部分为零。但是,权重在培训过程中有资格进行更改,因此这只是初始化技巧。
但是,只要您保持在Layer
边界内,您就可以实现自定义Theano子类,它可以执行您喜欢的任何操作。例如,您可以实现一种使用掩码的前馈层,以确保在前馈计算过程中某些权重保持为零。
有关详细信息,您可以在theanets mailing list上询问。