机器学习-Learning Deep Architectures for AI -1

随着计算机信息的发展,希望用计算机来model真实的物理过程,为了更精确地分析物理过程,计算机中关于物理过程的输入信息越多越好。让计算机储存/读取物理过程的所有信息是及其艰巨的,因此使用learning algorithm来不断学习获取物理过程的大部分有用信息。

人工智能方面,寻找合适的学习算法是最大的挑战。

我们假设为了表达复杂的物理过程,需要非常复杂的数学模型,例如高度非线性。面对非常复杂的问题时,很自然的想法即将复杂的原问题分解为多个子问题。以图像识别为例,从原始像素到人脸识别需要经历:

  • Layer 1. 识别边缘
  • Layer 2. 识别复杂但局部的特征
  • Layer 3. 将局部特征进行组合,得到整体识别

机器学习-Learning Deep Architectures for AI -1_第1张图片

Deep Architecture Learning 的目标即如何在尽可能没有人工参与的情况下实现从较低level的识别到较高level的识别。(不需要人工提供大量的训练样本,即无监督学习。)

归纳: AI 学习的必要条件

  • 能够学习高度复杂多变的函数,函数的复杂程度可能远高于训练样本的个数;

  • 关于该复杂函数的各层信息较少时,能够进行有效学习;

  • 当训练集的样本量非常大时,控制计算时间,i.e.计算时间与训练样本量近似线性关系;

  • 可以实现半监督学习,也就是训练样本并非完全是right associated labeled;

  • 可以进行多任务学习;

  • 实现高度无监督学习。


Shallow architecture 的局限性

设用k-1个层表示复杂函数 f(x) 的运算时间为 tk1 ,用k层表示的的运算时间为 tk ,那么很有可能

tk1=O(etk)

例如, 计算多项式 Πni=1mj=1aijxj

  • 先加和后相乘, 2层: O(mn)
  • 先相乘后加和, 1层: O(nm)

Shallow architecture估计法

kernel machine

f(x)=b+iaiK(x,xi)

其中, b ai 为第2层, K(x,xi) 为第1层. 常用的kernel marchines包括支持向量机(SVMs), 高斯过程(GP), K-近邻, Nadaraya-Waston算法. Kernel machines 假设 f(x) 为光滑函数.


Learning Deep Architecture

multi-layer neural networks
参考1. Multi-layer neuralnetworks
2. 多层神经网络
最大的困难: 优化!!

解决方法:
1. Convolutional neural networks
2. Sigmodial belief networks
3. Deep belief networks

ref. Learning Deep Architectures for AI

你可能感兴趣的:(机器学习)