Showing posts with label deep learning. Show all posts
Showing posts with label deep learning. Show all posts

Wednesday, April 10, 2019

Object Detection With Deep Neural Networks

Recently I red a series of papers about object detection using deep neural networks. Here is summary of the reading.

R-CNN: Region-based Convolutional Networks for Accurate Object Detection and Segmentation
用传统方法提出region proposal,train一个classifier和一个location regressor。classifier为了提高精度先用softmax train,然后fc层提出来的feature用svm fit,regressor单独作为一个network

用到了selective search生成proposal,从一个over-segmentation开始repeatedly merge similar regions. 然后每个region用传统的descriptor提feature,用bag-of-words model+ svm分类

Fast R-CNN


Faster R-CNN
提出一个region proposal network (RPN) 共享feature extraction的networks,不增加计算开销的情况下把上一版最耗时的region proposal步骤变成自动从network生成。

Saturday, November 4, 2017

Andrew Ng的AI新课程

Andrew Ng离开baidu后三件大事之一是成立deeplearning.ai,开设五门深度学习课程。网易云课堂搬运并翻译了前三门课。免费听一下,感觉课程内容虽然比较浅显偏engineering多一些,但总体还是质量颇高,收获不少,按照教学大纲总结如下 (慢慢更新)。

第一周  深度学习概论:

学习驱动神经网络兴起的主要技术趋势,了解现今深度学习在哪里应用、如何应用。

1.1  欢迎来到深度学习工程师微专业
ng秀中文,委托网易发布中文字幕版deeplearning.ai的课程。理念是希望培养成千上万人工智能人才,构建人工智能驱动的社会。
1.2  什么是神经网络?
介绍神经网络,house price prediction的例子,因为price不能为负所以曲线变成ReLU,很有意思的一个引出ReLU的方式,hiden unit 也称之为neuron。neural network就是stack neuron (like Lego brick) together toform a network.很直观。
1.3  用神经网络进行监督学习
几乎所有有价值的机器学习/神经网络技术都是supervised learning。也就是model一个x到y的映射函数。相对应的unsupervised learning,不存在y,只能指望data can tell something itself。
举了很多监督学习的例子
house price prediction用standard NN解决;image understanding,object detection这类问题用convolutional NN (CNN)解决;time series,or temporal sequence数据问题用Recurrent NN (RNN)解决;
structural data:房屋size等;unstructual data: audio/image/text, etc.

1.4  为什么深度学习会兴起?
因为数据量变大了,算法强了,计算资源强了。
举例:ReLU代替sigmoid。主要的优势在于sigmoid在两侧gradient几乎为0,导致gradient decent优化速度变慢。
interesting graph: idea ->code->experiments->idea... computation的提高导致这个iterative process加速,能带来更多更好结果。

1.5  关于这门课
简介五门课程和第一门课。
1.6  课程资源
鼓励上forum讨论问题。其他问题也可以联系deeplearning.ai。可以看出这个公司/机构的目的是培训为主,所以提到如果有公司需要培训hundreds of empolyees with deep learning expertise,可以联系他们,大学老师想开deep learning课的也可联系他们。



第二周  神经网络基础:

学习如何用神经网络的思维模式提出机器学习问题、如何使用向量化加速你的模型。

2.1  二分分类
2.2  logistic 回归
2.3  logistic 回归损失函数
2.4  梯度下降法
2.5  导数
2.6  更多导数的例子
2.7  计算图
2.8  计算图的导数计算
2.9  logistic 回归中的梯度下降法
2.10  m 个样本的梯度下降
2.11  向量化
2.12  向量化的更多例子
2.13  向量化 logistic 回归
2.14  向量化 logistic 回归的梯度输出
2.15  Python 中的广播
2.16  关于 python / numpy 向量的说明
2.17  Jupyter / Ipython 笔记本的快速指南
2.18  (选修)logistic 损失函数的解释


第三周  浅层神经网络:

学习使用前向传播和反向传播搭建出有一个隐藏层的神经网络。

3.1  神经网络概览
3.2  神经网络表示
3.3  计算神经网络的输出
3.4  多样本向量化
3.5  向量化实现的解释
3.6  激活函数
3.7  为什么需要非线性激活函数?
3.8  激活函数的导数
3.9  神经网络的梯度下降法
3.10  (选修)直观理解反向传播
3.11  随机初始化


第四周  深层神经网络:

理解深度学习中的关键计算,使用它们搭建并训练深层神经网络,并应用在计算机视觉中。

4.1  深层神经网络
4.2  深层网络中的前向传播
4.3  核对矩阵的维数
4.4  为什么使用深层表示
4.5  搭建深层神经网络块
4.6  前向和反向传播
4.7  参数 VS 超参数
4.8  这和大脑有什么关系?

Tuesday, April 29, 2014

[keep updating] Deep Learning

This is the buzzword in machine learning community recently. Let's start from a 101 article. http://markus.com/deep-learning-101/

Begin to read the tutorial:
http://ufldl.stanford.edu/wiki/index.php/UFLDL_Tutorial
Chinese version:
http://deeplearning.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B
and another one:
http://deeplearning.net/tutorial/gettingstarted.html#


open source code set:
http://deeplearning.net/software/theano/
introduce in Chinese
http://www.52ml.net/6.html
http://blog.csdn.net/mysee1989/article/details/11992535


先说一点直观感受,deep learning用了一段时间。
Motivation 是人的感知系统是hierarchical的,以视觉系统为例,底层的neuron负责检测local low-level features,比如边界,角点,纹理。高层的neuron负责在这些low-level特征基础上提取高级特征,最后形成high-level concept。
Neural Network在七八十年代红极一时。但后来逐渐被模型更简单的SVM取代。原因有:a. NN的parameter太多优化起来很难。b. 层数多了之后容易overfitting.
计算能力的爆炸性增长解决掉第一个问题(along with better optimization algorithm)第二个问题是优化过程中加入一些regularization来克服(e.g. sparsity).

convolutional neural network (CNN) 考虑到了spatial 局部性,底层向上层 计算时只考虑一定领域内的值,training的结果也就变成多个convolutional filter.好处是计算效率提高而且training的modle复杂度降低了。伴随来的是另一个概念max-pooling.可以看作是一个非线性的down-sampling. 一定领域内取最大值传递到上一层,领域之间是不重叠的。
max-pooling的好处是使得算法更robust,代价是丢失信息。