Multi-Task Learning with Multi-Task Optimization