热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度神经网络自监督视觉特征综述

点上方人工智能算法与Python大数据获取更多干货在右上方设为星标★,第一时间获取资源仅做学术分享,如有侵权,联系删除转载于:

点上方人工智能算法与Python大数据获取更多干货

在右上方 ··· 设为星标 ★,第一时间获取资源

仅做学术分享,如有侵权,联系删除

转载于 :专知

自监督学习是关注的热点问题之一,来自TPAMI最新的综述论文《深度神经网络自监督视觉特征学习》对自监督视觉特征学习做了全面调研概述,值的关注!

c860053fe731fa85d0f178d52edd00c4.png

摘要:

为了在计算机视觉应用中学习得到更好的图像和视频特征,通常需要大规模的标记数据来训练深度神经网络。为了避免收集和标注大量的数据所需的巨大开销,作为无监督学习方法的一个子方法——自监督学习方法,可以在不使用任何人类标注的标签的情况下,从大规模无标记数据中学习图像和视频的一般性特征。本文对基于深度学习的自监督一般性视觉特征学习方法做了综述。首先,描述了该领域的动机和一些专业性术语。在此基础上,总结了常用的用于自监督学习的深度神经网络体系结构。接下来,回顾了自监督学习方法的模式和评价指标,并介绍了常用的图像和视频数据集以及现有的自监督视觉特征学习方法。最后,总结和讨论了基于标准数据集的性能比较方法在图像和视频特征学习中的应用。

https://ieeexplore.ieee.org/document/9086055

https://www.zhuanzhi.ai/paper/0e9852bb57c7fe00cc59723fc0ee899f

引言

由于深度神经网络具有学习不同层次一般视觉特征的强大能力,它已被作为基本结构应用于许多计算机视觉应用,如目标检测[1]、[2]、[3]、语义分割[4]、[5]、[6]、图像描述[7]等。从像ImageNet这样的大规模图像数据集训练出来的模型被广泛地用作预训练模型和用于其他任务的微调模型,主要有两个原因:(2)在大规模数据集上训练的网络已经学习了层次特征,有助于减少在训练其他任务时的过拟合问题;特别是当其他任务的数据集很小或者训练标签很少的时候。

深度卷积神经网络(ConvNets)的性能在很大程度上取决于其能力和训练数据量。为了增加网络模型的容量,人们开发了不同类型的网络架构,收集的数据集也越来越大。各种网络,包括AlexNet [9], VGG [10], GoogLeNet [11], ResNet [12], DenseNet[13]和大规模数据集,如ImageNet [14], OpenImage[15]已经被提出训练非常深的ConvNets。通过复杂的架构和大规模的数据集,ConvNets的性能在许多计算机视觉任务[1],[4],[7],[16],[17],[18]方面不断突破先进水平。

然而,大规模数据集的收集和标注是费时和昂贵的。ImageNet[14]是pre-training very deep 2D convolutional neural networks (2DConvNets)中应用最广泛的数据集之一,包含约130万张已标记的图像,覆盖1000个类,而每一幅图像由人工使用一个类标签进行标记。与图像数据集相比,视频数据集由于时间维度的原因,其采集和标注成本较高。Kinetics数据集[19]主要用于训练ConvNets进行视频人体动作识别,该数据集由50万个视频组成,共600个类别,每个视频时长约10秒。许多Amazon Turk工作人员花了大量时间来收集和注释如此大规模的数据集。 

为了避免费时和昂贵的数据标注,提出了许多自监督方法来学习大规模无标记图像或视频的视觉特征,而不需要任何人工标注。一种流行的解决方案是提出各种各样的前置任务让网络来解决,通过学习前置任务的目标函数来训练网络,通过这个过程来学习特征。人们提出了各种各样的自监督学习任务,包括灰度图像着色[20]、图像填充[21]、玩图像拼图[22]等。藉口任务有两个共同的特性:(1)图像或视频的视觉特征需要被ConvNets捕捉来解决前置任务;(2)监控信号是利用数据本身的结构(自我监控)产生的。 

