摘要: 想学深度学习? 心里能没点啥数吗?
特别说明: 这篇文章是为了解决那些对于深度学习完全陌生并且正在计划进入这个领域的人. 其目的是帮助他们批判性地思考该领域的复杂性, 并帮助他们区分哪些是真正困难的事情, 哪些是微不足道的事情. 在我撰写和发表这篇文章时, 我意识到这篇文章的语气过于挑衅, 而且我不是一个好的作家, 没有能力写一篇发人深省的文章. 所以请用宽恕的心态来阅读文章.
现在我遇到很多想进入机器学习 / 人工智能领域的人, 尤其是深度学习领域. 有些人问我开始学习的最好方法是什么. 显然, 随着事情的发展, 似乎没有人能够拥有足够的时间获得博士学位. 而且在大学中做这方面的技术研究, 有时候会感觉到在应用程序, 技术和基础设施方面有点落后, 所以这也就是为什么人工智能的大师们都在科技巨头任职的原因. 现在几乎每家科技巨头都给博士生提供职位, 延长实习期, 这可以让你在没有博士学位的情况下在机器学习领域取得成功的职业生涯. 你最好的选择是什么取决于你自身的情况, 但也取决于你想达到的目标. 总之, 拥有博士的头衔进入深度学习领域, 你必须要沉得住气, 因为你比其他人走的更深, 同时花费的时间也需要更多.
有些事情其实很简单
我发现自己给予他人深度学习的一般建议是: 深度学习很容易. 在不选择一些难学的领域时, 学习神经网络不应该成为目标, 而是一种顺带手完成的事情. 比如现在的学习 python, 你就可以顺手学习一些深度学习. 但是, 你必须要有一个这样的认知:
深度学习是强大的, 因为它让事情变得简单.
深度学习为什么这样的原因是, 它允许我们将几个以前不可能完成的的学习问题称为过度拟合的问题, 通过梯度下降将其影响最小化, 这在理论上是超级简单的事情. 深度学习处理我们之前无法处理的自然信号包括: 图像, 视频, 人类语言, 语音, 声音. 但是几乎无论你想要在深度学习中完成什么目标, 总能在很短的时间内完成: 你将几个需要构建模块和想法 (卷积, 合并, 复发) 结合起来, 如果你有足够的数据, 你可以很快的将解决它. 像 TensorFlow,Theano,Lasagne,Blocks,keras 等越来越高级的开源性框架, 将帮助你实现你的想法, 达到你的目的.
挑选更难的东西
这并不是说没有真正的新颖想法来自深度学习, 也不是说深度学习就是今天发展的这个样子. 在进行深度学习的时候, 我们也会遇到多方面的问题, 解决这些问题应该是更具挑战性. 比如, 生成敌对网络和变分自动编码器是引起对概率 / 生成建模新兴趣的出色例子. 理解为什么 / 如何工作, 以及如何推广 / 构建它们真的很难. 同样, 在理解这些深层神经网络为什么以及如何真正起作用方面还有更多令人兴奋的研究方向.
在这个领域还有另外一种感觉, 低级的深度学习正在消失. 建立用于监督学习的深度神经网络, 虽然仍在改进中, 但是现在很多人认为那是很无聊的工作或许多人都能完成监督学习模型的构建(这是一个大胆的陈述, 当然远非如此), 今天我们可以看到, 模型的构建门槛已经低到一个中学生都能够完成, 但是鉴于数据标注的问题, 模型的精准度是一个巨大的挑战. 所以, 下一个目标就是无监督学习模型的构建, 无监督学习模型肯定会从深度学习工具包中受益, 但它的发展也需要一种截然不同的思维方式, 比如说需要熟悉信息论 / 概率 / 几何等知识. 洞察如何使这些方法真正起作用的思维方式, 不大可能来自对目前神经网络架构的改进, 而是会以一种脑洞形式的思维方式开始.
我个人认为今天大多数人通过学习深度学习, 意味着他们正在学习使用一个相对简单的工具箱. 在六个月的时间里, 许多人会拥有这些技能. 这些人没有必要花时间研究 / 学习那些太基础的东西, 因为你可能会错过对工作产生真正影响的机会. 把深度学习当成一个工具, 而不是一个养家糊口的技术, 这应该是未来的一个趋势.
回归本源
什么是最难学的例子? 想想 Ian Goodfellow,Durk Kingma 等作者在提出前面提到的算法时所使用的知识, 现在重新发现的大部分相关内容在 2000 年初都进行了积极的研究. 或许我们都应该回顾学习一下经典的算法, 如 EM 算法, 变分推理, 线性高斯系统的无监督学习 http://mlg.eng.cam.ac.uk/zoubin/papers/lds.pdf , 主成分分析, 因子分析, 卡尔曼滤波, 慢特征分析. 我个人也可以推荐 Aapo Hyvarinen 关于 ICA 的论文, 如果你想了解一些关于深度学习前沿的技术, 你应该尝试阅读 (并理解) 这个开创性的深层信念网络论文 https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf .
快速进阶到下一个技术边界
虽然深度学习是最近发生的最有趣的突破, 但我们也尝试押注未来可能获得相关性的领域:
. 概率编程和黑箱概率推理(带或不带深度神经网络): 如果对此领域的技术感兴趣可以关注一下 Picture https://mrkulk.github.io/www_cvpr15/1999.pdf 或者 Josh Tenenbaum 关于反向图形网络 http://arxiv.org/abs/1503.03167 的论文或者在 NIPS 研讨会上介绍黑盒推理 http://www.blackboxworkshop.org/ . 在这里我需要引用我的一个朋友的话:
概率编程可以为贝叶斯 ML 提供 Theano 所做的工作
. 使用或不使用深度神经网络的 MCMC 和变分推理方法更好且可扩展. 最近有很多关于这方面的工作. 如果我们让 MCMC 像随机梯度下降一样可靠, 那么现在对于深层神经网络来说, 这可能意味着更多显性贝叶斯概率模型和分层图形模型的复苏, 其中 RBM 仅仅是一个例子.
我以前见过这个吗?
同样的事情发生在几年前, 这已经成为数据科学家的流行语. 最初, 使用 Hadoop,Hive 等是一件大事, 几位早期的使用者取得了非常成功的职业生涯. 在早期, 你真正需要做的就是对小型分布式集群进行计数, 并且你很快积累了成千上万的追随者, 他们崇拜你是大数据先驱.
那时候人们看起来很疯狂, 但从几年后就没有开始的新鲜感了, 因为很多人现在都在使用 Hadoop, 而且现在 Hadoop 也有了新的竞争对手, 像 Amazon 的 Redshift 这样的工具让事情变得更简单. 在那些日子里, 除非你以一种有趣的方式使用这些技术, 否则这种技术优势会很快消失. 在炒作周期的顶部, 有数据科学实习, 住宿训练计划, 夜校培训计划等等. 当你完成这些所谓的速成技术培训时, 这些技能其实正在变得毫无意义和微不足道. 现在深度学习的发展过程看起来跟它们非常相似.
总之, 如果你即将进入深度学习, 想想这意味着什么, 并尝试更加具体项目. 想想现在还有多少人在你的位置上, 你将如何确保你学到的东西能够真正的为你创造价值.
总结
深度学习的研究领域涉及机器学习, 统计学, 优化, 几何学等许多有趣的且非常复杂的课题. 大多数人可能遇到的深度学习 -- 乐高积木式的深度学习, 它们是相对简单的, 没有任何竞争力的. 换句话说, 这种深度学习将在未来几年成为一种基本的技能, 并不能体现出你的与众不同的价值. 如果你对这个领域完全陌生, 重要的是要看到超越这个简单的表面, 并选择一些更难掌握的概念.
来源: http://www.jianshu.com/p/348fe2bb21e0