我总结了一份Vue实操绝密干货!
|
机器学习教育的现状 在参与过一所AI方面顶尖大学的机器学习基础课程的主干之后,我发现了大部分此类课程所遵循的大纲:它们倾向以线性分类器开始,在引入回归和分类两个概念的同时介绍损失函数和最优化,随后会有一两周来细讲反向传播,然后就完全进入到神经网络。 如果该课程主要关注深度学习,它会用剩下的大部分时间讨论各种神经网络(循环神经网络RNN,长短期记忆网络LSTM,卷积神经网络CNN,等等)和最近发布的重要架构(比如ResNet,BERT)。 反之,如果该课程更关注一般性的机器学习,它会介绍其他的机器学习方法分支,比如无监督学习和强化学习。 我们可以把这些课程的关键论题提炼出来:先是对有监督学习作一概览,再对有监督学习和神经网络的数学基础做简要介绍,继而或者介绍深度学习的各种方法,或者介绍机器学习的其他领域。 另外,看一看课程作业涵盖的内容,也有助于我们弄清楚该课程的主要目标。 作业通常被组织成如下形式:
在了解课程内容和作业设计之后,我们基本上知道了这些课程期望学生学到什么。它们希望学生掌握相应领域的关键模型,而它们采取的方法就是简单地涵盖了所述模型的理论基础,然后要求学生在作业里实现其主要的关键功能。 把机器学习用起来需要的技能 通过跟机器学习工业界的行内人士聊天,我了解到有几个关键技能是成功必备的。首要的技能就是学会如何妥善清洗和分析数据。 我的一位同学非常认同这一点,他在最近的一次实习中花了8周时间来收集和处理数据,然后才能着手把模型用到数据集上。机器学习模型极度依赖数据,因此,掌握这项技能非常重要,它将确保你知道如何利用数据集的关键特性。 其次,对工业界的项目而言,大多数任务是找不到大型数据集的。因此,许多深度学习技术无法使用——可能会带来过拟合以及泛化能力差(poor generalization)的问题。相应地,人们常常用更简单的、不需要大量数据的模型来作为替代方案,比如随机森林或者logistic回归。 这样一来,能够用合适的库(比如sci-kit learn)妥善地使用这些模型就成了很有价值的技能。事实上,一个朋友告诉我,他在微软公司的机器学习岗位上实习时,整整一个夏天都只是在跟logistic回归的各种变种打交道。另外,随着计算机视觉和自然语言处理领域的大型预训练模型的出现,深度学习有时候只是一个精细调参的过程。这进一步增加了熟悉简单、基本的模型的重要性。 但是,对学术界的研究来说,大型数据集通常容易得到,时间限制也不是大问题,因此我们可以训练更大的深度学习模型。例如,Open-AI的GPT3模型足足有1750亿个参数。要造出这么大的架构,关键是要知道如何从工程上设计和搭建这样的一个大型深度学习系统。这就需要精通PyTorch和Tensorflow两者中的一个,这项技能让研究者能够快速有效地实现一个理论模型。
把需要的架构造出来很重要,但是大部分模型还需要进行超参数调节才能有良好表现。在搭建实用的机器学习系统时,非常关键的一项技能就是对调节过程的设计有直觉把握,而非盲目地去调节。就拿我一个最近在英伟达实习的朋友来说,他有一段时间死活调不好某模型的参数,直到最后发现是他选择的初始化区间有问题,导致模型中的多数ReLU激活函数处于抑制状态而使得学习迟滞。 (编辑:四平站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
