全卷积神经网络入门:U-Net

全卷积神经网络通常用来实现图像分割的功能,下面以U-net为例来说明其是如何实现的:

上采样:上采样又称之为编码阶段,可以看到整个网络结构并不复杂,这里以二维图像为例,输入图像的维度是572*572,先进行两次3*3*64的卷积,由于未补0,所以每卷积一次,得到的每个feature map的长宽均会减2,紧接着对其进行2*2的池化处理,feature map大小减半,变为284*284*64,接下来和之前步骤类似,不断地做卷积和池化。在不断向下的处理过程中,feature map的层数越来越深,而宽度变得越来越小,可以看到最后一层的feature map 为28*28*1024,倒数第二层的feature为56*56*1024。

下采样:下采样又称之为解码阶段,接下来看右边的操作,绿色向上的箭头表示反卷积,简单说例如2*2的卷积就是每2*2个像素点卷积得到一个像素点,而2*2的反卷积就是1*1的像素点分别有四个权重滤波得到2*2的像素点集合。故我们看左边最下面一层是28*28*1024,经过2*2的反卷积后变为56*56*1024。后面的操作类似,右边会不断的往上做反卷积。

跨层连接:还有一个重要的特征,我们看灰色的箭头,不同的层间会有跨层连接,例如第一层生成的feature map 为568*568*64,这是会截取中的392*392*64与右边上采样得到的392*392*64的feature map拼在一起,从而得到392*392*128的feature map,通常称之为跨层连接,跨层连接的作用就在于优化细节结果,如果将编码后的高维特征直接解码,得到的结果很粗糙,所以将不同阶段的编码的池化层输出结果输入到解码阶段。

输出层:最后的特征层宽、高和输入图象宽高完全相同,可以看到最后图例中给出的最后feature map为2,是因为这个是一个二分类分割问题,所以必须要注意,这里有个设定那就是分类数等于最后输出feature map的层数,这个必须要注意,因为后面的分割损失函数中会用到。

损失函数:最后我们来说下损失函数,对于U-Net每个像素都对应的一个softmax,softmax的定义如下:

p_{k}(x)=exp(a_k(\textbf{x}))/\left ( \sum_{k'=1}^{K}exp(a_{k'(\textbf{x})}) \right )

其中,a_k(\textbf{x})表示分类k、位置\textbf{x}\textbf{x} \in Z^2)处像素点的激活,K表示分类数,p_{k}(\textbf{x})为近似的最大函数。对于有最大激活的k ,p_{k}(\textbf{x}) \approx 1,而对于其他的kp_{k}(\textbf{x}) \approx 0。故每一个像素点的交叉熵可以表示为:

E=\sum_{\textbf{x}}w(\textbf{x})log(p_{l(\textbf{x})}(\textbf{x}))

其中l(\textbf{x})表示每个像素点的真实label,w(\textbf{x})为该像素点的权重,在训练中,可以给一些像素点更高的权重。

还有一个损失函数是Dice coefficient:

Dice coefficient是常见的评价分割效果的方法之一,同样的也可以作为损失函数衡量分割的结果和标签之间的差距。

