INTENT:交互式张量转换合成
作者
自动机器学习(AutoML)界面计算方法在HCI中的应用软件工程师与开发者AI/ML 研究员与工程师统计学家与数据科学家
文献标题
INTENT: Interactive Tensor Transformation Synthesis
文献信息
- 主题领域: 深度学习与程序合成的交互式可视化
- 关键词: 程序合成, 深度学习, 交互式可视化, TensorFlow, 类比学习, 用户研究, 人机交互, 数据流图, 张量变换, 可解释性
研究背景与问题
-
问题与挑战:
- 深度学习(DL)的优异表现使其广泛应用,但编程框架(如 TensorFlow)对初学者有较高的学习门槛。
- TensorFlow 中的张量操作复杂,需要扎实的线性代数和微积分知识。
- 现有 DL 编程面临问题:
- API 文档不足或设计晦涩。
- 大量 API 操作符带来选择障碍。
- 编程中使用的操作常与传统编程语义不同,例如条件操作。
- 对合成代码的理解与验证困难,也被称为“最后一英里问题”。
-
研究重要性:
- 降低普通程序员采用 DL 框架的障碍。
- 提高自动代码生成(合成)的可理解性和可调试性,增强用户对代码的信任。
- 使程序员更高效地完成复杂张量变换任务。
-
研究动机:
- 此前的 TensorFlow 合成工具(如 TF-Coder)虽能生成代码,但缺乏交互性,用户难以理解生成的代码,也无法自定义调整生成过程。
解决方案
-
方法和创新:
- INTENT系统: 提出一个交互式程序合成系统 —— INTENT,能够根据用户提供的自然语言描述和输入/输出示例自动生成 TensorFlow 张量变换代码。
- 三大模块架构:
- 多模态张量变换代码合成器。
- 数据流图可视化工具,展示代码中的中间操作步骤及数据流。
- 即时程序验证模块,支持用户直接修改并验证代码。
- 主要创新点:
- 引入数据流图可视化技术,直观展现张量变换过程。
- 实现基于用户反馈(如标记操作符为“想要”或“不需要”)的合成调整机制。
- 提供嵌入式代码编辑器和自动验证,无需用户切换到 IDE。
-
实施步骤与关键技术:
- 利用输入输出示例、多层感知模型(MLP)和朴素贝叶斯模型来推断程序操作符的优先级。
- 构建带权重的合成搜索算法,在程序空间中优先搜索优先级高且复杂度低的解决方案。
- 使用 TensorFlow 的自动微分功能,计算程序中张量元素的依赖关系,绘制数据元素来源可视化路径,以增强用户理解。
研究成果
-
具体成果:
- 成功开发了 INTENT 系统,并开源于 GitHub。
- 设计了数据流图+数据来源可视化工具,显著提高了用户对生成代码的理解度。
- 实现了用户标记操作符(如“想要”或“不需要”)以及代码内嵌式测试的功能。
-
实验与评估:
- 用户实验:
- 研究对18位程序员进行了用户研究,比较了 INTENT 与 TF-Coder 的任务完成效率。
- 使用 INTENT 完成任务的成功率为 100%,而 TF-Coder 的成功率为 78%。
- 使用 INTENT 平均完成时间为 5.8 分钟,仅为 TF-Coder 的一半。
- 使用 INTENT 的用户对合成结果的信心评分显著提升(Likert评分从5.44提高到6.72,p=0.005)。
- 可视化效果:
- 数据流图帮助用户快速理解复杂的张量操作逻辑,89%的用户表示强烈认可。
- 即时验证和调整功能减少了用户切换开发环境的需求。
- 用户实验:
-
与现有方案的优势:
- INTENT 相较于无交互支持的 TF-Coder,在用户体验、代码生成理解度及复杂任务解读能力上取得重大提升。
- 数据流可视化为合成代码增加语义透明性,解决了“最后一英里问题”。
-
局限性与未来方向:
- 时间问题: 在搜索空间较大的情况下,程序生成需要数十秒甚至更长时间。
- 限定性支持: 当前仅支持 TensorFlow 张量变换,未来可扩展至更广泛的深度学习任务(如神经网络架构构建)。
- 用户类型偏重: 系统服务对象是有编程经验的开发者,未来可探索对非编程用户的适配。
- 方向扩展:
- 减少合成时间的优化算法(如分布式计算)。
- 支持通过特定约束或自然语言实现整个神经网络的设计和合成。
研究问题 / 现实痛点
这篇论文在当前问题库中对应的问题线索。
help
研究问题
3- 如何设计一种工具,使普通程序员能够直观地完成复杂的TensorFlow张量转换任务?分类: LLM界面、提示与交互理解同类问题arrow_forward
- 数据流图可视化技术在提升深度学习程序解释性和用户理解中的效果如何?分类: LLM界面、提示与交互理解同类问题arrow_forward
- 交互式程序合成系统是否能提高程序员对自动生成代码的信任度?分类: LLM界面、提示与交互理解同类问题arrow_forward
lightbulb
现实痛点
1- 普通程序员难以上手复杂的TensorFlow张量操作,以及验证代码是否正确。分类: LLM界面、提示与交互理解同类问题arrow_forward
- 71%
Model LineUpper:在多个层级支持AutoML交互式模型比较
IUI '21· 可解释人工智能(XAI) +3
- 67%
面向数据科学家的有效搜索以发现过去的分析选择
CHI '19· 交互式数据可视化 +1
- 67%
ScrAPIr: 让网络数据API对最终用户可访问
CHI '20· 自动机器学习(AutoML)界面 +1
- 67%
高效纠正机器学习:考虑人类在环图像分类训练中示例排序的作用
IUI '22· 自动机器学习(AutoML)界面 +1
- 60%
利用社区使用数据实现数据驱动的API设计:一项需求研究
CHI '20· 计算方法在HCI中的应用
基于研究子主题与职业分类的 Jaccard 相似度(≥60%)
快捷操作
广告推荐
学习 AI 编程到 CodeNow
open_in_new打开DOI链接
DOI: https://doi.org/10.1145/3526113.3545653
一眼看懂
fact_check论文快照
dataset
来源
UIST
calendar_month
年份
2022
emoji_events
奖项
未标记奖项
group
作者
6 位作者
sell
研究子方向
自动机器学习(AutoML)界面、计算方法在HCI中的应用
work
职业/产业
软件工程师与开发者、AI/ML 研究员与工程师、统计学家与数据科学家
article
内容状态
已索引正文
hub
相关论文
5 篇相关论文