深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

持续创造,加速成长!这是我参加「日新方案 6 月更文应战」的第1天,点击检查活动概况

  • 作者:韩信子@ShowMeAI
  • 教程地址:www.showmeai.tech/tutorials/3…
  • 本文地址:www.showmeai.tech/article-det…
  • 声明:版权所有,转载请联络渠道与作者并注明出处
  • 收藏ShowMeAI检查更多精彩内容

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

本系列为 斯坦福CS231n《深度学习与核算机视觉(Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频能够在 这里 检查。更多材料获取办法见文末。


1.课程简介

CS231n 是尖端院校斯坦福出品的深度学习与核算机视觉方向专业课程,核心内容掩盖神经网络、CNN、图画辨认、RNN、神经网络练习、注意力机制、生成模型、方针检测、图画切割等内容。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

  • 课程最后一版公开课视频为2017版,需求最新进阶技能内容的同学能够重视ShowMeAI发布的 cs231n进阶课程
  • 希望关于深度学习进行一个全面学习了解的同学,能够阅读学习ShowMeAI的 深度学习教程 | 吴恩达专项课程 全套笔记解读

2.课程内容介绍

2.1 第1部分 Lecture1-3 深度学习布景常识简略介绍

  • 课程引进与介绍
  • KNN 和线性分类器
  • Softmax 和 SVM 两种损失函数
  • 优化算法(SGD等)

2.2 第2部分 Lecture4-9 卷积神经网络

  • CNN及各种层次结构(卷积、池化、全连接)
  • 反向传播及核算办法
  • 优化的练习办法(Adam、Momentum、Dropout、Batch-Normalization)
  • 练习 CNN 的注意事项(参数初始化与调优)
  • 深度学习结构(TensorFlow、Caffe、Pytorch)
  • 线性CNN结构(AlexNet、VGGNet、GoogLeNet、ResNet)

2.3 第3部分 Lecture10-16 核算机视觉使用

  • RNN(语言模型,image captioning等)
  • 方针检测(R-CNN、Fast / Faster R-CNN、YOLO、SSD等)
  • 语义切割(FCN、Unet、SegNet、deeplab等)
  • 神经网络可视化与可解释性
  • 生成模型与 GAN
  • 深度强化学习

3.课程学习方针

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

3.1 实用技能

了解怎么从头开端编写、调试和练习卷积神经网络。

3.2 工具技能

集中于大规模练习这些网络的实用技能,以及 GPU(例如,将涉及分布式优化、CPU 与 GPU 之间的差异等),还能够检查诸如 Caffe、TensorFlow 和 (Py)Torch 等最先进的软件工具的现状。

3.3 使用创造

一些有趣的主题,如「看图说话」(结合 CNN + RNN),再如下图左面的 DeepDream,右边的神经风格搬迁 NeuralStyle 等。

4.课程先修条件

1)了解 Python(并了解 numpy 的使用),本课都用 Python 编写,假如要阅读了解软件包的源代码 C++ 会有协助。

2)大学微积分(如求导),线性代数(了解矩阵)。

3)有机器学习的布景,大概 CS229 水平,十分重要核心的机器学习概念会再介绍的,假如事前了解这些会对课程有协助的,咱们将拟定本钱函数,使用导数和梯度下降进行优化。可前往文末获取 ShowMeAI 原创的CS229课程速查表。

4)有核算机图画根底会更好,但不是十分严格。

5.核算机视觉简介

5.1 核算视觉前史

16世纪最早的相机:暗箱

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

1963年第一篇核算机视觉博士论文「Block world-Larry Roberts」,视觉国际简化为简略的几何形状,辨认它们,重建这些形状。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

1996年MIT暑期项目「The Summer Vision Project」意图是构建视觉系统的重要组成部分。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

1970s 的 MIT 视觉科学家 David Marr 编写了《VISION》,内容有核算机视觉的了解、处理开发、辨认算法,他提出了视觉表现的阶段,如原始草图的零交叉点,圆点,边缘,条形,结尾,虚拟线,组,曲线鸿沟等概念

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

1973年后关于怎么辨认和表示方针,斯坦福科学家提出「广义圆柱体」和「圆形结构」,每个方针都是由简略的几何图形单位组成。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

1987年 David Lowe 尝试用 线边缘 来构建辨认。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

1997年 Shi & Malik 提出,若辨认太难了,就先做方针切割,便是把一张图片的像素点归类到有意义的区域。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

