目前机器学习的瓶颈有哪些

如题所述

从工业应用来说,机器学习的方法应用会越来越多,目前应用的瓶颈主要体现在下面一些地方:

1. 经验。机器学习的方法对于一般的工程师并不友好,如果没有了解原理和做过一些实验,这就是一个参数很多的黑盒,弄不好效果就会很差。

2. 数据量。效果好的方法大都是有监督训练的,这就需要很多标注数据,数据的质量、归一化方法、分布等,对模型的效果都影响很大。

3. 计算能力。很多模型,特别是深度学习模型,训练时间和资源消耗很大,如果需要多次训练调整策略和参数,周期很长。实际部署运行速度也受模型大小和种类影响,速度和效果会有一个权衡。

4. 工程实现能力。好的算法要有好的工程实现,才能发挥正常的作用,代码能力不行,再好的模型也不行。

5. 算法搭配。实际问题往往不是一个单一的算法可以搞定的,需要多个相关算法合理的搭配组合,具体问题具体分析解决。

6. 技术高度。机器学习还比较前沿,效果和应用场景都有天花板,期望未来几年会有更多技术突破。

作者:苗广艺 来源:知乎

作者:甄景贤 来源:知乎

现时 strong AI 的问题是: 如何令机器像人脑一样思考?

自 90 年代起,机器学习流行 statistical learning (统计学习) 和神经网络,它们已经能学出空间中的任意函数。

那为什么我们还未见到强人工智能?

原因是,「思维 (reasoning)」的内部结构是逻辑,而逻辑是符号 (symbolic) 运算。 研究者一直企图把神经网络和符号运算统一起来,叫 neural-symbolic integration。 但你会发现这个题目下的发展暂时还未有很大突破。

在逻辑的结构下,可以直接从事学习,在假设空间中寻找最佳假设,而那假设空间是全部逻辑句子。 这叫诱发式逻辑学习 (inductive logic programming) 或关系学习 (relational learning)。

这就造成了两种很不同的范畴 (paradigm): 一方面是「连续空间」中的学习,例如 SVM 和神经网络。 另一方面是「离散空间」中的搜寻,如 ILP。 前者可以是很快的,后者慢得可怜。 逻辑学习的慢,就正是我们现在还未有强人工智能的主因。

说起机器学习,现在人人都会想到统计学习,但其实最早的机器学习是在逻辑结构中搞的,那时是 70 年代。 后来统计学习的流行完全掩盖了逻辑学习,那也是经典 AI (classical AI) 「死寂」了的原因。

一般人会觉得离散和连续是两回事,但数学家们知道离散和连续只是一物的两面,这样的例子在数学中不胜枚举。 所以有希望找到逻辑和神经网络的统一,又或者连续和离散学习的统一。

P=?NP 的问题也有关,而且有可能 P=NP。 NP 中最经典的问题就是 SAT (satisfiability,逻辑的可满足性问题),它的本质是 combinatorial search (组合性搜寻),很慢,不能用连续方法搜寻。 所谓连续方法的例子就如 Newton method 那些。 但离散的组合性问题,不容易化作连续的方程解问题。

Deep learning 是最新的潮流,但它搜寻的空间仍然是神经网络那种连续空间。 如何用深层学习的技巧去搜寻有符号或逻辑结构的离散空间? 这可能是一个很好的发展方向。

我现在的研究方向,是将逻辑先转换成抽象代数,然后再去发现由代数通往其他数学分支的桥梁。

=============== 2016 年 6 月================
噢,上面是 2014 年的答案,我很高兴我已经成功地完成了目标,但结果用的不是代数方法。 因为发觉普通代数的两个运算 + 和 x 不够用,而且还要给它一个甚至多个 > 序关系。 怎样搞也好像符号不够用。(可能是我水平低,我也知道有 3 个运算的代数,和略懂一点 universal algebra 的皮毛,但不懂得怎样应用。)

最后,解决办法是放到 vector space 上,但「忽略」那代数结构,而是用机器 learn 出来。 这样的话,不需自己由 bottom-up 设计那代数结构,对我来说很易。

过渡到 vector space 之后真的豁然开朗,因为可以用到动态系统、控制论那些方法、深度神经网络等。 我现在已忙著搞那边的事。

在逻辑/代数那边,还有张量代数可以用,其实有很多人研究了用 tensor products 代表自然语言句子,有兴趣可以看看《Quantum mechanics and linguistics》(2013) 这本书。 但这属於我所谓的 bottom-up 方法,亦即是说 explicitly 给出符号逻辑的形式,但在神经网络中似乎可以用 implicit 的方法,让机器 learn 它出来,使用者不知道实际的 representation 是什么。

模仿与逼近人脑我觉得会是机器学习的终极形式,但是现在由于生物科学发展的限制,人们对人脑的机理只窥得冰山一角。
现在最有希望的机器学习模型DeepLearining也正是基于对人类视觉系统的信号处理的研究发现:可视皮层是分级的。
所以可见,对人脑理解的一个小足进步都会推动机器学习一个大的发展。

现在受到计算机体系限制,即使是用大型分布式电脑也无法模拟人脑的神经网络模型,现在大型的DNN模型有上亿个神经元已经算大的了,可是人脑的神经元个数现在被估计在150亿数量级上。
另外一点是:
经过测试人脑神经元彼此传递信号的速度其实并没有计算机模型中两个神经元传递速度快,但是效果却远远好于计算机神经元模型,那是因为人脑神经元之间是高度并行化的,这一点现代计算体系根本无法突破,只能期待有生物特性的计算机了。
温馨提示:答案为网友推荐,仅供参考
相似回答