自然语言处理( Natural Language Processing, NLP )

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等

康奈尔大学Jon Kleinberg 与Éva Tardos 两位著名教授编著的算法设计《Algorithm Design》是关于算法经典的教科书。在普林斯顿大学wayne个人主页下配备了关于算法设计的相关课件,以及电子书864页pdf,值得查看学习。

算法设计通过观察激发算法的现实问题来引入算法。这本书教学生在计算应用中出现的问题的一系列设计和分析技术。本文鼓励对算法设计过程的理解和算法在更广泛的计算机科学领域的作用的欣赏。

目录:

Algorithm Design

  1. Representative Problems

  2. Algorithm Analysis

  3. Graphs

  4. Greedy Algorithms

  5. Divide and Conquer

  6. Dynamic Programming

  7. Network Flow

  8. Intractability

  9. PSPACE

  10. Limits of Tractability

  11. Approximation Algorithms

  12. Local Search

  13. Randomized Algorithms

Extra Topics

Data Structures

Linear Programming

算法设计课件

算法设计 电子书

成为VIP会员查看完整内容
57+
0+

【导读】机器学习现在已经渗透到我们工作生活的方方面面,关于机器学习算法原理的书籍有很多经典教科书,但是实际工程生产系统中的机器学习落地书籍却乏善可陈。来自Gartner机器学习技术负责人Andriy Burkov又一力作机器学习工程《Machine Learning Engineering》,专注机器学习项目实施的工程方面。诸如数据收集、存储、预处理、特性工程以及模型的测试和调试、模型在生产环境中的部署和退出、运行时和后期维护等问题。是值得广大ML工程师关注的一本书。值得一提的是Andriy Burkov撰写的100天机器学习颇受欢迎。

开放书地址:

http://www.mlebook.com/wiki/doku.php

概览

有很多关于机器学习的好书,既有理论性的,也有实践性的。在一本典型的机器学习书籍中,你可以学习机器学习的类型,算法的主要种类,它们是如何工作的,以及如何使用这些算法从数据中构建模型。

典型的机器学习书籍较少关注机器学习项目实施的工程方面。诸如数据收集、存储、预处理、特性工程以及模型的测试和调试、模型在生产环境中的部署和退出、运行时和后期维护等问题,通常要么完全超出了机器学习书籍的范围,要么被肤浅地考虑。

这本书填补了这一空白。

假设读者了解机器学习的基础知识,并且能够使用喜爱的编程语言或机器学习库来构建给定格式的数据集的模型。本书的目标读者是倾向于机器学习工程角色的数据分析师、希望为工作带来更多结构的机器学习工程师、机器学习工程专业的学生,以及经常处理数据分析师和机器学习工程师提供的模型的软件架构师。

本书全面回顾了机器学习工程的最佳实践和设计模式。我建议从头到尾读一遍。但是,您可以以任何顺序阅读章节,因为它们涵盖了机器学习项目生命周期的不同方面,并且彼此之间没有直接的依赖关系。

引言

虽然我假设您已经了解了机器学习的基础知识,但是从定义开始仍然是很重要的,这样我们就可以确保对贯穿全书的术语有一个共同的理解。我将重复我在那本一百页的机器学习书中给出的一些定义,所以如果你读了我的第一本书,不要惊讶于这一章的某些部分听起来很熟悉。

1.什么是机器学习?

机器学习是计算机科学的一个分支,它关注的是如何构建有用的算法,这些算法依赖于一些现象的实例集合。这些例子可能来自大自然,可能是人类手工制作的,也可能是由其他算法生成的。机器学习也可以被定义为解决一个实际问题的过程: 1) 收集一个数据集,2) 通过算法训练一个基于该数据集的统计模型。统计模型被认为是用来解决实际问题。为了节省敲击键盘的时间,我将“学习”和“机器学习”这两个术语互换使用。学习可以是监督的、半监督的、非监督的和强化的。

2.机器学习工程

机器学习工程(MLE)是利用机器学习的科学原理、工具和技术以及传统的软件工程来设计和构建复杂的计算系统。MLE包含从数据收集到模型构建,再到使模型可供产品或消费者使用的所有阶段。

通常,数据分析师关心的是理解业务问题,构建解决问题的模型,并在受限的开发环境中对其进行评估。反过来,机器学习工程师关注采购来自不同系统的数据和位置和预处理,编程功能,构建一个有效的模型,将在生产环境中运行,共存与其他生产过程,是稳定的、可维护的方便不同类型的用户提供不同的用例。

换句话说,MLE包括让机器学习算法作为有效生产系统的一部分实现的任何活动。

在实践中,机器学习工程师可能会从事以下工作:将数据分析师的代码从相当慢的R和Python重写为更高效的Java或c++,扩展这段代码并使其更健壮,将代码打包成易于部署的版本化包,优化机器学习算法以确保它生成与组织的生产环境兼容并能正常运行的模型。

在许多组织中,数据分析师执行一些MLE任务,例如数据收集、转换和特性工程。另一方面,机器学习工程师经常执行一些数据分析任务,包括学习算法选择、超参数调整和模型评估。

从事机器学习项目不同于从事典型的软件工程项目。与传统软件不同的是,在传统软件中,程序的行为通常是确定的,而机器学习应用程序则包含一些模型,这些模型的性能可能会随着时间的推移而自然地退化,或者开始表现得异常。模型的这种异常行为可以用各种原因来解释,包括输入数据的根本变化或更新的特征提取器,该提取器现在返回不同的值分布或不同类型的值。人们常说机器学习系统会无声无息地失灵。一个机器学习工程师必须有能力防止这样的故障,或者,当不可能完全预防它们时,知道如何检测和处理它们。

3. 机器学习项目生命周期

机器学习项目生命周期

机器学习项目从理解业务目标开始。通常,业务分析人员与客户和数据分析人员一起将业务问题转换为工程项目。工程项目可能有也可能没有机器学习部分。在这本书中,我们当然会考虑一些涉及到机器学习的工程项目。一旦定义了一个工程项目,这就是机器学习工程的范围开始的地方。在更广泛的工程项目范围内,机器学习首先必须有一个明确的目标。

机器学习的目标是指定统计模型接收什么作为输入,生成什么作为输出,以及模型的可接受(或不可接受)行为的标准。机器学习的目标不一定与业务目标相同。业务目标是组织想要达到的目标。例如,谷歌和Gmail的业务目标是使Gmail成为最常用的电子邮件服务。谷歌可以创建多个机器学习工程项目来实现业务目标。其中一个机器学习项目的目标是区分个人邮件和促销邮件,准确率在90%以上。

总的来说,一个机器学习项目的生命周期,如图3所示,包括以下几个阶段:

  • 目标定义
  • 数据收集和准备
  • 工程特点
  • 模型建立
  • 模型评价
  • 模型部署
  • 模型服务
  • 监测模型
  • 模型维护

在上图中,蓝色区域显示了机器学习工程的范围(以及本书的范围)。实箭头显示了项目阶段的典型流程。虚线箭头表明,在某些阶段,可以决定返回到流程中,或者收集更多的数据,或者收集不同的数据并修改特性(通过停用其中一些并设计新的特性)。

对于以上每个阶段,书中都有一个独特的章节。但是首先,让我们讨论一下如何确定机器学习项目的优先级,如何定义项目的目标,以及如何组织机器学习团队。

177页pdf下载链接: 链接: https://pan.baidu.com/s/1hRtMAqGLNSZiMYXpO8Go7g 提取码: 5msb

成为VIP会员查看完整内容
50+
0+

【导读】 机器学习和图像处理基础实战,可以使读者深入了解图像处理的基本知识以及各种图像处理方法和算法,使用各种Python库的应用程序以及使用机器学习方法的实时用例实现。

本书首先讨论了不同操作系统的安装环境,介绍了基本的图像处理方法,它使用两个库Scikit Image和OpenCV深入研究各种图像处理算法以及它们在Python中的实际实现。接下来,提出了用于图像处理和分类的机器学习和深度学习方法。解释了诸如Adaboost,XG Boost,卷积神经网络等用于图像特定应用的概念。并将所有概念均使用真实场景进行演示。

作者介绍: Santanu Pattanayak目前在GE Digital工作,是一名工作数据科学家,并且是《使用TensorFlow进行深度学习:Python中高级人工智能的数学方法》的作者。他拥有大约12年的工作经验,在数据分析/数据科学领域有8年的经验,并且具有开发和数据库技术的背景。

内容大纲

内容简介: chapter 1:

本章内容主要介绍了运行本书代码中的环境设置,主要包括:

  • Anaconda

  • OpenCV

  • Keras

本书代码大部分都以Anaconda为开发环境,分别介绍了windows系统、MacOS系统、Ubuntu系统的安装方法。

chapter 2:

在本章中,我们将精确地介绍什么是图像及其相关属性。主要包括:

  • 图片
  • 像素
  • 分辨率
  • 每英寸像素(PPI)和每英寸点数(DPI)
  • Bitmap图像
  • 无损压缩和有损压缩
  • 不同的图像文件格式
  • 不同类型的色彩空间
  • 图像概念

chapter 3:

本章的前半部分讨论了Python的基本概念,这些概念对应用图像处理技术很有用。 本章的后半部分介绍了Python的图像处理库:Scikit Learn。 在上一章中研究的所有概念以及其他一些概念都可以使用Scikit Learn在Python中应用。

chapter 4:

现在,我们已经了解了使用Scikit图像库的基本图像处理技术,继续介绍其更高级的方面。 在本章中,我们使用最全面的计算机视觉库之一OpenCV,并研究以下概念:

  • 融合两个图像
  • 更改图像的对比度和亮度
  • 向图像添加文本
  • 平滑图像
  • 更改图像的形状
  • 影响图像阈值
  • 计算梯度以检测边缘
  • 执行直方图均衡

我们通过研究一些最广泛使用的图像处理算法来开始本章的内容,然后继续进行图像处理中的机器学习实现。 本章概述如下:

  • 使用比例不变特征变换(SIFT)算法的特征映射

  • 使用随机样本共识(RANSAC)算法进行图像配准

  • 使用人工神经网络进行图像分类

  • 使用卷积神经网络(CNN)进行图像分类

  • 使用机器学习进行图像分类

成为VIP会员查看完整内容
39+
0+

【导读】UC.Berkeley CS189 《Introduction to Machine Learning》是面向初学者的机器学习课程在本指南中,我们创建了一个全面的课程指南,以便与学生和公众分享我们的知识,并希望吸引其他大学的学生对伯克利的机器学习课程感兴趣。

讲义目录:

  • Note 1: Introduction

  • Note 2: Linear Regression

  • Note 3: Features, Hyperparameters, Validation

  • Note 4: MLE and MAP for Regression (Part I)

  • Note 5: Bias-Variance Tradeoff

  • Note 6: Multivariate Gaussians

  • Note 7: MLE and MAP for Regression (Part II)

  • Note 8: Kernels, Kernel Ridge Regression

  • Note 9: Total Least Squares

  • Note 10: Principal Component Analysis (PCA)

  • Note 11: Canonical Correlation Analysis (CCA)

  • Note 12: Nonlinear Least Squares, Optimization

  • Note 13: Gradient Descent Extensions

  • Note 14: Neural Networks

  • Note 15: Training Neural Networks

  • Note 16: Discriminative vs. Generative Classification, LS-SVM

  • Note 17: Logistic Regression

  • Note 18: Gaussian Discriminant Analysis

  • Note 19: Expectation-Maximization (EM) Algorithm, k-means Clustering

  • Note 20: Support Vector Machines (SVM)

  • Note 21: Generalization and Stability

  • Note 22: Duality

  • Note 23: Nearest Neighbor Classification

  • Note 24: Sparsity

  • Note 25: Decision Trees and Random Forests

  • Note 26: Boosting

  • Note 27: Convolutional Neural Networks (CNN)

