基于块的视觉编程环境越来越多地用于向初学者介绍计算概念。鉴于编程任务是开放式和概念的,新手学生在这些环境中学习时经常挣扎。 AI驱动的编程导师在自动协助苦苦挣扎的学生方面拥有巨大的希望,并且需要几个组件来实现这一潜力。我们特别研究学生建模的关键组成部分,特别是自动推断学生对预测(合成)行为的误解的能力。我们介绍了一个小说的基准,Sudendyn,以以下挑战为中心:对于给定的学生,在观察学生对固定参考任务的尝试后,综合了学生对新目标任务的尝试。这个挑战类似于程序合成。但是,与其综合{solution}(即,专家会编写的程序),不如说是综合一个{student of trim}(即给定学生会写作的程序)。我们首先表明人类专家(导师)可以在基准上实现高性能,而简单的基线表现不佳。然后,我们开发了两种神经/符号技术(神经和符号),以寻求用导师缩小这一差距。
translated by 谷歌翻译
大多数低编码平台的用户,例如Excel和PowerApps,都以特定于域的公式语言编写程序来执行非平凡的任务。用户通常可以编写他们想要的大部分程序,但是引入了一些小错误,这些错误会产生破损的公式。这些错误既可以是句法和语义,也很难让低代码用户识别和修复,即使只能通过一些编辑解决。我们正式化了产生最后一英里维修问题等编辑的问题。为了解决这个问题,我们开发了Lamirage,这是一种最后一英里的维修发动机发电机,结合了符号和神经技术,以低代码公式语言进行最后一英里维修。 Lamirage采用语法和一组特定领域的约束/规则,它们共同近似目标语言,并使用它们来生成可以用该语言修复公式的维修引擎。为了应对本地化错误和对候选维修进行排名的挑战,Lamirage利用神经技术,而它依赖于符号方法来生成候选维修。这种组合使Lamirage可以找到满足提供的语法和约束的维修,然后选择最自然的修复。我们将Lamirage与400个Real Excel和PowerFX公式的最新神经和符号方法进行了比较,其中Lamirage的表现优于所有基线。我们释放这些基准,以鼓励在低代码域中进行后续工作。
translated by 谷歌翻译
知识追踪是指估计每个学生的知识组成部分/技能掌握水平的问题,从他们过去对教育应用中的问题的回答。一种直接的收益知识追踪方法提供的是能够在未来问题上预测每个学生的表现。但是,大多数现有知识追踪方法的一个关键限制是,他们将学生对问题的回答视为二进制评估,即是正确的还是不正确的。响应正确性分析/预测易于导航,但会丢失重要信息,尤其是对于开放式问题:确切的学生回答可能会提供有关其知识状态的更多信息,而不是仅仅是响应正确性。在本文中,我们首次介绍了对开放式知识追踪的探索,即,在知识跟踪设置中,学生对学生对问题的开放式回答的分析和预测。我们首先制定了一个通用框架,用于开放式知识跟踪,然后通过编程问题详细介绍其在计算机科学教育领域的应用。我们在该域中定义了一系列评估指标,并进行了一系列定量和定性实验,以测试现实世界中学生代码数据集中开放式知识跟踪方法的边界。
translated by 谷歌翻译
General mathematical reasoning is computationally undecidable, but humans routinely solve new problems. Moreover, discoveries developed over centuries are taught to subsequent generations quickly. What structure enables this, and how might that inform automated mathematical reasoning? We posit that central to both puzzles is the structure of procedural abstractions underlying mathematics. We explore this idea in a case study on 5 sections of beginning algebra on the Khan Academy platform. To define a computational foundation, we introduce Peano, a theorem-proving environment where the set of valid actions at any point is finite. We use Peano to formalize introductory algebra problems and axioms, obtaining well-defined search problems. We observe existing reinforcement learning methods for symbolic reasoning to be insufficient to solve harder problems. Adding the ability to induce reusable abstractions ("tactics") from its own solutions allows an agent to make steady progress, solving all problems. Furthermore, these abstractions induce an order to the problems, seen at random during training. The recovered order has significant agreement with the expert-designed Khan Academy curriculum, and second-generation agents trained on the recovered curriculum learn significantly faster. These results illustrate the synergistic role of abstractions and curricula in the cultural transmission of mathematics.
translated by 谷歌翻译
源代码的最先进的神经模型倾向于在代码的生成时进行评估,并且通常在长地平任务中的产生,例如整个方法体的产生。我们建议使用静态程序分析仪的弱监督来解决这一缺陷。我们的神经统计方法允许深入的生成模型来象征地计算它已经生成的代码中的静态分析工具,长距离语义关系。在培训期间,该模型观察这些关系,并学习生成条件上的程序。考虑到包含该方法的类的剩余部分,我们将我们的方法应用于生成整个Java方法的问题。我们的实验表明,该方法显着地优于最先进的变换器和模型,明确试图在制作程序中没有基本语义错误的程序以及在句法匹配地面真理方面来学习此任务的模型。
translated by 谷歌翻译
知识追踪(KT)模型是一种流行的方法,可以通过以前的尝试来预测学生在实践问题上的未来表现。尽管在KT中进行了许多创新,但大多数模型在内,包括最先进的Deep KT(DKT)主要利用每个学生的响应是正确或不正确的,忽略了其内容。在这项工作中,我们提出了基于代码的深知识跟踪(Code-DKT),该模型使用注意机制自动提取并选择特定领域的代码功能来扩展DKT。我们比较了Code-DKT对贝叶斯和深度知识跟踪(BKT和DKT)的有效性,该数据集中有50名学生试图解决5个介绍性编程作业的学生。我们的结果表明,Code-DKT在5个任务中始终优于DKT的AUC 3.07-4.00%AUC,与DKT相对于其他最先进的域中总KT模型的改进是可比的。最后,我们通过一组案例研究来分析特定问题的性能,以证明何时以及如何改善代码DKT的预测。
translated by 谷歌翻译
由于大量学生参加了大规模开放的在线课程(MOOC),因此越来越多的自动化程序维修技术集中在入门编程任务(IPA)上。这种最先进的技术使用程序聚类来利用以前的正确学生实现来修复给定的新不正确提交。通常,这些维修技术使用聚类方法,因为分析了所有可用的正确学生提交以维修程序是不可行的。聚类方法使用基于几个功能的程序表示,例如抽象语法树(AST),语法,控制流和数据流。但是,在表示语义上相似的程序时,这些功能有时会变得脆弱。本文提出了InvaastCluster,这是一种用于程序群集的新方法,它利用了在几个程序执行中观察到的动态生成的程序不变性,以群群群集在语义上等效的IPA。我们的主要目的是通过其不变性及其结构通过其匿名抽象语法树来找到程序的语义结合及其结构的组合。 InvaastCluster的评估表明,在聚集一组不同的正确IPA时,建议的程序表示法优于基于语法的表示。此外,我们将InvaastCluster集成到基于最新的聚类的程序维修工具中,并在一组IPA上进行评估。我们的结果表明,InvaastCluster通过在较短的时间内修复大量学生的程序来使用基于聚类的程序维修工具使用时的当前最新设备。
translated by 谷歌翻译
本文探讨了大语言模型的自然语言生成能力,并应用于编程课程中常见的两种学习资源类型。使用OpenAI Codex作为大语言模型,我们创建编程练习(包括示例解决方案和测试用例)和代码说明,从定性和定量上评估这些练习。我们的结果表明,大多数自动生成的内容既新颖又明智,在某些情况下可以按原样使用。在创建练习时,我们发现仅通过提供关键字作为模型输入来影响编程概念和它们所包含的上下文主题非常容易。我们的分析表明,大规模生成机器学习模型是指导者的工具,尽管仍然需要进行一些监督以确保生成的内容的质量在传递给学生之前。我们进一步讨论了OpenAI Codex和类似工具对入门编程教育的含义,并强调了未来的研究流,这些研究流有可能提高教师和学生的教育体验质量。
translated by 谷歌翻译
我们介绍了一种称为编程拼图的新型编程挑战,作为方案合成的客观和全面评估,并释放Python编程拼图的开源数据集(P3)。每个拼图由短Python程序$ F $定义,目标是找到一个使$ F $返回true的输入。谜题是目的,因为每个人都由其验证者$ F $的源代码完全指定,因此评估为测试候选解决方案所需的$ F $。它们不需要答案密钥或输入/输出示例,也不依赖于自然语言理解。该数据集是全面的,因为它跨越一系列困难和域的问题,从琐碎的字符串操纵问题,经典编程谜题(例如,河内塔),用于采访/竞争编程问题(例如,动态编程),在算法和数学中的长期开放问题(例如,因子)。我们开发基准枚举程序合成,GPT-3和能够解决难题的食盒求解器 - 即使没有访问任何参考解决方案 - 通过从他们自己的过去的解决方案中学习。 Codex表现最佳,解决高达18%的397个测试问题的测试问题,每次尝试和80%的问题占1,000个问题。在一个小的用户学习中,我们发现拼图解决性能和编码体验之间的正相关性,以及人类和AI求解器的难题难度之间。因此,P3的进一步改进可能对许多程序合成区域产生重大影响。
translated by 谷歌翻译
最近,深增强学习(DRL)方法在各种域中的任务方面取得了令人印象深刻的性能。然而,用DRL方法产生的神经网络政策不是人为可解释的,并且通常难以推广到新颖的情景。为了解决这些问题,事先作品探索学习更具可诠释和构建的概括的程序政策。然而,这些作品要么采用有限的政策表示(例如,决策树,状态机或预定义的程序模板)或需要更强的监督(例如输入/输出状态对或专家演示)。我们提出了一个框架,而是学习合成一个程序,该程序详细介绍了以灵活和表现力的方式解决任务的过程,仅来自奖励信号。为了减轻学习难以从头开始诱发所需的代理行为的难度,我们建议首先了解一个程序嵌入空间,以不传达的方式连续参加各种行为,然后搜索嵌入空间以产生程序最大化给定任务的返回。实验结果表明,所提出的框架不仅可以可靠地综合任务解决方案,而且在产生可解释和更广泛的政策的同时优于DRL和程序合成基线。我们还可以证明所提出的两级学习计划的必要性,并分析了学习计划嵌入的各种方法。
translated by 谷歌翻译
The International Workshop on Reading Music Systems (WoRMS) is a workshop that tries to connect researchers who develop systems for reading music, such as in the field of Optical Music Recognition, with other researchers and practitioners that could benefit from such systems, like librarians or musicologists. The relevant topics of interest for the workshop include, but are not limited to: Music reading systems; Optical music recognition; Datasets and performance evaluation; Image processing on music scores; Writer identification; Authoring, editing, storing and presentation systems for music scores; Multi-modal systems; Novel input-methods for music to produce written music; Web-based Music Information Retrieval services; Applications and projects; Use-cases related to written music. These are the proceedings of the 3rd International Workshop on Reading Music Systems, held in Alicante on the 23rd of July 2021.
translated by 谷歌翻译
建立可以在未知域中处理未知变量的通用人工智能系统,我们需要基准测试这些系统在从未见过的任务上的执行程度。这是一个先决条件是一项衡量任务泛化困难的衡量标准,或者它来自系统的先验知识和经验是多么异议。如果在特定域中的智能系统的技能被定义为能够始终生成一组指令(或程序)来解决该域中的任务,则当前的基准未定量测量获取新技能的效率,使其成为可能通过利用无限量的数据和计算能力训练来训练技能。考虑到这一点,我们首先提出了一种常识的教学语言,一种编程语言,允许以各种现实世界域和计算平台的指导的无循环图表表达程序。使用以这种语言生成的程序,我们演示了一种基于匹配的方法,可以进行评分性能,并计算任何给定的任务集的泛化难度。我们使用这些来定义一个名为泛化索引或G-索引的数字基准,以测量和比较任何智能系统的一组真实任务的技能 - 获取效率。最后,我们通过计算G-Index分数来评估一些着名模型作为一般情报系统的适用性。
translated by 谷歌翻译
知识跟踪(KT)是使用学生的历史学习互动数据来对其知识掌握的任务,以便对他们未来的互动绩效进行预测。最近,使用各种深度学习技术来解决KT问题已经取得了显着的进步。但是,基于深度学习的知识追踪(DLKT)方法的成功仍然有些神秘,适当的测量以及对这些DLKT方法的分析仍然是一个挑战。首先,现有作品中的数据预处理程序通常是私人和/或自定义,这限制了实验标准化。此外,现有的DLKT研究通常在评估方案方面有所不同,并且是现实世界中的教育环境。为了解决这些问题,我们介绍了一个综合基于Python的基准平台\ TextSc {Pykt},以确保通过彻底评估进行跨DLKT方法的有效比较。 \ textsc {pykt}库由不同域的7个流行数据集上的一组标准化的数据预处理程序组成,而10个经常比较了用于透明实验的DLKT模型实现。我们细粒度和严格的经验KT研究的结果产生了一系列观察结果和有效DLKT的建议,例如,错误的评估设置可能会导致标签泄漏,这通常会导致性能膨胀;与Piech等人提出的第一个DLKT模型相比,许多DLKT方法的改进是最小的。 \ cite {piech2015 -Deep}。我们已经开源\ textsc {pykt},并在\ url {https://pykt.org/}上进行了实验结果。我们欢迎其他研究小组和从业人员的贡献。
translated by 谷歌翻译
自动程序合成是软件工程中的持久梦想。最近,Open AI和Microsoft提出了一种有希望的深度学习(DL)解决方案,称为Copilot,作为工业产品。尽管一些研究评估了副驾驶解决方案的正确性并报告其问题,但需要进行更多的经验评估,以了解开发人员如何有效地受益。在本文中,我们研究了两项不同的编程任务中副标士的功能:(1)为基本算法问题生成(和复制)正确,有效的解决方案,(2)将副副副总裁与人类程序员的建议解决方案与一组人的建议解决方案进行比较编程任务。对于前者,我们评估副铜在解决计算机科学中选定的基本问题(例如对基本数据结构的基本问题)中的性能和功能。在后者中,使用人提供的解决方案的编程问题数据集。结果表明,Copilot能够为几乎所有基本算法问题提供解决方案,但是,某些解决方案是越野车且不可复制的。此外,Copilot在组合多种方法来生成解决方案方面存在一些困难。将副驾驶员与人类进行比较,我们的结果表明,人类溶液的正确比率大于副本的正确比率,​​而副铜产生的越野车解决方案需要更少的努力来维修。尽管本研究和以前的研究中的强调,副柯洛特(Copilot)作为开发人员特别是在高级编程任务中的助手表现出局限性,但它可以为基本编程任务生成初步解决方案。
translated by 谷歌翻译
Recent progress in artificial intelligence (AI) has renewed interest in building systems that learn and think like people. Many advances have come from using deep neural networks trained end-to-end in tasks such as object recognition, video games, and board games, achieving performance that equals or even beats humans in some respects. Despite their biological inspiration and performance achievements, these systems differ from human intelligence in crucial ways. We review progress in cognitive science suggesting that truly human-like learning and thinking machines will have to reach beyond current engineering trends in both what they learn, and how they learn it. Specifically, we argue that these machines should (a) build causal models of the world that support explanation and understanding, rather than merely solving pattern recognition problems; (b) ground learning in intuitive theories of physics and psychology, to support and enrich the knowledge that is learned; and (c) harness compositionality and learning-to-learn to rapidly acquire and generalize knowledge to new tasks and situations. We suggest concrete challenges and promising routes towards these goals that can combine the strengths of recent neural network advances with more structured cognitive models.
translated by 谷歌翻译
程序合成或代码生成旨在生成满足问题规范的程序。使用大规模预处理的语言模型(LMS)的最新方法显示出令人鼓舞的结果,但它们有一些关键的局限性。特别是,他们经常遵循标准监督的微调程序,仅从对自然语言问题描述和基础真相计划对培训代码生成模型。这种范式在很大程度上忽略了问题规范中的一些重要但潜在的信号,例如单位测试,因此在求解复杂的看不见的编码任务时通常会导致性能差。为了解决这些局限性,我们提出了“ Coderl”,这是通过验证的LMS和深入强化学习(RL)实现程序合成任务的新框架。具体而言,在培训期间,我们将代码生成的LM视为参与者网络,并引入批评网络,该网络经过培训,以预测生成的程序的功能正确性,并为演员提供密集的反馈信号。在推理期间,我们引入了一种新一代程序,具有关键的抽样策略,该过程允许模型根据示例单位测试和评论家分数的反馈自动重新生成程序。对于模型骨架,我们扩展了Codet5的编码器架构,具有增强的学习目标,更大的模型大小和更好的预处理数据。我们的方法不仅在具有挑战性的应用程序基准上实现了新的SOTA结果,而且还显示出强大的零弹性传输能力,并在简单的MBPP基准上具有新的SOTA结果。
translated by 谷歌翻译
传统的机器学习(ML)严重依赖于机器学习专家的手动设计,以决定学习任务,数据,模型,优化算法和评估指标,以及劳动密集型,耗时,不能像人类那样自主学习。在教育科学,自我导向的学习中,人类学习者在不需要动手指导的情况下选择学习任务和材料,已经显示出比被动教师引导的学习更有效。灵感来自自我导向的人类学习的概念,我们介绍了自我导向机器学习(SDML)的主要概念,并为SDML提出了一个框架。具体而言,我们设计SDML作为自我意识引导的自我指导的学习过程,包括内部意识和外部意识。我们提出的SDML进程从自我任务选择,自我数据选择,自我模型选择,自我优化策略选择和自我意识中选择的自我认识,没有人为指导。同时,SDML过程的学习性能是进一步提高自我意识的反馈。我们为基于多级优化的SDML提出了一种数学制定。此外,我们将案例研究与SDML的潜在应用一起,随后讨论未来的研究方向。我们希望SDML能够使机器能够进行人类的自我导向学习,并为人为一般情报提供新的视角。
translated by 谷歌翻译
本文探讨了培训来生成代码的大型语言模型(LLMS)可以极大地提高对基因编程(GP)应用程序的突变操作员的有效性。由于此类LLM受益于包括顺序更改和修改的训练数据,因此它们可以近似人类会做出的可能变化。为了强调通过大型模型(ELM)的这种进化的含义的广度,在主要实验ELM与MAP-ELITE结合产生了数十万个Python程序的功能示例,这些示例在Sodarace域中输出了在Sodarace域中运行AMBULE的机器人,原始LLM从未在预训练中见过。然后,这些示例有助于引导培训一种新的条件语言模型,该模型可以为特定地形输出合适的步行者。引导新模型可以在以前可用的零培训数据中为给定上下文中输出适当的工件的新模型具有对开放性,深度学习和增强学习的影响。在这里深入探讨了这些含义,以期激发榆树现在打开的新研究方向。
translated by 谷歌翻译
我们提出了Pangu-Coder,这是一种仅预读的解码器语言模型,该模型采用pangu-alpha架构进行文本到代码生成,即给定自然语言问题描述的编程语言解决方案的合成。我们使用两阶段策略训练Pangu-Coder:第一阶段采用因果语言建模(CLM)来预先培训原始编程语言数据,而第二阶段则使用因果语言建模和掩盖语言建模(MLM)的组合培训目标,专注于文本到代码生成的下游任务,并培训松散的自然语言程序定义和代码功能。最后,我们讨论了pangu-coder-ft,该pander the是通过竞争性编程问题和代码与持续集成测试的结合进行了微调的。我们评估了pangu-coder,重点是它是否生成功能上正确的程序,并证明它在参加较小的上下文窗口和较少的数据培训的同时,它比诸如Codex之类的类似大小的模型(例如Codex)实现等效性或更好的性能。
translated by 谷歌翻译
随着未来以数据为中心的决策,对数据库的无缝访问至关重要。关于创建有效的文本到SQL(Text2SQL)模型以访问数据库的数据有广泛的研究。使用自然语言是可以通过有效访问数据库(尤其是对于非技术用户)来弥合数据和结果之间差距的最佳接口之一。它将打开门,并在精通技术技能或不太熟练的查询语言的用户中引起极大的兴趣。即使提出或研究了许多基于深度学习的算法,在现实工作场景中使用自然语言来解决数据查询问题仍然非常具有挑战性。原因是在不同的研究中使用不同的数据集,这带来了其局限性和假设。同时,我们确实缺乏对这些提议的模型及其对其训练的特定数据集的局限性的彻底理解。在本文中,我们试图介绍过去几年研究的24种神经网络模型的整体概述,包括其涉及卷积神经网络,经常性神经网络,指针网络,强化学习,生成模型等的架构。我们还概述11个数据集,这些数据集被广泛用于训练Text2SQL技术的模型。我们还讨论了无缝数据查询中文本2SQL技术的未来应用可能性。
translated by 谷歌翻译