Differentiable Learning of Submodular Models
Authors: Josip Djolonga, Andreas Krause
NeurIPS 2017 | Conference PDF | Archive PDF | Plain Text | LLM Run Details
| Reproducibility Variable | Result | LLM Response |
|---|---|---|
| Research Type | Experimental | We consider the image segmentation tasks from the introduction, where we are given an RGB image x Rn 3 and are supposed to predict those pixels y {0, 1}n containing the foreground object. We used the Weizmann horse segmentation dataset [36], which we split into training, validation and test splits of sizes 180, 50 and 98 respectively. The implementation was done in pytorch2, and to compute the min-norm point we used the algorithm from [37]. To make the problem more challenging, at training time we randomly selected and revealed only 0.1% of the training set labels. We first trained a convolutional neural network with two hidden layers that directly predicts the per-pixel labels, which we refer to as CNN. Then, we added a second model, which we call CNN+GC, that has the same architecture as the first one, but with an additional graph cut layer, whose weights are parametrized by a convolutional neural network with one hidden layer. Details about the architectures can be found in the supplementary. We train the models by maximizing the log-likelihood of the revealed pixels, which corresponds to the variational bi-level strategy (eq. (3)) due to Lemma 2. We trained using SGD, Adagrad [38] and Adam [39], and chose the model with the best validation score. As evident from the results presented in Section 6, adding the discrete layer improves not only the accuracy (after thresholding the marginals at 0.5) and log-likelihood, but it gives more coherent results as it makes predictions with fewer connected components (i.e., foreground objects). |
| Researcher Affiliation | Academia | Josip Djolonga Department of Computer Science ETH Zurich josipd@inf.ethz.ch Andreas Krause Department of Computer Science ETH Zurich krausea@ethz.ch |
| Pseudocode | No | The paper describes algorithms and mathematical formulations but does not include a clearly labeled "Pseudocode" or "Algorithm" block with structured steps. |
| Open Source Code | Yes | The code will be made available at https://www.github.com/josipd/nips-17-experiments. |
| Open Datasets | Yes | We used the Weizmann horse segmentation dataset [36] |
| Dataset Splits | Yes | We used the Weizmann horse segmentation dataset [36], which we split into training, validation and test splits of sizes 180, 50 and 98 respectively. |
| Hardware Specification | No | The paper does not provide specific details about the hardware used for running the experiments (e.g., GPU models, CPU types, or memory). |
| Software Dependencies | No | The paper mentions "pytorch2" but does not specify its version number or any other software dependencies with their versions. |
| Experiment Setup | No | The paper mentions that they "trained using SGD, Adagrad [38] and Adam [39]" and that "Details about the architectures can be found in the supplementary." However, it does not provide specific hyperparameter values (e.g., learning rate, batch size, number of epochs) in the main text. |