人工智能本身对于软件工程艺术来说一直很难掌握,也许是因为传统软件工程专注于保持初始一致性(即确保生成的工件符合先前的规范)[21],而人工智能方法通常从高度混乱的初始配置开始[7],并且仅逐步引入规则和结构。在将严格工程原则应用于更复杂、适应性更强、固有自治的系统的道路上,已经提出并尝试了各种研究方向(参见[14、22、40、51]等)。作为这些方法的示例,请考虑图 1:经典的软件工程方法保持为一个反馈回路,通常由人类开发人员推动,而运行时发展系统的新方法则作为另一个反馈回路添加,通常由自适应和学习驱动[26]。然而,有各种各样的算法允许自适应和学习,从简单的统计方法(如 SVM 或聚类)到深度神经网络,并且集成这些算法的具体方法也存在很大的差异。在 [22] 中,我们引入了机器学习管道作为许多不同机器学习方法的过程模型,即它是一个
主要关键词