现代机器学习基于深度学习的图像特征提取
基于深度学习的多模态数据融合与特征提取研究

基于深度学习的多模态数据融合与特征提取研究摘要:深度学习在近年来取得了显著的突破,并在各个领域得到广泛应用。
随着互联网的快速发展和大数据的普及,多模态数据的获取越来越容易。
多模态数据融合和特征提取是深度学习在多模态数据应用中的两个重要任务。
本文将对基于深度学习的多模态数据融合与特征提取进行探讨与研究。
引言:在现实生活中,我们常常遇到各种类型的数据,例如图像、文本、语音等。
多模态数据指的是包含了两种或多种不同类型数据的集合。
与传统的单一模态数据相比,多模态数据在表达能力和丰富性上更加强大。
因此,多模态数据的融合与特征提取具有重要的研究意义和应用价值。
一、多模态数据融合的方法多模态数据融合是将多个模态的数据进行有机结合,以实现更全面、准确的信息传递和表达。
基于深度学习的多模态数据融合方法通常包括以下几种:1. 基于特征融合的方法:该方法通过提取不同模态数据的特征,并将这些特征融合在一起,形成一个综合的特征向量。
常用的特征融合方法包括将特征进行拼接、求和、平均等操作。
深度学习模型如卷积神经网络(CNN)和循环神经网络(RNN)可以用于特征提取和融合。
2. 基于神经网络的方法:该方法通过构建一个端到端的神经网络模型,将多模态数据输入到网络中,并通过网络学习模态间的相关性,从而实现多模态数据的融合。
常见的深度学习模型包括多通道卷积神经网络(MC-CNN)、多输入多输出循环神经网络(MIMO-RNN)等。
3. 基于注意力机制的方法:该方法通过引入注意力机制,使网络能够自动学习不同模态数据的重要性权重,并根据权重对不同模态数据进行加权融合。
注意力机制可以通过深度学习模型自动学习得到,也可以通过先验知识进行设计。
二、多模态数据特征提取的方法特征提取在深度学习中起着至关重要的作用,它能够将数据转化为可供机器学习和模式识别算法使用的高层次数据表示。
在多模态数据中,不同模态数据的特征提取方法如下所示:1. 图像特征提取:图像是一种常见的多模态数据类型,它包含了丰富的视觉信息。
基于深度学习技术的图像处理算法研究

基于深度学习技术的图像处理算法研究近年来,随着深度学习技术的广泛应用,图像处理的效率和准确度得到了大幅提升。
基于深度学习技术的图像处理算法,已经成为了图像处理领域中的一大研究热点。
一、深度学习技术简介深度学习是一种基于人工神经网络的机器学习技术,可以通过模拟人类大脑神经元之间的相互连接和相互作用,来实现图像、语音等大量数据的自动识别和学习。
深度学习技术中最具代表性的算法是卷积神经网络(Convolutional Neural Network,简称CNN)。
二、基于深度学习技术的图像处理算法1. 图像分类图像分类是指将图像分为预定义类别中的一种。
基于深度学习的图像分类算法,训练模型可以从大量标记好的图片中自动提取特征,而无需先进行手工特征的提取。
其中,分类模型包括卷积层和全连接层两种,其中卷积层提取特征,全连接层进行分类。
常用的数据集有CIFAR-10、ImageNet等。
以ImageNet数据集为例,其包含1400万张图片、1000个类别。
相关研究人员基于深度学习从标注数据中训练得到一个名为ResNet的网络结构,可以达到超过96%的分类准确率。
2. 图像分割图像分割是指将图像分为若干个部分,基于深度学习的图像分割算法主要使用卷积神经网络。
以UNet为例,它可以实现图像分割。
UNet网络结构分为编码器和解码器两部分,编码器将图像大小不断缩小,解码器则将生成的特征图形大小不断扩大,从而得到更精细的分割结果。
3. 目标检测目标检测是指在一张图像中定位出图像中的物体,并框定出其边界框。
基于深度学习的目标检测算法有多种。
其中,YOLO (You Only Look Once)算法将图片直接输入到神经网络中进行处理,实时性较高。
Mask R-CNN则可以同时完成目标检测和图像分割,效果也十分优秀。
三、基于深度学习的图像处理算法的优点1. 提高了图像识别精度基于深度学习技术的图像处理算法可以通过训练出的模型自动提取图像特征,从而提高图像识别的精度和准确度,加速和减少了图像处理人工干预的环节。
基于深度学习的图像处理技术

