1. CPU vs. GPU: CPU核心少(几个),更擅长串行任务.GPU有很多核心(几千个),每一个核都弱,有自己的内存(几个G),很适合并行任务.GPU最典型的应用是矩阵运算. GPU编程:1)CUDA,只能在英伟达:2)OpenCL类似CUDA,好处是可以跑在任何平台上,但相对慢一些.深度学习可以直接调用现成的库,不用自己写CUDA代码. 用cuDNN比不用快几倍. 深度学习的瓶颈可能不在GPU的运算,而在GPU和数据的通信上,解决办法是:1)把数据读入RAM:2)用SSD而不是HDD:…
1. CPU vs. GPU: CPU核心少(几个),更擅长串行任务.GPU有很多核心(几千个),每一个核都弱,有自己的内存(几个G),很适合并行任务.GPU最典型的应用是矩阵运算. GPU编程:1)CUDA,只能在英伟达:2)OpenCL类似CUDA,好处是可以跑在任何平台上,但相对慢一些.深度学习可以直接调用现成的库,不用自己写CUDA代码. 用cuDNN比不用快几倍. 深度学习的瓶颈可能不在GPU的运算,而在GPU和数据的通信上,解决办法是:1)把数据读入RAM:2)用SSD而不是HDD:…
(没太听明白,下次重新听一遍) 1. Recurrent Neural Networks…
1. 之前课程里,一个32*32*3的图像被展成3072*1的向量,左乘大小为10*3072的权重矩阵W,可以得到一个10*1的得分,分别对应10类标签. 在Convolution Layer里,图像保持原样,依旧是32*32*3,把它和一个5*5*3的filter进行卷积运算(filter和原图像有相同的通道数,比如这里都是3).这里的"卷积"并不是严格按照信号处理里先把图像翻转,这里只是对应像素乘积累加,可以按照fully connected layer的写法,把5*5*3的fil…
这一节课很零碎. 1. 神经网络到底在干嘛? 浅层的是具体的特征(比如边.角.色块等),高层的更抽象,最后的全连接层是把图片编码成一维向量然后和每一类标签作比较.如果直接把图片和标签做像素级的最近领域分类,误差很大,但是转成编码之后就准多了. 可以用PCA可视化最后一层的特征,深度学习领域更高阶的做法是用t-SNE(Van der Maaten and Hinton, "Visualizting Data using t-SNE", JMLR 2008). 可视化非线性函数的激活值也可…
1. Semantic Segmentation 把每个像素分类到某个语义. 为了减少运算量,会先降采样再升采样.降采样一般用池化层,升采样有各种"Unpooling"."Transpose Convolution"(文献中也叫"Upconvolution"之类的其他名字). 这个问题的训练数据的获得非常昂贵,因为需要一个像素一个像素的贴标签. 2. Classification + Localizatoin 一般用同一个网络,一方面得出分类,一…
1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很大的loss function,一个方向梯度变化明显,另一个方向梯度变化很缓慢,SGD在优化过程中会震荡着下降,导致优化很慢.深度学习的网络会有上百万甚至更多的参数需要优化,在这个上百万维的空间里,更容易出现各个维度梯度变化差别很大的问题. 2)陷落在局部最小点或者鞍点(saddle point).…
1. 激活函数: 1)Sigmoid,σ(x)=1/(1+e-x).把输出压缩在(0,1)之间.几个问题:(a)x比较大或者比较小(比如10,-10),sigmoid的曲线很平缓,导数为0,在用链式法则的时候,后一层传回来的导数乘以sigmoid的导数也是0了,换句话说,对于sigmoid饱和的区域后一层的导数传不到前面去了.(b)输出永远为正,即下一层的输入永远为正,我们希望输入的均值为0.(c)exp还是稍微有点难计算. 2)tanh(x),输出压缩在[-1,+1]之间,比sigmoid的进…
(没太听明白,下次重新听) 1. 增强学习 有一个 Agent 和 Environment 交互.在 t 时刻,Agent 获知状态是 st,做出动作是 at:Environment 一方面给出 Reward 信号 rt,另一方面改变状态至 st+1:Agent 获得 rt 和 st+1.目标是 Agent 学习 st 到 at 的某种映射 π* 最大化累积的 Reward,∑γtrt,其中 γt 是折现系数(discount factor). 用Markov Decision Process描…
1. 优化: 1.1 随机梯度下降法(Stochasitc Gradient Decent, SGD)的问题: 1)对于condition number(Hessian矩阵最大和最小的奇异值的比值)很大的loss function,一个方向梯度变化明显,另一个方向梯度变化很缓慢,SGD在优化过程中会震荡着下降,导致优化很慢.深度学习的网络会有上百万甚至更多的参数需要优化,在这个上百万维的空间里,更容易出现各个维度梯度变化差别很大的问题. 2)陷落在局部最小点或者鞍点(saddle point).…