讨论目录:

  • Discussion 0: Vector Calculus, Linear Algebra (solution)

  • Discussion 1: Optimization, Least Squares, and Convexity (solution)

  • Discussion 2: Ridge Regression and Multivariate Gaussians (solution)

  • Discussion 3: Multivariate Gaussians and Kernels (solution)

  • Discussion 4: Principal Component Analysis (solution)

  • Discussion 5: Least Squares and Kernels (solution)

  • Discussion 6: Optimization and Reviewing Linear Methods (solution)

  • Discussion 7: Backpropagation and Computation Graphs (solution)

  • Discussion 8: QDA and Logistic Regression (solution)

  • Discussion 9: EM (solution)

  • Discussion 10: SVMs and KNN (solution)

  • Discussion 11: Decision Trees (solution)

  • Discussion 12: LASSO, Sparsity, Feature Selection, Auto-ML (solution)

讲义下载链接:https://pan.baidu.com/s/19Zmws53BUzjSvaDMEiUhqQ 密码:u2xs

成为VIP会员查看完整内容
37+
0+

Manning2020新书《Practices of the Python Pro》,250页pdf

专业开发人员知道编写干净、组织良好、易于维护的应用程序代码的许多好处。通过学习和遵循已建立的模式和最佳实践,您可以将您的代码和您的职业生涯提升到一个新的水平。

通过Python Pro的实践,您将学习如何使用非常流行的编程语言Python来设计专业级别的、干净的、易于维护的软件。您会发现一些容易理解的示例,它们使用伪代码和Python来介绍软件开发的最佳实践,以及许多即时有用的技术,可以帮助您像专业人员一样编写代码。

Python Pro的实践教会您设计和编写可理解、可维护和可扩展的专业质量的软件。Dane Hillard是一名Python专业人员,他帮助许多开发人员完成了这一步,并且他知道这需要什么。通过一些有用的示例和练习,他可以告诉您何时、为什么以及如何模块化代码,如何通过减少复杂性来提高质量,等等。接受这些核心原则,您的代码将变得更容易阅读、维护和重用。

成为VIP会员查看完整内容
28+
0+

【导读】机器学习系统:这个规模的设计是一个示例丰富的指南,教你如何在你的机器学习系统中实现反应式设计解决方案,使它们像一个构建良好的web应用一样可靠。

本文首先介绍了反应性机器学习基础,然后介绍如何建立一个反应式机器学习系统(收集数据、生成特征、学习模型、评估模型、发布模型),最后介绍如何操作一个机器学习系统。

  1. 作者介绍 Jeff Smith使用Scala和Spark构建大规模的机器学习系统。在过去的十年中,他一直在纽约,旧金山和香港的多家初创公司从事数据科学应用的研究。他在博客中谈到了构建现实世界机器学习系统的各个方面。

  2. 内容大纲 Part 1. 反应性机器学习基础

  • 第一章. 反应性机器学习
  • 第二章. 使用反应性工具

Part 2. 建立一个反应式机器学习系统(Building a reactive machine learning system)

  • 第三章. 收集数据(Collecting data)
  • 第四章. 生成特征(Generating features)
  • 第五章. 学习模型(Learning models)
  • 第六章. 评估模型( Evaluating models)
  • 第七章. 发布模型(Publishing models)
  • 第八章. 作答(Responding)

Part 3. 操作一个机器学习系统(Operating a machine learning system)

  • 第三章. 陈述(Delivering)
  • 第四章. 发展智力(Evolving intelligence)
成为VIP会员查看完整内容
32+
0+

【简介】知识图谱是一种组织知识并提供智能应用有效的方式。常识知识图谱如何在计算机视觉中发挥作用,从识别跨越到认知?华盛顿大学Yejin Choi博士一直研究视觉常识推理的研究,让我们来学习如何用常识图谱在CV建模提升认知。

地址链接:

https://mosaic.allenai.org/projects/commonsense-knowledge-graphs

https://cs.stanford.edu/people/ranjaykrishna/sgrl/index.html

Yejin Choi是华盛顿大学Paul G. Allen计算机科学与工程学院副教授,语言学系副教授,统计与社会科学中心副研究员。她也是艾伦人工智能研究所的高级研究经理。她是2013年ICCV的Marr奖(最佳论文奖)的共同接受者,2018年Borg Early Career award (BECA)的接受者,并被提名为2016年IEEE AI的10大看点之一。她在康奈尔大学获得了计算机科学博士学位(导师:Claire Cardie教授),并在韩国首尔国立大学获得了计算机科学与工程学士学位。

什么是常识?

  • 基本的实用知识和推理能力
  • 关注日常情况和事件
  • 这是大多数人都普遍持有的观点。

我们能从识别过渡到认知吗?

ATOMIC: An Atlas of Machine Commonsense for If-Then Reasoning

知识图谱为常识性概念的表示提供了一种半结构化的方法。这种结构所提供的视角不同于其他知识来源,比如大规模的文本语料库;然而,要表示何种类型的知识和如何更好的把他们融合到现有的神经网络模型中依旧是一个有待研究的课题。ATOMIC主要关注由if-then这种类型的关系所组成的变量之间的知识推理。作者提出了九种if-then形式的关系类型来区分原因VS结果,代理VS主题,自愿事件VS非自愿事件,行为VS精神状态。基于ATOMIC所描述的丰富的知识推理所生成的训练集,作者证明了神经网络模型可以拥有基本的常识,并对以前未见过的事件进行推理。

通过对给定的事件进行观察,人们可以很容易的预测或者推断一些未观察到的事件的发生原因和结果:之前什么时候发生的?接下来的结果会是什么?不同的事件是如何通过因果联系在一起的?如上图,如果我们观察到事件“”X击退了Y的攻击“,我们可以立刻推断出围绕这件事情的各种可信的事实。

上面的例子说明了日常生活中常识推理是如何通过一系列紧密相连的推理知识所实现的。通过这些推理知识,我们可以看一部两个小时的电影,理解一个跨越几个月的故事,也就是说我们只观察到了其中的一小部分,就对大量的事件、原因和结果进行推理。然而,这种能力虽然对人类来说很普通,但现在的人工智能系统却远远没有达到这种程度。这在一定程度上是因为绝大多数人工智能系统都是针对特定任务的数据集和目标进行训练,从而导致模型能够有效地找到特定任务之间的相关性,但这种推理缺乏可解释性。因此,作者提出了ATOMIC: 一种机器推理的图谱,用来处理丰富的知识推理,这对于自动进行常识推理至关重要。

COMeT: Commonsense Transformers for Automatic Knowledge Graph Construction

成为VIP会员查看完整内容
29+
0+

【导读】ICLR2020论文收到2594篇论文提交,有687篇被接受,接受率为26.5%。在关于图机器学习方面,Sergei Ivanov整理了关于图机器学习方面的高分论文,有49篇关于图机器学习论文,专知进一步整理了论文阅读欢迎查看!

总共有152篇论文在题目中包含了一个“Graph”,其中有49篇论文被接受。所有图表论文的平均评分是4.5,而被接受的论文的平均评分是6.3。

1 图神经网络的逻辑表达性 The Logical Expressiveness of Graph Neural Networks

Pablo Barceló, Egor V. Kostylev, Mikael Monet, Jorge Pérez, Juan Reutter, Juan Pablo Silva

代码地址:

https://anonymous.4open.science/r/787222e2-ad5e-4810-a788-e80f0fe7eff0/

论文地址:

https://openreview.net/forum?id=r1lZ7AEKvB

本文重点研究了图神经网络的表达特性。审稿人对作者充分且一致地回答了他们的问题表示满意,认为这是一篇应该被接受的强有力的论文

2 Hyper-SAGNN:一种基于自注意力的超图神经网络 Hyper-SAGNN: a self-attention based graph neural network for hypergraphs

Ruochi Zhang, Yuesong Zou, Jian Ma

代码地址:

https://drive.google.com/drive/folders/1kIOc4SlAJllUJsrr2OnZ4izIQIw2JexU?usp=sharing

论文地址:

https://openreview.net/forum?id=ryeHuJBtPH

本文介绍了一种新的神经网络模型,该模型可以表示可变尺寸的超边缘,并通过实验证明了该模型在一些问题上可以改进或匹配目前的技术水平。

  1. 论节点嵌入与结构图表示的等价性,On the Equivalence between Node Embeddings and Structural Graph Representations

Balasubramaniam Srinivasan, Bruno Ribeiro

论文地址:

https://openreview.net/forum?id=SJxzFySKwH

本文给出了节点嵌入与结构图表示之间的关系。通过对结构节点表示的含义和节点嵌入的含义的仔细定义,利用置换群,作者在定理2中证明了节点嵌入不能表示结构表示中没有的任何额外信息。然后,本文对三个任务进行了实证实验,并在第四个任务中对理论结果进行了说明。

  1. LambdaNet:使用图神经网络的概率类型推断,LambdaNet: Probabilistic Type Inference using Graph Neural Networks

Jiayi Wei, Maruth Goyal, Greg Durrett, Isil Dillig

论文地址:

https://openreview.net/forum?id=Hkx6hANtwH

本文提出了一种基于图神经网络的动态语言类型推理方法。Reviewer(以及区域主席)喜欢GNNs在实际问题、演示和结果中的这种新颖而有用的应用。明确的接受。

  1. 定向消息传递分子图,Directional Message Passing for Molecular Graphs

Johannes Klicpera, Janek Groß, Stephan Günnemann

论文地址:

https://openreview.net/forum?id=B1eWbxStPH

本文研究了量子化学的图神经网络,在此基础上加入了一些物理方面的创新。特别地,它在保持等方差的同时考虑方向边缘信息。

成为VIP会员查看完整内容
27+
0+

人工智能顶级会议 AAAI 2020 将于 2 月 7 日-2 月 12 日在美国纽约举办,不久之前,AAAI 2020 公布论文介绍结果:今年最终收到 8800 篇提交论文,评审了 7737 篇,接收 1591 篇。最近大会公布了所有接受论文列表,已被接受的AAAI-20主会议的论文

地址:

https://aaai.org/Conferences/AAAI-20/

成为VIP会员查看完整内容
29+
0+

【导读】图像分割(Image Segmentation)是计算机视觉的经典问题之一,受到了广泛关注,每年在各大会议上都有大量的相关文章发表。在前深度学习时代有大量的方法提出,比如分水岭、GraphCut等。随着深度学习的兴起,大量的算法提出如R-CNN、Mask-RCNN等。最近来自纽约大学、滑铁卢大学、UCLA等学者发布了深度学习图像分割最新综述论文,涵盖20页pdf168篇参考文献,调研了截止2019年提出的100多种分割算法,共分为10类方法。对近几年深度学习图像分割进行了全面综述,对现有的深度学习图像分割研究进行梳理使其系统化,并提出6方面挑战,帮助读者更好地了解当前的研究现状和思路。可作为相关领域从业者的必备参考文献。

题目:Image Segmentation Using Deep Learning: A Survey

作者:Shervin Minaee, Yuri Boykov, Fatih Porikli, Antonio Plaza, Nasser Kehtarnavaz, and Demetri Terzopoulos

摘要

