Scenic: a language for scenario specification and scene generation

Daniel J. Fremont, T. Dreossi, Shromona Ghosh, Xiangyu Yue, A. Sangiovanni-Vincentelli, S. Seshia
{"title":"Scenic: a language for scenario specification and scene generation","authors":"Daniel J. Fremont, T. Dreossi, Shromona Ghosh, Xiangyu Yue, A. Sangiovanni-Vincentelli, S. Seshia","doi":"10.1145/3314221.3314633","DOIUrl":null,"url":null,"abstract":"We propose a new probabilistic programming language for the design and analysis of perception systems, especially those based on machine learning. Specifically, we consider the problems of training a perception system to handle rare events, testing its performance under different conditions, and debugging failures. We show how a probabilistic programming language can help address these problems by specifying distributions encoding interesting types of inputs and sampling these to generate specialized training and test sets. More generally, such languages can be used for cyber-physical systems and robotics to write environment models, an essential prerequisite to any formal analysis. In this paper, we focus on systems like autonomous cars and robots, whose environment is a scene, a configuration of physical objects and agents. We design a domain-specific language, Scenic, for describing scenarios that are distributions over scenes. As a probabilistic programming language, Scenic allows assigning distributions to features of the scene, as well as declaratively imposing hard and soft constraints over the scene. We develop specialized techniques for sampling from the resulting distribution, taking advantage of the structure provided by Scenic's domain-specific syntax. Finally, we apply Scenic in a case study on a convolutional neural network designed to detect cars in road images, improving its performance beyond that achieved by state-of-the-art synthetic data generation methods.","PeriodicalId":441774,"journal":{"name":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","volume":"182 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2018-09-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"174","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3314221.3314633","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 174

Abstract

We propose a new probabilistic programming language for the design and analysis of perception systems, especially those based on machine learning. Specifically, we consider the problems of training a perception system to handle rare events, testing its performance under different conditions, and debugging failures. We show how a probabilistic programming language can help address these problems by specifying distributions encoding interesting types of inputs and sampling these to generate specialized training and test sets. More generally, such languages can be used for cyber-physical systems and robotics to write environment models, an essential prerequisite to any formal analysis. In this paper, we focus on systems like autonomous cars and robots, whose environment is a scene, a configuration of physical objects and agents. We design a domain-specific language, Scenic, for describing scenarios that are distributions over scenes. As a probabilistic programming language, Scenic allows assigning distributions to features of the scene, as well as declaratively imposing hard and soft constraints over the scene. We develop specialized techniques for sampling from the resulting distribution, taking advantage of the structure provided by Scenic's domain-specific syntax. Finally, we apply Scenic in a case study on a convolutional neural network designed to detect cars in road images, improving its performance beyond that achieved by state-of-the-art synthetic data generation methods.
场景:一种用于场景规范和场景生成的语言
我们提出了一种新的概率编程语言,用于设计和分析感知系统,特别是那些基于机器学习的系统。具体来说,我们考虑了训练感知系统处理罕见事件的问题,在不同条件下测试其性能,以及调试故障。我们展示了概率编程语言如何通过指定对有趣的输入类型进行编码的分布并对这些分布进行采样以生成专门的训练和测试集来帮助解决这些问题。更一般地说,这种语言可以用于网络物理系统和机器人来编写环境模型,这是任何形式分析的基本先决条件。在本文中,我们关注像自动驾驶汽车和机器人这样的系统,其环境是一个场景,一个物理对象和代理的配置。我们设计了一种特定于领域的语言,Scenic,用于描述场景的分布。作为一种概率编程语言,Scenic允许为场景的特征分配分布,以及声明性地对场景施加硬约束和软约束。我们开发了专门的技术,利用Scenic领域特定语法提供的结构,从结果分布中进行抽样。最后,我们将Scenic应用于卷积神经网络的案例研究中,该网络旨在检测道路图像中的汽车,从而提高其性能,超越最先进的合成数据生成方法。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信