清华青年AI自强作业hw5:基于CNN实现CIFAR10分类任务

清华青年AI自强作业hw5:基于CNN实现CIFAR10分类任务

    • 简述
    • 作业实现
    • 遇到的问题
    • 相关链接

在这里插入图片描述

一起学AI系列博客:目录索引

简述


hw5作业为利用深度卷积神经网络实现CIFAR_10数据集十分类问题,帮助理解CNN的前向传播结构。

CIFAR-10是一个常用的彩色图片数据集,它有10个类别: ‘airplane’, ‘automobile’, ‘bird’, ‘cat’, ‘deer’, ‘dog’, ‘frog’, ‘horse’, ‘ship’, ‘truck’。

其中,训练集样本5W张图,测试集样本1W张图。

在这里插入图片描述

官网介绍:The CIFAR-10 dataset,link

  • 相应实现源码见代码仓:https://github.com/ioMayday/Tsinghua_Youth_AI/tree/master/homework
  • 相关keras使用指导:https://keras.io/zh/getting-started/sequential-model-guide/

作业实现


首先,根据课程作业上搭建的模型网络,得到总体算法流程。

在这里插入图片描述

简单的CNN网络模型及具体参数

算法流程

  • 输入图像
  • 进行数据增强
  • 两层卷积网络
    • 卷积计算
    • 加入偏置
    • 激活函数
    • 池化计算
  • 将结果输出展开成1维向量
  • 通过两层FC网络
  • 通过softmax得到10分类结果

注意,卷积+池化+偏置+relu,这里我们整体算1层卷积网络。

基本超参设置

  • batch-size: 256
  • epoch:100
  • lr:0.1
  • learning_decay:0.001
  • loss:交叉熵
  • 优化方法:adam
  • 模型层数:4
  • batchnorm: yes
  • 激活函数:relu
  • 末端输出:softmax

实现步骤

  • 本地调试
    • 先本地CPU跑通demo
  • 服务器正式训练
    • 在服务器跑GPU
    • 先调小的epoch、batchsize、样本输入,保证gpu环境通的
    • 再调正式的参数进行训练

遇到的问题


数据集100次epoch后loss就无法下降,预测集精度仅55%

  • 老师结果:70.18%
  • 学生结果:87.35%

现象分析

  • 是否训练次数不够高,欠拟合
    • epoch调大后,依然无济于事
  • 查看样本大小,原始的:5w训练,最新的:10w训练,是否训练集问题?
    • 确认不是,最新的数据集本质也是5w张图片,只是数据增强后,增加了5w张图
  • keras编译项loss还是二分类loss,应该改为categorical_crossentropy。
    • 确认有影响,导致模型loss无法正常收敛
  • 是否学习率过大导致loss无法进一步收敛?
    • 确认有影响,学习率衰减设置过大0.8,导致lr很快为0,改为0.001,再后期可以精细化调节loss

结论

  • 编译项loss类型选择错误
  • 学习率设置过大

在分析过程中,同期实现了基于keras官网介绍的模型训练demo,改进后测试精度达到:76%。主要做了以下修改:

  • 网络卷积层数和feature个数不同
  • 去除图片增强模块
  • 基于colab环境运行,适配其keras版本

最终,基于课程上的网络模型训练,经过100个epoch得到的结果是:

  • 训练集:99.97%
  • 测试集:68%

说明有些过拟合,后期还需要增大正则化、减小epoch提前终止训练等方式来进行优化。

相关链接


  1. 文科生都能零基础学AI?清华这门免费课程让我信了,link
  2. 清华青年AI自强作业hw2:线性回归预测,link
  3. 清华青年AI自强作业hw3_1:用线性回归模型拟合MNIST手写数字分类,link
  4. 清华青年AI自强作业hw3_2:前向传播和反向传播实战,link
  5. 清华青年AI自强作业hw3_3:用NN网络拟合MNIST手写数字分类,link
  6. 清华青年AI自强作业hw4:基于DNN实现狗狗二分类与梯度消失实验,link

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/9797.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

