Principled Optimization Of Dynamic Neural Networks