<think>嗯,用户现在问的是卷积神经网络(CNN),我需要先回顾之前的对话。用户之前询问了强化学习,现在转向CNN,可能是在逐步了解机器学习的不同分支。首先,我需要确保解释清晰,结构合理,符合之前他们接受的格式。 用户可能是学生或者刚入门的学习者,想了解CNN的基本概念和应用。他们可能对神经网络有一定了解,但需要更具体的卷积网络信息。需要避免过于技术化的术语,同时保持准确性。 我需要确定CNN的核心要点:结构、核心组件(卷积层、池化层等)、应用领域、优势和挑战。要对比全连接网络,突出CNN在处理图像等网格数据上的优势,比如参数共享、局部连接、平移不变性。 可能用户想知道为什么CNN在图像识别中如此有效,所以需要解释卷积操作如何提取特征,层次结构如何从边缘到更复杂的模式。还要提到实际应用,比如计算机视觉、视频分析、医学影像等,以增强实用性。 需要检查是否有数学公式,按照用户之前的要求,用$...$格式,比如卷积运算的公式。同时,保持中文回答,结构清晰,使用分点或表格,像之前的强化学习回答一样。 还要注意用户可能的深层需求,比如他们是否在寻找学习资源,或者想了解CNN与其他网络的区别。但根据问题本身,可能只需要基础介绍。需要保持回答简洁,但覆盖关键点,如卷积层的作用、池化的目的、典型架构例子(比如LeNet、ResNet)以及应用场景。 最后,确保没有使用Markdown,用自然的分段和符号,比如破折号、数字编号等,保持可读性。可能需要提醒训练中的挑战,比如需要大量数据、计算资源,以及过拟合的问题,但不要过于深入,保持概述性质。</think>卷积神经网络(Convolutional Neural Networks, CNN)是专门处理**网格状拓扑数据**(如图像、语音、视频)的深度学习模型,其核心思想是通过**局部感知**和**参数共享**高效提取空间特征。 --- ### **三大核心设计思想** 1. **局部连接** - 传统神经网络:每个神经元与上一层全连接 - CNN:每个神经元仅连接输入区域的局部窗口 - 优势:大幅减少参数数量(例如处理$1000×1000$像素图像时,全连接需$10^{12}$参数,CNN仅需百万级) 2. **权重共享** - 同一卷积核在不同位置扫描时使用相同参数 - 实现特征检测的**平移不变性**(例如无论猫在图像何处都能识别) 3. **层次化特征提取** - 底层卷积层:捕捉边缘/纹理(如$3×3$卷积核检测横竖线条) - 深层卷积层:组合低级特征形成高级语义(如眼睛、车轮等部件) --- ### **核心组件解析** | 组件 | 作用 | 数学表达 | 典型参数 | |------|------|----------|----------| | **卷积层** | 特征提取 | $f(x) = \sum_{i=-k}^{k}\sum_{j=-k}^{k}w_{i,j}x_{m+i,n+j} + b$ | 核尺寸(如3×3)、步长、填充 | | **池化层** | 降维抗过拟合 | $\max(x_{i,j})$或$\frac{1}{4}\sum x_{i,j}$ | 窗口大小、步长 | | **激活函数** | 引入非线性 | ReLU: $f(x)=\max(0,x)$ | - | | **全连接层** | 最终分类 | $y=Wx+b$ | 神经元数量 | --- ### **经典网络结构演进** 1. **LeNet-5**(1998) - 首个成功CNN,用于手写数字识别 - 创新点:交替卷积与池化层 2. **AlexNet**(2012) - ImageNet竞赛冠军(top-5错误率15.3%) - 引入ReLU、Dropout、数据增强 3. **VGGNet**(2014) - 证明小卷积核(3×3)堆叠的有效性 - 16-19层深度结构 4. **ResNet**(2015) - 残差连接解决梯度消失问题 - 首次实现超过1000层的网络 --- ### **实际应用场景** - **计算机视觉** - 图像分类(ImageNet- 目标检测(YOLO, Faster R-CNN) - 图像分割(U-Net- **视频分析** - 行为识别(3D CNN) - 视频内容理解 - **医学影像** - 肿瘤检测(乳腺X光片分析) - 病理切片分类 - **其他领域** - 语音识别(时频图处理) - 围棋AI(AlphaGo的棋盘状态分析) --- ### **独特优势** - 自动学习多层次特征(无需手工设计特征) - 对平移、旋转、缩放具有一定鲁棒性 - 适合处理高维空间数据(如彩色图像包含$width×height×3$通道) --- ### **训练挑战** - 需要大量标注数据(ImageNet含1400万张图像) - 计算资源消耗大(训练ResNet-152需约2周/8块GPU) - 黑箱特性导致医疗等领域应用受限 - 对抗样本脆弱性(添加微小扰动可误导分类) 当前,CNN已超越人类水平完成ImageNet图像分类任务(ResNet错误率3.57% vs 人类5.1%),其变体(如Transformer-CNN混合模型)正在推动计算机视觉进入新阶段。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值