Theanets:删除个别连接

时间:2015-01-28 23:40:37

标签: neural-network connectivity theano

如何删除Theanets中的连接?我想在输入图层,单个隐藏图层和输出图层之间创建自定义连接。但唯一的默认设置是前馈全对所有体系结构或循环体系结构。我想从所有连接中删除特定连接,然后训练网络。

提前致谢。

1 个答案:

答案 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上询问。