| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 卷积神经网络实践-猫狗分类 -> 正文阅读 |
|
[人工智能]卷积神经网络实践-猫狗分类 |
1.摘要 2. 卷积神经网络 传统CNN包含卷积层、全连接层等组件,并采用softmax多类别分类器和多类交叉熵损失函数,一个典型的卷积神经网络如图6所示,我们先介绍用来构造CNN的常见组件。 卷积层(convolution layer): 执行卷积操作提取底层到高层的特征,发掘出图片局部关联性质和空间不变性质。 池化层(pooling layer): 执行降采样操作。通过取卷积输出特征图中局部区块的最大值(max-pooling)或者均值(avg-pooling)。降采样也是图像处理中常见的一种操作,可以过滤掉一些不重要的高频信息。 全连接层(fully-connected layer,或者fc layer): 输入层到隐藏层的神经元是全部连接的。 非线性变化: 卷积层、全连接层后面一般都会接非线性变化函数,例如Sigmoid、Tanh、ReLu等来增强网络的表达能力,在CNN里最常使用的为ReLu激活函数。 Dropout: 在模型训练阶段随机让一些隐层节点权重不工作,提高网络的泛化能力,一定程度上防止过拟合。 另外,在训练过程中由于每层参数不断更新,会导致下一次输入分布发生变化,这样导致训练过程需要精心设计超参数。如2015年Sergey Ioffe和Christian Szegedy提出了Batch Normalization (BN)算法 中,每个batch对网络中的每一层特征都做归一化,使得每层分布相对稳定。BN算法不仅起到一定的正则作用,而且弱化了一些超参数的设计。经过实验证明,BN算法加速了模型收敛过程,在后来较深的模型中被广泛使用。 3.实验及结果分析 3.1实验环境与数据集 (3) 数据集部分 我们使用CIFAR10数据集。CIFAR10数据集包含60,000张32x32的彩色图片,10个类别,每个类包含6,000张。其中50,000张图片作为训练集,10000张作为验证集。这次我们只对其中的猫和狗两类进行预测。 3.2损失函数 本文采用的是交叉熵损失函数,该函数在分类任务上比较常用。 3.3网络模型 CNN有着多种可供选择的网络结构,其中包括有LeNet、AlexNet、VGGNet 、ResNet 等。其中VGGNet 是由牛津大学的视觉几何组和谷歌的DeepMind 公司提出,通过VGGNet,研究人员证明了基于小尺寸卷积核,增加网络深度可以有效提升模型效果。VGGNet 引入“模块化”设计思想,将不同的层进行简单组合构成网络模块,再用模块来组装完整网络,而不再以“层”为单元组装网络。VGGNet?有着多种配置方案,本文采用VGG-13,也就是B型VGG结构。 3.4实验结果 随着迭代次数增加损失逐渐减少,精确率逐渐提高 实验精确率acc最终稳定在0.83左右,较为优越 对于6张图片的识别,5张识别正确 4.总结 本文运用卷积神经网络在CIFAR10数据集的基础上,运用VGG13模型训练和建立猫狗识别模型,获得了较为优越的实验结果。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/28 2:20:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |