AlexNet阅读笔记

ImageNet classification with deep convolutional neural networks
原文链接:https://dl.acm.org/doi/abs/10.1145/3065386
中文翻译:https://blog.csdn.net/qq_38473254/article/details/132307508

使用深度卷积神经网络进行 ImageNet 分类

摘要

  1. 大型卷积神经网络AlexNet,实现了低错误率;
  2. 该网络由5个卷积层和3个全连接层组成;
  3. 使用了GPU加快了训练速度;
  4. 开发了“dropout”正则化手段减少过拟合;

1. 简介

  1. 为了更强大的模型,大型的数据集是需要的,如ImageNet;
  2. GPU能够与2D卷积实现结合,可以促进CNN训练;
  3. 如果有更快的GPU和更大的数据集,结果就可以得到改善。

2. 数据集

  1. 使用ImageNet的子集,每个类别包含大约1000个图像。总共大约有120万张训练图像、5五万张验证图像和15万张测试图像;
  2. ImageNet是由可变分辨率图像组成,这里将图像下采样到固定分辨率256 × 256。

3.架构

3.1 ReLU非线性

  1. 使用 ReLU 的深度卷积神经网络的训练速度比使用 tanh 单元的深度卷积神经网络快几倍;
  2. 激活函数:在这里插入图片描述

3.2 多GPU上的训练

  1. GPU适合并行训练,将网络分布在两个GPU上。

3.3 局部响应标准化

3.4 重叠池化

  1. 间隔s个像素<池化单元位置为中心的大小为z × z 的邻域。

3.5 整体架构

  1. 输入图像:224×224×3
  2. 第一个卷积层 :96 个大小为 11×11×3 的核,步幅4
  3. 第二个卷积层:256 个大小为 5 × 5 × 48核
  4. 第三个卷积层:384 个大小为 3 × 3 × 256 的内核
  5. 第四个卷积层: 384 个大小为 3 × 3 × 192 的内核
  6. 第五个卷积层: 256 个大小为 3 × 3 × 192 的内核
  7. 第一个全连接层:4096 个神经元
  8. 第二个全连接层:4096 个神经元
  9. 第三个全连接层:1000个神经元
  10. 最后输出到softmax

在这里插入图片描述

4. 减少过拟合

4.1 数据增强

  1. 图像平移和水平反射,将训练集的大小增加了 2048 倍,减少了过拟合;
  2. 改变训练图像中 RGB 通道的强度,将错误率降低了1%。

4.2 Dropout

  1. 以 0.5 的概率将每个隐藏神经元的输出设置为零,减少了过拟合。

5. 学习细节

  1. 使用随机梯度下降来训练模型,减少了模型的训练误差
    在这里插入图片描述
  2. 使用标准差为0.01的零均值高斯分布初始化每层权重;
    用常量1初始化第二、第四、第五卷积层和全连接隐藏层的神经元偏差;
    用常量0初始化剩余层的神经元偏差。
  3. 对所有层使用相同的学习率,当验证错误率不随当前学习率提高,将学习率除以10。学习率初始化为0.01并且终止前减少了三倍。

6. 结果

在这里插入图片描述

1.错误率相较于之前的Top-1和Top-5得到明显降低

6.1 定性评价

  1. GPU 1 上的内核很大程度上与颜色无关,而 GPU 2 上的内核主要与颜色相关在这里插入图片描述
  2. 如果两个图像产生具有较小欧几里德分离的特征激活向量,我们可以说神经网络的更高层认为它们是相似的在这里插入图片描述在这里插入图片描述

7. 讨论

  1. 删除单个卷积层,网络性能就会下降,所以深度对于实现图像分类很重要。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】如何用队列实现栈?图文详解(LeetCode)

LeetCode链接&#xff1a;225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; 本文默认读者已经掌握栈与队列的基本知识 或者先看我的另一篇博客&#xff1a;【数据结构】栈与队列_字节连结的博客-CSDN博客 做题思路 由于我们使用的是C语言&#xff0c;不能直接使用队…

ubuntu 部署 ChatGLM-6B 完整流程 模型量化 Nvidia

ubuntu 部署 ChatGLM-6B 完整流程 模型量化 Nvidia 初环境与设备环境准备克隆模型代码部署 ChatGLM-6B完整代码 ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型&#xff0c;基于 General Language Model (GLM) 架构&#xff0c;具有 62 亿参数。结合模型量化技术&#x…

Python入门【装饰器​编辑、多个装饰器 、带参数的装饰器、生成器、 生成器定义、 迭代器】(二十八)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…

UAF释放后重引用原理

原地址&#xff1a;https://blog.csdn.net/qq_31481187/article/details/73612451 原作者代码是基于linux系统的演示代码&#xff0c;因为windows和Linux 内存管理机制上略有不同&#xff0c;该程序在Windows需要稍微做些改动。 Windows上执行free释放malloc函数分配的内存后…

Spring中JavaBean的生命周期及模式

