Skip to main content
QUICK REVIEW

[论文解读] Learning Program Embeddings to Propagate Feedback on Student Code

Chris Piech, Jonathan Huang|arXiv (Cornell University)|May 22, 2015
Online Learning and Analytics参考文献 23被引用 85
一句话总结

本文提出了一种神经网络方法,通过将程序建模为预条件和后置条件嵌入空间之间的线性映射,学习程序嵌入,从而实现在大规模在线编程课程中可扩展的教师反馈传播。该方法在反馈传播中实现了90%精确率下的33%召回率,优于基线方法,尤其在复杂代码上表现优异,并在Code.org和斯坦福大学CS1课程的真实数据集上表现出色。

ABSTRACT

Providing feedback, both assessing final work and giving hints to stuck students, is difficult for open-ended assignments in massive online classes which can range from thousands to millions of students. We introduce a neural network method to encode programs as a linear mapping from an embedded precondition space to an embedded postcondition space and propose an algorithm for feedback at scale using these linear maps as features. We apply our algorithm to assessments from the Code.org Hour of Code and Stanford University's CS1 course, where we propagate human comments on student assignments to orders of magnitude more submissions.

研究动机与目标

  • 为解决在拥有数万名至数百万名学生的大型在线计算机科学课程中大规模提供个性化反馈的挑战。
  • 开发一种特征嵌入方法,捕捉学生代码的功能性和风格性特征,以用于机器学习系统。
  • 利用学习到的程序嵌入,自动将人类教师的反馈传播到大量学生提交中。
  • 在Code.org和斯坦福大学CS1课程的真实数据集上评估该方法,证明其在不同代码复杂度下的有效性。
  • 探索利用可执行程序行为(通过预条件/后置条件对)作为监督信号,学习有意义的代码表示的可行性。

提出的方法

  • 该方法在共享欧几里得空间中联合学习程序预条件和后置条件的嵌入,将每个程序表示为这些嵌入状态之间的线性变换。
  • 采用一种联合优化程序嵌入和记忆状态的神经网络架构,实现功能性和风格性特征的端到端学习。
  • 通过在各种输入上执行程序,收集输入-输出(预条件-后置条件)对作为训练数据,以监督嵌入学习过程。
  • 该方法采用非参数模型(NPM)和循环神经网络(RNN)进行后置条件预测和反馈传播,性能通过保留集进行评估。
  • 通过识别相似的程序嵌入,将来自人工评分提交的评论转移到语义相似但未评分的提交中,实现反馈传播。
  • 在Code.org的“编程一小时”和斯坦福大学“编程方法论”课程的数据集上评估模型,使用精确率、召回率和环形复杂度等指标。

实验结果

研究问题

  • RQ1能否从可执行程序行为中有效学习到同时捕捉功能性和风格性特征的程序嵌入?
  • RQ2这些嵌入能否用于在大规模范围内自动将教师反馈传播到大量学生提交中?
  • RQ3模型性能如何随代码复杂度变化,特别是在环形复杂度方面?
  • RQ4与现有的方法(如AST编辑距离或手工设计特征)相比,该方法在反馈传播任务中的表现如何?
  • RQ5学习到的嵌入在不同编程作业和课程规模之间具有多大程度的泛化能力?

主要发现

  • 非参数模型(NPM)在Code.org数据集上的反馈传播中实现了90%精确率下的33%召回率,优于基线方法。
  • NPM模型在代码复杂度增加时保持了稳定的测试准确率,而RNN模型在高度复杂程序上的性能显著下降。
  • RNN模型在简单程序(环形复杂度≤6)上表现更优,但在更复杂的代码上出现过拟合并表现欠佳。
  • 该方法成功将反馈传播到远超人工评分示例数量级的学生提交中,展示了出色的可扩展性。
  • 与基于AST编辑距离或手工特征的方法相比,嵌入显著提升了反馈传播的效果。
  • 该方法在大规模(Code.org,2700万+学习者)和更复杂(斯坦福CS1)的编程作业中均表现出有效性。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。