前言
本文综合整理神经网络的入门实践,包括物体识别、花朵分类、猫狗识别、风格迁移、文本分类;参考了官网和许多高校的课程、论文等。文章的结构是一步一步详细讲解,并动手实践;大家要不看看? ( •̀ ω •́ )y
开发环境
Tensorflow2、Python3
一、物体识别
简介
本文介绍卷积神经网络的入门案例,通过搭建和训练一个模型,来对10种常见的物体进行识别分类;使用到CIFAR10数据集,它包含10 类,即:“飞机”,“汽车”,“鸟”,“猫”,“鹿”, “狗”,“青蛙”,“马”,“船”,“卡车” ;共 60000 张彩色图片;通过搭建和训练卷积神经网络模型,对图像进行分类,能识别出图像是“汽车”,或“鸟”,还是其它。
思路流程
- 导入 CIFAR10 数据集
- 探索集数据,并进行数据预处理
- 构建模型(搭建神经网络结构、编译模型)
- 训练模型(把数据输入模型、评估准确性、作出预测、验证预测)
- 使用训练好的模型
数据集效果图
网络结构
详细介绍:手把手搭建一个【卷积神经网络】
二、花朵分类
简介
本文介绍卷积神经网络的入门案例,通过搭建和训练一个模型,来对几种常见的花朵进行识别分类;
使用到TF的花朵数据集,它包含5类,即:“雏菊”,“蒲公英”,“玫瑰”,“向日葵”,“郁金香”;共 3670 张彩色图片;通过搭建和训练卷积神经网络模型,对图像进行分类,能识别出图像是“蒲公英”,或“玫瑰”,还是其它。
意义
本篇文章主要的意义是带大家熟悉卷积神经网络的开发流程,包括数据集处理、搭建模型、训练模型、使用模型等;更重要的是解在训练模型时遇到“过拟合”,如何解决这个问题,从而得到“泛化”更好的模型。
思路流程
- 导入数据集
- 探索集数据,并进行数据预处理
- 构建模型(搭建神经网络结构、编译模型)
- 训练模型(把数据输入模型、评估准确性、作出预测、验证预测)
- 使用训练好的模型
- 优化模型、重新构建模型、训练模型、使用模型
模型效果
在训练和验证集上查看损失值和准确性:
详细介绍:“花朵分类“ 手把手搭建【卷积神经网络】
三、猫狗识别
简介
本章带大家熟悉“迁移学习”的开发流程,介绍如何使用预先训练好的神经网络,结合实际的功能需求,来实现一些图像任务;比如:实现对猫和狗的图像进行分类。
预先训练好的神经网络,通常称为“预训练模型”,它在大型数据集上进行训练,取得业界认可的效果,开源给广大开发者使用的模型。本文主要介绍在keras中的关于图像任务的开源模型。
迁移学习方式
我们可以直接使用预训练模型,毕竟效果挺好的;提供输入信息,经过模型处理,直接输出结果。
也可以使用预训练模型的一部分网络结构,使用其特定的功能(比如:特征提取),然后根据给定任务自定义搭建一部分网络结构(比如:实现分类),最后组合起来就形成一个完整的神经网络啦。本文主要将这种方式。
思路流程
- 导入数据集
- 探索集数据,并进行数据预处理
- 构建模型(搭建神经网络结构、编译模型)预训练模型 + 自定义模型
- 训练模型(把数据输入模型、评估准确性、作出预测、验证预测)
- 使用训练好的模型
模型效果
详细介绍:迁移学习之快速搭建【卷积神经网络】
四、风格迁移
简介
风格迁移,基于A图像内容,参考B图像的风格(名画,像毕加索或梵高一样绘画),创造出一幅新图像。
原理
风格迁移是基于生成对抗网络实现的,是一种优化技术,用于将两个图像,A图像内容和B图像风格,混合再一起,是输出的图像看起来像A图像,但是也参考了B图像的风格。
通过优化输出图像,以匹配A图像的内容统计数和B图像的风格统计数据。这些统计数据可以使用卷积网络从图像中提取。
项目实践
本文基于TF-Hub开源项目进行开发,60多行代码快速实现神经网络的风格迁移,为方便大家使用,已经整理相关代码和模型到Github中,直接下载即可使用。
模型效果
详细介绍:神经网络之风格迁移【TF-Hub开源项目】
五、文本分类
简介
本文介绍神经网络的案例,通过搭建和训练一个模型,来对电影评论进行“文本分类”;将影评分为积极或消极两类;是一个二分类问题。
使用到网络电影数据库的 IMDB 数据集,包含 50,000 条影评文本,这是二元情绪分类的数据集。
意义
本篇文章主要的意义是带大家熟悉神经网络的开发流程,包括数据集处理、搭建模型、训练模型、使用模型等;更重要的认识“迁移学习”的开发流程,使用业界认可的网络模型作为“预训练模型”,提高开发效率。
思路流程
- 导入数据集
- 探索集数据,并进行数据预处理
- 构建模型(搭建神经网络、编译模型)
- 训练模型(把数据输入模型、评估准确性、作出预测、验证预测)
- 使用训练好的模型
- 优化模型、重新构建模型、训练模型、使用模型
设计模型
模型结构
详细介绍:【迁移学习】快速实现“文本分类“
小彩蛋
【神经网络】综合篇——人工神经网络、卷积神经网络、循环神经网络、生成对抗网络
大家加油呀~~ ( •̀ ω •́ )✧