2001年此时的机器学习也快速展开了(尤其是统计学习办法),出现了SVM(支撑向量机模型)、boosting、图模型等办法。Viola & Jones 宣布了使用 AdaBoost 算法进行实时面部检测的论文 「Face Detection」,然后2006年富士推出能够实时面部检测的数码相机。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

1999 年 David Lowe 宣布 “SIFT” & Object Recognition,提出 SIFT 特征匹配,思路是先在方针上确认关键特征,再把这些特征与相似的方针进行匹配,来完结方针辨认。从90年代到2000年的思想便是根据特征的方针辨认。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

2006年 Lazebnik, Schmid & Ponce 宣布「Spatial Pyramid Matching」,图片里的各种特征描绘了不同场景,空间金字塔匹配算法的思想便是从图片的各部分各像素抽取特征,并把他们放在一同作为一个特征描绘符,然后在特征描绘符上做一个支撑向量机。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

2005年后来的研讨 方向梯度直方图可变形部件模型,意图是将特征放在一同后,怎么辨认人体姿态。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

21世纪早期,数码相机快速展开,图片质量提高,也真正有了标注的数据集,它能够衡量方针辨认的效果。数据集 PASCAL Visual Object Challenge 有 20 个类别,每个种类有成千上万张图片,供团队开发算法来和数据测验集做对立练习,来看检测效果有没有优化。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

然后普林斯顿和斯坦福提出怎么辨认大部分物体,这个问题也是由机器学习中的一个现象驱动的,机器学习算法在练习过程中很可能会过拟合(只对现有的这些数据完美拟合,但对不知道数据不一定完美)。部分原因是可视化的数据十分复杂(像是记住了每道题),从而模型维数比较高,输入是高维的模型,而且还有一堆参数要调优,当咱们的练习数据量不行时很快就会产生过拟合现象,这样就无法很好的泛化。

因此有了两方面动力:① 辨认万物② 战胜机器学习的瓶颈-过拟合问题

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

针对上述问题展开了ImageNet(www.image-net.org/)项目,在网络上收集了… WordNet 字典来排序,这个字典有上万个物体类别,不得不必 Amazon Mechanical Turk 渠道来排序、清洗数据、给每张图片打上标签,最终得到的 ImageNet 有 1500万乃至4000万图片分成了 22000 多类的物体或场景。它将方针检测算法的展开推到了新高度。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

2009年为了推动基准测验的发展,ImageNet 开端组织了 ImageNet 大规模视觉辨认竞赛,挑选了更严格的测验集,140万方针图画有1000种方针类别,分类辨认来测验核算机视觉算法。

下图为图画分类结果,纵轴为比赛结果的错误率,2012年的错误率下降的十分显著,这一年获头奖的算法是一种卷积神经网络模型。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

5.2 核算机视觉近代技能展开

卷积神经网络Convolutional Neural Networks,CNN)已成为图画辨认中最重要的模型之一。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

2010年的 NEC-UIUC 依然用到了层次结构检测边缘不变特征。在2012年才有重大突破,多伦多的博士生和导师创造了7层的 CNN,称为 SuperVision 现在叫做 AlexNet

2014年谷歌的 GoogLeNet 和牛津大学的VGG有19层网络。

2015年微软亚洲研讨院宣布了残差网络,有152层。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

CNN早在1998年由 Yann LeCun 团队在贝尔实验室创造的,他们使用 CNN 进行数字辨认,用于辨认手写支票和邮件地址,当时的 CNN 和后续的许多典型 CNN 模型结构是相似的,输入是原始像素,有许多卷积层和下采样以及全连接层。

跟着核算机算力的提高,像 GPU 这种图画处理单元超高的并行核算才能引进,人们开发出了更大的CNN模型和架构

在算力的支撑下,只扩展模型的规模,沿用经典的办法和算法就能有很好的结果,这种添加核算的思想有着很重要的位置。还有数据的创新,现在有了许多标记的数据,咱们能够完成更强壮的模型。

后来也有许多创新的 CNN 结构引进,协助模型能够在更大更深的情况下,也能够很好地练习和对立过拟合。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

对视觉智能的探索远远超出了图画辨认的范围,如图画语义切割知觉分组他们没有给整张图片打上标签,咱们要了解的是每个像素。这些任务是3D重构动作辨认增强实际虚拟实际等重要的支撑。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

