关于人工智能:深度学习与CV教程11-循环神经网络及视觉应用

5次阅读

共计 10057 个字符,预计需要花费 26 分钟才能阅读完成。

  • 作者:韩信子 @ShowMeAI
  • 教程地址:http://www.showmeai.tech/tutorials/37
  • 本文地址:http://www.showmeai.tech/article-detail/270
  • 申明:版权所有,转载请分割平台与作者并注明出处
  • 珍藏 ShowMeAI 查看更多精彩内容

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


本篇重点

  • RNN 的概念与多种形式
  • 语言模型
  • 图像标注、视觉问答、注意力模型
  • RNN 梯度流

1.RNN 的概念与多种形式

对于 RNN 的具体常识也能够比照浏览 ShowMeAI 的以下内容

  • 深度学习教程 | 吴恩达专项课程 · 全套笔记解读 中的文章 序列模型与 RNN 网络 中对于 RNN 的解说。
  • 自然语言解决教程 中的文章 NLP 教程 (5) – 语言模型、RNN、GRU 与 LSTM 斯坦福 NLP 课程 | 第 6 讲 – 循环神经网络与语言模型

1.1 模式

一般的神经网络会有 1 个固定维度的输出(如 1 张图片、1 个向量),通过一系列隐层计算失去 1 个固定的输入(如不同类别的得分 / 概率向量)。咱们明天提到的 循环神经网络(Recurrent Neural Networks)是一种非凡的神经网络,能够对序列数据做很好的建模,RNN 很灵便,能够实现输出和输入的不同类型,如下图所示:

1) 1 对 1

这种状况,输入输出都是固定的。

2) 1 对多

这种状况,输出固定尺寸,比方 1 张图片;输入是可变长度的序列,比方 1 段形容文本。文本的单词数可能就会随图片不同而不同,因而输入值的长度须要是一个变量。(「图片形容 / 看图谈话」image captioning)

3) 多对 1

这种状况,输出的尺寸是变动的,输入是固定的。如 情感分类 工作,输出的一段长度可变的文本序列,失去一个文字情感属性的类别;再比方能够输出工夫长度不同的视频,而后判断视频中的流动(固定)。

4) 多对多

这种状况,输入输出的尺寸都是可变的,如 机器翻译 工作,英文翻译成中文。输入输出的文本长度都是可变的,并且两者长度不要求雷同。

5) 多对多(一一对应)

这种状况,输出是可变序列,输入是针对输出的每个元素做出判断。如 帧级别视频分类 工作,输出是帧数可变的视频,输入对每一帧进行决策。

即便是输入输出尺寸都是固定的情景也能够应用循环神经网络 RNN。

  • 比方 1 张写满数字的固定尺寸的图片,想要辨认下面的数字,能够是通过一系列的察看,察看图片的不同局部,而后做出决策;
  • 再比方生成一张固定尺寸的图片,下面写满了数字,也能够通过一系列的步骤,一次只能生成一部分。

1.2 概念

如下图所示,RNN 有一个重复呈现的小循环外围单元,输出 \(x\) 给 RNN,计算失去外部隐状态 hidden state,且其会在每次读取新的输出时进行更新。当模型下一次读取输出时,外部隐状态会将后果反馈给模型。

通常,咱们想让 RNN 在每一个工夫步都给出输入,是这样的模式:

  • 读取输出 → 更新隐状态 → 基于隐状态计算失去输入。

因为输出是一系列 \(x\) 向量,在每一个时刻绿色的 RNN 局部能够应用循环公式来示意:

$$
h_t=f_W(h_{t-1}, x_t
$$

其中,\(x_t\) 是某一时刻输出的向量,\(h_{t-1}\) 是该时刻之前的隐状态,\(f_W\) 是参数 \(W\) 的函数,\(h_t\) 是更新后的隐状态。这样的构造一直循环。

如果想要在每一个工夫步骤失去一个输入,那么能够把更新后的隐状态 \(h_t\) 作为输出,通过全连贯网络,失去决策。留神:\(f_W\) 在每一个工夫步都是雷同的。

上面是一个最简略的例子,”Vanilla RNN”:

$$
h_t=tanh(W_{hh}h_{t-1}, W_{xh}x_t)
$$

$$
y_t=W_{hy}h_t
$$

旧状态和输出 \(x\) 都是与权重矩阵相乘再求和通过非线性函数 \(tanh()\),输入也是新状态与权重矩阵相乘。每个隐状态都只有一个惟一的 \(h\) 向量。

1.3 计算图

1) 多对多(xy 一一对应)

