实时『人手-物体』姿态估计算法 HOPE-Net

CVPR 2020 的论文《HOPE-Net: A Graph-based Model for Hand-Object Pose Estimation》,基于自适应图卷积技术,作者提出了一种称之为 HOPE-Net 的『人手 – 物体』姿势估计模型,在这个问题上不仅计算结果精度更高、速度也更快,GPU 上达到实时!

HOPE-Net: A Graph-based Model for Hand-Object Pose Estimation
HOPE-Net: A Graph-based Model for Hand-Object Pose Estimation

GitHub地址项目 GitHub 地址

深度学习常用概率分布及实现代码

概率分布,是指用于表述随机变量取值的概率规律。事件的概率表示了一次试验中某一个结果发生的可能性大小。若要全面了解试验,则必须知道试验的全部可能结果及各种可能结果发生的概率,即随机试验的概率分布。作为深度学习从业者,你需要知道概率分布相关的知识。这里有一份最常见的基本概率分布教程,大多数和使用 Python 库进行深度学习有关。

Overview of distribution probability
Overview of distribution probability
  • 均匀分布(连续):均匀分布在 [a,b] 上具有相同的概率值,是简单概率分布。
  • 伯努利分布(离散):先验概率 p(x)不考虑伯努利分布。因此,如果我们对最大似然进行优化,那么我们很容易被过度拟合。利用二元交叉熵对二项分类进行分类。它的形式与伯努利分布的负对数相同。
  • 二项分布(离散):参数为 n 和 p 的二项分布是一系列 n 个独立实验中成功次数的离散概率分布。二项式分布是指通过指定要提前挑选的数量而考虑先验概率的分布。
  • 多伯努利分布,分类分布(离散):多伯努利称为分类分布。交叉熵和采取负对数的多伯努利分布具有相同的形式。
  • 多项式分布(离散):多项式分布与分类分布的关系与伯努尔分布与二项分布的关系相同。
  • β 分布(连续):β 分布与二项分布和伯努利分布共轭。利用共轭,利用已知的先验分布可以更容易地得到后验分布。当β分布满足特殊情况(α=1,β=1)时,均匀分布是相同的。
  • Dirichlet 分布(连续):Dirichlet 分布与多项式分布是共轭的。如果 k=2,则为β分布。
  • 伽马分布(连续):如果 gamma(a,1)/gamma(a,1)+ gamma(b,1)与 beta(a,b)相同,则 gamma 分布为 β 分布。指数分布和卡方分布是伽马分布的特例。
  • 指数分布(连续):指数分布是 α 为 1 时 γ 分布的特例。
  • 高斯分布(连续):高斯分布是一种非常常见的连续概率分布。
  • 正态分布(连续):正态分布为标准高斯分布,平均值为 0,标准差为 1。
  • 卡方分布(连续):k 自由度的卡方分布是 k 个独立标准正态随机变量的平方和的分布。卡方分布是 β 分布的特例。
  • t 分布(连续):t 分布是对称的钟形分布,与正态分布类似,但尾部较重,这意味着它更容易产生远低于平均值的值。

GitHub地址项目 GitHub 地址

fast.ai 面向 Pytorch 的深度学习新书开源

fast.ai 的创始人、前 Kaggle 首席科学家 Jeremy Howard 教授在 Github 上开源了和 Sylvain Gugger 合著的新书《Deep Learning for Coders with fastai and PyTorch》的初稿。全书草稿已公布 22 章,通过这份它你将学到:

  • 如何在计算机视觉、自然语言处理、推荐系统、表格和时间序列数据分析中创建最先进的模型
  • 如何使用全新的 fastai v2 库和 PyTorch
  • 深度学习的基础:什么是神经网络,它们是如何训练的,以及它们如何进行预测
  • 为什么以及如何使用深度学习模型,以及如何使用这些知识来提高模型的准确性、速度和可靠性
  • 如何将你的模型转换为实际的 Web 应用程序,以及在模型出错时如何调试模型。
  • 最新的深度学习技术,尝试真正有意义的实践
  • 如何阅读深度学习研究论文
  • 如何实现深度学习算法从无到有

