【第8天】训练模型-CNN与训练方向

摘要

  1. CNN的来源
  2. 浅谈CNN架构
  3. CNN的应用
  4. 训练模型方向

内容

  1. CNN的来源

    1.1 启发:动物视觉皮质组织与神经元间连结,到最後辨识物件的过程。

    1.2 以大脑识人脸为例,说明如下。

    • 讯号通过瞳孔,经神经元传递。

    • 初步处理讯号(底层特徵,如:侦测物件边缘)

    • 抽象判断(将底层特徵组合,判断可能是哪个器官,如眼睛、嘴巴、鼻子)

    • 近一步抽象判断(如:由这些器官组成的,可能是谁的脸?)

    1.3 讯号通过神经元传递後,大脑识别底层特徵(轮廓),组成进阶特徵(器官)...层层递进,最後区分不同物件(人脸)。CNN(卷积神经网路)即效仿该流程。

  2. 浅谈CNN架构

    2.1 谈到CNN,就不得不提到典型的VGG16,可以拆分成以下结构。

    图片来自於:https://arbu00.blogspot.com/2018/03/7-tensorflowvgg-model-cifar10.html?m=1

    2.2 输入层:以彩色影像为例,会有R、G、B三个通道。

    • 图片尺寸:长 * 宽 * 通道数(如:224 * 224 * 3)

    2.3 卷积层(convolution):使用指定大小的卷积核与在图片上移动,对输入层的图像作特徵撷取(矩阵相乘),如下图。

    2.4 启动层:卷积层提取的特徵,藉由启动函数(通常是RELU),从原本的线性关系(矩阵相乘)的特徵图,转化为非线性关系。

    2.5 池化层(pooling):进一步降低特徵维度,将图像中特定区域以一个值代表。经常使用的方法为Max Pooling、Mean Pooling,可减少运算的参数量,在保留重要特徵的情况下,提升运算效率,防止模型过拟合。

    2.6 全连接层(fully connected):把二维特徵图转化成一维向量,以类似投票的方式输出分类结果。

  3. CNN的应用:只要原始资料可以数值化,可应用在各种领域。

    3.1 影像处理:图像由许多像数组成。

    3.2 语音处理:以语音讯号的声谱图,作为影像识别资料集。

    3.3 自然语言处理:将每个词转换成词向量。

  4. 模型训练方向

    4.1 考量

    • 图档数量大(train + test约19.3万张),从头训练模型耗费时间。
    • 需要占用大量运算资源。
    • ImageNet预训练模型,在不同的资料集上泛化能力佳。

    4.2 综合以上因素,我们最终选择以迁移学习的方法,进行此次手写中文字训练模型。


小结

下一章的目标是和大家分享:「什麽是迁移学习?如何进行迁移学习?」。

让我们继续看下去...


参考资料

  1. 卷积神经网路-CNN
  2. 初探卷积神经网路

<<:  day8_MacOs ARM 的文书工作之旅

>>:  【Day23】参数

资料储存 - SqlAlchemy

之前我们做的所有操作,都是在 Jupyter Notebook 进行,没有进行资料储存的动作,所以只...

Day 13 onchange

Odoo模组开发实战 目录 onchange() 第一章 onchange() onchange()...

Day 14 event

第~14~天~罗~ 假如有开发过 Web 的都知道, 假如要设定按钮按下後的动作, 可在 html ...

Day 25: 边界:画线、剖析、预留 (待改进中... )

「软件架构就是画线的艺术,我称这些线为边界 (Boundaries)」 「架构师的目标是尽量减少建...