CS231n笔记 Lecture 1 Introduction
主题有关
这一讲主要是介绍性质的,虽然大多数概念以前听说过,但还是在他们的介绍中让我有如下一些认识,所谓温故而知新,不无道理:
IMAGENET
- Feifei Li的团队首先爬取、标注了IMAGENET 数据集,其中包含22k个目录和14m的图片;
- 为了能够为研究者提供一个统一的验证平台,进而组办了IMAGENET Large Scale Visual Recognition Challege,提供了benchmark,包含1,431,167 images 和 1000个物体类别;
- 此前在做图像分类等问题的时候,采用的多是基于特征的方法,比如很经典的SIFT,直到2011年,获得这个比赛第一名的方法仍然采用的传统的物体识别算法;
- 直到2012年,Alex等人提出了AlexNet,把错误率从25%直接降低到了16%左右,自此基于CNN的方法一发不可收拾,之后每年比赛的第一名都是采用基于CNN的方法,2014年的VGG和GoogleNet, 2015年MSRA的ResNet,网络也不断加深。
为什么CNN现在才火
- 其实最早在1998年的时候,就已经有基于CNN的方法来做字母识别,也有下采样、全连接层的概念,但似乎基于这个方向的研究戛然而止,沉寂到2012年才再一次在cv领域抛头露面;
- 综其原因有三,首先是计算能力的提升,其次是数据量的提升,最后是随着AMT等平台的出现,大量的有标数据也成为可能;
- 数据量的提升Justin给了一个很实际的例子,就是我们数三秒钟,1,2,3,这期间在youtube上就已经多了15h的视频,大数据的趋势可见一斑。这样大量的数据,如果不借助算法,仅靠人工来去对内容进行识别分类,无疑是不可能的,所以各种cv算法的研究非常有必要!
- 关于训练数据,随着网络层数的加深,参数也越来越多,那么训练数据不足的情况下,就非常有可能过拟合,那么泛化的能力就会很弱。这些深层的网络对训练数据的需求极大,这里他原话说的是“... are very hungry for training data”,非常贴切。以前的时候数据可能都是请专家或是研究员自己来标注,昂贵、耗时,现在有了各种众包平台,得到有标注的数据变得廉价、有效,使得训练数据的获取变得更容易了。包括IMAGENET初始的那个数据集的图像标注,很多也是从AMT上得到的。
有趣的研究
- 除了传统的cv问题,如物体识别、人脸识别、图像分类等问题之外,Justin介绍了一个比较有意思的课题,使得研究更贴近人的真实生活。毕竟,我们日常生活中,谁也不会闲的没事儿跑去识别一张图片是阿猫还是阿狗 = =||| 更自然的是我们看到一张图片,会心一笑,因为我们理解了里面更深层的含义。
- 举的例子是一张奥巴马偷偷地踩在一个政府人员的体重计上,周围的人都在笑。我们人觉得这张图片有趣,不光是因为我们识别到了体重计和人脸,也不光是有人偷偷踩体重计,也不光是周围的人脸都是带笑容的,更多的是因为“踩”这个动作是由奥巴马发起的,而这个动作和我们对美国总统的典型认知是有偏差的,这种差异让我们会心一笑。
- 也许现今的cv算法已经能够做到近乎完美的人脸识别、图像类别分类,但是当它们面对这样深层次的理解等任务时,还是会非常无力,存在很大的差距。所以cv方向下一步的研究重点可能是如何将现有的这些算法运用到更贴近我们生活的各方面应用中,这才能更好地体现研究的价值。
主题无关
这个Justin好帅啊,超喜欢听他说英语啊,而且身材很不错的样子,感觉凭此应该也能支撑我听完这门课了... 同样是博士生,Stanford的博士生已经可以这样系统、娴熟地开一门课程了,深深感受到了自己和国外一线博士生之间的差距。至少在现阶段,我仍然无法设想自己可以这么流畅地介绍某一个完整的方向,更别提去开一门完整的课程了,总结原因可能包括如下几点:
- 对自己的研究方向没有一个系统的认识,比如这个方向从何时开始有人做,现在最好的做到什么程度,关键的技术有哪些,这些问题都需要更深入地去了解这个方向后才能完整地回答;
- 表达能力欠佳,之前自认为表达能力还不错的自己,设想了一下自己讲课的样子,我觉得可能会有很多的停顿,整体不连贯,这个在我平时说话的时候也能注意到。针对此,我需要从平时说话时就注意,少用一些不必要的连词,比如“然后”,说得慢没关系,最好在说话之前想好要表达的意思,避免重复,可以利用组会的机会锻炼表达能力,同时可以适当地幽默;
- 万事开头难,遇到类似的机会大胆地去试,Justin讲得好可能很大一部分原因是因为他非常熟练了,这是他们第三次开这门课程,对于如何讲解知识点,如何以简洁明了的方式让同学理解,相信经过上两次的经验,他已经可以驾轻就熟,自然就很流畅。
中间穿插了一段Feifei Li介绍cv领域的背景的一段视频,这也是我第一次见会动的Feifei Li。她一看就是一个很聪明很有执行力的学者,有大将风范,容我跪拜三下orz, orz, orz... 英语刚开始听着不是很舒服,后面觉得讲得很好!
CS231n笔记 Lecture 1 Introduction的更多相关文章
- CS231n笔记 Lecture 4 Introduction to Neural Networks
这一讲主要介绍了神经网络,基本内容之前如果学习过Andrew的Machine learning应该也都有所了解了.不过这次听完这一讲后还是有了新的一些认识. 计算图 Computational gra ...
- CS231n笔记 Lecture 5 Convolutional Neural Networks
一些ConvNets的应用 Face recognition 输入人脸,推测是谁 Video classfication Recognition 识别身体的部位, 医学图像, 星空, 标志牌, 鲸.. ...
- CS231n笔记 Lecture 3 Loss Functions and Optimization
这一讲总体上就是引入Loss Function的概念,以及让大家对优化有一个初步的认识,和其他课程里面说的内容大同小异. Loss function Multiclass svm loss multi ...
- CS231n笔记 Lecture 2 Image Classification pipeline
距离度量\(L_1\) 和\(L_2\)的区别 一些感性的认识,\(L_1\)可能更适合一些结构化数据,即每个维度是有特别含义的,如雇员的年龄.工资水平等等:如果只是一个一般化的向量,\(L_2\)可 ...
- [1天搞懂深度学习] 读书笔记 lecture I:Introduction of deep learning
- 通常机器学习,目的是,找到一个函数,针对任何输入:语音,图片,文字,都能够自动输出正确的结果. - 而我们可以弄一个函数集合,这个集合针对同一个猫的图片的输入,可能有多种输出,比如猫,狗,猴子等, ...
- ML Lecture 0-1: Introduction of Machine Learning
本博客是针对李宏毅教授在Youtube上上传的课程视频<ML Lecture 0-1: Introduction of Machine Learning>的学习笔记.在Github上也po ...
- 【NLP CS224N笔记】Lecture 1 - Introduction of NLP
I. 什么是NLP NLP全称是Natural Language Processing,即自然语言处理,这是一门计算机科学.人工智能以及语言学的交叉学科. NLP涉及的几个层次由下图所示.可以看到输入 ...
- 李宏毅老师机器学习课程笔记_ML Lecture 0-1: Introduction of Machine Learning
引言: 最近开始学习"机器学习",早就听说祖国宝岛的李宏毅老师的大名,一直没有时间看他的系列课程.今天听了一课,感觉非常棒,通俗易懂,而又能够抓住重点,中间还能加上一些很有趣的例子 ...
- cs231n spring 2017 lecture4 Introduction to Neural Networks 听课笔记
1. Backpropagation:沿着computational graph利用链式法则求导.每个神经元有两个输入x.y,一个输出z,好多层这种神经元连接起来,这时候已知∂L/∂z,可以求出∂L/ ...
随机推荐
- Berkeley DB (VC6.0 编译环境配置)
操作系统:winxp VC环境:VC6.0 必需文件:Berkeley DB安装文件(db-.msi) 下载地址:http://www.oracle.com/technology/software/p ...
- 中英文字符串截取函数msubstr
Thinkphp内置了一个可以媲美smarty的模板引擎,给我们带来了很大的方便.调用函数也一样,可以和smarty一样调用自己需要的函数,而官方也内置了一些常用的函数供大家调用. 比如今天我们说的截 ...
- fiddler 模拟发送post请求
打开fiddler,选择在右边的Composer工具栏,打开Parsed选项,然后数据发送协议,例如选择POST, POST右边输入框可以输入访问地址, 下方的输入框可以输入发送的输入操作,例如发送的 ...
- gradle更换国内镜像、配置本地仓库地址
gradle更换国内镜像,安装包解压后init.d文件夹下面创建init.gradle文件,内容如下 allprojects{ repositories { def REPOSITORY_URL = ...
- ASP( VBScript ) 解析 JSON
<script language="jscript" runat="server"> Array.prototype.get = function( ...
- destoon手机端mobileurl函数增加城市分类参数
mobileurl函数在include/global.func.php 858行 共四个参数,moduleid-模型id,catid-分类id,itemid -文章id,page-页码 functio ...
- Beyond Compare 4 30天试用期后,破解方法
Beyond Compare 4 30天试用期后,破解方法. 方法一:在安装目录下找到文件BCUnrar.dll,比如:D:\software\Beyond Compare 4,重命名该文件即可. 重 ...
- manjaro kde netease-cloud-music 网易云音乐
- supervisor 安装使用
简介 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启.它是通过fork/exec的方式把这些被管 ...
- JAVA基础篇—继承
父类Vehicle package com.car; public class Vehicle { final String brand;// String color;// double speed ...