摘要: 1. 基础模型 A. Sequence to sequence model:机器翻译、语音识别。(1. Sutskever et. al., 2014. Sequence to sequence learning with neural networks. 2. Cho et. al., 2014. 阅读全文
posted @ 2018-05-20 13:58 ZonghaoChen 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文为博主原创文章,未经博主允许不得转载。 Kintinuous是Thomas Whelan在National University of Ireland Maynooth读博期间的工作,有四篇相关的论文(RSS RGB-D Workshop 2012,ICRA 2013,IROS 201 阅读全文
posted @ 2018-05-09 09:49 ZonghaoChen 阅读(1695) 评论(0) 推荐(0) 编辑
摘要: 1. Word representation One-hot representation的缺点:把每个单词独立对待,导致对相关词的泛化能力不强。比如训练出“I want a glass of orange juice”后,面对“I want a glass of apple ”,由于任何两个不同单 阅读全文
posted @ 2018-05-01 14:28 ZonghaoChen 阅读(650) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文为博主原创文章,未经博主允许不得转载。 纯视觉的三维重建(不考虑用结构光的那一类)常用的有两大类方法:一类是SfM,缺点是计算量比较大,做不到实时运行;另一类是KinectFusion为代表的用深度相机做实时重建,缺点是一般只能在室内小范围运行。REMODE(REgularized M 阅读全文
posted @ 2018-04-20 11:34 ZonghaoChen 阅读(2382) 评论(0) 推荐(0) 编辑
摘要: 1. Notations 循环序列模型的输入和输出都是时间序列。$x^{(i)<t>}$表示第$i$个输入样本的第$t$个元素,$T_x^{(i)}$表示输入的第$i$个样本的元素个数;$y^{(i)<t>}$表示第$i$个样本的输出的第$t$个元素,$T_y^{(i)}$表示第$i$个样本的输出的 阅读全文
posted @ 2018-04-06 17:14 ZonghaoChen 阅读(1033) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文为博主原创文章,未经博主允许不得转载。 SVO(Semi-direct Visual Odometry)[1]顾名思义是一套视觉里程计(VO)算法。相比于ORB-SLAM,它省去了回环检测和重定位的功能,不追求建立、维护一个全局地图,更看重tracking的效果,追求高计算速度、低CP 阅读全文
posted @ 2018-02-20 00:45 ZonghaoChen 阅读(4535) 评论(2) 推荐(0) 编辑
摘要: 版权声明:本文为博主原创文章,未经博主允许不得转载。 ORB-SLAM[1]完全继承了PTAM(http://www.cnblogs.com/zonghaochen/p/8442699.html)的衣钵,并做出了两点巨大改进:1)实时回环检测;2)很鲁棒的重定位。为了实现这两点改进,ORB-SLAM 阅读全文
posted @ 2018-02-11 22:21 ZonghaoChen 阅读(9116) 评论(0) 推荐(0) 编辑
摘要: 版权声明:本文为博主原创文章,未经博主允许不得转载。 本系列文章旨在总结主流视觉SLAM算法的框架,对比各个算法在子模块的差异,最终提炼出融合各个算法优点的架构。 PTAM[1]是视觉SLAM领域里程碑式的项目。在此之前,MonoSLAM[2]为代表的基于卡尔曼滤波的算法架构是主流,它用单个线程逐帧 阅读全文
posted @ 2018-02-11 17:16 ZonghaoChen 阅读(7327) 评论(0) 推荐(2) 编辑
摘要:   版权声明:本文为博主原创文章,未经博主允许不得转载。   三维重建是指获取真实物体的三维外观形貌,并建立可复用模型的一种技术。它是当下计算机视觉的一个研究热点,主要有三方面的用途:1)相比于二维图像,可以获取更全面的几何信息;2)在VR/AR中,建立真实和 阅读全文
posted @ 2018-01-21 22:32 ZonghaoChen 阅读(18046) 评论(0) 推荐(1) 编辑
摘要: (没太听明白,以后再听) 1. 如何欺骗神经网络? 这部分研究最开始是想探究神经网络到底是如何工作的。结果人们意外的发现,可以只改变原图一点点,人眼根本看不出变化,但是神经网络会给出完全不同的答案。比如下图,左边的熊猫被识别成熊猫,但是加上中间的小“噪音”一样的数值,右图的熊猫就识别不出来了。而且这 阅读全文
posted @ 2017-12-10 21:53 ZonghaoChen 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 讲课嘉宾是Song Han,个人主页 Stanford:https://stanford.edu/~songhan/;MIT:https://mtlsites.mit.edu/songhan/。 1. 深度学习面临的问题: 1)模型越来越大,很难在移动端部署,也很难网络更新。 2)训练时间越来越长, 阅读全文
posted @ 2017-12-10 20:29 ZonghaoChen 阅读(267) 评论(0) 推荐(0) 编辑
摘要: (没太听明白,下次重新听) 1. 增强学习 有一个 Agent 和 Environment 交互。在 t 时刻,Agent 获知状态是 st,做出动作是 at;Environment 一方面给出 Reward 信号 rt,另一方面改变状态至 st+1;Agent 获得 rt 和 st+1。目标是 A 阅读全文
posted @ 2017-12-10 18:59 ZonghaoChen 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 1. 非监督学习 监督学习有数据有标签,目的是学习数据和标签之间的映射关系。而无监督学习只有数据,没有标签,目的是学习数据额隐藏结构。 2. 生成模型(Generative Models) 已知训练数据,根据训练数据的分布(distribution)生成新的样例。 无监督学习中的一个核心问题是估计分 阅读全文
posted @ 2017-12-09 16:52 ZonghaoChen 阅读(669) 评论(0) 推荐(0) 编辑
摘要: 这一节课很零碎。 1. 神经网络到底在干嘛? 浅层的是具体的特征(比如边、角、色块等),高层的更抽象,最后的全连接层是把图片编码成一维向量然后和每一类标签作比较。如果直接把图片和标签做像素级的最近领域分类,误差很大,但是转成编码之后就准多了。 可以用PCA可视化最后一层的特征,深度学习领域更高阶的做 阅读全文
posted @ 2017-12-09 12:11 ZonghaoChen 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1. Semantic Segmentation 把每个像素分类到某个语义。 为了减少运算量,会先降采样再升采样。降采样一般用池化层,升采样有各种“Unpooling”、“Transpose Convolution”(文献中也叫“Upconvolution”之类的其他名字)。 这个问题的训练数据的获 阅读全文
posted @ 2017-12-07 22:24 ZonghaoChen 阅读(301) 评论(0) 推荐(0) 编辑
摘要: (没太听明白,下次重新听一遍) 1. Recurrent Neural Networks 阅读全文
posted @ 2017-12-07 20:38 ZonghaoChen 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 参考《deeplearning.ai 卷积神经网络 Week 2 听课笔记》。 1. AlexNet(Krizhevsky et al. 2012),8层网络。 学会计算每一层的输出的shape:对于卷积层,输出的边长 =(输入的边长 - filter的边长)/ 步长 + 1,输出的通道数等于fil 阅读全文
posted @ 2017-12-06 22:27 ZonghaoChen 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 本周课程的主题是两大应用:人脸检测和风格迁移。 1. Face verification vs. face recognition Verification: 一对一的问题。 1) 输入:image, name/ID. 2) 输出:image是否对应这个name/ID。 Recognition: 一 阅读全文
posted @ 2017-12-02 15:12 ZonghaoChen 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 本周的主题是对象检测(object detection):不但需要检测出物体(image classification),还要能定位出在图片的具体位置(classification with localization),而且要能处理图片中的多个物体(detection)。 1. 例子:无人驾驶中确定 阅读全文
posted @ 2017-11-30 21:18 ZonghaoChen 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 1. Case study:学习经典网络的原因是它们可以被迁移到其他任务中。 1.1)几种经典的网络: a)LeNet-5(LeCun et al., 1998. Gradient-based learning applied to document recognition,NG建议重点读II部分, 阅读全文
posted @ 2017-11-28 14:45 ZonghaoChen 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 1. 传统的边缘检测(比如Sobel)手工设计了3*3的filter(或者叫kernel)的9个权重,在深度学习中,这9个权重都是学习出来的参数,会比手工设计的filter更好,不但可以提取90度、0度的边缘,也可以提取出任意朝向的边缘(比如73度)。把这9个权重当成参数的思想已经成为计算机视觉中最 阅读全文
posted @ 2017-11-25 19:50 ZonghaoChen 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 1. 误差分析(Error analysis) 误差分析的目的是找到不同误差源的比重,从而指引我们接下来往哪个方向努力改进。NG建议手工统计随机100个错误的误差源,比如对于猫分类器,错误的照片可能是1)狗;2)大型猫科动物;3)图像模糊。那么可以建立下面的表格: 在统计过程中发现新的误差源,则添一 阅读全文
posted @ 2017-11-19 20:56 ZonghaoChen 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 这门课是讲一些分析机器学习问题的方法,如何更快速高效的优化机器学习系统,以及NG自己的工程经验和教训。 1. 正交化(Othogonalization) 设计机器学习系统时需要面对一个问题是:可以尝试和改变的东西太多太多了。牛逼的机器学习专家很清楚自己要调什么以达到什么目的,这个调参和效果一一对应的 阅读全文
posted @ 2017-11-18 17:38 ZonghaoChen 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 这一周的主体是调参。 1. 超参数:No. 1最重要,No. 2其次,No. 3其次次。 No. 1学习率α:最重要的参数。在log取值空间随机采样。例如取值范围是[0.001, 1],r = -4*np.random.rand(), α = 10r。 No. 2 Momentum β:0.9是个不 阅读全文
posted @ 2017-11-11 14:41 ZonghaoChen 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 这一周的主题是优化算法。 1. Mini-batch: 上一门课讨论的向量化的目的是去掉for循环加速优化计算,X = [x(1) x(2) x(3) ... x(m)],X的每一个列向量x(i)是一个样本,m是样本个数。但当样本很多时(比如m=500万),向量化依然不能解决问题。所以提出了mini 阅读全文
posted @ 2017-11-07 14:10 ZonghaoChen 阅读(420) 评论(0) 推荐(0) 编辑
摘要: 1. 应用机器学习是高度依赖迭代尝试的,不要指望一蹴而就,必须不断调参数看结果,根据结果再继续调参数。 2. 数据集分成训练集(training set)、验证集(validation/development set)、测试集(test set)。 对于传统的机器学习算法,数据量(比如100、100 阅读全文
posted @ 2017-11-05 21:32 ZonghaoChen 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 1. CPU vs. GPU: CPU核心少(几个),更擅长串行任务。GPU有很多核心(几千个),每一个核都弱,有自己的内存(几个G),很适合并行任务。GPU最典型的应用是矩阵运算。 GPU编程:1)CUDA,只能在英伟达;2)OpenCL类似CUDA,好处是可以跑在任何平台上,但相对慢一些。深度学 阅读全文
posted @ 2017-11-05 13:20 ZonghaoChen 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很大的loss function,一个方向梯度变化明显,另一个方向梯度变化很缓慢,SGD在优化过程中会 阅读全文
posted @ 2017-11-04 22:31 ZonghaoChen 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 1. 激活函数: 1)Sigmoid,σ(x)=1/(1+e-x)。把输出压缩在(0,1)之间。几个问题:(a)x比较大或者比较小(比如10,-10),sigmoid的曲线很平缓,导数为0,在用链式法则的时候,后一层传回来的导数乘以sigmoid的导数也是0了,换句话说,对于sigmoid饱和的区域 阅读全文
posted @ 2017-11-02 21:45 ZonghaoChen 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 本文使根据CS231n的讲义整理而成(http://cs231n.github.io/python-numpy-tutorial/),以下内容基于Python3。 1. 基本数据类型:可以用 print(type(x)) 查看类型 1)整数、浮点数: 幂:x**y等价于pow(x, y); 不支持 阅读全文
posted @ 2017-11-01 08:49 ZonghaoChen 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 1. print大法 2. math和numpy的区别:math只对单个元素,numpy会broadcasting。 3. 定义函数 4. shape和reshape:array的维度是从最外层[]开始数,最外层[]的元素数量就是第一个维度的大小,最内层[]的元素数量是最后一个维度的大小。array 阅读全文
posted @ 2017-10-26 22:39 ZonghaoChen 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: 1. 计算深度神经网络的时候,尽量向量化数据,不要用for循环。唯一用for循环的地方是依次在每一层做计算。 2. 最常用的检查代码是否有错的方法是检查算法中矩阵的维度。 正向传播: 对于单个样本,第i层网络 z[i] = W[i]a[i-1] + b[i], a[i] = f[i](z[i])。 阅读全文
posted @ 2017-10-25 19:57 ZonghaoChen 阅读(421) 评论(0) 推荐(0) 编辑
摘要: 1. 第i层网络 Z[i] = W[i]A[i-1] + B[i],A[i] = f[i](Z[i])。 其中, W[i]形状是n[i]*n[i-1],n[i]是第i层神经元的数量; A[i-1]是第i-1层的神经元,形状是n[i-1]*p,p是样本数量; B[i]形状是n[i]*p,B[i]的每一 阅读全文
posted @ 2017-10-24 21:42 ZonghaoChen 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 1. Logistic回归是用于二分分类的算法。 对于m个样本的训练集,我们可能会习惯于使用for循环一个个处理,但在机器学习中,是把每一个样本写成一个列向量x,然后把m个列向量拼成一个矩阵X。这个矩阵是nx*m大小,nx是每个样本的特征数量,m是样本个数,X.shape=(nx,m)。也可以把特征 阅读全文
posted @ 2017-10-22 14:47 ZonghaoChen 阅读(303) 评论(0) 推荐(0) 编辑
摘要: Geoffrey Hinton 1. 怀揣着对大脑如何存储记忆的好奇,Hinton本科最开始学习生物学和物理学,然后放弃,转而学习哲学;然后觉得哲学也不靠谱,转而学习心理学;然后觉得心理学在解释大脑运作方面也不给力,转而做了一段时间木匠(木匠?!木匠是什么鬼。。。要不要这么洒脱!),然后决定去试一试 阅读全文
posted @ 2017-10-21 14:56 ZonghaoChen 阅读(561) 评论(0) 推荐(2) 编辑
摘要: 1. 预测房价、广告点击率:典型的神经网络,standard NN。 图像:卷积神经网络,CNN。 一维序列数据,如音频,翻译:循环神经网络,RNN。 无人驾驶,涉及到图像、雷达等更多的数据类型:混合的神经网络。 2. 结构化数据:数据的数据库,每一种特征都有明确的定义,如预测房价、广告点击率。目前 阅读全文
posted @ 2017-10-19 21:46 ZonghaoChen 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 1. 之前课程里,一个32*32*3的图像被展成3072*1的向量,左乘大小为10*3072的权重矩阵W,可以得到一个10*1的得分,分别对应10类标签。 在Convolution Layer里,图像保持原样,依旧是32*32*3,把它和一个5*5*3的filter进行卷积运算(filter和原图像 阅读全文
posted @ 2017-10-17 21:25 ZonghaoChen 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 1. Backpropagation:沿着computational graph利用链式法则求导。每个神经元有两个输入x、y,一个输出z,好多层这种神经元连接起来,这时候已知∂L/∂z,可以求出∂L/∂x = ∂L/∂z * ∂z/∂x,∂L/∂y = ∂L/∂z * ∂z/∂y。靠这种方式可以计算 阅读全文
posted @ 2017-10-15 21:27 ZonghaoChen 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 1. Loss function是用来量化评估当前预测的好坏,loss function越小表明预测越好。 几种典型的loss function: 1)Multiclass SVM loss:一般的SVM是针对0、1两类标签,现在是把它拓展到n类标签。它的物理意义是:现在要预测一个样本的标签,根据之 阅读全文
posted @ 2017-10-14 22:30 ZonghaoChen 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 1. 相比于传统的人工提取特征(边、角等),深度学习是一种Data-Driven Approach。深度学习有统一的框架,喂不同的数据集,可以训练识别不同的物体。而人工提取特征的方式很脆弱,换一个物体就要重新设计特征。 2. 描述图像之间相似程度,可以直接把每个对应像素做减法,然后把差的绝对值累加起 阅读全文
posted @ 2017-10-12 22:39 ZonghaoChen 阅读(190) 评论(0) 推荐(0) 编辑