能够辅助用户分类管理个人任务的备忘录哪款比较好?

当我回忆起自己曾经忙碌的日子,我意识到在处理多种事务时,一个高效的分类管理系统是多么的重要。在那段时间里,我不仅要应对工作上的各种任务,还要处理个人事务和日常琐事。随着任务的增加,我发现自己越来越难以有效地…

基于深度学习的高精度红外行人车辆检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度红外行人车辆检测识别系统可用于日常生活中或野外来检测与定位红外行人车辆目标,利用深度学习算法可实现图片、视频、摄像头等方式的红外行人车辆目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系…

Tomcat部署及优化

一、Tomcat概述1.1 Tomcat介绍1.2 servlet介绍1.3 JSP介绍 二、Tomcat核心组件2.1 Tomcat三大容器2.2 Tomcat功能组件结构2.2.1 Container结构分析 2.3 Tomcat处理请求过程 三、Tomcat服务部署3.1 关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下3.2 安装JDK3.3…

【Web3】认识以太坊钱包

目录 区块链钱包概念 密码 私钥 Private Key 公钥Public Key Keystore 助记词 Mnemonic 如何解锁账户 区块链钱包概念 钱包用来存钱的,在区块链中,我们的数字资产都会对应到一个账户地址上, 只有拥 有账户的钥匙(私钥&…

【Java可执行命令】(五)打包部署工具 jar:深入解析应用程序打包、分发和部署工具jar ~

Java可执行命令详解之jar 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式:创建jar文件3.1.1 参数:-cf3.1.2 参数:-tf3.1.3 参数:-i3.1.4 参数:-v3.1.5 参数:-e 3.2 运行jar文件 4️⃣ 应用场景5️⃣ 注…

fdisk和df -h的区别以及如何看懂和提取信息

前几天要查看linux系统磁盘大小,但是发现fdisk和df -h出来的大小和信息不一样,了解了一下linux的磁盘分区和内存大小,查阅了相关资料,总结以下信息: 一、相关理念 在计算机中,存放信息的主要存储设备就是…

c++摘花生

先看题目: Hello Kitty想摘点花生送给她喜欢的米老鼠。 她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。 地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘…

如何用 PowerPoint 制作滚动字幕

想知道如何使用 PowerPoint 制作滚动字幕吗?让您的演示更生动有趣!请紧跟以下教程,学习这个令人赞叹的技巧! 是不是你觉得自己制作的PPT过于呆板和无聊,而别人的PPT却充满了高级和趣味?原因在于你的PPT缺乏…

排序算法(1):冒泡排序

在计算机科学领域,排序算法是一个重要的主题。冒泡排序法是最基础且简单的排序算法之一,它的原理简单易懂,是学习排序算法的理想起点。本文将详细介绍冒泡排序法的原理、实现方法以及优化技巧,帮助读者全面了解和掌握这一经典算法…

打造品牌影响力:媒介易引领邀请明星录制祝福视频新潮流

在当今品牌推广的竞争激烈市场中,与体育冠军合作代言已成为众多品牌争相追求的新形式。体育冠军以其卓越的成就和广泛的影响力,成为品牌推广中的瞩目焦点。他们的形象和声音能够深入人心,激发消费者的共鸣,并对品牌产生积极的影响…

如何三分钟快速制作自定义ppt

目录 利用ChatGPTMindShow三分钟生成PPT 机器人 道合顺 莓用ai 百晓生 aichat 结合提词器以达到更好地提问效果: 更好地提问ChatGPT_常用prompt表_小黄同学LL的博客-CSDN博客 举个栗子: 利用ChatGPTMindShow三分钟生成PPT 提词:…

自动生成的webservice客户端设置请求消息头信息

这里讲的头消息是指发送webservice请求的HTTP头信息(MIME 头信息),而不是SOAP报文里面的Header标签内容。 package example;import mypackage.GetOperInfoRequest; import mypackage.GetOperInfoResponse; import mypackage.Webservice11; i…