基于深度学习的图像处理技术在当今的科技时代,图像处理技术正经历着深刻的变革,而深度学习的出现无疑是这场变革中的关键力量。
深度学习为图像处理带来了前所未有的可能性,从图像识别到图像生成,从目标检测到图像分割,其应用领域不断拓展,深刻影响着我们的生活和工作。
要理解基于深度学习的图像处理技术,首先得明白什么是深度学习。
简单来说,深度学习是一种基于人工神经网络的机器学习方法。
它通过构建多层的神经元网络,让计算机能够自动从大量的数据中学习到复杂的模式和特征。
在图像处理中,这些数据通常就是成千上万张的图像。
深度学习在图像处理中的一个重要应用是图像识别。
以往,传统的图像识别方法往往依赖于人工设计的特征提取器,比如边缘检测、纹理分析等。
但这些方法存在很大的局限性,对于复杂的图像场景往往效果不佳。
而深度学习则通过大量的数据训练,让网络自己学习到如何提取有效的特征,从而大大提高了图像识别的准确率。
例如,在人脸识别中,深度学习模型能够准确地识别出不同人的面部特征,即使在光照、姿态等条件发生变化的情况下,也能保持较高的准确性。
除了图像识别,目标检测也是深度学习在图像处理中的一个重要应用领域。
目标检测的任务是在图像中找出感兴趣的目标,并确定其位置和类别。
深度学习模型通过对大量包含各种目标的图像进行学习,能够自动地检测出图像中的目标,并且给出精确的边界框。
这在自动驾驶、安防监控等领域有着广泛的应用。
在自动驾驶中,车辆需要实时检测道路上的行人、车辆、交通标志等目标,以便做出正确的驾驶决策。
深度学习的目标检测技术能够快速准确地完成这些任务,为自动驾驶的安全性提供了有力保障。
图像分割是另一个基于深度学习的重要图像处理任务。
图像分割的目的是将图像分成不同的区域,每个区域具有相似的特征。
深度学习模型通过学习图像中像素之间的关系,能够实现对图像的精确分割。
这在医学图像分析、卫星图像分析等领域具有重要意义。
例如,在医学图像中,医生需要准确地分割出肿瘤区域,以便进行诊断和治疗。
基于机器视觉技术的图像识别特征提取算法设计与实现

基于机器视觉技术的图像识别特征提取算法设计与实现随着数字化时代的到来和生产生活方式的转变,人们越来越需要机器视觉技术。
机器视觉技术能够为人类的实际生产生活带来巨大的改变,例如自动化生产、智能商业、智能医疗、智能交通、智能家居等。
在许多应用中,机器视觉技术的核心基础是图像识别,而特征提取算法是图像识别中最关键的步骤之一。
特征提取算法通过提取图像中具有表征性质的特征,实现对图像的辨识和识别。
在传统的图像识别算法中,我们常用手动设计特征来完成图像的特征提取。
手动设计特征是需要经过专业的图形处理、图像学等学科背景知识,并对现象进行详细分析后人工提取的一些具有代表性的特征。
虽然传统的方法能够提取出较为精准的特征,但是在不同场景和应用中,人类的视觉无法穷举所有的特征。
因此,人们希望能够使用机器视觉技术进行自动化的特征提取。
随着机器学习和深度学习的发展,机器视觉领域的这种需求也得到了解决,人们提出了很多基于机器学习和深度学习的图像识别特征提取算法。
其中,基于深度学习的卷积神经网络(CNN)是近年来最为流行和广泛应用的一种图像识别算法。
CNN能够通过多层卷积和池化操作,提取出图像中的各种特征,并通过全连接层进行分类。
除了CNN之外,还有很多其他的基于机器学习和深度学习的图像识别特征提取算法,例如基于哈希编码的局部特征描述子(LDB)、局部二值模式(LBP)、方向梯度直方图(HOG)等。
这些算法都有各自的优缺点,可以根据实际需要进行选择。
在具体的实现中,我们可以使用Python语言和各种深度学习框架进行图像识别特征提取算法的实现。
对于不同的算法,我们需要使用不同的框架和算法库。
例如,对于卷积神经网络算法,我们可以使用TensorFlow或者PyTorch进行实现;对于局部二值模式算法,在OpenCV中就已经集成了相应的函数库。
对于未来,机器视觉技术依然有广阔的发展前景。
无论是在工业生产还是智能生活领域,机器视觉技术都将变得越来越重要。
基于深度学习的支持向量机特征提取方法

