计算机视觉
hello_pig1995
日有所进
展开
-
Try to play theano
execution speed optimizations: Theano can use g++ or nvcc to compile parts your expression graph into CPU or GPU instructions, which run much faster than pure Python. symbolic differentiation: Theano c原创 2016-07-23 15:56:44 · 247 阅读 · 0 评论 -
CS231n Image Classification: Data-driven Approach, k-Nearest Neighbor, train/val/test splits
知识性的内容主要的增加: 1.对于knn算法有FLANN - Fast Library for Approximate Nearest Neighbors 等开源的高效函数库可以使用。可以读读源代码,应该很有意思。 http://www.cs.ubc.ca/research/flann/ 2.对于高维数据的可视化t-SNE,能够将高维图片根据L2距离在二维平面上进行展示。 http://l原创 2016-08-12 23:42:49 · 565 阅读 · 0 评论 -
UFLDL sparse coding ICA RICA[待更]
Reference: 目前先不打算看sparse coding,所以留待以后再看原创 2016-08-11 23:40:16 · 522 阅读 · 0 评论 -
CS231n Putting it together: Minimal Neural Network Case Study —— nn with softmax loss
加一层非线性,相比于单纯的softmax,效果立马就好了啊。import numpy as np import matplotlib.pyplot as pltN = 100; D = 2; K = 3;X = np.zeros((N*K,D)) y = np.zeros(N*K,dtype = 'uint8')for j in xrange(K): ix = range(N*j,N*(j+原创 2016-08-23 23:39:29 · 916 阅读 · 0 评论 -
CS231n Putting it together: Minimal Neural Network Case Study —— softmax
模型不够复杂在这个例子中,首先先来看一下比较简单的线性softmax。 首先按照原来的数据进行测试,基本上是50%的正确率左右,但是稍微动一动数据有以下的变化,关键在于点集合的生成。首先点集合的生成是由r和t来控制的,X的生成是控制三角函数的位置,如果r调整合适的话,其实X是可以成为一个很规矩的圆的。r则是半径。对于最后的结果由集中不同的调整方式,后面的softmax的bp过程自己推一下差不多了。原创 2016-08-23 20:37:39 · 696 阅读 · 0 评论 -
UFLDL Sparse Autoencoder
Reference: [1]http://www.stanford.edu/class/cs294a/cs294a_2011-assignment.pdf [2]http://nlp.stanford.edu/~socherr/sparseAutoencoder_2011new.pdf [3]http://www.cnblogs.com/tornadomeet/archive/2013/03/原创 2016-08-11 15:55:18 · 561 阅读 · 0 评论 -
CS231n Neural Networks Part 3: Learning and Evaluation Babysitting the learning process
1.Loss function 如果是mini-batch,那么loss一般是抖动下降的,对于不同的lr有着不同的loss下降的曲线。2.Train/Val accuracy 不同的acc曲线对应着不同的含义,比如说一般来说epoch上升,acc也会上升,但是如果过拟合了,acc在val会下降。3.Ratio of weights:updates 如果将grad和weights变成向量,那么两原创 2016-08-22 23:41:22 · 785 阅读 · 0 评论 -
CS231n Neural Networks Part 3: Learning and Evaluation sanity checks Tips/Tricks
1.loss without regularization 首先一个样本输入网络,最开始基本上概率或者激活是平均分的,我们可以预测loss,那么就根据loss来判断是否网络在不加上正则化的时候是正常的2.loss with regularization 增加regularization,我们也可以根据网络的参数的多少和均值等估计出来正则化项的大小。3.subset of data 使用一个小数原创 2016-08-22 17:03:22 · 512 阅读 · 0 评论 -
CS231n Neural Networks Part 3: Learning and Evaluation Gradient Checks
本来我觉得Gradient Check应该没什么内容,但是后来发现其实还是有些东西的。首先先来看看CS229的梯度检查,对于梯度检查其实有这么几点是需要注意的,首先就是精度问题,最好使用double来进行计算,而且其实有很多坑。1.参数数量太多 比如说,计算梯度的时候,参数数量太大,之前有一次计算梯度的时候,首先向量化所有的梯度,然后单独计算,但是这样的计算方式效率太低,比如说一个参数矩阵中,可能原创 2016-08-22 16:48:15 · 622 阅读 · 0 评论 -
CS231n Neural Networks Part 2: Setting up the Data and the Loss
Data preprocessingPCA的前几个主要成分是低频的,全局性的。 pitfall:在subtraction mean的时候,是要计算training data的mean,而不是所有数据的mean PCA可能的一个问题,是在wighten的过程中,可能会放大其noise,比如说某一个维度本来就很小,而且std也很小,那么wighten之后,其实就会扩大这一维度的scale。Weigh原创 2016-08-21 23:35:54 · 601 阅读 · 0 评论 -
ConvNetJs
发现一个很神奇的网站:http://cs.stanford.edu/people/karpathy/convnetjs/index.html使用浏览器的js来直接训练网络,excited! 代码在:https://github.com/karpathy/convnetjs1.intro页intro页的几个实验都很有意思,发现几个神奇的地方比如说在1d的回归上,有时候添加一个点,那么分界线就有可能有原创 2016-08-21 22:15:55 · 2342 阅读 · 0 评论 -
Momentum和lr关系
Reference: [1]https://zhuanlan.zhihu.com/p/21475880其是主要的因素我认为其实是历史因素综合对于现在的因素产生影响,那么可能有这样的优点: 如ref[1],就是由于在某个方向波动过大,因此可以通过这样的方式来综合历史因素,然后使得其相对平稳。那么对于当前的梯度来说,就受其影响相当小。可以说是之前的训练样本阴魂不散。或者可以说是batch GD的一个原创 2016-08-09 23:05:16 · 1294 阅读 · 0 评论 -
CS231n Neural Networks Part 1: Setting up the Architecture
有这么几个有意思的知识1.sigmoid,tanh,relu,prelu以及maxout,不同的激活函数2.the deeper the better? 更深层次意味着更好的抽象。假设这个世界是可以用参数刻画的,我们能够做的是需要从数据中提取出来参数是什么,但是参数的数量和层级我们是不清楚的,就好象我们不能假设存在一组参数能够一次性的产生所有数据,还是参数也产生参数,所以从这个角度出发,我们估计的原创 2016-08-19 21:39:08 · 506 阅读 · 0 评论 -
CS231n A Few Useful Things to Know about Machine Learning
CS231n的第一个module的第一个further reading是这篇文章,这篇文章写了一些机器学习中容易被忽视的点或者说是“妖术“(black art)。1.LEARNING = REPRESENTATION + EVALUATION + OPTIMIZATION 要明白如何去表示,如何去评价,如何去优化。 作者列举了一些不同的Representation Evaluation Opti原创 2016-08-13 11:51:53 · 837 阅读 · 0 评论 -
link to SIFT算法
http://blog.csdn.net/jared_lau/article/details/47907443转载 2016-06-30 19:51:51 · 343 阅读 · 0 评论 -
Faster RCNN generate_anchors.py
Reference: [1]https://github.com/rbgirshick/py-faster-rcnn/blob/master/lib/rpn/generate_anchors.py事实上,在generate anchors的时候有两个步骤 步骤一:保持anchor的面积不变,但是改变长宽的比例。 步骤二:保持长宽的比例不变,但是进行scale的缩放,从而改变比例。 不论哪一步原创 2016-10-07 15:54:44 · 2593 阅读 · 3 评论