全文共3030字,预计学习时长8分钟
图源:unsplash
六个月前,笔者从咨询顾问正式转职成为了数据科学家。半年时间里,我从这一趣味盎然的领域里收获了出乎意料的满足感,笔者想要将工作期间积累的六个经验教训分享给大家。
阅读arXiv论文
arXiv论文库是卓越思想和先进技术的源泉,也许你已经意识到阅读arXiv论文很有收获。
在这一平台上收获的大量可行性建议令笔者感到惊喜。例如,笔者可能曾经并没有从零开始训练BERT模型所需要的16个TPU(张量处理单元)和7000美金,但arXiv中Google Brain团队的一篇论文所推荐的超参数设置有助于开始微调(fine-tuning)。
在arXiv上,你要找的软件包(package)的相关文本也许能给你带来启迪,继而对其原本的开发文档进行补充。例如,笔者从一篇论及ktrain的文章中学会了部署BERT,此文可读性极强且十分实用。ktrain是Keras上的一个库,为文本、图像和图表应用提供了高效的机器学习接口。
从播客中广泛获取态势感知(SituationalAwareness)
播客虽然不会提高你的编程能力,但可以帮助你深入理解机器学习的最新发展、流行的软件包和工具、该领域悬而未解的问题、解决老问题的新方法、整个业界普遍存在的潜在心理不安感等。
日常收听的播客能让我紧跟数据科学快速发展的步伐。最近,笔者通过播客了解了NLP(自然语言处理)领域的进展,跟进了GPU(图形处理器)和云计算的最新成果,并且就人工神经网络和神经生物学的研究进展之间潜在的共生关系进行了思考。
图源:unsplash
浏览GitHub Issues界面
笔者基于自身使用Issues来获取知识的经验,提出以下三种潜在的益处:
· 从其他人使用或误用软件包的方式中收获灵感。
· 了解某个软件包会在何种情况下发生崩溃,有助于培养对潜在漏洞的敏感性。
· 由于你正处于配置环境和选取模型的准备工作阶段,在向工作流程(pipeline)中添加开源工具之前,最好将开发者和社区的响应能力纳入考虑范围之内。
了解算法与硬件间的连接
在过去的六个月里,笔者深入了解了自然语言处理领域,让我们把话题再次转向BERT。
2018年10月,BERT的诞生震撼了世界。BERT代表了机器学习文本任务处理能力的阶段性变化,它所体现的跨越式进展近似于超人一跃跳过高楼大厦,它的尖端成果基于运行在谷歌TPU电脑芯片的transformer架构之上。
理解TPU和基于GPU的机器学习的含义,对于提高自己作为数据科学家的能力非常重要。这一步很关键,有助于读者深入了解机器学习软件和它所赖以运转的硬件的物理限制之间的不可分割的联系。
随着摩尔定律(Moore’s law)在2010年逐渐不再适用,人们需要更加富有创造力的途径来克服数据科学领域的限制,并追求进步以创造出真正智能的系统。
英伟达(Nvidia)宣讲会上的图表展示了每平方毫米内晶体管的数量随年份的变化情况。该图表突出显示了2010年前后晶体管数量停滞不前,以及基于GPU的计算的兴起。
笔者十分看好机器学习模型-计算硬件协同设计,认为对稀疏性(sparsity)和剪枝(pruning)的依赖将加深,甚至笔者对于“非专门化硬件”机器学习也满怀信心,它看起来将会打破现有的以GPU为核心的范式。
从社会科学中汲取知识
数据科学这一新兴领域可以从21世纪10年代中期发生的社会科学再现性危机(reproducibility crisis)中汲取经验(这种危机某种程度上仍在上演):
数据科学家的“P值操控(p-value hacki
2011年,一个学术众包合作项目曾致力于再现100个已公开的实验和相关的心理学研究。但它失败了,只有36%的再现实验得到了具有统计意义的结果,而在原始实验中这一比例高达97%。
心理学的再现性危机揭示了潜在的危险与应承担的责任,这都和用不严谨的方法论研究科学脱不了干系。数据科学需要可检测、可再现的方法来解决问题。为了根除P值操控问题,数据科学家需要为调查数据以获取预测性特征的方式设限,并限制为评估指标而运行的测试的数量。
有许多工具可以辅助实验管理。其中,笔者使用过ML Flow。我们也能从近几年数据科学领域大量的失误与算法误用中得到许多借鉴。
例如,利益相关方只需要关注社会工程推荐引擎、歧视性信用算法和令现状雪上加霜的刑事司法系统,就能发现问题所在。笔者曾撰文讨论过这些社会弊端,以及如何通过以人为本的有效设计来进行规避。
好消息是,有许多聪明且干劲十足的从业者正在努力应对这些挑战,防止公众信任进一步下跌。以谷歌的PAIR(People+AI Research)、哥伦比亚大学的FairTest和IBM的Explainability 360为例,与社会科学研究人员展开合作可以收获丰硕的成果。
当然,我们还能从社会科学中学到不少其它东西,例如,如何做一场有影响力的演讲。研究社会科学至关重要的一点是了解人类的数据推断直觉在何处更易出现问题。在某些特定情况下,人类很擅长从数据中得出结论。我们的推理能力出现漏洞的情况高度系统化,并且是可预测的。
我们对人类心理学这一领域的大部分理解在丹尼尔·卡尼曼(Daniel Kahneman)所著的《思考,快与慢》(Thinking Fast and Slow)中都有所论及。卡尼曼的研究中对工作有直接影响的或许是他应对沉锚效应(anchoring effect)的方式。“当人们认为清楚了某个未知量的具体值时”,就会出现所谓的沉锚效应。
在交流模型的结果时(也就是代表准确率、精确率、召回率和F-1值等的数字),数据科学家需要格外小心地管控预期。有时,采取略而不证的说法或许比较有用,程度范围从“我们正在攻克这一问题,这些指标可能有变”到“这就是最终成品,我们期望中的机器学习解决方案在现实中的应用也正是如此”皆可。
如果你需要给出的是中间处理结果,那么卡尼曼建议为每个指标提供一个范围区间的值,而不是具体的数字。
例如,“F-1值代表了表中其他指标(精确率和召回率)的调和平均数。它大约在80%至85%之间,这意味着我们仍有改进空间。”采取这种“模糊化处理”的交流策略,听众能够有一个大方向上的正确认知,并且降低了由你所提供的具体值而产生“沉锚效应”的风险。
联系数据与商业成果
图源:unsplash
最后,在着手开始工作之前,要确保你所研究的对象是值得解决的问题。
雇主付给你薪水,目的可不是为了让你构造一个准确率为90%的模型,接着写份报告,在JupyterNotebook里敲敲代码,让自己和同行们沉浸在图形数据库的魔法之中不能自拔。你的工作意义在于将数据与商业成果联系在一起,你需要真正创造价值。
在数据科学领域,我还有很多尚待探索的事物,希望本文能为那些初接触数据科学的读者指明方向。
一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”
(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)