图像分割是图像处理和计算机视觉领域的一个重要课题,其应用领域包括场景理解、医学图像分析、机器人感知、视频监控、增强现实和图像压缩等。研究者们提出了各种图像分割算法。最近,由于深度学习模型在广泛的视觉应用中取得了成功,已经有大量的工作致力于开发使用深度学习模型的图像分割方法。在本次综述中,我们全面回顾了撰写本文时的论文,涵盖了语义级和实例级分割的广泛先驱工作,包括全卷积像素标记网络、编码器-解码器架构、基于多尺度和金字塔的方法、递归网络、视觉注意力模型和在对抗环境下的生成模型。我们调研了这些深度学习模型的相似性、优势和挑战,研究了最广泛使用的数据集,报告了性能,并讨论了该领域未来的研究方向。

1. 引言

图像分割是许多视觉理解系统的重要组成部分。它涉及到将图像(或视频帧)分割成多个段或对象[1]。分割在[2]的广泛应用中起着核心作用,包括医学图像分析(如肿瘤边界提取和组织体积测量),自动驾驶车辆(如可导航的表面和行人检测),视频监控,增强现实等。从最早的阈值化[3]、基于直方图的分组、区域生长[4]、k-means聚类[5]、分水岭[6]等算法,到更先进的主动轮廓[7]、图割[8]、条件和马尔科夫随机域[9]、稀疏[10]-[11]等算法,文献中已经出现了许多图像分割算法。然而,在过去的几年里,深度学习(DL)网络已经产生了新一代的图像分割模型,其性能有了显著的提高——通常在流行的基准测试中获得了最高的准确率——致使许多人认为的该领域的范式转变。例如,图1展示了一个著名的深度学习模型DeepLabv3[12]的样本图像分割输出。

图像分割可以表示为带有语义标签的像素分类问题(语义分割)或单个对象的分割问题(实例分割)。语义分割是对所有图像像素进行一组对象类别(如人、车、树、天空)的像素级标记,因此通常比图像分类更难,因为后者预测整个图像的单个标签。实例分割进一步扩展了语义分割的范围,通过检测和描绘图像中每个感兴趣的对象(例如,对个人的分割)。

我们的调研涵盖了图像分割的最新文献,并讨论了到2019年提出的一百多种基于深度学习的分割方法。我们对这些方法的不同方面提供了全面的回顾和见解,包括培训数据、网络架构的选择、损失功能、培训策略以及它们的关键贡献。我们对所述方法的性能进行了比较总结,并讨论了基于深度学习的图像分割模型的几个挑战和未来可能的方向。

我们将基于深度学习的工作根据其主要技术贡献分为以下几类:

  • 完全卷积网络
  • 卷积模型与图形模型
  • Encoder-decoder基础模型
  • 基于多尺度和金字塔网络的模型
  • 基于R-CNN的模型(例如实例分割)
  • 扩展卷积模型和DeepLab家族
  • 基于递归神经网络的模型
  • 基于注意力的模型
  • 生成模型和对抗性训练
  • 具有活动轮廓模型的卷积模型
  • 其他模型

本综述论文的一些主要贡献可以总结如下:

本次综述涵盖了与分割问题相关的现有文献,并综述了截止2019年提出的100多种分割算法,共分为10类。

我们提供了一个全面的调研和使用深度学习的分割算法的不同方面的深度分析,包括训练数据,网络架构的选择,损失函数,训练策略,以及他们的关键贡献。

我们提供了一个概述约20个流行的图像分割数据集,分为2D, 2.5D (RGB-D),和3D图像。

我们提供了一个比较总结的性质和性能的审查方法的分割目的,在流行的基准上进行。

我们为基于深度学习的图像分割提出了一些挑战和潜在的未来方向。

该调研的其余部分组织如下: 第2节提供了流行的深度神经网络架构的概述,作为许多现代分割算法的主干。第3节全面概述了最重要的、最先进的、基于深度学习的细分模型,截至2019年已有100多个。我们也讨论了他们的长处和贡献超过以往的工作在这里。第四部分回顾了一些最流行的图像分割数据集及其特点。第5.1节回顾了评价基于深度学习的细分模型的流行指标。在5.2节中,我们报告了这些模型的定量结果和实验性能。在第6节中,我们将讨论基于深度学习的分割方法的主要挑战和未来的发展方向。最后,我们在第7节中提出我们的结论。

成为VIP会员查看完整内容
20+
0+

您的逻辑,线性指南的基本数据科学编程。

数据科学正在以一种良好的方式迅猛发展,预计到2020年,地球上每秒钟为每个人创造1.7兆字节的新信息,到2026年将创造1150万个工作机会。很明显,知情是有好处的。这个友好的指南在数据科学的基础上绘制了一条路径,然后深入到实际工作中: 线性回归、逻辑回归、机器学习、神经网络、推荐引擎,以及模型的交叉验证。

Data Science Programming All-In-One For Dummies是关键数据科学、机器学习和深度学习编程语言Python和r的汇编。它帮助你决定哪种编程语言最适合特定的数据科学需求。它还为您提供了构建自己的项目以实时解决问题的指导方针。

脚踏实地:新数据专业人士的理想起点

未来的情况:了解数据正在转换的特定领域

有意义:找出如何讲述你的数据故事

看清楚:学习可视化的艺术

无论你是刚开始学习还是已经处于职业生涯的中期,现在就拿起你的那份,给你的生活和其他人的生活增添更多的意义吧!

成为VIP会员查看完整内容
30+
0+

【导读】 本教程是Garrett Hoffman使用Python和tensorflow的实时实例以及stock Twits数据,为读者朋友介绍用于自然语言处理任务的深度学习方法,其中包括word2vec、RNN和其相关变体(LSTM、GRU),以及卷积神经网络。通过对本教程的学习,您将会了解这些模型的原理,并简要回顾每种方法中所运用的数学理论。

教程大纲:

使用word2vec词嵌入的文本表示学习

  • CBOW与skip-gram
  • 如何训练自定义的词嵌入
  • 如何使用预训练词嵌入

传统RNN

  • RNN变体比传统RNN具有更好性能的原因
  • RNN变体
  • 模型可以提高准确性的原因

卷积神经网络(CNN)

  • CNN为什么会被用于语言模型
  • CNN相对于RNN的优势
  • 如何使用RNN来学习文本合成的生成模型以及该方法的应用

本教程将理论与实践相结合,为了加强对理论部分的理解,作者分享了相关代码来实现模型,code地址:https://github.com/GarrettHoffman/AI_Conf_2019_DL_4_NLP

成为VIP会员查看完整内容
Deep learning methods for natural language processing Presentation 1.pdf
30+
0+

主题: AI Career Pathways: Put Yourself on the Right Track

【导读】现在人工智能发展进入一个平稳期,AI工程师们职业生涯如何规划发展以避免35岁困境?以及对于公司来说如何搭建一个有效的AI团队创造价值?是很多人关心的问题。吴恩达在Twitter亲自推荐了这份AI职业生涯正规发展之道的报告《AI Career Pathways: Put Yourself on the Right Track》带领你了解AI团队是如何工作的,以及在不同的AI职业道路上你需要哪些技能,短小精悍,非常值得学习

地址:

https://workera.ai/candidates/report/?utm_source=NgSocial&utm_medium=twitter&utm_campaign=WorkeraReportPromoJanuary82020

Workera 公司通过提供指导和高质量的工作机会,帮助数据科学家、机器学习工程师和软件工程师实现他们的职业目标。我们的任务是确保每个人,无论背景如何,都有机会充分发挥他们的潜力,实现他们在AI领域的职业目标。

关键要点:

发展一个人工智能项目开发生命周期包括五个不同的任务:

  • 数据工程:负责数据工程的人员准备数据并将数据转换成其他团队成员可以使用的格式。

  • 建模: 负责建模的人员在数据中寻找能够帮助公司预测各种决策的结果、识别业务风险和机会或确定因果关系的模式。

  • 部署: 负责部署的人员获取数据流,将其与模型组合,并在将模型投入生产之前测试集成。

  • 业务分析: 负责业务分析的团队成员评估所部署的模型的性能和业务价值,并相应地进行调整,以最大化效益或放弃无收益的模型。

  • 人工智能基础设施: 人工智能基础设施的工作人员构建和维护可靠、快速、安全和可伸缩的软件系统,以帮助数据工程、建模、部署和业务分析人员。

六个基本角色执行这些任务。没有一个人有足够的技能来完成AI项目开发的所有任务。因此,团队包括关注部分周期的个人。以下是六个技术角色的可视化表示,以及它们与各种任务的关

每个角色都需要特定的技能和知识:

  • 负责数据工程的人员需要很强的编码和软件工程技能,最好结合机器学习技能来帮助他们做出与数据相关的良好设计决策。大多数情况下,数据工程是使用数据库查询语言(如SQL)和面向对象编程语言(如Python、c++和Java)来完成的。Hadoop、Hive等大数据工具也被广泛使用。

  • 建模通常用Python、R、Matlab、c++、Java或其他语言编写。它需要强大的数学、数据科学和机器学习基础。一些组织需要深度学习技能,特别是那些专注于计算机视觉、自然语言处理或语音识别的组织。

  • 从事部署工作的人员需要编写生产代码,拥有强大的后端工程技能(使用Python、Java、c++等),并了解云技术(例如AWS、GCP和Azure)。从事业务分析的团队成员需要理解分析的数学和数据科学,以及强大的沟通技能和商业敏锐性。它们有时使用R、Python和Tableau等编程语言,尽管许多任务可以在电子表格、PowerPoint或Keynote或a /B测试软件中完成。

在人工智能基础设施上工作需要广泛的软件工程技能来编写生产代码和理解云技术。

目录内容:

第一部分 AI组织

数据科学 vs. 机器学习组织

我们发现了两种使用人工智能的组织:

数据科学组织帮助公司领导做出科学的或数据驱动的决策,以更有效地运营他们的业务。团队成员收集数据,分析数据集,并提出假设和行动。

机器学习组织将任务自动化以降低成本或扩大产品规模。输出是通过收集数据、训练模型并部署它们而实现的自动化本身。

尽管机器学习和数据科学组织是不同的,但是公司经常交替使用这两个术语。您可以通过评估一个给定的组织是否符合上面的描述之一来区分它们。一些公司拥有混合的组织,它们既制定数据科学决策,又使任务自动化。在本报告中,我们将使用“AI组织”来指代DS、ML或混合组织

第二部分 人工智能开发生命周期的任务和技能

人工智能组织将他们的工作划分为数据工程、建模、部署、业务分析和人工智能基础设施。这些任务一起构成了AI项目开发生命周期。每个任务都需要特定的技能,可以是多个角色的重点。您可以在附录中找到本报告中提到的技能的简要描述。我们将讨论机器学习(ML)和数据科学(DS)的项目开发生命周期之间的区别。然后,我们将查看每个任务的目标、执行任务所需的技能,以及组织中的哪些角色关注哪些任务。

第三部分 AI团队角色

有时候,想在人工智能领域工作的人的技能与招聘经理的要求不匹配。为了帮助你缩小这个差距,我们将解释AI团队的不同角色,他们的技能,以及他们关注的任务。

结论

世界需要工程师和科学家来建设未来。事实上,到2020年,本报告中定义的所有角色都严重短缺。让你的行动。本报告旨在阐明什么是人工智能组织,你将从事什么任务,以及现有的职业轨迹。它可以帮助世界各地的学习者选择符合他们技能、背景和愿望的职业道路。我们希望它对您的学习和专业发展也有帮助。人工智能组织在不断发展,所以这份报告正在进行中。我们打算修改它,因为我们的团队了解更多关于AI人才的供应和需求。

