Latent variables with thresholds
re. "estimate latent variables"

Quantities that are trained in order to fit a "best" model within a family of models are called hyper-parameters.  To any instance of the model they are fixed.  To the optimisation routine they are an index into search space.  Adding constraints on the range of a hyper-parameter both reduces the search space of the optimisation and requires extra "feasibility" checks during typical gradient descent.

A variable is "latent" when it is purely internal to the model, i.e. not an observable.  The meaning of its scale would depend on the context and on your interpretation, since it cannot be compared to anything observed.  You rarely want to constrain that range inside the model.

I would suggest leaving the hyper-parameters and latent variables unconstrained and if you want to read an output train a "neuron"-like response to get what you want out : e.g. sigmoid / tanh / softmax