theanets.layers.feedforward.Tied

class theanets.layers.feedforward.Tied(partner, **kwargs)

A tied-weights feedforward layer shadows weights from another layer.

Parameters:

partner : str or theanets.layers.base.Layer

The “partner” layer to which this layer is tied.

Notes

Tied weights are typically featured in some types of autoencoder models (e.g., PCA). A layer with tied weights requires a “partner” layer – the tied layer borrows the weights from its partner and uses the transpose of them to perform its feedforward mapping. Thus, tied layers do not have their own weights. On the other hand, tied layers do have their own bias values, but these can be fixed to zero during learning to simulate networks with no bias (e.g., PCA on mean-centered data).

Parameters

  • b — bias

Outputs

  • out — the post-activation state of the layer
  • pre — the pre-activation state of the layer

Attributes

partner (theanets.layers.base.Layer) The “partner” layer to which this layer is tied.
__init__(partner, **kwargs)

Methods

__init__(partner, **kwargs)
add_bias(name, size[, mean, std]) Helper method to create a new bias vector.
add_weights(name, nin, nout[, mean, std, ...]) Helper method to create a new weight matrix.
connect(inputs) Create Theano variables representing the outputs of this layer.
find(key) Get a shared variable for a parameter by name.
log() Log some information about this layer.
output_name([name]) Return a fully-scoped name for the given layer output.
setup() Set up the parameters and initial values for this layer.
to_spec() Create a specification dictionary for this layer.
transform(inputs) Transform the inputs for this layer into an output for the layer.

Attributes

input_size For networks with one input, get the input size.
num_params Total number of learnable parameters in this layer.
params A list of all parameters in this layer.
setup()

Set up the parameters and initial values for this layer.

to_spec()

Create a specification dictionary for this layer.

Returns:

spec : dict

A dictionary specifying the configuration of this layer.

transform(inputs)

Transform the inputs for this layer into an output for the layer.

Parameters:

inputs : dict of Theano expressions

Symbolic inputs to this layer, given as a dictionary mapping string names to Theano expressions. See Layer.connect().

Returns:

outputs : dict of Theano expressions

A map from string output names to Theano expressions for the outputs from this layer. This layer type generates a “pre” output that gives the unit activity before applying the layer’s activation function, and an “out” output that gives the post-activation output.

updates : list of update pairs

An empty sequence of updates.