成为VIP会员查看完整内容
23+
0+

2019年是深度强化学习(DRL)研究的重要一年,也是我在这一领域读博士的第一年。像每一个博士新手一样,我花了很多时间来阅读论文,实施一些有趣的想法,对重大问题有自己的看法。在这篇博客文章中,我想分享一些我从2019年文献中总结出来的亮点。

为了让这篇文章有更多的结构,我决定把论文分成5个主要类别,并选出一个冠军和亚军。进一步说,这是我2019年的十大DRL论文。

第一类: 大型项目

深度RL (如ATARI DQNs、AlphaGo/Zero)在2019年之前的大部分突破性成果,都是在行动空间有限、状态空间完全可见、授信时间尺度适中的领域中取得的。局部可见性、长时间尺度以及巨大的动作空间仍然是虚幻的。另一方面,2019年证明了我们离将函数逼近与基于奖励的目标优化相结合的极限还很远。诸如《雷神之锤3》/《夺旗》、《星际争霸2》、《Dota 2》以及机器人手操作等挑战只是现代DRL能够解决的一部分令人兴奋的新领域。我试图根据科学贡献而不是现有算法的大规模扩展来选择第一类的获胜者。每个人如果有足够的计算能力-都可以做PPO一样的疯狂的事情。

DeepMind AlphaStar (Vinyals et al, 2019)

DeepMind的AlphaStar项目由Oriol Vinyals领导。在阅读《自然》杂志的论文时,我意识到这个项目很大程度上是基于FTW设置来处理Quake III: 将分布式IMPALA的角色-学习者设置与诱导结构化探索的强大先验相结合。

FTW使用基于两个LSTM的时间尺度层次结构的先验,而AlphaStar则使用人工示范。专家演示通过KL目标的监督最小化来预先训练代理的策略,并提供有效的正则化来确保代理的探索行为不会被星际争霸的维度诅咒所淹没。但这绝不是全部。科学贡献包括一个独特的版本虚构self-play(又名联盟),一个自回归分解与指针的策略策网络,上行策略更新的进化(UPGO - V-trace Off-Policy重要性抽样修正结构化操作空间)以及分散连接(一种特殊形式的嵌入,维护实体的空间相干映射层)。就我个人而言,我非常喜欢DeepMind,尤其是Oriol Vinyals对星际争霸社区的关心。很多时候,科幻小说让我们误以为电影是一场军备竞赛。但它是人为旨在提高我们的生活质量。

地址

https://deepmind.com/blog/article/AlphaStar-Grandmaster-level-in-StarCraft-II-using-multi-agent-reinforcement-learning

OpenAI’s Solving’ of the Rubik’s Cube (OpenAI, 2019)

众所周知,深度学习能够解决需要提取和操作高级特征的任务。另一方面,低水平的灵活性,一种对我们来说很自然的能力,为当前的系统提供了一个主要的挑战。OpenAI灵巧性的贡献中,我最喜欢的是自动领域随机化(ADR):在机器人任务上训练深度RL代理的一个关键挑战是将仿真中所学到的知识转移到物理机器人上。模拟器只能捕获现实世界中有限的一组机制&精确地模拟摩擦需要计算时间。时间是昂贵的,否则可以用来在环境中产生更多的(但嘈杂的)过渡。提出了一种基于区域随机化的鲁棒策略。与用一组生成环境的超参数在单一环境中训练代理不同,该代理被训练在大量不同的配置上。ADR旨在设计一个环境复杂性的课程,以最大限度地提高学习进度。ADR根据agent的学习过程自动增加或减少可能的环境配置范围,为agent提供了一个伪自然课程。令人惊讶的是,这(加上基于ppo - lstm - gae的策略)导致了一种元学习形式,这种形式(到发布时)似乎还没有完全达到它的能力。Twitter上有很多关于“解决”这个词的讨论。该算法没有“完全”学习端到端解决一个立方体的正确的移动序列是什么,然后做所需的灵巧操作。但说实话,更令人印象深刻的是:用疯狂的奖励稀疏的手操作,还是学习一个相当短的符号转换序列?Woj Zaremba在2019年NeurIPS的“学习可转移技能”研讨会上提到,他们花了一天时间用DRL“解决立方体”&完全端到端的整个谜题是可能的。这是令人印象深刻。

第二类: 基于模型的强化学习 Model-based RL

虽然前两个项目令人兴奋地展示了DRL的潜力,但它们的采样效率低得可笑。我不想知道OpenAI和DeepMind必须支付电费是多少。有一些人通过在潜在空间中虚幻来提高样本(但不一定是计算)的效率,这是件好事。传统上,基于模型的RL一直在努力学习高维状态空间的动力学。通常,大量的模型容量不得不“浪费”在与状态空间无关的部分(例如,一个ATARI帧的最外层像素),而这与成功很少相关。最近,在一个抽象的空间里有很多关于规划/想象的提议。这是我最喜欢的两种方法:

MuZero (Schrittwieser et al., 2019)

  • Julian Schrittwieser, Ioannis Antonoglou, Thomas Hubert, Karen Simonyan, Laurent Sifre, Simon Schmitt, Arthur Guez, Edward Lockhart, Demis Hassabis, Thore Graepel, Timothy P. Lillicrap, David Silver:

  • Mastering Atari, Go, Chess and Shogi by Planning with a Learned Model. CoRR abs/1911.08265 (2019)

MuZero提供了从AlphaGo/AlphaZero项目中删除约束的下一个迭代。具体来说,它克服了过渡动力学的认可。因此,“通用MCTS +函数逼近工具箱”可用于更一般的问题设置,如基于视觉的问题(如ATARI)。

** Dreamer (aka. PlaNet 2.0; Hafner et al., 2019)**

另一方面,“Dreamer”为连续的动作空间提供了原则性的扩展,能够驯服基于高维视觉输入的长视距任务。将表征学习问题分解为迭代学习一个表征、转换和奖励模型。通过使用想象的轨迹训练一个基于行为-临界的策略来交错整个优化过程。Dreamer通过一个世界模型的想象轨迹来传播学习状态值的“分析”梯度。更具体地说,利用再参数化技术,通过神经网络预测,可以有效地传播多步收益的随机梯度。该方法在DeepMind控制套件中进行了评估,能够基于64×64×3维视觉输入控制行为。最后,作者还比较了不同的表示学习方法(奖励预测、像素重建和对比估计/观察重建),结果表明像素重建通常优于对比估计。

Danijar Hafner, Timothy P. Lillicrap, Jimmy Ba, Mohammad Norouzi: Dream to Control: Learning Behaviors by Latent Imagination. CoRR abs/1912.01603 (2019)

第三类: 多代理强化学习 Multi-Agent RL

代理超越了简单的中央控制模式。我们的日常生活充满了需要预期和心理理论的情况。我们不断假设其他人的反应,并根据最近的证据重新调整我们的信念。通过梯度下降法进行的朴素独立优化容易陷入局部最优。这一点在一个简单的两个GAN特工训练的社会中已经很明显了。联合学习导致了环境中的一种非平稳性,这是多智能体RL (MARL)的核心挑战。两篇精选的MARL论文强调了两个中心观点:从经典的集中训练+分散控制范式转向社会奖励塑造&自我游戏的规模化使用和意想不到的结果。

第四类: 学习动力学 Learning Dynamics

深层RL的学习动力学还远远没有被理解。与监督学习不同的是,在某种程度上,训练数据是给定的,并被视为IID(独立且同分布),RL需要一个代理来生成它们自己的训练数据。这可能会导致严重的不稳定性(例如致命的黑社会),任何玩弄过DQNs的人都会有这样的经历。仍然有一些重大的理论突破围绕着新的发现(如神经切线内核)。动力学类的两名获奖者突出了基于记忆的元学习(比RL更普遍)和基于策略的RL的基本特征。

第五类: Compositionality & Priors 组合性&先验

一种获得有效和快速适应的代理的方法是知情先验。与基于非信息性知识库的学习不同,agent可以依赖于之前以先验分布的形式提取的知识,但是如何才能获得这些知识呢?以下两篇论文提出了两种截然不同的方法:不确定目标的默认策略的同时学习&学习能够代表大量专家行为的密集嵌入空间。

结论

在整个2019年里,深度RL的巨大潜力在以前无法想象的领域得到了展现。重点介绍的大型项目还远远没有达到实地效率。但是这些问题正在被当前寻找有效的归纳偏差、先验和基于模型的方法所解决。

我对2020年将会发生的事情感到兴奋&我相信这是一个在这一领域的绝佳时机。有很多主要的问题,但是一个人所能产生的影响是相当大的。没有比现在更好的生活时机了。

References

1.Vinyals, O., I. Babuschkin, W. M. Czarnecki, M. Mathieu, A. Dudzik, J. Chung, D. H. Choi, et al. (2019): “Grandmaster level in StarCraft II using multi-agent reinforcement learning,”Nature, 575, 350–54.

2.Akkaya, I., M. Andrychowicz, M. Chociej, M. Litwin, B. McGrew, A. Petron, A. Paino, et al. (2019): “Solving Rubik’s Cube with a Robot Hand,” arXiv preprint arXiv:1910.07113, .

3.Schrittwieser, J., I. Antonoglou, T. Hubert, K. Simonyan, L. Sifre, S. Schmitt, A. Guez, et al. (2019): “Mastering atari, go, chess and shogi by planning with a learned model,” arXiv preprint arXiv:1911.08265, .

4.Hafner, D., T. Lillicrap, J. Ba, and M. Norouzi. (2019): “Dream to Control: Learning Behaviors by Latent Imagination,” arXiv preprint arXiv:1912.01603, .

5.Jaques, N., A. Lazaridou, E. Hughes, C. Gulcehre, P. Ortega, D. Strouse, J. Z. Leibo, and N. De Freitas. (2019): “Social Influence as Intrinsic Motivation for Multi-Agent Deep Reinforcement Learning,” International Conference on Machine Learning, .

6.Baker, B., I. Kanitscheider, T. Markov, Y. Wu, G. Powell, B. McGrew, and I. Mordatch. (2019): “Emergent tool use from multi-agent autocurricula,” arXiv preprint arXiv:1909.07528, .

7.Rabinowitz, N. C. (2019): “Meta-learners’ learning dynamics are unlike learners,’” arXiv preprint arXiv:1905.01320, .

8.Schaul, T., D. Borsa, J. Modayil, and R. Pascanu. (2019): “Ray Interference: a Source of Plateaus in Deep Reinforcement Learning,” arXiv preprint arXiv:1904.11455, .

9.Galashov, A., S. M. Jayakumar, L. Hasenclever, D. Tirumala, J. Schwarz, G. Desjardins, W. M. Czarnecki, Y. W. Teh, R. Pascanu, and N. Heess. (2019): “Information asymmetry in KL-regularized RL,” arXiv preprint arXiv:1905.01240, .

10.Merel, J., L. Hasenclever, A. Galashov, A. Ahuja, V. Pham, G. Wayne, Y. W. Teh, and N. Heess. (2018): “Neural probabilistic motor primitives for humanoid control,” arXiv preprint arXiv:1811.11711, .

11.Lowe, R., Y. Wu, A. Tamar, J. Harb, O. A. I. P. Abbeel, and I. Mordatch. (2017): “Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments,” Advances in Neural Information Processing Systems, .

12.Saxe, A. M., J. L. McClelland, and S. Ganguli. (2013): “Exact solutions to the nonlinear dynamics of learning in deep linear neural networks,” arXiv preprint arXiv:1312.6120, .

