Jacobian Descent for Multi-Objective Optimization
Organizations: Independent
Abstract
Many optimization problems require balancing multiple conflicting objectives. To generalize gradient descent, which is limited to single-objective optimization, we introduce Jacobian descent (JD) and its stochastic variants. This algorithm iteratively updates parameters using the Jacobian matrix of a vector-valued objective function, in which each row is the gradient of an individual objective. While several methods to combine gradients already exist in the literature, they generally struggle when the objectives conflict. In contrast, we propose projecting gradients to fully resolve conflict. We prove convergence to the Pareto front in the smooth convex case with this approach, a stronger guarantee than the usual convergence to a weakly Pareto stationary point. Our method also enables instance-wise risk minimization (IWRM), a novel learning paradigm in which the loss of each training example is considered a separate objective. Early experimentation on image classification shows promising results for IWRM. Lastly, we provide an efficient implementation of JD using the Gramian of the Jacobian matrix to drastically reduce memory requirements.
Figures & tables
| Ref. | Aggregator | Non- conflicting | Linear under scaling | Weighted |
| — | ✗ | ✓ | ✓ | |
| Désidéri (2012) | ✓ | ✗ | ✓ | |
| Lopez-Paz & Ranzato (2017) | ✓ | ✗ | ✓ | |
| Yu et al. (2020) | ✗ | ✓ | ✓ | |
| Chen et al. (2020) | ✗ | ✗ | ✗ | |
| Liu et al. (2021b) | ✗ | ✗ | ✓ |
| Aggregator | SVHN | CIFAR-10 | EuroSAT | MNIST | F-MNIST | K-MNIST |
| 69.6 | 47.7 | 68.5 | 96.3 | 80.7 | 76.9 | |
| 69.7 | 48.1 | 73.0 | 96.0 | 80.8 | 77.1 | |
| 41.7 | 32.9 | 62.5 | 85.2 | 73.4 | 53.7 | |
| 61.3 | 47.3 | 65.3 | 88.3 | 78.5 | 67.9 | |
| 49.1 | 48.1 | 59.3 | 85.9 | 69.3 | 54.7 | |
| 69.3 | 47.2 | 72.7 | 96.1 | 80.8 | 76.4 |
Appendix figures & tables19 assets
Supplementary material from the paper’s appendix.
Appendix
| Conv2d (3 input channels, 16 output channels, 1 group), ELU |
| Conv2d (16 input channels, 32 output channels, 16 groups) |
| MaxPool2d (stride of 2 2, kernel size of 2 2), ELU |
| Conv2d (32 input channels, 32 output channels, 32 groups) |
| MaxPool2d (stride of 3 3, kernel size of 3 3), ELU , Flatten |
| Linear (512 input features, 64 output features), ELU |
| Linear (64 input features, 10 outputs) |
| Conv2d (3 input channels, 32 output channels, 1 group), ELU |
| Conv2d (32 input channels, 64 output channels, 32 groups) |
| MaxPool2d (stride of 2 2, kernel size of 2 2), ELU |
| Conv2d (64 input channels, 64 output channels, 64 groups) |
| MaxPool2d (stride of 3 3, kernel size of 3 3), ELU , Flatten |
| Linear (1024 input features, 128 output features), ELU |
| Linear (128 input features, 10 outputs) |
| Conv2d (3 input channels, 32 output channels, 1 group) |
| MaxPool2d (stride of 2 2, kernel size of 2 2), ELU |
| Conv2d (32 input channels, 64 output channels, 32 groups) |
| MaxPool2d (stride of 2 2, kernel size of 2 2), ELU |
| Conv2d (64 input channels, 64 output channels, 64 groups) |
| MaxPool2d (stride of 3 3, kernel size of 3 3), ELU , Flatten |
| Linear (1024 input features, 128 output features), ELU |
| Conv2d (1 input channel, 32 output channels, 1 group), ELU |
| Conv2d (32 input channels, 64 output channels, 1 group) |
| MaxPool2d (stride of 2 2, kernel size of 2 2), ELU |
| Conv2d (64 input channels, 64 output channels, 1 group) |
| MaxPool2d (stride of 3 3, kernel size of 3 3), ELU , Flatten |
| Linear (576 input features, 128 output features), ELU |
| Linear (128 input features, 10 outputs) |
| Dataset | Epochs | Iterations | GPU-Hours |
| SVHN | 25 | 800 | 17 |
| CIFAR-10 | 20 | 640 | 15 |
| EuroSAT | 30 | 960 | 32 |
| MNIST | 8 | 256 | 6 |
| Fashion-MNIST | 25 | 800 | 17 |
| Kuzushiji-MNIST | 10 | 320 | 8 |
| Objective | Method | SVHN | CIFAR-10 | EuroSAT | MNIST |
| ERM | SGD | 32.0 MB | 44.6 MB | 72.6 MB | 54.2 MB |
| IWRM | SSJD | 315.4 MB | 619.3 MB | 1447.5 MB | 786.0 MB |
| IWRM | SSJD (Gramian-based) | 39.8 MB | 75.3 MB | 104.2 MB | 65.6 MB |
| Objective | Method | SVHN | CIFAR-10 | EuroSAT | MNIST |
| ERM | SGD | 0.83 | 0.44 | 0.76 | 0.43 |
| IWRM | SSJD– | 1.63 | 1.78 | 2.86 | 1.74 |
| IWRM | SSJD– (Gramian-based) | 1.15 | 1.12 | 1.51 | 1.11 |
| IWRM | SSJD– | 1.36 | 1.67 | 2.71 | 1.62 |
| IWRM | SSJD– (Gramian-based) | 1.01 | 1.00 | 1.32 | 0.97 |
| IWRM | SSJD– | 3.92 | 3.95 | 5.36 | 4.05 |
Multi-Objective Optimization
Multi-objective optimization studies how to find and choose solutions that balance competing goals, constraints, and preferences.
See all 266 papers