可信任深度学习代码之单元测试

深度学习是一门很难评估代码正确性的学科。随机初始化、庞大的数据集和权重的有限可解释性意味着,要找到模型为什么不能训练的确切问题,大多数时候都需要反复试验。在传统的软件开发中,自动化单元测试是确定代码是否完成预期任务的面包和黄油。它帮助开发人员信任他们的代码,并在引入更改时更加自信。一个破坏性的更改将会被单元测试检测到。

从 GitHub 上许多研究库的情况来看,深度学习的实践者们还不喜欢这种方法。从业者不知道他们的代码是否正常工作,他们能接受吗?通常,由于上述三个原因,学习系统的每个组件的预期行为并不容易定义。然而,我相信实践者和研究人员应该重新考虑他们对单元测试的厌恶,因为它可以帮助研[……]

继续阅读

深度学习语义分割理论与实战指南

图像分类、目标检测和图像分割是基于深度学习的计算机视觉三大核心任务。三大任务之间明显存在着一种递进的层级关系,图像分类聚焦于整张图像,目标检测定位于图像具体区域,而图像分割则是细化到每一个像素。基于深度学习的图像分割具体包括语义分割、实例分割和全景分割。语义分割的目的是要给每个像素赋予一个语义标签。语义分割在自动驾驶、场景解析、卫星遥感图像和医学影像等领域都有着广泛的应用前景。本文作为基于 PyTorch 的语义分割技术手册,对语义分割的基本技术框架、主要网络模型和技术方法提供一个实战性指导和参考。

GitHub地址项目 GitHub 地址[……]

继续阅读

深度学习论文研读路线攻略

如果你是深度学习领域的新手,你可能会问的第一个问题是:我应该从哪篇论文开始阅读?这里是深度学习论文的阅读路线图,路线图的构建遵循以下四个指导原则 ——

  • 从头到尾
  • 从古老到先进
  • 从一般到特定的领域
  • 专注于最先进的

其中,深度学习应用最热门的 CV 领域。顶会方面大家都知道 CV 三大顶会的 ICCV、CVPR 和 ECCV。其中,ICCV 的全称叫 International Comference on Computer Vision,是公认的 CV 三大顶会里面等级最高的会议。CVPR 的全称叫做 Internaltional Conference on Co[……]

继续阅读

助力 5G / 6G,深度学习创建『认知无线电』

几十年来,业余双向无线电运营者们为了能够跨大陆通信,会在一天中的正确时间来选择正确的无线电频率。之所以能够奢侈地做到这点,是因为用户和共享无线电波的设备相对较少。但是随着蜂窝无线电在电话和物联网设备中的普及,寻找无干扰的频率变得越来越困难。

因此,研究人员计划使用深度学习来创建认知无线电,通过立即调整其无线电频率,来获得最佳性能。

美国的东北大学无线物联网研究所的研究人员解释说(具体参见:相关论文),蜂窝物联网设备的种类和密度的不断增加给无线网络优化带来了新的挑战。

一个给定的无线电频率范围,可以由一百个设计用于在同一总体区域中工作的小型无线电设备共享,每个小型无线电设备具有[……]

继续阅读

玩转深度学习在 GTA-5 实现自动通关

这是一个使用深层神经网络并运用监督学习实现在 Grand Theft Auto V 中自动驾驶的开源项目。项目使用 PyTorch 编写,并使用了英伟达的 Apex 扩展库,支持混合精度训练与推断,最多大约有两倍的速度提升。训练后模型在驾驶时的策略是模仿人玩 GTA 时的操作,并不会去遵守游戏里的交通规则。例如:地板油在街道上穿行,并躲避其他车辆与行人。当在游戏中设置好目标点后,训练好的模型能够自主地驾驶到对应目标点。

项目使用人工标记的数据来训练深层神经网络,即首先记录下游戏中的画面已经人玩游戏时的键盘操作,之后使用该数据集来训练神经网络模型。这里需要指出的是,本项目只是用 G[……]

继续阅读

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

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

  • 均匀分布(连续):均匀分布在 [a,b] 上具有相同的概率值,是简单概率分布。
  • 伯努利分布(离散):先验概率 p(x)不考虑伯努利分布。因此,如果我们对最大似然进行优化,那么我们很容易被过度拟合。利用二元交叉熵对二项分类进行分类。它的形式与伯努利[……]

    继续阅读

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

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

  • 如何在计算机视觉、自然语言处理、推荐系统、表格和时间序列数据分析中创建最先进的模型
  • 如何使用全新的 fastai v2 库和 PyTorch
  • 深度学习的基础:什么是神经网络,它们是如何训练的,以及它们如何进行预测
  • 为什么以及如何使用深度学习模型,以及如何使用[……]

    继续阅读

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

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

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

    继续阅读

《深度学习应用数学基础》课程

机器学习方法,是计算机及其应用领域的一门重要学科。本课程基于各种机器学习主流算法实现代码,使学生更好的将算法逻辑应用至工程实践当中。课程分为监督学习和无监督学习两篇,全面系统地介绍了机器学习的主要方法。包括感知机、K 近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与大熵模型、支持向量机、提升方法、EM 算法、隐马尔可夫模型和条件随机场,以及聚类方法、奇异值分解、主成分分析、潜在语义分析、概率潜在语义分析、马尔可夫链蒙特卡罗法、潜在狄利克雷分配和 PageRank 算法等。[……]

继续阅读