13.Rahaman, N., A. Baratin, D. Arpit, F. Draxler, M. Lin, F. A. Hamprecht, Y. Bengio, and A. Courville. (2018): “On the spectral bias of neural networks,” arXiv preprint arXiv:1806.08734, .

14.Wang, J. X., Z. Kurth-Nelson, D. Tirumala, H. Soyer, J. Z. Leibo, R. Munos, C. Blundell, D. Kumaran, and M. Botvinick. “Learning to reinforcement learn, 2016,” arXiv preprint arXiv:1611.05763, .

成为VIP会员查看完整内容
21+
0+

机器学习的核心是有效地识别数据中的模式和关系。许多任务,例如查找词汇之间的关联以便您能够做出准确的搜索建议,或者在社交网络中定位具有相似兴趣的个人,很自然地以图Graph的形式表达出来。图驱动机器学习教你如何使用基于图形的算法和数据组织策略来开发高级的机器学习应用程序。

对这项技术

对于任何涉及到大型数据集中的模式匹配的任务,基于图的机器学习都是一个非常强大的工具。应用程序包括安全问题,如识别欺诈或检测网络入侵,应用程序领域,如社交网络或自然语言处理,以及更好的用户体验,通过准确的推荐和智能搜索。通过将数据组织和分析为图形,您的应用程序可以更流畅地使用以图形为中心的算法(如最近邻算法或页面排名算法),在这些算法中,快速识别和利用相关关系非常重要。现代图形数据存储(如Neo4j或Amazon Neptune)是支持图形机器学习的现成工具。

关于这本书

图驱动机器学习向您介绍图技术概念,强调图在机器学习和大数据平台中的作用。您将深入了解各种技术,包括数据源建模、算法设计、链接分析、分类和集群。在掌握核心概念之后,您将探索三个端到端项目,它们将演示体系结构、最佳设计实践、优化方法和常见缺陷。作者亚历山德罗·内格罗在构建基于图形的机器学习系统方面的丰富经验在每一章中都有所体现,你可以从他与真实客户合作的实例和具体场景中学习!

里面有什么

  • 机器学习项目的生命周期
  • 三端到端应用程序
  • 大数据平台中的图形
  • 数据源建模
  • 自然语言处理、推荐和相关搜索
  • 优化方法
成为VIP会员查看完整内容
graphpoweredmachinelearning-180627133931.pdf
Negro_GPML_MEAP_V01_ch1.pdf
17+
0+

导读: 图神经网络(GNN,Graph Neural Networks)是 2019 年 人工智能领域最热门的话题之一。图神经网络是用于图结构数据的深度学习架构,将端到端学习与归纳推理相结合,业界普遍认为其有望解决深度学习无法处理的因果推理、可解释性等一系列瓶颈问题,是未来 3 到 5 年的重点方向。2019 年图神经网络有哪些研究成果值得关注?2020 年它又将朝什么方向发展?让我们一起来一探究竟。文末有送新书《深入浅出图神经网络-GNN原理解析》福利,提前祝各位专知用户鼠年春节快乐!

1. GNN:从尝鲜进入快速爆发期

近年来,作为一项新兴的图数据学习技术,图神经网络(GNN)受到了非常广泛的关注。在2018年年末,出现了一个十分有趣的现象,该领域同时发表了三篇综述类型论文,这种“不约而同”体现了学术界对该项技术的认可。

  • 清华大学孙茂松课题组:《图神经网络: 方法与应用》综述论文,20页pdf

  • 清华大学朱文武课题组:《图深度学习》综述论文,15页pdf

  • 图神经网络概述第三弹:来自IEEE Fellow的GNN综述

事实上,在2019年的各大顶级学术会议上,与图神经网络有关的论文也占据了相当可观的份额。相信在未来几年,这种流行的趋势会只增不减。

图神经网络技术的出现有其必然性和重要性。在深度神经网络技术兴起的前几年,图像、语音、文本等形式的数据都能够得到很好的“深度学习”,并获得了十分优秀的效果。这促使一大类产业界的相关应用进入了实用阶段,如人脸识别、语音助手、机器翻译等。尽管如此,深度学习一直缺乏对另一类形式的数据—图数据(或称网络数据)进行有效地适配。作为一类主要描述关系的通用数据表示方法,图数据在产业界有着更加广阔的应用场景,在诸于社交网络、电子购物、物联网、生物制药等场景中,都可以找到图数据的影子。将深度学习技术的成功经验迁移到图数据的学习中来,是一种十分自然且必要的需求。在这样的背景下,图神经网络的出现,很好地填补了上述技术空白,实现了图数据与深度学习技术的有效结合,使得深度学习能够在图数据的相关应用场景中继续攻城略地。事实上,纵观这三年,图神经网络技术的相关应用研究已经拓展到了极其宽广的局面,从视觉推理到开放性地阅读理解问题,从药物分子的研发到5G芯片的设计,从交通流量预测到3D点云数据的学习,该项技术展示出了及其重要且极具渗透性的应用能力,这种能力必将给产业界带来极高的应用价值

2. GNN 的原理、变体及拓展 GNN 作为一个新兴的技术方向,其原理解读以及各类变体与拓展构成了理论研究的热点,这些论文很好地回答了 GNN 的优缺点以及相关的适应性改造问题。

2.1 GNN 原理解读 当前 GNN 研究的第一个热点在于其相关能力的理论化研究。在 “How Powerful are Graph Neural Networks?” 和 “On the equivalence between graph isomorphism testing and function approximation with GNNs” 中,都对 GNN 在图同构问题上的表现进行了探讨。图同构问题是辨别给定的两个图是否一致,同构图如下图所示。这个问题考验了算法对图数据结构的辨别能力,这两篇文章都证明了 GNN 模型具有出色的结构学习能力。图中天然包含了关系,因此许多 GNN 相关的工作就建立在对给定系统进行推理学习的研究上,在这些研究中,“Can graph neural networks help logic reasoning? ” 和 “The Logical Expressiveness of Graph Neural Networks” 论证了 GNN 在逻辑推理上的优秀表现。“All We Have is Low-Pass Filters ” 从低通滤波的层面解释了 GNN 的有效性。这些原理解读,有助于我们对 GNN 的特色专长建立一种更加清晰的认识。

2.2 GNN 的各类变体 GNN 模型的相关变体研究是领域内的另一个热点,这些变体在一些方面提升了 GNN 的能力表现。我们知道 GCN 模型来源于图信号上的傅里叶变换,“Graph Wavelet Neural Network” 引入了图信号上的小波变换来改造 GCN 模型,将卷积计算变换到空域局部邻域内。将数据表征从欧式空间转化到双曲空间,不仅能获得更好地层次化表示,同时能大大节约空间维度,“Hyperbolic Graph Convolutional Neural Networks”和 “Hyperbolic Attention Networks” 同时将 GNN 拓展到了双曲空间上去。

在 “MixHop: Higher-Order Graph Convolutional Architectures via Sparsified Neighborhood Mixing” 和 “Diffusion Improves Graph Learning”中,同时将原始 GCN 中的邻居定义由一阶拓展到高阶,强化了模型低通滤波的特性。

2.3 GNN 在各类图数据及任务上的拓展 图数据是一个种类繁多的数据家族,模型对这些不同类型的数据如何适配,是 GNN 发展的另一重要方向。下表给出了相应的概括:

在图数据相关的任务上,图的分类是一个重要而又未完全解决好的问题,其难处在于如何在图数据上实现层次化的池化操作从而获得图的全局表示,“Graph Convolutional Networks with EigenPooling”中给出了一种新的操作思路。

3. GNN 相关应用

近几年,以深度学习为代表的人工智能技术给产业界带来了新的变革。该技术在视觉、语音、文本三大领域取得了极大的应用成果,这种成功,离不开深度学习技术对这三类数据定制化的模型设计工作。脱离于这三类数据之外,图数据是一种更加广泛的数据表示方式,夸张地说,没有任何一个场景中的数据彼此之间是孤立存在的,这些数据之间的关系都可以以图的形式进行表达。下图给出了一些图数据的使用场景:

3.1 GNN 的应用简述

GNN的适用范围非常广泛,既可以处理具有显式关联结构的数据如药物分子、电路网络等,也可以处理具有隐式关联结构的数据如图像、文本等。近年来,GNN已经被用来解决各行各业的问题,例如生物化学领域中的分子指纹识别、药物分子设计、疾病分类等,在交通领域对交通需求预测、道路速度预测,在计算机图像处理领域的目标检测、视觉推理等,在自然语言处理领域的实体关系抽取、关系推理等。在引文[1]中分成六个方向:自然语言处理、计算机视觉、自然科学研究、知识图谱、组合优化、图生成,对GNN的应用做出了较为全面与细致的归纳总结。

纵观GNN的各类应用,GNN表现出了如下三点优势:

1. GNN具有强大的图数据拟合能力。作为一种建立在图上的端对端学习框架,GNN展示出了强大的图数据拟合能力。图数据是科学与工程学领域中一种十分常见的数据研究对象,因此,GNN也被应用到了很多相关场景下,并且都取得了不错的效果。通常这些应用均会利用GNN去拟合研究对象的一些理化性质,从而指导或加速相应的科研与开发工作。比如引文利用[2]GNN去拟合两图中节点对的组合性质,从而提升蛋白质相互作用点预测的精度,而蛋白质相互作用点预测是药物分子发现与设计工作的重要构成部分;引文[3]将高频电路抽象成图数据,利用GNN去拟合其电磁学性质,相较于严格的电磁学仿真计算,该方法能极大的加速高频电路(比如5G 芯片)的设计工作。

2. GNN 具有强大的推理能力。计算机要完成推理任务、离不开对语义实体的识别以及实体之间关系的抽取,很自然地,GNN被应用到了很多推理任务的场景中去。相较于之前大多基于关系三元组的建模方式,GNN能够对表征语义关系的网络进行整体性地建模,习得更加复杂与丰富的语义信息,这对提升推理任务的效果大有裨益。深度学习经过近几年的长足发展,在许多识别相关的任务上都取得了前所未有的成果,基于此,需要更深程度理解数据的推理任务被提出来,比如计算机视觉中的视觉问答(Visual Question Answering)、视觉推理(Visual Reasoning),自然语言处理中的多跳推理(Multi-hop Reasoning)等。随着GNN的流行,很多工作也尝试将GNN以一种端对端地形式嵌入到学习系统中去,提升相关任务的效果。我们举两个例子说明:第一个是在基于事实的视觉问答(Fact-based Visual Question Answering)中,问题不再直接包含答案内容,需要学习系统经过推理将问题中的事实关系正确映射到答案中的实体上。在引文[4]中通过引入GCN同时建模多条事实来提升对答案推理的正确性,这一方法在相关数据集上取得了极大的效果提升。第二个是多跳推理,相比于之前的阅读理解任务,多跳推理需要跨越多个段落甚至多个文档来寻找实体之间的多跳关系,这是一个更加开放更加复杂的推理任务。在引文[5]中通过嵌入GNN,构造了一个抽取加推理的双线学习框架,使得学习系统在可解释性提升的同时也在相关数据集上获得了极大的效果提升。

