所有数据科学家都应该掌握的五项技能
和练习来让你坚持每一项
乔纳森·博尔巴在 Unsplash 上的照片
W 当大多数人想到数据科学时,他们会想到超复杂的模型、万亿字节大小的数据库和复杂的多显示器仪表板。实际上,数据科学的任务比大多数数据科学家愿意承认的要“平凡”得多。“数据”比“科学”更重要。这意味着收集、清理、可视化、关联以及最终预测数据。在本文中,我列出了所有数据科学家都应该熟悉的五项技能。
在很大程度上,这些更多的是与 python 和脚本有关,而不是训练和推理。对于每项技能,我都列出了几个你应该能够解决/回答的“问题”。大多数都很短,不需要很长时间就能完成。有些需要一个下午,可能需要一些咖啡。尽管如此,除了我的建议之外,还是要花时间去发展它们。
虽然本文主要面向初学者,但有些任务甚至对有经验的用户来说也可能很有趣。此外,这可以作为一个检查表来衡量你在数据科学方面的进展。
大纲:
- 图像挖掘
- 文本挖掘
- 数据集预处理
- 使用预先训练的模型
- 可视化数据
排名第一的图像挖掘
大多数数据科学问题都始于寻找与任务相关的数据集。然而,大多数时候,并不存在针对您的问题的数据集。我们必须建立自己的。对于那些计划使用计算机视觉的人来说,熟悉图像抓取是一项必要的技能。此外,当你制作第一个数据集时,你会意识到这比你想象的要难。
练习 1: 构建一个 python 脚本,使用 google images 自动获取与 Q 个查询匹配的 N 个图像。每次查询都将它们保存在一个子文件夹中。使用 N = 150 和以下十个查询:猫、狗、蜥蜴、鱼、鸟、鲨鱼、青蛙、牛、恐龙和怪物。如果你有创意,你也可以使用 instaloader 包从 Instagram 下载图片。代替动物,你可以做一个你最喜欢的影响者的数据集。
练习 2: 手动检查每个文件夹,删除所有与查询不完全匹配的图像,如 memes 和 drawings。统计每次查询删除了多少张照片以及删除的原因。有什么查询是重叠的吗,比如狗文件夹里的猫图片?
练习 3: 修改练习 1 中的脚本,为每个查询下载更多的图像,以补偿您在练习 2 中删除的图像。执行这个脚本得到 N = 1000。
练习 4: 对于练习 2,手动检查每个文件夹,删除重叠和不需要的图像。这一次,假图像出现的频率是更高还是更低?构建每个类一万幅图像的数据集需要多长时间?
#2 文本挖掘
对于图像挖掘,我们经常需要收集大量的文本。虽然存在通用数据集,但我们经常处理特定的词汇表或不太常见的语言。除此之外,很多时候我们还要自己做文字清理,这是一个非常容易出错的工作。
为了磨练我们的文本挖掘技能,我们将看看从维基百科抓取文本。文字嘈杂;几篇文章可能包含一千多个独特的单词。有些可能拼错了。一些将被连字符连接。清洁图像是自然的;清理文本没有那么多。
练习 1: 创建一个脚本,可以从维基百科获取 N 篇文章,并提取其标题和文本。有很多方法可以做到这一点,REST APIs、pip 包、美汤等等。要获得随机页面,您可以使用“随机页面”链接。试着下载一百篇文章。
练习 2: 创建一个脚本,将所有文章组合成一个字符串,统计每个唯一单词的频率,按频率排序,并打印所有内容。数据集中最少/最常用的一百个单词是什么?有多少单词出现一百次以上?
练习 3: 使用绘图库,创建词频线图。得到的曲线是什么形状?使用对数标度重复绘图。曲线现在看起来怎么样?
练习 4: 手动计算每个文档每个单词的 TF-IDF 。这是自然语言处理中最广泛使用的度量之一,用于确定哪些单词与每个文档相关。按顺序,按 TF-IDF 值对单词进行排序,并打印前 10 个单词。将它们与文章的标题进行比较。它们是相关的词吗?
练习 5: 要清理文本语料库,您必须将所有内容转换为小写,删除停用词,删除数字,修复错别字,取消缩写,并使每个单词正常化(词干化和词条化)。此过程有效地删除了所有冠词、介词、性别标记、复数标记,并将所有动词转换为不定式。最后,通常会删除 10%或 20%最不常用的单词。这整个过程是做好自然语言处理最关键的任务之一。寻找如何执行此操作的教程。 NLTK 是一个优秀的工具大量教程。
练习 6: 如果你在清理文集时幸存下来,重复练习 4。每个文档最相关的单词有变化吗?
练习 7: 有些词放在一起有不同的意思。“The”、“United”和“States”在单独使用时有各自的含义,在一起使用时表示“美国”。找到这样的二元模型和三元模型。在高层次上,这可以通过将两个词随机一起出现的概率与它们在数据集中一起出现的实际频率进行比较来实现。
#3 数据集预处理
有时我们会找到一个可以使用的数据集。然而,除了主流的,到达“X_train,y_train,X_test,y_test”可能没有你想的那么简单。在实践中,数据科学家必须每天驯服数据野兽。这里有一些数据集,你必须做一些手工工作才能让它们为深度学习做好准备。
练习 1: 处理原始的 CIFAR-10 和 CIFAR-100 数据集。这包括下载它,用 pickle 打开文件,对加载的数组进行整形,以及将图像规范化为[0,1]范围内的浮点数。
练习 2: 处理原始 Flower-17 数据集。执行与练习 1 中相同的任务。这一次,下载中没有标签信息;你必须想办法得到它。
练习 3: 处理原始的 Flower-102 数据集。这次有一个 Matlab 文件,你可以用它来弄清楚如何打开和提取相关数据。另一个选项是使用这个页面来获得每个类的实例计数。
练习 4: 之前我们手动下载了一些维基百科的文章来做一些 NLP 的任务。这次,你的任务是下载整个英文维基百科。换句话说,所有文章的所有文本。幸运的是,维基百科本身提供了许多下载其全部目录的方法。不要试图一条一条地做这件事。您的工作是找到一个转储,下载、读取并解析它。这意味着要完成整个清洁程序。
练习 5: 有时,我们必须增强数据集。CIFAR-100 有一百个类别,但它只有图像数据。你的任务是使用你的维基百科搜集技能为每个 CIFAR-100 类找到 50 个相关单词。衡量这 50 个词在类别和子类别中有多少重叠。
#4 使用预先训练的模型
对于大多数概念验证,预先训练的模型就足够了。 TensorFlow Hub 是一个很好的地方,可以感受到外面有什么可以使用。存在许多用于图像分类、对象检测、情感分析、文本处理等的模型。知道如何应用、微调和重新训练一些最著名的模型是快速执行数据任务的必要技能。
这些练习旨在让您使用一些最常用的模型来完成一些最常见的任务。
练习 1: 为 ImageNet 数据集获取预训练版本的 ResNet50。它的输出是一个 1000 元素的向量,其类别置信度为 ImageNet 挑战中使用的 1000 个类别。您的工作是创建一个脚本,该脚本使用 ResNet 模型获取图像并打印其类。您还可以让它编写五个最可能的类,取五个最高的输出值。
练习 2: 针对 MobileNetV3 模型重复练习 1。下载 1000 张图片,测量每个模型处理这些图片需要多长时间。精度是否受到显著影响?哪款比较好?
练习 3: 启动并运行 YOLO 和更快的 R-CNN 模型。您可以使用 COCO 2017 验证图像、一些 Youtube 视频或您的网络摄像头作为检测的数据流。找出它们支持的对象类型。哪个更快更准确,准确多少?
练习 4: 对于文本,大多数模型会给每个单词分配数值来表示它们的含义。这就是所谓的单词嵌入。使用 BERT 模型对 IMDb 评论数据集进行情感分析。为此,您需要微调 BERT。情况如何?
#5 可视化
数据可视化的重要性怎么强调都不为过。没有它,我们就看不到我们的数据所能提供的所有机会。我们可以用它来完成模型解释、错误分析和数据理解等任务。在我在本文中介绍的所有技能中,可视化是最需要独创性和想象力的一种。俗话说,一图胜千言。在下文中,我提出了一些问题,你必须找出一个或多个回答这些问题的视觉化图像。
练习 1: 考虑一下 IMDb 评论数据集。你能想出一个好方法来形象化哪些单词代表积极和消极的类别吗?修剪最频繁的单词是否提高了你的视觉化?如果你训练 BERT 来解决这个问题,试着把它出错的评论可视化。这些评论有什么特别之处吗?
练习 2: 下载 CelebA 数据集。画出每个属性的频率。哪些是最频繁/最不频繁的?你如何快速总结每堂课对非英语人士的意义?有些标签非常主观,是不是所有“有吸引力”类别下的面孔都对你有吸引力?其他一些不属于这一类的图片有吸引力吗?
练习 3: 微调 ResNet50 和 MobileNetV3,以求解 CIFAR-100 数据集,并保存它们对所有测试图像的预测。两个模型在预测中同意/不同意的频率是多少?哪些是他们比较认同/不认同的阶层?他们都搞错的图片有哪些?
练习 4: 下载 Flower-102 数据集。每种的原色是什么?有多色的花吗?花可以按颜色分组,也可以按名称有意义地分组吗?
练习 5: 下载针对 ImageNet 问题训练过的 VGG 网络,应用到某个图像上。检查其第一个卷积,每个滤波器可以识别哪些模式?第二层和第三层可以这样回答吗?
这些是有抱负的数据科学家需要掌握的五项最基本的技能。如果您完成了这些练习,您将熟悉如何获取文本和图像数据、利用现有数据集、使用预先训练的模型以及使用可视化技术来深入了解您的数据、模型和错误。经验丰富的开发人员应该已经熟悉这些任务,并对大多数问题的结果有一个有根据的猜测。
我希望这些能让你感兴趣,并能帮助你锻炼数据科学的肌肉:)
对于研究型的乡亲们,我也写了一篇文章,对 2020 年 AI 论文阅读的十点建议。看看这个。
阅读建议让你了解人工智能和数据科学的最新经典突破
towardsdatascience.com](/ai-papers-to-read-in-2020-ac0e4e91d915)
如果您对本文有任何问题,请随时发表评论或与我联系。如果你是中新,我强烈推荐订阅。对于数据和 IT 专业人员来说,中型文章是 StackOverflow 的完美搭档,对于新手来说更是如此。注册时请考虑使用我的会员链接。
感谢阅读:)
成功的数据科学需要考虑的五件事
真正成功的数据科学项目有五个共同点…
一个成功的项目被实施并产生真正的商业价值。然而不幸的是,这样的数据科学项目仍然很少。项目失败的原因大多相同,将这些失败的原因转化为数据科学成功的五个要素。
伊恩·斯托弗在 Unsplash 上拍摄的照片
让我把你介绍给他们…
1.数据和工具
您的数据和工具需要为数据科学做好准备。公司仍在努力获取数据(政治上和技术上)。许多公司都有遗留系统,这让数据科学家的生活很艰难。不了解用于数据科学的工具的要求或不同可能性,或者没有资金为团队提供高效工作所需的资源。我不止一次听到有人因为公司基础设施不够而把他们的模型带回家。
你的团队有必要的数据和工具来完成这项工作吗?
2.技能
你可能会想到建立深度学习模型的技巧,数据和软件工程,建立管道。但这还不够。理解业务环境中使用的数据的技能以及理解不同数据字段之间的联系的能力同样重要。让我们不要忘记项目管理或产品管理技能,要看到全局和与业务沟通的能力。
你的团队真的拥有完成工作所需的所有技能吗?
3.沟通
这个我在其他帖子里都提到过:沟通,沟通,沟通。数据科学家和业务人员之间的对话通常发生在两个层面上,他们相互交谈,并在错误的印象下认为他们理解相同的事情,分析翻译是解决方案。团队倾向于在没有正确澄清业务中不同利益相关者的期望的情况下就采取行动。我们不要忘记对最终用户的变更管理,尤其是当他们害怕失去工作的时候。
你的团队是否与不同的利益相关者进行了足够的沟通?
4.商业案例
商业案例,一个当你谈论一般项目时的经典案例。但在数据科学项目中不太经典。数据科学项目往往在没有商业案例的情况下启动,而是通过“如果……不是很酷吗?”(填写你喜欢的神经网络和随机应用)问题。避免不明确的项目范围或检查在生产中运行一个模型并围绕它构建一个产品的成本可以为您节省大量资金。
您的数据科学项目的业务案例是否清晰?
5.管理
如果你有数据、工具、技能、沟通和商业案例。政府仍然可以把你扔回去。数据科学团队需要嵌入到组织中正确的位置,并与不同的支持职能部门建立正确的联系。接受项目的过程、团队工作的方式以及遵守规章制度是关键。最后但同样重要的是,你需要高层管理人员的认可。如果治理设置不正确,你注定会失败。
你的治理为你的成功做好准备了吗?
摘要
如果您可以问自己关于您的数据和工具、您团队中的技能、您如何与业务的其余部分沟通、业务案例和治理设置的问题,您可以很快澄清您是否为您的数据科学项目的成功做好了准备。
关于我:我是一名分析顾问,也是当地一所商学院“人工智能管理”研究的主任。我的使命是让数据科学家(再次)开心,并帮助组织利用人工智能创造商业价值。 在这里报名我的快讯。
评估组织对数据科学理解的五个 W
蒂姆·高在 Unsplash 上拍摄的照片
如何面试一个有潜力的组织
一个在数据科学领域不断被提起的话题:想要雇佣数据科学家的公司不知道为什么。组织意识到与优秀的 DS 团队相关的 R.O.I .改进和成本降低,但是许多组织并不知道从他们的业务角度来看成功是什么样的。他们只是拿出几十万美元的薪水,给数据科学家提供几个职位空缺,并给出通用的工作描述。
这就是你在大学二年级被迫上的写作课的回报。在接受一个可能有风险的 DS 职位之前,确保你在面试中问了正确的问题……五个 W 会有帮助(谁、什么、何时、何地、为什么)。我跳过“如何”,因为在大多数情况下,如何的问题可以用 5 w 来涵盖。
照片由 Masaaki Komori 在 Unsplash 上拍摄
谁
“谁”问题将揭示组织的利益相关者。一些需要考虑的大问题:
Who are the final users?
Who is going to approve these solutions?
Who do we report to?
什么
“什么”问题将回答整个 DS 流程的许多方面:
What is/are the problems and/or pain points?
What resources are available to us?
What known data issues exist?
What other departments can we consult?
What does success look like?
What are the ways results are verified?
What is it worth to solve the problem?
照片由伊莎贝拉·克里斯蒂娜在 Unsplash 拍摄
当
“何时”问题将回答时间表和截止日期问题:
When is/are the project(s) due?
When will the data be sufficient (if insufficient)?
When are progress reports taken place?
When can results be verified?
埃利奥·桑多斯在 Unsplash 上拍摄的照片
哪里
“在哪里”问题将找到资源位置的答案:
Where can we retrieve _______ data?
Where can we store ________ data?
Where is the process currently?
为什么
“为什么”问题可以揭示商业实践的背景:
Why is this process currently set up this way?
Why is this information important/proprietary/sensitive?
Why was this equipment/software/cloud service mentioned?
招聘人员或典型的人力资源经理可能无法回答这些问题。保留一份一般性问题的清单,并在你进入面试“链条”时把它们划掉。招聘经理会知道很多答案,也许公司会让你接触那些能回答这些问题的人。
问正确的问题会让你在潜在雇主的眼中看起来像一个专业人士,会发出危险信号或缓解你的担忧,也许还会透露出该组织是否了解他们自己的数据以及了解到什么程度。它允许您将自己作为一项业务资产,而不仅仅是一名数据科学家。
古德哈特定律的四种味道
作者图片
古德哈特定律是以英国经济学家查尔斯·古德哈特命名的一句名言,通常是这样说的:“当一项措施成为目标时,它就不再是一个好的措施。”
商人、经理和数据分析师都对这个想法感兴趣,这是有充分理由的:公司通常使用指标来运营,没有什么比善意的指标变坏更糟糕的了。
一个著名的例子就是现在所谓的“T2 眼镜蛇效应”。故事是这样的:在英国统治下的印度,殖民政府担心德里有毒眼镜蛇的数量。政府认为招募当地民众来努力减少蛇的数量是一个好主意,并开始为每一条送到政府门口的死眼镜蛇提供奖金。
最初,这是一个成功的策略:人们带着大量被宰杀的蛇进来。但是随着时间的推移,有事业心的人开始饲养眼镜蛇,打算以后杀死它们,以获得额外的收入。
当英国政府发现这一点时,他们取消了奖金,眼镜蛇饲养者将眼镜蛇放归野外,德里经历了带头巾蛇的繁荣。
因此,Raj 的眼镜蛇问题并不比它开始时更好。
古德哈特定律的四种形式
今天,我们知道古德哈特定律有四种类型。大卫·曼海姆和斯科特·加拉布兰特在他们的论文 中列出了这些味道,对古德哈特定律的变体进行了分类;曼海姆后来写了另一篇名为 构建更少缺陷的指标 的论文,他通过慕尼黑个人 RePEc 档案馆分发了这篇论文。(我应该指出,这些论文都没有经过同行评议,但我不认为这有损它们的价值。)
在他们的论文中,Manheim 和 Garrabrant 以一种极其一般化的方式展示了他们对这四个类别的看法——一旦你想到古德哈特定律的应用,这是有意义的。例如,Manheim 和 Garrabrant 对这一想法对人工智能研究的影响很感兴趣(想象一下,如果你告诉一个超级智能人工智能优化回形针的制造,它决定液化人类以便生产更多的回形针……),但对古德哈特定律的更好理解广泛适用于公共政策、公司管理和激励系统设计。
本帖是外行人对四味的总结;这并不意味着本文中所有子案例的详尽叙述。但我认为,对这四个阶段的广泛理解应该对普通商人有用。让我们开始吧。
回归古德哈特
古德哈特定律的第一种味道是唯一无法避免的。
让我们想象一下,你必须为一份工作雇用候选人。你真正想衡量的是他们未来的工作表现——但你不能在面试中直接衡量。然后,你了解到智商和工作表现的相关系数约为 0.6。你决定进行智商测试。什么会出错?
起初,测试是成功的——你的公司成功地雇佣了比通过旧流程雇佣的人更优秀的人。受此鼓舞,你慢慢开始优化你的招聘,只考虑智商:例如,你宣传你的公司非常有选择性,非常适合工作,充满了聪明人,等等。但是过了一段时间,你会意识到智商最高的人往往比一些高于平均水平的候选人表现更差。这些高智商人群中的一些人很难共事!恭喜你:你刚刚经历了倒退的古德哈特。
回归古德哈特的出现是因为你用来代表你的目标的衡量标准与那个目标不完全相关。在我们上面的例子中,智商与工作表现的相关性为 0.6,按照社会科学的标准,这是一个很好的相关性,但这也意味着还有其他个因素对工作表现有影响。仅仅通过优化智商,你可能会得到次优的结果,因为你忽略了其他因素。
为了理解为什么这可能是真的,让我们假设认真的心理特质也是未来工作表现的预测因素(是,以防你想知道)。如果你已经为超高智商的人做了优化,你实际上是从一小群人中挑选,因为在任何人群中,超高智商的人都很少。你从那个小圈子里挑选出一个和都有高度责任心的人的几率真的很低;因此,我们应该看到这样一个结果:工作表现最好的人智商高于平均水平,但智商最高的人并没有最好的工作表现(因为他们不太可能也有高度的责任心,而责任心有助于工作表现)。这种效应有时被称为“尾巴分开”。
在实践中,回归古德哈特是不可能避免的,因为几乎每一个你能想到的测量都是你想要测量的真实事物的不完美反映。如果这个标准变成了一个目标,那么你很可能会偏离你真正的目标。
你会怎么做?一个解决方案可能是将对立的指标配对,就像传奇的英特尔 CEO 安迪·格罗夫曾经建议的那样。但是另一种方法,曼海姆建议的方法,是寻找对你真正目标的更精确的测量——说起来容易,做起来难!
埃斯特拉尔·古德哈特
在正常情况下,当你选择一个与你的目标相关的度量时,就会出现极端的古德哈特。但是采用这种方法会让你优化这种方法,在这种方法的极端情况下,与你目标的关系会破裂。
Garrabrant 举了一个我们与糖的关系的例子:人类进化到喜欢糖,因为在我们祖先的环境中,糖与卡路里相关。这在我们猎狮的时候非常有效;然而,今天,同样的优化导致我们喝可乐,吃多力多滋,滑向肥胖。
在机器学习中,这有时是由于“欠适应”而发生的。例如,两个变量之间的关系被假设为低次多项式,因为高阶多项式项在观察空间中很小。然后,基于这种度量的选择会向高阶项更重要的区域移动,因此使用机器学习系统会产生古德哈特效应。
因果古德哈特
你是一所高中的校长。你了解到高中成绩好的学生在大学考试中表现更好。你得出结论,帮助你的孩子在高中考试中取得好成绩会带来好事情,所以你推出了一个项目来教他们考试技巧。你也给你的班主任施加压力,引导学生学习更简单的科目,因为这样可以提高他们的平均考试成绩。
它不起作用。你刚刚经历了因果古德哈特。
另一个更琐碎的例子:你是一个孩子。你读到篮球运动员更有可能长得高。你想变高。所以你打篮球。
古德哈特定律的这种特殊风格很容易理解。这个想法是,当两者实际上是相关的(并且可能是由第三个因素引起的)时,你认为一个度量产生一个结果。自然地,如果你优化了其中一个,你通常不会影响你想要的结果。在我们上面的考试例子中,很明显,高中考试预测大学考试只是因为它们反映了学生的智力、知识和努力程度(以及其他因素)。试图通过榨取高中应试能力来取得更好的大学成绩,充其量用处有限。
当人们说“相关性并不意味着因果关系”时,这就是他们的意思
对抗性古德哈特
对抗性古德哈特是英国统治下的眼镜蛇的故事。
维基百科关于眼镜蛇效应的文章有很多其他有趣的例子,包括这个:
1902 年,河内的法国殖民政府创立了一项赏金计划,每杀死一只老鼠就奖励一笔钱。为了获得奖金,人们需要提供一只老鼠的断尾。
然而,殖民地官员开始注意到河内没有尾巴的老鼠。越南捕鼠人会捕捉老鼠,切断它们的尾巴,然后将它们放回下水道,这样它们就可以繁殖并产生更多的老鼠,从而增加捕鼠人的收入。
对抗性古德哈特的一个相关例子是坎贝尔定律:
社会决策中使用的量化社会指标越多,它就越容易受到腐败压力的影响,也就越容易扭曲和腐蚀它所要监控的社会进程
你可以想象这样一种情况,一个政府说它的所有政策必须基于“证据”,因此这导致了巨大的压力(和大量的激励!)让系统中的各种参与者操纵、润色和篡改“证据”,以证明政府政策的合理性。
这里的一般思想是,代理可能以破坏指标目标的方式优化指标(眼镜蛇效应),或者代理可能选择以降低指标预测效应的方式优化指标。
解决办法?曼海姆建议进行“预验尸”,比如,“好吧,我们将要选择的政策在未来出了问题,发生了什么?”他指出,在一个群体中,不需要有那么多人,就会有人想出一个似乎很可怕的场景。
现在你知道了:古德哈特定律的四种口味。如果这篇文章没有让你想起什么,那么请记住这一点:如果你想让你的后院少一些蛇,就不要花钱买死蛇。
原载于 2020 年 10 月 14 日 我们的博客 。
四个 F
如何为您的数据科学项目定义高质量的研究问题?
艾米丽·莫特在 Unsplash 上的照片
我教授数据科学方面的大学三年级课程。这不是典型的讲座、实习和辅导课程。讲座很少,而且更多的是关于数据科学的实践,而不是书本知识。在为期一周的数据科学训练营*,*中,我们一起从头到尾完成一个样本项目,学生们通过自己创作的数据科学项目获得支持。这对系统来说可能是一个冲击,因为他们更习惯于预定义的项目,并遵循精确的规范,所以从头定义自己的项目的想法既令人生畏又令人兴奋。
根据我的经验,他们面临的最大挑战不是编码,而是他们希望追求的研究问题的定义。做对了有助于塑造整个项目,通常会带来好的结果,但做错了会让学生陷入永无止境的清晰和目的的斗争中,这很少会导致一个突出的项目。
在这篇文章中,我试图捕捉我早期给学生的一些建议:在一个研究课题中寻找什么;以及如何思考他们的研究目标;以及如何将其转化为一个适当的研究问题,在他们的项目中很好地为他们服务。虽然在我写这篇文章时,我想到了我的第三年,但我不认为这些建议仅限于他们。当然,我经常就类似的问题为我的研究生和其他研究人员提供咨询,因为他们在确立研究目标时面临许多相同的挑战。因此,我认为任何从事数据驱动项目或任务的人都会对这篇文章感兴趣。
四个 F
从一份容易记起的清单开始总是好的。在营销方面,他们有四个 P(产品、价格、促销、地点)。我能想到的最好的是四个 F——迷人的、专注的、可证伪的、可行的——好吧,这并不是脱口而出,但它很好地抓住了在定义你的研究和提出研究问题时需要考虑的重要问题。
迷人的
试着找一个让你着迷的话题。如果你不在乎你选择的主题,那么没有人会在乎。此外,你不会发现工作令人满意,你不会喜欢做它,你产生的结果充其量也就是平庸。它不必是一个如此重要和引人注目的主题,以至于每个人都同意它需要得到回答。说实话,这样的问题很少,而且追求显而易见的候选人冒着你的工作被认为是衍生产品的风险!
我永远鼓励我的学生追求他们自己的兴趣爱好。毕竟,这些是让他们兴奋的话题,如果他们兴奋,那么其他人也可能会兴奋。追求自己的兴趣也带来了额外的优势,即你对某个主题有一些专业知识,这可以给你一个宝贵的开端。这通常也会让你更容易凭直觉发现一个有趣的研究问题,你的直觉可能足以在过程的早期阶段评估你的发现是否合理。这可以给你时间来调整你的研究或重新计划。
无论你选择什么主题,在开始的时候花时间思考一下为什么你会对它感兴趣,以及谁会对它感兴趣。这将有助于你更好地理解自己的动机,并使你能够更好地为他人激励你的工作。请放心,即使你选择了一个非常小众的主题,你也会发现会有其他人对它感兴趣,这是我们这个互联世界的本质。你对它的热情会闪闪发光,这可以成为吸引他人注意力的催化剂。
举个例子,几年前我对跑步越来越感兴趣,并开始探索网上收集的马拉松数据。这是我自己感兴趣的事情,但我很快发现我正在探索的问题也是其他人感兴趣的,开始时是我核心研究之外的个人项目,后来成为我当前工作的主要研究主题之一,导致了大量的博客文章、科学文章,甚至一些媒体邀请。我从事这项工作是因为我对它感兴趣,我想知道我所提问题的答案。但是当我谈论这项工作,当我写下它时,其他人也变得感兴趣,揭示了新的机会和更多的研究问题。
聚焦的
一个好的研究问题应该集中在一个定义明确的问题上,这个问题足够具体,可以用一种彻底而严谨的方式来回答。但是,虽然一个研究问题应该集中,它不需要以那种方式开始。事实上,以问一个大而大胆的问题开始可能是一个有用的练习——也许这个问题会有广泛的吸引力——但时间会将你的注意力集中在这个初始问题的更精确和更实际的版本上。
几年前,我对这个问题很感兴趣:*好莱坞会毁掉好书吗?*这是朋友间辩论的常见来源,这使它变得有趣和有吸引力——每个人都了解书籍和电影,每个人都对这个话题有看法——但这个问题到底是什么意思?我把它翻译成一个更窄的版本:*电影的收视率通常比改编自的书的收视率好还是差?*现在,我们越来越专注于促进数据科学的发展。我们在谈论数字(收视率)和比较书籍和电影的(平均)收视率,但我们仍然可以抓住我们开始时提出的大而大胆的问题的本质。
另一个例子是,在我的马拉松工作中,我最感兴趣的话题之一是我应该如何调整自己的比赛节奏,以最大限度地提高我的成绩。因此,一个大胆的大问题变成了:马拉松比赛中的最佳配速策略是什么?但是这个问题太宽泛太模糊了,没有用,我需要一个更集中的关于速度的问题。我意识到一个常见的马拉松建议,“不要开始太快”,这导致了对数据提出更实际的问题:在马拉松中开始太快会影响你的表现吗?这要好得多,因为它通过比较跑步者在比赛开始时的速度和他们的总完成时间,提出了一种实用的前进方式。
这又一次将我们带回到数字、平均值和比较——数据科学的东西,具体而可行——这意味着我们可以在脑海中有一个具体的目的地,如果没有一套精确的方向,至少我们有一张地图和一个指南针!
可证伪的
可证伪性 或可反驳性*是科学哲学中的一个关键概念,由卡尔·波普尔在其著作Logik der Forschung(1934)中首次提出。简单地说,如果一个陈述可以被证据(或数据)反驳,那么它就是可证伪的。经典的例子是,“*所有的天鹅都是白色的,”这是可证伪的,因为我们可以观察到黑天鹅的存在。可证伪性通过提供一种将观察和数据转化为可靠的科学结论的原则性方法,支撑了 科学方法 。
“那(你的假设)不仅不对;它甚至没有错。”—沃尔夫冈·泡利(1945 年诺贝尔物理学奖)
在实践中,这意味着你应该将你的研究问题框定为一个可证伪的假设,通过提出一个可能是真或假的陈述,并以一种可以导致能够反驳它的实验或分析的方式。
这有助于我们避免模糊的研究问题,例如“马拉松的最佳配速策略是什么?”并迫使我们制定更有意义的计划,比如“出发太快会影响你的马拉松成绩吗?”或者,更好的是,作为一个可证伪的陈述,“与起跑不太快的跑步者相比,起跑太快的跑步者完成时间较慢。”现在我们可以通过使用关于开始速度和结束时间的数据来反驳这种说法;如果快速启动者的平均完成时间与慢速启动者的平均完成时间没有区别,那么,在其他条件相同的情况下,这种说法将是错误的。
如果你认为这更多的是为了迎合科学哲学,而不是数据科学的实用性,那么你就错了。将你的研究问题框定为一个可证伪的假设,为你的工作提供了一个更坚实的基础,这带来了许多重要的实际好处。特别是,现代统计技术基于这种类型的 假设检验 ,当从你的工作中得出结论的时候,你会发现它更适合你需要用来验证你的发现不是偶然的统计检验类型;这是解释你的实验结果的重要一步。
可能的
最后,你必须确定你的研究问题是否可行?简而言之,用你现有的数据,在可利用的时间内,用你学到的技能,能回答这个问题吗?通常,如果你有合适的数据集,那么你就能够设计出一个符合你的时间框架和技能的研究问题。
然而,我经常看到学生在他们的项目中脱轨,因为他们意识到他们的数据集缺少一些回答他们的研究问题所需的重要信息时已经太晚了。通常这是因为问题没有被正确定义,杜平让他们认为他们的数据集足以满足他们的需求,直到测试的时候。
当我在研究好莱坞是否有毁掉好书的倾向时,我知道我需要电影评级和书籍评级。 IMDB 提供了大规模的 数据转储 电影数据,包括收视率, Goodreads 提供了一个方便的 API 来获取图书数据和收视率。然而,几百万的电影和书籍收视率本身是不够的。我需要能够识别改编自书籍的电影,并且我需要将这些电影与相应的书籍对应起来,以便可以在同类的基础上比较评级。这是该项目的最具挑战性的方面。我需要验证 IMDB 数据中是否包含了某部电影改编自某本书的信息;它通过写作学分以各种方式做到了。我还需要测试我是否能可靠地匹配电影和书籍;我可以用 Goodreads 搜索 API 搜索电影名称、年份和作者信息。
请记住,您不能从无到有,因此,如果您需要特定的数据来回答您的研究问题,那么您需要确保它在您的数据集中可用,或者它可以从可用数据中导出。有时,即使数据没有丢失,精度也是一个问题。在我的快速启动马拉松工作中,我需要测量马拉松运动员的起跑速度,但我的数据集只包括 5 公里分段时间,这意味着我只能计算每 5 公里的速度。这就足够了吗?将第一个 5 公里视为比赛的起点有意义吗?在进行了几次早期测试后,我能够得出结论,5 公里的距离足够了,这是一个重要的信心提升,让我可以继续下去;顺便说一句,你可以在这里找到这场马拉松比赛的结果。
我告诉我的学生,这一可行性步骤是他们早期工作中最重要的方面之一,因为我亲眼目睹过,而且经常看到,他们如何欺骗自己相信他们的数据是充分的,但后来却发现缺少了一些重要的信息。事实上,在我自己的工作中,这是一个很难学到的教训,但在现阶段我才刚刚学会。
结论
我确定一个合适的研究问题是任何数据科学项目中最重要的任务之一。做错了会导致严重的问题,而做对了不仅有助于保证项目成功,还能从一开始就指导你的工作。当开始一个新的研究项目时,我给学生的建议可以总结如下:
- 选择一个让你着迷的话题*,即使它是一个小众话题,有时,尤其是如果它是一个小众话题,因为“新奇!”***
- 专注 你的研究目标要一次一个问题。
- 把你最初的研究问题转化成一个具体的 可证伪的 假设。
- 根据你现有的数据,核实你的研究问题是否可行。**
我相信,遵循这些步骤将更有可能产生一个成功的数据科学项目,并且会更加令人满意和愉快。
机器学习中的四种“纯”学习风格
构建机器学习概念
映射监督、自我监督、非监督和强化学习
在专栏“构建机器学习概念”中,我试图从机器学习(ML)空间中提取概念,并将它们投射到新的、可能不寻常的框架中,以提供新的视角。该内容面向数据科学社区的人们,以及对 ML 领域感兴趣的精通技术的个人。
由作者创建。包括由 Vectra AI 和 taviphoto 通过 iStock 制作的图形。
介绍
Back 2015 年,当我开始在斯坦福大学学习 ML 的时候,围绕它的概念和定义是相当结构化的,并且很容易描绘出来。随着近年来深度学习的快速发展,所使用的术语和概念的种类也大大增加了。这可能会让希望更多了解该领域的新手感到沮丧和困惑。
撰写这一期“构建机器学习概念”的导火索是最近自然语言处理、 (NLP)和计算机视觉的突破带来的概念混乱。人们开始意识到,一些以前被认为是无监督学习的技术应该被更恰当地命名为自监督学习。让我们详述一下。
监督、自我监督、非监督和强化学习
当人们谈论机器学习的不同形式时,他们通常将监督学习 (SL)、非监督学习 (UnSL)和强化学习 (RL)称为三种学习风格。有时,我们会添加半监督学习 (SemiSL)到组合中,结合 SL 和 UnSL 的元素。2018 年,一种新的 NLP 算法开始流行,导致著名研究员 Yann LeCun 在 2019 年提出了自我监督学习(SelfSL)的概念。
轻量级定义——最初的四种学习风格
- SL: 我们使用数据集,在给定其他特征(例如,表格)或原始输入(例如,图像)的情况下,我们希望预测特定目标。这可以采取分类的形式,(预测一个分类值——“这是一只猫还是一只狗?”)或者回归(预测一个数值——“这个图像有多像猫?”)
- UnSL: 现在假设我们只有原始输入(例如,表格中只有一些没有目标的用户数据,或者大量没有相关信息的图像)。我们的目标是寻找以前未被发现的模式,例如,聚类或结构,它们提供了新的见解,可以指导我们的决策。
- RL: 通常从群体中脱颖而出,因为它不是在预先收集的数据集上工作,而是试图通过采取行动和观察回报来掌握环境中的任务。除非我们明确地声明一个奖励函数来激励代理人做出相应的行为,否则它不知道在给定的环境中该做什么。视频游戏是一个完美的例子:玩家(代理人)试图通过与视频游戏(环境)互动来最大化她的分数(奖励)。
- SemiSL: 通常作为第四种学习风格加入,它适用于一个有特定目标的数据集和另一个通常更大的没有目标的数据集。目标是在来自已标记数据点的知识的帮助下推断未标记数据点的标记,从而建立最佳可能模型以将输入映射到目标。假设您可以访问一台制造机器的数据点,这些数据点可以分为两个集群。从带标签的数据集中,您知道所有与故障相关的未知数据点都属于“A”类,所有正常状态都属于“B”类;因此,假设“A”上的所有点都是关键点,而“B”上的点不是关键点。
为 SelfSL 放弃半 SL
关于这四种学习风格,有两点值得一提:
正如已经暗示的,最近在计算机视觉和 NLP 中完成的大多数 UnSL 被更好地描述为 SelfSL。这种新的学习方式不是使用给定的基本事实,而是使用包含在训练数据本身中的信息来监督的。然而,UnSL 算法的“旧家族”仍然有一部分是真正无监督的,它们使用数据点之间的一些接近度或接近度来决定什么是良好的拟合(并指导我们的损失函数)。
此外,如果你仔细想想,SemiSL 不应该是这些“纯”学习风格的一部分。第一,它是两种“纯”学习方式的混合;第二,它的基本设置包括两个不同的数据集,一个有标签,一个无标签。因此,我们为结构化机器学习概念系列的第二部分保存了 SemiSL,在那里我们将更详细地讨论处理未标记数据。
轻量级定义—一种新的划分
- SelfSL: 我们只有原始输入(例如,图像或大量文本),我们希望捕捉其中包含的隐含信息。我们通过使用(部分)原始输入作为目标来做到这一点。在自动编码器中,我们使用“重建损失”,即将解码图像与原始输入进行比较。在大规模语言模型中,我们“隐藏”句子的一部分,然后仅使用周围的词(例如,嫁给 ____ 她的丈夫→[爱])将它用作预测目标。
- **UnSL(重新访问)😗*与 SelfSL 相反,我们不是基于一些“隐藏的”地面事实来测量我们的模型的“适合度”,而是基于“转换的输入”的隐含接近度,即特征空间中数据点的距离。我们可以影响如何定义这种适合度,例如,如果我们希望群集是密集的或连续链接的,但邻近目标保持不变。例如,通过特定平台上的行为对用户进行聚类,并使用分配的聚类来指导您的营销策略。
2x2 矩阵
用于 SL、RL、SelfSL 和 UnSL 的 2x2 矩阵。由作者创建。
我提出一个简单的 2x2 矩阵,将 SL、UnSL、SelfSL、& RL 映射到两个轴上,回答以下问题:
地面真相存在吗?
是的 对于 SL 和 SelfSL,我们使用一个基本事实来构建我们的损失函数和指标。无论是 SL 的图像上的“猫”标签,驱动“分类的交叉熵损失”和“准确性”,还是 SelfSL 的句子中的“隐藏的”单词(嫁[爱]她的丈夫),其中我们使用“负的对数似然”作为损失和度量困惑。
没有
对于 UnSL 和 RL 来说,没有这样的地面真相。我们有描述“适合度”或“期望行为”的标准,但没有类似于“准确性”的标准。例如,在 UnSL 的“ k 均值聚类”中,我们可以测量“到聚类均值的平均距离”,在 RL 中,我们试图最大化我们从环境中获得的“累积回报”。
目标是明确给出的还是隐含给出的?
外显 在 SL 和 RL 中,我们有一个明确的选择,我们想从数据或我们的代理中得到什么。对于 SL 来说,我们的选择是通过重新分配标签,将“猫狗品种分类”问题转化为简单的“猫狗分类”问题。当使用 RL 来掌握多人电脑游戏时,我们可以选择通过奖励为集体利益而采取的行动来激励我们的代理充当团队成员,或者通过单独奖励个人行动来激励我们的代理充当利己主义者。
然而,我们不能外在地支配一个自我形象或语言的本质。我们当然可以改变一些细节,但“重建损失”总是会比较两个图像,对于语言模型,我们总是会通过查看句子本身来完成学习任务。使用经典的 UnSL,我们隐含地陷入寻找彼此接近的数据点,例如,两个用户在社交媒体平台上留下相似的行为数据。
关闭
在这篇文章中,我们将 UnSL 和 SelfSL 分开,将 SemiSL 排除在外,重新定义了 ML 中的“纯”学习风格。这就给我们带来了 SL、UnSL、SelfSL、RL 这四个概念,我们可以把它们安排在一个简单的框架里(充分披露:我确实做过一段时间的咨询工作)。2x2 矩阵根据是否存在基本事实以及目标是明确还是隐含给出来构建它们。
如果你有任何其他非传统的映射,对此事的想法,或者对我们在 Luminovo 的工作感兴趣,我很乐意收到你的来信。可以留言或者在 Linkedin 联系我。
构建机器学习概念的第二部分是关于在机器学习中处理未标记的数据。请随意查看。
法国人工智能国家战略
法国巴黎凯旋门图片由 @willianwest 提供
最有意义的策略
法国的国家战略叫做:“一个有意义的人工智能:走向法国和欧洲的战略”写于 2017 年 9 月 8 日至 2018 年 3 月 8 日。法国提出的人工智能策略可能是我最喜欢的策略之一。它把焦点放在正确的事情上:解决气候危机。
“……人工智能领域的经济发展需要将生态作为其首要任务。如上所述,这对该行业至关重要:人工智能的创新可以用来优化能源消耗和回收,并更好地理解人类活动对环境的影响。”
我以前写过一篇关于法国人工智能战略的文章,研究了它如何解决气候危机,认为它是以相对较好的方式处理这个主题的战略之一。
法国人工智能战略如何应对气候危机?
medium.com](https://medium.com/dataseries/the-french-ai-strategy-and-the-climate-crisis-4890b22067a5)
该战略提出,人工智能不应被用来加剧不平等等问题,而是应该帮助解决这些问题。
此外,该战略明确指出,有意义的人工智能必须是可解释的:
“一个有意义的人工智能最终意味着人工智能应该是可解释的:向公众解释这项技术,以揭开它的神秘面纱——从这个角度来看,媒体的作用至关重要——但也通过将研究扩展到可解释性本身来解释人工智能。人工智能专家自己经常坚持认为,在这个问题上可以取得重大进展。
该战略侧重于六个部分:
- 基于数据的经济政策
- 走向敏捷和可行的研究
- 预测和控制对工作和就业的影响
- 利用人工智能帮助创造更加生态化的经济
- AI 有哪些伦理?
- 包容多样的人工智能
我将从每个类别中提出几个要点。
1.基于数据的经济政策
- 公共当局必须通过使数据成为一种公共产品来引入生产、共享和管理数据的新方法。
- 他们的工作小组建议避免分散精力,而是集中在法国的四个关键部门:医疗保健、环境、交通运输和国防安全。他们希望根据不同的主要部门挑战来构建生态系统。
- 建立共享的部门平台,可以访问对人工智能发展有用的数据,以及软件资源和广泛的计算基础设施。
- 创新沙盒,涉及三个关键特征:暂时放松某些监管限制,以便让创新自由发展,支持参与者履行其义务,以及最后用于实地测试的资源。
- 需要审查公共采购:国家、公共当局和地方机构每年的预算估计接近 700 亿欧元,而且没有充分面向创新。
2.促进敏捷和支持研究
- 该国受到美国重量级人才外流的打击,人工智能和数据科学的培训能力远远达不到要求。
- 在一定数量的公共高等教育机构内建立一个独立但协调的跨学科人工智能研究所网络。
- 创造一个有吸引力的工作环境,以有效应对来自“大技术”的竞争。因此,它们应该被建立为人工智能“自由区”,全面大幅减少行政手续,大幅增加工资,并支持提高生活质量。
- 人工智能研究机构需要拥有所需的计算资源,以与私人主导行为者几乎无限的资源竞争。为了做到这一点,我们的任务组因此建议设置一台专门为人工智能使用而设计的超级计算机,并在研究人员和他们的经济合作伙伴共享计划期间专门用于他们。
- 在职业生涯的早期阶段(人工智能研究人员)将工资翻倍至少是一个重要的起点,否则对高等教育和学术研究感兴趣的年轻毕业生将肯定会枯竭。
3.评估人工智能对未来工作和劳动力市场的影响,并试验适当的政策反应
- 探究人类和人工智能之间的互补性。劳资关系的转变,以充分整合数字挑战并开发“积极互补指数”。
- 正规教育和终身学习应该彻底改革,以促进实验教学方法,帮助毕业生和员工发展日益重要的创新技能。
- 至关重要的是,要创造一个空间,使未来的能力、宏观经济预测和对用途变化的分析能够与针对某些类别工人的行动所体现的具体实验能力联系起来。
- 因此,可以创建一个永久性的结构,在劳动和职业培训公共政策中引领这些主题,发挥双重作用:预测和实验。
- 一种不同的方法,这种方法在一定程度上背离了当前的策略,即员工独自对自己的职业发展负责。
- 他们建议与工业伙伴就如何在整个价值链中分享附加值展开对话。
- 培养每个学位层次的人工智能人才。
4.人工智能致力于更生态的经济
- 为人工智能创造一个有意义的角色也意味着解决其可持续性问题,特别是从生态的角度。
- 设计自然生态的人工智能,并用它来解决人类活动对环境的影响。这是一个紧迫的问题,因为与数字技术和人工智能发展内在相关的世界数据存储需求,可能会超过 2040 年全球可用的硅产量。
- 首要任务是考虑人工智能对实现联合国可持续发展目标的影响,它如何对某些目标施加压力,以及它如何加速其他目标。
- 消费者也必须在让这些技术更加环保的过程中发挥作用。因此,我们的工作小组建议创建一个平台,专门评估智能数字解决方案的环境影响。这个平台应该包括智能计算器。
- 神经形态技术可以节省大量能源,法国已经是这一领域的先驱。
- 公共当局也必须采取行动,使价值链更加绿色,并支持欧洲云产业促进其生态转型。还可以设立一个认证程序来奖励最杰出的解决方案。
- 最后,让人工智能价值链更加绿色显然需要开放硬件和开放软件。
5.人工智能的伦理思考
- 解释机器学习算法已经成为一件非常紧迫的事情,现在实际上是一个独立的研究领域,必须得到公共当局的支持。
- 三个领域尤其需要额外的关注:显然是更易解释的模型的产生,而且是更易理解的用户界面的产生,以及对用于产生令人满意的解释的认知机制的理解。
- 促进人工智能系统的审计是至关重要的。这可能涉及建立一个注册公共专家小组,他们可以对算法和数据库进行审计,并使用任何所需的方法进行测试。
- 让研究人员、工程师和企业主从培训一开始就意识到数字技术发展中涉及的道德问题是很重要的。这方面是当今工程学院和大学信息技术课程所缺乏的,然而这些未来的毕业生将面临的道德问题的广度和复杂性在继续增长。
- 可以引入歧视影响评估,类似于《一般数据保护条例》已经强制要求对某些数据处理进行的隐私影响评估。
- 我们还必须考虑自动化在人类决策中的作用:在某些领域,人类的判断尽管容易出错,但一定不能被机器取代。
- 他们的战略建议创建一个对社会开放的数字技术和人工智能伦理委员会。
6.包容多样的人工智能
- 人工智能绝不能成为排斥部分人口的新方式。
- 尽管科学和技术部门缓慢但稳定地女性化,但数字技术仍然是一个例外,性别平衡仍然非常遥远。
- 缺乏多样性可能导致算法在程序设计、数据分析和结果解释中重现经常是无意识的认知偏差。
- 一项激励政策旨在到 2020 年实现大学、商学院及其预科班数字学科领域 40%的女生比例。
- 他们建议采用自动化系统来帮助管理行政手续,旨在提高公众对行政法规的认识,以及这些法规如何适用于每个人的个人情况。
- 至关重要的是,公共当局支持在社会领域发展基于人工智能的倡议。人工智能主导的创新能力仍然非常集中在少数公司中。撇开医疗保健不谈,社会领域只获得私人投资的一小部分。
这是#500daysofAI,您正在阅读第 225 条。500 天来,我每天都在写一篇关于或与人工智能相关的新文章。我目前 100 天 200-300 的重点是人工智能的国家和国际战略。
本文所有插图均来自 Undraw 。
强化学习的基础
马尔可夫决策过程、策略、价值函数、贝尔曼方程和动态规划实现
列宁·艾斯特拉达在 Unsplash 上的照片
强化学习可能是最相关的科学方法之一,类似于人类学习事物的方式。每天,我们,学习者,通过与我们的环境互动来学习,以知道在某些情况下该做什么,知道我们的行为的后果,等等。
当我们还是婴儿的时候,我们不知道摸热水壶会伤手。然而,当我们知道环境是如何对我们的行为做出反应的时候,也就是说,触摸热水壶会伤到我们的手,于是我们学会了不要触摸热水壶。这说明了强化学习的基本理论。
强化学习是学习做什么来最大化数字奖励。这意味着学习者应该通过尝试来发现哪些行为从长远来看能产生最高的回报。
在这篇文章中,我想讨论强化学习背后的基础知识,包括:马尔可夫决策过程,政策,价值函数,贝尔曼方程,当然,还有动态规划。
马尔可夫决策过程
马尔可夫决策过程是我们在强化学习中试图解决的基本问题。但是,马尔可夫决策过程的定义是什么?
马尔可夫决策过程或 MDP 是主体和 e 环境之间顺序交互的公式化。
在这里,学习者和决策者被称为代理,它与之交互的东西被称为环境。在 MDP,代理人做出某些决定或行动,然后环境通过给代理人一个新的情况或状态以及立即的奖励来做出响应。
马尔可夫决策过程中主体与环境的相互作用
在强化学习中,主体的主要目标是做出一个决策或行动,使其从环境中获得的长期回报总量最大化。
比方说,我们想训练一个机器人下棋。每当机器人赢得比赛,奖励将是+1,如果它输了比赛,奖励将是-1。在另一个例子中,如果我们想训练机器人从迷宫中逃脱,那么在逃脱之前,随着时间的流逝,奖励会减少-1。
强化学习的回报是你如何向代理传达你希望它实现什么,而不是你希望它如何实现。
现在的问题是,我们如何计算代理人在一系列行动后所获得的累计奖励金额?累积奖励的数学公式定义如下。
上图中, R 是代理人在每个动作序列中的报酬, G 是的累计报酬或的预期收益。代理人在强化学习中的目标是最大化这个期望收益 G 。
贴现预期收益
然而,上面的等式只适用于当我们有一个插曲 MDP 问题,这意味着代理人-环境相互作用的序列是插曲或有限的。如果我们有一个情况,代理-环境之间的相互作用是连续的和无限的?
假设我们有一个问题,代理像空调一样工作,它的任务是在给定的情况或状态下调节温度。在这个问题中:
- *状态:*当前温度,房间中的人数,一天中的时间。
- *动作:*提高或降低室温。
- 奖励: -如果房间里有一个人需要手动调节温度为 1,否则为 0。
为了避免负回报,代理人需要不断地学习并与环境互动,这意味着 MDP 序列没有尽头。为了解决这个来自代理人的连续任务,我们可以使用贴现的预期收益。
在上式中,γ是贴现率,其值应在 0 ≤ γ ≤1 的范围内。
这个折扣率背后的直觉是,代理人在较早的序列中得到的回报将比它在几个序列后得到的回报更有价值。这个假设在现实生活中也有道理。由于通货膨胀,今天生活中的 1 欧元在几年后会比 1 欧元更值钱。
如果γ= 0,这意味着代理人是短视的,意味着它在下一个序列中对一个动作的即时奖励采取了更多的权重。
如果γ更接近于 1,这意味着代理人是有远见的,意味着它对未来的回报投入越来越多的权重。
有了贴现回报,只要报酬非零且γ < 1, the output of expected return would no longer be infinite.
Policy, Value Function, and Bellman Equation
Now we know that the goal of an agent in reinforcement learning is to maximize the cumulative reward. In order to maximize the reward, the agent needs to choose which action it needs to take in a given state such that it gets a high cumulative reward. The probability of an agent choosing a certain action in a given state is called 政策。
策略是代理在给定状态 s 下选择动作 A 的概率。
在强化学习中,一个策略通常用 π 来表示。这意味着 π(A|S) 是代理人选择动作 A 的概率,假设它处于状态 S 。
现在,如果一个代理处于状态 S 并且它遵循策略 π ,那么它的期望收益将被称为策略 π 的状态值函数。因此,状态值函数通常表示为 Vπ 。
类似于状态值函数,如果一个代理处于状态 S 并且它基于策略π确定它的下一个动作,那么它的期望收益将被称为策略π 的动作值函数。因此,动作值函数通常表示为 qπ 。
在某种意义上,价值函数和报酬有一些相似之处。然而,奖励指的是眼前的好处,而价值函数指的是长远的好处。因此,一个州可能具有较低的即时奖励,但具有较高的价值函数,因为它经常被具有较高奖励的其他州跟随。
为了计算价值函数,通常应用贝尔曼方程。
在强化学习中,贝尔曼方程通过将当前状态的值函数与未来状态的值相关联来工作。
数学上,贝尔曼方程可以写成如下形式。
从上面的数学方程可以看出,贝尔曼方程表达的是,它对所有可能的状态和任何给定状态下的未来回报进行平均,这取决于动态环境 p.
为了让我们更容易直观地理解贝尔曼方程实际上是如何工作的,让我们把它与我们的日常生活联系起来。
假设两个月前,你第一次学会了骑自行车。有一天当你骑自行车时,当你在满是沙子的路面上拉刹车时,自行车失去了平衡,使你滑倒并受伤。这意味着你从这次经历中得到了负回报。
一周后,你又骑上了自行车。当你在满是沙子的路面上骑它时,你会减慢速度。这是因为你知道当自行车失去平衡时,不好的事情会发生,即使这次你没有真正经历过。
最优策略和最优价值函数
每当我们试图解决强化学习任务时,我们都希望代理选择一个使累积回报最大化的行动。为了实现这一点,这意味着代理应该遵循一个策略,使我们刚刚讨论的价值函数最大化。在所有状态下使价值函数最大化的策略称为最优策略,通常定义为π*。
为了更好地理解最优策略,让我们看一下下图。
最佳策略定义
如上图所示,我们可以说,与π相比,π是最优策略,因为遵循策略π
的任何给定状态下的价值函数与策略π一样好,甚至更好。
如果我们有一个最优策略,那么我们实际上可以把贝尔曼方程改写成如下:
上面的最后一个方程叫做贝尔曼最优方程。注意,在上述等式的最终形式中,没有关于特定策略π的特定参考。贝尔曼最优方程基本上告诉我们,在最优政策下,一个状态的价值函数应该等于该状态下最佳行动的预期回报。
根据上面的等式,一旦我们知道了最优策略,就很容易找到最优状态值函数。然而,在现实生活中,我们往往不知道最优策略是什么。
为了找到最佳策略,通常应用动态规划算法。利用动态规划,每个状态的状态值函数将被迭代地评估,直到我们找到最优策略。
动态规划寻找最优策略
现在让我们深入研究动态规划背后的理论,寻找最优策略。在其核心,动态规划算法使用贝尔曼方程迭代做两件事:
- 政策评价
- 政策改进
政策评估是评估给定政策有多好的一个步骤。在该步骤中,计算任意策略 π 的状态值函数 Vπ 。我们已经看到,贝尔曼方程实际上帮助我们用如下的线性方程系统计算状态值函数:
利用动态规划,将基于贝尔曼方程迭代地逼近状态-值函数,直到值函数收敛于每个状态。价值函数的收敛近似可以称为给定策略的价值函数 Vπ 。
迭代策略评估
在我们找到给定策略的价值函数 Vπ 之后,我们需要改进策略。回想一下,我们可以定义一个最优策略,当且仅当在任何给定的状态下,一个策略的价值函数等于或大于其他策略。随着策略的改进,在任何给定的状态下都可以产生新的、严格更好的策略。
注意,在上面的等式中,我们使用在策略评估步骤中计算的 Vπ 来改进策略。如果我们应用上面的等式后策略没有改善,这意味着我们找到了最优策略。
总的来说,这两个步骤,策略评估和策略改进是使用动态编程迭代完成的。首先,在任何给定的策略下,计算相应的价值函数。然后,完善政策。利用改进的策略,计算下一个值函数,等等。如果一个策略与之前的迭代相比没有任何改进,这意味着我们已经为我们的问题找到了最优策略。
动态规划中的迭代策略评估和策略改进
实现动态规划以寻找最优策略
现在我们已经知道了所有关于动态编程和最优策略的理论,让我们用一个简单用例的代码来实现它。
假设我们想控制城市停车空间使用的增长需求。要做到这一点,我们需要做的是根据城市的偏好来控制停车系统的价格。总的来说,市议会有一个观点,即使用的停车位越多,社会福利越高。然而,市议会也倾向于至少留出一个位置供紧急情况下使用。
我们可以将上面的用例定义为马尔可夫决策过程(MDP ),其中:
- *状态:*车位占用数量。
- *动作:*停车费。
- *奖励:*城市对形势的偏爱。
对于这个例子,让我们假设有十个停车位和四个不同的价格范围。这意味着我们有十一个状态(10 加 1,因为可以有没有停车位被占用的情况)和四个动作。
为了找到给定用例的最优策略,我们可以使用带有贝尔曼最优方程的动态规划。首先,我们评估政策,然后我们改进政策。我们反复执行这两个步骤,直到结果收敛。
首先,让我们定义一个函数来计算贝尔曼最优方程,如下所示。
上面的贝尔曼最优性方程评估任何给定状态下的价值函数。
接下来,让我们定义一个函数来改进策略。我们可以通过修改政策来改进政策。这意味着我们转换策略,使得该策略选择在给定状态下最大化价值函数的行为的概率为 1。
最后,我们可以将策略评估和策略改进打包到一个功能中。
现在,如果我们运行上面的函数,我们将得到以下结果:
从上面的结果中,我们可以看到价值函数随着被占用的停车位数量的增加而增加,除非所有的停车位都被占用。这是完全可以预料的,正如我们在用例中从市议会的偏好中可以看到的。
市议会的观点是,停车位用得越多,社会福利越高,他们更希望至少有一个停车位闲置。因此,停车位被占用得越多,价值函数与最后状态的距离就越高。
还要注意,当停车占用率高时(状态 9 和 10),动作从 0(最低价格值)变为 4(最高价格值)以避免完全占用率。
参考
本文中的材料受到了理查德·萨顿和安德鲁·巴尔托的《强化学习:入门书》以及阿尔伯塔大学 Coursera 上的《强化学习基础》课程的启发。
请务必阅读这本书或参加课程,深入了解强化学习的细节。
如果你想试试上面例子中的代码,你可以在我的 GitHub 页面找到它。
大 O 符号的基础
如何利用 Big-O 符号来衡量算法的性能和可伸缩性
纳丁·沙巴纳在 Unsplash 上拍摄的照片
在这个数据变得越来越大的时代,创建一个“有效”的算法来解决问题已经不够了。无论您的职业是什么,无论是软件开发人员、数据科学家还是机器学习工程师,创建高效且可扩展的算法的能力都是非常需要的技能。
为了创建一个高效的算法,大多数时候我们需要跳出框框思考,想出一个如何优化代码性能的主意。当我们试图优化代码时,有时我们不知道如何衡量我们算法的效率——不管它是否得到了改进。
在这篇文章中,我们将讨论如何利用 Big-O 符号来测量算法性能。
衡量算法性能的正确方法
首先,让我们思考一下:我们如何知道我们的算法是好的或高效的?我们如何衡量算法的性能?或许,测量算法性能的最简单方法是测量它计算解决方案所需的持续时间。
但是,测量持续时间并不是评估算法性能的好方法,因为:
- 我们使用的计算机将对算法的运行速度产生巨大影响。如果你使用的是旧的硬件,你会期望代码运行得比使用新的硬件慢。
- 如果您在运行该算法的同时,您的计算机中还打开了其他活动程序,则与您的计算机仅投入其所有资源来运行该算法相比,您的算法求解解决方案所需的时间将会更慢。
- 我们在算法中使用的编译器和库也会影响它的运行时间。
因此,应该有更好的方法来衡量算法的性能。
我们需要更多地关注算法的可伸缩性或运行时复杂性,而不是关注运行算法的持续时间:当输入变大时,算法的性能如何变化?
要测量我们算法的运行时复杂性,请输入 Big-O 符号背后的概念。
大 O 符号
Big-O 符号是计算机科学中谈论算法效率时经常听到的术语。但是,大 O 符号是什么意思呢?
简而言之,Big-O 符号描述了随着输入数据变大,算法的性能有多好。
使用 Big-O 符号,我们能够测量我们算法的可伸缩性:当输入变大时,我们的算法还会表现得很好吗?
在这篇文章中,我们将讨论四种最常见的大 O 符号: O(1) 、 O(n) 、 O(n ) 和 O(log n) 。
这些 Os 代表 的 顺序,所以 O(n) 表示 n 的 顺序,其中 n 是输入数据的大小。让我们一个一个地检查这些符号。
O(1) —恒定的运行时复杂性
O(1) 符号意味着你的算法具有恒定的运行时复杂度,因为不管输入数据的大小,它都需要相同数量的运算。
为了更直观,我们来看看下面的代码片段。
上面的代码片段是一个简单的算法示例,符号为 O(1) 。该函数接受一个数组,并显示该数组的第一个元素。不管数组中有多少个元素,这个函数总是在一个常量运行时运行,因为它的工作只是显示数组的第一个元素。
让我们看看另一个算法,它有 O(1) 的时间复杂度。
在上面的代码片段中,该函数接受一个数组,它的工作是将数组的第三个元素赋给一个名为third_index
的变量。同样,不管输入数组的大小有多大,该函数将总是在恒定的运行时运行,因为它唯一的工作是将数组的第三个元素值赋给一个变量。
现在,如果我们用输入数据的大小用 O(1) 符号来绘制算法的时间复杂度,我们得到下面的图。
如您所见,随着输入数据变得越来越大,算法运行时复杂性保持不变。
O(n) —线性运行时间复杂度
O(n) 符号意味着算法的运行时复杂度与输入数据的大小成线性关系。如果输入数据的大小增加 2,那么算法的运行时复杂度也会增加 2。
让我们看看下面的代码片段,让它更直观。
让一个循环遍历一个数组的元素并打印每个元素的值是一个算法的完美例子,这个算法有 O(n) 符号。
在上面的代码片段中,我们算法的开销随着输入数组的大小而变化。如果输入数组只有 2 个元素,我们的算法只需要 2 次运算就可以运行。如果数组有 100 个元素,算法也需要运行 100 次运算。换句话说,我们算法的成本随着输入数组的大小线性增加。
现在,如果我们用输入数据的大小来绘制运行时复杂性,我们会得到下面的图。
如您所见,我们在运行时复杂性和输入数据大小之间有一个线性关系。输入数组中的元素越多,算法运行所需的操作就越多。
O(n ) —二次运行时间复杂度
O(n ) 符号意味着算法的运行时复杂度与输入大小的平方成正比。假设你数组的输入大小是 3,那么你算法的运行时复杂度会增加 9。
让我们看看下面的代码片段,作为具有 O(n ) 复杂度的算法的例子。
嵌套循环是使用 O(n ) 符号的算法的完美例子。这是因为循环对数组的每个元素迭代了两次。内循环有 O(n) 的复杂度,外循环也有 O(n) 的复杂度。现在如果把内循环和外循环之间的复杂度结合起来,就得到了 O(n ) 的复杂度。
假设我们的输入数组的大小是 3。对于外部循环,总共需要 3 次运算来迭代数组的每个元素。对于这 3 个操作中的每一个,也需要 3 个操作来进行内部循环以迭代每个元素。这总共带来了 9 个操作。
如果我们绘制这个图,你会得到下面这个算法的可视化结果,复杂度为 O(n ) 。
正如我们所看到的,随着输入数据量的增加,我们算法的成本会越来越高。
O(log n) —对数运行时间复杂度
我们应该知道的下一个运行时复杂度是 O(log n) 。这种表示法意味着,当输入数据的大小加倍时,算法的运行时复杂度将增加一倍。
让我们看看下面的代码片段作为例子。
上面的代码片段是二分搜索法的算法,其运行时复杂度为 O(log n) 。二分搜索法不会使用 for 循环遍历数组的每个元素,而是总是递归地将输入数据的大小分成两半,以找到所需的值。
如上面的代码所示,我们有一个输入大小为 9 的数组。假设数据是完美排序的,我们的目标是找出这个数组中是否存在值 7。二分搜索法首先将输入数组一分为二,并检查数组中间的值。
因为数组中间的值是 5,所以这个值将与我们正在寻找的值进行核对,在本例中是 7。由于 5 小于 7,因此算法将使用数组右侧的值,即 6 到 9。
现在我们数组的输入大小是 4 而不是 10。然后,新数组将再次被一分为二,留给我们的是一个值为 6 和 7 的数组以及一个值为 8 和 9 的数组。
由于值 7 在由 6 和 7 组成的数组中,因此算法将使用数组的这一部分,并忽略值为 8 和 9 的数组。
直到最后我们找到我们想要的值,也就是 7。
如果我们用运行时复杂度 O(log n) 画出算法的图,我们得到如下可视化。
如您所见,随着输入大小变得越来越大,具有 O(log n) 符号的算法比 O(n) 和 O(n ) 更具可伸缩性。
在我们上面的例子中,如果我们使用 for 循环,它有一个线性的 O(n) 符号,我们的算法在得出一个解之前将需要 7 次运算(因为我们正在寻找值 7)。与此同时,使用具有 O(log n) 符号的二分搜索法算法,只需要 4 次运算就可以解决问题。
不同 Big-O 符号之间的复杂度比较
让我们回顾一下目前为止我们学到的不同的 Big-O 符号的可伸缩性。下面是这些 Big-O 符号的情节。
如您所见,随着输入大小变得越来越大,采用 O(1) 符号的算法具有最好的可伸缩性,而采用 O(n ) 符号的算法具有最差的可伸缩性。
综上所述,下面是从最好到最差开始的 Big-O 符号的可伸缩性顺序:
**O(1) < O(log n) < O(n) < O(n^2)**
确定代码的 Big-O 符号
现在我们知道了不同种类的 Big-O 符号,让我们试着找出代码的运行时复杂性。当我们试图分析代码的运行时复杂性时,我们总是不得不面对两种不同的场景:最好的场景和最坏的场景。
最好的情况和最坏的情况
为了让我们更容易理解最佳情况和最差情况之间的区别,让我们看一下下面的代码片段:
在上面的代码片段中,我们有一个算法用于线性搜索(用迭代每个数组的元素用于循环)和一个算法用于二分搜索法(递归分割数组)。假设我们有一个完美排序的数组,有 9 个元素,如上图所示。
- 线性搜索的最佳情况是我们要搜索值 1,这是数组的第一个元素。在这种情况下,我们有 O(1) 复杂度。
- 线性搜索的最坏情况是,如果我们想要搜索数组的最后一个元素 9 的值,或者如果我们想要搜索数组中不包含的值。这是因为算法需要遍历数组的每个元素。在这种情况下,我们有 O(n) 复杂度。
- 对于二分搜索法来说,最好的情况是我们要搜索值 5,这是数组中间元素的值。在这种情况下,我们有 O(1) 复杂度。
- 对于二分搜索法来说,最糟糕的情况是,如果我们想要搜索 1 或 10 的值,它们是数组的第一个和最后一个元素,或者是不包含在数组中的值。这是因为使用二分搜索法时,算法需要递归地将数据分成两半,直到到达第一个和最后一个元素。在这种情况下,我们有 O(log n) 的复杂度。
估计代码的 Big-O 符号
当涉及到确定代码的 Big-O 符号时,我们需要总是着眼于最坏的情况。现在记住这个概念,让我们试着估计一个代码的 Big-O 符号。
让我们看看下面的代码片段,并检查它的复杂性。
当评估一个代码的 Big-O 符号时,我们总是需要首先从最里面的循环中的操作开始。下面是我们应该如何调查上述代码的 Big-O 复杂性的分步说明:
- 从最内层循环的操作开始,即
value += array[i] + array[j] + array[k]
。该操作具有恒定的 O(1) 复杂度。 - 接下来,我们看最里面的循环,也就是
for k in range (len(array)/2)
。这个循环将总是迭代我们数组的一半大小,因此它有 O(n/2) 的复杂度。 - 接下来,我们向上移动一级,这就是循环
for j in range (len(array)-10)
。虽然这是一个 for 循环,但它有一个恒定的运行时复杂度。这是因为不管输入数组有多大,这个循环总是只迭代最后 10 个元素。因此,它具有恒定的复杂度。 - 接下来,我们向上移动到外循环,即
for i in range (len(array))
。这个 for 循环将总是迭代输入数组的大小。因此,这个循环具有 O(n) 复杂度。 - 最后,我们转到循环外的操作,它们是
value = 0
和return value
。这两个操作将总是在一个恒定的运行时间中运行,因此它们都具有 O(1) 的复杂度。
既然我们已经分析了每个循环和操作的 Big-O 符号,接下来让我们分析整个代码的 Big-O 符号。要做到这一点,我们也总是需要从最内部的循环开始。
- 最内部的循环具有 O(n/2) 复杂度,并且该循环中的操作具有 O(1) 复杂度。这意味着这个最里面的循环有
(n/2)*(1) = **O(n/2)**
的复杂度。 - 接下来,第二个内部循环具有 O(10) 复杂度。这个循环的内循环,正如我们在 1 号点计算的,有 O(n/2) 。这意味着第二个内部循环具有
10*(n/2) = **O(5n)**
复杂性。 - 最后,外环具有 O(n) 复杂度。正如我们在第二点中所计算的,这个外循环的内循环总共有 O(5n) 复杂度。因此,它们总共有
n*5n = **O(5n^2)**
复杂度。 - 如果我们把循环的复杂性和循环外的两个操作结合起来,我们得到
1+1+5n^2 = **O(2+5n^2)**
。可以看到,上面的代码总共有 O(2+5n ) 的复杂度。
当我们估算一个代码的 Big-O 符号时,我们可以通过去掉所有的常数来简化它。因此,代替 O(2+5n ) ,我们可以去掉所有的常数,剩下 O(n ) 。因此,上面的代码具有 O(n ) 的复杂性。
暂时就这样吧!
希望现在你知道如何通过查看算法的 Big-O 符号来测量和评估算法的性能。随着输入数据每天变得越来越大,设计可伸缩的算法对于优化代码非常有益。
《老友记》中最搞笑的朋友[已解决]
用 AI 确定最搞笑的朋友,一劳永逸。
是的,这些朋友。(来源)
我们生活在不确定的时代。
我们不知道什么时候回学校或办公室。我们不知道什么时候能坐在餐厅里。我们甚至不知道什么时候我们还能在科恩的演唱会上尽情狂欢。但在过去的几周里,我发现有一种不确定性比其他所有的都更难以忍受:
我们不知道 90 年代热播的情景喜剧《老友记》中最搞笑的朋友是谁。
一旦你意识到你的生活中你的知识基础有如此大的漏洞,你就再也回不去了。
这就是为什么我决定把驾驭人工智能的尖端力量作为我的使命,并找出菲比古怪的非推理是否比罗斯的恐龙笑话更有趣。
警告:准备好大吃一惊吧!
如果你想知道人工智能如何可能找出谁说了一些有趣的话,这里是我对该项目的技术方面的解释。
如果你希望保持清醒,这里有一个快速演示视频,展示了它的样子:
对于这种方法,我在文章的最后解释了两个注意事项。
在我们吃主菜之前,先来几道开胃菜:
持续时间最长的笑声
这个奖属于乔伊。在《乔伊说法语的那个》(第十季第十三集)中,乔伊和菲比一起演练他的假简历技巧时,让观众笑了整整 30 秒。他在简历中写道,他可以在 10 秒钟内喝完一加仑牛奶。菲比叫他出来。他立即走向冰箱,拿起一加仑牛奶,连续 30 秒钟“咕嘟咕嘟”(即溢出他的衬衫前襟)。乔伊巅峰时刻。
最搞笑的一集
最搞笑剧集奖颁给了《脱衣舞娘哭泣的那集》(第十季第十一集)。当我发现这一点时,我立即重新观看了这一集,它绝对不辜负炒作。这一集充满了高中和大学的倒叙,主演是“胖莫妮卡”,瑞秋的“真实”鼻子,以及到处都是可笑的发型。更别说我们发现罗斯在大学里吻了莫妮卡!与此同时,乔伊上了一个游戏节目,做了一场只有乔伊才能做的表演。但是让这一集火上浇油的是丹尼·德维托在菲比的单身派对上令人发指的客串脱衣舞女。
最严重的一集
相比之下,笑声最少的那集竟然是“有邀请的那一集”(S4E21)。这是一个更沉重的插曲,从罗斯和瑞秋的整个关系的高潮和低谷中闪现出来。罗斯即将在英国与艾米丽结婚,瑞秋不得不考虑是否要参加婚礼(我们都记得结果)。
最有趣的季节
就最有趣的一季而言,结果相当有趣(有些人甚至会说有罪)。正如你在下面的图表中看到的,随着剧集的进展,每一季的笑声都在增加。第九和第十季真的比第一和第二季有趣吗?我会让你自己决定。但这可能表明随着节目的进行,制片人在笑声剪辑方面变得更加自由。让我们看着半满的玻璃杯,说随着节目的进行,写作和化学反应变得越来越好!
现在,你们一直在等待的是:
《老友记》中最搞笑的朋友
很自然的事情就是看看哪一个角色在 10 季中最引人发笑,然后宣布他们是最有趣的。但我认为这不公平。有些角色(嗯,瑞秋和罗斯)说的台词比其他角色(可怜的菲比)多得多。
为了公平竞争,我们将看看每个角色每行产生的平均笑声。
我们开始吧:
第六名:莫妮卡
有人对此感到惊讶吗?莫妮卡倾向于做一个“负责任”的人,让事情走上正轨。她通常忙着纠正那些更倒霉的朋友的小毛病,并防止她漂亮的瓷器摔碎。值得称赞的是,每个人都意识到了这一点,罗斯和瑞秋甚至承认,只有莫妮卡出现在照片中,他们才会让钱德和莫妮卡抚养他们的孩子(第六季第十三集)。每个朋友圈都需要一个莫妮卡。
第五名:瑞秋
这个让我大吃一惊。在剧集的早期,瑞秋似乎隐藏了太多的笑点。她作为一个离家出走的“爸爸的女儿”被介绍给我们,看着她处理像煮咖啡和得到“那些工作中的一件事”这样的现实是非常有趣的。但我想随着罗斯的事情变得越来越严重,她也变得越来越严重。
第四名:罗斯
原来台词最多的两个角色(罗斯和瑞秋)没那么搞笑!当然,罗斯大多数时候确实倾向于从字面上理解事物,毕竟他是一名古生物学教授。他肯定有傻傻的一面,也喜欢他那些无聊的笑话,但是在这部剧的过程中,他和瑞秋参与了很多严肃的故事情节。所以他们不总是开玩笑是有道理的。
第三名:菲比
菲比差一点点获得第二名!实际上菲比和罗斯之间有很大的差距,所以我正式宣布菲比是一个非常有趣的角色。不幸的是,她没有像其他角色那样有很多台词,但她确实经常住在离剧组很远的地方。也就是说,她的另类疗法和“街头聪明”的教养是喜剧性缓解的持续来源。
第二名:钱德勒
钱德勒给我的印象是有时有点愤世嫉俗,所以我不知道他会在哪里跌倒。但是回过头来看,钱德勒似乎总是在等待在谈话中发现喜剧。虽然他的幽默经常是自嘲的,有时也是悲观的,但他似乎有能力将轻松带到节目中最严肃的时刻。也许这就是他和莫妮卡如此般配的原因!
第一名:乔伊
好的,举手表决——谁从一开始就猜到了?乔伊是最有趣的角色,最棒的一点是,他大多数时候甚至都不想变得有趣。他的很多幽默其实并不是有意的。是的,我们都知道也许乔伊比其他人“慢”一点。但是他天真无邪,这使得他的评论既好笑又真诚。事实上很难记住不好笑的乔伊台词。
无论你如何分割数据,这些排名基本上是成立的。
值得注意的一点是,在整场演出中,罗斯比菲比更能引起笑声。但他在整部剧中的台词也多得多,所以说他比菲比更有趣似乎不太对。从每一行来看,菲比更有趣。
同样有趣的是,钱德勒比乔伊有更多被笑声跟随的台词。只是当乔伊说一些有趣的事情时,观众笑的时间比钱德勒的台词还长(平均长 6%!).
所以你有它。继续从你的清单上再检查一个不确定性。进步!现在对于科恩的演唱会…
奖金图表
看看随着时间的推移谁变得更有趣。乔伊在第五季之前都不是最搞笑的角色!自从她在第一季中非常严肃的表演后,莫妮卡一直非常兴奋!
附录
警告#1
幽默是相对的。我觉得好笑的事你可能不觉得好笑,反之亦然。幽默也很难衡量。幸运的是,《老友记》的大部分场景都是在 300 名现场观众面前拍摄的。很自然,当很多人笑的时候,我会认为有些事情很有趣。当然,笑声是可以编辑的。但是为了这篇文章,我们要假设当观众笑的时候有些事情是有趣的。
警告#2
我在这个分析中只捕捉到了口语台词。这意味着角色们并不总是因为他们的非语言幽默而得到好评。幸运的是,节目中只有不到 3%的笑声是纯非语言的。
深度学习和组合学的融合
我们如何在深度神经网络中无缝整合组合求解器。我们的 ICLR 2020 聚焦论文摘要。
机器学习研究的当前景观表明,基于深度学习的现代方法与良好的老式人工智能方法不一致。深度学习在计算机视觉、强化学习、最优控制、自然语言处理等领域被证明是一种非常强大的特征提取工具。不幸的是,深度学习有一个致命弱点,即它无法处理需要组合概括的问题。一个例子是基于作为图像的地图输入,学习在谷歌地图中预测最快的路线,这是最短路径问题的一个实例。这类问题太多了,比如(最小,最大)割、最小成本完美匹配、旅行推销员、图匹配等等。
但是,如果要孤立地解决这样的组合问题,我们有一个惊人的求解器工具箱可用,从算法的高效 C 实现到更通用的 MIP(混合整数编程)求解器,如 Gurobi 。求解器面临的问题是输入空间的表示,因为求解器需要明确定义的结构化输入。
尽管组合问题一直是机器学习研究社区中的一个主题,但是对解决这种问题的关注一直是缺乏的。这并不意味着组合归纳的问题没有被认为是通往智能系统道路上的一个关键挑战。理想情况下,人们将能够以端到端的方式将通过强大的函数逼近器(如神经网络)可用的丰富特征提取与高效的组合求解器相结合,而不会有任何妥协。这正是我们在最近的论文 [1]中能够实现的,我们已经获得了最高的评论分数,并将在 2020 年 ICLR 大会上做重点演讲。
对于以下部分,值得记住的是,我们并不试图改进解算器本身,而是使现有解算器能够与函数逼近协同使用。
我们将黑盒解算器想象为深度学习的架构模块,我们可以简单地插入其中。
黑盒解算器的梯度
我们思考组合解算器的方式是从连续输入(例如图边的权重)到离散输出(例如最短路径、选定的图边)的映射,定义如下
求解器最小化某种成本函数 c (ω,y),例如路径的长度。更具体地,解算器解决以下优化问题:
现在,假设ω是神经网络的输出,即我们学习的某种表示。直观来看,这个ω是什么意思?ω用于定义组合问题的实例。例如,ω可以是定义图的边权重的某个向量。在这种情况下,求解程序可以解决最短路径问题或旅行推销员问题,或者我们希望针对指定的边成本解决的任何问题。我们希望通过ω获得正确的问题规范。
自然地,我们想要优化我们的表示,使得它最小化损耗,损耗是求解器 L(y)的输出的函数。我们现在面临的问题是,损失函数是分段常数,这意味着这个函数相对于ω表示的梯度几乎处处都是 0,并且在损失函数的跳跃上是未定义的。更直白地说,梯度对于最小化损失函数是无用的。
到目前为止,已经有依赖于求解器松弛的方法,其中必须对其最优性做出牺牲。相比之下,我们已经开发了一种不影响求解器最优性的方法。我们通过定义原始目标函数的分段仿射插值来实现这一点,其中插值本身由超参数λ控制,如下图所示:
我们可以看到, f (黑色)是分段常数。我们的插值(橙色)以合理的方式连接了平台。例如,注意最小值没有改变。
f 的定义域当然是多维的。这样,我们可以观察到输入集 ω ,其中 f 获得与多面体相同的值。自然,在 f 的定义域中有很多这样的多面体。超参数 λ 有效地做的是通过解算器输入的扰动来移动多面体, ω 。定义分段仿射目标的 g 插值器将多面体的移动边界连接到原始边界。下图描述了这种情况,其中获得值 f(y2) 的多面体的边界被移动以获得值 f(y1) 。这也直观地解释了为什么更高的值 λ 是优选的。位移必须足够大,以获得插值器 g ,它将为我们提供信息梯度。证明可以在[1]中找到。
首先,让我们定义扰动优化问题的解决方案,其中扰动由超参数 λ 控制:
如果我们假设成本函数 c (ω,y)是 y 和ω之间的点积,我们可以如下定义插值目标:
注意,成本函数的线性并不像乍看上去那样严格。所有涉及边选择的问题,其代价是边权重的和,都属于这一类。最短路径问题(SPP)和旅行推销员问题(TSP)就是属于这类问题的例子。
(2)在这个动画中,我们可以看到插值如何随着λ的增加而演变。
该算法
通过我们的方法,我们能够通过简单修改反向传递来计算梯度,从而消除经典组合求解器和深度学习之间的裂痕。
向前传递时,我们只需为嵌入式解算器提供ω,并将解向前传播。此外,我们保存正向传递中计算的ω和解 y_ 值。
对于反向传递,我们只需用λ缩放的反向传播梯度扰动ω,并取前一个解和扰动的问题解之间的差。
计算插值梯度的计算开销取决于求解器,额外的开销是在前向过程中调用求解器一次,在后向过程中调用一次。
实验
我们开发了包含一定程度的组合复杂性的合成任务来验证该方法。在接下来的任务中,我们已经证明了我们的方法对于组合推广是必不可少的,因为朴素的监督学习方法无法推广到看不见的
数据。同样,目标是学习组合问题的正确规范。
对于魔兽最短路径问题,训练集由魔兽争霸 II 地图和地图上对应的最短路径作为目标组成。测试集由看不见的魔兽争霸 2 地图组成。地图本身编码一个kT5×k 网格。这些地图是卷积神经网络的输入,卷积神经网络输出地图的顶点成本,这些成本将反馈给求解器。最后,求解器(实际上是 Dijkstra 的最短路径算法)以指示器矩阵的形式在地图上输出最短路径。
自然地,在训练开始时,网络不知道如何将正确的成本分配给地图的分块,但是使用我们的方法,我们能够学习正确的分块成本,从而学习正确的最短路径。直方图显示了我们的方法如何能够比 ResNet 的传统监督训练更好地概括**。**
在 MNIST 最小成本完美匹配问题中,目标是输出 MNIST 数字网格的最小成本完美匹配。具体地说,在最小成本完美匹配问题中,我们应该选择这样的边,使得所有顶点都恰好包含在选择中一次,并且边成本的总和最小。网格中的每个单元包含一个 MNIST 数字,该数字是图中具有垂直和水平邻居的节点。通过垂直向下或水平向右读取两位数来确定边缘成本。
对于这个问题,卷积神经网络(CNN)接收 MNIST 网格的图像作为输入,并输出转换为边成本的顶点成本网格。然后将边缘公式交给 Blossom V 完美匹配解算器。
解算器输出在匹配中选择的边的指示向量。右边匹配的代价是 348(横向 46 + 12,纵向 27 + 45 + 40 + 67 + 78 + 33)。
同样,在性能图中,我们注意到在神经网络中嵌入实际完美匹配求解器的明显优势。
我们还研究了旅行推销员问题的公式,其中网络应该输出国家首都的最优旅行推销员旅行。对于这个问题,重要的是在潜在表征中学习正确的资本位置。我们的数据集由各国国旗(即原始表示)和各自首都的最佳旅游组成。一个训练例子由 k 个国家组成。在这种情况下,卷积神经网络显示为国家标志的串联,并应输出最佳路线。
(5)
在下面的动画中,我们可以看到在训练期间学习到的各国首都在地球上的位置。在开始时,位置是随机分散的,但是在训练之后,神经网络不仅学习输出正确的 TSP 参观,而且学习输出正确的表示,即各个首都的正确的 3D 坐标。值得注意的是,这是仅使用汉明距离损耗进行监督和在 Gurobi 中对网络输出使用混合整数程序的结果。
结论
我们已经表明,事实上,在对解算器的成本函数的某些假设下,我们可以通过黑盒组合解算器传播梯度。这使我们能够实现标准神经网络结构基于传统监督所不能实现的组合概括。
我们正在展示这种方法在处理需要组合推理的现实世界问题中有广泛的应用。我们已经演示了一个这样的应用程序来处理基于等级的度量优化[2]。然而,问题是我们离求解器成本的线性假设还有多远(理论上和实际上)。未来工作的另一个问题是,作为一个例子,我们是否可以了解 MIP 公式中组合问题的潜在约束。这种方法的应用范围很广,我们欢迎任何愿意合作的人来充分发挥这项工作的潜力。
相关推文
参考
[1] Vlastelica,Paulus 等.黑盒组合求解器的微分arXiv 预印本 arXiv:1912.02175 (2019)。(http://bit.ly/35IowfE)
[2]Rolínek 等人,“使用黑盒区分优化基于等级的度量。” arXiv 预印本 arXiv:1912.03500 (2019)。(http://bit.ly/35EXIMN)
确认
这是来自马普智能系统研究所自主学习小组和意大利费伦泽大学的联合工作。
三维点云的未来:一个新的视角
被称为点云的离散空间数据集通常为决策应用奠定基础。但它们能成为下一个大事件吗?
点云的不同渲染。从左到右,原始点云、着色、着色、体素化、语义化
我是一个大点云爱好者。10 年前,我第一次发现了它们的存在,从那以后,我一直在通过现实捕捉的演变来调整我的实践,以总是获得更清晰的数据集。但我仍然记得我第一次用陆地激光扫描仪进行勘测,并很快获得了这些令人惊叹(现在仍然令人惊叹)的 3D 点云。
在 3D 扫描过程中,一个废弃的洗毛设备。照片罗布罗克
但是…梦想面对现实。如何有效地考虑这些实体?当时,处理过程——理解为手动超负荷的重复数字化——由几个大量手动步骤组成,如过滤、配准、清理、分割、分类、网格化、数字化……它针对某些部分(主要是配准、过滤和网格化)进行了改进,但我当时遇到的主要瓶颈仍未解决:我们为什么要费心改变每个应用程序的数据性质(如点云到矢量)?
在 Flyvast 在线点云软件中创建 dwg 文件的手动数字化过程。
没有更高效的工作流程吗?
编队学习先进的点云处理和三维自动化。开发新的 python 地理数据技能和开源…
learngeodata.eu](https://learngeodata.eu/point-cloud-processor-formation/)
让我带你踏上研究之旅,将想法具体化为解决方案。
基因
早在 2015 年,在做了两年 3D 激光扫描工程师后,我决定投身于教学和研究,试图解决这个问题。我跳进学术界,开始调查发展的现状,寻找最终需要一些砂浆的砖块。嗯,在那个时候,我很快意识到,没有工作的尝试解决问题的根源。我的努力需要更多的时间。
观察
“当我们睁开眼睛看到一个熟悉的场景时,我们会立即对可识别的物体形成印象,这些物体被连贯地组织在一个空间框架中”。
1980 年,特雷斯曼用简单的术语定义了人类视觉背后的复杂机制。对于没有受损的人来说,它通常是我们的认知决策系统可以用来采取行动的主要信息来源。这是可以扩展的,我们的大脑可以快速适应新的环境,并且只使用通过我们的眼睛捕捉到的最重要的材料。事实上,大脑每秒钟只接收到三个“图像”,这些图像被分类并与先前的知识相结合,以创建我们所体验的现实。
这个图像有意义吗?我相信你会发现这些的意义。
这种机制非常快速和有效,允许我们在看到红灯时刹车,或者只是阅读这篇文章并理解单词的空间组织。更令人印象深刻的是,我们的视觉可以适应“定向注意力”——大脑没有对周围环境形成完全理解的节能模式——或“发现注意力”——当大脑从我们的记忆中收集数据以获得对场景的完全理解时,这种模式运行较慢。
凭借当今的计算能力和高度的非物质化,虚拟复制这样一个过程不仅非常有吸引力,而且似乎是可行的。虽然这种操作真的很难模仿,但研究我们如何与环境互动可以更好地掌握边界和可用的机制。
比较
它首先转化为可以捕捉计算机可用的关键输入的传感器的使用。
这幅图像中的每个向量都由传感器(人工或自然的)引导,这些传感器为它们的使用收集关键的洞察力。
然后,我们的目标是一个基于收集的数据和可访问的信息库的程序,以产生一个“语义表示”:一个场景的描述,整合概念及其意义。在这种情况下,空间传感器扮演我们眼睛的角色,以获得数字空间资产,并使用可用的知识进一步细化为语义表示。
传感器扮演着我们眼睛的角色,空间框架变成了语义表达,场景被加上了熟悉的标签
这种可用性通常是第一个复杂因素。我们的在线认知使用我们的记忆,并在很短的时间内获取所需的证据。使用计算机模拟这一阶段极其复杂,尽可能找到通用的解决方案是一项重大挑战。
尝试虚拟化认知决策系统的第二个瓶颈是语义表示的创建,如下图所示。收集领域知识并将其附加到基础空间数据上,与数据类型、源或表示的巨大集成和挖掘复杂性相关联。
三维点云表示与三维语义表示
数据
三维点云
主要挑战围绕传感器收集的数据的特异性。当深度线索不是必要的时候,单个光栅图像或视频流是很好的,但是模拟我们的 3D 视觉认知需要更丰富的数据基础。现实捕捉设备允许获得主要作为点云的这种详尽的 3D 空间信息:{X,Y,Z} (+属性)空间集合,其数字地表示相对于传感器强度和限制的记录环境。这些仪器和采集方法已经足够成熟,可以实现从实物到国家范围的真实世界的数字复制,如下图所示。
捕捉和组合不同数据集的实时多尺度点云
点云大数据
获取这些所谓的点云变得更容易、更快,甚至可以从非常低成本的解决方案中获得。不幸的是,所有这些硬件的发展都没有跟随着软件的发展,软件受到了大数据问题的严重影响,如下图所示。
点云背景下大数据的五个 v。
连接众多传感器/方法创建异构点云数据集(多样性)并参与大规模数据存储库(容量)的构建。反过来,它降低了处理效率(速度),并产生了将大量点数据转化为值得信赖的(准确性)和可操作的信息(价值)的新需求。
交付物
点云采集和处理工作流程通常依赖于应用程序,遵循从数据收集到可交付成果创建的经典流程。虽然收集步骤可能特定于手边的传感器,但点云作为一种可交付的方式激增,成为许多行业事实上的选择。这种面向任务的场景主要将这些视为空间参考——由专家用来创建其他可交付成果——因此是项目与现实最紧密的联系。它带来了准确的真实世界信息,可以根据数字现实做出决策,而不是解释或最新的信息。
今天,“大脑”是一个坐在桌子后面的专家,将处理点云以提取可交付成果。我们想要的是将这种知识直接集成到数据中,给空间实体赋予语义意义
此外,将点云转换为特定于应用的可交付成果的过程在时间/人工干预方面非常昂贵。对于人类专家来说,充分处理大量复杂的信息变得越来越复杂,这些信息通常在一个项目的不同参与者/支持者之间相互矛盾地传播。因此,对于一个可持续发展的系统来说,关键是将大点云数据转化为更高效的流程,从而开启有助于决策和信息提取的新一代服务。
我们需要找到大规模自动化和结构化的方法,以避免特定任务的手动处理和不可持续的协作。
合作
作为人类,我们在大规模合作中茁壮成长。我们最大的成就是建立在高效的信息、服务等交流之上的。点云通常非常大,这取决于收集了多少数据—通常是千兆字节,如果不是太字节的话—并且通常注定要作为可重用的支持进行归档,以创建新类型的数据和产品。这可能会导致存储需求指数级增长、输出之间不兼容、信息丢失和复杂协作的死胡同。
这些实践还表明,试图概括一个框架的努力是有限的,这个框架反过来可以作为进一步互操作性和概括的共同基础。这种缺乏是适得其反的,可能会导致参与者之间混乱的数据重新分配,并恶化对多个外包服务的依赖,每个外包服务都独立地针对一个应用程序。这强调了研究可互操作场景的强烈需求,在这些场景中,来自不同领域的许多用户可以使用一个点云,每个用户都有不同的需求。
这反过来将在获取级别引入新的约束,以定义用于推理引擎的 3D 表示的所需穷尽性。当然,这为互连流程和确保与不同源、卷和其他数据驱动参数的兼容性带来了更多挑战。
自动化
在这个连续体中,从以人为中心的过程到自主的工作流的反思导向了开发自动化和人工智能以加速推理过程的研究。这对于 3D 捕捉工作流中的点云开发至关重要,在 3D 捕捉工作流中需要识别对象。
机器人研究在提供自主 3D 记录系统方面取得了飞跃,我们在没有人为干预的情况下获得了环境的 3D 点云。当然,遵循这一理念发展自主测量意味着要求数据可用于决策。没有上下文的收集的点云不允许采取有效的决策,并且需要专家的知识来提取必要的信息并为决策创建可行的数据支持。对于完全自主的认知决策系统来说,自动化这一过程是非常诱人的,但也带来了许多挑战,主要涉及知识提取、知识集成和来自点云的知识表示。因此,点云结构化必须被特别设计,以允许计算机使用它作为信息提取的基础,使用推理和基于代理的系统。
我的人工智能自动物体在无人监督的情况下识别的结果。每种颜色代表自动识别不同类别
身份证明
这就是我想说的:我们需要虚拟数据集中的智能!这,为了避免脑力劳动和手工流程,也是为了互操作性。有许多应用程序会以不同的方式使用点云,但为每个应用程序提取可交付成果似乎不是最高效的(就存储空间而言也不是生态友好的)。但是,如果专家知识被形式化并集成在点云中,您只能猜测基础架构变得有多集中和高效!
结果
所以是的,点云是巨大的;是的,我们需要特定的“技巧”来存储和处理它们,但几十年前的视频也是如此!这在你的具体行业中意味着什么?你很快就能使用 3D 捕捉环境的“大脑表示”进行工作,并根据你的想法进行查询。但是当然,3D 传感器的广阔前景使得识别过程成为一个广阔的研究探索领域!激动人心!
拿走 5 分
- 3D 点云接近来自传感器的未精炼石油
- 语义注入应该旨在提供一个大的领域连接
- 底层的数据结构和算法就是为此而定制的
- 互操作性、模块化和效率是协作的关键
- 高效的自动对象检测应该建立在这些目标上
更进一步
这些想法基于获奖论文“智能点云”[1],其中包含了关于这些问题的工作解决方案的更多技术细节。但是,当然,就像长期研究工作中经常出现的情况一样,你会带着更多你在开始时就有的问题离开。
我们正在经历一个多么激动人心的十年。我们正处于一个迷人的时代,机器学习的使用为解决 10 年前被认为是科幻小说的挑战提供了巨大的可能性。
编队学习先进的点云处理和三维自动化。开发新的 python 地理数据技能和开源…
learngeodata.eu](https://learngeodata.eu/point-cloud-processor-formation/)
论文参考(开放存取)
- 女性,2019 年。智能点云:构建三维智能点数据。列日,委员会:比伦、雷蒙迪诺、范·奥斯特罗姆、科尔内、哈洛特、格鲁森迈耶。https://orbi.uliege.be/handle/2268/235520
关于作者
十多年来,Florent Poux 一直处于现实捕捉自动化的前沿。他拥有一个屡获殊荣的科学博士学位,并通过 ISPRS Jack Dangermond 2019 BP award 被评为杰出的研究人员。他作为 3D 地理数据( 列日大学 )的兼职教授、数据科学&机器学习(open classrooms)的导师以及 3D 顾问,为高级研究&知识传播搭建桥梁。
在他年轻的学术和科学生涯中,他发表了数十次技术演讲,在多个国际会议的科学&项目委员会任职,并作为主要国际 GIS 和自动化期刊的编辑&评审员提供协助。
他的活动旨在通过各种形式的交流和开发,传播知识和解决自动化问题。Florent Poux 依靠他的专业知识和一群技术娴熟的合作者,他们共同拥有一个全球合作的愿景,为建设一个更美好的社会而推动科技进步。
人工智能的未来是人工感知
你对此有何感想?
今天围绕人工智能未来的许多讨论都集中在实现人工通用智能的可能性上。本质上,一个能够处理一系列随机任务并像人类一样自己解决新任务的人工智能是最终目标。但是在游戏的这个阶段,围绕这种智能的讨论似乎更少关于如果而更多关于何时。随着神经网络和深度学习的出现,天空是实际的极限,至少一旦其他技术领域克服了剩余的障碍,这将是真的。
对于深度学习来说,要成功支持一般智能,它需要比目前任何单个系统访问和存储更多信息的能力。它还需要比当前技术允许的更快地处理这些信息。如果这些东西能够赶上神经网络和深度学习的进步,我们最终可能会拥有能够解决一些重大世界问题的智能。当然,我们仍然需要对它进行填鸭式的教育,因为在大多数情况下,它只能接触数字世界。
如果我们想要一个可以消费自己信息的 AGI,还有一些只有时间才能带来的技术进步。除了增加的信息量和处理速度,在任何人工智能作为自动机被广泛使用之前,它将需要拥有良好的运动技能。一个能控制自己能力的 AGI 可以在世界各地移动,通过各种传感器获取信息。然而,这是另一种只是等待的情况。这也是另一种形式的当不是如果这些技术将赶上其他技术。谷歌已经成功试验了精细运动技能技术。波士顿动力公司拥有具有稳定运动技能的犬类机器人,这种技能只会在未来几年内得到改善。谁说我们的 AGI 机器人需要直立?
成功分析团队的五个必要角色
towardsdatascience.com](/getting-your-analytics-team-right-b539206dac3d)
简而言之,对 AGI 来说,这两个缺失的因素更像是一场等待游戏,而不是一个是否可能的问题。随着这些技术领域的改善,人工智能和后续的人工智能机器人版本将慢慢变得可用和更加普遍。在许多方面,人类会接受这些介绍作为事情的正常进展。即使这些 AGI 真的出现在我们的主流日常生活中,它们也可能是人类的咕哝声——有所行动,但似乎没有生命,没有个性。
然而,人工智能的一个方面越来越少受到关注,也许是下一个大的事情,是人工感知。感觉可以分为两类。第一类是意识。这一条会让那些高尚的人工智能天才忙于通过图灵测试。如果机器有自我意识,并以类似于人的方式意识到他人,我们将有新的伦理规则需要考虑。
第二类是情感,或者说是感觉。记住,我们谈论的是人工的感觉。所以,在这种情况下,我们指的是人造情绪。我并不主张一种实际的情感体验,而是一种表现出恰当的情感来与人类交流的能力。因此,当与刚刚失业的人交谈时,机器可能会表现出悲伤。当听到对方被无故解雇时,它可能会在谈话中表现出愤怒。当得知这个人刚刚得到了她梦寐以求的工作时,它会正确地表现出喜悦。“听起来你的失业是因祸得福,”它可能会说。
据我所知,这第二类感知——可信的情感——是人工智能的未来,而不是一般的智能。
在本文的其余部分,当我使用感觉这个术语时,我将用它来指代第二类感觉——人工情感或感觉。我相信这种感觉是人工智能的未来,原因有二。首先,人们将信任、联系、更舒适地互动,甚至喜爱通过情感而不仅仅是智力与他们相关的人工智能。第二,人工智能口头或书面描绘现实情感可以在短暂的交谈中像人类一样传递。
你有没有读过一本书,和主角产生情感上的联系?你知道这个人是假的,对吗?他或她是一部虚构的作品。但是一旦你和他们建立了情感联系,你就会像关心你现实生活中的朋友一样关心他们。虚构的故事激起了你的情绪。这个故事可能是虚构的,但你从中感受到的情感是真实的。如果作者在讲故事方面做得非常出色,你的真实情感让你关心书中的人物。是的,情绪就是这样。
过渡到一个场景,你正在与一个人工智能互动。你和它之间的情感联系会增长,因为它的情感看起来是真实的。将来有一天,你会去商店面试一个新的机器人助手。也许精细运动控制甚至还不可用。你只是在和黑盒里的软件说话。你采访的第一个黑匣子完全有能力处理你需要它做的所有任务,但它在与你交谈时不会使用任何形式的情感。你采访另一个黑盒;这件衣服侧面有一条鲜红色细条纹,以显示它的风格。它做了第一个盒子能做的一切——此外,当它和你说话时,它似乎真的很关心你。
“你今天早上好吗,黑匣子?”
“我很好,吉姆。你好吗我看到了你昨天发布在网上的小苏珊的照片。她太可爱了!一天比一天更像她的母亲。”
你刚买了细条纹盒子。
在电影 Her 中可以找到一个人类和有感知能力的软件之间的这种情感依恋。在电影中,它既迷人又令人不安。但是你明白了。情感联系对人类很重要。我们似乎并不关心情感依恋是对一个真实的人还是一本书里的虚构人物。证据支持这个结论。人们会选择有情感能力的人工智能,而不是没有情感的人工智能。
数据科学和业务环境正在融合
towardsdatascience.com](/the-future-of-data-science-5825bde65637)
但比你可爱的新细条纹助手更令人印象深刻,也可能更可怕的是,一个能够伪装成人类的人工感知机器。首先,我要明确一点。我并不是说这个有意识的人工智能站在你的客厅里,而你认为它是人类。那仍然是科幻的东西。为了解释我的观点,让我来设置场景。
你需要理发。你从口袋或钱包里拿出智能手机,给美容院打电话。一位年轻女士回答道:“早上好!感谢致电最佳发型沙龙。我帮你多少?”
“是的,我需要理发和染发。”
“是的,妈妈。有没有比较喜欢的造型师?”年轻的女士问。
“是的。我总是用尼克。他是最棒的!”
“哦,尼克很棒。大家都爱他。”暂停。“你想什么时候进来?”
“哇。这个星期真的很忙。周四下午早些时候,你有什么事吗?”你分享。
“嗯。让我看看。”暂停。“嗯,尼克已经预订了星期四下午的票。但是他在那天早晨十点钟确实有空。有没有可能行得通?”又一次停顿。"或者我们可以试试另一个造型师."年轻的女士说。
“好吧,你知道吗?我会让它工作的。我会在十点钟到那里。”
“精彩!我帮你记下了周四上午 10 点和尼克的会面。还有别的吗?”
你以“不”结束。就是这样。到时候见。”然后你挂了电话。
想象一下,如果沙龙里的年轻女士是一个有知觉的人工智能。如果你给发廊打电话,而今天的自动系统接了电话,你会发现一个新的发廊。每个人都讨厌被塞进自动化系统。
“请按一个或说出你的发型师的名字.”
“我不这么认为。”
“你说,阿方索?”
“不,我说的是……”点击。
能够进行现实情感对话的人工智能是商业和社会的游戏规则改变者。这种技术已经在开发中。在 2018 年 5 月的 I/O 大会上,谷歌演示了机器和人之间的对话。相关人员并不知道她在对软件说话。人工智能助手谷歌双工(Google Duplex)作为一名人类呼叫者没有任何问题。在这个场景中,人工智能正在呼叫一个沙龙来为个人安排理发。但是这个对话和两个人的对话没有区别。
一个有感知能力的人工智能在有限的互动中像人类一样传递的能力也通过书面语言得到了展示。人工智能技术正在写文章和书籍,读起来和人类写的一样。在某些情况下,人工智能的文章可能比人类写的更好——只要看看我的一些东西就知道了。
将人工智能从目前的特定任务能力发展到通用智能技术的所有努力都很重要。随着人工智能继续成长为成年人,它们将带来巨大的价值。但是情感类的感知,比完全发展的 AGI 更接近,并且,在我看来,对人工智能的成功采用和在我们非常情感化的人类世界中的有用性更重要。
杆蓖麻 帮助企业获得分析权!他帮助国际组织和小型企业改善他们的数据分析、数据科学、技术战略和技术领导力。除了咨询,Rod 还喜欢公开演讲、教学和写作。你可以在 rodcastor.com**和通过他的 邮件列表 了解更多关于 Rod 和他的工作。
Airbnb 的财务数据分析
旅行已经停止,随之而来的还有 Airbnb 的预订。68%的 Airbnb 直到 8 月份都没有预订,平均每个主人已经失去了€14K——我们所知道的 Airbnb 还能生存吗?
阿姆斯特丹与 Airbnb 有着麻烦的历史。这座城市多年来一直缺乏经济适用房,一般来说,也只有 T2 的住房。荷兰的首都很小,被水所限制,并且在艰难的建筑法规中挣扎。这推高了私人市场的租金,平均达到阿姆斯特丹人月收入的三分之二。Airbnb 的到来抢走了当地市场的租赁房源,但也为许多难以履行租金义务的阿姆斯特丹人提供了一线生机。12 年后,Airbnb 不可否认地成为了阿姆斯特丹生活的一部分,数百万游客涌入运河街道,寻找只有 Airbnb 才能提供的真实当地体验。
由于当前的疫情中断了短期旅行,Airbnb 主机体验以及阿姆斯特丹已经完全改变了。我将分析阿姆斯特丹 Airbnb 房源的数据集,估计预订和收入的相对变化,估计 Airbnb 主机出租第二套住房的租金/抵押贷款成本,并回答 Airbnb 能否在阿姆斯特丹生存的问题。
通过 pixabay 、 Canva (Pixabay 许可证)免费拍照
数据
Airbnb 内部的项目多年来一直在从该平台收集房源数据,清理和结构化数据集,并将其公之于众。对于这个项目,我正在分析在以下日期收集的数据集:
- 2019 年 2 月 4 日对 2020 年 2 月 14 日
- 2019 年 3 月 7 日对 2020 年 3 月 13 日
- 2019 年 4 月 8 日对 2020 年 4 月 16 日
- 2019 年 5 月 6 日对 2020 年 5 月 8 日
由于阿姆斯特丹的旅游根据月份和季节而波动,我将比较 2020 年 2 月和 2019 年 5 月之间每个月的年度变化。
每夜、每周和每月的价格列不是数值型的,所以我们需要清除它们中的字符串并将它们转换成数值型列:
预订量下降了多少?
根据 Airbnb 内部的数据,截至 2020 年 5 月 8 日,阿姆斯特丹目前有 19,278 个房源。然而,在同年 2 月,有 19,700 个列表,这意味着在 2 月至 5 月的这一天,有 422 个列表被删除,可能是由于新冠肺炎的限制。然而,如果我们只看这个统计数据,我们将会低估问题大约 1 万台主机。
许多主机已经决定在可预见的未来不提供他们的列表,而不是直接删除它们,这是有道理的,因为他们的列表充满了良好的评论,增加了他们主机的可信度,从而增加了预订。我们可以这样查询数据:
我们得到 14,129 个列表在接下来的 30 天内完全不可用,13,037 个在接下来的 90 天内不可用。这意味着 68%的 Airbnbs 至少在未来三个月的预订率为零。
我们将计算每台主机预订量的百分比变化(或者换句话说,空缺的相对变化)。这意味着我们将比较 2019 年每个主机的空置率和 2020 年的空置率。这是数据的一大特点,因为我们不需要进行任何归纳,而是可以真正考虑到每个主机的体验,将他们今年应该拥有的预订率与他们实际拥有的预订率进行比较。
首先,我们需要将 2019 年的零可用天数标准化为一天,因为我们将计算百分比变化,即除以 2019 年的数字。我们还需要将 2020 年的零空房日转变为 100%空房日(如我们之前所讨论的),因为由于旅行和托管限制,主机故意使他们的 Airbnbs 不可用。这是代码:
下图让我们很好地了解了仅疫情一项就让主办方失去了多少预订:
互动图表+数据:https://chart-studio.plotly.com/~brunnatorino/9.embed
蓝色条显示,与 2019 年的数字相比,未来 30 天(从 5 月 8 日到 6 月 8 日)的空置天数平均增加了超过 2000% 。**在接下来的 90 天里(5 月 8 日至 8 月 8 日),空置天数平均增加了近 6000%。**通常情况下,阿姆斯特丹的机场不会长期开放,尤其是在 3 月至 6 月的郁金香季节,数百万游客来到荷兰观赏世界闻名的郁金香,这使得这些数字更加令人不安。
主机收入损失了多少?
回答这个问题有两种方法:
- 计算 2020 年与 2019 年预订量的差异
- 考虑到 2019 年至 2020 年 Airbnb 预订的增长估计。
Airbnb 在很大程度上依赖于旅行者对主人的信任,这可能是游客决定是住在酒店还是 Airbnb 的决定性因素。因此,如果一个主持人已经在平台上呆了一年多,我们可以有把握地假设,随着他们评论和评级的增长,他们的预订可能会逐年增加。
此外,如果我们不考虑增长,我们可能会低估 Airbnb 主机正在经历的财务困难,因为他们在决定对 Airbnb 进行资本支出(如装修、新家具、雇佣员工)以及今年计划的个人支出时,可能也会假设一定的增长率。
根据这两篇文章,Airbnb 的同比增长似乎平均在 25%至 30%之间: Skift 和 Reuters 。这里,我将把相对空缺调整 25%(意味着今年,主机的预订量应该比去年多 25%)。
如果疫情没有发生,这是针对主机在 2020 年的潜在收入增长而调整的代码:
我们将平均结果乘以我们数据集中在 Airbnb 超过一年的主机数量(13,964),我们可以用图形显示从收集数据开始算起的未来 30、60 和 90 天内每月的收入损失(在本文开始时指定):
互动图表+数据:https://chart-studio.plotly.com/~brunnatorino/5.embed
这张图表显示了新冠肺炎对阿姆斯特丹造成的非常悲惨的影响。尽管我们都知道旅游业正在遭受损失,但要确切发现疫情对它们的影响有多大总是很困难的。
该图显示了已实现和未实现的损失。让我们来具体分析一下 Airbnb 主机已经损失了多少,以及在未来 3 个月内他们很可能会损失多少。
已实现的损失
为了计算已实现的损失(Airbnb 已经发生的收入损失),我们可以看看 2 月、3 月、4 月和 5 月未来 30 天的预订量。根据数据集和我们的计算,我们得到了以下结果:
从 2 月到 5 月,阿姆斯特丹 Airbnb 的房东已经损失了超过 1.97 亿欧元。这相当于阿姆斯特丹每台主机平均€14,517 欧元。
互动图表+数据:【https://chart-studio.plotly.com/~brunnatorino/13.embed
未实现损失
计算 5 月份的收入损失与 5 月、6 月和 7 月的预测收入损失之间的差异,我们得到主机在 6 月和 7 月仍然会损失大约€9400 万欧元,结果是每台主机平均损失 6,896.14€。
外推结果
如果我们将在 Airbnb 上停留超过一年的主机视为阿姆斯特丹 Airbnb 所有主机的样本,我们可以推断出我们得出的估计值,并获得阿姆斯特丹主机因疫情而损失多少收入的更现实的数字。
我们一开始计算出,阿姆斯特丹 Airbnb 上大约有 19278 个活跃房源。如果我们将样本中平均每台主机的收入损失乘以阿姆斯特丹的主机总数,我们得到的数字是:
在接下来的两个月中,预计€将出现 2.8 亿欧元的已实现亏损,€将出现 1.33 亿欧元的未实现亏损。
这对阿姆斯特丹的东道主意味着什么?
当我们在数据集上查询一个主机在 Airbnb 上有多少个列表时,我们发现大多数主机(大约 13,394 个主机)只有一个列表,其中只有 1,952 个主机列出了私人房间。这意味着大多数只有一个列表的主机(11,442 主机)列出了整个公寓,这些公寓可能是作为投资购买的,也可能是作为主机主住宅的附加租赁。
为什么这很重要?
当东道主投资房地产时,考虑到在 Airbnb 上提供该州的高利润率,他们可能会预算他们的抵押贷款或租金付款高于他们在 Airbnb 突然不再是一个选择的情况下所能负担的。这不仅包括每月费用,还包括装修、高标准电器、家具和装修费用。
如果出租的不是主人的主要住所,这一点尤其令人担忧,因为装修你公寓里的一个房间,并尽可能将其出租作为一个非必要的收入来源,其初始费用和风险要比申请 30 年期抵押贷款或签署一整栋二手房的一年期租约,并以类似酒店的标准装修和装饰它低得多。
估算航空公司的租金价格
生活中有两件事是确定的:税收和房租。尽管 Airbnb 的空房比去年增加了 6000%,但在冠状病毒危机期间,荷兰并没有对租房者实行任何形式的租金冻结。事实上,通常在 7 月 1 日进行的年度租金上涨将会持续下去。然而,政府已同意在家庭失去主要收入的情况下冻结驱逐。
然而,在大多数情况下,Airbnb 的利润在荷兰并不被视为主要收入,所涉 Airbnb 房屋甚至不是所有者的主要住所,因此很难避免最终被驱逐。
在我的另一篇文章机器学习和真实状态 *,*中,我训练了一个随机森林模型,它预测阿姆斯特丹公寓的租金价格,平均准确率为 94%。为什么不在这个项目中也使用它来估计这些主机可能为他们的第二 Airbnb 房屋支付多少钱?我们假设他们是出租这些房子,而不是拥有它们,然而阿姆斯特丹的抵押贷款通常非常接近租赁价格,甚至更低。因此,我们的估计介于现实和悲观之间,考虑到一些房主可能拥有多套房子而无需支付租金或抵押贷款。这是使用模型进行预测的代码:
预言
在只查询了在 Airbnb 上提供整栋房屋/公寓的主机的数据集后,该模型计算了超过 1 万个房源的租金预测。使用以下代码计算利润率:
我们得到阿姆斯特丹的平均利润率约为 182% ,这意味着房东通过使用 Airbnb 支付的租金几乎是他们的两倍。我们可以从两个方面来解释这一点:房东支付的租金是他们的两倍,或者如果他们拥有一所房子,Airbnb 的收入是房东在当地市场出租公寓的两倍。
然而,如果 Airbnb 不再是这些主机的一个选项(至少在短期内),他们每个月的按揭付款或租金义务是多少?如果我们合计 7,343 个样本中 Airbnb 的租金估计值,我们得到在过去 4 个月(2 月至 5 月)中 Airbnb 托管受到严重限制的租金负债约为 7,000 万€欧元。这相当于每台主机平均约 7,592.73€。
如果我们再对在 Airbnb提供整套公寓或房子的 15352 个主机进行推断,总负债增加到€1.45 亿欧元。现在真正的问题是,阿姆斯特丹 Airbnb 房东的银行账户中是否有至少 7592.73€的闲钱,可以在这场危机中充当缓冲。如果我们假设旅游危机将至少持续到 7 月底(由我们未来 90 天的空房数据支持),这一负债将增加到每台主机约 11,389**。否则,房东可能会因为拖欠抵押贷款或支付租金而陷入严重的麻烦,并因此失去他们的投资、努力和与 Airbnb 的合作。**
根据 2017 年 Captain Finance 的一篇文章,荷兰家庭平均拥有约 2 万€的储蓄。假设 Airbnb 的房东也有同样的比率,此外,他们还没有花掉那些积蓄来拥有或翻新他们的 Airbnb,那么我们可以得出结论,大多数阿姆斯特丹 Airbnb 的房东可以生存到 7 月底。
如果€20,000 是主机的平均限额,我们估计大多数 Airbnb 主机在 2020 年 11 月中旬之前都有节余。在此之后,房东不太可能在银行有足够的现金来继续支付他们的 Airbnb 投资公寓和房屋的抵押贷款和租金。
Airbnb 基金
Airbnb 还宣布了一项基金来帮助 Airbnb 主机,这些主机在 5 月至 6 月期间遭受了大量取消,向主机平均退款约为他们本应收到的 12.5%。这可能会为主办方提供一条生命线,延长他们在没有预订的情况下生存的时间。
5 月和 6 月的平均收入损失为阿姆斯特丹每台主机 10,541€。如果 Airbnb 退还其中的 12.5%,那么每台主机将获得 1317.62€。Airbnb 对€出租全部房产的房东的平均月租金估计为 1898 英镑,相比之下,这给了他们大约 2/3 的额外月收入,这让我们的估计延伸到了 12 月初。
然而,有报道称 Airbnb 基金并不十分有用,房东收到的退款远远少于这里计算的金额,而且不清楚基金款项是如何计算的。
那么答案是什么呢?Airbnb 会成功吗?
根据这篇文章的估计,在没有任何预订的情况下,Airbnb 的普通房东至少可以生存到 11 月中旬。如果疫情阻碍旅行的时间超过这个时间,Airbnb 很可能会不可挽回地失去大部分房东,因为公寓被取消赎回权,房东失去转租权。
由于 Airbnb 的负面前景,房东也很有可能再次转向当地市场短期出租他们的公寓,直到疫情结束——在疫情之前,他们可以在 Airbnb 上比出租给阿姆斯特丹人多赚两倍的钱。然而,考虑到许多人已经失业,更多的人害怕失去工作,这种策略是否可行是值得怀疑的,而且不可延期的、没有固定结束日期的临时租赁可能不是他们目前最感兴趣的。
在世界努力摆脱这场危机的同时,如果 Airbnb 的主机转向当地市场,并在更长时间内租用他们的公寓,这在短期内可能对 Airbnb 有利,但由于荷兰非常严格的租户法律,这些主机很难在安全的情况下回到平台,这对 Airbnb 来说可能与因为其他原因无法挽回地失去这些主机一样糟糕。
另一方面,如果房东决定在疫情结束前一直空置,他们将不得不承受存款的巨大损失,如果人们在年底前觉得去大都市旅行不安全,他们还可能面临失去公寓的风险。
结论
如果主人保持忠诚,并且疫情在年底前结束,Airbnb 可以在阿姆斯特丹生存下去。随着疫苗试验和欧洲国家放松封锁的消息,肯定有理由对该平台感到乐观。然而,即使放宽了限制,要准确知道人们何时会愿意再次去大城市旅游或做生意可能会更加困难。无论如何,我们的估计显示,Airbnb 的主人实际上可以坚持几个月,但可能不足以看到旅游业的再次崛起。其他解决方案,如在当地市场租赁公寓,将不得不由房东权衡,这样他们就可以延长他们的生命线,足以看到预订量再次上升。
在这个不确定的时期,祝你们所有人好运,我真诚地希望我们都能更好、更强、更明智地度过难关。感谢您的阅读。
人工智能的未来——神经形态计算
深度学习行业需要一种新型的硬件——神经形态硬件——才能真正高效。
E 人工智能领域的每个人都知道什么是神经网络。大多数从业者都知道训练任何值得注意的神经网络都需要巨大的处理能力和能量消耗。也就是说,为了该领域的进一步发展,需要一种新型的硬件。
一些专家认为量子计算机就是硬件。尽管量子计算有着巨大的前景,但它是一项需要几十年才能发展起来的技术。物理理论还不够成熟,不足以开发出有用且经济的设备。
另一方面,神经形态计算将花费更少的时间和资源来开发,并且在设备开发成本和处理能力的能源成本方面都非常有用和经济高效。
由于大多数读者不知道什么是神经形态计算,我将在本文中描述这项新技术,以及它将使我们在“更接近量子”的未来做什么。这一切都始于神经形态芯片中使用的核心电子组件忆阻器。
忆阻器——缺失的电路元件
忆阻器已经被证明以类似于大脑突触的方式工作,因为它们具有所谓的可塑性。这种可塑性可以用来创建受大脑启发的人工结构,以处理和记忆数据。
众所周知,有三种基本的无源电子元件:
- 电容器——具有储存电能(在电场中)并在需要时将电能释放到电路中的功能;
- 电阻器——是一种对电子流动产生阻力的无源器件;
- 电感器也称为线圈、扼流圈或电抗器,是一种无源双端电子设备,当电流流过磁场时,它在磁场中存储能量。
多年来,这是仅有的三种基本无源电子元件,直到忆阻器出现。
那么它们是什么呢?
忆阻器矩阵
忆阻器是第四类电路,加入了上述组件,主要在纳米尺度上展示其独特的属性。理论上,忆阻器(由存储器和电阻串联而成)是一种无源电路元件,它维持两端元件上的电流和电压的时间积分之间的关系。因此,忆阻器的电阻根据设备的忆阻功能而变化,允许通过微小的读取电荷来访问设备的“历史”(或存储器)。
所有这些用简单的语言拼写意味着这是一个无源电子元件,能够“记住”其过去的状态(电阻值),即使没有能量通过它。忆阻器也可以用作存储器和处理单元,这是一个重要的壮举,我将在稍后描述。
忆阻器是由 Leon Chua 在 1971 年首次发现的,只是在理论上。如果你想了解更多,你可以在的原始论文中找到。
直到 2008 年,惠普实验室的一个研究小组才首次基于氧化钛薄膜制造出忆阻器。根据惠普实验室团队的说法,忆阻器的行为方式如下:
“忆阻器的电阻不是恒定的,而是取决于之前流过该设备的电流的历史,即它现在的电阻取决于过去有多少电荷以什么方向流过它;这种设备能够记住它的历史,也就是所谓的非易失性。当电源关闭时,忆阻器会记住其最近的电阻,直到再次打开为止。”
从那以后,各种其他材料被各种公司实验,用于制造忆阻器,我就不一一列举了。
但是让我们跳过这些无聊的东西,直接进入忆阻器有趣的科幻应用吧!
神经形态计算——或者说如何创造大脑
神经形态计算并不是什么太新的东西,因为它在 1980 年首次被创造出来,它指的是模拟电路,模拟人脑的神经生物结构。
如果你至少有点了解深度学习的宣传,你就会知道它围绕着基于软件的算法和架构,这些算法和架构抽象地模仿大脑的神经回路。深度学习越来越多地传播到所有类型的行业,训练算法的成本是巨大的。
深度学习未能模仿的一点是大脑的能效。神经形态硬件可以解决这个问题。
还有,你可以告别著名的冯诺依曼瓶颈了。如果你不知道那是什么,它指的是数据从一个设备的内存到达处理单元所需的时间。这实际上使处理单元等待(浪费时间)获得它需要处理的数据。
神经形态芯片没有瓶颈,因为所有的计算都发生在内存中。忆阻器是神经形态芯片的基础,可以用作记忆单元和计算单元,类似于大脑的工作方式。它们是第一批无机神经元。
为什么神经形态硬件更适合神经网络
神经网络主要使用实数(例如 2.0231、0.242341 等)来表示神经网络架构内部的权重和其他值。然而,在目前的计算机体系结构中,这些值需要转换成二进制。这增加了在训练和部署中计算神经网络所需的操作数量。
神经形态硬件不使用二进制,但它可以使用真实值,如电流和电压等电气值的形式。这里,数字 0.242341 被表示为例如 0.242341 伏。这直接发生在电路内部,不存在二进制值。所有的计算都以电路的速度进行。
基于神经形态硬件,极大地提高神经网络的响应速度和训练速度的另一个因素是计算的高度并行性。关于我们的大脑,已知的一件确定的事情是,它是高度并行的,在我们生命的每一秒钟里,数百万次计算同时发生。这就是神经形态芯片所能实现的。
所有这些优势都有一个好处:训练和部署神经网络算法的能耗低得多。
边缘计算——由神经形态驱动
你可能知道,自动驾驶汽车主要基于神经网络和 4/5 G 技术。为了让汽车自动驾驶,它必须连接到一个数据中心,该数据中心分析它从汽车接收的数据(通常它会将数据传递给一个或多个卷积神经网络),然后使用 4/5 G 技术将数据返回给汽车。这会产生延迟,这可能会导致死亡。
神经形态计算的优势来自于之前提到的该技术的优点;所有处理都可以在汽车的“大脑”(神经形态芯片)内部本地完成。这将减少延迟,降低能源成本,增加汽车的自主性,同时也改善了汽车的一个敏感部分(因为大多数数据都是在本地处理的)——网络安全。
它还将为另一个不断增长的行业——物联网——带来许多新功能。众所周知,这些设备对能耗非常敏感,因为它们的电池寿命有限。小而高效的神经形态芯片可以用来以低成本为每个设备提供更多的功能。
结论
深度学习行业需要一种新型的硬件,神经形态的硬件,才能真正高效。神经形态芯片显示出最适合它的巨大前景,一些公司正在努力开发这项技术和硬件人工智能的未来。希望这一领域的工业研究将会增加,我们将很快拥有专用于神经网络的硬件。这将真正使人工智能开发者能够改变世界。
加盟中使用我的推荐链接:
https://stefanpircalabu.medium.com/membership
人工智能先驱 Senseye 的计算机视觉的未来
用 10 行代码将模型训练速度提高 120 倍
简介: Senseye 处于神经科学和计算机视觉的前沿。他们的技术将高清、高帧率视频镜头转化为可操作的内部认知和行为过程情报,可供企业、学术界和政府机构使用。
**如何创造一个更安全的世界:**利用对精神疲劳、药物和酒精损伤、认知负荷和先进生物识别技术的见解,组织可以提高工作场所的安全性、员工的健康、提高培训计划的效率、为个人定制产品等等。Senseye 的客户利用这些见解来提升和发展他们的业务,并与他们的合作伙伴、员工和消费者进行深度互动。
图片来源:拉斐尔·波尔 via Unsplash
计算机视觉数据的真正挑战
Senseye 利用机器用来训练机器学习模型的高清视频片段的数量,将机器推向了极限。使用定制技术处理大量视频数据所需的计算能力是从用于驱动 Senseye 数据产品的原始帧中提取信息的一个限制因素。最终的产品有效性和成功直接依赖于大规模快速构建和测试新想法。
Senseye 使用来自眼睛的详细信息来提取神经生理洞察,并使其可用于软件应用。图片来源:Senseye 公司
当速度决定一切
最近,Senseye 与土星云合作,在他们的机器学习工作中取得了突破性的性能提升。土星云是一个数据科学和机器学习平台,它提供了市场上最快的计算工具。
没听说过土星?你只需要知道这些:GPU 上的随机森林:比 Apache Spark 快 2000 倍
为了测试土星云的能力,Senseye 选择了他们计算最密集的处理管道之一。它由 900 个超高清视频组成,每个视频时长 10 分钟,以 120 赫兹的频率录制,总计约 7.5TB 的磁盘容量。
图片来源:Arteum.ro via Unsplash
视频文件被转换为大块的三维阵列,并通过几个定制的 PyTorch 模型,使用更传统的分析计算机视觉技术来计算特征,最终用于下游的机器学习算法。
PyTorch 是一个开源的机器学习库。图片来源:Pytorch.org
“以我们工作的规模,可能需要 60 天来提取机器学习的特征。这样的滞后影响了我们迭代解决方案、改进软件和提高性能的能力。我们被迫仔细选择我们想要在不完整信息的情况下大规模测试的解决方案,或者在较小的数据子样本上运行更多的候选解决方案,这会对我们算法的鲁棒性和性能产生负面影响”——ML&AI 主管 Andrew Sommerlot 说
Senseye 之前使用的这一过程相当于每 GPU(泰坦 RTX)每视频大约 90 分钟的处理时间。使用传统的本地 GPU 机器,总处理时间为 60 天。
NVIDIA Titan RTX GPU 的内部使用成本为 2500 美元。图片来源:Nvidia.com
"在创建人工智能驱动的产品时,如果该产品在现实应用中部署时需要高性能和信心,那么全面的快速迭代是理想的选择
我们来谈谈“高度可扩展的 Python 分析”
土星云允许团队扩展到无限数量的 GPU。这是什么意思?这意味着 Senseye 的内部计算的限制因素被完全消除,开辟了一条通往闪电般快速的机器学习的道路。
Senseye 利用 Saturn 在云中扩展到 160 个 T4 GPU,摆脱了以前使用的本地机器的限制。这个改进只需要增加 10 行代码——对于性能改进来说,这是一个微不足道的变化。
现在,每个视频只需要 40 秒的时间来处理,使 Senseye 每天都可以迭代,而不是每两个月一次。
图片来源:Chuttersnap via Unsplash
“天啊!新的工作流程速度提高了 120 倍……”
这将 60 天的总运行时间减少到总共只有 11 个小时。这意味着什么?首先,Senseye 可以提高预测的准确性,并最终提高其底线价值:最终用户的工作场所事故减少意味着工作环境更安全,业主的保险索赔也更少。
“将运行时间从 60 天缩短到 11 个小时是一个令人难以置信的进步。我们能够在我们的模型上进行更多的迭代**。这对我们产品* 的有效性有着 重大的积极影响,这需要多次迭代才能达到我们客户所需的标准。”— Seth Weisberg,首席机器学习科学家(Senseye)*
让我们把这些数字并排放在一起。
图 1:每小时处理的视频总数
本地 GPU 机器在 1 小时内处理了第一个视频的 70%。相比之下,土星一小时内处理了 90 个视频。那就是比快 120 倍。
表:系统运行时间
注意时间的数量级…
图片来源:棒长 via Unsplash
像这样的性能改进在未来并不遥远:Saturn 通过其交钥匙数据科学和机器学习平台让这些功能触手可及。
要了解更多关于土星云的信息,请访问这里的网站: saturncloud.io
随着 Senseye 继续开拓计算机视觉的应用,我们鼓励你关注他们的网站:senseye.co。
如果你喜欢这篇文章,请分享并告诉你的朋友和同事,计算能力将使他们和他们的客户的生活变得更好。
数据科学的未来
克里斯·劳顿在 Unsplash 上的照片
数据科学和业务环境正在融合
我花了很多时间向各种各样的公司咨询他们的数据科学战略。我还定期教授数据科学主题的课程。我目睹了公司对数据科学的角色及其在公司结构中的地位的思考方式发生了变化。我认为,这些变化在过去几年里一直在缓慢发生,但新冠肺炎的爆发和今年俄沙石油价格战加速了这种转变。
有什么变化?
在数据科学领域取得成功需要许多角色,但这一变化主要针对数据科学家这一角色本身。
数据科学工作分为两个不同的阵营。一组专注于数据科学的更学术的方面,如模型和算法。另一组人更专注于帮助做出商业决策的务实工作。后一个学科通常被称为应用数据科学。
数据科学内部的这种分工已经存在了一段时间。虽然这两个焦点之间的区别在现实世界中变得越来越明显,但我想重点关注的是第二个群体——应用数据科学。因此,在本文的剩余部分,我将使用术语数据科学和数据科学家来指代应用数据科学学科,除非另有说明。
在我遇到的大多数公司中,数据科学家的角色开始转移。以前,数据科学是一个独立的小组,通常在商业智能部门内,或者可能位于数据团队内。来自两个阵营的数据科学家都在同一个小组中,并根据需要在他们的两个重点领域之间分配工作。
然而,数据科学家的角色正在从这个集中的小组转移到整个组织的特定主题部门。一个完美的例子是我最近合作的一家制造公司。他们的制造流程中有一位学习数据科学的专家。这个人没有兴趣换工作,只专注于数据科学工作。他感兴趣的是它对改善公司生产流程的影响。数据科学正被推出 BI / IT 领域,更接近全国各地组织的战术工作。
推动这种变化的动力是什么?
这种转变背后的原因取决于你是从公司的角度还是从员工的角度来看。对该公司来说,两个简单的词正在推动这种变化:预算和专业知识。从个人角度来看,有两种不同的力量在起作用:工作保障和潜在的加薪。
组织驱动因素#1 —预算
在公司和家里,预算控制着我们的大部分决策。当您想到集中式数据科学团队时,您最终会想到成本中心,而不是利润中心。成本中心很难获得公司资金,而且几乎不可能说服其他部门为最终向成本中心报告的人付费。
将数据科学家的角色分散到整个组织的各个部门,每个部门负责支付其数据科学人员的工资。更关心利用数据进行决策的部门可以自由雇用更多的数据科学家,那些不重视这种做法的部门可以相应地采取行动。
这样每个部门自己铺床,可以躺在里面。一个部门雇佣的任何资源都是他们自己的资源,而不是与十几个其他部门共享。如果钻井部门发现数据科学有很高的价值,他们可以对其进行大量投资,而不会因为其他部门请求集中数据科学团队而推迟项目。
组织驱动因素#2 —专业知识
像任何从事集中服务的专业人员一样,数据科学家成为了万金油,试图了解让他们参与工作的每个部门的独特方面。他们不仅要成为数据科学方面的专家,还要成为金融、营销、工程和人力资源方面的专家。
虽然这种期望对员工来说是不现实的,令人疲惫不堪,但其他部门也会受到影响。如果某个拥有专业知识的人在执行他们的数据科学工作,石油公司的钻井部门可能会获得更多有用的见解。实现数据科学和特定部门专业知识结合的最简单方法是将数据科学家安置在部门内部。
这可以通过两种方式实现。一种方法是雇佣一名愿意了解钻井部门所有信息的数据科学家。因为他们只为钻井部门工作,所以他们会专门钻井。对一个人来说,在两个独立的学科上达到专家的理解水平比三十个学科更现实。第二种方法是在钻井部门内选择现有的主题专家,并将他们培训成数据科学家。
尽管这两种方法都能让你达到目标,但我发现大多数公司都选择培训现有的数据科学领域的专家。
个人驱动因素# 1——工作保障
在当今混乱的就业市场中,每个人都在寻找保证保住现有职位的方法,或者增加获得下一份工作的机会。如果你和另一个申请人在人力资源方面有同等的资格,但你能展示出在数据科学方面的工作组合,你就更有可能得到这份工作。同样,如果培训部门决定裁员,而你和另一个人的唯一区别是你发布到 Github 的数据科学项目组合,你将避免这一轮裁员。
不难看出这种附加值对公司招聘和解雇决策的影响。在当今世界,数据科学能力是非常有利的技能组合。当你衡量营销人员从在线课程或当地夜校学习的数据科学培训与仍然困扰许多营销部门的数据科学完全缺失的对比时,你被录用了!
但请记住,对于市场营销、钻井或金融,你所拥有的数据科学能力是与众不同的因素,而不是有特色的因素。预算紧缩,就像在紧缩的市场中一样,销售部门不打算在数据科学家身上花钱。他们正在招聘一名专业销售人员。但是,你在数据科学上投入的时间使你成为更好的候选人。
个人驱动因素# 2——加薪
失业和预算减少的另一个难题是加薪的希望。但是,和其他事情一样,如果你能证明自己的价值有显著提升,加薪是可能的。也许你今年利用你的数据科学技能为你的部门节省了 100 万美元。你可能会在你的薪水里找到一个小小的感激的象征。
与加薪相似的是晋升的机会。经常使用数据科学来帮助你的公司可能会在你的部门内获得晋升。顺便说一句,大多数晋升都会加薪。再说一遍,增加你对公司的个人价值将有利于你的工作保障和加薪的可能性。
为什么公司选择对现有员工进行数据科学培训,而不是聘请数据科学家?
我发现大多数公司都选择培训现有的数据科学领域的专家。
很实用的回答。我们以市场部为例。市场部的预算比去年少。他们需要懂营销的人。但他们也相信利用数据科学可以极大地帮助他们。以下是营销可用的选项。
- *聘请一名数据科学家。*雇佣一名数据科学家可能超出了他们的预算。即使他们雇得起,他们仍然需要教他们营销。
- 雇佣一名已经掌握数据科学技能的营销专家。如果招聘人员能找到符合描述的人,这是一个很好的选择。当然,这是目前大多数参加数据科学课程的失业营销专业人士正在赌博会发生的事情。而一旦这些人在市场上有了,他们就会在仅仅是营销专业人士的人之前被雇佣。但是现在这仍然是市场部支付的另一笔工资。
- *让营销部门的一名现有员工成为数据科学家。*该选项为现有员工提供了提升个人价值和加薪的机会。这也降低了对营销预算的影响。另外,营销正在沿着数据科学的道路前进,即使这些能力在开始时非常有限。
结论
在未来几年,数据科学将继续渗透到企业和其他组织的方方面面。与所有行业一样,它们越成熟,就越分散和专业化。数据科学也是如此。
随着数据科学在公司中的应用越来越广泛,它将需要更接近行业的每个应用。这些转型的早期阶段将最终创建营销数据科学、金融数据科学和销售数据科学等学科。但是不管未来的头衔是什么,有一件事是肯定的。数据科学的实践越来越接近它所分析的每一个主题。这种转变要求技能对等。未来的数据科学工作既需要数据科学专业知识,也需要特定部门的主题专业知识。
数据科学网络的未来&您如何从中受益
新冠肺炎时代的数据科学
2019 年多伦多机器学习峰会上的小组辩论
我是一个由 7500 名机器学习专业人士组成的团体的社区组织者。我全职工作组织会议、研讨会、讲习班和社会活动。2016 年,我们开始聚集在一个联合工作空间的大厅里,一个 30 人的小组。meetups 发展迅速,2019 年,我们为 500 至 2,000 名数据科学家、机器学习工程师、数据架构师、研究人员和企业家举办了活动。
毫不奇怪,新冠肺炎震撼了我们的世界。
COVID 不仅完全停止了这种面对面的聚会,而且也没有重新开始的迹象。当我们再次见面时,不会是在同样的情况下。这将是谨慎的,足够的座位空间,减少房间容量,严格的程序指南。不可避免地会看到赛事保险成本的上升和赞助的减少。
简而言之,举办大型集会将变得非常昂贵。
从社区组织者的角度来看,这是一个重大的挫折,但事实上,在 COVID 之前,我们已经看到了表明变革即将到来的趋势。COVID 只是加速了数据从业者和公司接近人工智能的市场转变。
此外,它迫使我们重新评估我们聚会的有效性,并为我们的社区采用新的聚会和网络方式。好消息是,这些变化为那些寻求培养技能和与同事有效沟通的人提供了新的机会。只需要一些创造力和开放的心态。
新冠肺炎数据从业者和 AI 团队的市场状况
2019 招聘会
每年,数以千计的新人工智能嵌入式产品进入市场,公司对将模型投入生产的挑战和复杂性有了更现实的理解。尽管如此,公司仍会低估创造人工智能产品所需的时间要求、财务成本和微妙的团队角色。大多数概念验证(POC)都没有成功。
缺乏共同分享的原则、方法和最佳实践意味着,尤其是在新冠肺炎会议期间,设定利益相关方的期望水平是一个持续的过程,充满了微观管理和加强问责制。理解生产中机器学习的复杂性仍处于早期阶段。对许多人来说,感觉好像我们还在蛮荒的西部。
在我们的机构群体讨论和委员会会议中,有两个主题一直主导着议程,并且在新冠肺炎会议期间变得越来越重要。对于技术团队来说,强调构建端到端的 ML 管道和模型治理占据了中心位置。对于非技术团队来说,理解“变更管理”的范围是最大的障碍。
这反映在整个招聘市场上。2019 年 11 月,我们为 70 家公司举办了人工智能招聘会。初创企业、大型企业和大型企业都在招聘各种职位,大多数都被贴上了数据科学家的标签,尽管预期各不相同。
尽管有头衔,几乎所有的职位都强调软件开发和工程技能,希望候选人有将预测模型投入生产环境的经验。
这对数据从业者意味着什么?
如果我们看到对数据科学“通才”的需求下降,那么由于新冠肺炎,2020 年的需求会更低。
无论您是数据从业者、科学家、工程师、分析师等。理解你的工作如何融入更大的图景和有凝聚力的团队结构变得更加重要。
通常,职位描述不能反映招聘公司的真实期望和要求。对可再现性、透明性、模型可解释性、清晰代码文档的既定方法、对减少管道债务的重视、理解计算成本以及无数其他潜在的项目杀手的需求很少被列出,更不用说制定和计划了。
像谷歌、亚马逊、网飞这样的“人工智能优先”公司有机会参与团队组建,并尝试能够解决这些挑战的流程。传统公司继续挣扎。
你的技能提升和人际关系网?
休息时的大脑约会会议
为了帮助进一步的人工智能项目,公司花费数千美元派遣世界各地的从业者参加会议,高级活动的费用从 600 美元到 1299 美元不等
COVID 加快了向虚拟聚会的转变,消除了许多进入的障碍。虚拟活动由世界各地主办,反映了新的和不同的市场,以及多样化的人工智能生态系统。这打开了各种专业主题聚会的大门。对云架构感兴趣?参加在新加坡举行的云架构师会议。想了解强化学习?加入奥斯陆的强化学习阅读小组。在生产中处理 ML;参加 ML Ops、生产和工程会议。
在这些活动中,面对面的交流是价值主张的重要组成部分。在虚拟环境中,会议厅对话被数字会议平台所取代,这些平台提供有针对性的虚拟配对和开放的与会者名单,以直接传递私人信息。
很多问题可以通过 Reddit、谷歌或 Youtube 内容来解决,但在家庭隔离期间,与处理过类似项目、了解你的特定用例的细微差别的人交谈仍然是可能的。当你与同龄人发展在线关系并拥抱虚拟平台时,只需要耐心和开放的心态。
虚拟活动提供了许多传统活动无法提供的优势:
- 增加参与问答会议的机会
- 社交平台允许更大规模的网络互动
- 会议“时间”以前是 1-2 天,现在在活动开始前几周提供
- 参与或主持虚拟小组和主题网络会议的机会
很多这样的工具已经存在,但是我们看到它们被前所未有的接受。
熟悉这些工具,并将其用于您的优势是一项值得的投资。在社交距离时代取得成功的方法将继续以物理/虚拟混合活动的形式被数据科学社区采纳和接受。
如果你对在这些新的虚拟平台上连接的想法持开放态度,那就先下手为强,试一试吧。有很多收获!
我们祝你好运。
我们过去的机器学习活动的讲座已经在数据科学的官方 YouTube 页面上举办。 您也可以在这里参加我们即将举办的活动
数据科学团队有前途吗?
阿曼达·达尔比约恩在 Unsplash 上拍摄的照片
是的,但前提是他们愿意接受结构性变革。
在过去的几年里,许多组织组建了数据科学团队。对于这些团队中的许多人来说,蜜月期早已结束。炒作推高的工资满足了积压的用例,这些用例要么停留在探索阶段,要么作为概念的证明。数据科学团队越专业化,影响越大。
缺乏软件工程和部署方面的技能——有时不愿意开发这些技能——是这种僵局的部分原因。然而,这些团队的组织结构也有责任。在许多情况下,数据科学家在公司中的职位会阻碍高效的工作流程。
我认为数据科学团队的困难类似于开发团队的问题。这种相似性意味着我们可以分析软件团队的设置来学习如何前进。让我们看看软件环境中团队的原型结构,看看这种类比能让我们走多远。
下面描述的蓝图改编自马修·斯凯尔顿和曼努埃尔·派斯的“团队拓扑”。如果你想深入这个话题,我强烈推荐!
有哪些蓝图可以选择?
1.流程一致的团队
Steam-aligned 团队是跨职能团队,尽可能快速独立地增加价值。他们有明确的责任。他们与组织其他部分的相互作用被清楚地定义。为了履行他们的义务,他们依赖于用户的直接反馈,并可以相应地实现新的功能。这些团队是软件开发公司或分支机构的核心。
很明显,纯粹意义上的数据科学团队远远不是与流程一致的团队。它看起来和行为完全相反。对其他团队有很大的依赖性,几乎没有来自用户的任何直接反馈,而且他们基本上不能自己实现一个特性。
2.扶持团队
使能团队是下一个蓝图。他们的主要工作是积累专业知识,这些专业知识可以被与流程一致的团队用来提高他们的技能或能力。授权团队支持其他团队;它们本身不实现任何功能。
一些数据科学团队就是这样做的。有时候。
3.复杂子系统团队
最终的蓝图是复杂的子系统团队。如果在一个系统中有一个高度专业化的领域,那么就需要一组专家来开发和维护它。
这就是数据科学团队。但在很多情况下,这并不是一个可行的团队结构。数据科学团队中的用例种类通常非常多。一些团队成员支持营销活动,其他人试图检测在线商店中的欺诈行为,其他人则讨论在集群上从 Python 2 升级到 Python 3 是否是个好主意。
数据科学团队是什么样子的?
假设许多数据科学团队都类似于一个支持团队和一个复杂子系统团队,但两者都不是。这种不明确的状态产生了一堆问题。这里有两个关键的问题:
- 数据科学团队试图猜测组织及其用户需要什么。他们可能试图通过与每个愿意倾听的人过度沟通来弥补这一点。然而,这是偶然的优先顺序,而不是附加价值。
- **数据科学团队在数据收集和将模型部署到生产方面都与相关的基础设施分离。**在最糟糕的情况下,数据科学家会将他们的笔记本(以及没有投入生产的责任)扔给一些开发人员或基础架构团队。在最好的情况下,结果是生产就绪,但是负责部署的团队在他们的待办事项中有足够多的其他项目。
这种情况存在结构性缺陷,只能通过结构性变革来改善。让我们回到最初的问题。
数据科学团队有前途吗?
如果您自己是一名数据科学家,那么从现在开始有三种方法:
- **正式重组:**告别您的数据科学团队,成为与流程一致的团队的一员。在这些团队中建立一个专家社区,以便在需要时对模型和统计数据进行深入讨论。
- **非正式重组:**尽可能成为你的利益相关者团队的卧底成员。创造身体上的亲近,这样他们就会像对待自己人一样对待你。在用例运行期间交流和讨论您的结果,以确保快速反馈。
- **换工作:**寻找一个有着不同设置的组织,或者你的组织中有着更好结构的另一个团队。
作为一个正在康复的社会学家,我对这个问题有强烈的感受。也就是说,对这些结论要有所保留。尽管如此,围绕数据科学团队的讨论不会结束,因为一些相关方不想参与其中。最好勇敢面对,不断进步。
请在评论中或在 Twitter 上告诉我你的经历和看法。我也很乐意在 LinkedIn 上联系。感谢阅读!
数据科学家的未来
数据科学家职位的分歧。
来源: Unsplash
2012 年秋天,我记得我母亲告诉我一篇文章,说数据科学家是一个新的、性感的职业。那个时刻一直伴随着我,因为没有人愿意听到他们的父母说出“性感”这个词。当时我并不知道,《哈佛商业评论》的这篇文章被认为是学生大举进入数据科学领域的催化剂。这股“数据热”将对我自己的职业轨迹产生重大影响。
在接下来的八年里,用于描述数据相关主题的术语发生了巨大变化。2012 年,最常见的三个搜索词分别是“统计”、“人工智能/人工智能”和“大数据”。截至 2020 年 7 月,前 3 个最常见的搜索词变成了“机器学习”、“数据科学”和“人工智能/人工智能”。排除最近的 COVID 激增(例如“COVID 统计”),术语“统计”在此期间的使用量急剧下降。如果你在 2012 年知道对数据的热情将在未来十年爆发,你不可能预测到谷歌对“统计”的搜索会下降。
发表于 Tableau Public
看到这些趋势后,你可能会认为数据科学对统计学和统计学家是一种威胁。在谷歌上快速搜索数据科学家的职位空缺,在美国确实得到了 8076 个结果,而只有 1526 个统计员的职位空缺。随着对数据相关技能需求的预期增长,我认为更有可能的结果是雇主不再寻找独角兽数据科学家。对于这个领域之外的人来说,独角兽数据科学家是可以做所有事情的人;集程序员、统计学家和机器学习工程师于一身。将需要跨领域的专业化,让统计学家也能找到自己的位置。招聘、工作职责和头衔方面的这种变化将会出现,原因如下:
- 机器学习正在被添加到计算机科学本科课程中
- API 将使机器学习自动化并将其集成到现有的应用程序中变得更加容易
- 与数据相关的技术在广度上不断扩展,使得数据科学家不可能了解所有的东西
- 自动化将为更有创造力的思考者腾出时间
我相信这些趋势将导致数据科学家分成两条道路,软件工程师,专注于机器学习,和决策科学家。让我们来看看不同之处。
由于他们的强项不同,他们将负责不同类型的问题。软件工程师将被分配有明确定义的范围和访问大型、高质量数据集的项目。他们将构建与机器学习 API 集成的应用程序。这些 API 将自动化数据摄取、学习、训练和预测的标准过程。示例可能包括合并销售预测的商业智能应用程序,或者设计利用自然语言处理的知识发现系统。与此同时,决策科学家将被分配给范围不确定的项目。他们将负责设计合适的问题来回答。这些问题通常会有不完整的信息,迫使决策科学家更适应不确定性。他们需要在分析数据之外得出安全的结论。这需要对领域有具体的理解。
由于他们工作的性质,我认为与软件工程师相比,决策科学家将有更广泛的背景。软件工程师通常会遵循标准的计算机科学路线,参加编码训练营,或者以前是数据工程师。与此同时,决策科学家可能是前统计学家,或者具有社会或物理科学分析背景的人。拥有跨多个领域的能力,这个人可以被视为多面手。也许是一个“数据通才”。
-
随着技术日新月异,数据专业人员需要了解长期趋势。在他们的 2020 年新兴工作
报告中,LinkedIn 将数据科学家列为第三大工作,年增长率为 37%。对数据技能的过度需求将推动进一步细化数据科学中的具体职位的需求。观察这一领域在未来十年如何发展将会很有趣。
- 数据通才
注意:这篇文章的后续于 2021 年 9 月在这里发表。
深度学习的未来可以分为这三种学习范式
来源: Unsplash
混合、复合和简化学习
深度学习是一个广阔的领域,以一种算法为中心,这种算法的形状由数百万甚至数十亿个变量决定,并在不断变化——神经网络。似乎每隔一天就有大量的新方法和技术被提出来。
然而,总的来说,现代的深度学习可以分为三种基本的学习范式。每个人都有一种学习的方法和信念,为增加深度学习的当前能力和范围提供了巨大的潜力和兴趣。
- 混合学习——现代深度学习方法如何跨越监督和非监督学习之间的界限,以适应大量未使用的未标记数据?
- 复合学习——如何以创造性的方法将不同的模型或组件连接起来,以产生一个大于其各部分总和的复合模型?
- 减少学习 —为了性能和部署目的,如何减少模型的大小和信息流,同时保持相同或更强的预测能力?
深度学习的未来在于这三种学习范式,每一种范式都是紧密相连的。
混合学习
这种范式试图跨越监督学习和非监督学习之间的界限。由于标记数据的缺乏和高成本,它经常在商业环境中使用。本质上,混合学习是这个问题的答案,
我如何使用有监督的方法解决/结合无监督的问题?
首先,半监督学习正在机器学习社区中获得一席之地,因为它能够在只有少量标记数据的监督问题上表现得非常好。例如,一个设计良好的半监督 GAN(生成对抗网络)在看到只有 25 个训练样本后,在 MNIST 数据集上取得了超过 90%的准确率。
半监督学习是为有大量无监督数据但有少量监督数据的数据集设计的。传统上,监督学习模型将在数据的一部分上训练,而非监督模型在另一部分上训练,而半监督模型可以将标记数据与从未标记数据中提取的洞察相结合。
作者创建的图像。
半监督 GAN(缩写为 SGAN)是对标准生成对抗网络模型的改编。鉴别器既输出 0/1 来指示是否生成图像,也输出项目的类别(多输出学习)。
这是基于这样的想法,即通过鉴别器学习区分真实和生成的图像,它能够在没有具体标签的情况下学习它们的结构。通过少量标记数据的额外强化,半监督模型可以用最少量的监督数据实现最佳性能。
你可以在这里阅读更多关于 SGANs 和半监督学习的内容。
甘还参与了混合学习的另一个领域——自我监督学习,在这种学习中,无监督的问题被明确地框定为有监督的问题。GANs 通过引入一个生成器来人工创建监督数据;创建标签是为了识别真实/生成的图像。从一个无监督的前提,一个监督的任务被创建。
或者,考虑使用编码器-解码器模型进行压缩。在它们最简单的形式中,它们是神经网络,在中间有少量的节点来代表某种瓶颈,压缩形式。两边的两部分分别是编码器和解码器。
作者创建的图像。
网络被训练以产生与向量输入相同的输出(从非监督数据中人工创建的监督任务)。因为中间有一个故意放置的瓶颈,网络不能被动地传递信息;相反,它必须找到将输入内容保存到一个小单元中的最佳方法,以便解码器能够再次对其进行合理解码。
经过训练后,编码器和解码器被拆开,可用于压缩或编码数据的接收端,以极小的形式传输信息,几乎没有丢失数据。它们也可以用来减少数据的维数。
作为另一个例子,考虑大量的文本集合(可能是来自数字平台的评论)。通过一些聚类或流形学习方法,我们可以为文本集合生成聚类标签,然后将这些作为标签对待(假设聚类做得很好)。
在每个聚类被解释之后(例如,聚类 A 表示对产品的抱怨,聚类 B 表示正面反馈,等等)。)然后,像 BERT 这样的深度 NLP 架构可以用于将新文本分类到这些簇中,所有这些都使用完全未标记的数据和最少的人工参与。
这又是一个将无人监管的任务转化为有人监管的任务的有趣应用。在一个绝大多数数据都是无监督数据的时代,通过混合学习建立创造性的桥梁来跨越有监督和无监督学习之间的界限具有巨大的价值和潜力。
复合学习
复合学习寻求利用不是一个模型而是几个模型的知识。这是一种信念,即通过独特的信息组合或注入——静态和动态——深度学习可以持续深入理解和表现,而不是单一的模型。
迁移学习是复合学习的一个明显例子,其前提是模型的权重可以从类似任务的预训练模型中借用,然后在特定任务上进行微调。像盗梦空间或 VGG-16 这样的预训练模型,其架构和权重是为区分几种不同类别的图像而设计的。
如果我要训练一个神经网络来识别动物(猫、狗等。),我不会从零开始训练一个卷积神经网络,因为要达到好的效果需要太长的时间。相反,我会采用像 Inception 这样的预训练模型,它已经存储了图像识别的基础知识,并在数据集上训练几个额外的时期。
类似地,NLP 神经网络中的单词嵌入,其根据单词与嵌入空间中的其他单词的关系,将单词在物理上更靠近地映射(例如,“apple”和“orange”比“apple”和“truck”具有更小的距离)。像 GloVe 这样的预训练嵌入可以放入神经网络中,从已经是单词到数字的、有意义的实体的有效映射开始。
不太明显的是,竞争也能刺激知识增长。首先,生成性对抗网络借鉴了复合学习范式,从根本上让两个神经网络相互对抗。生成器的目标是欺骗鉴别器,鉴别器的目标是不被欺骗。
模型之间的竞争将被称为“对抗性学习”,不要与另一种类型的对抗性学习混淆,后者指的是恶意输入的设计和模型中弱决策边界的利用。
对抗性学习可以刺激模型,通常是不同类型的模型,其中一个模型的表现可以用其他模型的表现来表示。在对抗学习领域仍有许多研究要做,生成对抗网络是该子领域唯一突出的创造。
另一方面,竞争学习类似于对抗学习,但是是在逐个节点的规模上执行的:节点竞争对输入数据的子集做出响应的权利。竞争学习是在一个“竞争层”中实现的,在这个竞争层中,一组神经元都是相同的,除了一些随机分布的权重。
将每个神经元的权重向量与输入向量进行比较,并激活具有最高相似性的神经元,即“赢家通吃”神经元(输出= 1)。其他被“停用”(输出= 0)。这种无监督技术是自组织地图和特征发现的核心组成部分。
复合学习的另一个有趣的例子是在神经架构搜索中。简而言之,强化学习环境中的神经网络(通常是递归的)学会为数据集生成最佳神经网络——算法为你找到最佳架构!你可以在这里阅读更多关于理论的内容,在这里阅读 Python 中的实现。
集成方法也是复合学习中的主要方法。深度集成方法已经被证明是非常有效的,端到端的模型堆叠,比如编码器和解码器,越来越受欢迎。
许多复合学习都是找出在不同模型之间建立联系的独特方式。它的前提是,
一个单一的模型,甚至是一个非常大的模型,比几个小的模型/组件表现得更差,每个小的模型/组件都被委派专门负责任务的一部分。
例如,考虑为一家餐馆构建聊天机器人的任务。
作者创建的图像。
我们可以将它分成三个独立的部分:客套话/闲聊、信息检索和一个动作,并设计一个模型来专门处理每一个部分。或者,我们可以委托一个单一的模型来执行所有这三个任务。
作者创建的图像。
毫不奇怪,组合模型可以在占用更少空间的情况下执行得更好。此外,这些种类的非线性拓扑可以很容易地用像 Keras 的功能 API 这样的工具构建。
为了处理日益多样化的数据类型,如视频和三维数据,研究人员必须建立创造性的组合模型
点击阅读更多关于写作学习和未来的内容。
简化学习
模型的规模越来越大,特别是在自然语言处理领域——深度学习研究中令人兴奋的中心——越来越多*。最新的 GPT-3 模型有 175 亿个参数。把它比作伯特就像把木星比作一只蚊子(嗯,不是字面意思)。深度学习的未来更大吗?*
来源: TDS 。图片免费分享。
很有争议,不。GPT-3 非常强大,无可否认,但它在过去一再表明,“成功的科学”是对人类产生最大影响的科学。每当学术界偏离现实太远,它通常会变得默默无闻。这是神经网络在 20 世纪后期被遗忘的一个短暂时期的情况,因为可用数据太少,无论这个想法多么巧妙,都是无用的。
GPT-3 是另一种语言模型,它可以编写令人信服的文本。它的应用在哪里?是的,例如,它可以生成查询的答案。然而,有更有效的方法来做到这一点(例如,遍历知识图,并使用像 BERT 这样的较小模型来输出答案)。
在计算能力逐渐枯竭的情况下,GPT-3 的巨大体积,更不用说一个更大的模型,似乎是不可行或不必要的。
*“摩尔定律有点失去动力了。”
相反,我们正在走向一个嵌入人工智能的世界,智能冰箱可以自动订购食品杂货,无人机可以自行导航整个城市。强大的机器学习方法应该能够下载到个人电脑、手机和小芯片上。
这需要轻量级人工智能:在保持性能的同时,让神经网络变得更小。
事实证明,深度学习研究中的几乎所有事情都直接或间接地与减少必要的参数数量有关,这与提高泛化能力以及性能密切相关。例如,卷积层的引入大大减少了神经网络处理图像所需的参数数量。递归层结合了时间的概念,同时使用相同的权重,允许神经网络以更少的参数更好地处理序列。
嵌入层显式地将实体映射到具有物理意义的数值,从而不会给额外的参数带来负担。在一种解释中, Dropout 层显式地阻止参数对输入的某些部分进行操作。 L1/L2 规则化确保网络利用其所有参数,确保它们都不会变得过大,并且每个参数都能最大化其信息价值。
随着专业层的创建,网络需要越来越少的参数来处理更复杂和更大的数据。其他更新的方法明确地寻求压缩网络。
神经网络修剪旨在移除对网络输出没有价值的突触和神经元。通过修剪,网络可以在删除几乎所有自身的同时保持其性能。
来源:奥莱利。图片免费分享。
其他的方法,比如病人知识蒸馏找到了将大型语言模型压缩成可下载形式的方法,比如,下载到用户的手机上。这是谷歌神经机器翻译(GNMT)系统的必要考虑,该系统支持谷歌翻译,需要创建一个可以离线访问的高性能翻译服务。
本质上,简化的学习围绕着以部署为中心的设计。这就是为什么大多数减少学习的研究来自公司的研究部门。以部署为中心的设计的一个方面是不要盲目地遵循数据集的性能指标,而是要关注模型部署时的潜在问题。
例如,前面提到的敌对输入是设计用来欺骗网络的恶意输入。标志上的喷漆或贴纸可以欺骗自动驾驶汽车加速超过限速。负责任的简化学习的一部分不仅是使模型足够轻便以供使用,而且要确保它能够适应数据集中没有表示的极限情况。
简化学习可能是深度学习研究中最不受关注的,因为“我们设法用可行的架构规模实现了良好的性能”远不如“我们用由数十亿个参数组成的架构实现了最先进的性能”性感。
不可避免的是,当对更高百分比分数的大肆追求逐渐消失时,正如创新的历史所显示的那样,简化学习——实际上只是实践学习——将得到更多应有的关注。
摘要
- 混合学习寻求跨越监督和非监督学习的界限。像半监督和自我监督学习这样的方法能够从未标记的数据中提取有价值的见解,随着无监督数据的数量呈指数增长,这是非常有价值的。
- 随着任务变得越来越复杂,复合学习将一个任务分解成几个更简单的部分。当这些组件协同工作(或相互对抗)时,结果是一个更强大的模型。
- 随着深度学习度过炒作阶段,简化学习还没有受到太多关注,但很快就会出现足够的实用性和以部署为中心的设计。
感谢阅读!
好数据的未来—您现在应该知道的!
“利用指数技术来解决大目标,并使用快速迭代和快速反馈来加快实现这些目标的进度,这是关于以极快的速度创新。但如果创业者不能升级自己的心理来跟上这项技术,那么他们赢得这场赛跑的机会就很小。”
― 彼得·h·迪亚曼迪斯, 大胆:如何做大,创造财富,冲击世界
在 Unsplash 上由 Franki Chamaki 拍摄的照片。
介绍
现在还是数据的第一天。世界各地的公司、政府、非营利组织已经从数据中提取了大量的价值。但是真的,比起即将到来的事情,今天真的只是 天 1 。 数据呈指数级增长 ,我们从中提取知识的能力也是如此。如果你把我们可用的数据量想象成一个苹果,那么到 2030 年,这个苹果已经变成了一个足球。到 2050 年,它将有整个足球场那么大!
但是这对你我来说到底意味着什么呢?究竟是什么促成了这种数据增长?这是否意味着我们可以从数据中提取的价值将随着数据量的增加而线性增长?由于我对其中的含义仍然有点困惑,我决定对未来的数据世界进行一次简短的参观。这篇文章提供了我个人认为数据的未来会带来什么,基于不断增长的数据量,我们从中提取价值的能力,以及研究告诉我们的关于它的信息。
我真的相信数据的未来将塑造任何行业。如果我选取任何一个样本行业,看看波特五(或六)种工作力量,并问自己数据将对他们产生什么影响,那么我很清楚,在 10 年或 20 年后,每个行业都会因数据的影响而变得非常不同。所以对你来说,问题不是要不要抓住这个“机会”,而是你要做什么,因为如果不抓住,你就会被它打乱。
为什么这一点现在如此重要?
好的,数据正在快速增长。有什么大不了的…技术将会适应,我们的公司将会简单地跟随领导。
只是,一切都太晚了。太晚了。
根据目前的预测,数据不仅在快速增长,而且可能呈指数级增长!除此之外,我们从数据中提取信息的能力、计算能力也在呈指数增长!
这就是指数增长技术的问题所在,当你发现时已经太晚了。
“今天,我们生活在一个全球化和指数化的世界。问题在于,我们的大脑——以及我们的感知能力——从未被设计成以这种规模或这种速度进行处理。我们的线性思维实际上无法搜索指数级数。”
― 彼得·h·迪亚曼迪斯, 大胆:如何做大,创造财富,冲击世界
让我更清楚地说明这一点:在 6 年内,一家公司将面临现在可用数据的四倍。它将能够以比现在快 8 倍的速度/更低的成本获得对现有数据的预测。如果该公司在 6 年内分析今天的数据,它将花费今天一半的时间。大多数新数据将是实时的,它将是事件/行为类型的数据,而不是“状态”数据。大量数据将以图像形式存在,大量数据将存在于边缘设备上,大量计算也将在那里完成。最重要的是,大量免费可用的技术来应对所有这些变化,将会充斥开源市场。
你觉得你正走向一个能够解决这个世界的方向吗?如果你得到了你的答案,我想它也回答了这个问题“为什么这个现在如此重要?”
图片由 Sven Balnojan 提供。
数据&计算呈指数级增长
问题是,目前的数据预测只涵盖了未来的一部分。但是,如果您对数据进行推断,您会注意到数据量大约每 3 年翻一番,并且预计在未来 5 年内也会如此。我确实相信,许多潜在的力量将继续推动这一趋势。我看到的力量主要是:
- 边缘设备的发展预计到 2025 年将达到 416 亿台联网设备。
- 智能手机的普及率将接近 100%,目前为 44% 。
- 互联网采用率将接近 100%,目前为 59% ,谷歌&脸书的大型项目旨在为全世界提供互联网。
- 许多底层技术的指数级增长,如数据存储、产生数据的计算、边缘设备的成本等…所有这些本质上都与摩尔定律有关。
我能找到的最好的预测来自希捷,你可以在这里找到。 IDC 希捷数据时代白皮书。如果你对数据进行指数拟合,这就是数据的样子。
这只是 IDC &希捷的简单预测。图片由 Sven Balnojan 提供。
接下来,让我们看看指数持续到 2030 年。
指数拟合预测。图片由 Sven Balnojan 提供。
最后,真正有趣的问题是,2050 年的事情可能会是什么样子?
我们在数据石器时代!图片由 Sven Balnojan 提供。
请注意,这描述的是数据,而不是存储的数据。但是,真正从数据中提取价值实际上,存储数据并不重要,更重要的是提取信息,做出决策,采取行动,然后丢弃数据。所以我发现这个预测是即将到来的浪潮的一个很好的来源。对我来说,预测的重要启示是:
- 到 2030 年,我们将拥有大约 572 的数据,大约是现在的 10 倍。
- 到 2050 年,我们将拥有 50,000–500,000 Zettabytes,这是之前的 1,000–10,000 倍(通过指数延拓进行预测)。
- 到 2025 年,超过 50%的数据将处于边缘
- 到 2025 年,超过 50%的数据将是实时的,这一趋势将持续到 2050 年,可能接近 90%
- 到 2025 年,80–90%的数据将是行为/交易数据,或者我称之为“事件数据”,这一趋势可能会保持在 90–100%。
另一方面,我们有能力从这些海量数据中提取信息。据我所知,摩尔定律仍然很强大,尽管有些人认为它已经碰到了前进道路上的最后一个路障。尽管如此,给定芯片上的微处理器密度大约每 18 个月翻一番,为我们提供了廉价的边缘设备、智能手机和令人惊叹的计算机。
同一方向的另一个趋势是 GPU 的发展,从 1996 年到 2020 年,GPU 实际上也遵循指数增长曲线)。GPU 不仅仅用于制作图形,因为图形通常意味着我们需要做大量的矩阵乘法和加法,GPU 正是为此而优化的。事实证明,这正是今天的数据分析所需要的,大量的矩阵数学。特别是,所有的深度学习、人工智能和机器学习从根本上讲都是关于加法和乘法矩阵,这就是为什么我们目前从数据中提取信息的能力与 GPU 计算能力的指数增长有很大关系。
但这还不是全部,TPU 的出现,专门为机器学习设计的芯片将继续推动这些趋势越来越快。TPU 本质上与 GPU 做同样的事情,但更节能,因此压低了价格。
最后,还有量子计算机的指数增长,这可以通过“罗斯定律”来衡量,这已经持续了 17 年。罗斯定律表明,量子位的数量,即量子芯片上的比特数,大约每年都会翻一番。虽然量子机器学习在很大程度上仍然是理论性的,但我毫不怀疑量子数据分析将在未来十年成为普通人的工具。
事件数据是一座金矿
在“经典”营销和营销自动化中,存在以下区别
- 社会人口统计数据,如年龄、居住地、收入等。
- 行为数据,比如你今年是否购买了某些物品,你是否打开了电子邮件或点击了某个链接。
但是我真的认为区分“状态和事件”数据要好得多。让我们将“状态”定义为
“任何系统在任何时间点的状况。”(这是状态的热力学定义)
事件的合理定义可以是
“系统从条件 A →条件 B 的转变”
因此,如果我是系统,那么我在Amazon.com上购买一件物品,对于一个名叫斯文的人来说是这样的:
- 今天上午 12 点;还没买;状态:“非买方”;事件:无。
- 今天下午 1 点;刚刚点击了 Amazon.com 状态上的结账按钮:“非买家”;事件:“斯文购买新物品”
- 今天 1:01 下午;状态:“买方”
有趣的是,状态数据和事件数据实际上是等价的。两种看待世界的方式,因为如果我给你这个系列:
- “这是今天下午 1 点的活动:斯文购买新物品”,然后你可以告诉我斯文在该活动之前和之后的确切状态。
- “这是状态:在上午 12 点斯文不是买家,在 1:01 下午他是买家”,然后你也可以告诉我,斯文在下午 1 点买东西。
那么如果这两种数据是等价的,为什么有关系呢?**因为它们只在理论上是等价的!**在现实中,你要么:
- 没有任何给定时间点的“状态”数据= >因此无法了解事件(因为您不知道 Sven 在 12 am 不是买家)
- 没有所有的事件,但只是其中的一小部分= >不能够告诉国家,但只是今天真正发生了什么。
为什么这对我们很重要?因为许多公司已经围绕国家数据建立了大数据分析能力,然而在 10 年内,99%的数据将是事件数据!
唯一的好处是?Martens Provost 的一项伟大研究给出了一些提示,使用事件数据实际上是一件非常有利可图的事情。
计算&边缘数据
到 2025 年,超过 50%的数据将收集在边缘。在 416 亿台物联网设备上,仅包括约 60 亿部智能手机。更多的将来自传感器、照相机等等。当然,你的智能手表也会在这个名单上。最重要的是,没有互联网连接的边缘设备将会出现。今天,所有这些东西都可以对数据做两件事:
- 收集它,并将其发送到某个中央集线器进行存储/评估。因为他们有网络连接。比如你的智能手机,它分析你在本地拍摄的照片,把它们发送到一个中心,然后得到一个“照片集”,或者给它们加注释,等等。
- 在设备上本地计算这些数据。这总是一个小挑战,因为这些设备的计算能力比我们通常的云计算机小得多。
这意味着什么呢?对我来说,这意味着,这两件事都会对未来的公司产生影响。首先,作为一家公司,您将面临大量边缘收集的数据,这些数据希望在一个中心位置进行评估,这些数据来自供应商、您的客户和其他将向您提供此类数据的第三方。
其次,作为一家公司,您可以控制自己的边缘设备来收集数据。想想包装和运输跟踪芯片、可穿戴芯片、芯片、相机等。将会有很多接触点让你比以前更多地控制边缘设备。
第三,不管有没有互联网连接,边缘设备都需要自己进行计算来评估数据。这需要转变视角,因为目前,大多数数据分析人员或机器学习者大多专注于大型计算设备上的数据的集中评估。但机器学习已经可以在任何边缘设备中实现。最受欢迎的机器学习框架之一 tensor flow 已经在 javascript 中提供,基本上允许机器学习模型在智能手机或任何其他设备的浏览器中进行训练和评估&。
除了数据分析必须朝着这三个不同的方向发展之外,所涉及的数据类型也将为许多公司带来范式转变。
实时数据将以 50%的速度递增
大量的当前数据分析基于历史数据,以及如上所述的“状态”数据。实时数据通常根本不会进入算法。如果是这样的话,它会出现在一系列数据的末尾,可能会有一些“权重”来使当前数据比历史数据更重要。
与此形成鲜明对比的是未来的数据领域,其中真正且唯一重要的东西是实时数据,因为将会有如此多的实时数据!许多公司求助于历史和状态数据的原因是,在过去,我们几乎没有事件类型的数据。我们所知道的关于某人在某处点餐的唯一信息是他的社会人口统计数据,我们可能不得不在某处购买这些数据。
但在未来,这种动态将会改变。就像图像识别一样。在过去,我们需要 100 多张图像才能让计算机告诉我们图像上的人是谁。今天,在这项任务中,计算机实际上比人类专家更好,仅仅基于一张图像。
未来也是如此,我们将能够从一天的活动数据中准确地告诉一个人,他喜欢什么,他以后可能会买什么,等等。我们不需要他的收入、性别等任何数据。这一切都将发生在事件中,发生在一天的实时互动中。
这将再次给全世界的分析人员带来巨大的范式转变。未来,真正的价值将不再是随着时间的推移收集大量特定数据,而是收集大量数据。
图像数据将非常庞大
一个简单的事实是,大多数公司都不认为图像数据对他们的业务会很重要,因为没有好的“核心产品匹配”。一个电子采购系统可能会认为他们的完整交互是通过一个网站或一些数字系统,图像数据的使用在该领域是有限的。最好让那些收集笔记本电脑摄像头图像、监控录像等的人去做。
我喜欢从两个不同的角度来解释这种情况。
第一,一个公司不存在于真空中,我喜欢通过观察搬运工的五种(或六种)力量来了解行业动态:
波特的六种力量。图片由 Sven Balnojan 提供。
现在的问题是,图像数据有可能被整合到塑造你的行业的六种力量中的任何一种的核心中。如果你是一个电子采购系统,你的力量是:
- 竞争/新进入者:有一些传统的电子采购系统可能会遵循你的想法。那些只占有你的一小部分市场的竞争对手呢?服务于更专业的部分,并认为 VR/AR 是展示作品的一种智能方式?
- 顾客/替代者/补充者:如果你的顾客突然可以在他们的智能手机上使用一个应用程序(由别人提供)来立即识别他们正在寻找的东西,并在其他市场找到报价,那该怎么办?
- 供应商:如果你的供应商突然开始使用图像技术与他们的最终用户建立更深层次的联系,绕过你,因为他们通过人工智能提供卓越的客户服务,那会怎么样?如果供应商可以使用 edge 数据快速检测出最终用户何时需要重新订购复印纸或矛部件等相同的物品,会怎么样?
所有这些东西的核心都是由图像数据驱动的,所有这些都可能会扰乱这个行业,我认为这离获得适合图像数据的核心产品还很远。
其次,大量可用的图像数据不仅会带来数据,还会带来大规模使用这些数据的技术。任何人都可以在图像上进行大量的计算,既便宜又容易,再次改变了动力学。它可能会把 OCR 带到一个没有纸质文件到处乱飞的水平。至少这是你的客户和供应商所期望的。它将把图像上物体的识别带到一个非常接近完美的水平(远远超过人类水平)。还有很多现在想不起来的事情。
我不确定图像数据本身会改变任何行业,但同样的原则适用于实时数据、事件数据以及我们到目前为止讨论的所有东西。我确实相信,这些话题中没有一个应该马上被抛弃,因为它们合在一起会扰乱每一个行业。
剩下要问的就是:你准备好了吗?
资源
这里是我在整篇文章中分享的所有相关资源。
- IDC 物联网设备预测。
- 全球智能手机普及率数据。
- Statista提供的互联网采用数据。
- 主要的信息来源是关于数据世界的 IDC & SeaGate 白皮书预测全球范围内的数据增长。
- InfoQ 的一篇关于摩尔定律的文章提到了已经触及的潜在底部。
- 谷歌关于其张量处理单元的文章 (TPUs)。
- 稍微提一下量子计算机中量子位增长率的罗斯定律,回到 Steve Jurvetson 的评论。
- 维基百科页面描绘了一幅关于机器学习&量子计算结合的美好画面。
- 2011 年的 Martens & Provost 文章讲述了在大规模目标定位工作中使用交易数据和社会人口数据。
- Google 开发的 Tensorflow Javascript 库。
- 2015 年福布斯关于超人类水平图像识别性能的文章。
机器学习的未来
苹果 | 谷歌 | SPOTIFY | 其他
Max Welling 在 TDS 播客
编者按:迈向数据科学播客的“攀登数据科学阶梯”系列由 Jeremie Harris 主持。Jeremie 帮助运营一家名为sharpes minds的数据科学导师初创公司。可以听下面的播客:
在过去十年中,机器学习的进步来自两件事:计算能力的提高和更好的算法。这两个领域在大多数人的思维中已经变得有些孤立:我们倾向于想象有人构建硬件,有人制作算法,这两者之间没有太多的重叠。
但是这张图是错的。硬件限制可以并确实影响算法设计,而算法可以用来优化硬件。计算和建模越来越多地被这两个领域的专家一起优化。
我今天的嘉宾是世界领先的机器学习应用软硬件集成专家之一。Max Welling 是一名前物理学家,目前在世界领先的芯片制造商高通公司担任技术副总裁,此外,他还是加州大学欧文分校、CIFAR 和阿姆斯特丹大学的机器学习研究员。关于机器学习的研究现状以及该领域的未来方向,Max 有许多见解可以分享,以下是我最喜欢的一些对话:
- 计算耗费能量,并且很快耗尽手机电池,因此机器学习工程师和芯片制造商需要想出聪明的方法来降低运行深度学习算法的计算成本。实现这一点的一种方法是压缩神经网络,或识别可以在对性能影响最小的情况下删除的神经元,另一种方法是减少用于表示每个网络参数的位数(有时甚至减少到一位!).这些策略往往会一起使用,而且它们在某些方面有着相当深刻的联系。
- 目前,机器学习模型是针对非常具体的问题进行训练的(比如将图像分类到几百个类别,或者从一种语言翻译到另一种语言),如果它们被应用于甚至稍微超出它们被训练的领域,它们就会立即失败。例如,一个经过训练的计算机视觉模型在一个以深色皮肤为特征的数据集上识别面部表情,当在一个以浅色皮肤为特征的不同数据集上进行测试时,表现将会不佳。生活经验告诉人类,肤色不应该影响对面部特征的解释,但这种微小的差异足以推翻当今甚至最先进的算法。
- 因此,真正的挑战是可推广性——人类在这方面仍然比机器做得好得多。但是我们怎么训练机器学习算法去泛化呢?马克斯认为,答案与人类的学习方式有关:与机器不同,我们的大脑似乎专注于学习物理原理,比如“当我拿一个东西扔向另一个东西时,那些东西会相互反弹。”这个推理在某种程度上独立于这两件事。相比之下,机器倾向于从另一个方向学习,不是根据普遍的模式或规律进行推理,而是根据适用于非常特殊的问题类别的模式进行推理。
- 出于这个原因,Max 认为机器学习最有前途的未来发展领域将集中在学习逻辑和物理规律上,而不是这些规律或原则的具体应用上。
你可以在这里的 Twitter 上关注 Max,在这里的 Twitter 上关注我。
地图的未来是可以学习的
探索鲁棒可视化地图构建的新方法
根据视频数据对 3d 世界进行推理是许多系统的一个重要方面;室内/室外导航、自主感知、持续增强现实(AR)等等。在这篇文章中,我们将探索使用传统和现代的方法将视频提取为对机器和人类都有用的信息。
作为一个激励人心的例子,考虑一下在黑鹰历史博物馆捕捉这头雄伟的美洲野牛的 3d 本质的任务:
美国野牛展(黑鹰博物馆,圣拉蒙)
利用现代的运动结构(SfM)管道,捕捉完全三维的纹理模型是可能的。在这种方法中,相机的姿态(其连续的位置和方向)和稀疏的、有区别的场景特征被联合估计。通过解决这个问题(相机在哪里,它在看什么),我们可以捕捉主体的简洁、准确的表现:
从上面的视频中估计的摄像机位置,以及稀疏的有区别的场景点
尽管该场景模型对于定位相机(在初始捕获期间以及任何后续的重新访问期间)是有用的,但是对于想要与场景本身进行交互的任何人来说,它的用途是有限的。为此,我们需要一个密集的网格。
为了构建更引人注目的东西,我们需要捕捉更精细的细节。多视图立体(MVS)是一个广泛的算法家族的总称(见此处的概述),一旦摄像机轨迹已知,该算法恢复一个明显更密集的场景表示(增加了计算负担)。下面的视频显示了使用估计的相机位置从上面的场景恢复的深度图(每像素范围,以米为单位):
场景的密集深度估计;原始图像(左),稀疏采样的深度图(右)
大多数 MVS 方法利用光度一致性测量;给定一幅图像中的一小块图像,这与另一幅图像中的候选匹配有什么关系?通过关联补丁和三角测量结果,我们可以恢复一个更密集的近似。然而,因为基础面片是场景几何图形、照明和纹理的函数,所以经常有大面积区域缺乏精确的深度估计(这将在后面变得明显)。鉴于这种密集的点云,我们可以从各种表面重建方法中选择来构建最终的模型,下面的动画展示了一个例子:
相机位置和稀疏场景特征与估计的密集纹理模型的叠加
这种纹理网格表示非常容易处理,对于以对象为中心的贴图任务,这种方法表现很好。下面是一些其他的例子:
普通物体的纹理网格;组合沙发(左)、雕像(中)、跑鞋(右)
但是这种方法如何推广呢?考虑一个不同的用例,即典型办公环境中的大规模室内制图。下面的视频显示了以下对比:a)原始视频采集,b)投影到图像中的恢复的稀疏场景结构,以及 c)相应的恢复的深度图:
从大量丢失的深度帧中可以明显看出,无纹理区域现在是有问题的。虽然相机位置和方向的估计是准确的,但生成一个非常密集的场景是一项具有挑战性的任务。(这里,系统参数在以对象为中心和通用映射模式中保持不变;我们可以花时间调整它们以产生更好的上下文深度估计,但这不是本文的重点)。
给定规则的棱镜场景结构,更有效的方法是学习从外观到深度的映射。这样,我们可以针对无纹理区域建立鲁棒性。深度卷积神经网络的进步与“地面真实”室内数据集(例如[ 1 、[ 2 、[ 3 )的爆炸结合在一起,使得高性能深度估计架构的开发成为可能。对于这个问题,有多种不同的方法来恢复场景结构:
- 学习直接从单目图像到深度的映射,不考虑空间一致性(例如[ 1 ],[ 2 ],[ 3 ])
- 通过使用多个图像及其估计的姿态(来自 SfM 步骤)来结合空间一致性,以学习更好的立体深度估计器(例如[ 1 ]、[ 2 、[ 3 ])
- 直接回归输出目标点云,而不是深度帧(例如[ 1 ])
下图显示了从单目密集深度实现和习得 MVS 估计器获得的深度图的比较:
单目深度估计(中)和多视图立体深度(右)与输入影像(左)的比较
(注意,以上视频仅供定性评价;不同的训练集和 SfM 输出的质量极大地影响所得的深度图)。
来自单目估计器的输出通常更一致,尽管给定模型的单次拍摄性质,聚合帧缺乏学习 MVS 方法的全局度量准确性。然而,依赖于运动来推断深度的方法在经历退化运动(仅旋转或小平移)时会受到影响。我们可以并排比较这些系统的指标输出:
使用上面显示的数据集对 DenseDepth(左)与 MVDepthNet(右)进行定性比较。
虽然令人信服,我们仍然需要将这些单独的估计融合成一个令人信服的整体,这提出了单独的挑战。如何将这种方法更进一步,在同一模型中联合估计相机运动和密集输出?通过这种方式,我们不需要在离散的步骤中估计相机运动和密集场景输出。
几种方法已经考虑估计密集摄像机深度和运动(例如[1][2][3]);这里我们考虑架构 DeepV2D 架构。DeepV2D 使用“块”坐标下降来估计场景和相机几何;固定的相机姿态用于构建密集的场景表示,该场景表示随后用于改进相机估计。相机姿势示例(红色)和生成的场景如下所示:
DeepV2D 相机和场景几何
根据相似的室内数据训练的模型的适用性从上面显示的输出中显而易见。虽然应用于不同领域(例如室外区域)时性能会下降,但在合理的时间范围内(推断时间与数据集采集时间成比例)从测试相关环境中推断相机运动和密集场景几何的能力令人印象深刻。
随着不断提高在设备上的性能,未来的方向是明确的;学习如何推理深度和运动来构建地图是一种构建大比例的鲁棒、精确地图的强大方法。