Thanks KFrank, great answer!
A lot of the other neurons correspond to 3d transformations of objects. I will describe down below how I currently re-scale the outputs:


XYZ position in a restricted 1x1x1 box. Constrained by sigmoid.


XYZ rotation. Currently constrained by sigmod, then normalized to [0, 2*pi].


Width, height, depth. Constrained by sigmoid + epsilon since I desire a smallest possible size and 1x1x1 is the largest possible size in the restricted box.


This is still a project in its early stage, so I might add some more outputs. Maybe ones that are restricted to something like [-5, 200]. How should I rescale logits to conform to these values? Maybe I shouldn’t and instead try to get the model to do that fitting for me?
The problem has been that 3D objects that fall outside of the 1x1x1 space (as in XYZ position) or objects that get a width/height of 0 get an inf/nan gradient.