基于深度学习的支持向量机特征提取方法深度学习和支持向量机(Support Vector Machine,SVM)是机器学习领域中两个重要的技术。
深度学习通过多层神经网络的学习和训练,能够自动地从原始数据中提取出高层次的特征表示。
而SVM则是一种用于分类和回归分析的监督学习模型,其通过寻找最优超平面来实现对数据的分类。
本文将探讨如何将深度学习与SVM相结合,以提取更有效的特征表示。
一、深度学习在特征提取中的优势深度学习通过多层神经网络的训练,能够学习到数据的非线性特征表示。
相比传统的特征提取方法,深度学习能够自动地从原始数据中提取出更具有判别性的特征。
这是因为深度学习模型具有较强的非线性拟合能力,能够通过多层次的变换将原始数据映射到更高维度的特征空间中。
这些特征能够更好地反映数据的内在结构,从而提高分类和回归任务的性能。
二、支持向量机的特征提取方法SVM在特征提取方面的优势主要体现在其对于特征选择的能力。
SVM通过寻找最优超平面,能够选择出最具有判别性的特征子集。
这是因为在SVM的优化目标中,只有支持向量才对分类决策起作用,而其他非支持向量的特征则不会对分类结果产生影响。
因此,SVM能够从原始特征中选择出最重要的特征,提高分类的准确性和泛化能力。
三、将深度学习与SVM相结合,可以充分发挥两者的优势,提取更有效的特征表示。
一种常见的方法是使用深度学习模型对原始数据进行预训练,然后将预训练得到的特征作为输入,训练SVM模型进行分类。
这种方法能够通过深度学习模型的非线性拟合能力,提取出更具有判别性的特征表示,从而提高SVM的分类性能。
另一种方法是使用深度学习模型作为特征提取器,将其最后一层隐藏层的输出作为特征输入到SVM模型中。
这种方法能够利用深度学习模型对数据的自动学习能力,提取出更具有判别性的特征表示。
同时,通过将深度学习模型的输出作为特征输入到SVM中,可以利用SVM的特征选择能力,选择出最重要的特征子集,进一步提高分类性能。
使用机器学习技术进行图像识别和分类的方法