3. GNN与知识图谱结合,可以将先验知识以端对端的形式高效地嵌入到学习系统中去。人类在学习后习得的知识,会被大脑神经系统进行系统地加工并存储起来,作为之后相关活动发生时的一种先验知识高效提升人类的应对表现,并且往往知识之间会产生各种关联,形成“知识地图”。这种机制对应着数据科学领域中一些技术如知识图谱的广泛应用。从数据建模的层面说,这些知识(或者规则、经验、常识、事实等)为模型提供了额外的相关信息,可以有效提升学习系统的效果。作为一种端对端的图数据学习模型,GNN结合知识图谱,可以将先验知识高效地嵌入到任意一种学习系统中去,提升任务效果。比如引文[6]在零样本学习任务中利用GCN对词汇网络(WordNet)进行建模,实现了类别之间的语义关系到其视觉表示上的迁移,从而大大提升视觉模型在一些完全不提供训练样本的类别上的分类准确率。引文[7]通过补充额外的知识图谱信息,将知识图谱与用户-商品二部图构成一种合成的图结构,然后利用GNN进行推荐任务建模,同时增强了推荐系统的准确率、多样性与可解释性。

总的来说,正是由于GNN强大而灵活的特性,使得其不管在图数据本身的学习任务上,还是在被以端对端的形式融合到其他的学习任务中,都能表现出自己的独特优势。当然,上面一以概之的优势需要与实际场景进行深度耦合,在具体地应用中寻找精确的定位,只有这样,才能在相关场景中获得优秀的效果。

3.2 应用案例

在最近一年,GNN 的应用场景不断延伸,覆盖了计算机视觉、3D 视觉、自然语言处理、科研、知识图谱、推荐、反欺诈等场景,下面我们将逐项概括。

3.2.1 计算机视觉 在前几年跨越了视觉识别的大门之后,推理相关的视觉任务已经成为了了各大 CV 顶会的主要关注点,如:视觉问答、视觉推理、语义图合成、human-object interaction 等,甚至如视觉的基础任务,目标检测也需要用到推理来提升性能。在这些任务中,已经大量出现应用 GNN 的相关工作。下面我们以最常见的视觉问答任务举例说明,在“Relation-Aware Graph Attention Network for Visual Question Answering”一文中,给出了将 GNN 与视觉模型结合的示意图:

在上图中,视觉模型的作用是提取给定图像中的语义区域,这些语义区域与问题一并当做图中的节点,送到一个 GNN 模型中进行推理学习,这样的一种建模方式,可以更加有效地在视觉问答中对问题进行自适应地推理。

另外一个有意思的场景是少样本或零样本学习,由于这类场景下样本十分缺乏,如何充分挖掘样本之间的潜在关联信息(比如标签语义关联、潜层表达关联)就成为了一个至关重要的考量因素,引入 GNN 成为了一个非常自然的动作,相关工作有“Rethinking Knowledge Graph Propagation for Zero-Shot Learning”、“Edge-labeling Graph Neural Network for Few-shot Learning”。

3.2.2 3D 视觉

3D 视觉是计算机视觉的又一重要发展方向,世界是 3D 的,如何让计算机理解 3D 世界,具有极其重要的现实价值。3D 视觉中,点云数据是一种十分常见的数据表示方法。

点云数据通常由一组坐标点(x,y,z)表示,这种数据由于映射了现实世界中物体的特征,因此存在一种内在的表征物体语义的流行结构,这种结构的学习也是 GNN 所擅长的。需要说明一点的是,在 3D 视觉中流行的是几何学习 Geometry Learning,当下,几何学习与 GNN 在一些场景如点云分割、点云识别等正在深度融合,相关论文有 “Graph Attention Convolution for Point Cloud Segmentation”、“Semantic Graph Convolutional Networks for 3D Human Pose Regression”。

3.2.3 视觉推理

推理是人类具有的高阶能力,是人类智能中很重要的部分,如何让计算机拥有推理能力是人工智能领域一项重要的课题。

以视觉领域为例,尽管卷积神经网络等模型取得了极大的成功,但是仍不具备复杂推理的能力,比如图 7‑4中,要判断蓝色方框的目标是什么。人类在看到这副图像的时候,根据图中的棒球棒、人物的姿态,首先会得出这张图在描述打棒球,然后以此为依据,对于蓝色的目标区域,根据这个人的姿势和手部姿态判断他是处于接棒球的状态,因此可以推断蓝色区域为棒球手套。而使用基于卷积网络的方法进行识别,除了在更大的感知野内获得的层次化特征之外,无法通过图像的语义信息来准确推理出蓝色区域的目标。

文献[15]为了解决上述的局限,提出了一个融合了空间信息和语义信息的迭代式视觉推理系统。整个系统有两个核心的模块,一是在卷积网络基础上引入了记忆机制的局部推理模块,二是融合了空间和语义信息的全局推理模块。整体的推理框架如下图所示。

推理框架结构图

局部推理模块以记忆模块S作为输入进行预测,其中记忆模块S用来存储通过卷积网络提取的目标区域的位置特征和图像特征。

全局推理模块主要基于空间特征和语义特征进行推理。空间指的是建立位置上不相邻区域的联系,语义指的是利用外部的知识库建立类别与类别之间的联系。为了综合利用这两方面的信息,采用GNN作为推理模块。图的构成使用了两种类型的节点,由所有的区域组成的区域节点,和所有区域对应的实体作为节点。节点与节点之间的边通过如下三种关系建立,第一种是区域与区域之间通过它们距离关系进行关联,边的权重由像素距离的核函数归一化值决定;另外对于有重叠的区域,通过IoU值建立它们之间的关系。第二种是区域与实体之间的关系,根据对区域预测的概率分布(softmax输出),建立与实体之间的关系,边的权重为对应的概率值。第三种是实体与实体之间的关系,这个关系来自于外部的知识图谱,可以将多种实体关系考虑进来,比如类别从属关系、部件从属关系(腿和椅子)、单复数关系、水平对称关系等。

以上述构建的图为基础,使用GNN来进行推理,区域节点的特征来自卷积网络,实体节点的特征来自预训练的词向量。GNN推理是为了融合空间和语义信息对区域进行推理,因此使用了两条推理路径。一条是区域——区域,它聚合多个区域的特征以得到空间特征;另一条是区域——实体——实体,它分为两步,第一步将区域的特征聚合到实体节点并与实体节点特征融合,然后对不同类型的实体关系进行聚合得到实体的特征,这对应着语义关系。为了得到区域的最终特征,通过实体——区域的关系,将实体携带的语义特征聚合到区域节点上,并与第一条推理路径得到的空间特征进行融合。整个过程如下图所示。

全局推理模块示意图

推理通常不是一步到位的,而是迭代式的。为了将前一轮的信息传递到后一轮,可以使用记忆模块,局部推理和全局推理使用不同的记忆模块和,每次迭代得到的输出用于更新记忆模块。另外模型还引入了注意力机制,以便融合当前预测值与来自其他迭代过程产生的预测值。模型在不同的训练数据集上进行试验,将识别效果对比卷积神经网络提升了3.7% ~ 8.4%。

3.2.4 自然语言处理

GNN 与 NLP 的结合,关键点也在于 GNN 优秀的推理能力。GNN 在一些场景如:阅读理解、实体识别与关系抽取、依存句法分析中都有应用。下面我们以多跳阅读(Multi-hop reading)为例,多跳阅读是说在阅读理解的过程中,往往需要在多篇文档之间进行多级跳跃式的关联与推理,才能找到正确答案,相比较以前的单文档问答数据集,这是一个更具有开放性与挑战性的推理任务。下图给出了多跳阅读的样例:

在“Cognitive Graph for Multi-Hop Reading Comprehension at Scale”一文中,作者基于 BERT 和 GNN 的实现可有效处理 HotPotQA 数据集中有关多跳阅读问题的数百万份文档,在排行榜上的联合 F1 得分为 34.9,而第二名的得分只有 23.6。

3.2.5 知识图谱

由于知识图谱本身就是一种图数据,因此知识图谱 +GNN 的组合自然就成了解决各类知识图谱问题的新手段。关系补全或预测问题是知识图谱的一大基础任务,通过关系的推理补全可以大大提升知识图谱的应用质量,下图给出了关系补全的一个实例:

在论文“Learning Attention-based Embeddings for Relation Prediction in Knowledge Graphs”中,作者选择用 GNN 对知识图谱进行建模,相比之前基于单独三元组关系的推理,基于 GNN 的方法可以更好地捕捉三元组邻域复杂而隐含的模式信息,这种优势对完成关系补全任务具有十分重要的作用。

实体对齐是知识图谱的另一类任务,给定多个知识图谱,需要首先确定各自图谱中的哪些实体描述的是同一个对象,完成这项工作才能正确地将它们合成一个大的知识图谱。论文“Multi-Channel Graph Neural Network for Entity Alignment”提出了一种基于 GNN 的实体对齐方案,实验表明,在多个数据集上,该方案均取得了最好的效果。

近几年,知识图谱在工业界声势日隆,在这种语境下,我们也称知识图谱为业务图谱,在论文“Estimating Node Importance in Knowledge Graphs Using Graph Neural Networks”中,作者成功运用 GNN 技术对电影业务图谱进行建模,在电影流行度预测上效果表现十分出色。

另外,知识图谱与推荐系统结合也成了近期一个比较热门的方向,这部分可参考下一节推荐系统中的讲解。

3.2.6 推荐系统

推荐是各大互联网公司十分重要的营收手段,因此一直以来备受工业界与学术界双重关注。过去这几年,推荐系统由早期的协同过滤算法发展到 MF 模型、再到之后的 Wide&Deep,以及基于 Network Embedding 的方法,可以明显地看到基于神经网络的方法正在逐渐占据主要位置,而 GNN 的出现,又一次大大加速了这个技术趋势。

以电商平台的推荐为例,推荐系统的核心数据在于用户 - 商品交互的二部图,而基于神经网络的多数方法将二部图中的实体映射到一个合适的向量空间中去,使得在图上距离越近的两个实体在向量空间中的距离也越近,如下图所示:

GNN 本身是一种深度模型,与推荐系统结合之后,多层 GNN 模型可以更好地捕捉用户与商品之间的高阶协同关系,论文“Neural Graph Collaborative Filtering”中,作者论证了多层 GNN 所带来的“Deep”与“High order”效益对推荐质量的有效提升。

除了推荐系统算法模型本身的研究,另一种思路在于如何使推荐系统有效融合进额外的信息,如用户端社交网络的信息、商品端商品知识图谱的信息。这类信息中通常也蕴含了极强的关系,因此可以非常自然地与用户 - 商品二部图合在一起构成一个更大的异构图。下图给出了与电影知识图谱的结合示意图:

图片来源 https://arxiv.org/pdf/1902.06236.pdf

有了这样的图数据抽象之后,引进 GNN 进行推荐建模也就成了一种自然的选择,相关论文有 KGAT:“ Knowledge Graph Attention Network for Recommendation”、“Metapath-guided Heterogeneous Graph Neural Network for Intent Recommendation”、“Session-based Social Recommendation via Dynamic Graph Attention Networks”等。

另外一个十分重要的、也与推荐系统息息相关相关的业务场景是广告点击率(CTR)预测。该场景下的样本通常是由多领域的特征数据构成,比如用户域、设备域、广告域等等,如何建模这些数据域之间的特征交互,成为了该任务的核心。最近基于神经网络的方法都是直接将各个域之间的特征拼接起来然后送到上层的网络模型中,以期得到这些域之间的高阶交互,这种简单的非结构化的拼接方式,会大大限制模型的学习能力。在“Fi-GNN: Modeling Feature Interactions via Graph Neural Networks for CTR Prediction”一文中,作者将各个域之间以图的形式连接起来(下图中的 Feature graph),然后用 GNN 建模各个特征域之间高阶复杂的交互关系,相比之前的模型取得了最好效果。

4. GNN的未来展望

