首页 > 商业 > 正文

破除深度神经网络模型“迷信” 探寻深度学习新路径

2018-11-16 07:00:00  21世纪经济报道 杨清清

作为本轮人工智能热潮的关键技术,机器学习尤其是深度学习受到了热捧。一时间,人人嘴上挂着深度学习、神经网络等词汇,似乎不谈这一话题,便与智能时代脱节。

然而,无论开发者或科技企业,对深度学习恐怕存在一定误解。“如果问一下‘什么是深度学习’,绝大多数人的答案都会是:深度学习就是深度神经网络,甚至认为‘深度学习’就是‘深度神经网络’的同义词。”在2018英特尔人工智能大会上,南京大学计算机系主任、人工智能学院院长周志华直言现状。

这一观念其实是片面的。事实上,当前深度学习主流的深度神经网络模型本身,也存在着诸多问题。“吃数据,吃机器,对开发者门槛要求高。”当谈及当前模型痛点时,一位深度学习领域相关开发者向21世纪经济报道记者直言。另一位开发者则告诉21世纪经济报道记者,深度神经网络模型的效果稳定性也可能不如预期。

“Kaggle竞赛中有各种各样的任务,但在图像、视频、语音之外的很多任务上,比如订机票、订旅馆之类,还是传统机器学习技术(如随机森林或XGBoost)表现更好,尤其是涉及符号建模、离散建模、混合建模等问题。”周志华表示,“机器学习界早就很清楚‘没有免费的午餐’,也即任何一个模型可能只适用于一部分的任务,而另外一些任务是不适用的。”

这也就意味着,除深度神经网络模型之外,当前企学研界还有必要探索深度学习新的可能性。

痛点频频

深度学习是机器学习的一个技术分支。与机器学习其他技术流派所区别的是,当前以深度神经网络模型为代表的深度学习模型算法中,拥有许多层次,从而构成“深度”。

与传统机器学习方法相比,深度学习具有其优势。“如果以横轴为数据量,纵轴为模型有效性来看的话,传统机器学习模型随着数据量的增长而效果趋于平缓,深度神经网络模型则随着数据增长形成更高的有效性。”英特尔高级首席工程师、大数据技术全球CTO戴金权告诉21世纪经济报道记者。

之所以模型层级或说“深度”能够在近年来取得突破,源于神经网络中基本计算单元激活函数的连续可微性,导致梯度更加易于计算,而基于对梯度的调整,便可使用BP算法逐层训练出整个模型。

“2006年以前,人们不知道怎么训练出5层以上的神经网络,根本原因就是层数高了之后,使用BP算法的梯度就会消失,无法继续学习。”周志华介绍道,“后来Geoffrey Hinton做了很重要的工作,通过逐层训练来缓解梯度消失,才使得深层模型能够被训练出来。”

然而,正是因为深度神经网络模型是一个层级多、参数多的巨大系统,因此便存在海量的调参需求与相当的调参计算。“甚至有些技术工程师一天下来,其他的什么都没做,只是在调整参数,这是一个很常见的情况。”前述开发者向21世纪经济报道记者感慨道。

不仅是超量参数带来了调参难,随之也形成一系列问题。“比如,在做跨任务(例如从图像到语音)的时候,相关的调参经验基本没有借鉴作用,经验很难共享,”周志华表示。同时,结果的可重复性也非常难,“整个机器学习领域,深度学习的可重复性是最弱的。哪怕同样的数据和算法,只要参数设置不同,结果就不一样。”

此外,深度神经网络模型复杂度必须是事前指定的,然后才能用BP算法去加以训练。但这个过程中存在悖论:在没有解决任务之前,如何预先判定其复杂度?“所以实际上大家通常都是设置更大的复杂度。”周志华表示。

目前这一模型还存在许多别的问题,比如理论分析很困难,需要极大数据,黑箱模型等等。甚至有开发者向记者坦言,神经网络模型在有些领域应用很好,但在更多的领域,采用这一模型的效果不稳定,“如果样本数据量足够大,这一模型的准确率是很好的,但通常公司并没有那么多数据,计算也费劲。”

新的路径?

既然深度神经网络模型存在痛点,那么,在对其进行优化研究的同时,也不得不令人思考:是否存在其他深度学习模型的可能性?

这就涉及到深度学习的本质问题。事实上,深度神经网络的最重要的是特征学习(表示学习),即计算机能够自行学习原始数据的特征、提取特征并表达出来,而这背后的核心是逐层处理。“与传统机器学习技术相比,深度学习抽象级别不同,深度学习可能拥有很高级别的抽象。”前述开发者向21世纪经济报道记者解释道,“计算出特征之后还会继续计算特征的特征,最终放到模型里。”

另一个特质在于特征的内部转换。“例如,决策树也是一种逐层处理,但达不到深度神经网络的效果,就在于它的复杂度不够,同时始终在同一个特征空间下进行,中间没有进行任何的特征变化。”周志华指出。

此外还需要保证充分的模型复杂度。“只有增加模型复杂度,学习能力才可能得以提升。”周志华指出,“逐层加工、特征内部变换、充分模型复杂度,满足这三条的深度学习模型,便能够取得成功。”

就此,周志华尝试提出深度神经网络模型之外的方法:深度森林模型。据介绍,该模型是一个基于树模型的方法,主要借用了集成学习中的想法。“在许多不同任务上,它的模型所得结果可以说与深度神经网络高度接近。特别是在跨任务中,它的表现非常好,可以用同样一套参数,不再逐任务调参。”周志华指出。

“深度神经网络的底层是以神经网络为基础,进而扩展层级深度,深度森林也是类似的概念。”一位南京大学相关研究人士向21世纪经济报道记者表示,“在深度神经网络模型中,堆叠了大量神经元,而深度森林里,每一层神经元的位置变为森林。数据样本通过每个森林得到一个预测结果后,将结果作为下一层的输入。”

这样做的好处是,每经过一层“森林”,机器都会自动判断模型是否收敛,一旦达到正确性要求,模型就不会继续计算,“所以模型是可控的。”前述研究人士向记者强调,“深度神经网络则是必须把层级定好,然后利用算法求梯度。深度森林不需要优先制定层级,走了一定层级之后看验证效果,好的话就不用往后走了。”因此,它对计算资源的要求也不大,“在CPU上就可以跑。”

当然,作为一个最新提出的模型,深度森林还在接受各方的讨论。“就算法本身而言,虽然在训练效率、可解释性方面优于神经网络,但在超大数据下未必能达到或者超过深度学习中的CNN(卷积神经网络)。”一位业内人士向21世纪经济报道记者直言,“不过,这一理论的最大贡献可能在于,提出了一种有别于深度神经网络的深度结构,从而打破了业界对神经网络的迷信,为研究者提供了一个新的思路。”(编辑:张伟贤)