这里的多对多指的是输出 \(x\) 和输入 \(y\) 都是序列,且在工夫步上有一一对应关系。如下是一个多对多的计算图:

初始状态为 \(h_0\),在工夫步 \(t=1\) 时刻有输出 \(x_1\),将 \(h_0\)、\(x_1\) 带入参数函数 \(f\) 失去 \(h_1\) 更新隐状态作为下一个时刻的状态,这样以此类推失去 \(x_t\) 时刻的隐状态 \(h_t\)。

计算 \(h_t\) 的每一步都 应用的雷同的参数 \(W\)参数函数 \(f\) 也是完全相同的。这样在反向流传计算梯度时,须要将每一个时刻的梯度累加起来失去最终 \(W\) 的梯度。

除了更新隐状态,如果每一个时刻都想得到一个输入,能够间接将 \(h_t\) 通过计算(比方 softmax)失去 \(y_t\),如果对于输出 \(x\) 的每一个时刻都对应一个实在标签的话,在计算出 \(y_t\) 的同时能够失去每一步的损失 \(L_t\),最终的损失也是所有的 \(L_t\) 加起来。

2) 多对一

典型的利用之一是 情感剖析 工作,依据最初一个隐状态失去输入。模型通过迭代,在最初一个隐状态蕴含了之前所有的信息。

3) 一对多

一对多的情景会承受固定长度的输出项,输入不定长的输入项,这个固定长度的输出项会用来初始化初始隐状态,而后 RNN 会对输入的单元一一解决,最终会失去不定长的输入序列,输入的每个元素都得以展示。

4) 多对多

输入输出都是不定长序列的情景,典型利用如 机器翻译 工作,能够看作是多对一与一对多的组合。首先输出一个不定长的 \(x\),将这个序列编码成一个独自的向量,而后作为输出,输出到一对多的模型中,失去输入序列,可能是用另一种语言表述的雷同意思的句子。

而后对这个不定长的输入,每一个工夫步都会做出预测,比方接下来应用什么词。设想一下整个训练过程和计算图的开展,对输入序列的损失求和,而后像之前一样反向流传。

2. 语言模型

对于语言模型的具体常识也能够比照浏览 ShowMeAI 的以下内容

  • 深度学习教程 | 吴恩达专项课程 · 全套笔记解读 中的文章 序列模型与 RNN 网络 中对于 RNN 的解说。
  • 自然语言解决教程 中的文章 NLP 教程 (5) – 语言模型、RNN、GRU 与 LSTM 斯坦福 NLP 课程 | 第 6 讲 – 循环神经网络与语言模型

语言模型(Language Model)问题中,咱们让模型读取大量语料语句,让神经网络在肯定水平上学会字词的组合法则并能生成自然语言。

举个字符层面上的例子(即对语料中的内容以字符粒度进行学习),比方网络会读取一串字符序列,而后模型须要预测这个字符流的下一个字符是什么。咱们有一个很小的字符表 [h, e, l, o] 蕴含所有字母,以及有一个训练序列 hello,应用循环公式:

$$
h_t=tanh(W_{hh}h_{t-1}, W_{xh}x_t)
$$

语言模型 训练阶段,咱们将训练序列作为输出项,每一个工夫步的输出都是一个字符,首先须要做的是在神经网络中示意这个单词。

咱们在这里应用长为 4 的独热向量来示意每个字符(只有字符对应的地位是 \(1\),其余地位为 \(0\))。比方 h 能够用向量 \([1 0 0 0]\) 示意,l 应用 \([0 0 1 0]\) 示意。当初在第一个工夫步中,网络会接管输出 h,进入第一个 RNN 单元,而后失去输入 \(y_1\),作为对接下来的字符的一个预测,也就是网络认为的接下来应该输出的字符。