使用机器学习技术进行图像识别和分类的方法图像识别和分类是机器学习领域的重要应用之一。
随着现代计算机性能的提高和机器学习算法的发展,图像识别和分类在各个领域都取得了重要的突破和应用。
本文将介绍基于机器学习的图像识别和分类的方法,并讨论其应用和挑战。
一、图像特征提取图像识别任务的第一步是对图像进行特征提取。
通过提取图像中的特征,可以将图像转化为一组数字表示,方便后续的机器学习算法进行处理。
常用的图像特征提取方法包括颜色直方图、纹理特征、形状特征等。
同时,通过卷积神经网络(CNN)等深度学习方法,可以自动学习图像的特征表示。
二、机器学习算法1.监督学习算法监督学习算法是图像分类的常用方法。
它通过利用已经标记好的图像数据(即具有已知分类的图像)来训练模型,然后使用模型对新的未标记图像进行分类。
常用的监督学习算法包括决策树、支持向量机(SVM)、随机森林等。
这些算法在图像分类任务中都取得了良好的表现。
2.无监督学习算法与监督学习不同,无监督学习算法不需要事先标记好的图像数据。
它通过对图像数据的分析和聚类,学习数据的分布和结构,并进行分类。
常用的无监督学习算法包括K均值聚类、高斯混合模型(GMM)等。
无监督学习算法在大规模图像数据的处理和分析上具有独特的优势。
3.深度学习算法深度学习算法是近年来图像识别和分类领域的热点。
通过多层神经网络的结构,深度学习算法可以自动学习图像的特征表示和分类决策。
其中,卷积神经网络(CNN)是最常用的深度学习算法。
通过在大规模图像数据上进行训练,CNN可以学习到丰富的特征表示,并取得优秀的图像分类性能。
三、应用与挑战1.应用领域图像识别和分类技术在各个领域都有广泛的应用。
例如,在医学领域,可以利用机器学习算法对医学影像进行识别和分类,辅助医生进行疾病诊断。
在自动驾驶领域,图像识别和分类技术可以用于识别道路、车辆和行人,为自动驾驶系统提供环境感知能力。
2.挑战与改进虽然图像识别和分类技术取得了许多重要的突破,但仍存在一些挑战。
基于深度学习的图像识别与分类技术研究与应用

基于深度学习的图像识别与分类技术研究与应用摘要:图像识别与分类技术是计算机视觉领域的一个重要研究方向,而深度学习作为一种强大的机器学习方法,已经在图像识别与分类领域取得了许多突破性的进展。
本文通过综述相关文献和最新研究成果,探讨了基于深度学习的图像识别与分类技术的研究和应用。
1. 引言随着互联网的发展和智能设备的普及,图像数据的规模呈现爆炸性增长。
如何从这些海量的图像数据中高效准确地识别和分类图像,成为了一个具有挑战性的问题。
传统的图像识别与分类方法往往需要手动提取特征,并且面临着溢出、数据稀疏和高维的问题。
因此,基于深度学习的图像识别与分类技术应运而生。
2. 深度学习技术概述深度学习是一种模仿人脑神经网络结构的机器学习方法,其核心思想是通过多层次的非线性变换来提取高层次的特征表示。
与传统的浅层神经网络相比,深度学习模型具有更强的表达能力和泛化能力,能够自动学习特征表示。
3. 基于深度学习的图像识别与分类技术基于深度学习的图像识别与分类技术主要包括以下几个环节:3.1 数据预处理在深度学习任务中,数据预处理是非常重要的一步。
常见的预处理方法包括图像尺寸调整、灰度化、增强对比度、标准化等。
这些预处理方法可以提高图像的质量,有利于提高模型的性能和效果。
3.2 特征提取深度学习模型通过多层的卷积层和池化层来提取图像的特征。
卷积层可以学习到图像的低层次特征,而池化层可以进一步提取图像的高层次特征。
模型中的卷积核可以自动学习图像的纹理和形状等特征。
3.3 模型训练与优化深度学习模型通常使用大量的图像数据进行训练。
在训练过程中,通过反向传播算法来更新模型的参数,使其能够更好地拟合训练数据。
为了提高模型的泛化能力,通常还会采用正则化技术和dropout技术等方法进行模型优化。
3.4 图像识别与分类在模型训练完成后,可以利用该模型对新的图像数据进行识别和分类。
通过输入一张图像,模型会输出该图像所属的类别标签,并给出一个概率值作为置信度。
基于机器学习的图像特征提取与分类算法

