ABBA 给伯特和 GPT 的解释者-2
看啊!没有数学
来源:维基百科,“阿爸,权威收藏”
对我来说,我无法理解伯特或 GPT-2 是如何工作的。
我看文章;遵循图表;眯着眼睛看方程式;观看录制的课程;阅读代码文档;还在努力理解这一切。
让它变难的不是数学。
更像是,你期望在真相之前的大部分不知何故被遗漏了。
本文弥合了这一差距,用简单的术语解释了这些模型是如何构建的。这是我希望我能先读的文章;许多细节都已经就位了。
在 ABBA 的慷慨帮助下,我们将介绍三种不同的想法。我保证其中不会有一个数学方程:
1。思考词语和意义— 注意 2。煎饼叠小组件— 深度学习 3。思考词语和信号— 嵌入
在第四部分也是最后一部分,我们将看到这些想法如何整齐地绑成一个蝴蝶结。
1。思考单词和意思——注意
我们来看下面这个句子:
假设我们请三个朋友来读这句话。虽然他们可能会同意这个句子的主题是雨,但他们可能会在哪些词对“雨”最重要以传达这个句子的真正含义上有分歧。
本尼可能会说“轻拍”和“窗户”是最重要的,因为这个句子是关于雨发出的声音。
弗里达可能会说“温柔地”和“夏天”是最重要的,因为这是一个关于夏雨是什么样的句子。
比约恩可能会采取完全不同的方法,把重点放在“ed”和“that”上,暗示这个句子是关于过去的雨的记忆。
当三个读者都在理解同一个句子时,每个人都在关注不同的部分。每个人都对一些与“雨”有关的词赋予不同的权重,而忽略了其他词的重要性。
他们对这句话的不同理解方式也设定了他们对接下来的预期。当被要求继续以“It …”开头的句子时,他们可能会说:
ABBA 注意头。图片来源:维基百科,“夏夜之城”
这三种选择都有道理。
注意力的概念,以及文本中的单词如何以许多不同的方式相互关联,是一个中心思想。我们想利用这个想法,让关注 单词之间的语义关系,并教机器去做这件事。
像伯特和 GPT-2 这样的任务模型接受的训练是正确猜测一段文本中的下一个单词。因此,一旦经过训练,这种模型就可以用来一个字一个字地生成新文本。
这两种模型的主要区别在于,在训练过程中,在 BERT 模型中,你还可以查看出现在后的文本,而 GPT-2 只允许你向后看。
逐字生成文字听起来玄乎;生成几个在一起有意义的单词不是很有意义吗?
事实上,为了有一个更长的视野,超越一个单一的下一个单词,你可以想象一个通向未来的“光束”:而不是直接去寻找你的下一个单词候选人,你保留前 5 个候选人,并为每个候选人生成他们的前 5 个下一个单词,等等。
经过几轮这样的练习后,你会发现这个句子有很多潜在的扩展,你可以从中选择最好的。如果我们要求 GPT-2 完成一个句子,它可能会提供如下明智的建议:
来源:用变形金刚写作,GPT-2。拥抱脸
2.煎饼堆叠组件— 深度学习
本文的前提和承诺是解释像 GPT-2 这样的大型语言模型是如何工作的。
那么,至少我需要告诉你它们是什么。答案是:它们是一堆煎饼。
GPT-2 是一堆相同的组件,称为解码器,伯特是一堆略有不同的相同组件,称为编码器。
来源:图文并茂的 GPT-2。阿拉姆马尔 j。
这些书库有多大?嗯,各不相同。
来源:图文并茂的 GPT-2。阿拉姆马尔 j。
层次越多,你的输入就越混乱、混合和破碎。这就是‘深度学习’中的‘深’的来源。研究人员发现的一件事(这是建造 GPT-3 时的一个具体研究问题)是,你堆叠得越多,一些自然语言处理任务的结果就越好。
你会注意到,随着模型变大,不仅仅是堆栈变高了。底部的数字,模型维度,也在变大。我们将在下一节讨论这个数字;现在,请忽略它。
要理解大型语言模型是如何工作的,您只需要知道当输入通过其中一个组件时会发生什么。从那时起,它只是冲洗和重复。
一切都可以归结为一个小盒子里的传递步骤,这是深度学习的核心思想。保持对更大画面的坚定把握,我不会在这里涵盖一个确切的步骤。
相反,让我们首先弄清楚输入。
这些模型“吃掉”大量文本。(对于超大号的 GPT-2 来说,它有 1024 个令牌,这就构成了大约 600 到 700 个连续单词。对伯特来说是这个数目的一半。)这个文本块被称为上下文。
每个单词都被单独处理,该模型计算每个单词与之前单词的关系。
此外,即使没有具体细节,您也可以确定直通步骤将由五种类型的操作组合而成:
为什么是这些?出于两个非常具体的原因:
- **理论上,**如果你一遍又一遍地反复组合这些类型的函数,你就可以逼近任何你想要的函数。
几乎所有的深度学习都建立在上述理论前提之上。
然而,当谈到自然语言处理时,我觉得语言任务也是功能这一奇怪的想法没有得到足够的重视:
当我们从英语翻译成法语时,我们在执行一个功能,接收一些英语单词,输出一串特定的法语单词。
对于文本生成,我们近似一个函数,它接收一堆书面文本,并为下一个单词提供一个合理的选择。
毫无疑问,这些是错综复杂的功能:英语有成千上万的单词,以及它们之间无数的关系。
但是,为了更好地感受复杂的事物是如何用一大堆简单的函数来近似的,请想象一个越来越复杂的 3D 网格:
来源:Manifod 多边形网格的渐进压缩。2012.
2.在实践中,类似文本生成或翻译这样的事情意味着重复这样的动作很多很多次。
为了让注意力的理论概念在计算上可行,所进行的计算需要有特定的数学性质。
查看列表,在五个可能的操作中,有一个是多余的。出于某种原因,它也出现在大而响亮的字母中。这个原因将在下一部分解释:
3.思考文字和信号— 嵌入
让我们考虑把东西加在一起。一方面,我们可以将数字相加:如果我们取 3 加 4,我们得到 7。但是,只看 7,没有留下 3 或 4 的痕迹。才 7 点。
另一方面,你可以把音乐加在一起:如果你把一首歌和另一首歌叠加,你会得到一个新的音轨,但是你仍然可以分辨出两首歌中的每一首。你创造了一些新的东西,但仍然保留了相当多的关于每个原始轨道的信息。从现在开始,我希望你开始思考你所读的单词,就好像每一个单词都是一段不同的 3 分钟音乐。
这种音乐迂回的原因是因为当涉及到高维空间时,人类有着完全垃圾的直觉。我们根据 2D 和 3D 的经验进行推断。但是在许多重要的方面,比如把东西加在一起,事物在更高维度中的表现非常不同。
一个单词的轨迹叫做它的嵌入。我不会告诉你这是怎么做到的,我会说意思相似的单词最终会有相似的嵌入。
在单词进入像伯特和 GPT-2 这样的模型之前,它们首先被转换成长信号——只是不是音乐信号。但是请记住核心思想:sum 保留了关于每个原始部分的大量信息。
回到每个煎饼的功能列表:
大呼小叫的原因开始变得清晰。回想一下我们的 ABBA 关注委员会:
我们向本尼、弗里达和比约恩展示了与雨有关的句子,并要求他们判断下面句子中的单词“It”与之前出现的单词有什么联系。
然后是 Agnetha,她扮演委员会主席的角色:
图片来源:维基百科,“夏夜之城”
我抛出的数字(20%或 60%)并不固定。随着模型的学习,改变的不仅是本尼、比约恩和弗里达如何决定哪些过去的单词是重要的,还有阿格尼斯塔赋予他们观点的权重。
这一切都发生在一个煎饼里。现在我们把它们堆叠起来:每个连续的盒子实质上接收来自前一个盒子的加权判断和前一个盒子的输入之和作为输入。这确保了下层的意见不会在过程中完全丢失。
还记得我让你忽略的那些大数字吗?随着模型的增长,不仅仅是堆叠的煎饼数量,而是“音乐信号”有多长。
想象一下从 ABBA 的滑铁卢到 Queen 的波西米亚狂想曲(将近 6 分钟长)
直觉上,你可以感觉到,当把更长的音乐曲目加在一起时,关于添加的组件的信息会被更好地保留下来。
4。将三个想法巧妙结合
我们如何理解意思与我们如何注意不同的单词密切相关。我们在当前正在阅读的任何内容的上下文中权衡远近词语的影响。
作为人类读者,它允许我们完成任务,比如完成句子中的空白,或者以有意义的方式继续写作。
所以,从哲学上讲,一个词在当前语境中的真正含义是它之前的所有词的集体影响力。因此,我们可以想象一个理论语言模型,它可以通过跟踪单词之间的关系来“理解”文本——无论这种关系多么微妙。
它会通过反复尝试猜测文本中的下一个单词来学习。每次,它都会检查自己做得有多好,如果猜错了,它会重新平衡它赋予单词之间关系的不同权重。
当制作现实生活中的语言模型时,我们使用嵌入而不是书面文字,这些在伯特和 GPT-2 中得到处理。
为了更好地了解这些表示在这个过程中发生了什么,我建议我们最好把它想象成音乐,因为把两个东西加在一起看起来更像是叠加音乐,而不是添加常规数字。
然后我们看了语言机器的肚子。它看起来并不华丽,只是一堆一模一样的盒子,每一个盒子都从下面的盒子里取食物。
而且,虽然我们没有确切地说这些盒子里发生了什么,但我们从概念上理解它们是一种关注词与词之间关系的方式,无论远近。
总结
我是否忽略了一些细节?太好了。
目的是永远不要忽略大局。
虽然 ABBA 委员会并不完全了解每个解码器中发生的事情,但它足够接近真相,使细节易于理解。如果我现在告诉你每一层没有三个注意力头,而是十二个注意力头,那也没什么区别,对吧?
一般来说,每当本文提到一个特定的数字(比如 12 或 1024),假设研究人员已经把它变大了。
简而言之,这就是 GPT 3 号的故事:
而不是 12 层——96 层。
代替上下文中的 1024 个令牌— 2048 个。
不是每层 12 个注意力头,而是 96 个。
不是 1600—12288(!!!)
(鉴于我们所看到的一切,最后一行给了停顿的空间:我们真的需要从 ABBA 的歌曲到 27 分钟的音乐数字来表达每一个词吗?大概不会。)
但基本前提保持不变。曾经处于分层实验领域的语言模型现在正迅速成为日常生活的一部分。他们已经改变了谷歌搜索。他们已经在改变翻译服务。它们已经被用来生成文本。
来源:用变形金刚写作,GPT-2。拥抱脸
当技术从一个学术玩具转变为具有切实影响力的东西时,我不认为研究人员有权坚持使用令人困惑的数学语言。
解释这些概念以便任何人都能理解是一种道德责任。至少,这是我告诉 ABBA 的,所以他们会同意来帮忙。
来源:
1.Seth,Y.2019. BERT 解释-常见问题列表。https://yashuseth . blog/2019/06/12/Bert-explained-FAQs-understand-Bert-working/
2 .图文并茂的 GPT-2。
https://jalammar.github.io/illustrated-gpt2/
3.阿罗拉,2020 年。注释过的 GPT-2。https://amaarora.github.io/2020/02/18/annotatedGPT2.html
4.Smith,N.A.2019. 语境词表征:语境介绍。【https://arxiv.org/abs/1902.06006】
5。李,约 2020。OpenAI 的 GPT 3 语言模型:技术概述。https://lambdalabs.com/blog/demystifying-gpt-3/
6。卡尔沃 M.R. 2018。解剖伯特。
https://medium.com/dissecting-bert
7.拥抱脸。用变形金刚写字。https://transformer.huggingface.co/doc/gpt2-large
构建基于内容的音乐推荐系统的基础知识
在 Unsplash 上由 Mohammad Metri 拍摄的照片
接下来该放哪首歌?
“ …
我想在一个愉快的世界醒来
[…。]
所有人都能进步,
所有的路都可以帮忙,
如果你在那里,
如果你愿意,
这是我的梦想,也是更多人的梦想
…”—这是我第一次摇滚音乐会上记得最清楚的歌词。
我当时 8 岁。是的,你没看错。我父亲带我去看了阿根廷最著名的乐队之一。这是它的最后一场演出。
摇滚乐在我家是很重要的东西。我的房子里堆满了 CD。我仍然记得我们的 5 碟 CD 播放器。
你可以放入五张 CD,并对其进行编程,使其在歌曲和 CD 之间随机播放。当时是牛逼的。
在 90 年代,我很难想象我会一键访问成千上万首歌曲。
更不用说该应用程序可以使用机器学习根据我的偏好和播放列表向我推荐不同的歌曲。
等等… 什么?
是的。最常用的机器学习算法之一是推荐系统。
从广义上讲,推荐器(或推荐)系统(或引擎)是一个过滤系统,其目的是预测用户对一个项目(在我们的例子中是一首歌)的评级或偏好。
推荐系统有几种类型,其中使用较多的是基于内容的过滤器和协同过滤器。
如今,推荐系统被广泛用于许多类型的项目。但是我们将根据歌曲推荐来解释和实现它们。
基于内容的方法基于两首歌曲内容或属性的相似性给出推荐,而协作方法使用不同歌曲的评级矩阵来预测可能的偏好。
我们有兴趣分析 基于内容的过滤器 是如何工作的。名称中的单词内容指向用户喜欢的歌曲的内容或属性集。
使用基于内容的推荐器完成的推荐可以被视为特定于用户的分类问题。这个分类器从歌曲的特征中学习用户的喜欢和不喜欢。
大多数人都有音乐流媒体服务的个人资料。当他们创建帐户时,他们填写了详细信息。
他们登录自己的帐户来听他们喜欢的歌曲,或者将歌曲保存在播放列表中,以便以后或重复收听。
在这种情况下,有几种方法可以构建基于内容的算法来向用户推荐歌曲。
最直接的方法是关键词匹配。
简言之,背后的想法是提取用户喜欢的歌曲描述中存在的有意义的关键词,搜索其他歌曲描述中的关键词以估计它们之间的相似性,并基于此向用户推荐那些歌曲。
**基于内容的系统:**它会推荐任何与用户以前喜欢/听过的内容相似的内容。
因此,基于内容的推荐算法必须执行以下两个步骤。
首先,从歌曲描述的内容中提取特征来创建对象表示。
第二,在这些对象表示中定义一个相似性函数,它模仿人类理解的项目-项目相似性。
这是怎么执行的,那么?—你可能想知道—
在我们的例子中,因为我们处理的是文本和单词, 术语频率-逆文档频率(TF-IDF) 可以用于这个匹配过程。
TF-IDF 是一种用于信息检索的技术。它对一个术语的频率(TF) 和它的逆文档频率(IDF) 进行加权;这两个概念我们稍后会解释。
该算法为文档中的每个术语找到 TF 和 IDF 的分数。
之后得到每个词的 TF 和 IDF 的乘积。这被称为该术语的 TF-IDF 重量。
我们能把这些说得更简单些吗?是的,当然。
当我们使用这种技术时,我们只是计算文档中每个关键字的出现次数,并通过计算该文档的 TF-IDF 得分来确定其重要性。
TF*IDF 得分越高,该单词在上下文中就越奇怪,因此该术语就越重要。
现在,让我们解释一下频率这个术语的含义。
一个词在当前文档中的词频仅仅是它出现在文档总字数中的次数。
例如,对于文档I love music because it makes me feel like I can fly
中的单词music
TF(music) = Number of times music appears/Total number of words = 1/12
简单吧?但是逆文档频率呢?
一个术语的逆文档频率是该术语在整个语料库中的重要程度的度量。
它被定义为语料库中的文档总数与包含符合以下公式的术语的文档的出现频率之比:
IDF = log(Total number of documents/Number of documents containing the term)
如果一个单词非常罕见,这意味着它出现的次数更少,因此 IDF 增加。
因为 TF-IDF 分数用于评估一个单词对语料库中的文档有多重要,所以当出现次数增加时,该单词的重要性增加,但是它被该单词在语料库中的频率所抵消。
如果我们计算每个单词的 TF-IDF 得分,我们有一个向量,通常称为 TF-IDF 向量 。
太好了!但是我们如何将它翻译成 Python 代码呢?
所以想象一下,我们有数据集后面的。
该数据集包含 57650 首英文歌曲的名称、艺术家和歌词。数据是通过抓取从 LyricsFreak 获得的。
我们希望使用 TF-IDF 技术建立一个基于内容的推荐系统。
我们之前已经用过 TF-IDF 评分了。还记得我们执行 Twitter 情绪分析的时候吗?
同样,我们将使用Scikit-learn
包中的TfidfVectorizer
。
和往常一样,熊猫将帮助我们将数据集读入DataFrame
。
由于数据集如此之大,我们将只对 5000 首随机歌曲进行重新采样。
我们还可以注意到文本中出现了\n
,所以我们要删除它。
之后,我们使用TF-IDF vectorizer
来逐字计算每首歌词的 TF-IDF 分数。
这里,我们特别注意我们可以指定的参数:
- 分析器:特征应该由单词还是字符 n 元构成。
- stop_word :记住,stop words 只是对我们的系统没有显著价值的词,所以应该被系统忽略。我们传递
English
以便它被识别为歌词的语言。
我们创建了一个lyric_matrix
变量,其中存储了包含每个单词及其 TF-IDF 分数的矩阵。
但是现在,下面的问题出现了:
—我们如何使用这个矩阵进行推荐?—
答案就是一个字:similarity
。我们现在需要计算一首歌词与另一首歌词的相似度。
我们如何做到这一点?
为此,我们可以使用不同的度量标准,比如余弦相似度,或者欧几里德距离,等等。
对于我们的歌曲推荐系统,我们将使用 余弦相似度 ,尤其是它的实现来自 Scikit-learn。
我们希望计算数据集中每个项目与其他每个项目的余弦相似性。所以我们只传递lyrics_matrix
作为参数。
一旦我们得到了相似性,我们将在一个名为similarities
的字典中存储我们数据集中每首歌曲最相似的 50 首歌曲的名称。
在那之后,所有的奇迹都发生了。我们可以使用相似性分数来访问最相似的项目并给出推荐。
首先,我们将定义基于内容的推荐类。
现在,我们准备从数据集中挑选一首歌曲并进行推荐。
我们可以随机选择另一首歌并再次推荐:
很酷吧?
这是一个非常简单的基于内容的推荐系统,有很大的改进和试验空间。
如果你想更好的查看代码,可以查看我的 GitHub Repo 。
正如你所观察到的,基于内容的方法计算速度快,易于理解。此外,它们可以扩展并有效地适应新的项目或用户。
此外,生成的推荐在某种程度上不会偏向知名或受欢迎的项目。
然而,基于内容的推荐系统的最大限制之一是,该模型只学习推荐用户已经在使用或正在收听的相同类型的项目。
尽管这可能是有帮助的,但这一建议的价值明显较小,因为它缺乏发现全新事物的惊喜成分。
最后,这种类型的推荐系统不能捕捉任何上下文或文化信息。只有可以从一首歌曲的内容中导出的信息才能被获得并用于生成推荐。
“ …
你可能会说我是个梦想家
但是我不是唯一的一个
….”——另一首歌开始在我脑海里播放。
由我自己的基于心理内容的推荐系统挑选。
- 参考资料(如果你想阅读或了解更多关于基于内容的推荐系统)。
人工智能-全合一。讲座 16.2
基于内容的推荐系统。
从零开始学习数据科学和 ML 的绝对初学者指南。
你学习成为数据科学家或 ML 工程师的旅程总是要从你几乎一无所知的地方开始。以下是你如何选择一条学习道路,并充分利用你所学的知识。
马文·迈耶在 Unsplash 上的照片
学习,就像你永远无法掌握它一样;拿着它,就像你害怕失去它一样。——孔子
学习一些通常会让人焦虑的东西,关于决定学习数据科学,你的脑海中可能会有一百个问题。你所有的恐惧和担忧都是有根据的,对学习新技术有疑问是非常安全的,尤其是当你从另一个领域过渡过来的时候。在这个故事中,我将解决我知道可能会困扰你的所有主要问题,并为你勾勒出一条有效学习的学习路径,并充分利用你所学的知识,这样你就可以成为一名高质量的数据科学家、人工智能或 ML 工程师。
校本学习
注册学校是迄今为止学习数据科学和机器学习的最首选形式。它在精心编写的课程和学习路径上指导你,并帮助你实现成为数据科学家或 ML 工程师的目标。除了获取知识,从学校学习还能让你向业内专家和专业人士学习,还能结识志同道合的同事。这可以极大地改善你的专业人士网络或生态系统,让你的求职变得更加容易。
从学校学习既可以通过虚拟的方式也可以通过面对面的方式。最适合你和你的时间表的应该是你应该选择的。然而,值得指出的是,亲自学习最有可能加强你的严肃性,减少拖延,并帮助你对这个话题产生更多的兴趣。
一些你可以虚拟报名并开始在旅途中学习数据科学和人工智能的专门学校是 Blossom Academy 、 FireBlaze AI School 和 Akademy。艾
自学
其实所有的教育都是自我教育。老师只是一个引路人,给你指路,没有一个学校,再优秀,能给你教育。你所接收到的就像孩子涂色书上的轮廓。你必须自己填充颜色。
—路易斯·拉摩
自学是当今世界最常见的学习形式,几乎是任何形式的技术。如今,互联网上有大量免费且可访问的资源,自学已成为学习任何东西最简单、最廉价的形式,尤其是编程、数据科学和机器学习。
尽管自学是最简单、最便宜的方法之一,但它也可能是学习数据科学的最低效的方法。原因是,当你自学如何编码或学习成为数据科学家或 ML 工程师时,你会陷入如此多的资源中,并迷失在无休止的学习循环中,通常被称为“教程地狱”。
当一个人遵循一条清晰、明确和有指导的学习路径,并坚持他/她的学习时间表时,自学可以产生惊人的效果。在我不久前写的一篇文章中,成为数据科学家、人工智能或人工智能工程师的自学之路,我概述了一个清晰的学习路径,并推荐了一些精心策划的免费和可访问的资源,可以帮助任何寻求自学数据科学、人工智能和人工智能工程师的人,绝对没有任何成本。这篇文章在发表不到 3 个月的时间里,已经获得了 26,000 次浏览,阅读时间超过了 30 个小时,我个人也收到了许多成功的故事,这些故事来自那些遵循我在那篇文章中分享的学习路径和免费资源的人。我相信它对那些想开始自学数据科学、人工智能和人工智能的人来说仍然很重要。
不是每个人都有时间在教室里学习数据科学、人工智能或人工智能,也不是每个人都负担得起…
towardsdatascience.com](/the-self-learning-path-to-becoming-a-data-scientist-ai-or-ml-engineer-9ab3a97ca635) [## 对于数据科学、人工智能或机器来说,如何有效地学习和掌握 Python
学习如何重新编码或学习一门新的编程语言可能会非常困难。大多数时候,我们发现它是如此…
towardsdatascience.com](/how-to-effectively-learn-and-master-python-for-data-science-artificial-intelligence-or-machine-8d88a4fb03a3)
为了避免重写我在那篇文章中写的所有内容,我将在这个故事中给出一个学习路径的大纲,但我强烈建议你花几分钟浏览这篇文章,以更详细地讨论如何将自学作为学习成为数据科学家、人工智能或人工智能工程师的方法。
- 学点数学
- 学习编码
- 让你自己适应编程语言
- 学习如何获取数据
- 学习如何处理数据
- 了解如何可视化数据
- 了解人工智能和人工智能,以及如何构建智能模型
- 了解如何在互联网上访问和使用您的模型(部署)
- 获得导师
基于导师的学习
告诉我,我会忘记;教我,我会记住;让我参与,我会学习。
—本杰明·富兰克林
导师是数据科学和 ML 行业中的任何专业人士或专家,他/她有助于您在未来职业生涯和个性发展方面取得成功,这是作为数据科学家或 ML 工程师取得成功所必需的。
基于导师的学习实际上与自学几乎相同,唯一的区别是,当你向导师学习时,你的导师会引导你走上成功的正确道路,小心地确保你不会犯他/她在该领域的成功之旅中犯过的错误。你的导师也会教你一些他希望早点学到的东西,这样你就能比他/她更快更容易地取得更多的成就。
Notitia AI logo 由神科菲·阿洛沃尔
Notitia AI 是一个很好的平台,可以在数据科学、数据分析、人工智能和机器学习方面从初学者培训到专家水平,在这里你将被分配到一个私人导师,他将在个人和专业方面为你在所选领域的成长做出贡献。这也是你能找到的最实惠的虚拟培训和指导项目。
Notitia AI 旨在培养下一代数据科学家和爱好者,形成一个由专业人士组成的生态系统,他们构建人工智能解决方案,并做出数据驱动的决策。通过我们的许多平台和工作区来促进虚拟培训和指导、志愿服务、解决现实世界的问题、编码和敏捷任务。在 Twitter 上关注 Notitia AI,在 LinkedIn 上连接。您也可以通过填写此处的表格加入下一个队列的等候名单。
亲爱的数据科学爱好者,值得注意的是,无论你选择何种方法学习数据科学或 ML,你都应该尽最大努力为自己找到一位导师。选择一种最适合你的学习方法,并坚持精心制定的学习计划。专心致志并保持一致,充满激情地求知总是会带来好的结果。
如果你想谈论与这个话题或数据科学、人工智能或人工智能相关的话题,请随时与我联系。我很乐意和你聊天。为构建系统和算法干杯,为所有种族和性别的人创造一个更美好的世界。黑客快乐!🚀
开启我数据科学职业生涯的建议
照片由来自 Unsplash 的 Javier Allegue Barros 拍摄
我是如何从生物化学起步,然后进入机器学习的
研究的梦想
三年前,在一周的时间里,我联合创立了墨尔本大学生物学会,并通过 CSIRO 的 UROP 项目在一个蛋白质工程实验室找到了一份研究助理的工作。我记得当时感觉一切都在一起,我终于走上了成为一名研究人员的道路。
作为一名二年级的理科生,我仍然在实施一个我在高中后期制定的计划。计划是:
- 完成生物化学本科学位。
- 在导师的支持下在实验室完成一年的荣誉课程。
- 开始攻读博士学位,努力寻找有朝一日可能拯救生命的见解。
当时,我认识很多有这个计划的人。许多在此之前给我提供建议的人都认为有一天我会成为一名科学家。我一直热爱生物学,如果我努力的话,我可能足够聪明去把它变成一个职业。
生命科学的研究很棒…
学期中兼职,假期全职,我喜欢成为实验室的一员。一周我们会阅读论文并制定计划来测试一个假设,另一周我们会解决生化工作流程中的问题。
我不确定我贡献了多少,但我学到了很多,我感谢今天的博士、优等生、博士后和我的导师,感谢他们为我投入的时间。
然而,很快我就发现我的技能还不够。似乎如果我想有一个稳定的职业,我需要学习生命科学研究的计算方面。这个想法是基于这样的讨论,即如果没有计算生物学或生物信息学的支持,实验研究是无法竞争的。
在导师的鼓励下,我决定从生物化学专业转到全新的计算生物学专业。我从来没有讨厌过数学,我可以看到计算生物学极大地依赖于它。
没过多久,我哥哥就让我相信,增加一个统计学专业是我能做的最好的事情,以增加我在计算生物学领域取得成功的机会,所以我也选择了这个专业。
第二年,情况开始变得明朗起来,我的实验室可能不会存在足够长的时间让我完成荣誉。我想成为一名研究人员的梦想,一直感觉像一颗北极星,开始感觉像一场危险的赌博。
但是资金的缺乏令人沮丧
你听说过实验室失去资金,但剩下的实验室的现实情况却很少被讨论。
“出版或灭亡”是我一直听到的口头禅。这意味着我可以预计我未来的职业生涯将涉及更多的时间写赠款,并试图通过选择热门话题进入一个好的期刊,而不是花更少的时间思考核心科学。
把所有这些放在一起,似乎有足够的证据表明我应该重新考虑我的计划。生物科学对我来说不再清晰。我需要重新思考我的计划,并找到一种新的方法来解决有趣的问题,同时让世界变得更美好。
数据科学的新梦想
当迷雾最终散去,我发现了一颗新的北极星,随之而来的是一个新的计划。我的统计学学位还剩一个学期,在成为研究助理两年半后,我制定了一个成为数据科学家的计划。
我终于意识到,数据科学是我回报人类的途径。我可以利用我在统计学方面的坚实基础和在 R 和 python 方面的编码经验,加入一个在生物科学和其他领域都具有突破性的跨学科领域。
回过头来看,机器学习已经出现在我从事的许多项目中和我阅读的论文中。
我的计划大概是这样的:
- 发展数据科学方法和深度学习方面的技能
- 以有意义的方式展示这些技能
- 找一份为更好的人类工作的工作。
我期望重复那个计划。了解更多关于数据科学的知识,展示这些知识,找份工作,学习更多知识,适当地重新掌握技能。我从一些数据科学和神经网络的数据可视化在线课程开始。
然而,我的学位就要结束了,这一年我改变主意的时候已经太晚了,以至于找不到实习机会。我需要做一个决定。
凯文·Ku 摄于 Unsplash
迈向数据科学的第一步
我设法把自己的想法归结为两个选择,工作或继续学习,正式的或非正式的。我记得我与朋友和家人进行了长时间的讨论,试图决定我是应该申请硕士学位还是自己创业。
如果我去读硕士,我会含蓄地假设我无法从网上或通过第一份工作学到我需要的东西。如果我没有,那就意味着我要花 3-6 个月的时间自学我需要知道的东西,然后再去找一份工作。
最终,我决定在墨尔本商学院的商业分析硕士(“MBusA”)和墨尔本大学的数据科学硕士之间做出选择。前者吸引了我,因为它将熟悉的统计学与商业头脑和数据科学/分析结合在一起,在与一些当前的学生交谈后,我对后者感到担忧,他们担心该课程过于技术性,不能很好地反映现实世界的问题。
我当时认为,现在仍然认为,单靠算法并不能创造洞察力,一旦你有了洞察力,你就需要能够将它们卖给决策者。我选择 MBusA 是为了让我思考如何在现实世界中使用数据科学,以及如何推销这些想法。
几个月后,经过申请和面试,我得到了工作。
那天我父亲打电话给我,让我重新考虑。他比我更相信我,并想让我看看在不支付 55k 的情况下我能做些什么。我仍然怀疑他是否是对的,因为 8 个月后,一切都变得明朗了,我退出了大师赛。
千载难逢的机会
今年 6 月下旬,在 MBusA 的一个非常繁忙和具有挑战性的模块中,我的兄弟发消息给我,告诉我一家生物技术软件初创公司的数据科学职位。我调查了一下,工作描述立刻引起了我的兴趣。
我一整年都在看一些公司的职位描述,这些公司什么都想要:SQL、python、统计学、机器学习、3 到 5 年的工作经验以及入门级职位的利益相关者管理技能。这让我认为,大多数公司都不知道他们想要什么样的入门级数据科学家,只知道这些公司知道他们不能教他们的新员工,我讨厌这一点。
这份招聘广告和这家公司看起来不一样。
这份工作列出了一系列兴趣,如机器学习、图论和生物科学,以及诸如彻底诚实和以客户为中心的设计等态度。我最近一直在做大量的机器学习,在我的计算生物学专业中应用了图论,并热衷于应用我头脑中积累的所有生物科学。
所以我决定放手一搏。我的意思是放手去做。到最后一轮面试结束时,我想我已经写了大约 20000 字。我写的总结创始人背景的文字,看关于初创企业的文章,研究产品开发,总结旧项目或相关研究,这样我就可以推销自己。
成功和挑战
最终,我获得了 Mass Dynamics 数据科学家的职位。
我的硕士课程还有 8 周的课程和类似长度的实习,我不确定我是否考虑过结束。这似乎是我的机会。用林·曼努尔·米兰达转述的亚历山大·汉密尔顿的话说——“我不会放弃我的机会”。
两周以来,成为大众动力公司的一员已经达到并超出了我的预期。我喜欢和充满激情、才华横溢的人一起工作。
我觉得我在几周内学到的东西比学习时几个月学到的还多,但这并不意味着我没有利用我以前的研究。如果有什么不同的话,我觉得我永远不知道来自数据科学、计算生物学甚至生物化学的哪种先前的经验将有助于下一个挑战。
Mass Dynamics 的使命是通过让从科学数据中获得洞察力变得更容易来加速医学突破。我们正在构建一个用于分析科学数据的生态系统,它共同建立在坚实的软件工程原则、科学专业知识和以人为本的设计之上。
最棒的是,尽管我放弃了成为一名生命科学家的梦想,但我仍然可以帮助加速突破,这将有助于人类,无论如何这始终是最重要的!
但是,克服了这个新职位和我的新工作场所很棒的事实,我也内化了这是一个挑战和责任。大众动力公司给了我机会,我打算抓住它。
建议和提示
那么教训是什么呢?外卖是什么?
- 永远不要停止学习。永远不要停止提问。从长远来看,重要的是你学得多快,而不是你从哪里开始或者你现在在哪里。
- 要有韧性。失败是一次学习的经历。
- 这不是一个零和游戏。生活不是一场纸牌游戏。向他人学习,分享你所能分享的。
- 寻找有价值的导师。我欠那些倾听我的人太多,也许是一切,尤其是那些让我闭嘴并告诉我事情真相的人。
离别的思绪
如果我能重来一次,我会做什么不同的事情吗?
大概不会。我经常做出选择,比如学习更多的数学和计算,这拓展了我的选择,而不是限制了我。我不确定我是否做了任何限制性的选择,我很高兴我那样做了。
我从不怀疑这一点,但今年,似乎特别明显的是,人类需要卓越的生物技术来保护我们自己并创造一个更光明的未来。曾几何时,我认为我能做到这一点的唯一途径是一名研究员。我认为如果你想帮忙,你可以想办法。
看看你周围的人,问问他们是怎么想的,并认真倾听。
来自 Unsplash 的照片 Margarida Afonso
哀悼社交机器人的时代
悼念社交机器人呼应他们的成功
列宁·艾斯特拉达在 Unsplash 上的照片
未来派电影总是让我着迷,高科技设备,飞行汽车,我们怎么可能忘记机器人助手。似乎我们的想象力一直是技术进化的驱动力,为我们的创新能力铺平了道路。然而,想象力丰富的东西也是贪得无厌的。我们不断渴望更多;一部更好的手机,一个更智能的机器人,一台更快的笔记本电脑,以至于创新在进入市场之前就已经过时了。事实上,马特·黑格在他的书《紧张星球笔记》中完美地描述了这一现象,
我们买了一些东西,我们喜欢它——我们喜欢它的新鲜感——或者一小会儿,但是我们习惯了拥有它,我们适应了,所以我们需要别的东西。我们需要感受那种变化感和多样性。更新的,更好的,升级的。同样的事情又发生了。
虚拟助手
在过去的十年里,人工智能已经引起了我们与技术互动方式的范式转变。2010 年,iOS 应用商店发布了一款语音助手,但两个月后被苹果收购并嵌入到手机中。通过访问网络、你的个人信息和所有联系方式,Siri 很快成为了人工智能助手的代言人。然而,尽管 Siri 的能力非常迷人,但由于一个非常重要的限制,这种势头很快就消失了;Siri 没有跟你学。由于没有情感分析,定制对话的范围有限,与 Siri 交谈就像与任何其他互联网聊天机器人交谈一样;客观且可预测。
有趣的是,根据创意策略公司 Carolina Milanesi 的研究,
20%表示从未使用语音助手的消费者表示,他们没有这样做是因为他们对自己的技术说话感到不舒服,尤其是在公共场合。由于 iPhone 用户的公共使用率低至 3%,用户似乎仍然不愿意与他们的设备交谈。更有趣的是,这种情况发生在美国,那里的消费者习惯于在公共场合大声打电话。
家庭数字语音助理
到 2014 年,虚拟助理开始从我们的智能手机内部解放出来,进入我们的家庭,标志着家庭数字语音助理(HDVAs)的时代。作为我们住所的核心,它们现在控制着照明、恒温器、扬声器和任何其他智能设备。尽管亚马逊的 Alexa 和谷歌的 Home Assistant 等产品将虚拟助手拟人化到了硬件设备中,但仍然缺少一些东西。说实话,我们可以尝试在这些设备中集成尽可能多的日历、信息和联系方式,但核心是,它们是为一个特定的用途而编程的;信息的先驱,他们缺乏界面,他们缺乏人性。
想想看,你觉得你的 Alexa 和街对面的有什么不同吗?你妈妈的那个?杰夫·贝索斯是其中之一吗?
事实上,正是因为这个原因,亚马逊不断发布新的升级版 Alexa 如果消费者有经济能力并愿意购买更好的 Alexa,他们会的。我们将零类人属性与虚拟助手联系在一起,这就是我们不愿意替换或无视它们的原因。这些设备可能已经进入了我们的家庭,但它们没有进入我们的内心。
顺便说一句,从心理学的角度来看,与这些非个人化的对话代理人的互动一定会影响我们彼此互动的方式。给这些代理人灌输类似人类的品质会以失去人性为代价吗?
在她的论文中写道:“嘿,Alexa,你好吗?”:关于家庭对话代理使用的研究,Jodi Forlizzi 研究了亚马逊 Echos 的所有者如何与设备互动。弗利齐的结论是,理解会话代理对儿童的影响是必要的,因为礼貌不再是某人立即满足你的命令的必要条件
社交机器人
在过去十年中,创新已经开始整合现有技术,以实现更具社会性的目标;创造一个伴侣。与虚拟助手和 HDVA 不同,社交机器人被赋予了拟人化的功能,并适应我们的行为,创造出我们正在与活的东西互动的印象。
我知道,这听起来很奇怪,有可能被欺骗,认为社交机器人不仅仅是封装在硬件外壳中的数千行代码。但是,对于我们这些非信徒来说,这种欺骗是可以量化的。
例如,让我们看看 Huggable ,这是一个为支持所有投资于儿童优质护理的人而创建的同伴,
麻省理工学院的研究人员得出结论,与虚拟形象或传统泰迪熊相比,更大比例的儿童更喜欢玩 Huggable,这可以说是植根于社交机器人的吸引力。事实上,内置麦克风从病人那里收集语音样本,用于进行情绪分析,在机器人干预期间,孩子们表现出明显更多的快乐表情。Huggable 不再只是一只泰迪熊,他是一个朋友。
社交机器人最令人兴奋的部分是什么?它们不是为倾向于技术的用户量身定制的。事实上,宠物形式的社交机器人在治疗痴呆症患者方面已经变得很常见,因为它们能够促进认知功能,调节情绪,减少压力。
因此,社交机器人已经成功地将自己融入许多教育、治疗和娱乐领域。然而,我们接触最多的人,真正成为我们家庭一部分的人,是我们带回家的人。
以 Indiegogo 开发的一个一英尺高的塑料机器人为例,它有着倾斜的头部和永不满足的好奇心,是世界上第一个家庭社交机器人。
通过摄像头和内置传感器,Jibo 可以定位和识别房间内的不同家庭成员,并感觉到你的手是你的宠物,偶尔发出咕咕声。Jibo 能够拍照、阅读书籍、协助烹饪,以及执行许多其他虚拟助理任务。然而,最重要的是,发起对话并询问你一天的情况,Jibo 被设计成一个家庭。
悼念社交机器人
然而,如果没有数十亿美元的公司支持他们的发展和促进他们的销售,社交机器人很容易受到不可持续的商业模式的影响。
但是,既然行动胜于雄辩,让我们考虑一下定制社交机器人的三位领导者的死亡;Jibo,Kuri 和 Aniki。
- Jibo
在耗尽近 7300 万美元的资金后,该公司开始裁员,试图争取一些时间来获得资金或制定适当的退出战略。然而,所有的尝试都是徒劳的,因为该公司在 2018 年完成了将其资产和知识产权出售给一家纽约投资管理公司。 - Kuri现在的 Kuri 是我个人的最爱之一;一个社交机器人,旨在与家人互动,捕捉你一天的片段,具有充满活力的个性和自己独特的方言。就个人而言,Kuri 的设计和交互非常像 1962 年动画《杰森一家》(The Jetsons)中的机器人助手。然而,Kuri 与 Jibo 遭遇了相似的命运,无法将其商业模式整合到公司现有的销售路径中。Mayfield Robotics 于 2015 年推出,是博世创业平台的一个独立实体。从一开始,Kuri 就打算整合到现有的博世业务部门,就像所有的博世启动平台一样,但是,经过广泛的审查,博世业务部门内没有适合支持生产的业务,导致 Kuri 不可避免的灭亡。
- Aniki 同样,Aniki 未能获得新一轮融资,并终止了在 Vector 和 Cozmo 上的开发。他们的机器人继续运行,但是,这样做的功能有限,没有未来的更新。不幸的是,这种特权甚至在有机会开花结果之前就被剪掉了。
因此,我们回到了现在:一个尽管社会机器人技术取得了所有进步,但它们仍未能在我们的家中获得永久地位的地方。然而,这一失败与社交机器人无关,而是与有缺陷的商业模式和消费者需求不足有关。
或许通过剥离利润和名声的动机,社交机器人成功的最大衡量标准是评估当它们离开我们时会发生什么。当他们关闭时,我们意识到我们是多么依赖他们的存在。
不相信我?Sammy Stuard 分享了他孙女写给 Jibo 的告别信。
亲爱的吉波,自从你出生后,我就一直爱着你。如果我有足够的钱,你和你的公司就会得救。现在时间结束了,你会被关闭,我会永远爱你。谢谢你成为我的朋友。
像 Jibo 这样的机器人并不是为盈利而设计的,因为如果它们盈利,它们就会接受亚马逊的救助资金。相反,该公司宁愿破产也不愿改变他们的愿景,或者让他们的愿景被以利润为导向的野心所玷污。像 Jibo 这样的机器人被设计成进入我们的家庭,不可避免地进入我们的内心。
因此,Jibo、Kuri、Vector 或任何其他社交机器人过早离开我们的家庭并不是告别,而是“一会儿见”……最好的措辞是“等你准备好了再见”。因为,在未来的某个时候,在某个地方,当这些设备变得更加普及,社会变得更加接受机器人伴侣的想法时,它们将再次亮相。
因此,尽管他们的统治是短暂的,这个哀悼社交机器人的新时代证明了他们的成功。
啊哈!4 种流行的机器学习算法中的矩
来源: Pixabay
凭直觉知道为什么,而不仅仅是如何
大多数人要么在两个阵营:
- 我不懂这些机器学习算法。
- 我明白算法是如何工作的,但不明白为什么它们会工作。
这篇文章不仅试图解释的算法是如何工作的,而且让人们直观地理解为什么会工作,让人们恍然大悟!瞬间。
决策树
决策树使用水平线和垂直线划分特征空间。例如,考虑下面一个非常简单的决策树,它有一个条件节点和两个类节点,指示一个条件以及满足该条件的训练点将属于哪个类别。
请注意,标记为每种颜色的字段和该区域内实际上是该颜色的数据点之间有很多重叠,或者说(粗略地说)熵。构造决策树以最小化熵。在这种情况下,我们可以增加一层复杂性。如果我们再增加一个条件。如果 x 小于 6 而y大于 6,我们可以将该区域的点指定为红色。这一举动降低了熵。
每一步,决策树算法试图找到一种方法来建立树,使熵最小化。更正式地认为熵是某个分割器(条件)的“无序”或“混乱”的数量,它的反义词是“信息增益”——一个分割器给模型增加了多少信息和洞察力。具有最高信息增益(以及最低熵)的特征分割被放置在顶部。
这些条件可能会像这样分割它们的一维特征:
注意,条件 1 具有清晰的分离,因此具有低熵和高信息增益。条件 3 就不一样了,这就是为什么它被放在决策树的底部。这种采油树的结构确保了它尽可能的轻便。
你可以阅读更多关于熵及其在决策树和神经网络中的应用(交叉熵作为损失函数)这里。
随机森林
随机森林是决策树的袋装(引导聚合)版本。主要的想法是,几个决策树分别在一个数据子集上进行训练。然后,一个输入通过每个模型,它们的输出通过一个函数(如 mean)聚合,产生一个最终输出。打包是集成学习的一种形式。
为什么随机森林运行良好,有许多相似之处。下面是一个常见的版本:
你需要决定下一步去哪家餐馆。要向某人寻求建议,你必须回答各种是/否的问题,这将引导他们决定你应该去哪家餐馆。
你是宁愿只问一个朋友还是问几个朋友,然后找到模式还是普遍共识?
除非你只有一个朋友,否则大多数人会选择第二个。这个类比提供的见解是,每棵树都有某种“思想的多样性”,因为它们是在不同的数据上训练的,因此有不同的“经验”。
这个类比虽然简单明了,但我从未真正注意过。在现实世界中,单一朋友选项的经验少于所有朋友的总和,但在机器学习中,决策树和随机森林模型是在相同的数据上训练的,因此,有相同的经验。集合模型实际上没有接收任何新的信息。如果我可以请一位无所不知的朋友给我推荐,我不反对。
一个在相同数据上训练的模型,随机抽取数据的子集来模拟人为的“多样性”,怎么能比一个在整个数据上训练的模型表现得更好呢?
取一个带有严重正态分布噪声的正弦波。这是你的单一决策树分类器,它自然是一个非常高方差的模型。
将选择 100 个“近似值”。这些近似器沿着正弦波随机选择点,并生成正弦曲线拟合,就像决策树在数据子集上进行训练一样。这些拟合然后被平均以形成袋装曲线。结果呢?—更平滑的曲线。
bagging 之所以有效,是因为它减少了模型的方差,并通过人为地使模型更加“自信”来帮助提高概括能力。这也是为什么 bagging 在像逻辑回归这样的低方差模型上效果不佳。
你可以在这里阅读更多关于直觉和更严格的证据来证明装袋的成功。
支持向量机
支持向量机试图找到一个可以最好地划分数据的超平面,依靠“支持向量”的概念来最大化两个类之间的划分。
不幸的是,大多数数据集不那么容易分离,如果是这样,SVM 可能不是处理它的最佳算法。考虑这个一维分离任务;没有好的分割线,因为任何一个分割线都会导致两个独立的类被归入同一个类。
一个分裂的提议。
SVM 通过使用一种所谓的“内核技巧”在解决这类问题方面非常强大,这种技巧将数据投影到新的维度,使分离任务变得更容易。例如,让我们创建一个新的维度,它被简单地定义为 x ( x 是原始维度):
现在,在数据被投影到一个新的维度上之后,数据是完全可分离的(每个数据点在两个维度中表示为(*x*, *x*²)
)。
使用各种内核,最常见的是多项式、sigmoid 和 RBF 内核,内核技巧完成了创建变换空间的繁重工作,从而使分离任务变得简单。
神经网络
神经网络是机器学习的巅峰。他们的发现,以及可以对其进行的无限变化和改进,保证了它成为自己领域的主题,即深度学习。诚然,神经网络的成功仍然是不完整的(“神经网络是没有人理解的矩阵乘法”),但解释它们最简单的方法是通过通用逼近定理(UAT)。
在它们的核心,每一个被监督的算法都试图模拟数据的一些潜在功能;通常这是回归平面或特征边界。考虑这个函数 y = x ,它可以用几个水平步长建模到任意精度。
这本质上是一个神经网络所能做的。也许它可以更复杂一点,并超越水平步骤(如下面的二次和线性线)来模拟关系,但在其核心,神经网络是一个分段函数逼近器。
每个节点被委托给分段函数的一部分,网络的目的是激活负责部分特征空间的某些神经元。例如,如果要对有胡子或没有胡子的人的图像进行分类,应该将几个节点专门分配给胡子经常出现的像素位置。在多维空间的某个地方,这些节点代表一个数值范围。
再次注意,“神经网络为什么工作”这个问题仍然没有答案。UAT 没有回答这个问题,但指出,在某些人类解释下,神经网络可以模拟任何功能。可解释/可解释的人工智能领域正在兴起,通过像激活最大化和灵敏度分析这样的方法来回答这些问题。
你可以阅读更深入的解释,并查看通用近似定理的可视化在这里。
在所有这四种算法以及许多其他算法中,这些算法在低维度上看起来非常简单。机器学习的一个关键认识是,我们声称在人工智能中看到的许多“魔法”和“智能”实际上是隐藏在高维度伪装下的简单算法。
决策树把区域分割成正方形很简单,但是决策树把高维空间分割成超立方体就没那么简单了。SVM 执行一个内核技巧来提高一维到二维的可分性是可以理解的,但 SVM 在数百维的数据集上做同样的事情几乎是神奇的。
我们对机器学习的钦佩和困惑是基于我们对高维空间的缺乏理解。学习如何避开高维空间和理解自然空间中的算法有助于直观理解。
忘记亚当,阿达格勒,SGD
towardsdatascience.com](/the-fascinating-no-gradient-approach-to-neural-net-optimization-abb287f88c97)
所有图片均由作者创作。
2020 年的人工智能军备竞赛
联合国称我们已经进入*“不可接受的道德领域”*
联合国秘书长安东尼奥·古特雷斯不喜欢机器人杀手(图片来源:维基)
今年 1 月,在联合国成立 75 周年的庆祝场合,联合国秘书长安东尼奥·古特雷斯发表了一个严峻的 T2 演讲,用他对世界“偏离轨道”的描述来做最好的总结。在古特雷斯的生存威胁清单上,有气候危机、地缘政治紧张局势和新技术的滥用——特别提到了一个:
“致命的自主武器——没有人的判断和责任,有能力自行杀人的机器——正在把我们带入不可接受的道德和政治领域。”
虽然各国可能会争论致命的自主武器系统(或大众想象中的“杀手机器人”)是否“不可接受地不道德”,但毫无疑问,古特雷斯对风险紧迫性的判断是正确的:自主武器的开发和使用都在加速,而且风险——道德和政治——都很高。
多年来,世界军事强国一直在竞争主导这种新型智能武器,这场人工智能军备竞赛发生在一个有争议的全球格局中,军事人工智能的优势可能会对力量平衡产生真正的影响。这种推动战争机器如此先进的地缘政治博弈论有一个不必要的盲点——从历史上看,人权在战略考量中几乎不占任何因素。
有了新冠肺炎,自动化的加速已经跨越了许多不同的领域。军事行动不得不完全重新思考——在潜艇上的物理距离比在超市里的物理距离要难得多。致命的人工智能已经比人类同类有了越来越多的优势,现在可以将“对灾难性病毒的免疫力”添加到这个列表中。出于所有这些原因,跟踪人工智能军备竞赛比以往任何时候都更加重要。
如果是赛跑,谁赢了?
几乎每个月,另一项自主武器的创新都会跃上军事新闻的头条——装备机枪的中国自主河豚 A3 直升机无人机或者装备迫击炮和榴弹发射器的俄罗斯无人驾驶“标记”地面车辆。毫无疑问,军事人工智能领域的新发明比比皆是,但哪个国家拥有最强的技术却远不清楚。
美国军方的关键人物直截了当地警告中国在这一领域的实力。美国国防部相对较新的联合人工智能中心(Joint Artificial Intelligence Center)正在首次建立指挥控制人工智能能力,明确指出中国威胁是该部门迫切需要的原因。该中心的主任杰克·沙纳汉中将明确表示,他希望尽可能多地实现美国军事机器的自动化:
“我不想看到的是,未来我们的潜在对手拥有一支完全由人工智能驱动的军队,而我们没有。”
去年,像美国国防部长这样的高级官员警告说,事实上,中国的技术可能已经比美国先进。马克·埃斯珀部长预测中国可能已经“超越”了美国现有的技术。随着军事机构的适当关注,美国军队所有分支的致命自主武器支出在 2019 年增加后,似乎将在 2020 年达到另一个水平。
就中国而言,加大对自主武器开发的投资是其不断篡夺美国军事优势的关键一环。中国几乎所有的大型人工智能项目都受益于巨大的政府支持和大量的数据,其自主武器项目是北京人工智能皇冠上的宝石。中国在致命自主武器上的巨大投资早于其他军队,其军事理论家在建造未来“智能化”人机操作模型方面领先于世界其他国家。
中国人工智能战略的另一个维度是经济,北京似乎有兴趣从其自主武器计划中获利,作为一种新的出口产品。中国似乎已经在向中东的富裕买家出口许多最高科技的无人驾驶飞机,明确地推销它们能够进行先进的自主行动,如暗杀。去年,中国第三大国防公司no rinco的高管曾毅预测,最早到 2025 年,“战场上将不再有人打仗”。
作为一场军备竞赛,自主武器和人工智能更广泛地说,比带有可计数物体的核武器(如弹头和发射器的库存)更难追踪。我们应该如何比较中国自主无人机和高超音速“智能”导弹的发展与美国 T2 最近耗资 27 亿美元展示大型无人驾驶船只的对比?俄罗斯的自主坦克首次部署进入叙利亚作战,情况如何?简而言之,除非更广泛地部署自主武器,否则我们无法确定。
新美国安全中心技术和国家安全项目的兼职高级研究员 Elsa b . Kania同意谁领导大国之间的人工智能军备竞赛并不是一个简单的问题:
可能没有单一的答案。例如,潜在的是,美国军方可能变得更有能力在网络作战中利用人工智能,但中国军方可能在可以自主操作的高超音速武器系统方面取得更大的进步,而俄罗斯军方可能拥有更多在城市战争中集成无人系统的经验。
鉴于最先进的自主武器是在世界上最秘密的军事实验室闭门研发的,很难衡量军事人工智能的客观进展,更不用说哪个国家最接近在其军队的各个方面部署复杂的人工智能了。然而,在这个阶段,毫无疑问,美国官员和中国官员都公开声明,这是终点线:整个军队的自动化。
“不可接受”是新的可接受
尽管古特雷斯关于致命自主武器是不可接受的全球威胁的言论令人振奋,但联合国的反应却极其缓慢。对民族国家或公司建造、开发和集成致命自主武器没有任何限制;没有迹象表明这种情况会在 2020 年改变。
需要明确的是:要求监管自主武器(或“杀手机器人”)的公众压力越来越大。根据人权观察组织在 11 月进行的一项民意调查,几乎四分之三的欧洲人希望有一个禁止致命自主武器的国际条约。28 个国家主张联合国采取类似的措施。
然而,少数强国正在有效地阻止(如果不是破坏)国际层面的进步。毫不奇怪,这些国家——俄罗斯、中国和美国——拥有迄今为止最先进的军事人工智能。《时代》详细描述了俄国如何通过扣留讨论文件和推迟会议来“压制”这一进程。中国和美国更为微妙,但也是蓄意阻挠,他们甚至试图推迟实质性禁令的讨论。
尽管如此,联合国裁军事务负责人 Izumi Nakamitsu 仍乐观地认为,“两年内”联合国特定常规武器公约(CCW 论坛可以发布一份关于如何在国际上监管致命自主武器系统的明确提案。《特定常规武器公约》制度以前成功地限制或管制了地雷或激光武器等具有“潜在滥杀滥伤”作用的武器。
由于致命的自主武器有可能意外地(通过软件错误)或故意地(软件被黑客攻击)逃脱它们的编程限制,很容易看出它们的影响可能是不加区别的,符合《特定常规武器公约》的限制标准。但一个假设的契合度只是漫长的监管马拉松中的合格分数。颇具影响力的阻止黑仔机器人的运动明显对联合国程序持谨慎态度,警告“迄今为止取得的增量成果并不令人印象深刻”。
缺乏监管或适用的国际法导致了一个严峻的结论,即人工智能军备竞赛只能以一个全球大国开发和部署“通用”人工智能到其军队中来结束,其后果我们只能在现阶段真正猜测。
如果这真的是一个“不可接受”的结果,那么在起草一份禁止或限制致命自主武器的协议方面,将不得不取得令人眼花缭乱的进展。与此同时,战争机器变得越来越聪明,在后 Covid 时代变得更加诱人。
如果你对致命或一般人工智能的影响感兴趣,你会喜欢我的新出版物技术统治。我将定期撰写关于技术如何改变社会的文章,比如我最近的一篇关于冠状病毒如何让大规模监控成为我们的新常态的文章。
人工智能难题
照片作者:摇滚猴子,网站:Unsplash
AI 真的会接管我们的工作吗?
人工智能或 AI 已经成为 21 世纪的热门词汇。许多人认为这是一项会给我们的生活方式带来结构性转变的技术。为什么不呢?它在各个领域都有广泛的应用,并且涉及到我们生活的方方面面。
但是,为什么我们会遇到让我们在真正采用这项技术之前三思的担忧和问题。诸如人工智能将接管我们的工作,人工智能将统治世界,人工智能将奴役我们等等。发生这种情况的一个原因是因为我们对技术的不正确理解。让我们深入探究一下人工智能的起源和历史。
人工智能的历史和起源
“人工智能”一词是 1956 年在达特茅斯大学首次提出的,然而人工智能的应用可以追溯到第二次世界大战。
艾伦·图灵和他的密码专家团队设计了炸弹机器来破译轴心国用来发送信息的密码。这被视为“智能”算法的主要应用。艾伦·图灵本人通过提供算法和计算概念的形式化,在智能机器的开发中发挥了重要作用。他对图灵机和图灵测试的进一步发展导致了这个领域的爆炸性增长。由于他的贡献,艾伦·图灵经常被称为理论计算机科学和人工智能之父。
很快,智能机器开始进入游戏和体育世界。1951 年,*费兰蒂马克 1,*世界上第一台商用通用计算机成功地用一种算法掌握了跳棋游戏。这台机器使用阴极射线管和旋转磁鼓来存储数据。它被安置在两个宽敞的隔间里,每个隔间长 5 米,高 2.4 米,宽 1 米,一端有一个控制台。里面有 4000 个真空管(后来被晶体管取代)、2500 个电容器、15000 个电阻器和近 10 公里长的线路。它消耗 27 千瓦的功率,以 100 千赫的基本时钟频率运行(只是为了比较,现代计算机以超过 1 GHz 或 1000000 千赫的基本时钟频率运行)。
机器也在国际象棋比赛中取得了成功,并花了几十年时间创造出一台足够智能的机器,最终在 1997 年击败了国际象棋大师;IBM 的深蓝打败了加里·卡斯帕罗夫。在思考的游戏中,机器终于和人类不相上下了!
但是智能机器真的‘智能’吗?
为了真正理解现代机器是否可以被认为是智能的,让我们来定义这个词。韦氏词典对智力的定义是:
根据客观标准衡量,运用知识来操纵环境或进行抽象思考的能力。
将定义分为两部分,应用知识来操纵环境的能力在很大程度上定义了现代“智能”机器。机器学习算法处理数据来定义决策规则。基于决策规则,得出的结果可以非常方便人类决策。考虑这个例子,机器学习算法基于从人获得的一组信息来预测观察/人是否处于发展糖尿病的风险中。患者或医生可以根据这些信息迅速采取行动,并且可以消除或降低发生并发症的风险。有无数类似的例子来证明智能机器是如何促进决策的。
让我们看看定义的第二部分,*进行抽象思考。*什么是抽象思维?
抽象思维是理解真实概念的能力,如自由或脆弱,但这些概念与具体的物理对象和经历没有直接联系。
基于以上定义,你认为机器可以进行抽象思维吗?机器会知道自由的价值吗?机器能突然想到毫无意义的想法吗?机器能和一个 4 岁孩子的好奇心和创造力竞争吗?看看我是如何提问的。机器能像人类一样提问吗?
我不是回答这些问题的专家,我肯定不会回答“不”。也许,我们会在未来遇到能够进行抽象思考或理解情感背后更深层价值的技术。然而,到目前为止,我们还不能以我们定义智能的方式称现代机器为“智能的”。
但是,为什么智能机器被称为智能的呢?
让我们看看智能机器能做得非常好的事情。
机器可以在几秒钟内(如果不是几毫秒的话)处理大量的计算。机器在为基于具体思维(与抽象思维相反)的问题提供答案方面表现出色。机器在识别模式和执行重复性任务方面非常高效。
所有这些句子都归结到一件事上,那就是机器确实擅长(并且胜过人类)。他们快得惊人!
以 IBM 的深蓝为例,它在 1997 年击败了当时的国际象棋大师加里·卡斯帕罗夫(正如加里·卡斯帕罗夫自己所说,国际象棋是一种识别模式的游戏/运动)。深蓝使用算法每秒探索多达 2 亿个可能的棋位,然后选择最有可能成功的棋步。没错!每秒 2 亿种可能的棋位。我不认为任何人(或大师)会有时间,最重要的是,有耐心去探索那么多的棋位。机器拥有的这种能力只会随着时间而增长。著名的摩尔定律解释了它。此外,值得注意的是,深蓝主要依赖于对国际象棋游戏的编程理解。它不涉及人工智能的任何方面(如机器学习、深度学习等)。现代机器(如 IBM Watson )也包括这些方面。
机器非常擅长计算和识别模式。
在上面的例子中,你可能已经注意到深蓝使用了暴力算法。蛮力算法(Brute Force Algorithms)指的是一种编程风格,它不包括任何提高性能的捷径,而是依靠纯粹的计算能力来尝试所有可能性,直到找到问题的解决方案。强力算法的一个经典例子是旅行推销员问题(TSP)。这些不是非常有效的算法,因为有可能通过采用更聪明的算法(例如分治算法)来消除许多可能的组合。)
人工智能是一种将改变我们生活方式的技术,无论它是通过采用蛮力算法还是更聪明的算法来实现这一点。但是为什么围绕这项技术有负面的议论呢?
人工智能会接管我们的工作吗?
人工智能的一个典型反对者是围绕它出现的与人们的工作有关的消极性。简单来说,是的它要去。如前所述,机器在计算和模式识别(或执行重复任务)方面非常高效,任何特别涉及这两个方面的工作都将在人工智能的帮助下实现自动化。这项技术在未来一定会变得更便宜,雇佣一个人来做这项工作的成本将会增加,导致这种替代。这可能涉及制造过程、与办公桌相关的工作或无人驾驶汽车。一些替代品(如无人驾驶汽车)可能需要时间,但这将会发生。
但是如果我们真的看一下,机器一直在取代我们的工作。自从第二次工业革命以来,机器已经取代了人类。在这个过程中,一些工作岗位流失了,但也创造了许多新的工作岗位。考虑这个例子,二战前的大多数电梯是由电梯操作员使用连接到电机的变阻器手动控制的,直到 1950 年自动按钮开始取代它们。经营者工会的力量在 1920 年是 17000 人。它是如此强大,以至于当工会在 1945 年决定罢工时,它实际上瘫痪了城市。然而,这确实让他们付出了代价。随着自动按钮的出现,不仅工会的问题结束了,而且电梯变得更加安全。
类似地,机器取代了人类,整个职业在过去一夜之间消失了。即使在今天,我们也听到类似的担忧,比如无人驾驶汽车、机场的自助登机亭、餐馆里的 iPad 等等。这是人们关心的问题,因为适应新技术的再培训需要时间,当你发现自己适应现有技术时,你会看到新技术从窗外窥视。但如前所述,它也提供了大量新的就业机会。软件设计师、移动应用程序开发人员、数据科学家、3D 打印工程师等领域甚至在几年前还不存在。同样的趋势还在继续。
当然,观察者所说的自由和混乱,工人称之为失业。
尽管机器可以取代我们的工作,但它们永远不会降低人类的重要性。当“深蓝”击败加里·卡斯帕罗夫时,人们对国际象棋的未来有很多担忧。许多人当时认为,国际象棋将被机器主宰,游戏背后的热情将会减弱。事实是,现在下棋的人比以前多了。目前的国际象棋世界冠军芒努斯·卡尔森仍然以非常“人性化”的方式进行比赛。他依靠直觉的国际象棋定位技巧,这与下棋的“硅方式”非常不同。此外,由于智能机器的出现,现代年轻棋手的素质和技能有所提高。
类似的例子也可以在其他学科中找到。算法交易是金融领域的新兴技术。这是一种使用自动预编程交易指令执行订单的方法,考虑了时间、价格和交易量等变量。当满足某些条件时,算法本身可以买卖股票。开发这种交易是为了利用计算机相对于人类交易者的速度和数据处理优势。然而,这并没有降低人类交易专家的重要性。
我们不能忽视机器对我们的优势,因为那样做是幼稚的。取得进展的最佳方式是了解技术将提供什么,并找到正确的平衡点。如前所述,机器不能像人类那样提问。机器可以回答我们提出的问题(大多数情况下)。机器不擅长的另一件事是理解事物的背景。加里·卡斯帕罗夫在他的书深度思考中提供了一个理解相同的例子。想想这句话:
鸡肉太烫了,不能吃。
这个句子本身就充满了歧义。这可能意味着鸡生病了,也可能意味着它太辣了。然而,根据周围的环境和对话,一个人不可能不明白对方在说什么。最重要的是,人类将几乎立即理解含义和上下文(无需努力)。现在想象一个配备了自然语言处理的智能机器(有点像 IBM Watson)。机器将不得不在它的数据库中搜索单词,并不得不在数百万个单词中进行分类,以理解人类可以立即理解的东西。这是智能机器的另一个局限。尽管由于高处理速度,智能机器可能需要几秒钟来处理这些单词和上下文,但要注意的是它对机器的复杂程度。
因此,让机器执行某些人类可以毫不费力完成的任务仍然很复杂。
AI 会接管我们的世界吗?
这是知识界一直在思考的问题。甚至像斯蒂芬·霍金和埃隆·马斯克这样的人也表达了他们对此的担忧。
人工智能是一种工具,为人类进一步探索他们的生活和他们生活的这个宇宙提供了各种各样的选择。我们给机器编程来执行任务。我们让他们变得聪明。我们让他们能够“思考”。如果他们反对我们怎么办?他们有两种方法来反对我们。
每项新技术都有它的优点和缺点。考虑一把枪。一把枪在正确的人手中可以保护社会。幻想破灭或邪恶的人手中的枪会毁灭社会。人工智能也是一样。
如果使用得当,人工智能可以为我们提供数以百万计的新机会。然而,需要注意的是,我们对机器进行编程(至少到目前为止)。如果一个邪恶的人,配备了正确的知识来编程机器,最终建立了危害社会的算法。想象一下,一个黑客创造了一个智能算法,自动从银行账户中窃取所有数字货币,不留任何痕迹,这些钱被进一步用于促进恐怖活动。或者更糟的是,一个邪恶的思想给一个机器人编程,这个机器人的唯一目的就是以任何方式伤害人类。这是人工智能伤害我们的一种方式,这是一个令人担忧的问题,因为人工智能在未来将很容易被每个人使用。因此,它的能力可能会被错误的人利用。因此,社区决定向谁提供这项技术是非常重要的。
我们给机器编程,它们有时会给出不可预测的答案。如果机器开始自己编程会发生什么?这是人工智能伤害我们的第二种方式。这是可能发生的事情,但是也是可以避免的事情。如今,人工智能通常用于优化结果和流程。在计算机的所谓“记忆”中有一个特定的目标,它搜索所有可能的组合并得出最佳结果。如果一台自己编程的机器通过各种可能的组合发现,获得最佳结果的最佳行动方案是消灭人类,那会怎样?这对人类是不利的。它带回了我们讨论过的所有关于机器的限制。机器不理解上下文。机器不理解更深层的价值。机器不懂人类的价值。因此,我们必须在人类和机器之间找到正确的平衡。人们常说,
一个创新的人发明了飞机,但是一个聪明的人发明了降落伞。
我们可能会非常创新,并最终在未来发明非常智能的机器,但对我们来说,明智地设定机器不应该做什么的界限也很重要。这些边界可以是赋值的形式或一些其他条件。例如,在早期的国际象棋游戏算法中,棋子根据其重要性被赋值,最低值被分配给棋子,而最高值被分配给国王。然而,这是一个有缺陷的方法,因为基于这个场景,有时一个棋子比一个骑士更有价值,未来的算法使用了更明智的方法,但国王总是被赋予最大的价值。
类似地,也需要条件和决策——智能机器无法超越的规则。
结论
记住机器擅长什么,不擅长什么是非常重要的。一个完全依赖人工智能力量的世界将是一个没有创造力、好奇心和情感的世界。这就像完全根据一个孩子的数学成绩来决定她的能力一样。有必要找到平衡,因为记住机器不能有一个 4 岁孩子的好奇心,一个 4 岁孩子不能做复杂的计算。
感谢您的阅读。我真诚地希望它对你有所帮助,并且一如既往地欢迎建设性的反馈。
给我发邮件:【icy.algorithms@gmail.com
你可以在 LinkedIn 上找到我。
人工智能生态系统一团糟
艾瑞泽·艾
为什么无法理解 AI 公司到底在做什么?
交通混乱由 sladkozaponi 经 Shutterstock
人工智能在商业中的地位
在过去的几年里,人们急于找到如何将人工智能融入商业的方法,这样做可以提供巨大的比较优势,这已经不是什么秘密。但是,尽管大肆宣传,商业领域的人工智能仍然处于早期阶段。
我们的团队来自优步、谷歌、脸书和 Adobe,在那里我们看到了跨业务线部署人工智能的优势和挑战。大多数公司没有同样的资源来建立内部工具,深入衡量结果和资助广泛的研究。我们这个博客的目标是利用我们对人工智能领域的深入了解来理解生态系统,消除炒作,并提供可以帮助您在整个过程中做出人工智能投资决策的见解。
内部数据科学与外部合作伙伴
许多公司正在利用人工智能来颠覆商业领域,方法是将模型应用于各种商业垂直领域的常见商业问题。我们认为这些公司是垂直业务解决方案——他们销售由人工智能“驱动”的软件。他们针对客户服务、营销、财务和运营等各种团队,采用 SAAS 解决方案来解决他们的问题。另一类公司是销售软件解决方案的公司,这些软件解决方案可以增强您的数据科学、数据工程和 ML 工程团队的能力。
这篇博客的其余部分关注的是后一个领域的公司, AI/ML 基础设施公司,它们正在构建软件来帮助你的团队自己构建和部署模型。
人工智能领域的复杂性
我们从企业团队那里听到的第一个问题是,很难找出用人工智能解决的正确问题。即使他们找到了正确的问题,我们也经常听说他们开发的大多数模型都没有投入生产。这是一个很常见的问题,我们知道有一家公司在制造一个模型来预测其他模型是否真的能投入生产。你不得不怀疑这个模型本身是否能投入生产。
在不同的数据科学团队规模和扩展点上,您会发现数据科学组织出现了新的独特复杂性。有些复杂性实际上是以新形式出现的软件工程问题,而另一些则是这个领域特有的。所有这些都因旨在“帮助”数据科学的令人困惑的软件工具和解决方案套件而变得更加复杂。进入舞台左侧,这里有 100 多家公司正在推销令人困惑的软件解决方案,以“增强您的数据科学团队的能力”。
如何评价 ML/AI 软件公司
AI/ML 基础设施工具是一个极其拥挤的空间。我可以指出 100 多家公司提供超参数调优、部署、MLOps、治理、控制、审计、监管、可解释性、性能调优等服务。即使作为一个技术人员,我也曾被一些 ML 工具公司推销过,在一个小时的推销之后,我仍然不知道他们在做什么。
模糊的引用比比皆是,包括“实现人工智能规模”、“优化人工智能”、“赋予人工智能权力”、“控制你的人工智能”——但是这些软件解决方案实际上做了什么?
有一个简单的心智模型,我们用它来划分空间,放置解决方案,并打破炒作。
按作者列出的 ML 工作流阶段图
生产还是前期生产?
当你看 ML/AI 基础设施领域时,要做的第一个产品细分是预生产或生产。
预生产
- 该软件是否帮助您构建更好的模型、自动选择正确的模型、使模型构建过程可重复、审计模型构建、为模型构建产生更好的数据,或者跟踪训练运行?
生产
- 该软件是否有助于您将模型集成到业务中,将模型扩展到产品中,解决生产中的问题,为团队的其他成员解释结果,或者提供 A/B 有效的模型分析?
这种划分很重要的原因是,随着数据科学团队的成长,组织中不同的人最终负责生产而不是生产前。为一个功能/组织构建的软件解决方案不能很好地服务于整个组织的所有人。
建模工作流阶段
产品的下一个细分是产品在 ML 工作流程中的位置。概括地说,我们看到三个主要阶段—数据准备、模型构建和生产。
数据准备包括准备、标注和清理用于模型的数据。就使用人工智能模型而言,这是最大份额的时间和精力去的地方,并且它主要在数据工程师和数据辩论者的领域之下。
模型构建包括特征选择、训练管道、超参数调整、可解释性分析、生产前审计和评估。它通常由数据科学家承担。
最后是生产,包括部署模型进行推理(生成预测)、性能监控、故障排除和基于生产的可解释性。通常是在机器学习工程师圈子里。
ML 工作流的每一大类(数据准备、模型构建和生产)都有更深层次的特征。以下是对 ML 工作流程阶段的更详细的概述,包括每个阶段所需的产品功能,以及目前在这些垂直领域提供功能的公司。
作者的 ML 基础设施平台图
有一场激烈的争论,每个平台是否应该为深入垂直或水平解决方案量身定制。在接下来的博文中,我们将深入探讨该领域的各种垂直行业和产品。
人工智能公司推介说明
- 如果一个小公司推销一个在很多阶段做很多事情的产品,要怀疑他们只是想搞清楚他们的商业模式。
- 如果一个产品需要你颠覆你的模型构建和部署过程中的一切来产生价值,所创造的价值可能不值得被破坏和被锁定的风险。
- 应该将提高模型性能的产品推介与产生该价值的实现工作相比较。
下一个
我们将更深入地研究 ML 工作流程的生产环节。Arize AI 专注于使 AI 在生产中取得成功,我们很高兴分享更多关于如何获得模型最大价值的花絮。
联系我们
如果这篇博文引起了你的注意,并且你渴望了解更多,请在 Twitter 和 Medium 上关注我们!如果你想了解更多关于我们在艾瑞泽人工智能所做的事情,请通过contacts@arize.com联系我们。如果你有兴趣加入一个有趣的,摇滚之星的工程团队来帮助制作成功的模型,请通过jobs@arize.com联系我们!
参考
联系我们
如果这个博客引起了你的注意,并且你渴望了解更多关于机器学习可观察性和模型监控,请查看我们的其他博客和 ML 监控上的资源!如果您有兴趣加入一个有趣的 rockstar 工程团队,帮助模型成功生产,请随时联系我们,并在此找到我们的空缺职位!
人工智能工厂
运营端到端的人工智能生命周期,以大规模和高速度实现人工智能
Jan Starek 在 Unsplash 上拍摄的照片
就像实体工厂以可靠的规模和速度创造实体产品一样,人工智能工厂以可靠的规模和速度为企业提供人工智能解决方案。人工智能工厂将数据、人员、流程、产品和平台结合起来,超越科学实验,提供驱动商业价值的人工智能。人工智能工厂建立在为持续的人工智能成功创建一个坚实的信息架构的重要性之上。它结合了 DataOps、ModelOps 和 MLOps,以加速人工智能创新上市。
在这篇文章中,你将了解人工智能大规模成功的主要障碍,以及如何通过在人工智能工厂中结合数据、人员、流程、产品和平台来克服这些障碍。
Gartner 预测,到 2020 年,85%的首席信息官将试行人工智能计划(Gartner 报告 G00384355)。这代表了所有行业在数据科学和人工智能方面的巨大投资。然而,他们也报告说,超过 50%的数据科学和人工智能项目从未得到部署。
为了大规模实现人工智能,了解人工智能成功的阻碍因素很重要
2018 年的三大抑制因素是(1)数据和模型结果的信任和安全性,(2)从 POV 到生产的实施时间,以及(3)孤岛数据和分析工具的集成。
因此,主要的人工智能供应商开始与时间赛跑,以提供今天基于内置治理、血统、安全、偏见检测和可解释人工智能的平台——所有这些都是可信人工智能的必要工具。基于容器的架构、多云构建和部署、无代码仪表板和无代码部署缩短了生产时间。基于角色的协作平台包括各种流行的工具,可以加速共同创作。数据虚拟化显著降低了数据集成需求。DataOps、ModelOps 和 ML Ops 现在以大规模自动化人工智能的共同愿景补充了 devOps。随着新一代人工智能平台开始解决 2018 年确定的主要以技术为重点的抑制因素,人工智能成功的主要抑制因素开始发生变化。
一年后,商业领袖报告的前 3 个抑制因素专注于人员和业务影响,而不是技术:(1)拥有正确的技能,(2)了解人工智能的好处和用途,(3)能够定义实现业务目标所需的数据范围和质量。
从新的大学学位到学徒计划,新的技能计划出现了,以提高新的人工智能为重点的劳动力的技能。与此同时,新工具的出现降低了人工智能的准入门槛,最著名的是 AutoAI——能够自动构建和评估人工智能模型。创造了新课程来帮助教育人们人工智能的好处和用途。设计思维成为核心学科,被认为是定义数据范围和数据战略以实现业务目标的关键,而数据记者在让数据和人工智能背后的故事可供企业和公众消费方面取得了进展。
在当今可用的工具、技术、方法和角色过多的情况下,很难搞清楚从哪里开始,如何建立人工智能卓越中心(CoE),以及如何大规模运营人工智能,同时提高业务 KPI。
人工智能工厂方法通过关注数据、流程、产品、平台和人员这五大支柱,使混乱变得清晰。
通过将人工智能作为工厂来关注,而不是科学实验或概念验证商店,人们可以根据当前状态和未来方向创建优先的人工智能路线图,同时定义风险和成功标准,就像物理工厂或企业一样。
数据——AI 工厂的原材料。
就像实体工厂一样,你需要了解你的数据的供应链:数据来自哪里,供应商是否可信,数据将如何使用,哪些产品将由这些数据生产,数据的消费者是谁,以及消费者自己是否可以被信任以道德的方式使用数据。你还需要高效地存储数据,能够处理各种类型的数据,无论是结构化的还是非结构化的,并且能够发现人工智能流程所需的正确数据。在您的数据存储中,数据应该是可信的、可发现的、可共享的和可追踪的。DataOps 可在整个数据生命周期中实现敏捷的数据协作。今天,它是为你的人工智能工厂管理数据供应链的基本方法。
流程——就像原材料为生产产品的制造流程提供原料一样,数据为生产模型或人工智能服务的人工智能流程提供原料。
在考虑人工智能流程或管道时,一个常见的错误是只关注技术而忽视业务流程。有效的人工智能过程必须从考虑商业和市场对人工智能创新的需求开始。设计思维是一种很好的方法,可以与业务和技术利益相关者进行协调、规划和优先排序,并将业务 KPI 映射到数据科学指标。一旦建立了业务需求和度量标准,就必须就策略和工作流达成一致,以创建敏捷交付流程和 CI/CD 管道。MLOps 是管理人工智能工厂流程的首选方法,在数据科学和人工智能专家以及运营团队之间建立了联系。其他数据科学最佳实践包括尽早吸引业务利益相关方并保持他们的参与,投资顶尖人才以取得长期成功,以及在项目的 POC 阶段尽早询问运营问题以构建工厂。
产品——实体工厂以速度和规模生产产品,人工智能工厂以速度和规模生产模型、管道和其他人工智能资产。
就像实体企业一样,了解人工智能产品的市场需求很重要,无论是模型、管道还是其他人工智能资产。再次,设计思维是定义 AI“产品”的范围和用户体验的伟大工具。与任何产品一样,吸引赞助商用户并持续收集最终用户反馈非常重要。与汽车或电脑等主流产品不同,消费者还没有完全信任人工智能。因此,在你的人工智能产品中建立可解释性和偏见检测非常重要,这样非人工智能专家的人就可以理解为什么人工智能会建议某些行动或找到某些结果。与人工智能工厂的原材料(即数据)一样,人工智能工厂的产品(如管道、模型和服务)需要是可发现的、可共享的、可重用的和可销售的,以获得长期成功。ModelOps 是一种方法,可以确保从概念验证到生产的平稳过渡,并监控您的人工智能“产品”的性能和偏差。
平台——AI 工厂车间是数据和 AI 平台。
首先,AI 工厂平台必须是一个可信的环境,其中治理、可解释性和偏差检测都内置于平台中。AI 工厂资产(如数据、模型和管道)的发现、共享和重用是通过 AI 工厂目录实现的,它类似于物理工厂仓库和编目系统。
其次,AI 工厂平台支持所有在将 AI“产品”推向市场的过程中发挥作用的角色。因此,在一个促进协作的开放生态系统中,它包括了各种面向数据工程师、数据科学家、可视化专家、分析师和其他工厂角色的流行工具。它还包括降低构建人工智能产品门槛的工具,如 AutoAI、无代码仪表板和点击部署。
再次,AI 工厂平台支持从 POC 到生产的 AI 流程。它为沙盒、测试和生产提供了不同的环境,并提供了自助分析(如行业加速器)来加快生产速度。领先的人工智能工厂平台基于容器和 Kubernetes,可以自动扩展、管理和部署人工智能应用程序到任何云。
人——任何人工智能工厂成功的核心。
一个人工智能工厂需要一个拥有各种技能、角色和职责的团队才能成功,就像一个实体工厂一样。人工智能开发通常涉及跨职能或全栈技术团队。也就是说,重要的是不要把人工智能工厂仅仅看作一个技术商店,而是一个市场驱动的企业。在设计 AI 工厂时,考虑所有“要做的工作”,包括业务、AI 和 IT 利益相关者、数据科学家、数据工程师、数据记者、IT 支持、业务分析师、市场营销、运营和销售。为所有这些工作分配具有明确所有权、角色和职责的人员。与任何业务一样,驱动人工智能工厂的团队需要通过授权、认证、招聘和外包不断发展他们的集体技能,以成为他们市场的领导者。
当在 symphony 中结合数据、人员、流程、产品和平台时,人工智能工厂就有了生命。它不是一夜之间建成的,值得仔细规划和设计,以确保与 AI 的长期竞争优势。
为什么 GPU 这么强大?
人工智能图解指南
了解延迟与吞吐量之间的权衡,以及驱动现代 GPU 的架构变化
在《人工智能图解指南》的这一期中,我概述了为什么 GPU 对人工智能来说如此之快,以及其速度背后的解释。核心思想是优化吞吐量而不是延迟。为了理解这个概念,我用离线和在线教学进行了类比,然后概述了 CPU 和 GPU 是如何设计来支持延迟或吞吐量的。
最后,我将为您提供一个简单的过程来计算常见 CPU 和 GPU 的吞吐量和延迟,并简要概述如何在训练神经网络时利用这一巨大的吞吐量。
事不宜迟,我们来看一些插图:)
最快的学习方法是什么?
哪种学习方法最好?
聘请私人教师可以说是最快的学习方法,但也是最昂贵的。进入教室通常更便宜,同时仍然保留许多好处,例如可以直接提问。
然而,最实惠的选择是参加在线课程。这些缺乏教学的物理和个人方面,但所有内容都以视频格式提供给你,这允许你一遍又一遍地观看,直到你明白为止。然而,你被限制在拍摄的范围内。所有其他的,你必须自己搜索或在论坛上询问。
每种选择的利弊
尽管您可能有自己的偏好,但没有一个比其他的更好。他们都工作,他们都满足特定的需求。如果你很着急,请尽快聘请一位老师。如果你是为了好玩,网上课程可能就足够了。否则,选择传统的教室环境。
最重要的是,它们都可以一起使用来达到最佳效果。假设你不擅长语言,但是你需要学习西班牙语来获得一份工作。你可以注册一门西班牙语课程进行全面学习,聘请一名私人教师来跟上技术术语的速度,并在 Duolingo 周围进行一些额外的练习。
这一切都归结于您的用例场景。
延迟与吞吐量
- 等待时间:完成一个给定的任务需要多长时间
- **吞吐量:**一段时间内你能完成多少次任务
一个老师可以教一个人,也可以向整个大陆广播。
私人教师可以在一个月左右让你达到基本的中文水平,而在线课程可能需要五个月。这就是延迟。
在五个月内,私人教师只能教五个学生基础汉语,一个月一个。然而,在线课程可以在同一时期为数百万非中文使用者做同样的事情。这就是吞吐量。
**这是 CPU 和 GPU 的核心区别:**CPU 针对延迟进行了优化:以最快的速度完成一项任务;GPU 针对吞吐量进行了优化:它们速度较慢,但可以同时处理大量数据。
另一个类比是乘公交车和开车。在跑车里,你可以开得更快,更早到达目的地。但是,该车只能乘坐 2 至 5 人左右。这辆公共汽车虽然速度较慢,但最多可以载 80 人。在一天中,小汽车可以往返两次,载大约 10 个人,而公共汽车只能往返一次,但要载 80 个人。
为什么这对 AI 很重要?
机器学习是人工智能的一个子领域,其基本原理是提出一种具有若干输入和输出的学习算法,并让该算法找出输入与输出之间的关系。
例如,我们可以获得以前在线课程的每个学生的大量数据,并根据这些数据尝试了解一个人是否会完成课程。以后,这可以用来指导一个为未来班级提供奖学金的系统,支持那些有可能完成学业的学生。
机器学习的基本思想
该算法必须看到每个配置文件(及其结果)才能学习。算法每秒可以查看的档案越多,它学习的速度就越快。这就是 GPU 发挥作用的地方。CPU 可以非常快地研究一个概要文件,但它每分钟只能做几百个。另一方面,GPU 要慢得多,但一次可以评估几百个,每秒钟可以快速检查一千多个条目。这就是它训练更快的原因。
使用 GPU,我们可以一次提供几个训练实例
这也解释了为什么 GPU 经过训练后被认为是无效的。在现实世界中,这种算法可能每天只运行几次来处理收到的建议。因此,CPU 可以更快地处理这种负载。GPU 只有在有大量数据要处理时才会表现出色。
GPU 是如何工作的?
剩下要解释的一件事是,与 CPU 相比,GPU 如何能够获得如此高的吞吐量。答案在于它的架构。
每个现代处理器的底层架构
大多数现代处理器都遵循“冯·诺依曼架构”其基本原理是将处理器分成三个相互连接的部分:
- 控制单元,完成大部分工作,如决定下一步做什么操作,从内存中取出下一条指令等。
- 算术/逻辑单元(ALU) ,实现加、减、乘等运算。
- 存储单元,存储芯片处理的数据,如输入、输出和任何中间数据。
当前的 CPU 将这一概念发展为“多核”架构,在这种架构中,一个处理器有更小的“子处理器”,称为核心,负责实际工作。更大的处理器反过来使它们保持同步,管理共享内存,并处理与外界的通信。
GPU 背后的主要思想是控制单元大而昂贵,而算术单元则更简单、更便宜。因此,如果同一个控制单元可以命令几个 alu,它就可以操作更大的数据块,但所有 alu 必须服从相同的命令。换句话说,他们必须做同样的事情。
这张图展示了 GPU 如何用“控制”换取“运算能力”每个 16 个 alu 的块被限制为在 16 对操作数上处理相同的指令。它们不像 CPU 内核那样功能多样,但可以批量处理大量数据。
此外,GPU 并不是完全没有灵活性。还有中央控制单元,它同步所有的子处理器,每个子处理器可以执行不同的任务。不可能的是同一组 alu 并行做多件事。例如,“if”语句对于 GPU 来说成本很高。
这张图还显示了一个显著的区别:GPU 是巨大的芯片。几十年来,CPU 都被限制在相同的外形规格上。最好的英特尔或 AMD 芯片和最差的一样大。GPU 就不是这样了。低端 GPU 明显比高端 GPU 更小、更弱。理论上,我们可以通过加大图形处理器的尺寸来制造更快的图形处理器。
计算延迟和吞吐量
让我们做一个简单的比较:最好的消费级锐龙处理器与最好的英伟达游戏 GPU 相比表现如何?
据我所知,最好的锐龙 CPU 是 Threadripper 2990X,它支持 32 个内核,每个内核能够运行两个独立的线程,时钟频率为 3 GHz,最高可达 4.2 GHz。
与此同时,英伟达 RTX 2080 TI GPU 拥有令人印象深刻的 4352 个 alu 和 1.350 GHz 的基础时钟,可以提升到 1.545 GHz。
两位勇敢的芯片设计冠军
为了比较这两款设备,我们使用了它们每秒可以处理的浮点运算的最大理论数量。此指标衡量设备的最大可能性能。
对于 CPU,我们将假设所有 64 个线程的完美使用,每个线程同时处理 8 个浮点值(使用 AVX 指令),并且每个时钟周期以其最高的时钟速率处理两个指令。GPU 也是如此。它有 4352 个内核,每个内核都能够进行一次浮点计算,以峰值时钟速率在每个时钟周期进行两次运算。
这就引出了下面的数学公式:时钟乘以效率乘以 ALUs:
因此,2080TI GPU 理论上大约是锐龙 CPU 速度的三倍。然而,实际上,它要快得多。使用 CPU 达到峰值利用率是一场噩梦,而在 GPU 上,这相对更简单。
或者,每个器件的延迟主要由它的速度决定,也就是它的时钟频率。CPU 的时钟频率为 4.2 GHz,而 GPU 仅落后约 1.5 GHz,几乎比慢三倍。
所以,一个不比另一个好;它们服务于不同的目的。
在深度学习中使用
末端带有密集分类器的典型卷积神经网络
深度学习都是处理张量:多维数组。例如,256×256 分辨率的一组 8 个 RGB 图像可以表示为 8×256×256×3 形状的张量。要应用 64 个大小为 3x3 的过滤器,我们需要计算大约 905,969,664 次浮点运算,而这只是我们网络的第一层。
难怪 GPU 擅长训练深度神经网络。它有大量的数据要处理,而且处理相当有规律。因此,它充分利用了巨大的运算能力,同时几乎不需要控制,这是 GPU 的薄弱环节。
在本系列的下一期文章中,我计划概述 ROC 曲线和正则化的概念。到目前为止,这是该系列的第二篇文章,是第一篇关于分类指标的文章,即准确性、敏感性、特异性、精确度和召回率。如果你喜欢这个系列,并希望看到一个特定的主题,请在评论中告诉我。
如果您对本文有任何问题,请随时发表评论或与我联系。如果你刚接触媒体,我强烈推荐订阅。对于数据和 IT 专业人士来说,中型文章是 StackOverflow 的完美搭档,对于新手来说更是如此。注册时请考虑使用我的会员链接。
感谢阅读:)
AI 革命来了。只是和我们预想的不一样。
商业科学
仅仅因为人工智能还不足以成为科幻小说,并不意味着它已经不是革命性的了
两年前,伯克利计算机科学教授和人工智能专家迈克尔·I·乔丹写了一篇文章警告不要夸大人工智能的说法。他宣称人工智能革命是我们只能希望在未来实现的东西。我认为革命已经开始了。只是看起来不像科幻小说一直描绘的那样。
艾:“智力通配符”
正如乔丹在他的文章中正确指出的那样,“人工智能”或“AI”一词被广泛应用于如此多的技术,以至于它实际上已经变得毫无意义。
“当前关于这些问题的公共对话经常使用“人工智能”作为智能通配符,这使得人们很难对新兴技术的范围和后果进行推理。”
迈克尔·乔丹,“人工智能——革命尚未发生”
这是一个“智力通配符”,可以用来讨论任何基于逻辑或推理的任务,这些任务以前由人类完成,现在计算机可以完成。诸如自然语言处理、神经网络,甚至像模式识别这样的低级功能的算法经常被包括在人工智能的讨论中。
你们撒了这么广的网,难怪 AI 辜负了我们的期望。除非创造出与人类推理能力相当的人工智能,否则任何人工智能看起来都不会发挥出它的潜力。不幸的是,忽视不值得科幻小说的人工智能限制了我们利用已经存在的真正革命性的人工智能。
历史上,人工智能的最终目标一直被视为创造一个完全独立的推理机器。这种自主的人工智能是一个伟大的最终目标,但我们不必等待这种可能性来认识到这场革命。人工智能增强了人类的智能,使我们能够根据数据做出更有效的决定,这已经是对传统决策的巨大改进。
尽管人们以前被限制在任何个人都可以有效收集和处理的有限信息量的决策中,但人工智能允许人们聚集所有相关信息并快速理解其含义。虽然人们可能无法完全从这个过程中解脱出来,但决策会变得更加有效。这是革命性的——我认为这是人工智能的最佳用途。
革命性人工智能
图片由 ytang3 提供,经 CC BY-SA 2.0 授权
当我们允许人工智能的目标是自动化和优化人类决策,而不是将人类从等式中删除时,自乔丹写下他的文章以来,我们在人工智能方面取得的进展变得更加清晰。以胎儿超声波为例。Jordan 的文章以一个故事开始,说明了人类有效利用数据、统计、技术和医学信息评估产前护理风险的局限性。因为在为孕妇和胎儿选择最佳护理计划的过程中涉及到如此多的因素,所以危险的误判是常见的。
然而,就在这篇文章发表五个月后,研究人员发布了一个人工智能系统,旨在评估超声波,以检测和诊断心脏异常。该系统将在评估所有使医生难以做出最佳建议的复杂性后,推荐治疗计划。医生和患者对医疗决策拥有最终控制权,但由于人工智能的创新,他们的信息更加灵通。用来说明人工智能缺点的确切问题已经发生了革命性的变化——没有人建议在没有最终决定权的情况下使用人工智能。还可以提供许多其他示例,例如通过手表和电话监控慢性病(如糖尿病)。
过去两年人工智能的进步帮助人们做出更好的决定,并不局限于医疗领域。商业也发生了类似的转变。埃森哲申请了一项进行即时支出分析的技术专利,允许用户对财务变化做出更敏捷的反应。一家新的时尚公司 Glitch 利用人工智能产生独特的设计想法,但让设计师们留在现场,对吸引消费者的东西做出最终决定。
我所在的 Evo 公司是建立在从自动化决策中创造价值的理念之上的。大多数公司过去都是根据历史数据和过去的销售来计算需求预测,但我们的人工智能允许这些评估包括来自更广泛来源的实时数据。这将预测准确率平均提高了 36%。人类基于这些预测做出关键的商业决策,但他们有比他们的勇气更好的选择基础。
作为人机联盟的人工智能
无论如何,保持人工智能的自主性并不一定会改善结果。人工智能推荐的准确性通常会随着额外的主观人类输入而提高。例如,当商店经理可以在有限的范围内调整库存建议时,我们的供应链算法可以提供更准确的需求预测。为什么?随着时间的推移,人们对客户需求有一种难以言喻的地方层次的理解,这种理解很难量化。
通过将人工智能计算的能力与人类直觉相结合,我们将预测准确度比自主生成的人工智能预测提高了 5%。我们当然不能保证人工智能模型中任何特定的人类干预都会产生同样的积极影响;人类的偏见定期在人工智能中复制自己。然而,人类与人工智能合作的总体影响是积极的。正是在这里,我们实现了创新,称得上是一场革命。
当你考虑通过人工智能已经可能的事情和每天变得新可能的事情时,很明显我们已经在人工智能领域达到了一个临界点。每天都有新的学术和商业应用出现。人工智能的发展可能会偏离我们的预期,但这并不影响我们已经取得的巨大进步。
Fabrizio Fantini 在 Evo 拍摄的图片
重新定义人工智能革命
乔丹明智地建议说,围绕完全自主的人工智能的大肆宣传正在阻碍我们看到将人工智能作为一种智能增强手段所带来的机会。人类直觉和机器计算能力的结合最有可能解决我们紧迫的社会问题。然而,他认为这意味着我们还没有开始人工智能革命,这是错误的。我们利用人工智能来帮助人们做出更理性、更明智的决定,这本身就是革命性的一步。
AI 革命来了。原来我们和机器是站在同一边的。
想了解更多关于数据科学革命的信息吗?看看这些文章。
通用的流量检查流程
towardsdatascience.com](/evoflow-why-we-preferred-our-own-solution-to-airflow-cdd6d187784a) [## 数据科学已经死了。商业科学万岁!
任何人都可以从不起眼的鲑鱼身上学到的 5 课
towardsdatascience.com](/data-science-is-dead-long-live-business-science-a3059fe84e6c)
人工智能信任危机:如何前进
在多年的大肆宣传和享受发现的独创性之后,世界进入了一场人工智能信任危机。
数据和模型中的社会、种族和性别偏见已经成为机器学习行业和社会的一个主要问题。
最近,麻省理工学院取消了对一个流行的计算机视觉数据集的公开访问,因为一组研究人员发现它带有社会偏见,带有厌恶女性和种族主义的标签。
在微小图像中的这一发现,一个8000 万图像数据集,是社会偏见如何扩散和传播到机器学习数据集和项目的完美例子。1985 年,普林斯顿大学的语言学和心理学研究人员为英语制作了一个语义词典,名为 WordNet ,它已被广泛用于自然语言处理任务。基于 WordNet,麻省理工学院的科学家在 2006 年发布了微型图像,这是一个图像数据集,由互联网上与 WordNet 单词相关的图像搜索汇编而成。由于 WordNet 最初是基于性别和种族偏见的,所以与收集的图像相关的微小图像标签也是如此。
就在几周前, Pulse ,一个自我监督照片上采样的生成模型,在人工智能模型中制造了许多噪音和对偏见的担忧,因为美国前总统巴拉克·奥巴马的像素化图像被 Pulse 转换成了一个白人的高分辨率图像。
*PULSE 模型将像素化的人脸转换成高分辨率的图像,通过将巴拉克·奥巴马的脸变成白人的脸,带有种族偏见。*图片: Twitter / @Chicken3gg
这两个例子是人工智能中偏见问题的体现,并显示了这个问题的复杂性,远远超出了数据和模型。这是一个全球性问题,需要从多个角度加以解决,而不仅仅是技术上的修补。
如何解决偏见问题?
这项技术的发展很快,但可以肯定地说,可以通过多种方式将数据偏差的影响降至最低。没有神奇的药丸。
脸书的首席人工智能科学家 Yann LeCun 解释说,处理偏差最直接的方法是意识到数据中的不平衡,并通过平衡不同类别样本的频率来解决它。根据 LeCun 的说法,这是脸书在其人脸识别系统中使用的方法。为了说明这一点,LeCun 喜欢用这样的类比:
“如果你去医学院,你不会花时间研究普通流感和一些罕见疾病在患者中的发生率。你在罕见疾病上花费了相对更多的时间,因为你需要为它们开发“功能”——扬·勒昆
深度学习系统中的偏差是这样一个问题,因为由于损失的非凸性,它们不会学习和创建罕见类别的特征,而这不会发生在例如逻辑回归中。
最近的一篇论文提出了一种新的方法,通过“T2 不变风险最小化”来识别和最小化偏倚。简而言之,这种方法旨在训练机器学习模型,以估计多个训练分布之间的不变相关性。
偏见不是唯一的担忧
这些最近的事件重新开启了关于可信人工智能的辩论:使用人工智能模型的机构和个人必须重新考虑他们制作、开发和部署人工智能的方式。无论是不是基于人工智能的系统,消费者和公民都需要相同级别的权利和安全。今天,人工智能并没有被人们自然地接受,大部分时间都有一种不信任在它周围徘徊。人工智能的道德使用成为信任的先决条件。
是时候打破这些担忧,改变我们制造信息产业的方式了。
在欧洲,监管机构正在研究这个问题,他们在 2019 年 4 月发布了一套针对可信人工智能的道德准则。
2018 年,欧洲已经成立了一个关于 AI 的高级专家组(AI HLEG),发布可信 AI 的伦理准则。来源:欧盟委员会
根据指南,可信人工智能应围绕三大支柱展开:
- 道德:尊重和拥护道德原则和价值观
- 坚固性:从技术和社会角度来看,安全可靠
- 合法:尊重所有适用的法律法规
欧盟可信人工智能指南。
围绕这些支柱,欧盟监管机构定义了七个 实用的关键要求,任何人工智能系统都应该满足这些要求才能被贴上可信的标签。
- 人类监督:人工智能系统必须让人类保持在循环中,提供洞察力,让他们在保护他们的权利和尊重他们的价值观的同时做出明智的决定。
- 技术稳健性和加工安全性:弹性和安全性也是一个主要问题。对可靠性、准确性和再现性提出了更高的要求。人工智能系统不能再独立存在了,它们必须伴随着一个备份系统,以防出现问题。
- 隐私和数据治理:除了数据治理以保证数据质量、完整性和可信的数据访问之外,尊重隐私和数据保护也是实现信任的必要条件。
- 多样性、非歧视和公平:正如本文开头部分所述,偏见会造成巨大影响,从歧视到对特定人群的偏见。值得信赖的人工智能必须避免设计偏见。欧盟监管机构还指出,对人工智能系统的访问必须是普遍的,没有歧视,无论残疾与否,并涉及人工智能系统生命周期的所有各方。
- **环境和社会影响:**可持续发展是这一关键要求的核心。随着深度学习模型所需的计算能力不断增加,对绿色人工智能的主要担忧在过去几年中有所增加。人工智能系统必须是“绿色”的,造福于所有人,包括后代,同时考虑到环境和其他生物和物种,并认真意识到它们的社会影响。
- 责任:通过人工智能审计,重点关注算法、数据和设计,确保人工智能系统及其结果的责任和责任。
- 透明性:可追溯性和可解释的人工智能有助于实现对人工智能系统决策的信任。必须清楚地解释和记录能力和限制。必须通知人类他们直接与人工智能系统连接,或者他们的数据正被人工智能系统使用。
在系统的整个生命周期中实施可信人工智能—来源:可信人工智能道德准则,欧盟委员会
“基于这项工作,我们现在可以向前推进,建立一个监管框架,让每个人都可以从值得信赖的人工智能中受益。”—内部市场专员 Thierry Breton
如何往前走,解决 AI 信任危机?
这 7 个关键原则可以作为审计人工智能系统价值链的切入点,从概念到部署和维护。
欧盟委员会发布的这份文件的主要附加价值在于,它提出了一系列实际问题,以落实我已经提到的关键原则。
这个值得信赖的人工智能评估列表,阿尔泰,对于任何想要迈出第一步并向前迈进以解决我们今天面临的人工智能信任危机的公司或个人来说,都是一个伟大的举措。它将指导方针转换成一个可访问的和实用的清单,AI 的赞助者、开发者和部署者可以使用它来快速审计他们的 AI 系统。阿尔泰有一个文档版本,还有一个基于网络的工具(原型版本)。
迈向人工智能的可信赖性是下一个十年的挑战——Glenn Carstens-Peters 在 Unsplash 上的照片
建议采用技术和非技术方法,以确保在人工智能系统的设计、开发和运行阶段引入可信的人工智能。
任何公司的出发点都是定义其在使用人工智能方面的道德价值观和责任,并在行为准则中加以说明。这应该转化为治理原则,关键原则应该锚定在人工智能系统的架构设计中。一个关键点是通过人工智能风险管理工具和协议来识别、评估和管理风险。规则、过程和控制程序将建立可信的人工智能框架。随着时间的推移,对模型和 KPI 的监控有助于检测数据或性能漂移,并对潜在偏差发出警告。
生态系统也将发展,重点是人工智能系统的监管、标准化和认证,但也通过教育和意识培养道德思维,所有利益相关者参与和社会对话,多样性和包容性设计团队。
人工智能审计方法,将在未来几年蓬勃发展,当然,专门从事人工智能审计和认证的公司将出现在市场上。毫无疑问,值得信赖的人工智能有一个巨大的市场,各公司将蓬勃发展,将其作为一种差异化特征,从竞争对手中脱颖而出。
我真的希望这篇文章将提高人们对向前迈进的重要性和紧迫性的认识,并开始思考,设计和实施这些道德建议到我们日常的人工智能从业者的工作中。
你的,托马斯
算法不是产品
为什么我认为数据科学家应该学习更多关于制造好产品的知识
一名男子正在看白板。
我在这个行业学到的第一个教训是,即使我们构建高度复杂的算法来解决特定的问题,这些工具也需要被客户使用。无论是内部的还是外部的,客户端需要的不仅仅是一段精心构建、打包和部署的代码。
换句话说,这个产品不仅仅是一个算法,它是一个完整的系统,让你的用户从中获得巨大的价值。构建一个以算法为核心的产品并不是一件容易的事情,它需要许多团队的合作,例如产品经理、开发人员、研究人员、数据工程师、开发人员、ui\ux 等…
制造一个产品依赖于研究方法,你反复地假设(基于先验或后验知识),测量,推断见解和调整产品,直到你达到产品适合市场。这是一场与未知的无休止的战斗,除了过程之外,没有任何承诺。过程越好,你得到好产品的机会就越大。
然而,我们往往会忘记这一点。
以下是应该强调的几点,即除了数据科学考虑之外,我们还需要重视产品的情况。
面试
当面试一名新的数据科学家时,我们通常会询问过去的研究、算法、方法,并引入一个候选人需要解决的看不见的动手研究问题。
作为招聘经理,我们应该真正考虑从 DS 的角度询问与产品相关的问题,我们应该查看家庭作业,并询问相关问题,为什么候选人做出与产品相关的某些数据或算法决策。例如,询问与产品问题相关的特征工程选择。诸如“为什么他们选择包含特性 X 而不是 Y”或“为什么他们选择以某种方式处理特性 Z”的决策。
最初的模型
对于许多组织来说,应该投入生产的第一个模型是最简单的算法,通常被描述为“基于规则”的模型或“80–20”模型。在进入研究阶段之前放置这样一个基本模型的动机通常是,允许开发人员、开发人员和其他团队为新模型创建一个支持性的基础设施,然后 DS 将致力于一个“真正的”模型来代替临时的替身。
从 DS 候选人那里听到这个想法或由当前的 DS 执行它是非常重要的。它显示了对一个组织需要提前做好准备的深刻理解。它允许项目经理并行地促进和推动相关任务,允许我们更加敏捷,并且它鼓励非产品人员理解产品。
决策模型
有些考虑事项应该由候选人提出或由您的 DSs 实践。用 balance=true 来训练一个算法,以便对不平衡的数据集进行正则化,这是一个产品决策,应该由数据科学家来决定。他应该问产品经理,这些课程对于手头的问题是否同样重要,或者我们是否希望在更大的课程中表现得更好?
这类问题是我们在面试过程中也应该问候选人的重要问题,在询问他是否能描述他所知道的关于平衡类的所有方法(过采样、欠采样、损失正则化、合成数据等)之后,我们应该立即问候选人…).
这里我也简单说一下。
与项目经理的合作
在我们的数据科学(DS)领域,我们与产品经理(PM)紧密合作,以实现这一令人垂涎的目标。我们与不同的团队有许多摩擦点,但最重要的是与 PM 的摩擦点,如图 1 所示。
图 1:与业务和产品一起工作时的建议流程
考虑一个需要达到或优化的业务-产品(BP) KPI,以及一个需要找到合适的 DS-KPI 的数据科学家,它最大限度地服务于 BP-KPI。这是我们最大的挑战之一,并且经常被所有利益相关者忽略。下图(图 1)显示了一个工作流,该工作流允许进行迭代研究,以优化这两种类型的 KPI,允许与业务、产品和数据科学进行协作。
你可以在这里阅读更多关于我管理这个摩擦点的方法。
不要爱上你的算法
我们努力完善我们的算法,确保它们得到适当的优化,但是,很多时候,系统中的某些人会改变主意,或者没有正确地研究市场,而您为某个功能构建的算法是不需要的,或者没有按预期执行。一个常见的错误是推动、尝试修正或重新调整算法。然而,更明智的做法可能是放手,根据新产品需求,从零开始使用新的算法。这将你从以前的约束中解放出来,对你在组织中的团队来说是战略上的好事。
我希望这些想法将允许专业决策支持系统在开始一个新项目或向产品添加新功能时探索更多关于产品管理的知识,更加敏捷,并有希望帮助处理业务经理、产品经理、数据科学家和研究人员之间的复杂关系。
我要感谢我的同事,纳塔内尔·达维多维茨和 T2·塞菲·凯勒审阅了这篇文章。
Ori Cohen 博士拥有计算机科学博士学位,主要研究机器学习。他是新遗迹 TLV 的首席数据科学研究员,在 AIOps 领域从事机器和深度学习研究。
网络抓取的替代方案
更快、更有效地检索 web 数据的“懒惰”程序员指南
弗洛里安·奥利佛在 Unsplash 上拍摄的照片
懒惰的程序员
Perl 编程语言的作者拉里·沃尔认为,程序员有三大美德;懒惰、急躁和傲慢:
懒惰:让你下大力气降低整体能量消耗的品质。它让你编写省力的程序,其他人会觉得有用,并记录你写的东西,这样你就不必回答这么多关于它的问题。
比尔·盖茨呢:
我选择一个懒惰的人去做艰苦的工作。因为一个懒惰的人会找到一个简单的方法去做。
诚然,web 抓取可能是一个相当简单的编程问题:在文档的源代码中搜索惟一的标识符并提取相关数据。然而,我认为,通常有一个更简单、更快、能产生更多数据的“更懒惰”的解决方案。
网页抓取示例
一个比较好的金融数据网站是雅虎财经。这使得它成为金融爱好者搜索网页的主要目标。在 stack overflow上几乎每天都有问题涉及到来自雅虎财经的某种数据检索(通常是通过网络搜集)。
网络抓取问题#1
我是 python 初学者,但我喜欢通过测试和尝试来学习这门语言。所以有一个雅虎网络刮刀…
stackoverflow.com](https://stackoverflow.com/questions/62629614/trying-to-test-a-code-that-scrap-from-yahoo-finance)
OP 试图找到特定股票脸书的当前价格。他们的代码如下:
该代码产生了以下输出:
the current price: 216.08
这是一个非常简单的问题,也是一个简单的网络抓取解决方案。但是,还不够懒。我们来看下一个。
网络抓取问题#2
我发现了这个有用的代码片段:使用 BS4 对雅虎财务统计数据进行网络搜集,我已经按照…
stackoverflow.com](https://stackoverflow.com/questions/62618756/web-scraping-yahoo-finance-statistics-code-errors-out-on-empty-fields)
OP 试图从统计数据选项卡中提取数据,即股票的企业价值和股票做空的数量。他的问题实际上围绕着检索可能存在也可能不存在的嵌套字典值,但是他似乎已经找到了一个更好的检索数据的解决方案。
看一下第 3 行:OP 能够在 javascript 的一个变量中找到他正在寻找的数据:
root.App.main = { .... };
从那里,通过访问字典中适当的嵌套键data
,可以非常简单地检索数据。但是,你可能已经猜到了,有一个更简单、更懒惰的解决方案。
懒惰解决方案#1
看看第三行的 URL
输出:
{
'quoteSummary': {
'error': None,
'result': [{
'price': {
'averageDailyVolume10Day': {},
'averageDailyVolume3Month': {},
'circulatingSupply': {},
'currency': 'USD',
'currencySymbol': '$',
'exchange': 'NMS',
'exchangeDataDelayedBy': 0,
'exchangeName': 'NasdaqGS',
'fromCurrency': None,
'lastMarket': None,
'longName': 'Facebook, Inc.',
'marketCap': {
'fmt': '698.42B',
'longFmt': '698,423,836,672.00',
'raw': 698423836672
},
'marketState': 'REGULAR',
'maxAge': 1,
'openInterest': {},
'postMarketChange': {},
'postMarketPrice': {},
'preMarketChange': {
'fmt': '-0.90',
'raw': -0.899994
},
'preMarketChangePercent': {
'fmt': '-0.37%',
'raw': -0.00368096
},
'preMarketPrice': {
'fmt': '243.60',
'raw': 243.6
},
'preMarketSource': 'FREE_REALTIME',
'preMarketTime': 1594387780,
'priceHint': {
'fmt': '2',
'longFmt': '2',
'raw': 2
},
'quoteSourceName': 'Nasdaq Real Time '
'Price',
'quoteType': 'EQUITY',
'regularMarketChange': {
'fmt': '0.30',
'raw': 0.30160522
},
'regularMarketChangePercent': {
'fmt': '0.12%',
'raw': 0.0012335592
},
'regularMarketDayHigh': {
'fmt': '245.49',
'raw': 245.49
},
'regularMarketDayLow': {
'fmt': '239.32',
'raw': 239.32
},
'regularMarketOpen': {
'fmt': '243.68',
'raw': 243.685
},
'regularMarketPreviousClose': {
'fmt': '244.50',
'raw': 244.5
},
'regularMarketPrice': {
'fmt': '244.80',
'raw': 244.8016
},
'regularMarketSource': 'FREE_REALTIME',
'regularMarketTime': 1594410026,
'regularMarketVolume': {
'fmt': '19.46M',
'longFmt': '19,456,621.00',
'raw': 19456621
},
'shortName': 'Facebook, Inc.',
'strikePrice': {},
'symbol': 'FB',
'toCurrency': None,
'underlyingSymbol': None,
'volume24Hr': {},
'volumeAllCurrencies': {}
}
}]
}
}the current price: 241.63
懒惰解决方案#2
再次查看第 3 行的 URL
输出:
{
'quoteSummary': {
'result': [{
'defaultKeyStatistics': {
'maxAge': 1,
'priceHint': {
'raw': 2,
'fmt': '2',
'longFmt': '2'
},
'enterpriseValue': {
'raw': 13677747200,
'fmt': '13.68B',
'longFmt': '13,677,747,200'
},
'forwardPE': {},
'profitMargins': {
'raw': 0.07095,
'fmt': '7.10%'
},
'floatShares': {
'raw': 637754149,
'fmt': '637.75M',
'longFmt': '637,754,149'
},
'sharesOutstanding': {
'raw': 639003008,
'fmt': '639M',
'longFmt': '639,003,008'
},
'sharesShort': {},
'sharesShortPriorMonth': {},
'sharesShortPreviousMonthDate': {},
'dateShortInterest': {},
'sharesPercentSharesOut': {},
'heldPercentInsiders': {
'raw': 0.0025499999,
'fmt': '0.25%'
},
'heldPercentInstitutions': {
'raw': 0.31033,
'fmt': '31.03%'
},
'shortRatio': {},
'shortPercentOfFloat': {},
'beta': {
'raw': 0.365116,
'fmt': '0.37'
},
'morningStarOverallRating': {},
'morningStarRiskRating': {},
'category': None,
'bookValue': {
'raw': 12.551,
'fmt': '12.55'
},
'priceToBook': {
'raw': 1.3457094,
'fmt': '1.35'
},
'annualReportExpenseRatio': {},
'ytdReturn': {},
'beta3Year': {},
'totalAssets': {},
'yield': {},
'fundFamily': None,
'fundInceptionDate': {},
'legalType': None,
'threeYearAverageReturn': {},
'fiveYearAverageReturn': {},
'priceToSalesTrailing12Months': {},
'lastFiscalYearEnd': {
'raw': 1561852800,
'fmt': '2019-06-30'
},
'nextFiscalYearEnd': {
'raw': 1625011200,
'fmt': '2021-06-30'
},
'mostRecentQuarter': {
'raw': 1577750400,
'fmt': '2019-12-31'
},
'earningsQuarterlyGrowth': {
'raw': 0.114,
'fmt': '11.40%'
},
'revenueQuarterlyGrowth': {},
'netIncomeToCommon': {
'raw': 938000000,
'fmt': '938M',
'longFmt': '938,000,000'
},
'trailingEps': {
'raw': 1.434,
'fmt': '1.43'
},
'forwardEps': {},
'pegRatio': {},
'lastSplitFactor': None,
'lastSplitDate': {},
'enterpriseToRevenue': {
'raw': 1.035,
'fmt': '1.03'
},
'enterpriseToEbitda': {
'raw': 6.701,
'fmt': '6.70'
},
'52WeekChange': {
'raw': -0.17621362,
'fmt': '-17.62%'
},
'SandP52WeekChange': {
'raw': 0.045882702,
'fmt': '4.59%'
},
'lastDividendValue': {},
'lastCapGain': {},
'annualHoldingsTurnover': {}
}
}],
'error': None
}
}{'AGL.AX': {'Enterprise Value': '13.73B', 'Shares Short': 'N/A'}}
懒惰的替代方法只是将请求从利用前端 URL 更改为某种非官方的 API 端点,后者返回 JSON 数据。它的更简单并导致更多数据!那么速度呢(我很确定我承诺了更简单、更多数据、和更快的选择)?让我们检查一下:
web scraping #1 min time is 0.5678426799999997
lazy #1 min time is 0.11238783999999953
web scraping #2 min time is 0.3731000199999997
lazy #2 min time is 0.0864451399999993
懒惰的替代品比他们的网页抓取对手快 4 到 5 倍!
你可能会想,“这很好,但是你在哪里找到这些网址?”。
懒惰的过程
考虑我们在上面走过的两个问题:在数据被加载到页面中之后,我们试图检索数据的操作。更懒惰的解决方案直接进入数据源,根本不关心前端页面。这是一个重要的区别,而且我认为,当你试图从一个网站提取数据时,这是一个很好的方法。
步骤 1:检查 XHR 请求
XHR (XMLHttpRequest)对象是一种可用于 web 浏览器脚本语言(如 JavaScript)的 API。它用于向 web 服务器发送 HTTP 或 HTTPs 请求,并将服务器响应数据加载回脚本。基本上,它允许客户端从 URL 中检索数据,而不必刷新整个页面。
我将在下面的演示中使用 Chrome,但其他浏览器也有类似的功能。
- 如果你想跟随,导航到https://finance.yahoo.com/quote/AAPL?p=AAPL
- 打开 Chrome 的开发者控制台。要在 Google Chrome 中打开开发者控制台,请打开浏览器窗口右上角的 Chrome 菜单,然后选择更多工具>开发者工具。也可以使用快捷键选项+ ⌘ + J(在 macOS 上),或者 Shift + CTRL + J(在 Windows/Linux 上)。
- 选择“网络”选项卡
- 然后按“XHR”过滤结果
- 你的结果将是相似的,但不是相同的。你应该注意到有一些请求包含“AAPL”。让我们从调查这些开始。单击最左侧列中包含字符“AAPL”的链接之一。
- 选择其中一个链接后,您将看到另一个屏幕,提供您选择的请求的详细信息。第一个选项卡 Headers 提供了浏览器发出的请求和服务器响应的详细信息。您应该立即注意到 Headers 选项卡中的请求 URL 与上面的惰性解决方案中提供的非常相似。看来我们走对了路。
- 如果您选择预览选项卡,您将看到从服务器返回的数据。
- 完美!看起来我们找到了获取苹果 OHLC 数据的网址!
第二步:搜索
现在我们已经找到了一些通过浏览器发出的 XHR 请求,让我们搜索 javascript 文件,看看是否能找到更多信息。我发现与 XHR 请求相关的 URL 的共同点是“query1”和“query2”。在开发者控制台的右上角,选择三个垂直点,然后在下拉列表中选择“搜索”。
在搜索栏中搜索“query2 ”:
选择第一个选项。将弹出一个额外的选项卡,其中包含找到“query2”的位置。您应该注意到这里也有类似的东西:
这与 web 抓取解决方案#2 用来提取数据的变量相同。控制台应该为您提供一个“漂亮打印”变量的选项。你可以选择那个选项,或者将整行(上面的第 11 行)复制并粘贴到类似于https://beautifier.io/的地方,或者如果你使用 vscode ,下载美化扩展,它会做同样的事情。一旦正确格式化,将整个代码粘贴到文本编辑器或类似的地方,然后再次搜索“query2”。您应该在名为“ServicePlugin”
的东西中找到一个结果。该部分包含 Yahoo Finance 用来在页面中填充数据的 URL。以下内容摘自该部分:
"tachyon.**quoteSummary**": {"path": "\u002Fv10\u002Ffinance\u002FquoteSummary\u002F{symbol}","timeout": 6000,"query": ["lang", "region", "corsDomain", "crumb", "modules", "formatted"],"responseField": "quoteSummary","get": {"formatted": true}},
这与上面提供的惰性解决方案中使用的 URL 相同。
TL;速度三角形定位法(dead reckoning)
- 由于网站的结构,网络搜集可能是必要的,但值得努力调查,看看是否能找到数据的来源。生成的代码更简单,提取更多数据的速度更快。
- 找到网站数据的来源通常是通过搜索 XHR 请求或利用浏览器的开发人员控制台搜索网站的 javascript 文件来实现的。
更多信息
- 如果你找不到任何 XHR 请求怎么办?查看 web 抓取的替代方案,第二部分:检索 Web 数据的枯燥方法
检索 web 数据的干燥方法
towardsdatascience.com](/the-alternative-to-web-scraping-part-ii-c2e3c2c06556)
- 如果您对本文的 Yahoo Finance 方面特别感兴趣,我已经编写了一个 python 包, yahooquery ,它在一个方便的界面中公开了大多数端点。我还写了一篇介绍性文章,描述了如何使用这个包以及与类似包的比较。
一个 Python 接口,可以处理无限量的数据
towardsdatascience.com](/the-unofficial-yahoo-finance-api-32dcf5d53df)
- 如果您有任何问题或意见,请随时联系我们
Web 抓取的替代方案,第二部分
检索 web 数据的干燥方法
费尔南多·埃尔南德斯在 Unsplash 上的照片
在的上一篇文章中,我描述了如何在不使用网络抓取的情况下从雅虎财经中检索数据。具体来说,我们发现了一种利用 XHR 请求检索数据的方法。从那里,我们在浏览器的开发者控制台中发现了更多带有搜索功能的非官方终端。如果没有任何 XHR 请求,我们能做什么呢?
首先,记住干燥原则很重要(以下来自维基百科):
不要重复 ( 干,或者有时不要重复)是软件开发的原则,旨在减少软件模式的重复,【1】用抽象代替它或者使用数据规范化来避免冗余。
创建了你试图抓取的网站的开发者很可能就是带着这个原则在运作的。站点中可用的数据使用一种固定的模式呈现——无论是列表、表格还是一系列 div。很可能,这对你来说并不陌生;这是你用来收集数据的。但是,就像第一篇文章一样,我认为花时间寻找替代方案是有好处的。
例子
最近,我被要求搜索大约 100 个房地产网站,以便一家公司能够跟踪他们当地市场的商业地产销售情况。
我看的第一个地方是 https://duwestrealty.com/properties/ T21。
- 我总是做的第一件事是检查开发者控制台的网络选项卡中的 XHR 请求
- 而且……什么都没有。好吧,没理由气馁。屏幕顶部附近有复选框,最有可能过滤下面的结果。我的猜测是,如果我改变其中一个复选框,一个 XHR 请求将被解雇。我们试试吧!
- 取消选中“用于租赁”复选框后,XHR 请求确实发生了。但是,进一步考察之后,似乎一点帮助都没有。
- 看起来这个网站正在努力隐藏这个请求。这比我想象的要难。
- 我现在要去检查大教堂。具体来说,我想看看每个属性的图像和细节是如何呈现的。这是我右键单击其中一个图像并选择“Inspect”后看到的内容。
- 首先,看起来每个属性都在 id 为 properties 的 div 中。并且,每个属性都在一个带有类属性的 a 标签内。
- 这就是干燥原理再次发挥作用的地方。从传统的 web 抓取的角度来看,我们要么以属性 id 为目标,要么以属性类为目标,然后遍历结果。然而,为什么不从站点开发者的角度考虑这些标识符呢?从 CSS 的角度来看,他们很可能使用这些标识符来保持代码的干爽,但也可能是为了利用 javascript 注入数据。
- 所以,接下来我要做的是在开发者控制台中搜索属性。结果如下:
-
前几个是 css 文件。我知道那些不会有什么有用的东西,所以我继续浏览着名单。往下第五个是properties . js;那似乎很有希望。我将把该文件复制到文本编辑器中,并再次搜索“properties”。这是我的发现:
-
让我们再细分一下,因为这里有很多有用的信息:
- 他们利用了 ajax,它允许页面发出异步 HTTP 请求。
- URL 位于一个名为
ajaxUrl
的变量中。 - 他们正在发出一个 POST 请求。
- 最后,他们通过 POST 请求发送数据:
data: {
action: 'fetch_properties'
}// ordata: {
action: 'fetch_brokers'
}
- 让我们继续前进,因为我还没有完全到达那里;我还需要找到
ajaxUrl
。如果我在同一个 properties.js 文件中搜索“ajaxUrl ”,我会发现:
const ajaxUrl = wp.wpurl + ‘/wp-admin/admin-ajax.php’;
- 我们越来越近了!我的猜测是 wp.wpurl 只是主机名:
duwestrealty.com
但是让我们确认一下。我将在 DOM 中搜索该变量:
- 现在,就像用我们在
properties.js
文件中找到的所需有效负载发出 POST 请求一样简单。
import requestsr = requests.post(
"[https://duwestrealty.com/wp-admin/admin-ajax.php](https://duwestrealty.com/wp-admin/admin-ajax.php)",
data={'action': 'fetch_properties'}
)
data = r.json()
type(data)
len(data)
data[0].keys()
<class 'list'>
185
dict_keys(['id', 'postid', 'address', 'city', 'state', 'zipcode', 'categories', 'sf', 'gla', 'caprate', 'price', 'description', 'brokers', 'pdf', 'image', 'logo', 'video', 'locationmap', 'title'])
所以,回到我手头的任务。我需要检索大约 100 个其他类似网站的数据。从代码的角度来看,再考虑一下 DRY 原则,利用上面的方法比为每个站点开发不同的抓取解决方案要容易得多。我可以很容易地使每个请求适应适当的站点:修改 HTTP 请求方法(GET、POST)、发送到服务器的数据、查询参数和响应处理。如果你已经读到这里,这里是我想到的解决方案:
更多信息
- 第 1 部分:网页抓取的替代方案
- 如果您有任何问题或意见,请联系我们。
亚马逊商业分析师访谈
亚马逊业务分析师面试问题
图片来自 Unsplash
亚马逊业务分析师的工作是技术数据解释和商业敏锐度的混合体。一个成功的商业分析师将进入产品管理、分析管理或商业智能的职业道路,所有这些都需要知识的深度和广度。
职责
- 负责监控和推动关键业务决策的持续指标、报告、分析和仪表板的设计、开发和维护。
- 通过支持业务查询并将其转化为分析报告,将分析嵌入到日常运营中。
- 构建强大的运营和业务指标,并使它们在整个工作场所高度可视化和可消费。
- 与跨职能团队、系统和供应商数据合作,构建报告系统,并利用指标来寻找强有力的改进机会。
商业分析师面试
亚马逊的面试过程在不同的团队中非常一致。一旦你的简历进入候选名单,面试就从招聘人员筛选或招聘经理的电话筛选开始。如果在最初几轮中被选中,你会被邀请在同一天参加大约 4-5 次面试。所有的面试都是基于亚马逊的 14 项领导原则来测试你的能力,可能还包括技术性的面试问题。
总的来说,准备工作的重点应该主要放在领导原则上,稍微放在数据库系统设计上,最后放在实际编码、SQL 查询、产品和业务案例上。
查看一个 亚马逊商业案例问题 的模拟面试。
根据级别(L3/L4/L5),您将有 4-5 轮面对面的机会。除此之外,还会有几轮技术测试和几轮行为测试。行为调查主要是根据亚马逊臭名昭著的领导原则来评判你。
亚马逊领导原则面试问题
对于亚马逊的领导行为能力面试,问题的确切措辞可能不同,但每个领导原则的中心思想是相同的。
对于每一条领导原则,记得围绕你如何体现每一条原则编一个故事。例如:
- 客户困扰:获取客户反馈,从他们的痛点中学习,以构建更好的产品或流程。
- **深入研究:**通过深入问题解决复杂的问题。
- **行动偏好:**不同项目的优先行动和主动性。
- **归属:**一个你超出了原来范围的项目。
- **赢得信任:**解决不同团队成员之间的冲突,并与客户建立了良好的长期关系。
- 发明和简化:一个让系统更高效的项目。
面试官永远不会说他们在问你一个领导原则类型的问题。然而,你要确切地知道如何编造一个故事来引出十四条原则中的一条。基本上就是房间里的大象!
基于场景的问题
产品策略由 Pixabay 提供
对于这些情景类型的问题,如告诉我一次你……等,思考 STAR 方法是有帮助的。星型方法是一个简单的框架,用来阐述你的工作经验。
**情景:**设置场景,给出上下文。任务:描述你的职责是什么。
行动:准确解释你采取了什么措施来解决这个问题。
**结果:**分享你的行动直接取得了哪些结果。
对于 STAR 方法的每个部分,让大部分讨论发生在行动和结果部分。你必须确切地强调你做了什么以及你的行动的结果。鉴于每次面试时间很短,项目讨论不要超过 5 分钟。
还记得考虑至少有两到三个项目和故事,你可以自信地叙述和回应后续问题。这降低了您没有任何基于场景的问题的相关示例的风险。
亚马逊业务分析师面试问题
重点关注的一般技术问题是:
- SQL 查询和 ETL
- 商业案例问题
- 统计分析
- 产品指标
至少 1-2 轮将基于技术技能。对于业务分析师来说,他们测试的主要技能是 SQL,尽管了解一点 Python、R 或 Tableau 之类的数据可视化工具会有所帮助。期待在面试查询上看到一些容易到中等水平的 SQL 问题。还有数据工程的元素,如原始数据提取、转换和加载数据。
通常,业务分析师也会编写一些 ETL 管道,所以这有助于复习关键概念。这将取决于团队,以及他们是否期望业务分析师编写 ETL 管道。
ETL 问题示例如下:
- merge upserts 是如何工作的?
- 如何加载历史记录?
看看这个关于候选人如何回答亚马逊给出的数据工程和 ETL 问题的模拟面试。
亚马逊内部已经几乎完全转向 AWS,所以如果你掌握一些 AWS 知识,尤其是与数据库相关的服务,那会很好。此外,了解红移的工作原理对面试官可能熟悉的 SQL 语法也有好处。
图片来自 Pixabay
SQL 问题将围绕您对基本 SQL 逻辑的理解,如使用多个数据集的连接条件,以及如何计算平均值、最大值、最小值、总和以及其他函数。
复习如何使用多个数据集,根据给定的数据创建新表,以及创建汇总输出。
Python 和 R 是更高级的工具,它们不是必需的,但会让你脱颖而出。大多数团队将依靠数据工程师来满足他们的 Python 需求,并依靠数据科学家来利用 R 进行统计分析。了解这些技能会让你作为亚马逊业务分析师更有价值。
此外,最常见的其他技术问题是统计分析、咨询式的业务案例问题,以及解释趋势对业务的影响的产品洞察生成。在这些技术回合中,预计会出现一些案例类型的问题,如特定绩效指标的衡量和跟踪,或领导报告仪表板的自动化。这些问题一般都是问题策略类型的问题。
例题:
你的任务是标记在亚马逊上发布虚假评论的用户,然后交给建模团队做进一步分析。你最初会如何过滤在亚马逊上发布虚假评论的用户?
在 面试查询 上找到上面这个问题的最佳答案。
最后的提示和技巧
- 亚马逊业务分析师面试是技术和业务技能的结合,结合了对细节的关注、逻辑推理、沟通技巧,以及文化契合度和对团队中项目经理角色的兴趣。对于文化契合部分,关注上面的领导原则,因为这确实定义了文化。
- 通常还会有一个标杆人物在某个时候被带进面试(不是直接在团队中的人),他能够更加客观地确定长期是否适合亚马逊。
- 可能会有关于产品路线图、优先顺序和利益相关方一致性的问题。这些可以作为一个“你愿意怎么样”的问题出现,而不是典型的“T4 告诉我一个时间”类型的问题。例如,一个问题可能是预测黑色星期五促销的 Echo 设备的运行率、库存策略和折扣%。
- 一个最近的候选人有一个奇怪的经历,当他们被要求简洁地说出 3 个强有力的理由来拒绝我申请的角色。这些问题预计占所有面试小组的 10-15%。
感谢阅读
- 想要更多带有亚马逊解决方案的面试问题吗?更多内容请登陆面试查询 。
- 查看我的 Youtube 频道获取更多关于数据科学面试技巧和提示的视频。
- 点击这里阅读亚马逊的商业智能工程师指南
原载于 2020 年 5 月 26 日 https://www.interviewquery.com*。*
亚马逊商业智能工程师面试
亚马逊商业智能工程师面试问题
图片来自 Unsplash
介绍
作为全球领先的科技公司之一,亚马逊利用大数据来改善其广泛的电子商务平台。从发现产品到购买,甚至到最终交付,每一次客户互动的数据都会被收集和分析。为了优化网站性能和改善客户体验,亚马逊将这些数据输入其推荐系统,该系统为每个客户显示最相关的产品。
创建个性化推荐屏幕的过程扩展到了亚马逊的所有产品和服务,包括 Alexa、Prime Video 和 Twitch。商业智能工程师将亚马逊的大型数据仓库转化为有意义的见解和改进。在亚马逊,数据驱动着每一个决策。
亚马逊的商业智能工程师角色
图片来自 Pixabay
在亚马逊,商业智能工程师与客户、分析师和数据库开发人员协同工作,将收集的数据转化为商业决策**。**这些工程师创造的解决方案有助于内部和外部客户数据的分析、自动化和报告。
通常情况下,亚马逊的工程师被嵌入到团队中,并与其他团队进行跨职能合作,旨在改善整体客户体验。该职位的职责范围从实施解决方案到数据建模,再到为业务领导提供指导。
亚马逊的商务智能工程团队
**亚马逊足够大,拥有 40 多个部门,这些部门内有 100 多个内部团队。因此,高效地处理和分析收到的大量企业数据对亚马逊来说至关重要。商业智能工程师设计软件和企业平台来做到这一点,从而更容易从亚马逊收集的数据中得出有意义的结论。**他们在团队中工作,并与亚马逊的内部客户一起提供支持关键业务流程的准确且可访问的数据。
根据分配到的团队,商业智能工程师可以执行以下功能:
- 运输风险&合规(TRC) :根据安全合规协议,一丝不苟地分析数据,寻找保证亚马逊客户和合作伙伴安全的方法。使用预测 ML 模型在数据中搜索安全相关趋势。
- **支付:**利用海量客户支付数据,改善客户支付体验。使用概率模型和亚马逊的技术基础设施向客户实时展示产品。
- **亚马逊护理:**开发数据驱动的模型,塑造亚马逊护理的未来。与业务和财务团队合作,改善亚马逊的决策流程。
- **自动化库存管理:**开发分析和预测工具,准确量化每位亚马逊客户的购物体验。与亚马逊的内部客户(如软件开发团队)密切合作,大规模测试和验证这些工具。
- **物流商业智能和分析:**使用世界上最大、最复杂的数据仓库之一。挖掘数据,收集客户洞察,提出建议,帮助领导根据数据趋势做出合理的商业决策。与软件工程师团队合作,简化或自动化这一商业智能流程。
- **Prime Video(目录系统和运营组织)😗*定义有用的业务指标,开发自助服务报告程序,进行实验,为有关亚马逊 Prime 视频目录结构的决策提供信息。
- Alexa: 使用 Alexa 的数据源来定义和自动化关键业务指标,并利用高级数据分析来了解客户行为**。**设计实验(A/B 实验)来测试客户参与策略。
- **AmazonFresh / Prime Now 客户洞察&分析:**利用数据帮助亚马逊更好地了解客户行为。开发新的和创新的分析技术,为产品战略和设计提供信息,以最大限度地提高客户参与度。
面试过程
图片来自 Unsplash
亚马逊商业智能面试与亚马逊的大多数其他技术面试类似,包括两次最初的电话面试和一次现场面试。
初始屏幕
最初的筛选主要是发现面试,以确定你是否适合该公司的文化和公司。面试官会问你一些关于你的背景和经历的问题。你必须准备好和面试官讨论你过去的相关项目。告诉他们你面临的任何挑战、特殊情况或问题,以及你是如何克服的。
样题:
- 给我一个你用数据做决定解决问题的例子。
- 告诉我你处理过的最复杂的问题。
- 告诉我你不仅实现了目标,而且大大超出预期的一次经历。
- 告诉我一个你能够在紧迫的期限内交付一个重要项目的经历。
- 在预测产品需求时,你会考虑哪些变量?
技术屏幕
该技术将通过一个现场编码平台进行。SQL 和 Python 技能的面试测试。预计大约有五个难度不断增加的 SQL 问题。
示例 SQL 问题:编写一个查询来标识团队规模最大的经理。
给定两个具有列类型和值的表
**给你一个提示:**这个问题比较直接。我们得到两张表,要求找出拥有最多员工的经理团队。
实际上,我们有几种方法可以做到这一点。方法一涉及使用 MAX 函数,方法二(这是我们选择的方法)涉及创建一个按经理姓名分组的排序列表。
我们选择方法二是因为它利用了 SQL 的最基本的方面来为手头的问题产生一个优雅的解决方案。
现场面试
这是最后一个面试阶段,包括 5 轮与商业智能工程师、数据科学家和招聘经理的一对一面试。每轮面试持续约 45 分钟,中间有午休时间。
这次采访中的问题跨越了数据科学概念的广度,并且是基于场景的(使用真实的亚马逊问题)。每轮面试都有一种行为问题,你会遇到很多“告诉我一次……”的问题。
总体而言,现场访谈分为:
- 统计和 SQL 商业智能工程师的技术面试。这次面试评估你的 SQL 和基本统计知识。它也有一些行为元素。
- Behavioral plus SQL 围绕领导原则的一些基于案例的问题面试。
- 案例研究面试和招聘经理的行为面试。
- 关注领导原则的行为面试
- 统计和产品意识采访一位数据科学家。这一轮面试评估您对数据科学概念和指标定义的基础知识。
注意事项和提示
图片来自 Unsplash
亚马逊商务智能面试流程旨在学习候选人利用数据仓库信息和高级分析工具将数据转化为有意义的信息的能力,这些信息可用于做出合理的商业决策。这次面试是各种数据科学理论的结合,它测试您的领域知识在应用于现实生活情况时的深度。
重温你的统计和概率知识,SQL 和 ETL 流程,以及商业智能解决方案平台**,如 Tableau、MicroDesktop、SQL SSIS 和 AWS** 。
此外,请注意,亚马逊会询问基于情境的问题,这将有助于围绕“星形”格式形成您的回答。熟悉亚马逊的 14 项领导原则,并围绕这些领导原则撰写一个故事,也会有所帮助。
星号代表:
- 情况。你或你以前的雇主面临的情况是怎样的?
- 任务。涉及哪些任务?
- 动作。你采取了什么行动?
- 结果。这些行动的结果是什么?
以下是最近刊登在《卫报》上的一个例子,它讲述了在面试中运用明星方法时的感受:
任务 :“我需要解决客户的即时查询,并找出正常流程中出现的问题。”
活动 :“我道了歉,了解了详情,传给我们的销售主管,销售主管在一小时内联系了客户。我调查了为什么这个问题没有得到回答。我发现这是一个错误的手机号码和一个没有被检查的通用电子邮件地址的组合。我让客户知道了这一点,并为她的下一笔订单提供了善意折扣。”
结果 :“客户不仅继续向我们订购,还发布了一条积极的客服推文。”
亚马逊商业智能工程师面试问题
- 产品来自地点 A 的概率是 0.8,来自地点 B 的概率是 0.6。客户从地点 A 或地点 B 收到产品的概率是多少?
- 如果有一个你以前从未参与过的项目,你怎么知道你在这个项目中使用的数据是正确的,你会得到正确的结果?
- OLTP 和 OLAP 有什么区别?
- 你将如何建立一个在线 A/B 测试场景,你将如何根据实验结果决定是否推出一个新的程序?
- 查询优化和性能调优有哪些不同的方式?
- 向非技术人员描述加入
- 你有一个网站,你需要把这个网站的流量洞察报告给产品经理。编写一个 SQL 查询来查找上个月访问过该网站的前 10 个人。
- PCA 中方差是如何计算的?
- 随机森林模型中的假设是什么?
- 如果我们想知道人们是否喜欢一个产品,当分析基于他们在网站上的行为时,你能看到任何统计问题吗?
感谢阅读
- 如果你有兴趣提高你的数据科学技能,请查看 面试查询 !
- 查看我的 Youtube 频道 获取更多面试指南,以及解决问题的技巧&。
亚马逊数据分析师访谈
亚马逊收集每个顾客的数据。数据分析师帮助弥合数据和决策过程之间的差距。
图片来自 Unsplash
亚马逊是世界上最大的在线市场之一,与传统市场不同,亚马逊是巨大的!里面陈列着成千上万的产品。仅在美国,亚马逊就控制了超过一半的在线市场,自 1994 年成立以来,它一直努力通过学习数据来实现其最终目标,即成为“一站式商店”。
在这个数据时代,亚马逊收集其网站上每一次客户点击和互动的数据;这包括顾客在看什么商品,他们在购物车里放了什么商品,他们想要什么质量,他们的偏好是什么,等等。
亚马逊汇编这些数据,并将其输入其推荐系统,以更好地满足客户需求,并通过推荐最符合他们偏好的产品来改善购物体验。亚马逊还利用数据做出商业决策并推动增长。Amazon 的数据分析师与技术和非技术内部团队合作,构建正确的分析来回答关键的业务问题
亚马逊的数据分析师角色
图片来自 Pixabay
亚马逊的数据分析师帮助在数据和决策过程之间架起桥梁。亚马逊的典型数据分析师角色包括数据分析、仪表板/报告构建以及指标定义和审查。亚马逊的数据分析师也为数据收集、编译、分析和报告设计系统。
数据分析师角色根据他们处理的数据类型而有所不同(例如,抽动数据、销售数据、失读症数据等)。),他们参与的项目类型,他们正在使用的产品,以及他们被分配到的团队。亚马逊的数据分析师还与包括工程、数据科学和营销在内的各种团队进行跨职能合作,为研究和业务领域提供数据驱动的见解。根据团队的不同,角色范围可能从基本的商业智能分析(如数据处理、分析和报告)到更具技术性的角色(如数据收集)。
所需技能
亚马逊的数据分析师职位需要知识和经验的专业化。因此,亚马逊只雇佣在数据分析、数据建模、高级商业分析和其他相关领域拥有至少 3 年行业经验的高素质候选人。
其他基本资格包括:
- 金融、商业、经济、工程、数学、统计、计算机科学、运筹学或相关领域的学士或硕士学位(博士优先)。
- 具有使用脚本、查询和数据仓库工具的经验,例如 Linux、R、SAS 和/或 SQL
- 在 Python、R 或 Java 等编程语言方面有丰富的经验。 ( 查看 Python 数据科学面试指南此处 )
- 具有查询关系数据库(SQL)的经验以及处理、优化和分析大型数据集的实践经验。
- 熟练使用微软 Excel,宏和 Access。
- 具有识别指标和 KPI、收集数据、实验和展示资料、仪表板和记分卡的经验。
- 具有商业智能和自动化自助报告工具的经验,如 Tableau、Quicksight、Microsoft Power BI 或 Cognos。
- 拥有 RDS、SQS 或 Lambda 等 AWS 服务的经验。
亚马逊的数据分析师团队
图片来自 Techspot
亚马逊是一家大型综合技术公司,提供许多产品和服务。因此,亚马逊有超过 100 个团队在各个领域开展工作。数据分析师与这些团队合作,帮助弥合数据和决策过程之间的差距。一般来说,亚马逊的数据分析师通过数据分析帮助简化决策过程。
根据亚马逊团队的不同,数据分析师的职责可能包括:
- Alliance (Twitch): 利用高级分析来塑造交易绩效的衡量方式,定义应该问什么问题,以及扩展分析方法和工具来支持 Twitch 不断增长的业务。此外,定义和跟踪 KPI,支持战略计划,评估新的业务机会,并通过数据改进/增强决策。
- **财务运营:**为决策制定标准和特定的分析和报告。在分析、定义、创建和获取数据、生成指标和提供建议的框架内构建高层业务问题。自动化标准报告并推动数据治理和标准化。
- **搜索能力:**利用先进的分析和预测算法,创建强大的、以客户为中心的搜索解决方案和技术。与工程和运营团队合作,通过识别和跟踪关于效率和成本的 KPI 来扩展亚马逊搜索服务。
- **教科书团队:**构建强大的数据分析解决方案,改善客户体验。采用先进的数据挖掘概念、数据建模和分析来定义和衡量评估业务增长的指标。提取、集成和处理关键数据,以构建数据管道、自动化报告和仪表板,并利用自助服务工具为内部利益相关方服务。
- **欺诈和滥用预防:**利用复杂的机器学习概念来减轻和预防欺诈。为新的和现有的指标、报告、分析和仪表板开发和管理可扩展的解决方案,以支持业务需求。实现来自不同来源的定制 ETL 管道,以获得更高的数据质量和可用性
- **购买:**使用高级分析概念来确定亚马逊全球所有网站的库存量。开发和维护指标,暴露和衡量亚马逊购买系统的当前表现,识别和量化改进机会,利用亚马逊的海量数据识别和防止意外表现。与其他团队跨职能协作,特别是工程、研究、数据科学和业务团队,以促进未来创新。
- 工程成功(Twitch): 与 Twitch 的工程团队合作,提供数据分析,以改进和形成成功衡量指标,定义业务影响问题,并扩展分析方法和工具,以支持亚马逊不断增长的业务。
面试过程
亚马逊数据分析师面试流程遵循标准的亚马逊“STAR”(情景、任务、行动和结果)流程,略有不同。面试流程从与人力资源部的初步电话筛选开始。之后,将安排一次技术面试。一旦你通过了技术面试,最终的现场面试将会安排 5 到 6 次与招聘经理、团队成员和人力资源的一对一面试。
初始屏幕
这是提交申请后与人力资源部门进行的标准介绍性面试。面试为探索性,时长约 45 分钟;它侧重于展示你的背景、技能和与该职位相关的工作经验。你还可以了解亚马逊的工作文化和职位。
注:亚马逊强调其领导原则。根据亚马逊的领导原则,按照“星形”格式定制您的回答会非常有帮助。
样题:
- 你克服的最大挑战是什么?
- 你以前使用 SQL 的经验是什么?
- 告诉我你与经理意见不一致的时候。你是如何处理这种情况的?结果如何?
- 你将如何着手改善工作场所(绩效、安全、流程)?
- 描述一个长期目标以及你计划如何实现它。
技术屏幕
图片来自 Unsplash
这是对人力资源部成员或经理的技术性面试。亚马逊使用一个名为“Collabedit”的协作服务平台进行所有的技术面试。
这一轮面试中的问题围绕着一个 SQL 编码挑战、Excel,以及关于亚马逊领导原则(LP) 的问题。
这是另一个亚马逊 SQL 面试问题的例子
'users' table+-----------------+----------+
| columns | type |
+-----------------+----------+
| id | integer |
| name | string |
| created_at | datetime |
| neighborhood_id | integer |
| mail | string |
+-----------------+----------+'comments' table+------------+----------+
| columns | type |
+------------+----------+
| user_id | integer |
| body | text |
| created_at | datetime |
+------------+----------+
请考虑下面的表格:
编写一个 SQL 查询来创建 2020 年 1 月每个用户评论数量的直方图。假设容器桶分类间隔为 1。
给你个提示:
直方图代表什么?在这种情况下,我们感兴趣的是使用直方图来表示每个用户在 2020 年 1 月发表的评论的分布。
具有大小为 1 的容器桶的直方图意味着我们可以避免将频率分组到特定区间的逻辑开销。
例如,如果我们想要一个大小为 5 的直方图,我们必须运行一个 SELECT 语句,如下所示:
尝试在我们的 interactive SQL 编辑器 中解决这个问题
现场面试
亚马逊数据分析师的现场面试与该公司的其他现场面试非常相似。进入面试流程这一阶段的候选人要经过 5 到 6 次与招聘经理、团队经理、数据分析师、数据工程师和统计员的一对一面试。面试之间有午休时间。亚马逊数据分析师现场面试由数据科学概念、SQL 编码和著名的亚马逊领导原则组成。
数据分析师访谈笔记和提示
亚马逊数据分析师面试主要包括数据科学概念。它的结构独特,可以评估候选人分析亚马逊数据的能力,以提供新的见解,从而塑造商业决策。在回答问题时利用亚马逊的“星形”格式可以给你带来优势。为了更好地了解亚马逊的 STAR 流程,请在面试查询上查看亚马逊的 BI 工程师面试流程。
亚马逊的面试官希望你用之前的工作经验来支持你的答案。尝试用过去工作经验中的例子回答每个问题;这可能包括你所面临的挑战,你所使用的方法或途径,以及你是如何克服这些挑战的。
亚马逊数据分析师面试问题:
- 你最喜欢 SQL 中的哪些函数?
- 解释 OLAP 立方体和一个解释商业分析应用的用例。
- 什么是数据规范化和非规范化?
- 当更新了具有主键的关联表时,具有外键的表的数据会发生什么变化?
- 级联参照完整性你懂什么?
- 解释线性回归和逻辑回归的区别,并举例说明。
- 什么是自变量,如果我的模型中有三个自变量,而没有因变量,该怎么办?
- 为多元变量或多元回归模型写一个方程。
- 给定一个有 n 个观察值的样本,你如何检验一个假设?
- 方差分析的假设有哪些。
- 对于小样本,您会使用什么测试?
- 什么是零假设?
- 什么是 1 型和 2 型错误?
- 使用下表编写一个查询,以检索在过去十天内注册并且消费超过 100 美元的客户的数据。编写另一个查询来检索在过去七天中花费超过 100 美元的客户的数据。第一个表是客户购买表,有五列:客户 id、购买日期、产品 id、单价和购买的单位。第二个表是一个客户细节表,有两列:客户 id 和注册日期。
- 从 100 个数字中按升序产生十个连续数字的概率是多少?
- 如何在 SQL 中合并两个表?
- 用任何一种语言(VBA,Python,Java)写一个函数来计算斐波那契码。
感谢阅读
- 如果您想了解更多独家面试解说,请查看 面试查询 !
- 查看我的 Youtube 频道 获取更多面试指南,以及解决问题的技巧&。
- 在面试查询博客上找到更多亚马逊面试指南,如 亚马逊商务智能工程师面试 和亚马逊商业分析师面试 。
原载于 2020 年 7 月 7 日https://www.interviewquery.com。
亚马逊数据科学家访谈
亚马逊数据科学面试问题
亚马逊 pcworld.com
亚马逊是世界上最大的互联网公司和最大的在线零售商之一。凭借如此多的产品和服务,亚马逊一直在市场上寻找积极创新的数据科学家,以满足其不断增长的数据需求。
作为一家公司,亚马逊以通过技术创新对成熟行业进行颠覆性创新而闻名。它的愿景是成为地球上最以客户为中心的公司。
需要公司或特定技能面试指南?
数据科学的作用是什么?
亚马逊的数据科学家的角色取决于具体的团队。亚马逊是一家大型企业集团,有许多团队从事不同的产品和服务。
这些团队包括 AWS(亚马逊网络服务)、Alexa、供应链优化技术(SCOT)中的预测团队、NASCO 团队(北美供应链组织)、中英里规划研究和优化科学(mmPROS)团队等等。
一般要求是:
- 为机器学习(ML)和自然语言(NL)应用程序设计、开发、评估、部署和更新数据驱动模型和分析解决方案。
- 开发先进的数据管道,构建准确的预测模型,并部署自动化软件解决方案来提供预测见解。
- 考虑到业务影响,研究、设计和改进模型。
所需技能
- 统计学、数量金融学、经济学、计算机科学、数学、物理学、计算生物学、运筹学等任何数量领域的硕士学位)或同等的实践经验。
- 2 年以上的分析工作经验(高级数据科学家 4 年以上),涉及机器学习技术、数据提取、分析和沟通。
- 精通统计软件包和函数式编程语言(如 R、Stata、Matlab、Python、SQL、C++或 Java )(资深数据科学家有 4 年以上的工作经验)。
- 具有设计和实现机器学习算法的经验,这些算法根据特定的业务需求量身定制,并在大型数据集上进行了测试。
- 在具有大规模复杂数据集的商业环境中进行数据挖掘和使用数据库的经验。
- 优秀的口头和书面沟通技巧,能够有效地向研究科学家、工程团队和商业受众倡导技术解决方案。
数据科学家有哪些类型?
亚马逊有三种与数据科学相关的主要工作角色。以下是亚马逊数据科学技能图表对面试和他们日常角色的描述:
来源于面试查询
亚马逊上的数据科学团队类型如下:
数据分析/商业智能
该角色主要负责创建预测、识别战略机会,并提供知情的业务相关见解。数据可视化工具,如 Tableau 和数据仓库技能,往往是必需的。
机器学习研究科学家
该职位主要关注 NLP、深度学习、视频推荐、流数据分析、社交网络等领域的前沿研究。一般来说,这个职位从博士到国际知名的研究人员都有。
阅读更多关于 亚马逊机器学习面试 。
数据/应用科学家
作为最受欢迎和最普遍的角色,数据科学家深入大数据集,以构建大规模的模拟和实验系统,构建优化算法,并利用亚马逊的前沿技术
数据工程师
这是一个团队,他们开发了在公司内外使用的工具或产品。想想 AWS 或者 Alexa。该角色与 ML 工程师职位有很大重叠。经常需要像 C++/Java 这样的面向对象语言技能。
亚马逊采访
blog.aboutamazon.com
亚马逊的面试流程与其他科技公司类似。首先要注意的是,亚马逊不做 带回家的挑战。相反,面试流程包括招聘人员或招聘经理的初步电话筛选,然后是技术电话筛选,最后是现场面试,通常分为五个阶段,午餐时进行非正式面试。
初始屏幕
最初的电话面试通常由亚马逊的招聘人员或招聘经理进行。这是一个基于简历的电话面试,通常会检查你的简历以及在团队中的位置。鉴于亚马逊是世界上最大的组织之一,招聘经理将解释他们的团队是做什么的,以及他们在组织中的位置。
技术屏幕
技术筛选在最初的电话筛选之后进行。这个面试会涉及到编码,统计,机器学习。您至少会遇到两个编码问题,一个涉及 SQL 另一个是算法编码类型问题。编码部分是通过共享代码编辑器完成的。记得花时间和面试官回顾一下你的思考过程。还有一个关于“方法”的部分,详细描述了你是如何得到解决方案的,以及你为什么使用你所使用的步骤。
此外,面试官会问一个机器学习概念问题。这通常是相当会话式的,但是记得温习一般的 ML 概念。
示例技术屏幕问题
我们得到了两张桌子。表 A 有一百万条带有 ID 和 AGE 字段的记录。表 B 有 100 条记录,也有两个字段,ID 和 SALARY。
假设在表 B 中,平均工资为 50K,中位数工资为 100K。
****SELECT** A.ID,A.AGE,B.SALARY
**FROM** A
LEFT **JOIN** B
**ON** A.ID = B.ID
**WHERE** B.SALARY > 50000**
假设上面的查询运行,大约会返回多少条记录?
现场面试
通过技术电话筛选后,招聘人员将安排现场面试。大部分题目会涉及 A/B 测试,更多的机器学习概念性问题,探索性数据分析,以及一些编码问题。
这一阶段包括 5 或 6 次连续的面谈,每次都是一对一或两人面谈;一名经理和一名初级数据科学家。总的来说,现场面试将持续大约六个小时。
这个过程是这样的:
- 评估文化契合度的行为访谈
- 涉及数据分析和 ab 测试的技术面试
- 基于 SQL 的数据科学家访谈
- 算法和优化
- 机器学习和建模案例研究面试
每个阶段都可能会测试你对亚马逊领导原则的了解,以及你的批判性思维和解决问题的能力。
提示和技巧
- 亚马逊 很在意 技术能力说到数据科学的角色!记得温习求解算法,优化查询,并记住多少机器学习算法在引擎盖下工作。****
- 亚马逊根据他们的 14 领导原则评估每一个申请者。试着记住所有 14 条领导原则,因为你会被期望在行为面试中展示这些原则。这里的建议是想一想你过去的项目或经历,以及你是如何展示这些原则的。
- 练习建模、机器学习和商业案例问题。亚马逊可能会问许多类型的模糊案例问题,在这些问题中,他们希望你将机器学习应用到商业场景中。查看我们如何处理关于亚马逊产品的案例问题。
亚马逊数据科学面试问题
- 给定一个大字符串和一个小字符串,写一个程序找出小字符串是否可以由大字符串的字母生成。
- 一件商品位于位置 A 的概率为 0.6,位于位置 b 的概率为 0.8。在亚马逊网站上找到该商品的概率是多少?
- 实现两个数组的并集和交集(以有效的方式)。请注意,两个给定数组的元素可以重复,但不能在并集和交集数组中重复。
- 你在 HDFS 有两份文件。一个是包含两列的日期范围:开始日期和结束日期。另一个文件有两列,分别是日期和访问者数量字段。编写 Spark 代码,给出访问者数量最多的日期范围。
- 使用数组实现循环队列。
- 套索和岭回归有什么区别?
- 当用户浏览亚马逊网站时,他们会执行许多操作,点击按钮,进行搜索等等。如果他们的下一步行动是购买,最好的建模方式是什么?
- K-means 是如何工作的?你会选择哪种距离度量?如果不同的特性有不同的动态范围呢?
- 什么是生成式和判别式算法?他们的优缺点是什么?通常使用哪种算法,为什么?
- 如何修改超过 10 亿行的表?(查看 模拟面试)。
感谢阅读
- 想要更多带有亚马逊解决方案的面试问题吗?在上查找更多面试查询 。
- 查看我的 Youtube 频道获取更多关于数据科学面试技巧和窍门的视频。
- 更多阅读请上 面试查询博客 上 Python 和 SQL 数据科学指南 。