作为一种新兴的神经网络技术,GNN的快速发展离不开近些年深度学习在各方面的重要积淀。而与GNN的结合,可以助力深度学习系统拓展其在更广领域、更多层面的场景任务中获得成功。我们非常确信在未来几年,GNN会在越来越多的场景下得到应用。

接下来,我们从三个方面总结对GNN未来研究的展望。当然下述观点仅供参考,读者朋友也应有自己的思考。

充分适应复杂多变的图数据。一方面,图数据的类型及其繁杂,如关系经常发生变化的动态图、一条边连接两个以上节点的超图,这些图数据的结构更加复杂,需要GNN进行针对性地设计。二方面,GNN针对异构图与属性图还需要更充分地研究与设计,以学习其中丰富多样的语义信息。

在更多推理任务上的应用与学习机制的研究改进。推理任务已经成为当下深度学习系统面临的核心任务之一,虽然GNN已经展现出了在相关任务上的独特优势,但是内在的作用机理还需要充分研究。通过对其学习机制地不断完善与发展,来促使GNN在更多、更复杂的推理任务中获得更好的表现。

对超大规模图建模的支持。现有大多数图神经网络都无法扩展到规模巨大的图数据中去。GNN的训练是一种协同的学习方式,在一次迭代中,节点固有的上下文会导致其状态的更新需要涉及到大量邻居节点的隐藏状态,复杂度极高,难以应用小批量训练方式提升计算效率。尽管已有研究提出基于抽样与分区的手段来解决这类问题,但这些手段仍不足以扩展到工业级超大规模属性图的学习中去。

作者介绍:

刘忠雨,毕业于华中科技大学,资深图神经网络技术专家,极验科技人工智能实验室主任和首席技术官。在机器学习、深度学习以及图学习领域有 6 年以上的算法架构和研发经验,主导研发了极验行为验证、深知业务风控、叠图等产品。

文末福利

随着图神经网络的热潮出现,了解和掌握图神经网络相关技术原理已经成为未来从事 AI 相关工作的一种趋势。刘忠雨和他所在技术团队撰写了《深入浅出图神经网络》一书并于近日上市 ,这是第一本系统讲解图神经网络相关基础知识和原理的书籍,适合想要入门并初步实践图神经网络技术的读者,以及对系统学习图神经网络技术感兴趣的读者。

本书分为三大部分:

第一部分为基础篇,包括第1~4章,由李彦霖撰写。主要介绍学习图神经网络所需的基础知识,包括图的基本概念、卷积神经网络以及表示学习,帮助初学者更加清晰地感受到图神经网络技术与深度学习技术的一脉相承。

第二部分为高级篇,包括第5~9章。这部分是本书的重点,主要介绍图卷积神经网络的理论基础和性质,图神经网络的各种变体和框架范式,图分类以及基于GNN的图表示学习。该部分在各章节附有相关的实践案例,为读者规划了完整的从理论基础到上手实践的学习路线,帮助读者系统全面地学习图神经网络。这部分有两位作者,相关的理论部分由笔者撰写,实践案例的代码由李彦霖提供。

第三部分也就是最后一个章节,主要是介绍图神经网络目前的一些应用,图神经网络的应用非常广泛,现实应用场景非常多。鉴于本书的规划,这里只是略着笔墨,旨在抛砖引玉,为读者带来一些应用场景的认知。这部分由周洋撰写。

最后,每个章节都附有相关的参考文献。

本书特色

本书围绕着图神经网络技术,给读者朋友相对系统地阐述了该项技术的方方面面。其中比较有特色的地方有如下几点:

(1)详细阐述了图卷积模型的由来,以及什么是频域图卷积和空域图卷积,相信这是很多初学者入门该项技术的第一个拦路虎;

(2)集中阐述了图卷积模型的一些性质,这些性质的解读对读者较深入地理解图神经网络技术有着重要的作用;

(3)给出了关键部分的代码,希望借此辅助读者清晰理解书中一些公式里变量的具体含义。

此外,本书为了帮助读者理解图神经网络的相关概念,提供了很多的示意图,希望读者能够建立起更加形象的理解方式。

本次专知联合华章图书出版社为专知的粉丝送出《深入浅出图神经网络》纸质书籍 8 本!

在本文下方留言给出你想要这本书的理由,截至开奖时间,留言点赞数最高的前 8 位赠送本书(留言择优放出)。开奖时间:1 月 31 日(周五)18:00,获奖者每人获得一本。欢迎大家转发邀请好友点赞,获取新书,先到先得!

没获奖对读者可以点击链接购买此书!

成为VIP会员查看完整内容
21+
0+

题目:Applied Reinforcement Learning with Python With OpenAI Gym, Tensorflow, and Keras

深入研究强化学习算法,并通过Python将它们应用到不同的用例中。这本书涵盖了重要的主题,如策略梯度和Q学习,并利用框架,如Tensorflow, Keras,和OpenAI Gym。

Python中的应用增强学习向您介绍了强化学习(RL)算法背后的理论和用于实现它们的代码。您将在指导下了解OpenAI Gym的特性,从使用标准库到创建自己的环境,然后了解如何构建强化学习问题,以便研究、开发和部署基于rl的解决方案。

你将学习:

  • 用Python实现强化学习
  • 使用AI框架,如OpenAI Gym、Tensorflow和Keras
  • 通过云资源部署和培训基于增强学习的解决方案
  • 应用强化学习的实际应用

这本书是给谁看的: 数据科学家、机器学习工程师和软件工程师熟悉机器学习和深度学习的概念。

地址:

https://www.springerprofessional.de/en/applied-reinforcement-learning-with-python/17098944

目录:

第1章 强化学习导论

在过去的一年里,深度学习技术的不断扩散和发展给各个行业带来了革命性的变化。毫无疑问,这个领域最令人兴奋的部分之一是强化学习(RL)。这本身往往是许多通用人工智能应用程序的基础,例如学习玩视频游戏或下棋的软件。强化学习的好处是,假设可以将问题建模为包含操作、环境和代理的框架,那么代理就可以熟悉大量的任务。假设,解决问题的范围可以从简单的游戏,更复杂的3d游戏,自动驾驶汽车教学如何挑选和减少乘客在各种不同的地方以及教一个机械手臂如何把握对象和地点在厨房柜台上。

第二章 强化学习算法

读者应该知道,我们将利用各种深度学习和强化学习的方法在这本书。然而,由于我们的重点将转移到讨论实现和这些算法如何在生产环境中工作,我们必须花一些时间来更详细地介绍算法本身。因此,本章的重点将是引导读者通过几个强化学习算法的例子,通常应用和展示他们在使用Open AI gym 不同的问题。

第三章 强化学习算法:Q学习及其变体

随着策略梯度和Actor-Critic模型的初步讨论的结束,我们现在可以讨论读者可能会发现有用的替代深度学习算法。具体来说,我们将讨论Q学习、深度Q学习以及深度确定性策略梯度。一旦我们了解了这些,我们就可以开始处理更抽象的问题,更具体的领域,这将教会用户如何处理不同任务的强化学习。

第四章 通过强化学习做市场

除了在许多书中发现的强化学习中的一些标准问题之外,最好看看那些答案既不客观也不完全解决的领域。在金融领域,尤其是强化学习领域,最好的例子之一就是做市。我们将讨论学科本身,提出一些不基于机器学习的基线方法,然后测试几种基于强化学习的方法。

第五章 自定义OpenAI强化学习环境

在我们的最后一章,我们将专注于Open AI Gym,但更重要的是尝试理解我们如何创建我们自己的自定义环境,这样我们可以处理更多的典型用例。本章的大部分内容将集中在我对开放人工智能的编程实践的建议,以及我如何编写这个软件的建议。最后,在我们完成创建环境之后,我们将继续集中精力解决问题。对于这个例子,我们将集中精力尝试创建和解决一个新的视频游戏。

成为VIP会员查看完整内容
22+
0+

简介:

利用先进的架构开发和优化深度学习模型。这本书教你复杂的细节和微妙的算法是卷积神经网络的核心。在高级应用深度学习中,你将学习CNN的高级主题和使用Keras和TensorFlow的对象检测。

在此过程中,将了解CNN中的基本操作,如卷积和池,然后了解更高级的体系结构,如先启网络、resnets等。在本书讨论理论主题的同时,您将通过许多技巧和技巧发现如何有效地使用Keras,包括如何使用自定义回调类自定义登录Keras、什么是即时执行以及如何在模型中使用它。最后,您将研究对象检测如何工作,并在Keras和TensorFlow中构建YOLO算法的完整实现。在这本书的最后,你将在Keras中实现各种各样的模型,并学习到许多将你的技能带到下一个层次的高级技巧。

这本书将会让我们学到:

  • 了解卷积神经网络和对象检测的工作原理
  • 将重量和模型保存在磁盘上
  • 暂停训练,稍后再重新开始
  • 在代码中使用硬件加速(gpu)
  • 使用数据集TensorFlow抽象并使用预训练模型和传输学习
  • 删除和添加层到预先训练的网络,以适应您的具体项目
  • 将预先训练好的模型(如Alexnet和VGG16)应用于新数据集

作者:

Umberto Michelucci,TOELT llc的创始人,该公司专注于人工智能科学研究。同样是数值模拟、统计学、数据科学和机器学习方面的专家。多年来,他不断拓展研究生课程和研究项目的专业知识。除了在乔治华盛顿大学(美国)和奥格斯堡大学(DE)有几年的研究经验,他还有15年的数据库、数据科学和机器学习的实践经验。他目前在Helsana Versicherung AG公司负责深度学习、新技术和研究。

成为VIP会员查看完整内容
17+
0+

简介:

使用Python、OpenCV库构建计算机视觉的实际应用程序。这本书讨论了不同方面的计算机视觉,如图像和对象检测,跟踪和运动分析及其应用实例。作者首先介绍了计算机视觉,然后使用Python从头开始创建OpenCV。下一节讨论专门的图像处理和分割,以及计算机如何存储和处理图像。这涉及到使用OpenCV库进行模式识别和图像标记。接下来,将使用OpenCV处理对象检测、视频存储和解释,以及人类检测。跟踪和运动也进行了详细的讨论。该书还讨论了如何使用CNN和RNN创建复杂的深度学习模型。最后对计算机视觉的应用现状和发展趋势进行了总结。

阅读本书之后,您将能够理解并使用Python、OpenCV实现计算机视觉及其应用程序。您还将能够使用CNN和RNN创建深度学习模型,并了解这些前沿的深度学习架构是如何工作的。

您将学习

  • 了解什么是计算机视觉以及它在智能自动化系统中的整体应用。
  • 探索构建计算机视觉应用程序所需的深度学习技术。
  • 使用OpenCV、Python和NumPy中的最新技术构建复杂的计算机视觉应用程序。
  • 创建实际的应用程序,如:人脸检测和识别,手写识别,对象检测,跟踪和运动分析。

作者:

Sunila Gollapudi是Broadridge Financial Solutions India (Pvt)有限公司的执行副总裁。拥有超过17年的架构、设计和开发以客户为中心、企业级和数据驱动的解决方案的经验。在过去的十年中,她主要专注于银行和金融服务领域,是一名数据鉴赏家和架构师,擅长设计一个通过分析最大化数据价值的整体数据策略。她的专长包括通过综合业务和领域驱动因素以及大数据工程和分析领域的新兴技术趋势来构建整体智能自动化战略;领导针对CI/CD的云迁移和DevOps战略;指导应用程序现代化、重用和技术标准化计划。

成为VIP会员查看完整内容
25+
0+