不过该课程并非面向零基础人士,虽说不要求你处理大量数据,也不需要你具备大学水平的数学能力,但是你至少需要有一年的编程经验。

GitHub地址项目 GitHub 地址

NumPy 中文官方教程

此前,跨象乘云 发布了《NumPy 教程:基础知识》与《Python 知识卡片:NumPy》两份教程。近日,NumPy 官方正式推出了 NumPy 中文版网站,涵盖 NumPy 的一切。在 Github 上一度蝉联最流行的机器学习和数据科学包 NumPy,已经有了非常之系统的中文文档。现在,如果有什么和 NumPy 的问题,只需要浏览这份官方中文文档就足够了。它足够的系统、全面且亲民。NumPy 是使用 Python 进行科学计算的基础软件包,是 Python 生态系统中数据分析、机器学习、科学计算的主力军,极大简化了向量与矩阵的操作处理。除了计算外,它还包括了:

  • 功能强大的 N 维数组对象。
  • 精密广播功能函数。
  • 集成 C/C+和 Fortran 代码的工具。
  • 强大的线性代数、傅立叶变换和随机数功能

此次中文文档还强调了它两大特性:Ndarray 以及切片和索引,这两部分所涉及的功能在日常操作中是十分常见的。

  • Ndarray:一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。ndarray 对象是用于存放同类型元素的多维数组。ndarray 中的每个元素在内存中都有相同存储大小的区域。
  • 切片和索引:ndarray 对象的内容可以通过索引或切片来访问和修改,与 Python 中 list 的切片操作一样。ndarray 数组可以基于 0 – n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组。

这个开源的官方中文版教程可以说是非常全面了。它从最基本的理解 NumPy 开始,教程层层推进,直到让用户掌握进阶的使用方法。

从内容来看,中文版不仅仅是官方英文版本的翻译,还额外增加了「文章」这一栏目。该栏目提供了对 NumPy 背后的矩阵运算原理的详细解释,使得使用者「知其然,也知其所以然」。这是英文版教程中没有的。

以下为这一部分的目录,从这里可以看到,这部分内容主要介绍 NumPy 的基本理论,以及涉及到其应用的理论部分,如数据分析、神经网络实现,以及在其他代码库中的接口等。

基础篇

  • 理解 NumPy
  • NumPy 简单入门教程
  • Python NumPy 教程
  • 创建 NumPy 数组的不同方式
  • NumPy 中的矩阵和向量

进阶篇

  • NumPy 数据分析练习
  • NumPy 神经网络
  • 使用 NumPy 进行数组编程
  • NumPy 实现 K 均值聚类算法
  • NumPy 实现 DNC、RNN 和 LSTM 神经网络算法

深度学习相关

  • OpenCV 中的图像的基本操作
  • MinPy:MXNet 后端的 NumPy 接口

开源人脸口罩检测模型

『山川异域,风月同天』—— 新冠肺炎疫情牵动着举国上下的心,包括跨象乘云™ 在内,众多高科技企业除了向灾区捐赠物资,配合疫情防控工作,延期复工 / 远程办公的同时,也在积极探索如何利用大数据、新一代人工智能等新技术为『战疫』助力。

近日,AIZOO 开源了 PyTorchTensorFlowMXNetKerasCaffe 等五大主流深度学习框架的人脸口罩检测模型和代码。同时,对于学习《多框架人工智能开发》课程的人工智能专业学生而言,是非常好的项目锻炼。

GitHub地址项目 GitHub 地址

吴恩达人工智能系列课程资源

