24小时新闻关注

88电影,谭维维,dhcp-阅来阅好-您的读书好伙伴


【新智元导读】Facebook的人工智能研讨部分近期推出Pythia,一个模块化的即插即用结构。方针是使数据科学家能够快速构建、仿制和基准人工智能模型,将VQA v2.0数据集模型的功用从65.67%进步到70.22%,已在Github上开源。

Facebook最近连续针对开发者社区抛出了一系列东西。继一月份image processing library Spectrum、去年底的自然言语处理建模结构PyText和11月的人工智能增强学习渠道Horizon的开源后,Facebook的人工智能研讨部分又推出了Pythia,一个模块化的即插即用结构。

Pythia的方针是使数据科学家能够快速构建、仿制和基准人工智能模型,已在Github上开源。

而Pythia(中文一般译作皮媞亚)这个姓名的来历也很有意思。古希腊神话中,Pythia是阿波罗神的女祭司,服务于帕纳塞斯山上的德尔斐(Delphi)神庙,以传达阿波罗神的神谕而出名,被以为能预知未来。

即插即用Pythia:让数据科学家快速构建、仿制和基准AI模型

Pythia是什么?

Pythia是一个深度学习结构,支撑视觉和言语范畴的多使命处理。依据PyTorch 结构,模块化即插即用的规划使研讨人员能够快速构建、仿制和基准化人工智能模型。

Pythia是为视觉和言语使命而规划的,例如答复与视觉数据相关的问题和主动生成图画注释。

Pythia能做什么?

Pythia加入了最近的人工智能竞赛(2018年VQA应战赛和2018年Vizwiz应战赛)中获奖作品的元素。功用包括用参阅完成(reference implementations)来显现曾经最先进的模型怎么完成相关的基准成果,并快速衡量新模型的功用。

除了多使命处理之外,Pythia还支撑分布式培训和各种数据集,以及自界说丢失、衡量、调度(scheduling)和优化器。

Pythia的特性

  • Model Zoo:艺术级的视觉和言语模型的参阅完成,包括LoRRA(VQA和TextVQA上的SoTA)、Pythia模型(VQA 2018 应战赛获胜者)和Ban。
  • 多使命处理:支撑多使命处理,答应对多个数据集进行练习。
  • 数据集:包括对各种内置数据集的支撑,包括VQA, VizWiz, TextVQA and和VisualDialog。
  • 模块:为视觉和言语范畴中的许多常用层供给完成
  • 分布式:支撑依据数据并行和分布式数据并行的分布式练习。
  • Unopinionated:关于依据它的数据集和模型完成是Unopinionated。
  • 定制:定制丢失、衡量、调度、优化器、Tensorboard;合适用户一切的定制需求。
  • 用户能够运用Pythia为自己下一个视觉和言语多形式研讨项目进行引导。Pythia还能够作为环绕视觉和言语数据集的应战的开端代码库(拜见TextVQA应战赛和VQA应战赛)。

Pythia最厉害的当地是什么?

Pythia简化了进入视觉和言语开展子范畴的进程,使研讨人员能够专心于更快的原型制作和试验。Facebook的方针是经过增加这些模型和成果的再现性来加快发展。这将使社区更简略树立成功体系的根底和基准。

开发者还期望经过Pythia消除妨碍,能够使研讨人员更快地为人们和智能机器开发新的沟通方法。这项作业还应该协助研讨人员开发自适应人工智能,将多种了解组成一种更依据上下文的多形式了解。除了这个开源版别,Facebook方案持续增加东西、使命、数据集和引证模型。

在上面说到的VQA 2018竞赛中,Pythia v0.1起点是自下而上、自上而下模型的模块化从头完成,终究力压群雄而胜出。

Pythia v0.1证明,经过对模型体系结构和学习速率方案进行纤细但重要的更改、微调图画功用和增加数据扩大,能够明显进步VQA v2.0数据集自上而下模型的功用,从65.67%进步到70.22%。

此外,经过运用不同特征和不同数据集练习的不同模型调集,Pythia v0.1能够明显进步1.31%的“规范”调集方法(即具有不同随机种子的相同模型)。总的来说,Pythia v0.1在VQA v2.0数据集的测验规范切割上达到了72.27%。

术语和概念

Pythia经过精心规划,从一开端便是一个多使命结构。这意味着运用Pythia,能够一同练习多个使命和数据集。

可是,Pythia在其模块中笼统了许多概念,在Pythia之上进行开发,有必要了解Pythia代码库中运用的概念和术语。一旦开发人员了解了这些简略的概念,就很简略在Pythia之上进行开发。其间首要概念和术语如下:

