Fork me on GitHub

深度学习与图神经网络学习

介绍

图像语义分割,简单而言就是对图片中的每一个像素点进行分类

主要的贡献:

  • 为语义分割引入了 端到端 的全卷积网络,并流行开来
  • 重新利用 ImageNet 的预训练网络用于语义分割
  • 使用 反卷积层 进行上采样
  • 引入跳跃连接来改善上采样粗糙的像素定位

背景

CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题。神经网络大神Jonathan Long发表了《Fully Convolutional Networks for Semantic Segmentation》在图像语义分割挖了一个坑,于是无穷无尽的人往坑里面跳。

全卷积网络 Fully Convolutional Networks

CNN 与 FCN

全连接层 -> 成卷积层

  • 针对第一个连接区域是[7x7x512]的全连接层,令其滤波器尺寸为F=7,这样输出数据体就为[1x1x4096]了。
  • 针对第二个全连接层,令其滤波器尺寸为F=1,这样输出数据体为[1x1x4096]。
  • 对最后一个全连接层也做类似的,令其F=1,最终输出为[1x1x1000]

upsampling

缺点

通常CNN网络在卷积层之后会接上若干个全连接层, 将卷积层产生的特征图(feature map)映射成一个固定长度的特征向量。以AlexNet为代表的经典CNN结构适合于图像级的分类和回归任务,因为它们最后都期望得到整个输入图像的一个数值描述(概率),比如AlexNet的ImageNet模型输出一个1000维的向量表示输入图像属于每一类的概率(softmax归一化)。

栗子:下图中的猫, 输入AlexNet, 得到一个长为1000的输出向量, 表示输入图像属于每一类的概率, 其中在“tabby cat”这一类统计概率最高。

FCN对图像进行像素级的分类,从而解决了语义级别的图像分割(semantic segmentation)问题。与经典的CNN在卷积层之后使用全连接层得到固定长度的特征向量进行分类(全联接层+softmax输出)不同,FCN可以接受任意尺寸的输入图像,采用反卷积层对最后一个卷积层的feature map进行上采样, 使它恢复到输入图像相同的尺寸,从而可以对每个像素都产生了一个预测, 同时保留了原始输入图像中的空间信息, 最后在上采样的特征图上进行逐像素分类。

最后逐个像素计算softmax分类的损失, 相当于每一个像素对应一个训练样本。下图是Longjon用于语义分割所采用的全卷积网络(FCN)的结构示意图:

简单的来说,FCN与CNN的区域在把于CNN最后的全连接层换成卷积层,输出的是一张已经Label好的图片。

其实,CNN的强大之处在于它的多层结构能自动学习特征,并且可以学习到多个层次的特征:较浅的卷积层感知域较小,学习到一些局部区域的特征;较深的卷积层具有较大的感知域,能够学习到更加抽象一些的特征。这些抽象特征对物体的大小、位置和方向等敏感性更低,从而有助于识别性能的提高。

分享安排

  1. 人工智能、深度学习的发展历程
  2. 深度学习框架
  3. 神经网络训练方法
  4. 卷积神经网络,卷积核、池化、通道、激活函数
  5. 循环神经网络,长短时记忆LSTM、门控循环单元GRU
  6. 参数初始化方法、损失函数Loss、过拟合
  7. 对抗生成网络GAN
  8. 迁移学习TL
  9. 强化学习RF
  10. 图神经网络GNN

一、算法和场景融合理解

1.空间相关性的非结构化数据,CNN算法。典型的图像数据,像素点之间具有空间相关性,例如图像的分类、分割、检测都是CNN算法。

2.时间相关性的非结构化数据,RNN算法。这类场景普遍的一个现象就是数据之间具有时序相关性,也就是数据之间存在先后依赖关系。例如自然语言处理、语音相关算法都是基于RNN算法。

3.非欧氏数据结构, GNN。这类场景典型的可以用图来表示。例如社交网络等。

案例摘要讲解

医疗领域:如流行疾病、肿瘤等相关疾病检测

遥感领域:如遥感影像中的场景识别

石油勘探:如石油油粒大小检测

轨道交通:如地铁密集人流检测

检测领域:如故障检测

公安领域:如犯罪行为分析

国防领域:目标检测、信号分析、态势感知…

经济领域:如股票预测

二、数据理解及处理

分析典型场景中的典型数据,结合具体的算法,对数据进行处理

1.结构化数据,如何对数据进行读取,进行组织。

2.图像数据,在实际应用过程中的处理方法,怎样做数据的预处理、进行数据增强等。

3.时序信号,将单点的数据如何组合成一个序列,以及对序列数据处理的基本方法。

三、技术路径设计

针对具体的场景设计特定的神经网络模型,对典型数据适配的网络结构进介绍。

1.DNN模型搭建的基本原则

2.CNN模型中常见的网络结构,以及参数分析。

3.RNN中支持的一些基本算子,如何对序列数据进行组织。

四、模型验证及问题排查

简单的算法或者模型对典型的场景进行快速验证,并且针对一些频发的问题进行讲解。

  1. 模型收敛状态不佳
  2. 分类任务重最后一层激活函数对模型的影响

五、高级-模型优化的原理

不同的模型需要采用的优化函数以及反向传播中参数的优化方法

1.模型优化的算法介绍,基于随机梯度下降的算法介绍。

2.不同场景适应的损失函数介绍。

3.针对典型场景的反向传播梯度的推到过程。

六、高级-定制化思路

结合往期学员的一些项目,简单介绍一下解决一个具体问题的思路。

遥感成像中,地块农作物种类的识别。

实操解析与训练

第一阶段:

神经网络实践

实验:神经网络

1.神经网络中基本概念理解:epoch、batch size、学习率、正则、噪声、激活函数等。

2.不同的数据生成模型、调整网络参数、调整网络规模

3.神经网络分类问题

4.不同数据特征的作用分析、隐含层神经元数目

5.过拟合

高频问题:

1.输入数据与数据特征 2.模型设计的过程中的参数与功能的关系。

关键点:

1.掌握神经网络的基本概念 2.学会搭建简单的神经网络结构

3.理解神经网络参数

实操解析与训练

第二阶段:

深度学习三种编程思想

实验:Keras实践

1.理解Keras基本原理 2.学会Keras编程思想

3.三种不同的深度神经网络构建编程方式

4.给定数据集,采用Keras独立完成实际的工程项目

高频问题:

1.如何编程实现深度神经网络 2.三种开发方式的具体使用

关键点:

1.掌握Keras编程思想 2.采用三种不同方式编写深度神经网络

实操解析与训练

第三阶段:CNN实践

实验:图像分类

1.使用CNN解决图像分类问题 2.搭建AlexNet 3.VGG16/19

4.GoogleNet 5.ResNet

高频问题:

1.CNN更复杂的模型在哪里可以找到代码

关键点:

1.使用卷积神经网络做图像分类 2.常见开源代码以及适用的问题

学习和关注人工智能技术与咨询,更多详情可咨询175-3102-1189(v同号)。


本文地址:https://www.6aiq.com/article/1664160027903
本文版权归作者和AIQ共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出