随着近些年来 AI 越来越火的大趋势下,吴恩达一直致力于普及、宣传、推广 AI 教育,包括最前沿、最火爆的 AI 基础课程、深度学习课程等等。本文为截至目前吴恩达 AI 系列课程资源数理,以便为新一代人工智能专业师生梳理一条客观可参考的新一代人工智能学习路径。

    • Machine Learning》:在 Coursera 上发布,涵盖了机器学习的主要知识点:线性回归、逻辑回归、支持向量机、神经网络、K-Means、异常检测等。课程中没有复杂的公式推导和理论分析,让机器学习初学者能够快速对整个机器学习知识点有比较整体的认识,便于快速入门。具备完整的中文笔记在线笔记,以及课后作业(Python / Jupyter)。
    • CS229:吴恩达在斯坦福教授的《机器学习》(CS 229)课程与 Coursera 上的《Machine Learning》类似,但比 Coursera 上的更全面和进阶,对机器学习和统计模式识别进行了广泛的介绍,非常适合在学完《Machine Learning》之后的提升。具备完整的在线笔记配套资源精炼知识点速查表完整速查表机器学习的数学基础,以及线性代数和概率论的翻译
    • Deep Learning Specialization》:吴恩达在 CourseraDeeplearing.ai 上同时发布,开设了由 5 门课组成的深度学习专项课程,掀起了一股人工智能深度学习热潮。该专项课程可以说是深度学习入门的最佳课程之一!不仅知识体系完善,涵盖神经网络基础、浅层神经网络、深层神经网络、神经网络优化、CNN、RNN 等知识;而且配备了相当专业的编程题。在国内的网易公开课上同步发布,具备完整的汉化视频,在线笔记-1 / –2知识卡片,以及完整的 GitHub 资源。
    • CS230:吴恩达在斯坦福大学又开设了高质量的深度学习课程。在这门课中,你将学习深度学习的基础,理解如何构建神经网络,并且学习如何领导一个成功的机器学习项目。课程配备的代码都可以使用 Python 和 TensorFlow 来实现。这门课采用翻转课堂的教学形式,你可以在家观看教学视频,完成深度编程作业和在线测试,然后来到课程做进一步讨论并完成最后的大项目。具备完整的在线视频国内平台项目示例代码课程知识点归纳总结,以及完整速查表 GitHub 资源
    • TensorFlow in Practice》:吴恩达在 Coursera 上线了新的《TensorFlow in Practice》专项课程。显然,这门专项课程更加注重实践,而且使用现在最火热的深度学习框架 TensorFlow。该专项课程总共包含四门课:《TensoFlow 和机器学习、深度学习的介绍》、《TenSorFlow 中的卷积神经网络》、《TenSorFlow 中的自然语言处理》、 《序列、时间序列和预测》。
    • TensorFlow: Data and Deployment》:吴恩达在 Coursera 又有 TensorFlow 专项课程了,这回的主要内容放在了 TensorFlow 移动和 Web 端机器学习,包括:TensorFlow.js、TensorFlow Lite 等 Web 或移动端的使用。主要介绍使用 Tensorflow.js、TensorFlow Lite、TensorFlow Hub 等工具进行数据分析的方法。
    • AI For Everyone》:这是一门非技术课程,更主要的是教大家如何将 AI 业务布局到公司,以及谈谈 AI 对社会的影响。你可以从这门课程中学到:常见人工智能术语的含义,包括神经网络、机器学习、深度学习和数据科学;人工智能做什么,不能做什么;如何在工作中寻找布局 AI 的机会;如何与 AI 团队合作并建立公司 AI 战略;怎么看待 AI 道德伦理。
    • Machine Learning Yearning》:历时半年的大作《Machine Learning Yearning》英文版和中文版《机器学习训练秘籍》已重磅问世了!这本书《Machine Learning Yearning》能够从以下几个方面给你带来收获:优先考虑 AI 项目最有前途的方向;调试机器学习项目中的错误;在复杂设置中构建 ML,例如训练/测试样本不匹配;构建一个 ML 项目,接近甚至达到人类水平;知道什么时候、如何使用端对端学习、迁移学习和多任务学习。具有在线阅读中文版,以及中文版 GitHub 等完整资源。

旷视深度学习中文视频课程