因为第一个输出的是 h,所以接下来输出的应该是 e,然而模型只是在做预测,如下图所示,模型可能认为接下来要输出的是 o。在这种谬误预测下,咱们能够基于 softmax 计算损失来度量咱们对预测后果的不称心水平。

在下一个工夫步,咱们会输出 e,利用这个输出和之前的隐状态计算出新的隐状态,而后利用新的隐状态对接下来的字符进行预测,咱们心愿下一个字符是 l,但这里模型可能也预测错了,这里又能够计算损失。这样通过一直的训练,模型就会学会如何依据以后的输出预测接下来的输出。

在语言模型 测试阶段,咱们想用训练好的模型测试样本或者生成新的文本(相似于训练时应用的文本)。

办法是输出文本的前缀来测试模型,上述例子中的前缀是 h,当初在 RNN 的第一步输出 h,它会产生基于词库所有字母得分的一个 softmax 概率分布,而后应用这个概率分布预测接下来的输入(这个过程叫做 sample/ 采样),如果咱们足够侥幸失去了字符 e,而后把这个失去的 e 从新写成 \(01\) 向量的模式反馈给模型,作为下一个工夫步的输出,以此类推。

2.1 截断反向流传(Truncated Backpropagation)

在前向流传中须要遍历整个序列累加计算损失,在反向流传中也须要遍历整个序列来计算梯度。咱们能够设想一下,如果咱们的语料库十分大(例如维基百科中所有文本),那么工夫破费以及内存占用都是微小的,如下图所示。

理论利用中,通常应用沿工夫的 截断反向流传(Truncated Backpropagation),这样输出的序列能够靠近无穷。

前向流传时不再应用整个序列计算损失,而是应用序列的一个块,比方 100 个工夫步,计算出损失值,而后反向流传计算梯度。而后基于第 2 批数据再次计算和更新。

如上的过程循环操作,「截断」使得开销大大减小。

这个过程的残缺实现代码:点击这里

2.2 RNN 语言模型利用

  • 应用莎士比亚的文集对语言模型进行训练,而后生成新的文本。后果能够生成莎士比亚格调的文章(当然,后果不是完满的,其中有些局部有谬误),如下图所示

  • 应用拓扑学教材,能够主动生成一些定理、公式甚至能够画图,尽管都没有意义,但能够学会这些构造。

  • 应用 linux 源码进行训练。能够生成 C 代码,有缩进有变量申明甚至会写正文等等,看起来十分像 C 代码(当然代码逻辑不肯定失常,编译会有很多谬误)。

2.3 RNN 语言模型解释

在 RNN 中有暗藏向量,每一步都会更新,咱们在这些暗藏向量中寻找能够解释的单元。

比方在语言模型训练中察看隐向量中的某一个元素值,元素值会随着每一个工夫步进行扭转。大多数的元素值变动都是横七竖八的,仿佛在进行一些低级的语言建模。然而有一些元素却有非凡的体现:

  • 蓝色地位数值低,红色地位数值高
  • 比方某些元素遇到引号后,元素值会变得很低,而后始终放弃很低直到下一个引号处被激活,元素值变大,而后放弃到下一个引号再变低。所以有可能是检测引号的神经元

  • 还有某些神经元在统计回车符前的字符数量,即字符有多少时会主动换行。某一行开始处元素的值很低,而后缓缓增大,达到肯定值后主动变成 0,而后文本换行。

  • 在训练代码的例子中,有些神经元仿佛在判断是否在 if 语句,是否在正文内,以及示意不同的缩进层级。

上述细节内容能够看出,在训练文本的过程中,RNN 学到一些文本的构造。(尽管这些曾经不是计算机视觉的内容了)

3. 看图谈话、视觉问答、注意力模型

之前提过很屡次 图片形容 / 看图谈话(Image Captioning),即训练一个模型,输出一张图片,而后失去它的自然语言语义形容。这里输入的后果文本可能长度不同,单词字符数不同,这个工作天生适宜 RNN 模型建模。

