机器学习--利用卷积神经网络进行鸟类识别
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了机器学习--利用卷积神经网络进行鸟类识别,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2371字,纯文字阅读大概需要4分钟。
内容图文
机器学习–利用卷积神经网络进行鸟类识别
本实验是在Windows10系统上安装Anaconda 3,基于建立在TensorFlow上的模块化的、透明的深度学习库TFLearn,完成实验训练及验证结果。
(一)算法原理分析
卷积神经网络(Convolutional Neural Network,CNN)是根据大脑神经元而设计的,是一种前馈多层网络。其信息流动只有一个方向,即从输入到输出,每个层使用一组卷积核执行多个转换。卷积神经网络模型主要包括卷积层、池化层和全连接层。
(二)数据描述
本实验的数据是从CIFAR10 数据库中免费获取的,其中含有6000张鸟类的图片和54000张非鸟类的图片,共包括10个类别,每个类别有6000张32*32彩色图片。数据集一共分为5个训练集合一个测试集合,每个集合有10000张图片。测试集合中包含了从每个类中随机选择的1000个图片。训练集合则包括每个类的5000张剩余图片。
下面是该数据集的部分图片展示。
(三)算法描述
本次实验使用了TFLearn。TFLearn是一个建立在TensorFlow顶部的模块化的深度学习库,它为TensorFlow提供更加高级的API,以便于快速实验,同时保持完全透明和兼容。
本实验设计的卷积神经网络结构包括了3个卷积层,2个最大池化层和2个全连接层。待识别图片可以通过卷积层和池化层来提取图片中的特征,而全连接层则把二维的特征图变为一维的特征向量。
模型建立好之后,开始训练。本实验中,进行了50次训练,同时进行实时监控,将损失率和正确率都记录下来,并保存模型。本实验通过卷积神经网络对图片进行鸟类识别,训练50次,训练集合识别准确率达到了88.25%,损失率达35.76%;验证集合识别准确率达81.00%,损失率达69.97%。
(说一下这里的模型各层选择,我在网上找了大量的数据,最后发现大部分博客都是这一种结构,其他结构最后得到的正确率都比这个要小一些。按理来说,这个模型结构的选择应该是经过大量测试得到的,但是由于我做作业的时候时间不充足,设备不给力,运行一次的时间就要一个多小时,所以就遵从了大多数人的选择,哈哈哈)
小结:在本次实验中,我对卷积神经网络的原理有了更进一步的理解:对一个图像进行识别时,要抓取最突出的部分。这也是卷积神经网络的核心之一。通过卷积层进行卷积运算,将图像特征进行提取和抽象,之后,利用池化层将特征进一步提取,减少参数的数量。本实验使用的是最大池化层,将卷积层计算出的特征选取最大值,从而提高计算速度,缩减模型的大小,降低特征维度。至此,一个很大的图片已经被缩减成了一个相对较小的数组。所以我们可以把这个数组输入到另外一个神经网络里面去,即全连接神经网络,将二维转换成一维,它会输出该图片所属标签,从而完成了对该图像的识别。
所以,对一个图片进行识别,就是从一整个图片开始,一步一步逐渐分解它,直到找到一个单一的结论。同时,卷积层越多,卷积神经网络就能识别出越复杂的特征。
本实验是用python代码编写的,这里就不贴代码了。网上有很多,可以找找看。
内容总结
以上是互联网集市为您收集整理的机器学习--利用卷积神经网络进行鸟类识别全部内容,希望文章能够帮你解决机器学习--利用卷积神经网络进行鸟类识别所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。