当前位置: 首页 > news >正文

深度卷积神经网络 AlexNet

一、机器学习深度学习的发展

1、机器学习SVM方法

    (1)20世纪90年代,基于统计学习理论的结果,开发了一种新型的学习算法——支持向量机(SVM)。这就产生了一类新的理论上优雅的学习机器,它们将SVM的中心概念——内核用于许多....

    (2)有一个核心是怎么样进行特征提取

    (3)选择核函数来计算相关性,也就是判断在高维空间当中两个点是如何相关的

    (4) 如果是线性模型,就是做内积。如果是高维空间使用核方法的话可以通过变换空间把这个空间拉成一个想要的样子,然后通过核函数来计算后,就能形成一个凸优化问题

    (5)老师提到了线性模型是一个凸优化问题,所以它有很好的理论结,可以得出显示解;因为是凸优化问题,所以有很好的定理,有一套完整的数学定理,能计算模型的复杂度,能计算在什么情况下会发生什么事情。

    (6)Svm对调参没那么敏感,是深度学习神经网络之前最流行的机器学习算法

       

2、几何学

    (1)思想:想要把整个计算机视觉的问题转化为几何学的问题

    

3、特征工程

    (1)也就是对一张图片怎样去抽取它的特征。

    (2)SIFT模型,抽取一些方向的向量来描述这个图片。如果特征向量抽取的好,可以使用一个简单的多分的模型(svm)进行分类

4、在计算机视觉领域,比较关心的是怎么样做一个更准确的特征提取,使得我们的机器学习能够比较好的去学习。所以整个计算机视觉,就是在针对不同的问题进行不同的特征提取。

二、发展史及流行方法

1、在90年代的时候,数据量不是特别大,计算也比较均匀, 我们常用是神经网络,因为神经网络是一个比较便宜的框架,模型是比较小的,因为做了一个随机梯度下降,所以对内存的要求并不是特别高。

2、在00年左右,内存不错,CPU也不错,数据量有增加,但并不是特别大,核方法是一个更合适的方法。因为一它简单,二它有理论,第三是我们能够运行他(能够去把它的核矩阵给算出来,在这样的计算量下是比较好的)

3、目前我们又回到了神经网络,是因为计算量更多了(虽然数据没有涨得那么快,但是计算量已经比以前翻了许多倍,我们可以更多的去挖掘数据里面的信息,就可以构造更深的神经网络,用计算换取精度),我们可以构造更深的神经网络

4、计算能力和数据所要的算法能力,他们在不同阶段的发展程度,导致大家对网络的选取有不同的偏好

三、数据集

1、对于imagenet的数据集,它与之前的黑白数字数据集有一些样本数和类别的一些变化,所以允许使用更深的神经网络去抽取里面一些更复杂的信息

四、AlexNet算法

1、暂退法做一些模型的控制,因为模型更大了,所以使用暂退法来做一些模型的正则

2、relu与sigmoid的相比,relu在正值的梯度更大,梯度在正区间恒为1,在负区间为0,并且在零点的时候,relu的一阶导更好一点,Sigmoid 函数的导数在极值处(接近0或1)非常小,会导致梯度在反向传播过程中迅速衰减。

3、Maxpolling取得最大值,使得输出的值更大,也使得梯度更加的大,能使训练更加容易一些

4、在深度学习神经网络之前,也就是机器学习的svm,主要关注特征提取,机器视觉的专家,把对问题的理解转化为标准的机器学习的算法的数值;而现在与其说不用提特征,不如说是现在需要设计网络去提取特征了(机器学习,是专家去确定所需要的特征,再到svn里面去做分类。而深度学习神经网络是一起学习的过程,最后的分类器和特征提取是一起训练的过程;现在所使用的深度学习,我们构造卷积神经网络比在机器学习人工特征提取更为简单,并且容易应用于不同学科,更加高效)

五、AlexNet架构(与LeNet对比)

1、激活函数从sigmoid变为ReLu

2、隐藏、全连接层后加入了丢弃层做正则

3、数据增强(大概是在训练集中将样本做成了多许别的类别,比如截取、色温,加大学习难度)

六、总结

1、AlexNet的架构与LeNet相似,但使用了更多的卷积层和更多的参数来拟合大规模的ImageNet数据集。

2、今天,AlexNet已经被更有效的架构所超越,但它是从浅层网络到深层网络的关键一步。

3、尽管AlexNet的代码只比LeNet多出几行,但学术界花了很多年才接受深度学习这一概念,并应用其出色的实验结果。这也是由于缺乏有效的计算工具。

