计算机视觉CS231n学习(7)

可视化和理解

这里主要是对CNN中间的层的结果可视化

  1. 滤波器可视化

    直接可视化网络各层的滤波器权重,高层滤波器的可视化结果趣味性较低,而底层滤波器通常对应边缘、纹理等基础视觉特征

    (“高层滤波器” 通常指的是网络中靠后的卷积层所包含的滤波器)

  2. 最后一层特征分析

    提取最后一层全连接层的高维特征向量,通过近邻搜索找到特征空间中相似的图像,比像素空间的近邻搜索更符合语义相似性。

    利用主成分分析PCA 或 t-SNE等降维算法,将高维特征向量映射到二维空间,可视化特征分布,直观展示不同类别的聚类情况

  3. 激活值可视化

    将卷积层的特征图可视化为灰度图像,观察神经元对输入图像的响应,通过最大激活补丁方法(Maximally Activating Patches),筛选出能最大程度激活特定通道的图像补丁,理解该通道关注的视觉模式

  4. 遮挡实验与显著性图

    1. 遮挡实验 Occlusion Experiments

      通过遮挡图像的不同区域,绘制分类概率的热力图,判断哪些区域对分类结果影响最大(比如遮挡小猪头部会显著降低猪类别的概率)

    2. 显著性图 Saliency Maps

      作用:判断哪些像素对分类重要

      计算类别得分相对于图像像素的梯度,取绝对值后在RGB通道上取最大值,以及结合GrabCut进行无监督分割,得到对分类起关键作用的像素区域(比如狗类别的显著性图集中在狗的轮廓区域)

  5. 反向传播Backprop 与梯度上升Gradient Ascent

    1. 引导反向传播

      通过限制ReLU层仅反向传播正梯度,生成更清晰的中间神经元响应图像,展示神经元关注的图像区域

      就是通过引导反向传播可视化中间特征,即选择单个中间神经元并计算其值对图像像素的梯度

    2. 梯度上升

      步骤:初始化图像、前向计算分数、反向传播求梯度、更新图像

      通过优化生成合成图像,最大化特定神经元或类别得分(加入L2正则化等约束使图像更自然)

      还可以使用更好的正则化方法(如高斯模糊、裁剪小值像素等)

基于神经网络可视化一些相关的应用

  1. 欺骗性图像 / 对抗样本 Fooling Images / Adversarial Examples

    生成步骤:从任意图像出发,选择类别,修改图像最大化类别,至网络被欺骗

    通过修小修改图像(人眼难以察觉),使网络误分类(比如将大象误分类为小狗),揭示网络对细微扰动的敏感性

  2. DeepDream

    通过放大网络某层的神经元激活值,迭代优化图像,生成具有梦幻风格的图像(比如将星空图像转化为充满眼睛和纹理的抽象图案)。

    核心是通过梯度上升最大化层激活(指让CNN中特定层的神经元激活值尽可能增大,在CNN中,当输入图像经过各层的卷积和池化等操作时,每一层的神经元会根据输入产生相应的输出值,这些输出值就是神经元的激活值)的平方和,过程中使用图像抖动、梯度归一化等技巧增强效果。

  3. 特征反演 Feature Inversion 与纹理合成 Texture Synthesis

    1. 特征反演

      给定图像的CNN特征向量,重建出与之匹配且自然的图像,通过总变差(Total Variation)正则化保证图像平滑

    2. 纹理合成

      1. 近邻方法:生成像素时复制输入中最近邻的邻域

      2. Gram矩阵法

        步骤:预训练CNN、计算输入纹理各层激活和Gram矩阵、从随机噪声初始化生成图像、计算损失并反向传播更新

        利用Gram矩阵(衡量特征通道间的共现关系),从随机噪声生成与输入纹理相似的大尺寸图像,不同层的Gram矩阵对应不同尺度的纹理特征

  4. 神经风格迁移 Neural Style Transfer

    1. 原理

      结合内容图像的特征(通过特征重建损失)和风格图像的Gram矩阵(通过风格损失),生成兼具内容与风格的图像

    2. 快速风格迁移

      训练前馈神经网络实现实时风格迁移,通过感知损失替代传统损失函数,并使用实例归一化(Instance Normalization)提升效果

      (前馈神经网络(Feedforward Neural Network,FNN)是一种最基本的神经网络结构,属于深度学习中的一种模型。它的特点是信息从输入层逐层向前传播,经过隐藏层(如果有的话),最终到达输出层,且在传播过程中没有反馈或循环。)

