CPU:Fewer cores,but each core is much faster and much more capable;great at sequential tasks
GPU:More cores,but each core is much slower and “dumber”;great for parallel tasks(matrix multiplicatio)
在课程中的对比中:
问题:如果不够仔细,可能会导致训练由于读取数据并转移到GPU上出现瓶颈
Solution:
by Google
高层封装
类似的框架有Theano
by Facebook
问题:Pytorch与tensorflow有何不同?
tensorflow先建立计算图然后反复运行计算图(静态图),pytorch每次运算的时候都建立一个新的计算图(动态图),这使得代码更简洁
Optimization,静态图可以在运行之前做好优化
Serialization,静态图建立后,可以序列化并且不使用建立网络的代码即可运行,动态图需要一直保留建立网络的代码
Conditional,动态图方便使用条件语句,静态图不方便
loops,动态图方便循环,静态图不方便
by UC Berkeley
by Facebook
第一个在ImageNet分类上表现好的大规模卷积网络
Architecture:
CONV1-MAX POOL1-NORM1-CONV2-MAX POOL2-NORM2-CONV3-CONV4-CONV5-MAX POOL3-FC6-FC7-FC8
与LeNet相似,只是更深
细节
2013年的冠军ZFNET基本上是对AlexNet的超参数进行调整得到的结果
2014年的赢家是GoogleNet,VGG表现也很接近,它们都是更深的网络
更深的网络
在直接进行卷积前,使用bottleneck层来降低输入的深度维数,从而减少计算的复杂度,bottleneck就是1×1的卷积,在维持空间维度的基础上改变深度维
GoogLeNet堆叠这种Inception模块来得到整个网络
其中除了最终的分类输出外,还有两个辅助的分类部分
非常深的网络,使用余量连接(residual connections)
问题:使用更深的网络并不能得到更好的效果,而这并不是因为过拟合
假设:这是因为更深的网络更难优化
解决方法:让网络拟合余量映射F(x)=H(x)-x(residual mapping)而不是直接映射H(x)(underlying mapping)
ResNet也使用了bottleneck的技术
值得注意的是:如果我们将ResNet的权值设置为0,那么就得到了一个恒等映射,这使得L2正则化有了另外的意义(让模型取向学习到恒等映射)
训练细节
Case Studies
Also…
RNN处理序列的网络,可以实现one to one,one to many(e.g. Image Captioning),many to one(e.g Sentiment Classification),many to many(e.g. Machine Translation)
前向传播
反向传播
当序列太长的时候,使用Truncated Backpropagation
反向传播时需要W反复作为因子乘进梯度中,如果W的最大的特征值大于0会导致梯度爆炸,反过来,会导致梯度消失。对于梯度爆炸,使用Gradient clipping处理,对于梯度消失时,使用不同的RNN结构LSTM
与传统的RNN不同,LSTM除了维持ht外,还维持了细胞状态(ct),通常会计算四个门:
使用这样的结构时,反向传播不会再出现梯度消失和爆炸的问题。
IDEA:Design a network as a bunch of convolutional layers to make predictions for pixels all at once(Fully Convolutional),这个过程涉及下采样和上采样
通过两个子网络实现classification和localization,一个通过传统的分类网络得到类别得分实现classification,另一个网络回归预测Box coordinates来实现localization
与上一个任务不同,这里的输出是变化的
一个解决方法是使用滑动窗口,将一个CNN应用在图片上的different crops上,但因为目标位置大小的位置性,需要列举很多不同的窗口,计算极其复杂,实践中不常使用,另一种方法是Region Proposals:
与在原图上提出regions of interest不同,在feature map上给出Regions of interest
阅读resnet的论文,未完成
继续完成cs231n的学习进度到75%,完成
学习opencv上册到50%,未完成
完成cs231n的学习
阅读resnet的论文
学习opencv上册到50%