【导读】自注意力机制Self-attention近年来在深度学习方法中得到了广泛的应用,围绕self-attention的transformer模型已经在自然语言处理中成为基础模型构件,能够建模序列模型RNN/LSTM的作用,并且能够并行化。但是与卷积神经网络相比,self-attention能否建模达到同样的作用?最近,来自瑞士联邦理工学院在ICLR2020的论文验证了self-attention与卷积层的关系《On the Relationship between Self-Attention and Convolutional Layers 》,表明一个自注意力层可以表达任何卷积滤波器,只要有足够的头和使用相对位置编码。

Self-attention对文本处理产生了很大的影响,并成为自然语言理解NLU的不可缺少的构建模块。但是这种成功并不局限于文本(或者一维序列)——基于transformer的架构可以在视觉任务上打败最先进的ResNet技术[1,2]。为了解释这一成果,我们的工作[3]表明,self-attention可以表达CNN层,这种卷积滤波层是在实际任务中得到。我们提供了一个互动网站来探索我们的结果。

图1: 9个头的一个查询像素(黑色中心正方形)的注意力得分(单独标绘)。如果在每个查询像素上,每个注意力头都能在任意的移动中注意到单个像素(红色)会怎么样?然后,自注意层可以表示一个大小为3×3的卷积滤波器……我们证明了多头自注意层有能力表现这种模式,并且这种行为是在实际中学习得的。多头自注意是卷积层次的泛化。

Ashish Vaswani和同事[4]引入的transformer架构已经成为自然语言理解的主要工具。transformer与以往的方法,如递归神经网络(RNN)和卷积神经网络(CNN)的关键区别在于transformer可以同时处理输入序列中的每一个单词。

自注意力与卷积层 Self-Attention & Convolutional Layers

为了指出卷积层和自注意力层之间的相似点和不同点,我们首先回忆一下它们是如何处理形状为W×H×D的图像的。CNNs背后的机制是很容易理解的,但是将transformer架构从1D(文本)提升到2D(图像)需要很好地掌握自注意力机制。你可以参考所有你需要的Attention is All You Need[4]的论文和Transformer的博客文章The Illustrated Transformer来解释1D的情况。

卷积层 Convolutional Layer 卷积神经网络(CNN)由许多卷积层和子采样层组成。每个卷积层学习大小为K×K的卷积滤波器,输入和输出维度分别为Din和Dout。该层的参数化是四维核张量W位数为 K×K×Din×Dout和维数为Dout的偏差向量b进行的。

下图描述了如何计算像素q的输出值。在动画中,我们独立考虑每个核跳跃shift,这种观点可能不太常用,但在下面我们比较卷积和自注意力层时,它将被证明是有用的。

图2: K×K卷积在给定像素(蓝色)处的输出值的计算示意图。

多头自注意力层 Multi-Head Self-Attention Layer CNN和self-attention layers之间的主要区别是一个像素的新值依赖于图像的其他像素。与接受域为 K×K邻域网格的卷积层不同,自注意力的感受野总是全图。这带来了一些缩放的挑战,当我们应用Transformer到图像,我们没有覆盖在这里。现在,让我们定义什么是多头自注意力层。

图3: 由一个多头自注意力层计算一个查询像素(深蓝色)的输出值。右上角显示每个头部的注意概率示例,红色位置表示“注意力中心”。

注意概率的计算基于输入值X。这个张量经常用位置编码来增广(通过加法或拼接),从而使图像中的像素位置之间的距离扩大。注意能力模式的假设例子说明了对像素值和/或位置的依赖关系: 1. 使用查询的值和键像素,2. 只使用关键像素的位置编码,3. 使用关键像素的值及其位置。

再参数化 Reparametrization

你可能已经看到了自我注意力和卷积层之间的相似性。

定理:

自注意力层表达卷积的两个最关键的要求是:

有多个头去处理卷积层感受野的每个像素,

使用相对位置编码来确保翻译的方差相等。

第一点可以解释为什么多头注意力比单头注意力更有效。关于第二点,我们接下来给出了关于如何编码位置以确保自我注意可以计算卷积的见解。

相对位置编码 Relative Positional Encoding

上面描述的自注意力模型的一个关键特性是,它与重排序是等价的,也就是说,它给出的输出与输入像素的打乱方式无关。对于我们期望输入顺序重要的情况,这是有问题的。为了减轻这种限制,对序列中的每个标记(或图像中的像素)进行位置编码,并在应用自注意力机制之前将其添加到标记本身的表示中。

注意概率(图3,右上角)是根据输入值和层输入的位置编码计算的。我们已经看到,对于每个查询像素,每个头部可以聚焦在图像的不同部分(位置或内容)。我们可以明确地分解这些不同的依赖关系如下:

因为卷积层的感受野不依赖于输入数据,所以只需要最后一项就可以实现自我注意力对CNN表现。

我们所忽略的CNN的一个重要特性是翻译的等方差。这可以通过用相对位置编码代替绝对位置编码来实现 这种编码最早是由Zihang Dai和他的同事在TransformerXL[5]提出的。主要的思想是只考虑位置差异δ= k−q之间的关键(像素参加)和查询像素(像素计算)的表示而不是绝对位置的像素的关键。The absolution attention概率可以用一种相对的方式重写:

在这种情况下,注意力得分只取决于移动,我们实现了平移等方差。最后,我们表明,存在一组的相对位置向量维度Dpos = 3以及self-attention参数允许参加像素在任意转移(图1)。我们认为任何卷积过滤器可以由多头self-attention在满足在上面的定理条件下进行表达。

学习注意力模式 Learned Attention Patterns

尽管我们证明了自注意力层有能力表达任何卷积层,但这并不一定意味着这种行为会在实际中可以发挥作用。为了验证我们的假设,我们实现了一个6层的全注意力模型,每层有9个头部。我们在CIFAR-10上训练了一个监督分类目标,并达到了94%的良好准确率(虽然不是最先进的,但已经足够好了)。我们重新使用了从Irawn Bello和同事[1]那里学到的相对位置编码,分别学习了行偏移和列偏移编码。主要的区别是我们只使用相对位置来设定注意概率,而不是输入值。

图4所示的注意力概率表明,确实,自注意力的行为与卷积相似。每个头部都学会关注图像的不同部分,重要的注意力概率通常都是局部的。

图4: 使用学习的相对位置编码在每个层(行)上的每个头(列)的注意映射。中间的黑色方块是查询像素。我们重新排列了头部以使其可视化。

我们还可以观察到,第一层(1-3)专注于非常接近和特定的像素,而较深层(4-6)专注于图像整个区域的像素的更多全局斑块。在这篇论文中,我们进一步用更多的头做实验,观察到比网格像素更复杂的(学习到的)模式。

结论 Conclusion

在我们关于卷积层和自注意力之间关系的论文[3]中,我们证明了一个自注意力层可以表达任何卷积滤波器,只要有足够的头和使用相对位置编码。这可能是为什么需要多个头的第一个解释。事实上,多头自注意力层概括了卷积层: 它学习整个图像上感受野的位置(而不是一个固定的网格)。感受野甚至可以根据输入像素的值进行调整,我们将这个有趣的特性留到以后的工作中。希望我们关于图像位置编码的发现也能对文本有帮助,似乎使用2维的相对位置编码就足够了,但我们需要在实践中验证这一点。

参考文献:

Attention Augmented Convolutional Networks  [PDF] Bello, I., Zoph, B., Vaswani, A., Shlens, J. and Le, Q.V., 2019. CoRR, Vol abs/1904.09925.

Stand-Alone Self-Attention in Vision Models  [PDF] Ramachandran, P., Parmar, N., Vaswani, A., Bello, I., Levskaya, A. and Shlens, J., 2019. CoRR, Vol abs/1906.05909.

On the Relationship between Self-Attention and Convolutional Layers  [link] Cordonnier, J., Loukas, A. and Jaggi, M., 2020. International Conference on Learning Representations.

Attention is All you Need  [link] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A.N., Kaiser, L. and Polosukhin, I., 2017. Advances in Neural Information Processing Systems 30: Annual Conference on Neural Information Processing Systems 2017, 4-9 December 2017, Long Beach, CA, USA, pp. 5998--6008.

Transformer-XL: Attentive Language Models beyond a Fixed-Length Context  [link] Dai, Z., Yang, Z., Yang, Y., Carbonell, J.G., Le, Q.V. and Salakhutdinov, R., 2019. Proceedings of the 57th Conference of the Association for Computational Linguistics, ACL 2019, Florence, Italy, July 28- August 2, 2019, Volume 1: Long Papers, pp. 2978--2988.

成为VIP会员查看完整内容
21+
0+
登录查看的更多。 返回顶部
本周荟萃主题
深度学习
机器学习的一个分支,它基于试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的一系列算法。
机器学习
“机器学习是近20多年兴起的一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。机器学习理论主要是设计和分析一些让 可以自动“ 学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与统计推断学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。很多 推论问题属于 无程序可循难度,所以部分的机器学习研究是开发容易处理的近似算法。”

——中文维基百科
强化学习
强化学习 (Reinforcement learning) 是受到行为心理学启发,机器学习中研究个体 (agent) 如何在环境中采取行动以最大化奖赏 (reward) 的领域。

这一问题由于其普遍性,在许多领域中都有研究,例如博弈论,控制论,运筹学,信息论等等。
推荐系统
推荐系统,是指根据用户的习惯、偏好或兴趣,从不断到来的大规模信息中识别满足用户兴趣的信息的过程。推荐推荐任务中的信息往往称为物品(Item)。根据具体应用背景的不同,这些物品可以是新闻、电影、音乐、广告、商品等各种对象。推荐系统利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。个性化推荐是根据用户的兴趣特点和购买行为,向用户推荐用户感兴趣的信息和商品。随着电子商务规模的不断扩大,商品个数和种类快速增长,顾客需要花费大量的时间才能找到自己想买的商品。这种浏览大量无关的信息和产品过程无疑会使淹没在信息过载问题中的消费者不断流失。为了解决这些问题,个性化推荐系统应运而生。个性化推荐系统是建立在海量数据挖掘基础上的一种高级商务智能平台,以帮助电子商务网站为其顾客购物提供完全个性化的决策支持和信息服务。
卷积神经网络
卷积神经网络是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,[1]对于大型图像处理有出色表现。
命名实体识别
命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体,主要包括人名、地名、机构名、专有名词等。
机器翻译
机器翻译,又称为自动翻译,是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程。它是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。
计算机视觉
计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取‘信息’的人工智能系统。
新闻
新闻,是指报纸、电台、电视台、互联网等媒体经常使用的记录与传播信息的 [2] 一种文体,是反映时代的一种文体。新闻概念有广义与狭义之分。广义上:除了发表于报刊、广播、互联网、电视上的评论与专文外的常用文本都属于新闻,包括消息、通讯、特写、速写(有的将速写纳入特写之列)等等; [3] 狭义上:消息是用概括的叙述方式,以较简明扼要的文字,迅速及时地报道附近新近发生的、有价值的事实,使一定人群了解。新闻一般包括标题、导语、主体、背景和结语五部分。前三者是主要部分,后二者是辅助部分。写法以叙述为主兼或有议论、描写、评论等。新闻是包含海量资讯的新闻服务平台,真实反映每时每刻的重要事件。您可以搜索新闻事件、热点话题、人物动态、产品资讯等,快速了解它们的最新进展。
图灵奖
图灵奖(A.M. Turing Award,又译“杜林奖”),由 美国计算机协会(ACM)于1966年设立,又叫“A.M. 图灵奖”,专门奖励那些对计算机事业作出重要贡献的个人。其名称取自计算机科学的先驱、英国科学家 阿兰·麦席森·图灵
Top