High-quality computer science education is limited by the difficulty of providing instructor feedback to students at scale. While this feedback could in principle be automated, supervised approaches to predicting the correct feedback are bottlenecked by the intractability of annotating large quantities of student code. In this paper, we instead frame the problem of providing feedback as few-shot classification, where a meta-learner adapts to give feedback to student code on a new programming question from just a few examples annotated by instructors. Because data for meta-training is limited, we propose a number of amendments to the typical few-shot learning framework, including task augmentation to create synthetic tasks, and additional side information to build stronger priors about each task. These additions are combined with a transformer architecture to embed discrete sequences (e.g. code) to a prototypical representation of a feedback class label. On a suite of few-shot natural language processing tasks, we match or outperform state-of-the-art performance. Then, on a collection of student solutions to exam questions from an introductory university course, we show that our approach reaches an average precision of 88% on unseen questions, surpassing the 82% precision of teaching assistants. Our approach was successfully deployed to deliver feedback to 16,000 student exam-solutions in a programming course offered by a tier 1 university. This is, to the best of our knowledge, the first successful deployment of a machine learning based feedback to open-ended student code.


翻译:高品质的计算机科学教育因难以向学生提供规模化的教官反馈而受到限制。 虽然原则上,这种反馈可以自动化, 但预测正确反馈的监督方法却因大量学生代码的可忽略性而受阻。 在本文中,我们将提供反馈的问题设置为微小分类, 由一位元左轮导师根据教员的附加说明, 从几个例子中, 向学生提供对新编程问题的反馈。 由于元培训数据有限, 我们提议对典型的少见学习框架进行若干修正, 包括任务扩大以创建合成任务, 以及增加额外信息以建立关于每项任务的更强有力的前科。 这些添加与变异器结构相结合, 将离散序列( 如代码) 嵌入一个反馈类的原型表示。 在少数的自然语言处理任务中, 我们匹配或超越了最新水平的成绩。 然后, 在收集学生对入门大学课程的考试问题的解决方案方面, 我们展示了我们的方法达到了88%的平均精确度, 通过测试, 我们提供了一个成功的学习等级的821级的考试, 提供了一个成功的大学课程的精确度。

0
下载
关闭预览

相关内容

小样本学习(Few-Shot Learning,以下简称 FSL )用于解决当可用的数据量比较少时,如何提升神经网络的性能。在 FSL 中,经常用到的一类方法被称为 Meta-learning。和普通的神经网络的训练方法一样,Meta-learning 也包含训练过程和测试过程,但是它的训练过程被称作 Meta-training 和 Meta-testing。
【Facebook AI】低资源机器翻译,74页ppt
专知会员服务
30+阅读 · 2020年4月8日
《DeepGCNs: Making GCNs Go as Deep as CNNs》
专知会员服务
31+阅读 · 2019年10月17日
强化学习最新教程,17页pdf
专知会员服务
177+阅读 · 2019年10月11日
【新书】Python编程基础,669页pdf
专知会员服务
195+阅读 · 2019年10月10日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
LibRec 精选:推荐系统的常用数据集
LibRec智能推荐
17+阅读 · 2019年2月15日
AAAI 2019 录用列表论文公布,清华58篇
专知
31+阅读 · 2019年1月22日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
【跟踪Tracking】15篇论文+代码 | 中秋快乐~
专知
18+阅读 · 2018年9月24日
【推荐】视频目标分割基础
机器学习研究会
9+阅读 · 2017年9月19日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Meta-Learning to Cluster
Arxiv
17+阅读 · 2019年10月30日
Arxiv
14+阅读 · 2019年9月11日
Arxiv
136+阅读 · 2018年10月8日
Arxiv
4+阅读 · 2017年10月30日
VIP会员
相关资讯
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
LibRec 精选:推荐系统的常用数据集
LibRec智能推荐
17+阅读 · 2019年2月15日
AAAI 2019 录用列表论文公布,清华58篇
专知
31+阅读 · 2019年1月22日
强化学习的Unsupervised Meta-Learning
CreateAMind
18+阅读 · 2019年1月7日
无监督元学习表示学习
CreateAMind
27+阅读 · 2019年1月4日
Unsupervised Learning via Meta-Learning
CreateAMind
42+阅读 · 2019年1月3日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
【跟踪Tracking】15篇论文+代码 | 中秋快乐~
专知
18+阅读 · 2018年9月24日
【推荐】视频目标分割基础
机器学习研究会
9+阅读 · 2017年9月19日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Top
微信扫码咨询专知VIP会员