生成式模型
  1. 无监督学习 监督学习对比

    1. 监督学习:数据为(x,y),(x为数据,y为标签),目标是学习x到y的映射函数

      示例:分类、回归、目标检测、语义分割、图像描述等

    2. 无监督学习:数据仅为x(无标签),目标是学习数据的潜在结构

      示例:聚类、降维、特征学习、密度估计等

      (K-means聚类、主成分分析(PCA,降维)、自编码器(特征学习,通过编码器和解码器重建输入))

    3. 监督学习和无监督学习的核心差异:是否依赖标签(无监督学习不依赖标签)

  2. 生成模型

    1. 定义:给定训练数据,生成与训练数据同分布的新样本(训练数据服从P_data(x),生成样本服从P_model(x))

    2. 目标:是使P_model(x)接近P_data(x)

    3. 类型:

      显式密度估计(明确定义P_model(x))(强调模型能够“说清概率”,模型会直接给出概率分布的数学表达式,能够计算任意样本x的概率值P_model(x))

      隐式密度估计(仅能从P_model(x)采样,不明确定义)(强调模型能够“产出样本”,模型不提供P_model(x)的数学表达式,无法直接计算样本x的概率,但能通过模型生成符合该分布的样本)

    4. 应用:生成艺术作品、超分辨率、时间序列模拟等

    5. 模型:

      主要讲解三种主流模型:PixelRNN/CNN、VAE、GAN

  3. PixelRNN/CNN(显式)

    • 基于全可见信念网络,用链式法则将图像概率分解为像素的条件概率乘积
    • PixelRNN:用LSTM建模像素间依赖,从角落开始生成像素,生成速度慢
    • PixelCNN:用CNN建模上下文区域依赖,训练可并行(更快),但生成仍需顺序进行
    • 可计算显式概率p(x),样本质量好,但顺序生成效率低
    • 改进方法:门控卷积层、残差连接等(PixelCNN++)
  4. 变分自编码器(VAE)(显式)

    • 自编码器:自编码器通过编码器-解码器重建输入,用于特征学习
    • VAE原理:引入概率视角,假设数据由潜在变量z生成,通过编码器在这里插入图片描述
      近似后验分布,优化似然下界(含重建损失和KL散度)
    • 训练:最大化下界,使生成样本接近训练数据,潜在分布接近先验(如高斯分布)
    • 生成过程:从先验采样z,通过解码器生成x
    • 优点:原理严谨,潜在表示可解释
    • 缺点:样本较模糊,优化下界而非精确似然
  5. 生成对抗网络(GAN)(隐式)

    • 原理:生成器G从噪声生成样本,判别器D区分真实与生成样本,二者构成博弈(G视图欺骗D,D试图准确区分)

    • 训练:交替优化D(梯度上升)和G(梯度下降,最大化D的误判概率)

      • 为什么使使用梯度上升方法来优化D?
      • 判别器(D)的目标是最大化对 “真实样本判为真、生成样本判为假” 的概率,判别器的核心任务是学习一个函数,输出样本为真实数据的概率(范围在 0 到 1 之间)。训练时,对于真实样本,希望判别器输出尽可能接近 1;对于生成器生成的假样本,希望输出尽可能接近 0。这种 “最大化正确分类概率” 的目标,在数学上对应最大化判别器的损失函数(如交叉熵损失),而梯度上升正是用于最大化函数值的优化方法 —— 通过计算损失函数对判别器参数的梯度,沿着梯度方向更新参数,使损失函数值不断增大,从而提升判别器的区分能力
      • 生成器(G)的目标是最小化判别器的区分能力(即最大化判别器的误判概率),因此使用梯度下降来优化 —— 沿着损失函数梯度的反方向更新参数,使生成的样本更难被判别器识破
    • 卷积架构:生成器用反卷积,判别器用卷积,遵循DCGAN设计准则

    • 应用:

      生成高质量图像,支持潜在空间插值(如“微笑女性 - 中性女性 + 中性男声 = 微笑男性”),应用于域迁移(如马 → 斑马)

    • 优缺点:样本质量顶尖,但训练不稳定,无显式密度函数

  6. 三种生成模型对比:

    PixelRNN/CNN:显式密度,似然优化,生成慢

    VAE:下界优化,潜在表示有用,样本较模糊

    GAN:博弈机制,样本最佳,训练复杂

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

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

相关文章

OpenBMC中工厂模式的简明工作流程解析

本文将以最简单直接的方式,从零开始讲解OpenBMC中工厂模式的完整工作流程,包括从设计到使用的全生命周期。 1. 工厂模式最简示例 我们先从一个最基础的工厂模式实现开始: // 产品接口 class GpioPin { public:virtual void setValue(bool val…

解决:Error updating changes: detected dubious ownership in repository at

在通过 Git Bash 提交项目代码时输入 git add . 命令后,报错:Error updating changes: detected dubious ownership in repository at ...这是因为 该项目的所有者 与 现在的用户 不一致 比如说: 该项目的所有者是 Administrator,…

DataEase V2 社区版安装部署

参考:使用外置 MySQL 部署 DataEase v2 - FIT2CLOUD 知识库 一、下载安装包 开源社区 - FIT2CLOUD 飞致云 选择社区版下载 下载后上传到 linux 的目录 (要求至少200G) 二、在MySQL8中创建数据库 # 创建DataEase库 CREATE DATABASE datae…

nginx高性能web服务器

web服务基础介绍 一、Web服务核心流程 #mermaid-svg-NCj4hbRIvvgMXmcK {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-NCj4hbRIvvgMXmcK .error-icon{fill:#552222;}#mermaid-svg-NCj4hbRIvvgMXmcK .error-text{fil…

_init__.py的作用

目录 场景1:没有 `__init__.py` 的情况 场景2:有 `__init__.py` 并导入模块 场景3:用 `__all__` 定义"推荐工具" 注意:工具箱内部的工具互相调用 情况1:在 `__init__.py` 中导入模块 情况2:在 `__init__.py` 中直接导入模块里的功能 关键原则 在 Python 中,__…

浏览器面试题及详细答案 88道(12-22)

《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

开发避坑指南(23):Tomcat高版本URL特殊字符限制问题解决方案(RFC 7230 RFC 3986)

异常信息 java.lang.IllegalArgumentException: 在请求目标中找到无效字符[/order/show?orderType01&orderTitle0xe50x8f0xa30xe50xb20xb80xe50x8a0xa80xe60x800x81&pageNum1 ]。有效字符在RFC 7230和RFC 3986中定义org.apache.coyote.http11.Http11InputBuffer.parse…

HTTPS的应用层协议

HTTPS的应用层协议 方案 5 - 非对称加密 对称加密 证书认证 在客户端和服务器刚一建⽴连接的时候, 服务器给客户端返回一个 证书,证书包含了之前服务端的公钥, 也包含了网站的身份信息. 客户端进行认证 当客户端获取到这个证书之后, 会对证书进行校验(防止证书是伪…

【SpringBoot】05 容器功能 - SpringBoot底层注解的应用与实战 - @Configuration + @Bean

文章目录前言一、创建两个组件二、使用传统方式源代码解释三、使用SpringBoot方法源代码解释四、查看是否添加到组件中查看自定义组件名配置类在容器中注册的是单实例组件配置类本身也是容器中的一个组件Configuration的proxyBeanMethods属性:代理bean的方法proxyBe…

c#联合Halcon进行OCR字符识别(含halcon-25.05 百度网盘)

1.下载安装halcon 通过网盘分享的文件:halcon-25.05.0.0-x64-win64 链接: https://pan.baidu.com/s/1XAx-8ZQM-ZHkgHIc-dhCYw 提取码: whek 2.c#环境配置 创建test_halcon_ocr项目 找到halcon的安装路径 我的: D:\halcon\HALCON-25.05-Progress\bin\x64…

丝杆支撑座怎样助力升降设备实现智能化?

丝杆支撑座作为传动系统中的关键支撑部件,凭借其高刚性、抗冲击及精准定位能力,广泛应用于重型机械与升降设备领域,为设备提供稳定可靠的轴向承载与径向支撑,确保高负荷工况下的安全运行。电梯 / 升降平台:液压电梯的辅…

Notta:高效智能的音频转文字工具

本文转载自:Notta:高效智能的音频转文字工具 - Hello123 ** 一、产品简介 Notta 是一款基于 AI 语音识别引擎的语音转文字工具,支持 58 种语言的转录和 42 种语言的翻译。用户可通过实时录音或上传音频 / 视频文件(如 MP3、WAV …

Docker私有仓库创建及Docky存储与网络配置(小白的“升级打怪”成长之路)

目录 一、Docker私有仓库创建 1、在一台安装Docker私有仓库的主机上添加docker-compose 命令 2、安装docker-ce服务 3、Docker 镜像加速 4、安装Harbor仓库 5、使用脚本安装仓库 6、网站登陆 7、客户端使用Harbor仓库 二、Docky存储与网络配置 1、存储与网络 挂载主机…

谷歌ADK接入文件操作MCP

文章目录MCP基础概念文件操作服务器文件操作MCP接入谷歌ADK项目创建多轮对话代码MCP基础概念 MCP技术体系中,会将外部工具运行脚本称作服务器,而接入这些外部工具的大模型运行环境称作客户端。 一个客户端可以接入多个不同类型的服务器,但都…

高光谱技术的独特优势

高光谱技术凭借其‌纳米级连续光谱采集能力‌和‌图谱合一的探测模式‌,在多个领域展现出不可替代的独特优势:一、光谱维度:精细物质指纹识别‌纳米级连续光谱解析‌ 通过 ‌5-10nm带宽的数百个连续波段‌(最高330个通道&#xff…

基于Vue+Element UI集成高德地图的完整实践指南

本次开发使用deepseek 简直如虎添翼得心应手 生成模拟数据、解决报错那真是嘎嘎地 在 Vue Element UI 项目中引入高德地图 具体实现步骤: 高德开放平台:注册账号 → 进入控制台 → 创建应用 → 获取 Web端(JS API)的Key https://lbs.amap.com/ 这里需要…

Day50--图论--98. 所有可达路径(卡码网),797. 所有可能的路径

Day50–图论–98. 所有可达路径(卡码网),797. 所有可能的路径 刷今天的内容之前,要先去《代码随想录》网站,先看完:图论理论基础和深度优先搜索理论基础。做完之后可以看题解。有余力,把广度优先…

Python 异常捕获

一、获取未知错误try:# 相关处理逻辑 异常后面输出print(输入信息……) except Exception as e:print(未知错误,e)二、获取已知错误except 错误单词(来源于错误信息的第一个单词)多个已知错误使用 except XXXXX:try:# 相关处理逻辑 异常后面输出print…

RIOT、RT-Thread 和 FreeRTOS 是三种主流的实时操作系统

RIOT、RT-Thread 和 FreeRTOS 是三种主流的实时操作系统(RTOS),专为嵌入式系统和物联网(IoT)设备设计。它们在架构、功能、生态和应用场景上有显著差异,以下是详细对比:1. 架构与设计理念特性RI…

【FAQ】Win11创建资源不足绕开微软账号登录

Win11安装资源限制 因为 Windows 11 有两项强制检测 VMware 8 默认没提供: TPM 2.0(可信平台模块)Secure Boot(安全启动) 一步到位解决办法(官方兼容方式) 关闭虚拟机电源编辑虚拟机设置 选项 →…