CNN

TensorFlow2.1入门学习笔记(14)——卷积神经网络InceptionNet, ResNet示例

InceptionNet InceptionNet诞生于2014年,当年ImageNet竞赛冠军,Top5错误率为6.67% InceptionNet引入了Inception结构块,在同一层网络内使用不同尺寸的卷积核,提升了模型感知力使用了批标准化缓解了梯度消失 Inception V1(GoogleNet)——构建了1x1、3x3、5x5的 conv 和3x3的 pooling 的分支网络module,同时使用MLPConv和全局平均池化,扩宽卷积层网络宽度,增加了网络对尺度的适应性; Inception V2——提出了Batch Normalization,代替Dropout和LRN,其正则化的效果让大型卷积网络的训练速度加快很多倍,同时收敛后的分类准确率也可以得到大幅提高,同时借鉴VGGNet使用两个3x3的卷积核代替5x5的卷积核,在降低参数量同时提高网络学习能力; Inception V3——引入了 Factorization,将一个较大的二维卷积拆成两个较小的一维卷积,比如将3x3卷积拆成1x3卷积和3x1卷积,一方面节约了大量参数,加速运算并减轻了过拟合,同时增加了一层非线性扩展模型表达能力,除了在 Inception Module 中使用分支,还在分支中使用了分支(Network In Network In Network); Inception V4——研究了 Inception Module 结合 Residual Connection,结合 ResNet 可以极大地加速训练,同时极大提升性能,在构建 Inception-ResNet 网络同时,还设计了一个更深更优化的 Inception v4 模型,能达到相媲美的性能。 网络结构

TensorFlow2.1入门学习笔记(13)——卷积神经网络LeNet, AlexNet, VGGNet示例

Cifar10数据集 提供 5万张 32*32 像素点的十分类彩色图片和标签,用于训练。 提供 1万张 32*32 像素点的十分类彩色图片和标签,用于测试。 导入cifar10数据集: cifar10 = tf.keras.datasets.cifar10 (x_train, y_train),(x_test, y_test) = cifar10.load_data() 可视化训练集输入特征的第一个元素 plt.imshow(x_train[0]) #绘制图片 plt.show() 打印出训练集输入特征的第一个元素 print("x_train[0]:\n", x_train[0]) 打印出训练集标签的第一个元素 print("y_train[0]:\n", y_train[0]) 打印出整个训练集输入特征形状 print("x_train.

TensorFlow2.1入门学习笔记(12)——卷积神经网络

每个神经元与前后相邻层的每一个神经元都有连接关系,输入是特征,输出为预测的结果。随着隐藏层增多,网络规模的增大,待优化参数过多容易导致模型过拟合 卷积计算过程: 全连接NN:每个神经元与前后相邻层的每一个神经元都有连接关系,输入是特征,输出为预测的结果。 实际项目中的图片多是高分辨率彩色图 随着隐藏层增多,网络规模的增大,待优化参数过多容易导致模型过拟合 实际应用时会先对原始图像进行特征提取再把提取到的特征送给全连接网络 卷积(Convolutional) 卷积计算可是一种有效提取图像特征的方法 一般会用一个正方形的卷积核,按指定步长,在输入特征图上滑动,遍历输入特征图中的每个像素点。每一个步长,卷积核会与输入特征图出现重合区域,重合区域对应元素相乘、求和再加上偏置项得到输出特征的一个像素点 输入特征图的深度(channel数),决定了当前层卷积核的深度;当前层卷积核的个数,决定了当前层输出特征图的深度。 卷积核 卷积核的计算过程 感受野(Receptive Field) 卷积神经网络各输出特征图中的每个像素点,在原始输入图片上映射区域的大小。 例如:5x5x1的输入特征,经过2次3x3x1的卷积过程感受野是5;经过1次5x5x1的卷积过程感受野也是5,感受野相同,则特征提取能力相同。 感受野的选择