本次介绍的,是由旷视研究院和北大数学科学学院机器学习实验室,联合出品的《深度学习实践》课程,教育资源包含讲课视频(中文)和 PPT(英文)。这套课程 2017 年秋天在北大为大二到大四的学生讲过,当时的课堂被录了下来,可以在 B 站观看,可作为《深度学习》课程的理论补充。旷视课程章节覆盖 ——

  1. 计算机视觉和深度学习介绍
  2. 深度学习中的数学
  3. 神经网络基础与架构设计
  4. 深度学习中的计算技术介绍
  5. 神经网络近似算法
  6. 现代目标检测
  7. 场景文字检测与识别
  8. 图像分割
  9. 循环神经网络
  10. 生成模型与生成对抗网络介绍
  11. 行人重识别
  12. 3D 重建
  13. 视觉对象追踪
  14. 计算机图形学中的神经网络

2020 年人工智能开源生态圈

深度学习为核心的新一代人工智能技术发展到今天,已逐步形成一个庞大的生态结构,覆盖了:经典机器学习深度学习强化学习自然语言处理语音识别计算机视觉、分布式训练、自动建模、IDEs 系统、平台、评分推理系统等完整的细分领域 —— 正确合理的选择与开发内容相匹配的工具,常常会使科学研究工作事半功倍,同时,选择正确高效的工具也是技术应用类专业建设的重要环节。

跨象乘云™ 持续致力为高等院校打造深度学习与新一代人工智能科研教学一体化实验平台,在进一步将深度学习系统与容器化基础设施架构紧密集成的同时,对新一代人工智能开源生态系统提供全方位的支撑,加速高校科研效率及科研成果落地。详细项目列表如下 ——

1. 机器学习

  • SciKit-learn —— 强大的基于 Python 语言的机器学习算法库
  • XGBoost —— 在 Gradient Boosting 框架下实现了 C++机器学习算法
  • Accord.NET —— 完全用 C#编写的音频和图像处理库

2. 深度学习

  • TensorFlow —— 用于机器学习的端到端开源平台
  • PyTorch —— 主流的深度学习工具,开源的机器学习框架
  • MXNET —— 功能齐全,可编程和可扩展的深入学习框架
  • Sonnet —— 由 DeepMind 发布的,在 TensorFlow 上用于构建复杂神经网络的开源库
  • DL4J —— 采用 Java 和 JVM 编写的开源深度学习库

3. 强化学习

  • Gym —— 用于开发和比较强化学习算法的工具
  • Dopamine —— 基于 Tensorflow 的框架,为新入门强化学习研究人员提供的新工具
  • ReAgent —— Facebook 推出的一个构建决策推理系统的模块化端到端平台
  • Tensorlayer —— 面向科学家的深度学习和强化学习库

4. 自然语言处理

  • BERT —— 基于双向 Transformer 的大规模预训练语言模型,NLP 领域中里程碑
  • Transformers —— 神经机器翻译中使用的神经网络,近期 PyTorch-Transformers 非常火爆
  • AllenNLP —— 基于 PyTorch 的 NLP 研究库,利用深度学习来进行自然语言理解
  • flair —— 简单易用的 Python NLP 库,允许将当前最优自然语言处理(NLP)模型应用于文本
  • spaCy —— 工业级强度级的 Python 自然语言处理工具包
  • fastText —— Facebook 人工智能研究实验室(FAIR)开源的一个文本处理库

5. 语音识别

  • Kaldi —— 目前使用广泛的开发语音识别应用的框架
  • DeepSpeech —— 开源语音转文本引擎
  • wav2letter —— Facebook AI 研究院开源的,简单高效的端到端自动语音识别(ASR)系统

6. 计算机视觉

  • YOLO —— 当前深度学习领域解决图像检测问题最先进的实时系统
  • OpenCV —— Intel 开源的跨平台计算机视觉库,被称为 CV 领域开发者与研究者的必备工具包
  • Detectron2 —— 在单个或多个 GPU 服务器上提供更快速的训练速度
  • OpenPose —— 以 Caffe 为框架开发的人体姿态识别项目
  • facenet —— 通用人脸识别系统