如下图的一个例子,图像标注模型 训练阶段 个别都先通过卷积神经网络解决图像生成图像向量(用其作为图像内容的表征),而后输出到 RNN 语言模型的第一个工夫步中,RNN 会计算调整隐状态,进而基于 softmax 失去后果并计算损失,后续语言模型在每个工夫步都生成 1 个组成形容文本的单词。

测试阶段 / 推理阶段 和之前字符级的语言模型相似。

  • 咱们把测试图像输出到卷积神经网络,通过 CNN 失去模型最初 1 个全连贯层之前的 1 个图像向量,作为整张图像的内容表征。
  • 之后会给语言模型输出一个开始标记,通知模型开始生成以这个图像为条件的文本。不同于以往的隐状态公式,在这个工作中咱们会把图像信息输出到每个工夫步用于更新隐状态:

$$
h = tanh(Wxh \ast x + Whh \ast h + Wih \ast v)
$$

  • 当初就能够依据图像的内容生成一个词汇表(有很多词汇)中所有单词的一个 softmax 得分概率分布,sample/ 取样 之后作为下一个工夫步的输出。
  • 直到取样到「完结符号」整个预测过程完结,文本也生成结束。

这些训练后的模型在测试时对和训练集相似的片会体现的很好,对和训练集差距大的图片可能变现不佳,比方对一些没见过的物体进行误判,以及分不清扔球还是接球等。

3.1 基于注意力的「看图谈话」模型

上面咱们来看看基于「注意力机制」的 图片形容 / 看图谈话 模型,这个模型蕴含的 RNN 在生成单词时,会将注意力放在图像不同的局部。

在这个模型中,CNN 解决图像后,不再返回一个独自的向量,而是失去图像不同地位的特征向量,比方 \(L\) 个地位,每个地位的特色有 \(D\) 维,最终返回的 CNN 后果数据是一个 \(L \times D\) 的特色图。(设想 CNN 的中间层失去的特色图)

这样在 RNN 的每一个工夫步,除了失去词汇表的采样,还会失去基于图片地位的散布,它代表了 RNN 想要察看图像的哪个局部。这种地位散布,就是 RNN 模型应该察看图像哪个地位的「注意力」。

在第 1 个隐状态会计算基于图片地位的散布 \(a_1\),这个散布会返回到图像特色图 \(L \times D\),给得出一个繁多的具备统计性质的 \(D\) 维特征向量,即把注意力集中在图像的一部分。这个特征向量会作为下一个工夫步的额定输出,另一个输出是单词。而后会失去两个输入,一个是基于词汇的散布,一个是基于地位的散布。这个过程会始终继续上来,每个步骤都有两个输出两个输入。

整个过程如下图所示:

上图 \(z\) 的计算公式能够是:

$$
z = \sum_{i=1}^L {p_iv_i}
$$

\(p_i\) 就是基于地位的散布,\(v_i\) 就是 \(L\) 个特征向量中的一个,最初失去一个统计向量 \(z\)。

这种联合所有特色的散布形式称为 软注意力 (Soft attention),与之对应的是 硬注意力(Hard attention)。

硬注意力每次只产生一个独自的特征向量,不是所有特色的组合,但它反向流传比较复杂,因为(区域)抉择的过程自身不是一个可微的函数。

这样模型会本人学习每一个工夫步应该次要把注意力集中在图片的什么地位失去什么词汇,成果通常也很好。如下图所示:

这个构造的模型也能够用于其余工作,比方 视觉问答(Visual Question Answering)。

在视觉问答工作中,会有两个输出,一个是图像,一个是对于图像的用自然语言形容的问题。模型从一些答案中抉择一个正确的。

这是一个多对一模型,咱们须要将问题作为序列输出,针对序列的每一个元素建设 RNN,能够将问题概括成一个向量。而后把图像也概括成一个向量,当初将两个向量联合通过 RNN 编程预测答案。联合形式能够是间接连接起来也能够是进行简单的运算。

4.RNN 梯度流

4.1 多层 RNN(Multilayer RNNs)