基于机器学习的图像特征提取与分类算法图像特征提取与分类算法是现代计算机视觉领域中的重要研究方向之一。
随着大数据和机器学习的快速发展,利用机器学习方法自动地从图像中提取有用的特征并进行分类已经成为可能。
本文将介绍基于机器学习的图像特征提取与分类算法的基本概念和常用方法。
一、图像特征提取的基本概念图像特征提取是指从图像中提取出能够用来描述图像特性的低维特征。
传统的图像特征包括颜色、纹理和形状等,而现在基于机器学习的图像特征提取方法还包括基于深度学习的特征提取。
对于每个图像,可以通过计算一系列特征来表示它的特征向量,从而实现对图像内容的描述。
二、常用的图像特征提取算法1. 颜色特征提取算法:颜色是图像中最直观和重要的特征之一。
常用的颜色特征提取算法包括颜色直方图、颜色矩和颜色熵等。
颜色直方图表示图像中各个颜色在整个图像中的分布情况,颜色矩则用来描述颜色的均值和方差,而颜色熵则能反映出图像中颜色的分散程度。
2. 纹理特征提取算法:纹理是图像中重要的视觉特征之一,它可以用于区分不同的物体和图像结构。
常用的纹理特征提取算法包括局部二进制模式(Local Binary Patterns,LBP)、灰度共生矩阵(Gray Level Co-occurrence Matrix,GLCM)和Gabor 滤波器等。
这些算法可以通过计算图像中像素之间的灰度差异和方向来提取纹理特征。
3. 形状特征提取算法:形状是图像中表示物体和目标的结构特征。
常用的形状特征提取算法包括边缘检测、边界距离变换(Distance Transform)和Zernike矩等。
对于每个图像,可以通过计算一系列形状特征来描述其边界和形状。
三、基于机器学习的图像分类算法图像分类是指将具有相似特征的图像归到同一类别的任务。
基于机器学习的图像分类算法主要包括监督学习和无监督学习方法。
1. 监督学习算法:监督学习算法需要提供标记好的训练数据集,其中每个图像都有对应的标签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代机器学习理论大作业(基于深度学习的图像特征提取)基于深度学习的图像特征提取摘要:大数据时代的来临,为深度学习理论的发展创造了良好的条件。
本文介绍了深度学习的发展背景,主要讨论了深度学习中的自编码的方法,对自编码方法实现仿真应用,期望在以后能应用到SAR图像上进行自动特征提取,最后阐述该理论的目前遇到的困难。
关键词:深度学习autoencoder convolution pooling一引言机器学习是人工智能的一个分支,而在很多时候,几乎成为人工智能的代名词。
简单来说,机器学习就是通过算法,使得机器能从大量历史数据中学习规律,从而对新的样本做智能识别或对未来做预测。
从1980年代末期以来,机器学习的发展大致经历了两次浪潮:浅层学习(Shallow Learning)和深度学习(Deep Learning)。
第一次浪潮:浅层学习1980年代末期,用于人工神经网络的反向传播算法(也叫Back Propagation 算法或者BP算法)的发明,给机器学习带来了希望,掀起了基于统计模型的机器学习热潮。
这个热潮一直持续到今天。
人们发现,利用BP算法可以让一个人工神经网络模型从大量训练样本中学习出统计规律,从而对未知事件做预测。
这种基于统计的机器学习方法比起过去基于人工规则的系统,在很多方面显示出优越性。
这个时候的人工神经网络,虽然也被称作多层感知机(Multi-layer Perceptron),但实际上是一种只含有一层隐层节点的浅层模型。
90年代,各种各样的浅层机器学习模型相继被提出,比如支撑向量机(SVM,Support Vector Machines)、Boosting、最大熵方法(例如LR,Logistic Regression)等。
这些模型的结构基本上可以看成带有一层隐层节点(如SVM、Boosting),或没有隐层节点(如LR)。
这些模型在无论是理论分析还是应用都获得了巨大的成功。
相比较之下,由于理论分析的难度,加上训练方法需要很多经验和技巧,所以这个时期浅层人工神经网络反而相对较为沉寂。
2000年以来互联网的高速发展,对大数据的智能化分析和预测提出了巨大需求,浅层学习模型在互联网应用上获得了巨大成功。
最成功的应用包括搜索广告系统(比如Google的AdWords、百度的凤巢系统)的广告点击率CTR预估、网页搜索排序(例如Yahoo!和微软的搜索引擎)、垃圾邮件过滤系统、基于内容的推荐系统等。
2006年,加拿大多伦多大学教授、机器学习领域泰斗——Geoffrey Hinton和他的学生Ruslan Salakhutdinov在顶尖学术刊物《科学》上发表了一篇文章,开启了深度学习在学术界和工业界的浪潮。
这篇文章有两个主要的信息: 1. 很多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;2. 深度神经网络在训练上的难度,可以通过“逐层初始化(Layer-wise Pre-training)来有效克服,在这篇文章中,逐层初始化是通过无监督学习实现的。
第二次浪潮:深度学习自2006年以来,深度学习在学术界持续升温。
斯坦福大学、纽约大学、加拿大蒙特利尔大学等成为研究深度学习的重镇。
2010年,美国国防部DARPA计划首次资助深度学习项目,参与方有斯坦福大学、纽约大学和NEC美国研究院。
支持深度学习的一个重要依据,就是脑神经系统的确具有丰富的层次结构。
一个最著名的例子就是Hubel-Wiesel模型,由于揭示了视觉神经的机理而曾获得诺贝尔医学与生理学奖。
除了仿生学的角度,目前深度学习的理论研究还基本处于起步阶段,但在应用领域已显现出巨大能量。
2011年以来,微软研究院和Google的语音识别研究人员先后采用DNN技术降低语音识别错误率20%~30%,是语音识别领域十多年来最大的突破性进展。
2012年,DNN技术在图像识别领域取得惊人的效果,在ImageNet评测上将错误率从26%降低到15%。
在这一年,DNN还被应用于制药公司的Druge Activity预测问题,并获得世界最好成绩,这一重要成果被《纽约时报》报道。
今天Google、微软、百度等知名的拥有大数据的高科技公司争相投入资源,占领深度学习的技术制高点,正是因为它们都看到了在大数据时代,更加复杂且更加强大的深度模型能深刻揭示海量数据里所承载的复杂而丰富的信息,并对未来或未知事件做更精准的预测。
在工业界一直有个很流行的观点:在大数据条件下,简单的机器学习模型会比复杂模型更加有效。
例如,在很多的大数据应用中,最简单的线性模型得到大量使用。
而最近深度学习的惊人进展,促使我们也许到了要重新思考这个观点的时候。
简而言之,在大数据情况下,也许只有比较复杂的模型,或者说表达能力强的模型,才能充分发掘海量数据中蕴藏的丰富信息。
运用更强大的深度模型,也许我们能从大数据中发掘出更多有价值的信息和知识。
为了理解为什么大数据需要深度模型,先举一个例子。
语音识别已经是一个大数据的机器学习问题,在其声学建模部分,通常面临的是十亿到千亿级别的训练样本。
在Google的一个语音识别实验中,发现训练后的DNN对训练样本和测试样本的预测误差基本相当。
这是非常违反常识的,因为通常模型在训练样本上的预测误差会显著小于测试样本。
因此,只有一个解释,就是由于大数据里含有丰富的信息维度,即便是DNN这样的高容量复杂模型也是处于欠拟合的状态,更不必说传统的GMM声学模型了。
所以从这个例子中我们看出,大数据需要深度学习。
浅层模型有一个重要特点,就是假设靠人工经验来抽取样本的特征,而强调模型主要是负责分类或预测。
在模型的运用不出差错的前提下(如假设互联网公司聘请的是机器学习的专家),特征的好坏就成为整个系统性能的瓶颈。
因此,通常一个开发团队中更多的人力是投入到发掘更好的特征上去的。
要发现一个好的特征,就要求开发人员对待解决的问题要有很深入的理解。
而达到这个程度,往往需要反复地摸索,甚至是数年磨一剑。
因此,人工设计样本特征,不是一个可扩展的途径。
深度学习的实质,是通过构建具有很多隐层的机器学习模型和海量的训练数据,来学习更有用的特征,从而最终提升分类或预测的准确性。
所以“深度模型”是手段,“特征学习”是目的。
区别于传统的浅层学习,深度学习的不同在于: 1. 强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点; 2. 明确突出了特征学习的重要性,也就是说,同过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,使分类或预测更加容易。
与人工规则构造特征的方法相比,利用大数据来学习特征,更能刻画数据丰富的内在信息。
所以,在未来的几年里,我们将看到越来越多的例子:深度模型应用于大数据,而不是浅层的线性模型。
图像是深度学习最早尝试的应用领域。
早在1989年,Yann LeCun (现纽约大学教授) 和他的同事们就发表了卷积神经网络(Convolution Neural Networks,简称CNN)的工作。
CNN是一种带有卷积结构的深度神经网络,通常至少有两个非线性可训练的卷积层,两个非线性的固定卷积层(又叫Pooling Laye)和一个全连接层,一共至少5个隐含层。
CNN的结构受到著名的Hubel-Wiesel生物视觉模型的启发,尤其是模拟视觉皮层V1和V2层中Simple Cell和Complex Cell的行为。
在很长时间里,CNN虽然在小规模的问题上,如手写数字,取得过当时世界最好结果,但一直没有取得巨大成功。
这主要原因是,CNN在大规模图像上效果不好,比如像素很多的自然图片内容理解,所以没有得到计算机视觉领域的足够重视。
这个情况一直持续到2012年10月,Geoffrey Hinton和他的两个学生在著名的ImageNet问题上用更深的CNN取得世界最好结果,使得图像识别大踏步前进。
在Hinton的模型里,输入就是图像的像素,没有用到任何的人工特征。
这个惊人的结果为什么在之前没有发生?原因当然包括算法的提升,比如dropout等防止过拟合技术,但最重要的是,GPU带来的计算能力提升和更多的训练数据。
百度在2012年底将深度学习技术成功应用于自然图像OCR识别和人脸识别等问题,并推出相应的桌面和移动搜索产品,2013年,深度学习模型被成功应用于一般图片的识别和理解。
从百度的经验来看,深度学习应用于图像识别不但大大提升了准确性,而且避免了人工特征抽取的时间消耗,从而大大提高了在线计算效率。
可以很有把握地说,从现在开始,深度学习将取代“人工特征+机器学习”的方法而逐渐成为主流图像识别方法。
二深度学习中的sparse autoencoder2.1 sparse autoencoderDeep learning领域比较出名的一类算法——sparse autoencoder,即稀疏模式的自动编码。
sparse autoencoder是一种自动提取样本(如图像)特征的方法。
把输入层激活度(如图像)用隐层激活度表征,再把隐层信息在输出层还原。
这样隐层上的信息就是输入层的一个压缩过的表征,且其信息熵会减小。
并且这些表征很适合做分类器。
我们知道,deep learning也叫做无监督学习,所以这里的sparse autoencoder也应是无监督的。
如果是有监督的学习的话,在神经网络中,我们只需要确定神经网络的结构就可以求出损失函数的表达式了(当然,该表达式需对网络的参数进行”惩罚”,以便使每个参数不要太大),同时也能够求出损失函数偏导函数的表达式,然后利用优化算法求出网络最优的参数。
应该清楚的是,损失函数的表达式中,需要用到有标注值的样本。
那么这里的sparse autoencoder为什么能够无监督学习呢?难道它的损失函数的表达式中不需要标注的样本值(即通常所说的y值)么?其实在稀疏编码中”标注值”也是需要的,只不过它的输出理论值是本身输入的特征值x,其实这里的标注值y=x。
这样做的好处是,网络的隐含层能够很好的代替输入的特征,因为它能够比较准确的还原出那些输入特征值。
Sparse autoencoder的一个网络结构图如下所示:2.2 损失函数无稀疏约束时网络的损失函数表达式如下:稀疏编码是对网络的隐含层的输出有了约束,即隐含层节点输出的平均值应尽量为0,这样的话,大部分的隐含层节点都处于非激活状态。
因此,此时的sparse autoencoder损失函数表达式为:后面那项为KL距离,其表达式如下:隐含层节点输出平均值求法如下:其中的参数一般取很小,比如说0.05,也就是小概率发生事件的概率。
这说明要求隐含层的每一个节点的输出均值接近0.05(其实就是接近0,因为网络中激活函数为sigmoid函数),这样就达到稀疏的目的了。