Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Downsampling experiment #1156

Closed
spigo900 opened this issue Jun 28, 2022 · 0 comments · Fixed by #1165
Closed

Downsampling experiment #1156

spigo900 opened this issue Jun 28, 2022 · 0 comments · Fixed by #1165
Assignees

Comments

@spigo900
Copy link
Collaborator

spigo900 commented Jun 28, 2022

We're interested in checking how well the object learner works when it has fewer samples to learn from. We want to run experiments where it has fewer images or samples per object to learn from.

As part of this task, you'll need to:

  1. Run the downsampling script on the M5 objects train curriculum, downsampling to k=2 and k=10 images/samples per object. So there would be two curriculum, say m6_objects_downsampled_2pertype and m6_objects_downsampled_10pertype.
  2. Train one object GNN module (Implement GNN perception processing module #1110 / GNN module #1151) on each of the downsampled curricula. So, two GNNs trained.
  3. Evaluate both the GNNs on train and on test. It's worth recording train accuracy for completeness though it doesn't tell us much. The main reason to run inference on train is to produce the decode files ADAM needs (the feature.yaml s). Also record the test accuracies. I'd expect this to be very similar to ADAM's test accuracy in general.
  4. Run ADAM with the subset learner over the resulting curricula & decodes. Parameters would be similar to the M5 objects curriculum except for the train curriculum.
  5. Collect/compare accuracy results between k=2, k=10, and baseline (m5_objects_v0_with_mugs). It will probably be interesting here to look at and analyze the per-object results as well as the overall accuracy. I think this means:
    1. Plotting the three GNN test accuracy values, probably as a bar chart.
    2. Plotting the three GNN train accuracy values.
    3. Separately plot the ADAM train/test accuracies? Or only test if that is easier. (I don't think we do a final pass through train so evaluating on train may be more annoying than it's worth.)
    4. Check that you don't red and green bars within a chart due to colorblindness. I think the default palette goes blue->orange->gray, so this shouldn't be a problem, but worth checking.
    5. Plotting the six GNN confusion matrices: One for each of the [(three models) X (two splits, train vs. test)].
      1. If you're not familiar with confusion matrices, this would be a table with 20 rows corresponding to "actual object type", and 20 columns to "the GNN's output prediction/what kind of object the GNN thought it was." Each cell is a number saying how many times the GNN thought that, for example, a chair was an apple vs. a chair vs. a desk, ...
      2. It might be worth making confusion matrices for ADAM separately, though because ADAM outputs multiple labels per sample that gets weirder.
    6. A writeup containing these images and some discussion of how sample size seems to affect (or not affect!) learning.
      1. This might also include a table showing the overall accuracy results by sample size and split.
      2. Generally I expect overall accuracy to suffer with fewer train samples. This is something to look out for. If accuracy goes up with fewer train samples, there is probably a bug somewhere. Assuming accuracy dues suffer the result is probably worth pointing out in one sentence but not worth discussing much.
      3. I think the main topic of interest is likely to be object accuracy for different types of object. For example maybe it turns out sample size affects windows more than balls.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants