作者:火柴没头518_410 | 来源:互联网 | 2023-09-01 18:20
课程简介ImageNetChallenge.计算机视觉已经变得普适了,在我们的社会中应用,如搜索、图像理解、APP、地图、医疗、无人机和自动驾驶。这些应用中的很多核心都是视觉识别方
课程简介
ImageNet Challenge.
计算机视觉已经变得普适了,在我们的社会中应用,如搜索、图像理解、APP、地图、医疗、无人机和自动驾驶。这些应用中的很多核心都是视觉识别方面的任务,例如图像分类、定位和识别。
学习本课程的预备知识
- Proficiency in Python, high-level familiarity in C/C++(语言:熟练使用Python,以及高级水平的C/C++)
所有的课程任务将会以Python的形式(而且要使用numpy)(我们会提供一个教程供不熟悉Python的人学习),但是后面某些课程的深度学习类库是以C++的形式写成的。所以,如果你有很多的编程经验但是是其他语言的(如C/C++/Matlab/Javascript)你可能也可以胜任这些任务。
- College Calculus, Linear Algebra (e.g. MATH 19 or 41, MATH 51) 大学微积分,线性代数
你应该对求导很熟悉,并且理解矩阵向量操作和符号。
- Basic Probability and Statistics (e.g. CS 109 or other stats course)基本的概率统计方面的知识
你应该知道基本的概率、高斯分布、平均值和标准差。
- Equivalent knowledge of CS229 (Machine Learning)对CS229(机器学习)有相当的了解
We will be formulating cost functions, taking derivatives and performing optimization with gradient descent. 我们将会使用梯度下降法建立成本函数,求标准差以及进行最优化。
http://cs231n.stanford.edu/syllabus.html
视频教程链接:you tu be B站
课程Notes:2017年
代码:链接
Lecture 1:Introduction to Convolutional Neural Networks for Visual Recognition(用于视觉识别的卷积神经网络简介)
80%的网络流量都是图像,但是图像又是网络中的暗物质。如何能够理解图像是一件很重要的事情,you tu be上每秒钟上传的视频多达分钟,就算you tu be有很多员工那也很难一个一个看完整个视频。
Lecture 2: Image Classification(图像分类)
Lecture 3:Loss Functions and Optimization(损失函数和最优化)
Lecture 4:Introduction to Neural Networks(神经网络简介)
Lecture 5:Convolutional Neural Networks(卷积神经网络)
Lecture 6:Training Neural Networks I(训练神经网络I)
#assume some unit gaussian 10-D input data假设一些单位的高斯10-维输入数据
D = np.random.randn(1000, 500) #1000*500的随机初始化矩阵
hidden_layer_sizes = [500]*10 #隐藏图层尺寸 10个图层 每个图层有500个神经元
nonlinearities = ['tanh']*len(hidden_layer_sizes) #非线性=['tanh']*len([500]*10)
act = {'relu':lambda x:np.maximum(0,x), 'tanh':lambda x:np.tanh(x)} #行动{'relu':lambda x=max(0,x), 'tanh':lambda x=tanh(x)}
Hs = {}
for i in xrange(len(hidden_layer_sizes)):
X = D if i == 0 else Hs[i-1] #input at this layer 输入该图层的数据(当i=0时X=D,否则更新为X=Hs[i-1])
fan_in = X.shape[l] #输入_fan
fan_out = hidden_layer_sizes[i] #输出_fan
W = np.random.randn(fan_in, fan_out)*0.01 #layer initialization
H = np.dot(X, W) #matrix multiply
H = act[nonlinearities[i]](H) #nonlinearity
Hs[i] = H #cache result on this layer
#look at distributions at each layer
print 'input layer had mean %f and std %f' % (np.mean(D), np.std(D))
layer_means = [np.mean(H) for i,H in Hs.iteritems()]
layer_stds = [np.std(H) for i,H in Hs.iteritems()]
for i,H in Hs.iteritems():
print 'hidden layer %d had mean %f and std %f' % (i+l, layer_means[i], layer_stds[i])
#plot the means and standard deviations
plt.figure()
plt.subplot(121)
plt.plot(Hs.keys(), layer_means, 'ob.')
plt.title('layer mean')
plt.subplot(122)
plt.plot(Hs.keys), layer_stds, 'or-')
plt.title('layer std')
#plot the raw distributions
plt.figure()
for i,H in Hs.iteritems():
plt.subplot(l, len(Hs), i+l)
plt.(H.ravel(), 30, range(-1,1))
Lecture 7:Training Neural Networks II(训练神经网络II)