深度学习最强奠基作ResNet《Deep Residual Learning for Image Recognition》论文解读(上篇)
1、摘要
1.1 第一段
作者说深度神经网络是非常难以训练的,我们使用了一个残差学习框架的网络来使得训练非常深的网络比之前容易得很多。
把层作为一个残差学习函数相对于层输入的一个方法,而不是说跟之前一样的学习unreferenced functions
作者提供了非常多的实验证据证明残差网络非常容易训练,并且能够获得非常好的精度,特别是当把层增加了之后,在ImageNet数据集上使用了152层(在当时GoogleNet也很快出来了,不过不是用了152层深,而是用了很多并行的层)。152层的深度是非常厉害的。
比VGG的网络深了8倍,但是有更低的复杂度(这个是非常有趣的,网络深度是8倍,但是计算复杂度却更低)。用了这些残差网络做了一个ensemble之后得到了3.57的测试精度,这个结果让他们赢下了ImageNet 2015的竞赛。
在CIFAR-10上演示了怎么训练10到1000层的网络。
任何一个得到冠军亚军的文章都应该也会被大家关注,特别是提出了一个框架和一个方法的文章。
CIFAR-10在计算机视觉上是一个很常见也非常小的数据集,训练1000层的网络是非常夸张的,在这之前可能没有见过1000层的网络长什么样子。
1.2第二段
对于很多视觉的任务来说,深度是很重要的。我仅仅是把我的网络换成了之前学习到的残差网络,在COCO目标检测数据集上得到了28%的相对改进。通过ILSVRC&COCO 2015的竞赛上拿下了第一名。
主要的工作就是把CNN的主干网络替换成了作者所提出来的残差网络,在一系列的任务上都取得了比较好的结果还赢下了竞赛第一名。 如果大家做物体检测的话,COCO应该是这一领域最大的数据集了。
按照正常情况,接下来我们应该去看一下结论,比较有意思这篇文章竟然没有结论。
这篇文章是发表在CVPR上的,CVPR要求正文不能超过8页,这篇文章需要放上的结果比较多,包括ImageNet和COCO,导致结果没有空间去放结论部分。
2 重要公式、表格、图片

左图是训练误差,右图是测试误差,在CIFA-10上,用了20层和56层的plain networks。结果表明,56层的网络误差反而更高,训练误差更高、测试误差也更高。在训练更深的网络上,其实不仅仅是过拟合,而且是训练不动的。

这张图主要讲整个架构的实现,原始输入经过一层可学习权重的层,再经过一层 relu,再经过一层可学习权重的层,再与之前的原始数据加在一起的结果经过relu。就是这样的一个结构,构成了网络的主体。

这是在ImageNet数据集上,左图是没有加残差的时候用的是18层和34层的结果,右图是加了残差之后的结果。

34层的28.54%的错误率在加上残差后可以降低到25.3%
这是赢下15年比赛的最后结果