( 本篇文章大部分讲述了是底层知识&#xff0c;理念及原理 ) ( 如果只想了解&#xff0c;看我标记的重点即可&#xff0c;如果想明白其中原理&#xff0c;请耐心看完&#xff0c;对你大有受益 ) 目录 一、简介 ( 1 ) 是什么 ( 2 ) 背景概述 ( 3 ) 作用 二、生命周期 2.1 …

数组详解

1. 一维数组的创建和初始化 1.1 数组的创建 数组是一组相同类型元素的集合。 数组的创建方式&#xff1a; type_t arr_name [const_n]; //type_t 是指数组的元素类型 //const_n 是一个常量表达式&#xff0c;用来指定数组的大小 数组创建的实例&#xff1a; //代码1 int a…

STM32 F103C8T6学习笔记8:0.96寸单色OLED显示屏显示字符

使用STM32F103 C8T6 驱动0.96寸单色OLED显示屏: OLED显示屏的驱动&#xff0c;在设计开发中OLED显示屏十分常见&#xff0c;因此今日学习一下。一篇文章从程序到显示都讲通。 文章提供源码、原理解释、测试工程下载&#xff0c;测试效果图展示。 目录 OLED驱动原理—IIC通信…

centos7 部署kubernetes(带自动部署脚本)

目录 一、实验规划 1、规划表 2、安装前宿主机检查 1.配置主机名 2.制作ssh免密&#xff08;VM1中执行&#xff09; 3.修改hosts 文件 4. 修改内核相关参数 5.加载模块 6. 清空iptables、关闭防火墙、关闭交换空间、禁用selinux 7. 安装ipvs与时钟同步 8.配置docker的…

【算法挨揍日记】day03——双指针算法_有效三角形的个数、和为s的两个数字

611. 有效三角形的个数 611. 有效三角形的个数https://leetcode.cn/problems/valid-triangle-number/ 题目描述&#xff1a; 给定一个包含非负整数的数组 nums &#xff0c;返回其中可以组成三角形三条边的三元组个数。 解题思路&#xff1a; 本题是一个关于三角形是否能成立…

【数仓建设系列之一】什么是数据仓库?

一、什么是数据仓库&#xff1f; 数据仓库(Data Warehouse&#xff0c;简称DW)简单来讲&#xff0c;它是一个存储和管理大量结构化和非结构化数据的存储集合&#xff0c;它以主题为向导&#xff0c;通过整合来自不同数据源下的数据(比如各业务数据&#xff0c;日志文件数据等)…

Azure使用CLI创建VM

使用CLI创建VM之前&#xff0c;确保资源中的IP资源已经释放掉了&#xff0c;避免创建的过程中没有可以利用的公共IP地址打开 cloudshell ,并输入创建CLI的命令如下&#xff0c;-n指定名称&#xff0c;-g指定资源组&#xff0c;image指定镜像&#xff0c;admin-usernam指定用户名…

C++音乐播放系统

C音乐播放系统 音乐的好处c发出声音乐谱与赫兹对照把歌打到c上 学习c的同学们都知道&#xff0c;c是一个一本正经的编程语言&#xff0c;因该没有人用它来做游戏、做病毒、做…做…做音乐播放系统吧&#xff01;&#xff01; 音乐的好处 提升情绪&#xff1a;音乐能够影响我们…

Spring Framework中的Bean生命周期

目录 一.Bean生命周期的简介 1.基本概念 2.Spring生命周期的几大阶段 3.注意点及小结 4.生活案例 5.Spring容器管理JavaBean的初始化过程 二. Bean的单例选择与多例选择 1.单例选择与多例选择的优缺点 1.1单例模式的优点&#xff1a; 1.2单例模式的缺点&#xff1a; 1…

insightface安装过程中提示 Microsoft Visual C++ 14.0 or greater is required.

pip install insightface安装过程中提示 Microsoft Visual C 14.0 or greater is required.Get it with "Microsoft C Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ 根据提示网站访问官网下载生成工具 打开软件后会自动更新环境&#…

Ceph入门到精通-Aws Iam(user,role,group,policy,resource)架构图和快速入门

-- Aws Iam(identity,user,role,group,policy,resource,)架构图和快速入门. 【官网】&#xff1a;Cloud Computing Services - Amazon Web Services (AWS) 应用场景 aws 云服务运维,devops过程中经常涉及各项服务&#xff0c;权限&#xff0c;角色的处理。 为了更好的使用各项…

leetcode 279. 完全平方数

2023.8.18 与零钱兑换相似&#xff0c;本题属于完全背包问题&#xff1a;完全平方数为物品&#xff0c;整数n为背包。 直接上代码&#xff1a; class Solution { public:int numSquares(int n) {vector<int> dp(n1 , INT_MAX);dp[0] 0;for(int i1; i*i<n; i){for(in…

BIO、NIO和AIO

一.引言 何为IO 涉及计算机核心(CPU和内存)与其他设备间数据迁移的过程&#xff0c;就是I/O。数据输入到计算机内存的过程即输入&#xff0c;反之输出到外部存储&#xff08;比如数据库&#xff0c;文件&#xff0c;远程主机&#xff09;的过程即输出。 I/O 描述了计算机系统…

AMD fTPM RNG的BUG使得Linus Torvalds不满

导读因为在 Ryzen 系统上对内核造成了困扰&#xff0c;Linus Torvalds 最近在邮件列表中表达了对 AMD fTPM 硬件随机数生成器的不满&#xff0c;并提出了禁用该功能的建议。 因为在 Ryzen 系统上对内核造成了困扰&#xff0c;Linus Torvalds 最近在邮件列表中表达了对 AMD fTPM…

原生js获取今天、昨天、近7天的时间(年月日时分秒)

有的时候我们需要将今天,昨天,近7天的时间(年月日时分秒)作为参数传递给后端,如下图: 那怎么生成这些时间呢?如下代码里,在methods里的toDay方法、yesterDay方法、weekDay方法分别用于生成今天、昨天和近7天的时间: <template><div class="box"&…