人工智能、机器学习与深度学习相关基本知识

人工智能、机器学习与深度学习

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
相关数据集