【日常学习】U-net的改进
【日常学习】U-net的改进
文章地址:基于改进 U-NET 网络的神经分割方法研究
ResNet
ResNet建立的模块如下:
残差网络提出了一个捷径(shortcut)
的概念,即跳过一个或多个层,将输入结果直接添加到底层,残差网络可以通过下面的公式1来表示
H(x)=x+F(x)(1)H (x) = x + F(x)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~(1) H(x)=x+F(x) (1)
其中H(x)H(x)H(x)为底层的映射,xxx为输入结果,F(x)F(x)F(x)为网络中的隐藏层输出结果。
残差网络通过将多个卷积层级联的输出与输入相加的方式对图片进行特征提取,减少了训练参数。
在卷积神经网络中,网络层次越深,训练时产生的错误越多,训练时间越长。残差网络的出现在一定程度上解决了这个问题。
与其他网络相比,残差网络结构相对简单,训练参数较少,训练时间较短,解决了在极深度条件下深度卷积神经网络性能退化的问题。
U-net与ResNet结合
改进后的U-NET分为收缩网络以及扩张网络两部分。
收缩网络与U-NET中的收缩网络类似,有所不同的是,对于每一层输出的结果先进行规范化处理,随后通过激活函数进行激活。每一个下采样包含两个3x3的卷积层,一个1x1的“捷径”以及一个2x2的池化层。
扩张网络与 U-NET 中的扩张网络类似,每一次上采样包含两个 3x3的卷积层,一个 1x1 的“捷径”,在每一次上采样之前,需要合并收缩网络与之相对应的结果。与收缩网络相似,扩张网络中每一层输出结果都需要先进性规范化处理,随后通过激活函数进行激活。最后,加入 1x1 的卷积网络确定 该特征图所对应的结果。
改进后的 U-NET 网络结构如下图所示。
改进后的U-NET网络结构示意图,与U-NET网络相比,改进后的U-NET加入了残差网络,并且对于每一层输出结果进行规范化处理。红色的箭头表示“捷径”层,绿色的方块表示通过“捷径” 层后获取的结果,灰色方块代表上采样过程中对于边界信息的补充。
加入残差网络后的U-NET网络,层次更加深入,训练参数更多,在一定程度上弥补了 U-NET网络不够深的问题,同时由于残差网络的特性,解决了在极深度条件下深度卷积神经网络性能退化的问题。
捷径层(Shortcut)
我们将该网络结构用下面的公式表示
y=Wn+1K(wnx)+bx(2)y = W_{n+1}K(w_nx) + bx ~~~~~~~~~~~~~~~~~~~~(2) y=Wn+1K(wnx)+bx (2)
这里yyy和xxx表示该网络的输出以及输入,Wn+1W_{n+1}Wn+1表示权值,KKK表示激活函数;bbb为一个可调节的参数,默认为 1。
一个“捷径”层中可以包含多个卷积层,我们可以将Wn+1K(wnx)W_{n+1}K(w_nx)Wn+1K(wnx)通过F(x,wi)F(x,w_i)F(x,wi)表示多个卷积层的情况,改进后的公式如(3)所示
y=F(x,wi)+bx(3)y = F(x,w_i) + bx ~~~~~~~~~~~~~~~~(3) y=F(x,wi)+bx (3)
引入“捷径”层使得U-NET的网络结构更加深入,同时也避免了训练时间过长,训练参数过多以及过拟合现象的发生。
损失函数(Loss)
损失函数(loss function)
是用来评估预测值
与参考值(ground truth)
之间的不一致程度,损失函数越小,模型的鲁棒性越好。
我们将L(X,Y)L(X, Y)L(X,Y)作为该模型的损失函数,L(X,Y)L(X, Y)L(X,Y)如公式(4)所示
其中XXX表示预测值,YYY表示参考值,S(X,Y)S(X,Y)S(X,Y)表示两个模型之间的相似程度,S(X,Y)S(X, Y)S(X,Y)表达式如(5)所示。
∣X∩Y∣|X∩Y|∣X∩Y∣表示两个样本间相交部分或重叠部分,∣X∣+∣Y∣|X|+|Y|∣X∣+∣Y∣表示预测值和参考值的总量
优化函数
优化函数在训练模型的同时,帮助模型调整权值,使得模型权值调整到最优,使得损失函数最小。Adam
具有计算高效,占用内存较少,善于处理非平稳模型等优势。
【日常学习】U-net的改进相关推荐
- Android:日常学习笔记(8)———探究UI开发(2)
Android:日常学习笔记(8)---探究UI开发(2) 对话框 说明: 对话框是提示用户作出决定或输入额外信息的小窗口. 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件. 提示 ...
- Android:日常学习笔记(6)——探究活动(3)
Android:日常学习笔记(6)--探究活动(3) 活动的生命周期 返回栈 Android中的活动是可以叠加的,我们每启动一个新活动,就会覆盖在原来的活动上,点击Back以后销毁最上面的活动,下面的 ...
- Android:日常学习笔记(8)———探究UI开发(5)
Android:日常学习笔记(8)---探究UI开发(5) ListView控件的使用 ListView概述 A view that shows items in a vertically scrol ...
- 日常学习随笔-数组、单链表、双链表三种形式实现队列结构的基本操作(源码注释)...
一.队列结构(本文侧重于源码实现,基础理论不多赘述) 和栈一样,队列(queue)也是表,然而使用队列是在一端插入数据,在另一端删除数据.这里插入就是入队(enqueue),删除就是(dequeue) ...
- 日常学习记录——pycharm+tensorflow简单图像识别
日常学习记录--pycharm+tensorflow简单图像识别 写在前面 1 实验代码 2 实验结果 2.1 测试集的正确率 2.2 单个预测结果 2.3 集体预测结果 总结与标记 写在前面 使用p ...
- 把飞书融入日常学习流程:一个人的飞书也挺好
作为仍然奋斗在学术一线的学生,在很多同学和朋友眼里我一直是个喜欢折腾各种工具的「少数派」.除了每天必看的科研动态和文献之外,自己喜欢在摸鱼的时候折腾一些感兴趣的工具,用能提高效率的工具让自己拥有更多的 ...
- 基于精英反向学习的逐维改进蜻蜓算法-附代码
基于精英反向学习的逐维改进蜻蜓算法 文章目录 基于精英反向学习的逐维改进蜻蜓算法 1.蜻蜓算法 2. 改进蜻蜓算法 2.1 基于精英反向学习的种群初始化 2. 2 基于贪婪保留的逐维更新策略 2.3 ...
- 日常学习中遇到的好的资源(Graph Clustering and GNN)(持续更新)
将自己在日常学习中遇到的好资源记录下来! 本文目录 1.多视图聚类总结: 2.论文阅读:One2Multi Graph Autoencoder for Multi-view Graph Cluster ...
- 日常学习记录——决策树根节点的选择
日常学习记录--决策树根节点的选择 1 数据集 2 根节点的选择 1 信息增益的计算 2 计算单列属性信息熵 3 计算各属性信息增益 3 存在问题与反思 1 数据集 本例使用的是经过预处理的模糊数据集 ...
最新文章
- getCount()和getChildCount()区别
- 523. Continuous Subarray Sum
- 【蓝桥杯Java_C组·从零开始卷】第六节(二)、蓝桥杯常用数学公式
- Where is ABAP Netweaver HTTP 304 not modified set
- 或许你不知道的10条SQL技巧(转自58沈剑原创)
- kubectl查看kubernetes运行信息
- java面试的计算机网络_Java面试总结之计算机网络(二)
- P4145 上帝造题的七分钟2 / BZOJ3211花神游历各国
- Microsoft office word2003出现发送错误报告怎么办
- vue实现一个移动端屏蔽滑动的遮罩层
- 解决修改jsp代码之后,浏览器刷新页面却没有变化
- Matrix Concatenate 矩阵串联
- rap格式鸿蒙,你,想要成为rap star吗?
- 不同分子量的PEG衍生物试剂,DSPE-PEG6-Mal
- android app 按键精灵,安卓按键精灵的,关闭app程序问题!
- 笔记本电脑充电时会产生强电磁场不宜使用
- LOJ 10155 - 「一本通 5.2 例 3」数字转换
- 论文阅读:CTF:Anomaly Detection in High-Dimensional Time Series with Coarse-to-Fine Model Transfer
- ixed php,「」解决PHP script * is protected by SourceGuardian
- SAP收购Sybase的真实意图或强化BI
热门文章
- 利用curl进行ftp的下载和上传
- 华为服务器H22H-03的Windows Server2012安装
- Microsoft Office 家族甘特图 和 第三方甘特图软件
- Linux欧姆单位怎么打,万用表如何进行欧姆校零
- 钜大锂电池并联串联知识详解 并联串联注意事项18650
- 【pycharm激活方式】pycharm2022.1.1最新专业版安装和激活
- 第十四届蓝桥杯(Web 应用开发)模拟赛 1 期-职业院校组-知识点题解
- STM32——蓝牙模块HC06
- 不同label样本画图——颜色分配plt.cm.Spectral
- 拉卡拉支付的这些创新功能,你知道吗?