IBM认知计算课程体系在2016年左右的时间就在网易云课堂上发布了,对于当前比较火的深度学习的一些概念的理解很有帮助,能帮助串联起来大部分主要的内容,对于具体细节的理解和掌握可以通过学习其他系统的课程来获得,学习本门课程最大的感受就是能够给与对深度学习以及人工智能宏观上的把握,从而对深度学习有一些观点思想上的重新认识。
本系列课程主要介绍关于认知计算与人工智能的基础知识,涵盖课程包括《认知计算与人工智能》、《机器学习》、《机器学习与大数据》、《深度学习》、《深度学习框架与工具》、《GPU与认知计算》几部分课程内容。
第一节课程:《认知计算与人工智能》
《认知计算与人工智能》主要从三个方面进行介绍
1、认知计算
cognitive computing refers to systems that learn at scale,reason with purpose and interact with humans naturally.
认知计算与人工智能有一些区别,具体的特点比较如下:
认知计算侧重于认知、学习和推理、概率性、与人和环境的交互、通过实际的方式进行衡量
而人工智能并不需要人的参与,强调自主性,通过图灵测试来进行衡量。
认知计算与人工智能有所区别,实现人工智能的具体方式是靠认知计算。
认知计算架构:(从下往上)
cognitive computing infrastructure
cognitve computing framework
libraries,databases and tools
applications oriented expertises
2、人工智能发展简史
时间段
1950-1956
1956-1974
1974-1980
1980-1987
1987-1993
1993-至今
3、相关理论、工具、任务介绍
- 机器学习
主要介绍了监督学习中的分类与回归,以及无监督学习中的聚类,列举了一些相关的分类算法以及聚类算法
- 深度学习
- 框架技术
第二节课程:《机器学习》
《机器学习》从三个方面进行介绍,主要介绍机器学习里面的基本术语,概念,了解这些基本的术语,对机器学习所进行解决的问题就会有一个直观的认识。
掌握以下几个概念,就能对机器学习有一个不错的认识
• Generalization
• Overfitting
• Loss function
• Regularization
• Optimizer
分别介绍了LR和SVM,LR相对而言比较简单,不做过多阐释。
所有机器学习的数学模型都可以归纳为这样:empirical loss + regularization,只是具体的问题所定义的损失函数以及正则化的方法所不同而已。
第三节课程:《机器学习和大数据》
《机器学习和大数据》主要介绍了一些机器学习的库以及Spark,也简单介绍了一下Scala, 视频当中给的演示有些看不大清,所以就直接省略过去了。
开始部分的内容比较了一下传统机器学习方法与现代主流的深度学习的方法之间的差异:
传统机器学习算法是有着明确严谨的数学依据的,由统计学习方法到机器学习,再到概率图模型,都是建立在可靠的数学依据之上的,而现在的深度学习虽然效果惊人,但是却并没有给予明确的数学的解释,这也是深度学习为一些人所诟病之处。
在机器学习之中,介绍了线性分类器,朴素贝叶斯,决策树(非概率模型),对于线性分类器,区分连接函数f、损失函数L、判决函数,最后提到了概率图模型之贝叶斯网络,和朴素贝叶斯做一下对比。机器学习当中,数据降维是很重要的内容,下面是主要的要点:
数据降维:
• D维数据->k维数据输入(k远远小于D),发现隐含结构特征,去除噪声干扰
• 是数据预处理方法,不是模型预测方法
• 适合维度很高的数据,比如图像,视频,文本,声音
• 方法:PCA和SVD
第四节课程:《深度学习》
《深度学习》介绍了神经网络,前向传播算法和反向传播算法(BP);接着又提到了自动编码器神经网络,通过神经网络中的自编码器可以用来提取隐含特征;接着介绍了Softmax Regression,并说明它其实是LR的一般化;介绍了Self-Taught Learning,从无标签数据中学习到特征,并应用到监督学习中;对深度神经网络做了一下大致的回顾;最后介绍了卷积神经网络的相关内容。本节内容相对于其他的内容介绍的比较详细一些,它将深度学习中的核心问题做了一个串讲,内容涵盖了深度学习中的大部分主要概念。
- Neural Netowrk and BP
BP:其实就是在算每一层对最后的误差需要付多大的责任,然后通过梯度一层一层地往前去反馈,去更新这个权系数。 Autoencoder Neural Network
神经网络中Sparsity Constraint的自编码器可以用来设计提取隐含特征,而PCA也可以用来发现隐含结构特征。Softmax Regression
• 用于多分类
• Softmax Regression is the generalization of LR cost function.
• Cost function: cross entropy
• Weight decay term : regularization term
• Convex: a unique solution (converge to global minimum)
• Softmax regression(各个类别之间是互斥的) vs k Binary classifiers- Self-Taught Learning(STL)
从无标签数据中学习到特征 将学习到的特征表示和数据(无论是否有标签),在有标签的数据上应用监督学习。
STL:use a sparse autoencoder to learn features(using only unlabled data),and then feed them as inputs to a softmax Regression classifier.
Fine-tuning:Further improve the learned features(不断调整权重)
Deep Neural Network
什么叫做深度神经网络:multiple hidden layers
关键点:Non-linear Activation Function(由线性空间———>非线性空间)
神经网络中出现的问题:数据、Local Optima、Gradients
如何训练神经网络:先训练好一层,然后再训练下一层(Greedy Layer-wise Training)CNN
What is convolution?
Convolved Feature
What is 3D convolution?Deep CNN
Conv Layer—–MaxPooling layer———Conv Layer———-MaxPooling layer—-…………….————-classifier
Many tricks!
• Initialization of weights
• Selection of activation functions
• #layers and #feature maps
• Filter Size & Shape, pooling shapeOverfitting
Dropout(常用于全连接网络)
- ReLu Nonlinearity
引入非线性解决梯度问题
Spatial Pyramid Pooling
Transfer Learning
A Fine-tuning method
第五节课程:《GPU与认知计算》
这节课程介绍了关于GPU的内容,对于GPU的架构以及计算方面的优势所在给与了说明
CPU:logistic ———> management
GPU: computing
CPU<=======>GPU
第六节课程:《深度学习框架》
DL–dataset
• ImageNet
• CIFAR10/CIFAR100
• MNIST
• Labled Faces in the WildDL—challenge
ILSVRC:ImageNet Large Scale Visual Recognition Challenge
DL—Net
• AlexNet
• LeNet-5
• GoogleNet
• VGGDL—Frameworks
• Caffe
• Torch
• Theano
• Tensorflow(Data flow graph)- DL Visualization Tool : DIGITS