咱们之前看到的奢侈 RNN,隐状态只有 1 层,在「多层 RNN」中隐状态有 3 层。一次运行失去 RNN 第 1 个隐状态的序列,而后作为第 2 个隐状态的输出。如下图所示:

4.2 一般 RNN 梯度流

咱们来看看一般 RNN 的梯度流,在前向流传过程中计算 \(h_t\):

$$
\begin{aligned}
h_t & = tanh(W_{hh}h_{t-1}+W_{xh}x_t) \\
& = tanh \bigl (\bigl (\begin{matrix}W_{hh} \\
&W_{xh} \end{matrix}\bigr)\bigl(\begin{matrix}h_{t-1}\\x_{t} \end{matrix}\bigr)\bigr) \\
& =tanh\bigl(W\bigl(\begin{matrix}h_{t-1}\\ x_{t} \end{matrix}\bigr)\bigr)
\end{aligned}
$$

反向流传梯度流从 \(h_t\) 到 \(h_{t-1}\) 须要乘 \(W_{hh}^T\)

有一个问题,在上述 RNN 训练过程中,从最初一个隐状态传到第一个隐状态,两头要乘很屡次权重,如下图所示。

如果累计相乘的值频繁大于 \(1\),就可能会梯度爆炸;如果频繁小于 \(1\),梯度就可能会缓缓趋近 \(0\)(梯度隐没)。

对于梯度爆炸,一种解决办法是给梯度设置一个阈值,如果梯度的 L2 范式超过这个阈值就要减小梯度,代码如下:

grad_num = np.sum(grad * grad)
if grad_num > threshold:
    grad *= (threshold / grad_num)

对于梯度隐没问题,咱们能够革新 RNN 网络结构,失去更适宜长距离建模的构造,如上面要开展解说到的 LSTM 和 GRU。

4.3 LSTM(Long Short Term Memory)

对于 LSTM 的具体解说也能够比照浏览 ShowMeAI 的 深度学习教程 | 吴恩达专项课程 · 全套笔记解读 中的文章 序列模型与 RNN 网络 中对于 LSTM 的解说。

LSTM(长短期记忆)网络就是用来解决「梯度爆炸」和「梯度隐没」问题的,与其在输入上限度梯度,LSTM 的网络结构更加简单。

$$
\begin{aligned}
\left(\begin{array}{l} i \\ f \\ o \\ g \end{array}\right)
&=\left(\begin{array}{c} \sigma \\ \sigma \\ \sigma \\ \tanh \end{array}\right) W\left(\begin{array}{c} h_{t-1} \\ x_{t}
\end{array}\right) \\
c_{t} &=f \odot c_{t-1}+i \odot g \\
h_{t} &=o \odot \tanh \left(c_{t}\right)
\end{aligned}
$$

LSTM 在每一个工夫步都会维持两个隐状态:

  • \(h_t\) 和一般 RNN 中的统一,是 RNN 网络的隐状态;
  • 单元状态向量 \(c_t\),是保留在 LSTM 外部的隐状态,不会齐全裸露到内部去。计算公式能够看出,LSTM 会应用输出和之前的隐状态来更新四个组成 \(c_t\) 的门,而后应用 \(c_t\) 来更新 \(h_t\) .

与一般 RNN 不同的是,LSTM 不间接将权重矩阵 \(W\) 乘 \(x_t\) 和 \(h_{t-1}\) 拼接成的向量再通过 \(tanh()\) 函数失去隐状态 \(h_t\)。

LSTM 中的权重矩阵计算会失去 4 个与隐状态 \(h\) 大小雷同的向量,而后别离通过不同的非线性函数就失去了单元状态 \(c_t\) 的四个门:\(i, f, o, g\)

  • \(i\) 是 输出门(Input gate),示意有多少内容被写到单元状态;
  • \(f\) 是 忘记门(Forget gate),示意对之前的单元状态的忘记水平;
  • \(o\) 是 输入门(Output gate),示意单元状态输入多少给隐状态;
  • \(g\) 是 门值门(Gate gate),管制写入到单元状态的信息。

