CS231N课程笔记

本文介绍了目标识别的挑战和ImageNet数据集,强调了深度学习在图像识别中的作用,特别是2012年的CNN和2015年的Residual Networks。讨论了机器学习算法、数据驱动策略、KNN算法、损失函数、正则化以及CNN和RNN在网络架构中的应用,还涵盖了梯度爆炸和消失问题、LSTM以及生成式模型如GANs。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

object recognition目标识别

PASCAL Visual Object Challenge 20类

机器学习算法:图模型、SVM、AdaBoost都很容易过拟合,因为数据维度太高,参数需要优化,训练数据集不足

ImageNet:WordNet字典进行排序,22k类别,14m图片

挑战赛:1k类,1.4m图片

top5:输出概率最大的五个类别中有正确的对象认为识别成功

应用:目标检测、行为分类、图像注释image captioning

2012年CNN,2015 Residual Network残差网络 152层

Numpy:数值计算,向量化张量

数据驱动策略:训练函数,预测函数

KNN

L1距离:曼哈顿距离,距离绝对值的和,适用于某些值有特殊意义

L2距离:欧式距离,平方和的平方根,适用于空间中的通用向量

nearest neighbor classifier:最近邻算法,训练复杂度O(1),预测复杂度O(n)

k-nearest neighbors:k近邻算法,根据距离找到最近的k个点,由投票结果作预测,k值越大越平滑(加权)

超参数不一定能从训练数据中学习到,既不要选择仅在训练集上表现良好的超参,也不要选择只在测试集上表现良好的超参

在小数据集上采用k折交叉验证

统计学假设:数据互相独立,服从同一分布

L1依赖于坐标系统,向量中的元素代表不同特征

损失函数

数据驱动

参数矩阵W对应一个分类模板

损失函数:估计W好坏的函数

通常使用很小的随机值初始化W

合页损失函数hinge loss,SVM:线性分类器(Wx + b)得到类别的得分,max(0,yi - y + 1)

正则化:减小模型复杂度,奥卡姆剃刀,拟合测试数据

损失函数包括数据丢失项和正则项,超参数用来平衡这两项,前一项用于拟合数据,正则项可以让模型幂次数降低

L2正则化,欧式范数,倾向于W的整体分布,元素具有较小的复杂性

L1正则化,倾向于稀疏,大部分W元素接近0,非零元素的个数

多项式逻辑回归,softmax:线性分类器(Wx + b)得到类别的得分,然后进行指数化处理,归一化保证和为1,计算正确类别的损失函数-logP

损失函数的优化

随机搜索:对权重值随机采样,输入损失函数

梯度:偏导数组成的向量,指向函数增加最快的方向,负梯度指向函数下降最快的方向

方向:梯度与单位方向向量的点积

梯度的有限差分,计算loss,元素更新

特征表示:提取图像特征,将不同的特征向量合到一起得到图像的特征表述,然后输入到线性分类器

本层网络的深度等于该层所用的卷积核的个数,深度越深可以保存更多的特征

池化层一般设置为2*2

一般网络架构:[(conv + relu) * n + pool ?] * m + (fc + relu) * k + softmax (n不超过5,m可以很大,0<=k=<2)

数据预处理,零均值化

批量归一化

过程:输入,计算小批量均值,计算方差,通过均值方差对每一层的输入进行归一化,并不改变权重

优点:额外的缩放和平移因子,改进了网络的梯度流,更好的鲁棒性,更广范围的学习率和初始值,正则化的一种

实质:将数据转换为单位高斯数据,更好的灵活性,学到更合适的参数

学习率太大,损失爆炸,nan,一般设置为e-3~e-5

带动量的SGD

dropout:网络正向传递时,在每一层随机的将一部分神经元置零

迁移学习:数据较少,数据集相似时,比如可以在ImageNet上预训练模型的基础上只训练最后一层线性分类器

深度学习框架

OpenCL可以在GPU、CPU上运行,但深度学习的计算原语没有被优化,所以性能不如CUDA

CNN架构

循环神经网络

图像标注:卷积神经网络提取图像的特征向量,RNN在每个时间步(激活函数)中额外添加了图像信息

梯度爆炸&梯度消失:将RNN单元连接成一个模型序列,在计算关于h0的损失函数的梯度时,反向传播经过了递归神经网络的每一个单元,我们不断地将同一个数值做乘法,在绝对值大于1时会发生梯度爆炸,在绝对值小于1时会梯度消失。对于矩阵来说,这个数值对应了矩阵的最大奇异值。解决梯度爆炸可以用梯度截断,使梯度不超过最大阈值,梯度消失可以采用更加复杂的RNN结构

LSTM

RNN升级版,用来缓解梯度爆炸与梯度消失问题,不是在输出上做改进,而是设计一些更好的结构,获取更好的梯度流动。在每个时间步中都维持两个隐藏状态:隐藏状态ht,对应RNN的隐藏状态,单元状态ct,相当于保留在LSTM内部的隐藏状态。

过程:前一时刻隐藏状态ht与当前时刻输入向量xt堆叠,乘上权重矩阵w,得到4个不同的门向量(i、f、o、g),门向量大小与隐藏状态一致。遗忘门f表示遗忘多少上一时间步的单元记忆,输出门o表示要展现多少信息给外部,门之门g表示有多少信息要写入到单元中。ifo门用sigmoid函数,g门用tanh函数

gradient ascent梯度上升:固定卷积神经网络训练的权重,并在图像的像素上执行梯度上升,来最大化某些中间神经元和类别的得分。在梯度上升的过程中不再优化网络的权重,而是改变输入图像的像素以使神经元或类别的得分最大化。正则项阻止过拟合训练数据

三种生成式模型
pixelCNNs,pixelRNNs,GANs
GANs,不用任何显式密度函数,而是采用博弈论方法,基于一对博弈玩家,从训练分布中学习生成数据
想要从复杂的高维的训练分布中采样,需要先从一个简单分布中采样,学习训练分布的变换

首先获取一些指定维度的噪声向量,然后把该向量传递给一个生成器网络,生成一些虚假图片,之后从训练样本选取一些真实图片,之后通过判别器网络判断图片真实还是虚假,并将结果直接作为输出。在判别器上进行梯度计算,更新判别器参数。在生成器上后向传播,优化目标函数,让生成器尽可能骗过判别器。  

生成器网络通过生成看起来十分逼真的图像来试图骗过判别器网络,判别器网络试图将真实图片与虚假图片区别开来

稀疏权重、稀疏激活、权值共享

训练算法:并行化、混合精度、模型蒸馏、正则化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值