网络机器人吧社区

国内机器学习大佬周志华讲座笔记:机器学习的现状和展望

安迪的写作间 2019-01-10 16:21:44

周老师讲座第一天笔记,虽然拿到了ppt但是因为说了不能公开原因,所以很遗憾不能共享。图片也只是用从网上找来的。

至于周志华老师是谁,对机器学习领域有些了解的人相信都不会陌生。国内机器学习领域顶级大牛之一,南京大学LAMDA组的领导,经典机器学习教材《机器学习(西瓜书)》的作者。更多信息自行百度。

第一天是关于机器学习的一些介绍,还有他的一些展望。Machine Learning: Status and Perspective (机器学习:现状和展望).

机器学习的现状

虽然大家可能已经听说过很多机器学习的应用,但这里还是先用一个例子,来介绍机器学习的有效性。

对于研究人员来说,往往有种“研究债 (Research Debt)”的说法,也就是说总会有无穷无尽的论文等着你去阅读。而对于某些特定领域,比如“循证医学”的话,那就更需要浏览大量论文。


比如说对于小孩残疾的某项研究Tufts医疗中心就浏览了33000篇摘要,平均一篇30秒的话不吃不喝也需要250小时才能完成。这个问题在其他领域也有。

对于这个问题如果使用机器学习的话,就可以大幅减少需要的工作了。所需的只是少量的阅读,给一些论文是否相关的标签,然后用这些数据训练一个模型,之后让这个模型来帮我们筛选。

结果是,只需要50份人类专家的判断,就可以获得有93%准确率的模型。而如果将数据增加到1000个更是可以达到97%准确率!这意味着之前可能不吃不喝得连着干一个月的活,现在一天就能干完了。

从这个例子可以看出一个典型的机器学习过程是,利用已有数据,训练出模型,然后处理新的数据


对于模型部分,可以使用很多种不同的算法。

比如说决策树、神经网络、最近相邻分类法、贝叶斯分类器、最大边距分类器(SVM)、集成方法... 关于这些算法更具体的介绍可以去读《终极算法 (The Master Algorithm)》,或者更加深入点的西瓜书。


当然也不能忘了最近这波AI热潮的始作俑者,深度学习 (Deep Learning)。目前一般看法,深度学习属于神经网络,神经网络属于机器学习,机器学习又含在人工智能里。这些关系刚接触时可能会有点傻傻分不清。


现在大家说的深度学习都默认指深层神经网络 (DNN),也就是有很多层的神经网络。含有成千上万的人工神经元,由连续可微分的激活函数连接起来,最后使用反向传播算法 (BP)来训练。说到深现在有多深呢,比较深的有上千层吧。


DNN最大的一个特点就是表征学习 (Representative Learning),即通过原始数据学习到新的特征。如上图的脸部识别网络,输入像素,DNN捕捉到各级的图像特征。于是这也使得,DNN对于原始特征远离任务适当特征远的任务特别有效,所以对于图像任务特别有效。

关于深度学习,周老师提出一个异议,认为不应当把深度学习就当做是DNN,还有其他的深度学习方法。比如说他提出来的,Deep Forest (深层森林)。

如今随着大数据时代的到来,机器学习已经应用于各个领域,网络搜索、机器人、生物科技... 当然也有些机器学习难以处理的问题,比如说某些问题的数据过少,或特征不足。

未来展望

现在说到机器学习,基本上都会想到算法+数据。因此这两方面的限制,也就会对机器学习产生限制。现在最主要的问题主要有:

需要大量的可用训练数据,虽说是大数据时代,但是真正可用的数据还是不够。因为各种各样的原因,比如总体数据少,标记数据少,目标类数据太少...

难以适应环境变化,目前的算法模型,对于一些环境变化的对应处理能力还是很弱,比如监控系统背景的变化,以及多传感器系统部分传感器损坏导致的特征丢失... 这里主要涉及到泛化性和鲁棒性。

还有黑箱模型这个问题,现在应用最广的神经网络模型,因为缺乏理论解释,所以也存在很多担心。特别是某些领域,比如说医疗检测。我们很难在不给出任何解释的情况下,就进行某项决策。

然后,机器学习还像是个经验科学,同样的数据和方法,老师傅和一般人得到的结果就不一样。所以这也是为什么很多人戏称其为艺术。最后,还有数据私密性和安全性

针对这些问题,周老师给出的预景是利用学件 (Learnware)来解决。所谓学件,即模型 (Model)+规约 (Specification)。把模型当成是工具箱里面的工具一样,每个都有自己的规范和使用场所,我们根据自己的数据与任务需要按照规约选取合适的,组合来解决当前问题。


脑洞再开大点,可以在未来把这种学件模型当做一个个的商品,这样就能出现学件市场,甚至学件工厂。

为此其中的模型部分需要有如下特征:

  1. 可重复使用性。一个训练好的模型,可以根据用户需要,只利用少量数据,就可以得到对当前问题的加强或者适应。这方面的研究包括熟悉的Transfer Learning,还有Model reuse, Bayesian Program Learning。

  2. 可进化性。训练好的模型,能够感知环境的变化,主动地进行适应。这是为了处理不同任务要求,以及不同模型规约的问题。相关研究有Distribution change, Category augmented, Feature change.

  3. 可理解性。 得让用户对模型有一定程度的理解。相关研究Twice-learning framework, 还有knowledge distillation。

对于规约部分,这里提出了三个备选方案。

  1. 基于逻辑的,从训练数据中生成逻辑条款,这块我也不是很清楚,提到了ILP (Inductive Logic Programming)。

  2. 基于统计的,将训练数据一些重要统计信息作为规约。

  3. 基于简单数据的,或者直接从数据中选出一些比较有代表性的数据,展示出来。

当然之后也可以借鉴软件工程的知识,给出更多的选择。

通过这样的学件预想,我们就可以对之前说到的各个问题给出相应的应对。对于大量数据还有数据的私密性,可以用可复用性来应对;对于难以适应环境变化,可以用可进化性来应对;而黑箱问题还有需要经验的问题,可以用可理解性来应对。

我的看法

可能是因为时间太短,还有很多基础的东西我也都已经知道了。所以感觉这个发表很多地方都只是浅尝辄止的谈了谈,远远没有第二天关于Deep Forest的精彩。

关于学件部分,脑洞特别有意思,最开始我立刻想到的是之前Andrej Karpathy提出的软件2.0概念,把神经网络作为模块,只要决定好输入与输出就可以拿来使用。但是之后询问了一下,发现周老师的想法是更大一些的,并不一定是神经网络,只要是能达到前面说的那些效果,用其他算法实现也可以。

遗憾的是,对于怎么具体实现学件,给出来的线索还是太少了。


Copyright © 网络机器人吧社区@2017