从 \(c_t\) 的计算公式来看,之所采纳不同的非线性函数,能够这么了解:

  • \(f\) 是对之前的单元状态的忘记,如果是 \(0\) 全副忘记,如果是 \(1\) 就全副保留,那个圆圈加点的符号示意逐元素相乘;
  • \(i\) 和 \(g\) 独特管制写入到单元状态向量的信息,\(i\) 在 \(0 \sim1\) 之间,\(g\) 在 \(-1\) 到 \(1\) 之间,这样每个工夫步,单元状态向量的每个元素最大自增 \(1\) 或最小自减 \(1\)。
  • 这样 \(c_t\) 能够看成是对 \([-1 \quad 1]\) 的按工夫步计数。而后 \(c_t\) 通过 \(tanh()\) 将这个计数压缩到 \([0 \quad 1]\) 范畴,而后 \(o\) 来管制将多少单元状态的信息输入给隐状态 \(h_t\)。

LSTM 梯度流

如下图所示,咱们用灰色的线示意 LSTM 前向流传,齐全依照公式来的,圆圈加点运算符示意两个向量逐元素相乘,不是矩阵的乘法。这样从 \(c_t\) 到 \(c_{t-1}\) 的反向流传过程,只会与 \(f\) 进行逐元素相乘,与乘 \(W\) 相比要简略很多。

LSTM 不同的工夫步 \(f\) 的值都不同,不像一般 RNN 每次都乘雷同的 \(W\),这样就肯定水平防止梯度爆炸或锐减。而且 \(f\) 的值也是在 \([0, 1]\) 性质十分好。

当多个单元连起来的时候,就会为梯度在单元状态间流动提供了一条高速公路(这种模式与残差网络相似)。

4.4 GRU(Gated Recurrent Unit)

对于 LSTM 的具体解说也能够比照浏览 ShowMeAI 的深度学习教程 | 吴恩达专项课程 · 全套笔记解读中的文章序列模型与 RNN 网络中对于 GRU 的解说。

另一个改良一般 RNN 的办法失去「门循环单元(GRU)」模型,它总体和 LSTM 类似,也是利用了这种逐元素相乘与加法联合的模式,这样梯度也能高速流动。

$$
\begin{aligned}
r_{t} &=\sigma\left(W_{x r} x_{t}+W_{h r} h_{t-1}+b_{r}\right) \\
z_{t} &=\sigma\left(W_{x z} x_{t}+W_{h z} h_{t-1}+b_{z}\right) \\
\tilde{h}_{t} &=\tanh \left(W_{x h} x_{t}+W_{h h}\left(r_{t} \odot h_{t-1}\right)+b_{h}\right) \\
h_{t} &=z_{t} \odot h_{t-1}+\left(1-z_{t}\right) \odot \tilde{h}_{t}
\end{aligned}
$$

5. 举荐学习

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

<iframe
src=”http://player.bilibili.com/player.html?aid=759478950&bvid=BV1g64y1B7m7&cid=377496328&page=10″
width=”100%”
height=500
scrolling=”no”
frameborder=0>
</iframe>

  • 【课程学习指南】斯坦福 CS231n | 深度学习与计算机视觉
  • 【字幕 + 材料下载】斯坦福 CS231n | 深度学习与计算机视觉 (2017·全 16 讲)
  • 【CS231n 进阶课】密歇根 EECS498 | 深度学习与计算机视觉
  • 【深度学习教程】吴恩达专项课程 · 全套笔记解读
  • 【Stanford 官网】CS231n: Deep Learning for Computer Vision

7. 要点总结

  • RNN 是一种输入输出都很灵便的网络结构;
  • Vanilla RNNs 很简略,然而成果不好;比拟广泛的是应用 LSTM 和 GRU,能无效的改善梯度流;
  • RNN 反向流传梯度爆炸能够给梯度设置阈值,而梯度锐减能够应用简单的网络,比方 LSTM;
  • RNN 的利用:图像标注、视觉问答,都是将 CNN 与 RNN 联合起来;
  • 了解语言模型与注意力模型;

斯坦福 CS231n 全套解读

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

ShowMeAI 系列教程举荐

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

正文完
 0