joint work with marc brockschmidt alex gaunt alex polozov
play

Joint work with Marc Brockschmidt, Alex Gaunt, Alex Polozov, Patrick - PowerPoint PPT Presentation

Microsoft Research Cambridge Joint work with Marc Brockschmidt, Alex Gaunt, Alex Polozov, Patrick Fernandes, Mahmoud Khademi Deep Understands images/language/speech Learning Finds patterns in noisy data Requires many samples -


  1. Microsoft Research Cambridge Joint work with Marc Brockschmidt, Alex Gaunt, Alex Polozov, Patrick Fernandes, Mahmoud Khademi

  2. Deep ✓ Understands images/language/speech Learning ✓ Finds patterns in noisy data Requires many samples - Handling structured data is hard - DPU ✓ Interpretable ✓ Generalisation verifiable Program Manual effort - Structure Limited to specialists -

  3. http://www.eclipse.org/recommenders/ https://visualstudio.microsoft.com/services/intellicode/

  4. Defined Types string string

  5. Variable Misuse Allamanis et al. “ Learning to Represent Programs with Graphs”. 2018

  6. Research in ML+Code

  7. A A B B C C D D E E G G F F Li et al (2015). Gated Graph Sequence Neural Networks. Gilmer et al (2017). Neural Message Passing for Quantum Chemistry.

  8. F D D F E F E F

  9. F D D F E F E F Li et al (2015). Gated graph sequence neural networks.

  10. A B C D E G F

  11. A A A B B B C C C D D D E E E G G G A F F F B C D E G F A A A B B C C B C D D D E E E G G G F F F

  12. • node selection • node classification • graph classification Li et al (2015). Gated Graph Sequence Neural Networks. Gilmer et al (2017). Neural Message Passing for Quantum Chemistry. https://github.com/Microsoft/gated-graph-neural-network-samples

  13. int int int int int int int int for (int i = 0; i < lim; i++) for (int i =0; < ; ++) if (arr[i] > 0) if ( [ ]>0) sum += arr[i]; += [ ]; return return

  14. ExpressionStatement Assert.NotNull(clazz); Next Token InvocationExpression AST Child MemberAccessExpression ArgumentList ( … Assert . NotNull

  15. (x, y) = Foo(); Last Write while (x > 0) Last Use Computed From x = x + y;

  16. int int int int for (int i =0; < ; ++) if ( [ ]>0) += [ ]; return ~900 nodes/graph ~8k edges/graph

  17. A B C D E G F

  18. A B C D E G F

  19. Accuracy (%) BiGRU BiGRU+Dataflow GGNN Seen Projects 50.0 73.7 85.5 Seen Projects: 24 F/OSS C# projects (2060 kLOC): Used for train and test 3.8 type-correct alternative variables per slot (median 3, σ = 2.6)

  20. Accuracy (%) BiGRU BiGRU+Dataflow GGNN Seen Projects 50.0 73.7 85.5 Unseen Projects 28.9 60.2 78.2 Seen Projects: 24 F/OSS C# projects (2060 kLOC): Used for train and test Unseen Projects: 3 F/OSS C# projects (228 kLOC): Used only for test 3.8 type-correct alternative variables per slot (median 3, σ = 2.6)

  21. int int int int for (int i = 0; i < lim; i++) if (arr[i]>0) sum += arr[i]; return Returns the sum of the positive numbers in an array

  22. A B C D E G F

  23. C# Documentation F1 ROUGE-2 ROUGE-L biRNN -> RNN 35.2 20.8 36.7 GNN -> RNN 38.9 25.6 37.1 biRNN + GNN -> RNN 45.4 28.3 41.1 Java Method Naming F1 ROUGE-2 ROUGE-L Alon et al. * 43.0 - - biRNN -> RNN 35.8 17.9 39.7 biRNN + GNN -> RNN 44.7 21.1 43.1 * Alon et al. (2018). Code2seq: Generating sequences from structured representations of code.

  24. Adding Edges During Generation Expression Expression - Expression Expression i i j Expression + Expression j 1

  25. Neural Attribute Grammars (NAG) Inherited Synthesized Expression

  26. Information Propagation on Graph Generation Expression Expression - Expression i i j

  27. Information Propagation on Graph Generation Expression 1 Expression 2 Expression 3 - i j i T=3 T=4 T=2 T=1 Child InheritedToSynthesized Child Expression 1 Expression 2 NextSibling - Expression 2 Child Parent i i j NextToken

  28. Model PPL Type-Correct Match@1 Match @5 Seq → NAG 8.38 40.4 8.4 15.8 Graph → Tree 5.37 41.2 19.9 36.8 Graph → Syntax Networks 3.03 74.7 32.4 48.1 Graph → Sequentalised Tree 3.48 84.5 36.0 52.7 Graph → Neural Attr. Gram. 3.07 84.5 38.8 57.0 Training data: 479 C# projects from GitHub Test data: 114 C# projects from GitHub (~100 000 samples)

  29. Gunshots were fired at rapper Lil Wayne ’s tour bus No one was injured in the shooting, and no arrests have been made Rapper Lil Wayne not injured after shots fired at his tour bus on an Atlanta interstate, police say. No one has been arrested in the shooting.

  30. LOCATION PERSON Sentence 1 … … signed New Zealand international Francis Saili on … Utility back Saili Sentence 2

  31. CNN/DailyMail ROUGE-1 ROUGE-2 ROUGE-L RNN -> RNN * 31.3 11.8 28.8 RNN + GNN -> RNN 33.0 13.3 28.3 * See et al. (2015). Get To The Point: Summarization with Pointer-Generator Networks

  32. CNN/DailyMail ROUGE-1 ROUGE-2 ROUGE-L RNN -> RNN * 31.3 11.8 28.8 RNN + GNN -> RNN 33.0 13.3 28.3 RNN -> RNN + pointer * 36.4 15.7 33.4 RNN + GNN -> RNN + pointer 38.1 16.1 33.2 * See et al. (2017). Get To The Point: Summarization with Pointer-Generator Networks

  33. Grounded Language Procedural Text Semantic Parsing

  34. Rich Structure Reasoning

  35. Joint work with M. Brockschmidt, A.L. Gaunt, A. Polozov, P . Fernandes, M. Khademi

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend