Designing code to be simplistic yet to offer choice is a tightrope walk. Additional modules such as optimizers and data sets make a framework useful to a broader audience, but the added complexity quickly becomes a problem. Framework parameters may apply only to some modules but not others, be mutually exclusive or depend on each other, often in unclear ways. Even so, many frameworks are limited to a few specific use cases. This paper presents the underlying concept of UniNAS, a framework designed to incorporate a variety of Neural Architecture Search approaches. Since they differ in the number of optimizers and networks, hyper-parameter optimization, network designs, candidate operations, and more, a traditional approach can not solve the task. Instead, every module defines its own hyper-parameters and a local tree structure of module requirements. A configuration file specifies which modules are used, their used parameters, and which other modules they use in turn This concept of argument trees enables combining and reusing modules in complex configurations while avoiding many problems mentioned above. Argument trees can also be configured from a graphical user interface so that designing and changing experiments becomes possible without writing a single line of code. UniNAS is publicly available at https://github.com/cogsys-tuebingen/uninas
翻译:设计简单化的代码可以提供选择,但需要提供选择的是一种钢丝状运动。额外的模块,如优化器和数据集使框架对更广泛的受众有用,但增加的复杂度很快成为一个问题。框架参数可能只适用于某些模块,但不适用于其他模块,相互排斥或互相依赖,往往方式不明确。即使如此,许多框架也局限于少数具体的使用案例。本文介绍了UNAS的基本概念,这是一个旨在纳入各种神经结构搜索方法的框架。由于优化器和网络的数量不同,超光度优化、网络设计、候选操作等,传统方法无法解决问题。相反,每个模块都定义了自己的超参数和模块要求的本地树结构。一个配置文件指定了使用哪个模块,它们使用的参数,以及它们转而使用的其他模块。这个参数树概念使得在复杂的配置中合并和重新使用模块,同时避免上述许多问题。还可以从图形用户界面中配置电图树,这样就可以在不写单行代码的情况下设计和修改实验。 UNAS/ http://ngsubs.