自监督学习的一般流程如图1所示。在自监督训练阶段,为ConvNets设计预定义的前置任务,并根据数据的某些属性自动生成前置任务的伪标签。然后训练卷积神经网络学习任务的目标函数。当使用前置任务进行训练时,ConvNet的较浅的块集中于低级的一般特征,如角、边和纹理,而较深的块集中于高级任务特定的特征,如对象、场景和对象部分[23]。因此,通过藉由任务训练的ConvNets可以学习内核来捕获低级特征和高级特征,这对其他下游任务是有帮助的。在自监督训练结束后,学习到的视觉特征可以作为预训练的模型进一步转移到下游任务中(特别是在数据相对较少的情况下),以提高性能和克服过拟合。通常,在有监督的下游任务训练阶段,仅从前几层传递视觉特征。

0c643a6a7c410f5e6b81fc4855d6d8dd.png

自监督学习的前置任务可以分为四类:

(1)Generation-based Methods(基于生成的)

Image Generation(图像生成):图像着色、图像超分辨率(指由一幅低分辨率图像或图像序列恢复出高分辨率图像)、图像修复、用GANs生成图像

Video Generation(视频生成):利用GANs进行视频的生成及预测

(2)Context-based pretext tasks(基于上下文的)

Context Similarity(上下文相似度):根据图像补丁之间的上下文相似性设计前置任务,包括基于图像聚类的方法(image clustering-based methods)和基于图像约束的方法( graph constraint-based methods)。

Spatial Context Structure(空间上下文结构):基于图像补丁之间的空间关系,包括图像拼图(image jigsaw puzzle)、上下文预测(context prediction)、几何变换识别(geometric transformation recognition)。

Temporal Context Structure(时间上下文结构):来自视频的时间顺序用作监视信号。对ConvNet进行训练,以验证输入帧序列是否以正确的顺寻或识别帧序列的顺序。

(3)Free semantic label-based(基于自动生成语义标签的方法)

使用自动生成的语义标签来训练网络,标签是由传统的硬编码算法或游戏引擎生成的。包括运动对象分割(moving object segmentation)、轮廓检测(contour detection)、相对深度预测(relative depth prediction)。

(4)Cross modal-based(基于跨模态的方法)

这种前置任务训练ConvNet验证两个不同的输入数据通道是否彼此对应。包括视觉-音频对应验证(Visual-Audio Correspondence Verification)、RGB流对应验证(RGB-Flow Correspondence Verification)、自我感应(egomotion)。

205662de87bef9bd9ae3dbf074b8662f.png

c71135a10055902f2af29c22051e5094.png

---------♥---------

声明:本内容来源网络,版权属于原作者

图片来源网络,不代表本公众号立场。如有侵权,联系删除

AI博士私人微信,还有少量空位

a4e1bca7e6544b183078288efba5a0e7.png

0a28a891b40fe00159ac32c84adf18cc.gif

如何画出漂亮的深度学习模型图?

如何画出漂亮的神经网络图?

一文读懂深度学习中的各种卷积

点个在看支持一下吧a5487a787b7420683d0683b68f4585aa.png6fe2e2447174f84bd660387b9fef8408.png



推荐阅读
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
  • 本文介绍了Python对Excel文件的读取方法,包括模块的安装和使用。通过安装xlrd、xlwt、xlutils、pyExcelerator等模块,可以实现对Excel文件的读取和处理。具体的读取方法包括打开excel文件、抓取所有sheet的名称、定位到指定的表单等。本文提供了两种定位表单的方式,并给出了相应的代码示例。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文讨论了一个数列求和问题,该数列按照一定规律生成。通过观察数列的规律,我们可以得出求解该问题的算法。具体算法为计算前n项i*f[i]的和,其中f[i]表示数列中有i个数字。根据参考的思路,我们可以将算法的时间复杂度控制在O(n),即计算到5e5即可满足1e9的要求。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • Window10+anaconda+python3.5.4+ tensorflow1.5+ keras(GPU版本)安装教程 ... [详细]
author-avatar
batman@zhou
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有