Skip to content

Meta-learning experiments #15

@m09

Description

@m09

Here are the steps I want to go through to test out the meta-learning idea:

  • Extract format analyzer parser (bblfsh + operator, whitespace and special cases handling)
  • Transform parsed files (virtual nodes + uast) into a graph
  • Create a model made of a GGNN encoder and a LSTM decoder with Deep Graph Library and PyTorch
  • Overfit 1 file formatted by prettier to check that the model is expressive enough to learn the formatting of one file
  • Overfit 1 project formatted by prettier, still to check expressiveness
  • Gather a dataset of diverse and somewhat well maintained (ie formatted) projects to learn from (like @warenlg's top javascript repos dataset)
  • Define an evaluation scheme made of both interpolation (modeling style on training repos) and extrapolation (modeling style on unseen repos)
  • Test 4 approaches to train the model:
    • One model per repository (like style-analyzer)
    • One model for all repositories
    • One model for all repositories with multi-task learning (one task per repository)
    • One model for all repositories with meta-learning (one task per repository + learn to adapt)
  • Plug the system into the visualizer to understand results
  • If results seem promising, evaluate a bit more and report to give input to product

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions