CNN基础
### CNN 基础知识点 **卷积神经网络(CNN)核心组件**:卷积层、激活函数、池化层、全连接层。 **卷积运算**: ``` 输出尺寸 = floor((输入 - 卷积核 + 2·padding) / stride) + 1 ``` - **same 卷积**:padding = (F-1)/2,输出尺寸不变 - **valid 卷积**:padding = 0,输出缩小 **卷积核(过滤器)**:通过权重学习检测特定特征。 - 浅层:边缘、角点、颜色(Gabor 滤波器、Sobel) - 深层:纹理、部件、语义概念("猫耳检测器") - 经典手工滤波器:Sobel(边缘)、Laplacian(二阶)、Gaussian(模糊) **参数共享 & 局部连接**:CNN 两大归纳偏置,使参数量远少于全连接,且具平移等变性。 **池化层(Pooling)**: - **无参数**(无可学习权重) - **但仍参与反向传播**:Max Pooling 把梯度路由到最大值位置;Avg Pooling 均匀分发 - 输出尺寸:`floor((n-f)/s)+1`,**通道数不变** - 作用:降维、增大感受野、提供轻微平移不变性 **特征层次性**(重要直觉): ``` 像素 → 边缘 → 纹理 → 部件 → 物体 → 场景 浅层 中层 深层 ``` 深层更有可能找到"猫""车"这类**概念节点**。 **滑动窗口 vs 全卷积**: - 滑动窗口(如经典目标检测):在图像上滑窗分类,步长大→省时但漏检 - 全卷积(FCN/YOLO):一次前向得到所有位置预测,高效
### 过滤器检测什么? **[单选]** 灰度图上,过滤器 `[[0,1,-1,0],[1,3,-3,-1],[1,3,-3,-1],[0,1,-1,0]]` 检测什么? A. 水平边缘 B. **垂直边缘** ✓ C. 角点 D. 模糊 **答案:B** **解析**: - 过滤器**左列为正**(0,1,1,0 总和 2;1,3,3,1 总和 8),**右列为负**(-1,-3,-3,-1) - 左正右负 → 计算水平方向梯度 → 检测**垂直边缘**(垂直方向的明暗交界) - 类似 Sobel 算子(左正右负检测垂直边缘) **通用规律**:正负分布在哪一方向,就检测垂直于该方向的边缘。
### 池化输出尺寸? **[单选]** 输入 32×32×16,Max Pooling stride=2,filter=2,输出? A. 32×32×16 B. 16×16×8 C. **16×16×16** ✓ D. 8×8×16 **答案:C** **解析**: ``` 空间尺寸 = (32 - 2)/2 + 1 = 16 通道数 = 16(池化不改变通道数) 输出 = 16×16×16 ``` **关键**:池化只在空间维度(H,W)下采样,**通道数 C 保持不变**。
### 目标检测训练需标注框? **[判断]** 目标检测训练时不需要标注边界框,因为算法会自己学会检测。 **答案:错 ✗** **解析**: - 目标检测是**监督学习**任务 - 训练数据必须包含**边界框标注**(位置 + 类别) - 算法通过最小化预测框与真实框的误差来学习定位 - 无标注无法训练(不像无监督聚类) **监督学习三要素**:数据(含标注)+ 模型 + 损失函数。
### 深层更有"猫"概念节点? **[判断]** 100 类 CNN 中,对"猫"敏感的隐藏节点更可能在第 4 层而非第 1 层找到。 **答案:对 ✓** **解析**: - CNN 特征层次性:浅层(第 1 层)学边缘/颜色等**低级特征** - 深层(第 4 层)组合低级特征 → 学到纹理/部件/**物体概念**(如"猫耳""猫脸") - 越深的层 → 抽象程度越高 → 越接近"猫"这种语义概念 **可视化证据**:CNN 可视化(如 Grad-CAM、特征图)证实深层节点对特定物体类别响应强。
### 池化层无参数就不影响反向传播? **[判断]** 池化层没有参数,所以不影响反向传播。 **答案:错 ✗** **解析**: - 池化层**无 learnable 参数**(无权重),这点正确 - 但**仍参与反向传播**(梯度路由): - Max Pooling:梯度只传到前向时取最大值的位置(其他位置梯度为 0) - Average Pooling:梯度均匀分到所有位置 - 池化层是网络计算图的一部分,梯度必须经过它才能到达前面的卷积层 **关键区分**:"无参数" ≠ "不影响梯度传播"。
### 滑动窗口步长增大既提精度又降成本? **[判断]** 增大滑动窗口分类器的步长,既能提高精度又能降低成本。 **答案:错 ✗** **解析**: - **降低成本**:✓ 步长大 → 窗口数少 → 计算量小 - **提高精度**:✗ 步长大 → 可能**跳过目标** → 漏检 → 精度**下降** - 这是经典的**精度-效率权衡**,二者不可兼得 **正确说法**:步长增大只降成本,但牺牲精度。
### 改变空间分辨率,哪类区域受影响最大? **[单选]** 改变图像空间分辨率时,受影响最大的是? A. **纹理区域(重复单元)** ✓ B. 灰度平滑区 C. 目标边界 D. 灰度渐变区 **答案:A** **解析**: - 纹理由**高频信息**(快速变化的像素)组成 - 降低空间分辨率 ≈ 低通滤波 → **滤除高频** → 纹理丢失最严重 - 平滑区域(低频)几乎不受影响;边界/渐变受中等影响 **奈奎斯特定理**:采样频率须 ≥ 2 倍最高频率;纹理高频成分在采样不足时无法重建,产生混叠(aliasing)。 **应用**:JPEG 压缩时纹理最先模糊;医学/遥感图像的纹理分析须保证足够分辨率。
图像基础
### 图像基础知识点 **数字图像 = 像素矩阵**。每个像素的取值范围由**位深度(bit depth)**决定。 **位深度与灰度级数关系**: ``` 灰度级数 = 2^(位深度) 每像素比特数 = log2(灰度级数) ``` | 位深度 | 灰度级数 | 含义 | |--------|---------|------| | 1 bit | 2 | 黑白二值图 | | 4 bit | 16 | 早期灰度显示 | | 8 bit | 256 | 标准灰度图(0~255) | | 24 bit | 2²⁴ | 真彩色(RGB 各 8 bit) | **图像存储容量公式**: ``` 存储容量 = 宽 × 高 × 每像素比特数 ``` **单位换算**: - 1 Byte = 8 bits - 1 KB = 1024 Bytes - 1 MB = 1024 KB - 1 Kbit = 1024 bits **空间分辨率 vs 灰度分辨率**: - 空间分辨率:单位距离的像素数(采样密度),影响细节 - 灰度分辨率:可表示的灰度级数(量化精度),影响色调平滑度 **两类变化的敏感区域**: - 改变**空间分辨率**:纹理区域受影响最大(高频丢失) - 改变**灰度分辨率**:平滑渐变区域受影响最大(出现 banding 伪影)
### 256×256 图像,16 灰度级,存储比特数? **[单选]** 256×256 图像,灰度级数 16,存储所需比特数? A. **256k** ✓ B. 512k C. 1M D. 2M **答案:A** **解析**: ``` 每像素比特数 = log2(16) = 4 bit 总像素 = 256 × 256 = 65536 总比特 = 65536 × 4 = 262144 bits 转换为 Kbit = 262144 / 1024 = 256 Kbit ``` **通用公式**:`存储比特 = 宽 × 高 × log2(灰度级数)` **易错点**:注意单位是 bit 还是 Byte(差 8 倍);k 通常指 1024 而非 1000。
目标检测
### 目标检测知识点 **目标检测 = 分类 + 定位**:不仅要识别物体类别,还要用边界框标出位置。 **主流方法演进**: | 方法 | 思路 | 代表 | |------|------|------| | 两阶段 | 先生成候选区,再分类 | R-CNN, Faster R-CNN | | 单阶段 | 一次前向直接预测 | **YOLO**, SSD, RetinaNet | | 基于锚框 | 预设锚框回归 | 大多数检测器 | **YOLO(You Only Look Once)**: - 把图像分成 S×S 网格 - 每个网格预测 B 个边界框(anchor box),每个框含 5 个值(x,y,w,h,confidence)+ C 个类别概率 - 输出张量:`S × S × (B × (5 + C))` - 只有**目标中心点所在 cell** 负责检测该目标 - 优势:极快(一次前向),端到端 **Inception(GoogLeNet)**: - 核心思想:**并行多尺度卷积**(1×1, 3×3, 5×5, 池化),让网络自己学权重 - **1×1 卷积**用于**降维**(瓶颈层 Bottleneck),大幅减少计算量 - "更宽"而非"更深",参数少(GoogLeNet 22 层但参数比 VGG 少) - **不是随机选择结构**(区别于 Dropout),是固定并行结构 **迁移学习应用**:分类网络(softmax 输出)→ 微调最后几层 + 改输出层为回归(定位任务)。
### YOLO 输出维度? **[单选]** 19×19 网格,20 类,5 个 anchor box,输出张量维度? A. 19×19×(5×20) B. 19×19×(5×20+5) C. **19×19×(5×25)** ✓ D. 19×19×200 **答案:C** **解析**: ``` 每个 anchor box 输出 = 5(x,y,w,h,confidence)+ C(类别概率) = 5 + 20 = 25 每个 cell 有 B=5 个 anchor box → 5×25 = 125 全部输出 = 19 × 19 × (5 × 25) ``` **公式**:`S × S × (B × (5 + C))`
### YOLO 中心点 cell 负责? **[判断]** YOLO 中,只有包含目标中心点的 cell 负责检测该目标。 **答案:对 ✓** **解析**: - YOLO 把图像分成 S×S 网格 - 每个目标只由其**中心点所在 cell** 负责检测(即使目标跨越多个 cell) - 这样保证每个目标只有一个 cell 输出,避免重复检测 - 配合 anchor box 处理同一 cell 内多个目标的情况
### Inception 网络哪些说法正确? **[多选]** 关于 Inception 网络,哪些正确? A. 类似随机删除节点,有正则化效应 B. **用 1×1 卷积降维,再用 3×3 和 5×5 卷积** ✓ C. **一个 Inception 块组合 1×1、3×3、5×5 卷积和池化层** ✓ D. **叠加 Inception 块加深网络不会损害训练集表现** ✓ **答案:B、C、D** **解析**: - A 错:Inception 是**固定并行结构**,不是随机选择;正则化效应属于 **Dropout**,与 Inception 无关 - B 对:1×1 卷积做**瓶颈降维**(Bottleneck),减少 3×3/5×5 的输入通道数,大幅省算 - C 对:多尺度并行是 Inception 块的核心特征 - D 对:加深网络至少不损害训练集表现(表达能力更强),且 Inception 通过 1×1 控计算量使加深可行 **1×1 卷积的本质**:纯通道维度变换(每个像素位置等价全连接),不增加感受野。
### 10 类车分类网迁移到单车型定位? **[单选]** 已训练的 10 类车辆分类 DNN,要改造为识别单款车(如福特野马)并定位,最佳方法? A. 从头重新训练定位网络 B. **微调最后几层,把最终分类层改为回归层** ✓ C. 仅用新数据再训练分类层 D. 冻结全部层加新分类头 **答案:B** **解析**: - 迁移学习:前面层学到的通用视觉特征(边缘/部件)可复用 - **分类(softmax)→ 定位(回归边界框坐标)**:把输出层从分类改为回归 - 微调最后几层让网络适应新任务(单车型 + 定位) - 比从头训练快得多,数据需求也小 **核心**:分类→回归的迁移,靠改输出层 + 微调末端。
识别与特征
### 识别与特征知识点 **人脸识别(Face Recognition)**:识别图像中是谁。子任务: - **人脸验证(Verification)**:判断两张脸是否同一人(1:1) - **人脸辨识(Identification)**:在数据库中找最匹配的人(1:N) **One-shot 学习挑战**:每个身份可能只有 1 张照片,传统 softmax 分类不可行。 **解法**:学习**相似度/距离函数** d(img1, img2),比较编码距离是否小于阈值。Siamese 网络(孪生网络)是典型实现。 **人脸识别数据需求**:每人需**多张**不同角度/光照/表情的照片,以学习类内变化(intra-class variation)。每人 1 张无法训练(无法学到"同一人不同样子"的判别)。 **相机参数**: - **内参(Intrinsic)**:焦距、光心、畸变系数——相机自身属性 - **外参(Extrinsic)**:旋转、平移——相机在世界坐标系的位置 - **基础矩阵(Fundamental Matrix)/ 本质矩阵(Essential Matrix)**:描述双目立体几何关系,属于**外参/几何**范畴,不是内参 **SIFT(尺度不变特征变换)**:经典手工局部特征。 - **不变性**:尺度、旋转、**光照**(线性光照变化)、小角度视角变化 - **不具**:完全的仿射/大角度透视不变性 - 应用:图像匹配、拼接、三维重建(深度学习前的主流方法) **特征类型对比**: | 特征 | 类型 | 不变性 | |------|------|--------| | SIFT | 手工局部 | 尺度/旋转/光照 | | SURF | 手工(SIFT 加速版) | 同 SIFT | | HOG | 手工梯度 | 光照(梯度方向) | | CNN 特征 | 学习 | 学习得到,通常更鲁棒 |
### 10万人每人1张训练人脸合理? **[判断]** 用 10 万人的照片训练人脸识别(每人 1 张)是合理的。 **答案:错 ✗** **解析**: - 人脸识别需学习**类内变化**(同一人不同角度/光照/表情) - 每人 1 张 → 模型只见过该身份的 1 种样子 → 无法泛化到该人的其他样子 - 应每人收集多张(不同条件)照片 **合理数据**:每人至少数十张不同条件照片,或用数据增强/合成扩充类内变化。
### 相似度函数在人脸验证的作用? **[多选]** 关于人脸验证中的相似度/距离函数,哪些正确? A. **解决 one-shot 学习问题** ✓ B. **使用迁移学习(编码器可复用)** ✓ C. 必须为每个新人重新训练网络 D. **能用一张照片识别一个人** ✓ **答案:A、B、D** **解析**: - A:one-shot 下 softmax 不可行,相似度函数通过比较编码解决 - B:编码网络(Siamese)在大型人脸数据上预训练,可迁移到新身份 - C 错:新人只需一张照片算编码,与数据库比对,**无需重新训练** - D:这正是 one-shot 学习的能力 **机制**:`d(x₁,x₂) = ||f(x₁) - f(x₂)||`,小于阈值判为同一人。
### 哪个不是双目相机内参? **[单选]** 以下哪个**不是**双目相机的内参? A. 焦距 B. **基础矩阵(Fundamental Matrix)** ✓ C. 畸变系数 D. 光心 **答案:B** **解析**: - **内参**:相机自身属性——焦距、光心、畸变系数 - **基础矩阵**:描述双目立体中两相机间的几何关系(对应点关系),属于**外参/立体几何**范畴 - 本质矩阵(Essential Matrix)类似,归一化坐标版本 **记忆**:内参管"相机自己",外参/几何关系管"相机之间"。
### SIFT 哪个描述错误? **[单选]** 关于 SIFT 特征,哪个描述**错误**? A. SIFT 对尺度变化不变 B. SIFT 对旋转变化不变 C. SIFT 用于图像匹配 D. **SIFT 受光照变化影响很大** ✓(错误) **答案:D** **解析**: - A、B、C 都正确:SIFT 全称 Scale-Invariant Feature Transform,对**尺度**和**旋转**不变,常用于图像匹配/拼接 - D 错误:SIFT 通过梯度方向直方图归一化,对**线性光照变化**鲁棒(不是"受影响很大") - SIFT 不变的是:尺度、旋转、光照(线性)、小视角变化 - SIFT 不具备:完全仿射不变性、大角度透视不变性
卷积计算
### 卷积计算知识点 **1. 单个卷积过滤器参数量公式** `参数数 = K_h × K_w × C_in + 1`(含偏差) - `K_h × K_w`:卷积核空间尺寸 - `C_in`:输入通道数(卷积核深度必须匹配) - `+1`:偏差项 **关键**:参数量与输入**空间尺寸**(如 64×64)**无关**,只与卷积核大小、输入通道数、过滤器个数有关。 **多个过滤器**:`参数数 = N × (K_h × K_w × C_in + 1)`,N 为过滤器个数 = 输出通道数。 **2. 卷积输出尺寸公式(2D / 3D 通用)** `输出尺寸 = (输入尺寸 - 卷积核尺寸 + 2 × padding) / stride + 1` | 维度 | 2D 卷积 | 3D 卷积 | |------|---------|---------| | 输入 | H × W × C | D × H × W × C | | 卷积核 | k × k × C | k × k × k × C | | 滑动方向 | 2 个空间方向 | 3 个空间方向(深度+高+宽) | | 输出通道 | = 过滤器个数 N | = 过滤器个数 N | | 典型应用 | 图像分类 | 视频、医学影像 | **3. CNN 的两大核心特性** | 特性 | 含义 | 作用 | |------|------|------| | **稀疏连接** | 每个输出只依赖前一层**局部少量**激活(局部感受野) | 参数少、捕获局部模式 | | **权重共享** | 同一卷积核在所有空间位置复用 | 平移不变性、参数大幅减少 | **注意区分**: - 稀疏连接(结构属性)≠ 权重稀疏(L1 正则化结果,许多权重为 0) - 稀疏连接(空间局部)≠ 通道全连接(滤波器确实跨所有输入通道) **参数量对比**:28×28×3 输入 → 28×28×64 输出 - 全连接层:2352 × 50176 ≈ **1.18 亿**参数 - 3×3 卷积层:3×3×3×64 = **1728** 参数 - 减少约 **68000 倍**
### Q1 单个 1×1 卷积过滤器含多少参数? **[单选]** 输入维度 64×64×16,单个 1×1 卷积过滤器(含偏差)有多少参数? A. 2 B. 17 C. 4097 D. 1 **答案:B** **解析**: - 权重 = 1 × 1 × C_in = 1 × 1 × 16 = **16**(每个输入通道 1 个权重) - 偏差 = **1** - 总参数 = 16 + 1 = **17** **易错点**: - A (2):误以为"1 权重 + 1 偏差",忽略了要对每个输入通道都有权重 - **C (4097)**:误把空间维度 64×64 = 4096 算进去,但**参数量与空间维度无关** - D (1):漏掉权重 **通用公式**:`参数 = K_h × K_w × C_in + 1`。本题代入 `1×1×16+1 = 17`。 **1×1 卷积的两个用途**:① 通道降维/升维(瓶颈层);② 跨通道信息融合。
### Q2 3D 卷积输出是否为 30×30×30×32? **[判断]** 输入卷积 32×32×32×16(16 通道),用 32 个 3×3×3 过滤器(无填充,步长 1)卷积,输出是 30×30×30×32。 **答案:对 ✓** **解析**:逐维度套用输出尺寸公式 `输出 = (输入 - 核 + 2×padding) / stride + 1`: | 维度 | 计算 | 结果 | |------|------|------| | 深度 D | (32 - 3 + 0) / 1 + 1 | **30** ✓ | | 高度 H | (32 - 3 + 0) / 1 + 1 | **30** ✓ | | 宽度 W | (32 - 3 + 0) / 1 + 1 | **30** ✓ | | 通道 C | = 过滤器个数 | **32** ✓ | **关键**:① 无填充(valid padding)→ 输出尺寸减小;② 步长 1 → 输出 = 输入 - 核 + 1;③ 输出通道数 = 卷积核数量,**与输入通道数无关**(输入通道数只决定每个核的深度)。
### Q3 "稀疏连接"是什么意思? **[单选]** "稀疏连接"是卷积层的好处,这是什么意思? A. 正则化导致梯度下降将许多参数设为零 B. 每个过滤器都连接到上一层的每个通道 C. 下一层中的每个激活只依赖于前一层的少量激活 D. 卷积网络中的每一层只连接到另外两层 **答案:C** **解析**: - **C ✅** 稀疏连接 = **局部感受野**:每个输出神经元只连接前一层的一个局部区域(如 3×3 = 9 个输入),而非全部。这是 CNN 区别于全连接的核心结构特征。 - A ❌ 这是 L1 正则化产生的"**权重稀疏**"(许多权重值为 0),是训练结果,不是结构属性 - B ❌ 这描述的是通道维度的全连接(滤波器确实跨所有输入通道),与空间稀疏连接是两回事 - D ❌ 讨论的是层的连接数,与神经元连接模式无关(CNN 还有 ResNet 的跳跃连接) **易混三概念**: ``` 稀疏连接 (Sparse Connection) ← 空间局部,CNN 固有特性 权重稀疏 (Weight Sparsity) ← L1 正则化结果,许多权重=0 权重共享 (Weight Sharing) ← 同一核在所有位置复用 ```
经典网络与增强
### 经典网络与数据增强知识点 **1. Inception / GoogLeNet 核心思想** 在同一层**并行**使用多种尺寸卷积核(1×1、3×3、5×5)+ 池化分支,最后 concat 拼接: ``` 输入 ──┬─→ 1×1 Conv ─────────────────┤ ├─→ 1×1 Conv → 3×3 Conv ─────┤ ├─→ 1×1 Conv → 5×5 Conv ─────┤──→ Concat → 输出 └─→ 3×3 MaxPool → 1×1 Conv ──┘ ``` **两大优势**: - **多尺度特征提取**:同时捕获点级(1×1)、纹理(3×3)、全局结构(5×5)特征,高层语义更丰富,准确度提高 - **1×1 瓶颈降维**:在昂贵的大核卷积前用 1×1 减少通道数,**参数量可减少 90%+** | 方案 | 5×5 卷积参数(256→256) | |------|------------------------| | 直接 5×5 | 5×5×256×256 = 1,638,400 | | 1×1 瓶颈(256→64→256) | 1×1×256×64 + 5×5×64×256 = 425,984(**减 74%**) | **误区**:Inception 是"多尺度并行",不是"感受野不变"也不是"感受野增大"——不同分支感受野本来就不同。 **2. 数据增强(Data Augmentation)** 通过**变换**(旋转/翻转/裁剪/颜色调整/加噪)从原始图像生成更多训练样本,提升泛化能力。 **训练变慢的根本原因**:数据**量**成倍增加(1000 张 → 10000 张),每个 epoch 要处理更多样本 → 训练时间相应增加。次要因素是增强计算本身耗时。 **增强方式耗时对比**:水平翻转(很低)< 随机裁剪(低)< 旋转(中)< 颜色调整(中)。
### Q1 GoogLeNet 的 Inception 结构有哪些优势? **[多选]** GoogLeNet 提出的 Inception 结构优势有: A. 保证每层感受野不变,网络加深,精度更高 B. 使每层感受野增大,学习小特征的能力变大 C. 有效提取高层语义信息并对之加工,提高准确度 D. 利用该结构有效减轻网络权重 **答案:C、D** **解析**: - **C ✅** 多尺度并行提取(1×1/3×3/5×5 同时抓不同层次特征),高层语义更丰富,准确度提高 - **D ✅** 1×1 瓶颈层在大核卷积前降维,参数量减少 90%+ - A ❌ Inception 用不同尺寸核,**感受野不同**,不是"不变" - B ❌ 说法自相矛盾——感受野增大是学"大特征",不是"小特征";实际是"并行多尺度" **记忆**:Inception = 多尺度并行 + 1×1 瓶颈降维。
### Q2 使用数据增强时训练为什么变慢? **[单选]** 使用增强训练时,您注意到训练会慢一些。为什么? A. 因为有更多数据需要训练 B. 因为扩充后的数据更大 C. 因为图像处理需要周期 D. 因为训练会犯更多错误 **答案:A** **解析**: - **A ✅** 数据增强生成更多样本(1000 → 10000 张),每个 epoch 处理量增加 10 倍 → 训练时间相应增加,这是**主要原因** - B ❌ "更大"描述不准确——增强通常保持图像尺寸不变,关键是**数量**增加 - C ❌ "周期"用词不当,且图像处理耗时只是次要原因 - D ❌ 数据增强**帮助减少**错误(提升泛化),与训练速度无关 **完整因果链**:数据增强 → 生成更多样本 → 更多数据要训练 → 训练时间增加(次要:增强计算本身耗时)。
CV 应用基础
### CV 应用基础知识点 **1. 数字图像的数学表示 f(x, y)** `f(x, y)` = **在位置 (x, y) 处某种性质的数值** - 输入:(x, y) 是 2D 平面坐标 - 输出:f(x, y) 是该点的性质值(像素亮度、颜色、温度、高度……) **典型场景**: - 灰度图像:f(x,y) ∈ [0, 255](像素强度) - RGB 图像:f(x,y) = (R, G, B) 三元组 - 3D 景物投影:3D 场景经投影矩阵映射到 2D 平面,f(x,y) 是投影后的像素值 - 物理场:温度场 T(x,y)、压力场 P(x,y)、高度场 H(x,y) **关键区分**: - **(x, y) 是位置坐标**(不是函数值) - **f(x, y) 是位置处的值**(不是坐标本身) **2. 神经风格迁移(Neural Style Transfer)** | 要素 | 经典神经风格迁移 | |------|-----------------| | 输入 | 内容图像 C + 风格图像 S | | 网络 | 预训练 CNN(如 VGG19),**参数冻结**,仅作特征提取器 | | 优化对象 | **生成图像的像素值**(从白噪声迭代优化),**不训练网络** | | 损失 | 内容损失(与 C 的特征差)+ 风格损失(与 S 的 Gram 矩阵差) | | 性质 | **无监督的图像优化问题**,**不是有监督学习** | **与"快速神经风格迁移"的区别**:快速版本确实训练一个生成网络(针对特定风格预训练),推理时只需内容图像,是另一种范式。
### Q1 f(x, y) 可以表示哪些? **[多选]** 可以用 f(x, y) 来表示: A. 一幅 2-D 数字图像 B. 一个在 3-D 空间中的客观景物的投影 C. 2-D 空间 XY 中的一个坐标的点的位置 D. 在坐标点 (X, Y) 的某种性质 F 的数值 **答案:A、B、D** **解析**:f(x, y) 的本质是"位置 → 性质值"的映射 `f: ℝ² → ℝ`。 - **A ✅** 2D 数字图像:f(x,y) = 位置 (x,y) 处的像素值 - **B ✅** 3D 景物投影:3D 点经投影矩阵映射到 2D 平面,f(x,y) = 投影后的像素值 - **C ❌** 点的**位置**用坐标 `(x, y)` 表示,不是 `f(x, y)`——C 混淆了"位置"与"位置处的值" - **D ✅** f(x,y) = 坐标 (X,Y) 处某性质 F 的数值(这正是 f(x,y) 的定义) **记忆**:f(x,y) 是"值",(x,y) 是"位置";位置本身不是函数值。
### Q2 神经风格迁移是有监督学习? **[判断]** 神经风格转换被训练为有监督学习任务,目标是输入两张图像 x,训练一个能输出新合成图像 y 的网络。 **答案:错 ✗** **解析**:经典神经风格迁移**不是**有监督学习,而是一个**无监督的图像优化问题**: | 题目描述 | 实际情况 | |----------|----------| | 有监督学习 | ❌ 无标注数据,无监督优化 | | 训练网络 | ❌ 网络(VGG19)参数**冻结**,只提取特征 | | 输入两张图训练网络 | ❌ 分别提取特征,**优化的是生成图像的像素值** | | 端到端映射 | ❌ 迭代优化内容损失 + 风格损失 | **关键**:优化的对象是**生成图像的像素**(从白噪声开始迭代),不是网络权重。 **补充**:后续的"快速神经风格迁移"确实训练生成网络,但那是单张内容图输入、针对特定风格预训练,与经典范式不同。
参考