转载自:https://zhuanlan.zhihu.com/p/21930884
感谢原作者给我们这么好的资源,谢谢!
哈哈哈!我们也是不谦虚,几个“业余水平”的网友,怎么就“零星”地把这件事给搞完了呢! 总之就是非常开心,废话不多说,进入正题吧!
CS231n的全称是CS231n: Convolutional Neural Networks for Visual Recognition,即面向视觉识别的卷积神经网络。该课程是斯坦福大学计算机视觉实验室推出的课程。需要注意的是,目前大家说CS231n,大都指的是2016年冬季学期(一月到三月)的最新版本。
课程描述:请允许我们引用课程主页上的官方描述如下。
计算机视觉在社会中已经逐渐普及,并广泛运用于搜索检索、图像理解、手机应用、地图导航、医疗制药、无人机和无人驾驶汽车等领域。而这些应用的核心技术就是图像分类、图像定位和图像探测等视觉识别任务。近期神经网络(也就是“深度学习”)方法上的进展极大地提升了这些代表当前发展水平的视觉识别系统的性能。
本课程将深入讲解深度学习框架的细节问题,聚焦面向视觉识别任务(尤其是图像分类任务)的端到端学习模型。在10周的课程中,学生们将会学习如何实现、训练和调试他们自己的神经网络,并建立起对计算机视觉领域的前沿研究方向的细节理解。最终的作业将包括训练一个有几百万参数的卷积神经网络,并将其应用到最大的图像分类数据库(ImageNet)上。我们将会聚焦于教授如何确定图像识别问题,学习算法(比如反向传播算法),对网络的训练和精细调整(fine-tuning)中的工程实践技巧,指导学生动手完成课程作业和最终的课程项目。本课程的大部分背景知识和素材都来源于 ImageNet Challenge竞赛。
课程内容:官方课程安排及资源获取请点击这里,课程视频请在Youtube上查看Andrej Karpathy创建的播放列表,也可私信我们获取云盘视频资源。通过查看官方课程表,我们可以看到:CS231n课程资源主要由授课视频与PPT,授课知识详解笔记和课程作业三部分组成。其中:
课程评价:我们觉得赞!很多人都觉得赞!当然也有人觉得不好。具体如何,大家搜搜CS231n在网络,在知乎上的评价不就好了嘛!个人认为:入门深度学习的一门良心课。适合绝大多数想要学习深度学习知识的人。
课程不足:课程后期从RCNN开始就没有课程笔记。
三句话总结:
引用一下学习金字塔的图,意思大家都懂的:
原文:[python/numpy tutorial]。
翻译:Python Numpy教程。
我们将使用Python编程语言来完成本课程的所有作业。Python是一门伟大的通用编程语言,在一些常用库(numpy, scipy, matplotlib)的帮助下,它又会变成一个强大的科学计算环境。我们期望你们中大多数人对于Python语言和Numpy库比较熟悉,而对于没有Python经验的同学,这篇教程可以帮助你们快速了解Python编程环境和如何使用Python作为科学计算工具。
原文:[image classification notes]。
翻译:图像分类笔记(上)(下)。
该笔记是一篇介绍性教程,面向非计算机视觉领域的同学。教程将向同学们介绍图像分类问题和数据驱动方法,内容列表:
- 图像分类、数据驱动方法和流程
- Nearest Neighbor分类器
- k-Nearest Neighbor 译者注:上篇翻译截止处
- 验证集、交叉验证集和超参数调参
- Nearest Neighbor的优劣
- 小结
- 小结:应用kNN实践
- 拓展阅读
原文:[linear classification notes]。
翻译:线性分类笔记(上)(中)(下)。
我们将要实现一种更强大的方法来解决图像分类问题,该方法可以自然地延伸到神经网络和卷积神经网络上。这种方法主要有两部分组成:一个是 评分函数(score function),它是原始图像数据到类别分值的映射。另一个是 损失函数(loss function),它是用来量化预测分类标签的得分与真实标签之间一致性的。该方法可转化为一个最优化问题,在最优化过程中,将通过更新评分函数的参数来最小化损失函数值。内容列表:
- 线性分类器简介
- 线性评分函数
- 阐明线性分类器 译者注:上篇翻译截止处
- 损失函数
- 多类SVM
- Softmax分类器
- SVM和Softmax的比较
- 基于Web的可交互线性分类器原型
- 小结
原文:[optimization notes]。
翻译:最优化笔记(上)(下)。
该笔记介绍了图像分类任务的第三个关键部分:最优化。内容列表如下:
- 简介
- 损失函数可视化
- 最优化
- 策略#1:随机搜索
- 策略#2:随机局部搜索
- 策略#3:跟随梯度 译者注:上篇截止处
- 梯度计算
- 使用有限差值进行数值计算
- 微分计算梯度
- 梯度下降
- 小结
原文:[backprop notes]。
翻译:反向传播笔记。
该笔记本将帮助读者 对反向传播形成直观而专业的理解。反向传播是利用链式法则递归计算表达式的梯度的方法。理解反向传播过程及其精妙之处,对于理解、实现、设计和调试神经网络非常关键。内容里列表如下:
- 简介
- 简单表达式和理解梯度
- 复合表达式,链式法则,反向传播
- 直观理解反向传播
- 模块:Sigmoid例子
- 反向传播实践:分段计算
- 回传流中的模式
- 用户向量化操作的梯度
- 小结
原文:Neural Nets notes 1。
翻译:神经网络笔记1(上)(下)。
该笔记介绍了神经网络的建模与结构,内容列表如下:
- 不用大脑做类比的快速简介
- 单个神经元建模
- 生物动机和连接
- 作为线性分类器的单个神经元
- 常用的激活函数
- 神经网络结构
- 层组织
- 前向传播计算例子
- 表达能力
- 设置层的数量和尺寸
- 小节
- 参考文献
原文:Neural Nets notes 2。
翻译:神经网络笔记2。
该笔记介绍了数据的预处理,正则化和损失函数,内容列表如下:
- 设置数据和模型
- 数据预处理
- 权重初始化
- 批量归一化(Batch Normalization)
- 正则化(L2/L1/Maxnorm/Dropout)
- 损失函数
- 小结
原文:Neural Nets notes 3。
翻译:神经网络笔记3(上)(下)。
该笔记讲解了神经网络的动态部分,即神经网络学习参数和搜索最优超参数的过程。内容列表如下:
梯度检查 合理性(Sanity)检查 检查学习过程
- 损失函数
- 训练集与验证集准确率
- 权重:更新比例
- 每层的激活数据与梯度分布
- 可视化 译者注:上篇翻译截止处
参数更新
- 一阶(随机梯度下降)方法,动量方法,Nesterov动量方法
- 学习率退火
- 二阶方法
- 逐参数适应学习率方法(Adagrad,RMSProp)
超参数调优 评价
- 模型集成
总结 拓展引用
原文:ConvNet notes。
翻译:卷积神经网络笔记。
内容列表:
- 结构概述
- 用来构建卷积神经网络的各种层
- 卷积层
- 汇聚层
- 归一化层
- 全连接层
- 将全连接层转化成卷积层
- 卷积神经网络的结构
- 层的排列规律
- 层的尺寸设置规律
- 案例学习(LeNet / AlexNet / ZFNet / GoogLeNet / VGGNet)
- 计算上的考量
- 拓展资源
原文:[Assignment #1]。
翻译:CS231n课程作业#1简介。
作业内容:实现k-NN,SVM分类器,Softmax分类器和两层神经网络,实践一个简单的图像分类流程。
原文:[Assignment #2]。
翻译:CS231n课程作业#2简介。
作业内容:练习编写反向传播代码,训练神经网络和卷积神经网络。
原文:[Assignment #3]。
翻译:CS231n课程作业#3简介。
作业内容:实现循环网络,并将其应用于在微软的COCO数据库上进行图像标注。实现DeepDream等有趣应用。
原文:知友智靖远关于CS231n课程字幕翻译的倡议。当时,
有很多知友私信我们,询问为何不做字幕。现在统一答复:请大家积极参加
CS231n课程笔记的翻译,始于
大家因为认同这件事而聚集在一起,牺牲了很多个人的时间来进行翻译,校对和润色。而翻译的质量,我们不愿意自我表扬,还是请各位知友自行阅读评价吧。现在笔记翻译告一段落,下面是团队成员的简短感言:
@猴子:在CS231n翻译小组工作的两个多月的时间非常难忘。我向杜客申请加入翻译小组的时候,才刚接触这门课不久,翻译和校对的工作让我对这门课的内容有了更深刻的理解。作为一个机器学习的初学者,我非常荣幸能和翻译小组一起工作并做一点贡献。希望以后能继续和翻译小组一起工作和学习。
目前通过大家的反馈,之后会有新的创作方向,会更多与大家互动,敬请期待吧!
感谢所有给我们的翻译提出过批评指正的知友,每篇文章末尾处的译者反馈部分我们都列出了大家的具体指正与贡献;
感谢所有给我们的翻译点赞的知友,你们的赞是我们的精神粮食;
感谢给文章赞赏小钱钱的知友,谢谢老板们:)
恳请大家点赞和分享到其他社交网络上,让更多想要入门与系统学习深度学习的小伙伴能够看到这篇总集。同时,也欢迎大家在来专栏分享你的知识,发现志同道合的朋友!
这个世界需要更多的英雄!