如老师 Johnson 在2015CVPR宣布的「Image Retrieval using Scene Graphs」,视觉基因组这个数据集,不只框出物体还要描绘图画,作为整个大图形语义相关的概念,不只包含方针的身份,还包含方针关系、方针特点、动作等,视觉系统能够做许多工作。

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)

当看到上方的图片时人们能够丰富的描绘这个场景,借助于他们的储藏常识和过往经历又能够详细描绘每个人的身份历程等。

这是典型的核算机视觉任务「看图说话 / image captioning」,它以一种十分丰富而深入的办法去了解一张图片的故事,也是现在依旧在不断推动的研讨领域之一。

6.拓展学习

能够点击 B站 检查视频的【双语字幕】版本

  • 【课程学习指南】斯坦福CS231n | 深度学习与核算机视觉
  • 【字幕+材料下载】斯坦福CS231n | 深度学习与核算机视觉 (2017全16讲)
  • 【CS231n进阶课】密歇根EECS498 | 深度学习与核算机视觉
  • 【深度学习教程】吴恩达专项课程 全套笔记解读
  • 【Stanford官网】CS231n: Deep Learning for Computer Vision
  • 【CS229常识技能速查】机器学习-监督学习
  • 【CS229常识技能速查】机器学习-无监督学习
  • 【CS229常识技能速查】机器学习-神经网络
  • 【CS229常识技能速查】机器学习-经历与技巧

ShowMeAI 斯坦福 CS231n 全套解读

  • 深度学习与核算机视觉教程(1) | CV导言与根底 @CS231n
  • 深度学习与核算机视觉教程(2) | 图画分类与机器学习根底 @CS231n
  • 深度学习与核算机视觉教程(3) | 损失函数与最优化 @CS231n
  • 深度学习与核算机视觉教程(4) | 神经网络与反向传播 @CS231n
  • 深度学习与核算机视觉教程(5) | 卷积神经网络 @CS231n
  • 深度学习与核算机视觉教程(6) | 神经网络练习技巧 (上) @CS231n
  • 深度学习与核算机视觉教程(7) | 神经网络练习技巧 (下) @CS231n
  • 深度学习与核算机视觉教程(8) | 常见深度学习结构介绍 @CS231n
  • 深度学习与核算机视觉教程(9) | 典型CNN架构 (Alexnet, VGG, Googlenet, Restnet等) @CS231n
  • 深度学习与核算机视觉教程(10) | 轻量化CNN架构 (SqueezeNet, ShuffleNet, MobileNet等) @CS231n
  • 深度学习与核算机视觉教程(11) | 循环神经网络及视觉使用 @CS231n
  • 深度学习与核算机视觉教程(12) | 方针检测 (两阶段, R-CNN系列) @CS231n
  • 深度学习与核算机视觉教程(13) | 方针检测 (SSD, YOLO系列) @CS231n
  • 深度学习与核算机视觉教程(14) | 图画切割 (FCN, SegNet, U-Net, PSPNet, DeepLab, RefineNet) @CS231n
  • 深度学习与核算机视觉教程(15) | 视觉模型可视化与可解释性 @CS231n
  • 深度学习与核算机视觉教程(16) | 生成模型 (PixelRNN, PixelCNN, VAE, GAN) @CS231n
  • 深度学习与核算机视觉教程(17) | 深度强化学习 (马尔可夫决策过程, Q-Learning, DQN) @CS231n
  • 深度学习与核算机视觉教程(18) | 深度强化学习 (梯度策略, Actor-Critic, DDPG, A3C) @CS231n

ShowMeAI 系列教程引荐

  • 大厂技能完成:引荐与广告核算解决方案
  • 大厂技能完成:核算机视觉解决方案
  • 大厂技能完成:自然语言处理职业解决方案
  • 图解Python编程:从入门到通晓系列教程
  • 图解数据分析:从入门到通晓系列教程
  • 图解AI数学根底:从入门到通晓系列教程
  • 图解大数据技能:从入门到通晓系列教程
  • 图解机器学习算法:从入门到通晓系列教程
  • 机器学习实战:手把手教你玩转机器学习系列
  • 深度学习教程:吴恩达专项课程 全套笔记解读
  • 自然语言处理教程:斯坦福CS224n课程 课程带学与全套笔记解读
  • 深度学习与核算机视觉教程:斯坦福CS231n 全套笔记解读

深度学习与计算机视觉教程(1) | 引言与知识基础(CV通关指南完结)