7. 分布式训练

  • Spark MLlib —— 开源集群运算框架,大数据领域热门开源软件
  • Mahout —— 分布式线性代数框架,用于快速创建可扩展的高性能机器学习应用程序
  • Horovod —— Uber 开源的一个跨多台机器的分布式深度学习的 TensorFlow 训练框架
  • Dask —— 当开发者需要并行化到多核时,将计算扩展到多个内核甚至多个机器
  • Ray —— 高性能分布式执行框架,热门程度仅次于 Spark

8. 自动建模

  • TPOT —— Python 编写的软件包,利用遗传算法进行特征选择和算法模型选择
  • AutoKeras —— 基于高效神经架构搜索的开源项目,媲美 Google 的 AutoML
  • Featuretools —— 用于自动化特性工程的开源 Python 框架
  • NNI —— 微软发布的一个用于神经网络超参数调整的开源 AutoML 工具包
  • AdaNet —— Google 开源的一个轻量级的基于 TensorFlow 框架的神经网络搜索

9. IDEs

  • Jupyter —— 涵盖了跨数十种编程语言的交互式计算
  • Spyder —— 用于科学计算的使用 Python 编程语言的集成开发环境
  • Zeppelin —— 基于 Web 的交互式数据分析平台

10. 平台

  • H2O —— 开源的分布式内存机器学习平台,支持最广泛使用的统计和机器学习算法
  • MLflow —— 机器学习生命周期的开源平台
  • Kubeflow —— Kubernetes 上的机器学习分布式训练任务支持

11. 评分推理系统

  • ONNX —— 针对机器学习所设计的开放式的文件格式,用于存储训练好的模型
  • Seldon —— 让机器学习模型可以部署于 Kubernetes 上

图神经网络入门教程

图是表示不同性质数据的强大工具,而数据来源于多种人工和自然流程。图数据具备复合性,是原子信息片段的复合体;同时它也具备关联性,定义数据结构的链接,即表示链接实体之间的关系。图通过链接方向和标签来表示大量关联(Association),如离散关系类型、化学性质和分子键强度。而最重要的一点是,图具备普遍性。在化学和材料科学中,图表示化合物的分子结构、蛋白质相互作用和药物相互作用网络,以及生物学和生物化学关联。在社会科学中,图网络被广泛用于表示人们之间的关系,以及推荐系统中的复杂购买行为。近日,大量图数据以及越来越多的可用大型资源库,促使人们对以适应性方式处理图的深度学习模型产生了浓厚兴趣。

此前,跨象乘云™ 介绍了基于 Pytorch图神经网络(GNN)实战。近日,意大利比萨大学的研究者发表论文,介绍了图深度学习领域的主要概念、思想和应用。与其他论文不同的是,这篇论文更像一份入门教程,既适合初学者作为学习材料,也可以帮助资深从业者理清该领域的脉络,避免重复造轮子。本文从历史的角度介绍基于图数据的神经网络领域,在现代术语中它叫做「图深度学习」(Deep learning for Graph)。本教程,旨在对该领域的主要概念和构成图神经架构的构造块进行充分连贯的介绍。

中科院《2019 年人工智能发展白皮书》PPT 下载

人工智能正在全球范围内引领新一轮科技革命和产业变革升级。自 2006 年深度学习算法被提出、2012 年开始大数据爆发式增长以来,人工智能领域的各项技术分支也在不断发展,人工智能相关的产业化落地方案和商业化模式逐渐清晰,人工智能的细分领域技术分支的代表性企业及其竞争格局也逐渐形成。

2020 年 1 月,中国科学院大数据挖掘与知识管理重点实验室发布了《中国科学院 2019 年人工智能发展白皮书》,白皮书重点分析了人工智能各个细分领域的关键技术和产业应用,白皮书指出计算机视觉技术、自然语言处理技术、跨媒体分析推理技术、智适应学习技术等八大技术是目前人工智能领域的关键技术,安防、金融、零售、交通、教育等产业中蕴含着人工智能的典型应用场景,肯定了人工智能开放创新平台对于全行业的重要推动价值,并推出全球人工智能企业 TOP 20 榜单,供业内人士借鉴。本白皮书内相关数据根据调研数据分析而成,仅做学术探讨和参考。