使命和数据集

在Pythia中,数据集被划分为一组使命。因而,使命对应归于它的数据集的调集。例如,VQA 2.0,VizWiz和TextVQA都归于VQA使命。 已为每个使命和数据集分配了一个仅有key,用于在指令行参数中引证。

下表显现了使命及其数据集:

下表显现了上表的回转,数据集及其使命和key:

模型

现已包括了最先进模型的参阅施行,作为研讨论文仿制和新研讨起点的根底。Pythia曾被用于以下论文:

  • 走向能够阅览的VQA模型(LoRRA模型)
  • VQA 2018应战赛冠军
  • VizWiz 2018应战赛冠军

与使命和数据集类似,每个模型都运用仅有key进行注册,以便在装备和指令行参数中轻松引证。下表显现了能够运转的每个模型的要害称号和数据集。

注册表

遭到Redux全球商铺的启示,Pythia生态体系所需的有用信息已在注册表中注册。能够将注册表视为结构的多个部分所需的信息的通用存储,并在需求该信息的任何当地起作用信息源。

注册表还依据如上所述的仅有密钥来注册模型、使命、数据集等。 注册表的函数能够用作需求注册的类的装修器(例如模型等)

装备

依据研讨需求,Pythia中的大多数参数/设置都是可装备的。 Pythia特定的默认值(training_parameters)存在于:

pythia/common/defaults/configs/base.yml

其间具体的注释描绘了每个参数的用法。为了便于运用和模块化,每个数据集的装备别离保存在:

pythia/common/defaults/configs/tasks/[task]/[dataset].yml

能够从Tasks中的表中获取数据集的[task]值和数据集部分。模型装备也是分隔的,并且是用户在创立自己的模型时需求界说的部分。

由于每个数据集的独自装备,这个概念能够扩展到履行多使命并在此包括多个数据集装备。

处理器

处理器的首要意图是使数据处理流程尽可能与不同数据集类似,并答应代码重用。

处理器承受带有与所需数据相对应key的字典,并回来带有处理数据的字典。这有助于经过修正所需的签名来使处理器独立于逻辑的其余部分。

处理器用于一切数据集以切换数据处理需求。在处理器文档中了解有关处理器的更多信息。

SampleList

SampleList遭到了maskrcnn-benchmark中BBoxList的启示,但更为通用。与Pythia集成的一切数据集都需求回来一个Sample,该Sample将被整理到SampleList中。

现在,SampleList带有许多便利的功用,能够轻松地批量处理和拜访事物。关于例如样本是带有一些key的字典。在SampleList中,这些key的值将依据它是张量仍是列表而被奇妙地分组,并分配回该字典。

因而,终端用户能够很好地将这些key组合在一同,并能够在他们的模型中运用它们。与Pythia集成的模型接纳SampleList作为参数,这再次使trainer对模型和数据集不再有任何影响。在其文档中了解有关Sample和SampleList的更多信息。

预练习模型

在Pythia中运用预练习模型进行推理很简略。从下表中选取一个预练习模型,并依照过程进行推理或生成猜测让EvalAI评价。(留意,这部分内容需求先装置教程中介绍的数据,教程链接在文末)

现在,假定你到预培训模型model是link(从table中挑选>右键单击>仿制链接地址),相应的装备应该坐落configs/[task]/[dataset]/[model].yml。例如,vqa2 train_and_val的装备文件应该是configs/vqa/vqa2/pythia_train_and_val.yml。现在要运转EvalAI的揣度,请运转以下指令:

假如要在val上进行培训或评价,请相应地将run_type改为train或val。你还能够运用多个运转类型,例如进行练习、对val进行揣度、还能够将--run_type设置为train+val+inference进行揣度。

假如删去--evalai_inference证明,Pythia 将履行揣度并直接在数据集上供给成果。请留意,关于测验集,这是不能用的,由于咱们没有它们的答案/方针。因而,这关于在本地履行 val集的推理很有用。

假如删去--evalai_inference证明,Pythia 将履行揣度并直接在数据集上供给成果。请留意,关于测验集,这是不能用的,由于咱们没有它们的答案/方针。因而,这关于在本地履行 val集的推理很有用。

下表显现了各种预培训模型的评价目标:

Demo演示

相关资源:

Github:

https://github.com/facebookresearch/pythia

Demo:

https://colab.research.google.com/drive/1Z9fsh10rFtgWe4uy8nvU4mQmqdokdIRR

教程:

https://learnpythia.readthedocs.io

推荐新闻