深度学习与计算机视觉
文章平均质量分 87
本专栏专注于深度学习在计算机视觉领域的技术,针对图像识别等问题,从传统的SVM与逻辑回归分类器,到卷积神经网络/深度学习的技术细节。欢迎大家关注和提意见。
寒小阳
对机器学习/数据挖掘/算法感兴趣,并从事相关工作。『我们是一群热爱机器学习,喜欢交流分享的小伙伴,希望通过“ML学分计划”交流机器学习相关的知识,认识更多的朋友。Q_Q群号 : 2000人群169492443(已满), 2000人群564538990(已满), 2000人群285273721,从业和研究人员请加群472059892,欢迎加入获取资料,分享和讨论相关知识』
展开
-
深度学习与计算机视觉(11)_基于deep learning的快速图像检索系统
本系统是基于CVPR2015的论文《Deep Learning of Binary Hash Codes for Fast Image Retrieval》实现的海量数据下的基于内容图片检索系统,250w图片下,对于给定图片,检索top 1000相似时间约为1s,其基本背景和原理会在下文提到。2.基本问题与技术大家都知道,基于内容的图像检索系统是根据图像的内容,在已有图像集中找到最『相近』的图片。而这类系统的原创 2016-03-11 15:46:12 · 56822 阅读 · 37 评论 -
深度学习与计算机视觉系列(10)_细说卷积神经网络
前面九讲对神经网络的结构,组件,训练方法,原理等做了介绍。现在我们回到本系列的核心:计算机视觉,神经网络中的一种特殊版本在计算机视觉中使用最为广泛,这就是大家都知道的卷积神经网络。卷积神经网络和普通的神经网络一样,由『神经元』按层级结构组成,其间的权重和偏移量都是可训练得到的。同样是输入的数据和权重做运算,输出结果输入激励神经元,输出结果。从整体上看来,整个神经网络做的事情,依旧是对于像素级别输入的图原创 2016-01-19 19:27:09 · 75325 阅读 · 25 评论 -
深度学习与计算机视觉系列(9)_串一串神经网络之动手实现小例子
前面8小节,算从神经网络的结构、简单原理、数据准备与处理、神经元选择、损失函数选择等方面把神经网络过了一遍。这个部分我们打算把知识点串一串,动手实现一个简单的2维平面神经网络分类器,去分割平面上的不同类别样本点。为了循序渐进,我们打算先实现一个简单的线性分类器,然后再拓展到非线性的2层神经网络。我们可以看到简单的实现,能够有分隔程度远高于线性分类器的效果。原创 2016-01-15 01:01:52 · 29809 阅读 · 15 评论 -
深度学习与计算机视觉系列(8)_神经网络训练与注意点
在前一节当中我们讨论了神经网络静态的部分:包括神经网络结构、神经元类型、数据部分、损失函数部分等。这个部分我们集中讲讲动态的部分,主要是训练的事情,集中在实际工程实践训练过程中要注意的一些点,如何找到最合适的参数。原创 2016-01-15 00:52:01 · 54781 阅读 · 13 评论 -
深度学习与计算机视觉系列(7)_神经网络数据预处理,正则化与损失函数
1. 引言上一节我们讲完了各种激励函数的优缺点和选择,以及网络的大小以及正则化对神经网络的影响。这一节我们讲一讲输入数据预处理、正则化以及损失函数设定的一些事情。2. 数据与网络的设定前一节提到前向计算涉及到的组件(主要是神经元)设定。神经网络结构和参数设定完毕之后,我们就得到得分函数/score原创 2016-01-03 16:43:01 · 62833 阅读 · 14 评论 -
深度学习与计算机视觉系列(6)_神经网络结构与神经元激励函数
1.2 单个神经元的分类作用以sigmoid函数作为神经元的激励函数为例,这个大家可能稍微熟悉一点,毕竟我们逻辑回归部分重点提到了这个非线性的函数,把输入值压缩成0-1之间的一个概率值。而通过这个非线性映射和设定的阈值,我们可以把空间切分开,分别对应正样本区域和负样本区域。而对应回现在的神经元场景,我们如果稍加拟人化,可以认为神经元具备了喜欢(概率接近1)和不喜欢(概率接近0)线性划分的某个空间区域的能力。这也就原创 2016-01-16 17:57:38 · 58609 阅读 · 14 评论 -
深度学习与计算机视觉系列(5)_反向传播与它的直观理解
其实一开始要讲这部分内容,我是拒绝的,原因是我觉得有一种写高数课总结的感觉。而一般直观上理解反向传播算法就是求导的一个链式法则而已。但是偏偏理解这部分和其中的细节对于神经网络的设计和调整优化又是有用的原创 2016-01-16 17:17:19 · 45422 阅读 · 16 评论 -
深度学习与计算机视觉系列(4)_最优化与随机梯度下降
上一节深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器中提到两个对图像识别至关重要的概念:用于把原始像素信息映射到不同类别得分的得分函数/score function用于评估参数W效果(评估该参数下每类得分和实际得分的吻合度)的损失函数/loss function这节我们就讲讲,怎么得到这个合适的参数W,使得损失函数取值最小化。也就是最优化的过程。原创 2015-12-04 18:58:03 · 35714 阅读 · 12 评论 -
深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器
这个部分我们介绍一类新的分类器方法,而对其的改进和启发也能帮助我们自然而然地过渡到深度学习中的卷积神经网。有两个重要的概念:得分函数/score function:将原始数据映射到每个类的打分的函数损失函数/loss function:用于量化模型预测结果和实际结果之间吻合度的函数在我们得到损失函数之后,我们就将问题转化成为一个最优化的问题,目标是得到让我们的损失函数取值最小的一组参数。原创 2015-11-23 19:11:26 · 67690 阅读 · 16 评论 -
深度学习与计算机视觉系列(2)_图像分类与KNN
图像分类问题这是很久以前就引起关注的一类图像相关问题。 对于一张输入的图片,要判定它属于给定的一些标签/类别中的哪一个。看似很简单的一个问题,这么多年却一直是计算机视觉的一个核心问题。应用场景也非常之多,它的重要性还体现在,其实其他的一些计算机视觉的问题(比如说物体识别、图像内容分割等)都可以基于它去完成。举个例子说说这个问题哈。 计算机拿到如下的一张图片,然后需要给出它对应{猫,狗,帽子,杯子原创 2015-11-20 17:16:17 · 52586 阅读 · 18 评论 -
深度学习与计算机视觉系列(1)_基础介绍
为了简单易读易懂,这个系列中绝大多数的代码都使用python完成。这里稍微介绍一下python和Numpy/Scipy(python中的科学计算包)的一些基础。python是一种长得像伪代码,具备高可读性的编程语言。 优点挺多:可读性相当好,写起来也简单,所想立马可以转为实现代码,且社区即为活跃,可用的package相当多;缺点:效率一般。原创 2015-11-17 00:14:11 · 31885 阅读 · 24 评论