- 作者:韩信子 @ShowMeAI
- 教程地址:http://www.showmeai.tech/tutorials/37
- 本文地址:http://www.showmeai.tech/article-detail/273
- 申明:版权所有,转载请分割平台与作者并注明出处
- 珍藏 ShowMeAI 查看更多精彩内容
本系列为 斯坦福 CS231n《深度学习与计算机视觉 (Deep Learning for Computer Vision)》的全套学习笔记,对应的课程视频能够在 这里 查看。更多材料获取形式见文末。
1. 图像语义宰割定义
图像语义宰割是计算机视觉中非常重要的畛域,它是指像素级地辨认图像,即标注出图像中每个像素所属的对象类别。下图为语义宰割的一个实例,它清晰地把图中的骑行人员、自行车和背景对应的像素标注进去了。
图像宰割有语义宰割和实例宰割的差异。语义宰割不拆散同一类的实例,咱们只关怀每个像素的类别,如果输出对象中有两个雷同类别的对象,语义宰割不将他们辨别为独自的对象。实例宰割是须要对对象个体进行辨别的。
2. 语义宰割常见利用
2.1 主动驾驶汽车
语义宰割常见的利用场景之一是主动驾驶畛域,咱们心愿主动驾驶汽车有「环境感知」的能力,以便其能够平安行驶;下图为主动驾驶过程中实时宰割路线场景:
2.2 医学影像诊断
语义宰割的另外一个大利用场景是医疗影像诊断,机器能够智能地对医疗影像进行剖析,升高医生的工作累赘,大大减少了运行诊断测试所需的工夫;下图是 胸部 X 光片 的宰割,心脏(红色),肺部(绿色以及锁骨(蓝色):
语义宰割的指标是:将一张 RGB 图像(heightwidth3)或是灰度图(heightwidth1)作为输出,输入的是宰割图,其中每一个像素蕴含了其类别的标签(heightwidth1)。
下图为典型示例,为了直观易懂,示例显示应用的低分辨率的预测图,但实际上宰割图的分辨率应与原始输出的分辨率是统一的。
从上图能够看到在语义宰割工作中,像素级别的标签设置,咱们会应用 one-hot 编码对类标签进行解决。
对于 one-hot 编码的具体常识也能够参考浏览 ShowMeAI 的 机器学习实战:手把手教你玩转机器学习系列 中的文章 机器学习实战 | 机器学习特色工程最全解读 里【 独热向量编码(one hot encoding)】板块内容。
最初,能够通过 argmax 将每个深度方向像素矢量折叠成宰割图,将它笼罩在原图上,能够辨别图像中存在不同类别的区域,不便观测(也叫 mask/ 掩码)。
3. 语义宰割工作评估
对于语义宰割工作,咱们会通过 mIoU(mean Intersection-Over-Union)和 mAcc(mean Accuracy) 指标来进行成果评估。
3.1 mIoU
宰割网络的评估指标:mIoU
- mloU:宰割每一类别的交并比(IOU)
3.2 mAcc
宰割网络的评估指标:mAcc
- mAcc:Pred 和 GT 对应地位的分类准确率
4. 语义宰割办法综述
晚期的一些语义宰割办法包含应用 TextonForest 和随机森林分类器等。卷积神经网络(CNN)的引入不仅仅极大减速图像识别的过程,也对语义宰割畛域的倒退起到微小的促进作用。
语义宰割工作最后风行的深度学习办法是图像块分类(patch classification),即利用像素四周的图像块对每一个像素进行独立的分类。应用图像块分类的次要起因是分类网络中蕴含 全连贯层(fully connected layer),它须要固定尺寸的图像。
2014 年,加州大学伯克利分校的 Long 等人提出全卷积网络(FCN),这使得卷积神经网络无需全连贯层即可进行密集的像素预测。应用这种办法可生成任意大小的图像宰割图,且该办法比图像块分类法要高效许多。之后,语义宰割畛域简直所有先进办法都采纳了相似构造。
应用卷积神经网络进行语义宰割存在的另一个大问题是 池化层。池化层尽管扩充了感触野、聚合语境,但因而造成了地位信息的失落。然而,语义宰割要求类别图齐全贴合,因而须要保留地位信息。
有两种不同构造来解决该问题。
- 第一个是编码器解码器构造。编码器逐步缩小池化层的空间维度,解码器逐渐修复物体的细节和空间维度。编码器和解码器之间通常存在快捷连贯,因而能帮忙解码器更好地修复指标的细节。U-Net 是这种办法中最罕用的构造。
- 第二种办法应用空洞 / 扩张卷积(dilated/atrous convolutions)构造,来去除池化层。
对于全连贯层和池化层的具体常识也能够参考 ShowMeAI 的文章
- 深度学习教程 | 吴恩达专项课程 · 全套笔记解读 中的文章 卷积神经网络解读
- 深度学习与计算机视觉教程 | 斯坦福 CS231n 课程全套解读 中的文章 卷积神经网络
4.1 encoder-decoder 构造
针对语义宰割工作构建神经网络架构的最简略的办法是简略地重叠多个卷积层(应用 same 填充以维持维度)并输入最终的宰割图。
这种构造通过特色映射的间断变换,间接去学习从输出图像到其对应宰割的映射,毛病是在整个网络中放弃全分辨率的计算成本十分高。
对于深度卷积网络,浅层次要学习低级的信息,随着网络越深,学习到更高级的特色映射。为了放弃表达能力,咱们通常须要减少特色图 feature map 的数量(通道数),从而能够失去更深的网络。
在图像分类工作中,咱们只关注图像是什么(而不是地位在哪),因而 CNN 的构造中会对特色图降采样(downsampling)或者利用带步长的卷积(例如,压缩空间分辨率)。但对于图像宰割工作而言,咱们心愿模型产生全分辨率语义预测。
图像宰割畛域当初较为风行的是 编码器解码器构造,其中咱们对输出的空间分辨率进行下采样,生成分辨率较低的特色映射,它能高效地进行分类,而后应用上采样将特色还原为全分辨率宰割图。
4.2 上采样办法
咱们有许多办法能够对特色图进行上采样。
「池化」操作通过对将小区域的值取成繁多值(例如均匀或最大池化)进行下采样,对应的「上池化」操作就是将繁多值调配到更高的分辨率进行上采样。
转置卷积(Transpose Convolution,有时也翻译为「反卷积」)是迄今为止最风行的上采样办法,这种构造容许咱们在上采样的过程中进行参数学习。
典型的「卷积」运算将采纳滤波器视图中以后值的点积并为相应的输入地位产生单个值,而「转置卷积」根本是相同的过程:咱们从低分辨率特色图中获取单个值,并将滤波器中的所有权重乘以该值,将这些加权值投影到输入因素图中。
某些大小的滤波器会在输入特色映射中产生重叠(例如,具备步幅 \(2\) 的 \(3 \times 3\) 滤波器 – 如上面的示例所示),如果只是简略将重叠值加起来,往往会在输入中产生棋盘格子状的伪影(artifact)。
这并不是咱们须要的,因而最好确保您的滤波器大小不会产生重叠。
上面咱们对支流的模型进行介绍,包含 FCN、SegNet、U-Net、PSPNet、DeepLab V1~V3 等。
5. 典型语义宰割算法
5.1 FCN 全卷积网络
全卷积网络 FCN 在会议 CVPR 2015 的论文 Fully Convolutional Networks for Semantic Segmentation 中提出。
它将 CNN 分类网络(AlexNet, VGG 和 GoogLeNet)批改为全卷积网络,通过对宰割工作进行微调,将它们学习的表征转移到网络中。而后,定义了一种新的架构,它将深的、毛糙的网络层的语义信息和浅的、精密的网络层的表层信息联合起来,来生成准确和具体的宰割。
对于 CNN 的具体构造,以及卷积层和全连贯层的变换等基础知识能够浏览 ShowMeAI 文章
- 深度学习教程 | 吴恩达专项课程 · 全套笔记解读 中的文章 卷积神经网络解读。
- 深度学习与计算机视觉教程:斯坦福 CS231n · 全套笔记解读 中的文章 卷积神经网络
全卷积网络在 PASCAL VOC(2012 年的数据,绝对之前的办法晋升了 \(20\%\),达到 \(62.2\%\) 的均匀 IoU),NYUDv2 和 SIFT Flow 上实现了最优的宰割后果,对于一个典型的图像,推断只须要 \(1/3\) 秒的工夫。
FCN 的网络结构如下所示,典型的编码器解码器构造:
咱们来看看 FCN 的中间层的一些数字,如下:
要害特点:
- FCN 的特色由编码器中的不同阶段合并而成的,它们在 语义信息的毛糙水平 上有所不同。- 低分辨率语义特色图的上采样应用 经双线性插值滤波器初始化的「反卷积」操作实现。- 从 VGG16、Alexnet 等分类器网络进行常识迁徙来实现语义细分。
如上图所示,预训练模型 VGG16
的全连贯层(fc6
,fc7
)被转换为全卷积层,通过它生成了低分辨率的类的热图,而后应用经双线性插值初始化的反卷积,并在上采样的每一个阶段通过交融(简略地相加)VGG16 中的低层(conv4
和conv3
)的更加毛糙然而分辨率更高的特色图进一步细化特色。
在传统的分类 CNNs 中,池化操作用来减少视线,同时缩小特色图的分辨率。对分类工作来说十分无效,分类模型关注图像总体类别,而对其空间地位并不关怀。所以才会有频繁的卷积层之后接池化层的构造,保障能提取更多形象、突出类的特色。
另一方面,池化和带步长的卷积对语义宰割是不利的,这些操作会带来空间信息的失落。不同的语义宰割模型在 解码器 中应用了不同机制,但目标都在于复原在 编码器 中升高分辨率时失落的信息。如上图所示,FCN-8s 交融了不同粗糙度(conv3
、conv4
和fc7
)的特色,利用编码器不同阶段不同分辨率的空间信息来细化宰割后果。
下图为训练 FCNs 时卷积层的梯度:
第 1 个卷积层捕获低层次的几何信息,咱们留神到梯度调整了第一层的权重,以便其能适应数据集。
VGG 中更深层的卷积层有十分小的梯度流,因为这里捕捉的高层次的语义概念足够用于宰割。
语义宰割架构的另一个重要点是,对特色图应用「反卷积」(如上动图所示),将低分辨率宰割图上采样至输出图像分辨率,或者破费大量计算成本,应用空洞卷积在编码器上局部防止分辨率降落。即便在古代 GPUs 上,空洞卷积的计算成本也很高。
最初,咱们来看看 FCN 的优缺点:
5.2 SegNet
SegNet 在 2015 的论文 SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation 中提出。
SegNet 的新鲜之处在于解码器对其较低分辨率的输出特色图进行上采样的形式。
- 解码器应用了在相应编码器的最大池化步骤中计算的池化索引来执行非线性上采样。
这种办法打消了学习上采样的须要。经上采样后的特色图是稠密的,因而随后应用可训练的卷积核进行卷积操作,生成密集的特色图。
SegNet 与 FCN 等语义宰割网络比拟,后果揭示了在实现良好的宰割性能时所波及的内存与精度之间的衡量。
要害特点:
- SegNet 在解码器中应用「反池化」对特色图进行上采样,并在宰割中放弃高频细节的完整性。- 编码器舍弃掉了全连贯层(和 FCN 一样进行卷积),因而是领有较少参数的轻量级网络。
如上图所示,编码器中的每一个最大池化层的索引都被存储起来,用于之后在解码器中应用那些存储的索引来对相应的特色图进行反池化操作。尽管这有助于放弃高频信息的完整性,但当对低分辨率的特色图进行反池化时,它也会疏忽邻近的信息。
5.3 U-Net
SegNet 在 2015 的论文 U-Net: Convolutional Networks for Biomedical Image Segmentation 中提出。
U-Net 架构包含一个「捕捉上下文信息的膨胀门路」和一个「反对准确本地化的对称扩大门路」。这样一个网络能够应用非常少的图像进行端到端的训练,它在 ISBI 神经元构造宰割挑战赛中获得了比之前办法都更好的后果。
要害特点:
- U-Net 简略地将 编码器 的特色图拼接至每个阶段 解码器 的上采样特色图,从而造成一个梯形构造。该网络十分相似于 Ladder Network 类型的架构。- 通过跳跃
拼接
连贯的架构,在每个阶段都容许解码器学习在编码器池化中失落的相干特色。- 上采样采纳转置卷积。
U-Net 在 EM 数据集上获得了最优异的后果,该数据集只有 30 个密集标注的医学图像和其余医学图像数据集,U-Net 起初扩大到 3D 版的 3D-U-Net。尽管 U-Net 最后的发表在于其在生物医学畛域的宰割、网络的实用性以及从非常少的数据中学习的能力,但当初曾经胜利利用其余几个畛域,例如 卫星图像宰割 等。
5.4 DeepLab V1
DeepLab V1 在 2015 的论文 Semantic Image Segmentation with deep convolutional nets and fully connected CRFs 中提出。
DeepLab V1 联合 DCNN 和概率图模型来解决语义宰割问题。DCNN 最初一层的响应不足以精确定位指标边界,这是 DCNN 的不变性导致的。DeepLab V1 的解决办法是:在最初一层网络后联合全连贯条件随机场。DeepLab V1 在 PASCAL VOC 2012 上达到了 71.6% 的 mIoU。
要害特点:
- 提出 空洞卷积(atrous convolution)(又称扩张卷积(dilated convolution))。- 在最初两个最大池化操作中不升高特色图的分辨率,并在倒数第二个最大池化之后的卷积中应用空洞卷积。- 应用 CRF(条件随机场) 作为后处理,复原边界细节,达到精确定位成果。- 附加输出图像和前四个最大池化层的每个输入到一个两层卷积,而后拼接到主网络的最初一层,达到 多尺度预测 成果。
5.5 DeepLab V2
DeepLab V2 在 2017 的论文 DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs 中提出。
DeepLab V2 提出了一种空洞空间金字塔池化(ASPP)的多尺度鲁棒宰割办法。
ASPP 应用多个采样率的过滤器和无效的视线探测传入的卷积特色层,从而在多个尺度上捕捉指标和图像上下文。再联合 DCNNs 办法和概率图形模型,改良了指标边界的定位。
DCNNs 中罕用的最大池化和下采样的组合实现了不变性,但对定位精度有肯定的影响。DeepLab V2 通过将 DCNN 最初一层的响应与一个全连贯条件随机场 (CRF) 相结合来克服这个问题。DeepLab V2 在 PASCAL VOC 2012 上失去了 \(79.7\%\) 的 mIoU。
DeepLab V2 的骨干网络是 ResNet,整体网络如下图所示,外围的一些构造包含 空洞卷积组建的 ASPP 模块、空洞空间金字塔池化。
上图中的 ASPP 模块具体开展如下方 2 个图所示:
具体的,DeepLab V2 论文中提出了语义宰割中的三个挑战:
- ① 因为池化和卷积而缩小的特色分辨率。
- ② 多尺度指标的存在。
- ③ 因为 DCNN 不变性而缩小的定位准确率。
第①个挑战解决办法:缩小特色图下采样的次数,然而会减少计算量。
第②个挑战解决办法:应用图像金字塔、空间金字塔等多尺度办法获取多尺度上下文信息。
第③个挑战解决办法:应用跳跃连贯或者引入条件随机场。
DeepLab V2 应用 VGG 和 ResNet 作为骨干网络别离进行了试验。
Deep LAB-ASPP employs multiple filters with different rates to capture objects and context at multiple scales.
要害特点:
- 提出了 空洞空间金字塔池化(Atrous Spatial Pyramid Pooling),在不同的分支采纳不同的空洞率以取得多尺度图像表征。
5.6 DeepLab V3
DeepLab V3 在论文 Rethinking Atrous Convolution for Semantic Image Segmentation 中提出。
DeepLab V3 仍旧应用了 ResNet 作为骨干网络,也仍旧利用空洞卷积构造。
为了解决多尺度指标的宰割问题,DeepLab V3 串行 / 并行设计了可能捕获多尺度上下文的模块,模块中采纳不同的空洞率。
此外,DeepLab V3 加强了先前提出的空洞空间金字塔池化模块,减少了图像级特色来编码全局上下文,使得模块能够在多尺度下探测卷积特色。
DeepLab V3 模型在没有 CRF 作为后处理的状况下显著晋升了性能。
DeepLab V1-V3 的构造比照如下所示:
DeepLab V3 对 ASPP 模块进行了降级,降级后的构造细节如下图所示:
DeepLab V3 的具体构造细节如下,蕴含多个残差块构造。
DeepLab V3 中引入了 Multi-grid,能够输出大分辨率图片:
DeepLab V3 蕴含 2 种实现构造:别离为 cascaded model 级联型 和 ASPP model 金字塔池化型。
两种模型别离如下的 2 幅图所示。
- cascaded model 中 Block1,2,3,4 是 ResNet 网络的层构造(V3 骨干网络采纳 ResNet50 或 101),但 Block4 中将 \(3 \times 3\) 卷积和捷径分支 \(1 \times 1\) 卷积步长 Stride 由 \(2\) 改为 \(1\),不进行下采样,且将 \(3 \times 3\) 卷积换成收缩卷积,前面的 Block5,6,7 是对 Blockd 的 copy。(图中 rate 不是真正的膨胀系数,真正的膨胀系数 \(=rate \ast Multi-grid\) 参数)
- ASPP 模型的降级在后面介绍里提到了。
论文中应用较多的构造还是还是 ASPP 模型,两者模型在成果上差距不大。
要害特点:
- 在残差块中应用多网格办法(MultiGrid),从而引入不同的空洞率。- 在空洞空间金字塔池化模块中退出图像级(Image-level)特色,并且应用 BatchNormalization 技巧。
5.7 Mask R-CNN
Mask R-CNN 在论文 Mask R-CNN 中被提出。
Mask R-CNN 以 Faster R-CNN 为根底,在现有的边界框辨认分支根底上增加一个并行的预测指标掩码的分支。
Mask R-CNN 很容易训练,仅仅在 Faster R-CNN 上减少了一点小开销,运行速度为 5fps。
此外,Mask R-CNN 很容易泛化至其余工作,例如,能够应用雷同的框架进行姿势预计。
Mask R-CNN 在 COCO 所有的挑战赛中都取得了最优后果,包含实例宰割,边界框指标检测,和人关键点检测。在没有应用任何技巧的状况下,Mask R-CNN 在每项工作上都优于所有现有的单模型网络,包含 COCO 2016 挑战赛的获胜者。
Mask R-CNN 是在风行的 Faster R-CNN 架构根底上进行必要的批改,以执行语义宰割。
要害特点:
在 Faster R-CNN 上增加辅助分支以执行语义宰割 - 对每个实例进行的 RoIPool 操作曾经被批改为 RoIAlign,它防止了特征提取的空间量化,因为在最高分辨率中放弃空间特色不变对于语义宰割很重要。- Mask R-CNN 与 Feature Pyramid Networks(相似于 PSPNet,它对特色应用了金字塔池化)相结合,在 MS COCO 数据集上获得了最优后果。
5.8 PSPNet
PSPNet 在论文 PSPNet: Pyramid Scene Parsing Network 中提出。
PSPNet 利用基于不同区域的上下文信息汇合,通过咱们的金字塔池化模块,应用提出的金字塔场景解析网络(PSPNet)来施展全局上下文信息的能力。
全局先验表征在场景解析工作中产生了良好的品质后果,而 PSPNet 为像素级的预测提供了一个更好的框架,该办法在不同的数据集上达到了最优性能。它首次在 2016 ImageNet 场景解析挑战赛,PASCAL VOC 2012 基准和 Cityscapes 基准中呈现。
如上图所示,PSP 网络解决的次要问题是「短少上下文信息」带来的不精确,其利用全局信息获取上下文,具体如下
之前的问题 : 短少上下文信息
如上图所示
- 图中的 boat 区域和类别 ”car”的 appearance 类似
- 模型只有 local 信息,Boat 容易被辨认为 ”car”
- Confusion categories: Building and skyscraper
利用上下文信息办法
- 利用全局信息 (global information)
- 全局信息 in CNN ~= feature/pyramid
PSP 网络的一些细节如下几幅图中介绍:
要害特点:
- PSPNet 通过 引入空洞卷积来批改根底的 ResNet 架构 ,特色通过最后的池化,在整个编码器网络中以雷同的分辨率进行解决(原始图像输出的
1/4
),直到它达到空间池化模块。- 在 ResNet 的中间层中引入 辅助损失 ,以优化整体学习。- 在批改后的 ResNet 编码器顶部的 空间金字塔池化 聚合全局上下文。
图片展现了全局空间上下文对语义宰割的重要性。它显示了层之间感触野和大小的关系。在这个例子中,更大、更加可判断的感触野(蓝 )相比于前一层( 橙)可能在细化表征中更加重要,这有助于解决歧义
5.9 RefineNet
RefineNet 在论文 RefineNet: Multi-Path Refinement Networks for High-Resolution Semantic Segmentation 中提出。
RefineNet 是一个通用的多路径优化网络,它明确利用了整个下采样过程中可用的所有信息,应用近程残差连贯实现高分辨率的预测。通过这种形式,能够应用晚期卷积中的细粒度特色来间接细化捕获高级语义特色的更深的网络层。RefineNet 的各个组件应用遵循恒等映射思维的残差连贯,这容许网络进行无效的端到端训练。
如上图所示,是建设 RefineNet 的块 – 残差卷积单元,多分辨率交融和链式残差池化。
RefineNet 解决了传统卷积网络中空间分辨率缩小的问题,与 PSPNet(应用计算成本高的空洞卷积)应用的办法十分不同。提出的架构迭代地池化特色,利用非凡的 RefineNet 模块减少不同的分辨率,并最终生成高分辨率的宰割图。
要害特点:
- 应用 多分辨率 作为输出,将提取的特色交融在一起,并将其传递到下一个阶段。
- 引入 链式残差池化,能够从一个大的图像区域获取背景信息。它通过多窗口尺寸无效地池化个性,利用残差连贯和学习权重形式交融这些特色。
- 所有的特色交融都是应用
sum
(ResNet 形式)来进行端到端训练。 - 应用一般 ResNet 的残差层,没有计算成本高的空洞卷积。
6. 拓展学习
能够点击 B 站 查看视频的【双语字幕】版本
- 【课程学习指南】斯坦福 CS231n | 深度学习与计算机视觉
- 【字幕 + 材料下载】斯坦福 CS231n | 深度学习与计算机视觉 (2017·全 16 讲)
- 【CS231n 进阶课】密歇根 EECS498 | 深度学习与计算机视觉
- 【深度学习教程】吴恩达专项课程 · 全套笔记解读
- 【Stanford 官网】CS231n: Deep Learning for Computer Vision
7. 参考资料
- An overview of semantic image segmentation
- A 2017 Guide to Semantic Segmentation with Deep Learning
- Semantic Segmentation using Fully Convolutional Networks over the years
斯坦福 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 · 全套笔记解读