这张图是赢下15年比赛的最后结果
(到这里是第一遍的阅读)
相关文章:
深度学习最强奠基作ResNet《Deep Residual Learning for Image Recognition》论文解读(上篇)
1、摘要 1.1 第一段 作者说深度神经网络是非常难以训练的,我们使用了一个残差学习框架的网络来使得训练非常深的网络比之前容易得很多。 把层作为一个残差学习函数相对于层输入的一个方法,而不是说跟之前一样的学习unreferenced functions 作者提供了…...
第22次CCF计算机软件能力认证
第一题:灰度直方图 解题思路: 哈希表即可 #include<iostream> #include<cstring>using namespace std;const int N 610; int a[N]; int n , m , l;int main() {memset(a , 0 , sizeof a);cin >> n >> m >> l;for(int …...
Go语言基础之基本数据类型
Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。 基本数据类型 整型 整型分为以下两个大类: 按…...
Linux Tracing Technologies
目录 1. Linux Tracing Technologies 1. Linux Tracing Technologies Linux Tracing TechnologieseBPFXDPDPDK...
iOS自定义下拉刷新控件
自定义下拉刷新控件 概述 用了很多的别人的下拉刷新控件,想写一个玩玩,自定义一个在使用的时候也会比较有意思。使应用更加的灵动一些,毕竟谁不喜欢各种动画恰到好处的应用呢。 使用方式如下: tableview.refreshControl XRef…...
Springboot写单元测试
导入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintag…...
一篇文章教你使用Docker本地化部署Chatgpt(非api,速度非常快!!!)及裸连GPT的方式(告别镜像GPT)
本地搭建ChatGPT(非api调用) 第一种方法:使用Docker本地化部署第一步,下载安装Docker登录GPT 第二种方法:不部署项目,直接连接 第一种方法:使用Docker本地化部署 这种方法的好处就是没有登录限…...
前馈神经网络dropout实例
直接看代码。 (一)手动实现 import torch import torch.nn as nn import numpy as np import torchvision import torchvision.transforms as transforms import matplotlib.pyplot as plt#下载MNIST手写数据集 mnist_train torchvision.datasets.MN…...
Android DataStore:安全存储和轻松管理数据
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、使用3.1 Preferences DataStore添加依赖数据读…...
opencv进阶12-EigenFaces 人脸识别
EigenFaces 通常也被称为 特征脸,它使用主成分分析(Principal Component Analysis,PCA) 方法将高维的人脸数据处理为低维数据后(降维),再进行数据分析和处理,获取识别结果。 基本原理…...
The internal rate of return (IRR)
内部收益率 NPV(Net Present Value)_spencer_tseng的博客-CSDN博客...
半导体自动化专用静电消除器主要由哪些部分组成
半导体自动化专用静电消除器是一种用于消除半导体生产过程中的静电问题的设备。由于半导体制造过程中对静电的敏感性,静电可能会对半导体器件的质量和可靠性产生很大的影响,甚至造成元件损坏。因此,半导体生产中采用专用的静电消除器是非常重…...
【C++入门到精通】C++入门 —— deque(STL)
阅读导航 前言一、deque简介1. 概念2. 特点 二、deque使用1. 基本操作(增、删、查、改)2. 底层结构 三、deque的缺陷四、 为什么选择deque作为stack和queue的底层默认容器总结温馨提示 前言 文章绑定了VS平台下std::deque的源码,大家可以下载…...
Codeforces Round 893 (Div. 2) D.Trees and Segments
原题链接:Problem - D - Codeforces 题面: 大概意思就是让你在翻转01串不超过k次的情况下,使得a*(0的最大连续长度)(1的最大连续长度)最大(1<a<n)。输出n个数&…...
SpringBoot + Vue 前后端分离项目 微人事(九)
职位管理后端接口设计 在controller包里面新建system包,再在system包里面新建basic包,再在basic包里面创建PositionController类,在定义PositionController类的接口的时候,一定要与数据库的menu中的url地址到一致,不然…...
【业务功能篇71】Cglib的BeanCopier进行Bean对象拷贝
选择Cglib的BeanCopier进行Bean拷贝的理由是, 其性能要比Spring的BeanUtils,Apache的BeanUtils和PropertyUtils要好很多, 尤其是数据量比较大的情况下。 BeanCopier的主要作用是将数据库层面的Entity转化成service层的POJO。BeanCopier其实已…...
让eslint的错误信息显示在项目界面上
1.需求描述 效果如下 让eslint中的错误,显示在项目界面上 2.问题解决 1.安装 vite-plugin-eslint 插件 npm install vite-plugin-eslint --save-dev2.配置插件 // vite.config.js import { defineConfig } from vite import vue from vitejs/plugin-vue import e…...
手摸手带你实现一个开箱即用的Node邮件推送服务
目录 编辑 前言 准备工作 邮箱配置 代码实现 服务部署 使用效果 题外话 写在最后 相关代码: 前言 由于邮箱账号和手机号的唯一性,通常实现验证码的校验时比较常用的两种方式是手机短信推送和邮箱推送,此外,邮件推送服…...
【Linux网络】网络编程套接字 -- 基于socket实现一个简单UDP网络程序
认识端口号网络字节序处理字节序函数 htonl、htons、ntohl、ntohs socketsocket编程接口sockaddr结构结尾实现UDP程序的socket接口使用解析socket处理 IP 地址的函数初始化sockaddr_inbindrecvfromsendto 实现一个简单的UDP网络程序封装服务器相关代码封装客户端相关代码实验结…...
Python学习笔记第六十四天(Matplotlib 网格线)
Python学习笔记第六十四天 Matplotlib 网格线普通网格线样式网格线 后记 Matplotlib 网格线 我们可以使用 pyplot 中的 grid() 方法来设置图表中的网格线。 grid() 方法语法格式如下: matplotlib.pyplot.grid(bNone, whichmajor, axisboth, )参数说明:…...
MIB2 High Toolbox:重新定义车载娱乐系统定制体验
MIB2 High Toolbox:重新定义车载娱乐系统定制体验 【免费下载链接】mib2-toolbox The ultimate MIB2-HIGH toolbox. 项目地址: https://gitcode.com/gh_mirrors/mi/mib2-toolbox 车载娱乐系统是否还停留在出厂设置?想要个性化界面却苦于没有工具&…...
如何选择适合的单北斗变形监测一体机以提升基础设施安全?
本文将重点讨论如何选择适合的单北斗变形监测一体机,以增强基础设施的安全性。在当前基础设施建设快速发展的背景下,单北斗GNSS的应用显得尤为重要。通过深入理解单北斗变形监测的原理,用户能够更好地把握设备的核心优势,尤其是在…...
3月17枚举
package com.fangfa.day05.Enum;public class EnurmerDemo1 {public static void main(String[] args) {//为什么其他类里可以类名.对象名 因为这个对象名被static修饰了//若不修饰不行System.out.println(Season.SPRING);} } class Season{/*** Description* author Mao Ree…...
AI写教材大揭秘!低查重技巧让你的教材脱颖而出!
在编写教材时,依赖相关资料是必不可少的,但传统的资料整合方法已经无法满足现实需求。以往,我们需要从各种渠道,比如课标文件、学术研究以及教学案例中寻找所需的信息,这往往需要耗费数天的时间。即便信息搜集齐全&…...
CANOE Demo版快速下载与激活指南
1. CANOE Demo版是什么?为什么你需要它? 如果你正在学习汽车电子开发或者从事相关领域的工作,CANOE这个名字一定不会陌生。作为Vector公司推出的主流汽车总线开发工具,它几乎成了行业标准。但对于刚入门的新手来说,动辄…...
PowerBuilder老系统维护指南:PB12.5连接现代数据库(如MySQL 8.0)的避坑实操
PowerBuilder老系统维护实战:PB12.5连接MySQL 8.0的七个关键步骤 当技术栈的代际差异超过十年,每一次数据库连接尝试都可能演变成一场跨越时空的调试马拉松。那些在2006年运行良好的PB12.5应用,今天面对MySQL 8.0的SSL加密要求和UTF8MB4字符集…...
【独家首发】Python扩展安全成熟度模型(PESMM v1.2):覆盖编译期/加载期/运行期的9维评分体系,仅限前500名开发者免费获取评估工具包
第一章:Python扩展模块安全概述Python 扩展模块(如 C/C 编写的 .so/.dll 文件或 Cython 生成的二进制模块)在提升性能的同时,也引入了原生层特有的安全风险。与纯 Python 代码不同,扩展模块直接操作内存、调用系统 API…...
从单体到微服务:用Ruoyi-Vue-Plus框架快速搭建多租户后台系统(含AI模块开发避坑指南)
从单体到微服务:Ruoyi-Vue-Plus框架的多租户实战与AI模块开发精要 当企业级应用需要同时服务多个客户群体时,如何确保数据隔离与系统性能的平衡成为架构设计的核心挑战。Ruoyi-Vue-Plus作为一款基于Spring Boot的快速开发框架,其多租户实现机…...
告别SQLite!用ObjectBox为Flutter应用打造高性能本地存储(含常见报错解决方案)
告别SQLite!用ObjectBox为Flutter应用打造高性能本地存储(含常见报错解决方案) 在移动应用开发中,本地数据存储方案的选择直接影响着用户体验和应用性能。对于Flutter开发者来说,SQLite长期以来都是默认选择࿰…...
OpenClaw多模态扩展:为nanobot添加图像识别能力
OpenClaw多模态扩展:为nanobot添加图像识别能力 1. 为什么需要图像识别能力 去年夏天,我接手了一个自动化内容审核的小项目。最初只是用OpenClaw处理文本内容,但很快发现一个致命缺陷——当需要审核带图片的帖子时,我的机器人就…...
