1.1 学习深度学习可以刷斯坦福大学视频
cs231n:计算机视觉概述
cs131:深度学习与自然语言
cs231a:较为全面,3D建模
1.2 计算机发展历程与cs231n课程整体概况
眼睛进化->机器加入视觉->机器学习->深度学习
1.3 课程背景
从图像分类出发,Image比赛尤为值得关注。
AlexNet(7层)->VGG(19层)->残差(152层),网络结构层次越来越多,准确率越来越好。
CNN于2012年取得突破,对于CNN之后将重点讲述,并讲解算法深层架构理解,如何实现以及训练完成。
http://cs231n.standford.edu/
2.1 图像分类&数据驱动方法(python+Numpy)
图像分类:计算机视觉真正核心的任务以及当前研究重点
语义鸿沟:你看到的图片和计算机看到的阵列,例如800*600*3(RGB三通道)
挑战:背景模糊、物体形变、遮挡。。。
已经实现的:计算边缘->写一些规则识别(不易实现)
如今的步骤:抓取一些有标签的图片数据集->用机器学习(训练、预测函数)去训练分类->评估用于新图像的分类
实现K-近邻以及线性分类器SVM和softmax
自己设计两层神经网络并实现
常见数据集( 图像类):
1、MNIST:链接 http://yann.lecun.com/exdb/mnist/
描述:手写数字识别,深度学习入门级数据集。包含60000个训练数据及10000个测试数据,可分为10类
2、MS-COCO:链接 http://cocodataset.org/#home
描述:各个论文中常用数据集之一,可用于图像分割,边缘检测,关键点检测及图像捕获
3、ImageNet:链接 http://www.image-net.org/
描述:最有名的图像数据集之一,目前比较常用的模型如VGG、Inception、Resnet都是基于它训练的。
4、Open Image Dataset:链接 https://github.com/openimages/dataset#download-the-data
描述:一个包含近900万个图像URL的数据集。 这些图像拥有数千个类别及边框进行了注释。 该数据集包含9,011219张图像的训练集,41,260张图像的验证集以及125,436张图像的测试集。
5、VisualQA:链接 http://www.visualqa.org/
描述:关于图像的问答系统数据集
6、The Street View House Numbers(SVHN):链接 http://ufldl.stanford.edu/housenumbers/
描述:门牌号数据集,可用来做物体检测与识别
7、CIFAR-10:链接 http://www.cs.toronto.edu/~kriz/cifar.html
描述:有名的图像识别数据集,包含 50000张训练数据,10000张测试数据,可分为10类
8、Fashion-MNIST:链接 https://github.com/zalandoresearch/fashion-mnist
描述: 包含60000训练样本和10000测试样本的用于服饰识别的数据集,可分为10类
#最近邻分类器的完整代码
import numpy as np
class NearestNeighbor:
def _init_(self):
pass
def train(self,X,y)
self.Xtr = X
self.ytr = y
def predict(self,X):
num_test = X.shape[0]
Ypred = np.zeros(num_test,dype = self.ytr.dtype)
for i in xrange(num_test):
distances = np.sum(np.abs(self.Xtr-X[i:]),axis=1)#L1距离
min_index = np.argmin(distances)
Ypred[i] = self.ytr[min_index]
return Yread
2.2 K-近邻&KNN
L1距离 曼哈顿距离 求绝对值之和
L2距离 欧式距离 求平方和的平方根
训练集+测试集+验证集
监督学习(贴有标签)
KNN:不适合图像之间视觉感知的差异、维度问题
2.3 线性分类
线性分类器+多分类。。。
3.1 损失函数和优化损失函数
度量损失函数
softmax->转化_->log p
归一化:标准化+中心化
正则化->过拟合->测试数据
3.2 优化
概念:最优化->随机搜索
斜率->导数->梯度(负)
超参数:学习率/步长、误差函数、损失误差、梯度下降法、图像特征
分类器:原始像素载入SVM进行分类
深度学习:特征表述 传入SVM 特征转换
负梯度方向->最小损失
正则化:减轻模型复杂度,不是去试图拟合数据
多类别分类SVM
欧式范数