4、Dropout、ReLU和预处理是提升计算机视觉任务性能的其他关键步骤。

七、代码(跟LeNet差不多)

import torch
from torch import nn
from d2l import torch as d2lnet = nn.Sequential(# 这里使用一个11*11的更大窗口来捕捉对象。# 同时,步幅为4,以减少输出的高度和宽度。# 另外,输出通道的数目远大于LeNetnn.Conv2d(1, 96, kernel_size=11, stride=4, padding=1), nn.ReLU(),nn.MaxPool2d(kernel_size=3, stride=2),# 减小卷积窗口,使用填充为2来使得输入与输出的高和宽一致,且增大输出通道数nn.Conv2d(96, 256, kernel_size=5, padding=2), nn.ReLU(),nn.MaxPool2d(kernel_size=3, stride=2),# 使用三个连续的卷积层和较小的卷积窗口。# 除了最后的卷积层,输出通道的数量进一步增加。# 在前两个卷积层之后,汇聚层不用于减少输入的高度和宽度nn.Conv2d(256, 384, kernel_size=3, padding=1), nn.ReLU(),nn.Conv2d(384, 384, kernel_size=3, padding=1), nn.ReLU(),nn.Conv2d(384, 256, kernel_size=3, padding=1), nn.ReLU(),nn.MaxPool2d(kernel_size=3, stride=2),nn.Flatten(),# 这里,全连接层的输出数量是LeNet中的好几倍。使用dropout层来减轻过拟合nn.Linear(6400, 4096), nn.ReLU(),nn.Dropout(p=0.5),nn.Linear(4096, 4096), nn.ReLU(),nn.Dropout(p=0.5),# 最后是输出层。由于这里使用Fashion-MNIST,所以用类别数为10,而非论文中的1000nn.Linear(4096, 10))

相关文章:

深度卷积神经网络 AlexNet

一、机器学习深度学习的发展 1、机器学习SVM方法 (1)20世纪90年代,基于统计学习理论的结果,开发了一种新型的学习算法——支持向量机(SVM)。这就产生了一类新的理论上优雅的学习机器,它们将SVM…...

【刷题汇总--大数加法、 链表相加(二)、大数乘法】

C日常刷题积累 今日刷题汇总 - day0061、大数加法1.1、题目1.2、思路1.3、程序实现 2、 链表相加(二)2.1、题目2.2、思路2.3、程序实现 3、大数乘法3.1、题目3.2、思路3.3、程序实现 4、题目链接 今日刷题汇总 - day006 1、大数加法 1.1、题目 1.2、思路 读完题,明白大数相加…...

基于Java的网上花店系统

目 录 1 网上花店商品销售网站概述 1.1 课题简介 1.2 设计目的 1.3 系统开发所采用的技术 1.4 系统功能模块 2 数据库设计 2.1 建立的数据库名称 2.2 所使用的表 3 网上花店商品销售网站设计与实现 1. 用户注册模块 2. 用户登录模块 3. 鲜花列表模块 4. 用户购物车…...

uniApp 封装VUEX

Vuex Store (index.js) import Vue from vue; import Vuex from vuex; import Cookies from js-cookie;Vue.use(Vuex);const saveStateKeys [vuex_user, vuex_token, vuex_demo];const initialState {vuex_user: { name: 用户信息 },vuex_token: Cookies.get(token) || ,vue…...

最长公共子序列求长度和输出子序列C代码

求两个字符串的公共子序列我们都知道需要使用用动态规划思想 用res[i][j]表示截止到字符串A的第i个字符串和截止到字符串B的第j个字符的最长公共子序列。如两个字符串helloworld和loop,res[5][3]表示子串hello和子串loo的最长公共子序列,为lo&#xff0…...

安卓Framework开发快速分析日志及定位源码

文章目录 如何区分源码中 main system events 日志查看 Activity 生命周期日志分析 events 日志在源码中位置应用进程ID助分析具体应用ProtoLog 动态开关日志如何快速定位相关流程的代码位置 本文首发地址 https://h89.cn/archives/285.html 最新更新地址 https://gitee.com/ch…...

数据结构算法之B树

一、绪论 1.1 数据结构的概念和作用 1.2 B树的起源和应用领域 二、B树的基本原理 2.1 B树的定义和特点 2.2 B树的结构和节点组成 2.3 B树的插入 2.4 B树的删除操作 三、B树的优势和应用 3.1 B树在数据库系统中的应用 3.2 B树在文件系统中的应用 3.3 B树在内存管理中…...

【图卷积网络】GCN基础原理简单python实现

基础原理讲解 应用路径 卷积网络最经典的就是CNN,其 可以提取图片中的有效信息,而生活中存在大量拓扑结构的数据。图卷积网络主要特点就是在于其输入数据是图结构数据,即 G ( V , E ) G(V,E) G(V,E),其中V是节点,E是…...

【话题】AI是在帮助开发者还是取代他们

大家好,我是全栈小5,欢迎阅读小5的系列文章,这是《话题》系列文章 目录 引言AI在代码生成中的应用AI在错误检测和自动化测试中的作用对开发者职业前景的影响技能需求的变化与适应策略结论文章推荐 引言 随着人工智能(AI&#xff…...

精通Perl正则表达式修饰符:提升文本处理能力的艺术

Perl语言以其强大的文本处理能力而闻名,其中正则表达式是其核心特性之一。正则表达式本身非常强大,但Perl提供的修饰符(Modifiers)进一步扩展了正则表达式的灵活性和表达能力。本文将深入探讨Perl中正则表达式修饰符的使用&#x…...

【web前端HTML+CSS+JS】--- HTML学习笔记01

学习链接:黑马程序员pink老师前端入门教程,零基础必看的h5(html5)css3移动端前端视频教程_哔哩哔哩_bilibili 学习文档: Web 开发技术 | MDN (mozilla.org) 一、前后端工作流程 WEB模型:前端用于采集和展示信息,中…...

Go 语言入门(一)

Go Modules依赖包查找机制 下载的第三方的依赖存储在 $GOPATH/pkg/mod 下go install 生成的可执行文件存储在 $GOPATH/bin下依赖查找顺序: 工作目录$GOPATH/pkg/mod$GOPATH/src 一、Go语言基础 1.标识符与关键字 1.1 命名方式 ​ go变量、常量、自定义类型、包…...

爬虫笔记20——票星球抢票脚本的实现

以下内容仅供交流学习使用!!! 思路分析 前面的爬虫笔记一步一步走过来我们的技术水平也有了较大的提升了,现在我们来进行一下票星球抢票实战项目,实现票星球的自动抢票。 我们打开票星球的移动端页面,分…...

DDR3(三)

目录 1 预取1.1 什么是预取1.2 预取有哪些好处1.3 结构框图1.4 总结 2 突发2.1 什么是突发2.2 突发与预取 本文讲解DDR中常见的两个术语:预取和突发,对这两个概念理解的关键在于地址线的低位是否参与译码,具体内容请继续往下看。 1 预取 1.1…...

JDK都出到20多了,你还不会使用JDK8的Stream流写代码吗?

目录 前言 Stream流 是什么? 为什么要用Steam流 常见stream流使用案例 映射 map() & 集合 collect() 单字段映射 多字段映射 映射为其他的对象 映射为 Map 去重 distinct() 过滤 filter() Stream流的其他方法 使用Stream流的弊端 前言 当你某天看…...

QT slots 函数

文章目录 概述小结 概述 在Qt中&#xff0c;slots 是一种特殊的成员函数&#xff0c;它们可以与对象发出的信号连接。当信号被触发时&#xff0c;连接的槽函数会被调用。 来个简单的示例吧&#xff0c;如下图&#xff1a; #include <QObject> #include <QDebug>…...

pycharm如何使用jupyter

目录 配置jupyter新建jupyter文件别人写的方法&#xff08;在pycharm种安装&#xff0c;在网页中使用&#xff09; pycharm专业版 配置jupyter 在pycharm终端启动一个conda虚拟环境&#xff0c;输入 conda install jupyter会有很多前置包需要安装&#xff1a; 新建jupyter…...

机器学习——无监督学习(k-means算法)

1、K-Means聚类算法 K表示超参数个数&#xff0c;如分成几个类别&#xff0c;K值就取多少。若无需求&#xff0c;可使用网格搜索找到最佳的K。 步骤&#xff1a; 1、随机设置K个特征空间内的点作为初始聚类中心&#xff1b; 2、对于其他每个点计算到K个中心的距离&#xff0c;…...

强化学习-6 DDPG、PPO、SAC算法

文章目录 1 DPG方法2 DDPG算法3 DDPG算法的优缺点4 TD3算法4.1 双Q网络4.2 延迟更新4.3 噪声正则 5 附15.1 Ornstein-Uhlenbeck (OU) 噪声5.1.1 定义5.1.2 特性5.1.3 直观理解5.1.4 数学性质5.1.5 代码示例5.1.6 总结 6 重要性采样7 PPO算法8 附28.1 重要性采样方差计算8.1.1 公…...

vue3实现多表头列表el-table,拖拽,鼠标滑轮滚动条优化

需求背景解决效果index.vue 需求背景 需要实现多表头列表的用户体验优化 解决效果 index.vue <!--/** * author: liuk * date: 2024-07-03 * describe:**** 多表头列表 */--> <template><el-table ref"tableRef" height"calc(100% - 80px)&qu…...

目标检测实战:从VOC XML到YOLO格式的自动化数据流水线

1. 为什么需要VOC转YOLO格式 在目标检测任务中&#xff0c;数据格式的统一性直接影响着模型训练的效率。VOC&#xff08;PASCAL VOC&#xff09;和YOLO是两种最常见的标注格式&#xff0c;但它们的存储方式截然不同。VOC采用XML文件记录目标的类别和边界框坐标&#xff0c;而YO…...

Docker Compose 多服务编排实战:从零搭建微服务架构

Docker Compose 多服务编排实战&#xff1a;从零搭建微服务架构 目录 为什么需要 Docker Compose&#xff1f;实战项目架构环境准备核心服务搭建高级特性&#xff1a;负载均衡与服务发现日志集中管理&#xff08;EFK 栈&#xff09;生产环境最佳实践常见问题排查 为什么需要 …...

OpCore-Simplify:智能配置驱动的OpenCore EFI自动化构建工具

OpCore-Simplify&#xff1a;智能配置驱动的OpenCore EFI自动化构建工具 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify &#x1f914; 配置黑苹果的痛…...

抖音视频批量下载效率革命:解放双手的douyin-downloader全攻略

抖音视频批量下载效率革命&#xff1a;解放双手的douyin-downloader全攻略 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 作为内容创作者&#xff0c;你是否曾为收集行业素材而重复点击下载按钮&#xff1f…...

快速体验Qwen3-0.6B-FP8:无需下载模型,开箱即用的AI文本生成服务

快速体验Qwen3-0.6B-FP8&#xff1a;无需下载模型&#xff0c;开箱即用的AI文本生成服务 1. 为什么选择Qwen3-0.6B-FP8&#xff1f; Qwen3-0.6B-FP8是Qwen系列最新推出的轻量级语言模型&#xff0c;采用FP8量化技术大幅降低了显存需求。相比传统模型&#xff0c;它具有以下突…...

Revit插件开发效率革命:热重载技术如何彻底改变你的开发流程

Revit插件开发效率革命&#xff1a;热重载技术如何彻底改变你的开发流程 【免费下载链接】RevitAddInManager Revit AddinManager update .NET assemblies without restart Revit for developer. 项目地址: https://gitcode.com/gh_mirrors/re/RevitAddInManager RevitA…...

Kafka连接报错?手把手教你解决localhost:9092不可用问题(附真实案例)

Kafka连接报错&#xff1f;手把手教你解决localhost:9092不可用问题&#xff08;附真实案例&#xff09; 当你第一次尝试在本地环境运行Kafka生产者时&#xff0c;看到"Connection to node -1 (localhost/127.0.0.1:9092) could not be established"这样的报错信息&a…...

如何突破分子观察瓶颈?PyMOL开源版的3大核心优势

如何突破分子观察瓶颈&#xff1f;PyMOL开源版的3大核心优势 【免费下载链接】pymol-open-source Open-source foundation of the user-sponsored PyMOL molecular visualization system. 项目地址: https://gitcode.com/gh_mirrors/py/pymol-open-source PyMOL开源版作…...

OpenClaw+GLM-4.7-Flash成本对比:自建模型比API调用节省30%token消耗

OpenClawGLM-4.7-Flash成本对比&#xff1a;自建模型比API调用节省30%token消耗 1. 为什么需要关注token消耗 上周五凌晨两点&#xff0c;我的OpenClaw突然停止了周报自动化任务。查看日志发现是API额度耗尽——当月累计消耗已超过商用GLM-4.7-Flash的套餐限额。这次意外让我…...

OpenProject全球化协作本地化策略指南:打破语言壁垒的实战方案

OpenProject全球化协作本地化策略指南&#xff1a;打破语言壁垒的实战方案 【免费下载链接】openproject OpenProject is the leading open source project management software. 项目地址: https://gitcode.com/GitHub_Trending/op/openproject OpenProject作为领先的开…...