人工智能、机器学习与深度学习相关基本知识
人工智能、机器学习与深度学习
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E. Tom M. Mitchell
Machine Learning
如果一个程序可以在任务T上随着经验E的增加,效果P也可以随之增加,则称这个程序可以从经验中学习。
卡内基梅隆大学(Carnegie Mellon university)的Tom M. Mitchell教授对机器学习
的定义被学术界广泛引用。
-
传统机器学习:
输入–>人工特征提取----------------------------->权重学习–>预测结果 -
深度学习:
输入–>基础特征提取–>多层复杂特征提取–>权重学习–>预测结果
Deep Learning
深度学习是机器学习的一个分支,它除了可以学习特征和任务之间的关联,还能自动从简单特征中提取更加复杂的特征。
发展历程
- 感知机模型、线性可分问题
- 深层神经网络
- 反向传播算法(back propagation)
- LSTM(long short term memory)模型
- 2012年ImageNet图像分类竞赛(ImageNet Large Scale Visual Recognition Challenge,ILSVRC)深度学习系统AlexNet夺冠,deep learning被人更多人熟知
深度学习应用方向
- 计算机视觉
- 图像、物体、人脸识别。(地图、以图搜图、无人驾驶、安全)
- OCR(optical character recognition)
- 语音识别
- 混合高斯模型(人工提取特征值)
- 深度学习识别模型(自动提取复杂有效特征)
- 自然语言处理
单词向量(word embedding 词嵌入)是深度学习解决自然语言处理问题的基础。- 机器翻译
- 情感分析
- 广告推荐
- 排序搜索
- 人机博弈
- AlphaGo(DeepMind)s
- AlphaGo Zero
- 星际争霸2
主流深度学习开源工具比较
工具名称 | 主要维护人员 | 支持语言 | 支持系统 |
---|---|---|---|
Caffe | 加州大学伯克利分校视觉与学习中心 | C++、Python、MATLAB | Linux、Mac OS X、Windows |
Deeplearning4j | Skymind | Java、Scala、Clojure | Linux、Windows、Mac OS X、Android |
Microsoft Cognitive Toolkit | 微软研究院 | Python、C++、BrainScript | Linux、Windows |
MXNet | 分布式机器学习社区(DMLC) | C++、Python、Julia、MATLAB、Go、R、Scala | Linux、Windows、Mac OS X、Android、iOS |
PaddlePaddle | 百度 | C++、Python | Linux、Mac OS X、Android、iOS |
TensorFlow | 谷歌 | C++、Python | Linux、Windows、Mac OS X、Android、iOS |