🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎
📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃
🎁欢迎各位→点赞👍 + 收藏⭐️ + 留言📝
📣系列专栏 - 机器学习【ML】 自然语言处理【NLP】 深度学习【DL】
🖍foreword
✔说明⇢本人讲解主要包括Python、机器学习(ML)、深度学习(DL)、自然语言处理(NLP)等内容。
如果你对这个系列感兴趣的话,可以关注订阅哟👋
文章目录
数据问题
数据所有权
有偏见的数据
测试集
系统性偏见
建模问题
反馈回路
包容性模型性能
考虑上下文
对手
击败模特
利用模型
滥用问题和双重用途
Chris Harland:航运实验
结论
这前面的章节涵盖了模型训练和泛化性能。这些是部署模型的必要步骤,但它们不足以保证 ML 驱动产品的成功。
部署中模型需要更深入地研究可能影响用户的故障模式。在构建从数据中学习的产品时,您应该回答以下几个问题:
-
您使用的数据是如何收集的?
-
通过从该数据集中学习,您的模型做出了哪些假设?
-
这个数据集是否具有足够的代表性来生成有用的模型?
-
您的工作成果如何被滥用?
-
您的模型的预期用途和范围是什么?
这数据伦理学领域旨在回答其中一些问题,所使用的方法也在不断发展。如果您想深入了解,O'Reilly 有一份关于该主题的综合报告,道德与数据科学,由 Mike Loukides 等人撰写。
在本章中,我们将讨论有关数据收集和使用的一些问题,以及确保模型对每个人都能正常工作所涉及的挑战。我们将以实际访谈结束本节,涵盖将模型预测转化为用户反馈的技巧。
让我们从查看数据开始,首先涵盖所有权问题,然后转向偏见。
数据问题
在在本节中,我们将首先概述存储、使用和生成数据时要牢记的提示。我们将从涵盖数据所有权和存储数据所带来的责任开始。然后,我们将讨论数据集中常见的偏差来源以及在构建模型时考虑这种偏差的方法。最后,我们将举例说明此类偏见的负面后果,以及减轻这些偏见的重要性。
数据所有权
数据所有权指与数据收集和使用相关的要求。以下是关于数据所有权需要考虑的几个重要方面:
-
数据收集:您是否获得合法授权来收集和使用您要用于训练模型的数据集?
-
数据使用和许可:您是否向用户清楚地解释了为什么需要他们的数据以及您希望如何使用这些数据,他们是否同意?
-
数据存储:你如何存储你的数据,谁可以访问它,你什么时候删除它?
从用户那里收集数据有助于个性化和定制产品体验。它还意味着道德和法律责任。尽管始终存在保护用户提供的数据的道德义务,但新法规越来越多地将其合法化。例如,在欧洲,GDPR 法规现在就数据收集和处理制定了严格的指导方针。
对于存储大量数据的组织,数据泄露代表着重大的责任风险。此类违规行为既削弱了用户对组织的信任,又常常导致法律诉讼。限制收集的数据量从而限制法律风险。
为了在我们的 ML 编辑器中,我们将从使用公开可用的数据集开始,这些数据集是在用户同意的情况下收集并在线存储的。如果我们想记录额外的数据,例如记录我们的服务如何使用以改进它,我们必须明确定义数据收集策略并与用户共享。
除了数据收集和存储之外,重要的是要考虑使用收集的数据是否会导致性能不佳。数据集适用于某些情况,但不适用于其他情况。让我们探讨一下原因。
有偏见的数据
数据集是特定数据收集决策的结果。这些决定导致数据集呈现出有偏见的世界观。ML 模型从数据集中学习,因此会重现这些偏差。
例如,假设一个模型根据历史数据进行训练,根据包括性别在内的信息预测一个人成为 CEO 的可能性,从而预测领导技能。从历史上看,根据皮尤研究中心编制的“女性领导者数据”情况说明书,大多数财富 500 强 CEO 都是男性。使用这些数据来训练模型将导致它了解到男性是领导力的重要预测指标。由于社会原因,男性和首席执行官在所选数据集中是相关的,这导致女性被考虑担任此类角色的机会更少。通过盲目地根据这些数据训练模型并使用它进行预测,我们只会强化过去的偏见。
将数据视为基本事实可能很诱人。实际上,大多数数据集都是忽略更大上下文的近似测量值的集合。我们应该从任何数据集都存在偏差的假设开始,并估计这种偏差将如何影响我们的模型。然后,我们可以采取措施改进数据集,使其更具代表性,并调整模型以限制它们传播现有偏见的能力。
-
测量错误或损坏的数据:每个数据点由于用于生产它的方法而带来不确定性。大多数模型忽略了这种不确定性,因此可以传播系统测量误差。
-
代表性:大多数数据集呈现了一个不具代表性的人口观点。许多早期的人脸识别数据集主要包含白人男性的图像。这导致模型在该人群中表现良好,但在其他人群中表现不佳。
-
访问:有些数据集可能比其他数据集更难找到。例如,英语文本比其他语言更容易在线收集。这种易于访问导致大多数最先进的语言模型都专门针对英语数据进行训练。因此,与非英语人士相比,说英语的人将能够获得更好的 ML 支持的服务。这种差异通常是自我强化的,因为与其他语言的产品相比,英语产品的额外用户量有助于使这些模型更好。
测试集用于评估模型的性能。出于这个原因,您应该特别注意确保您的测试集尽可能准确和具有代表性。
测试集
表示出现在每个 ML 问题中。在“拆分您的数据集”中,我们介绍了将数据分成不同的集合以评估模型性能的价值。这样做时,您应该尝试构建一个具有包容性、代表性和现实性的测试集。这是因为测试集可作为生产性能的代理。
为此,在设计测试集时,请考虑可以与您的模型交互的每个用户。为了提高每个用户都获得同样积极体验的机会,请尝试在您的测试集中包含代表每种类型用户的示例。
设计您的测试集以编码产品目标。在构建诊断模型时,您需要确保它对所有性别都能充分发挥作用。要评估是否是这种情况,您需要让它们都出现在您的测试集中。收集不同的观点可以帮助实现这一目标。如果可以,在部署模型之前,让不同的用户有机会检查它、与之交互并分享反馈。
关于偏见,我想说最后一点。模型通常根据历史数据进行训练,这些数据代表过去的世界状况。正因为如此,偏见最常影响已经被剥夺权利的人群。因此,努力消除偏见是一项有助于使系统对最需要它的人更公平的努力。
系统性偏见
系统性偏见指导致某些人群受到不公平歧视的体制和结构性政策。由于这种歧视,此类人口在历史数据集中的代表性往往过高或过低。例如,如果社会因素导致某些人群在历史上在刑事逮捕数据库中的比例过高,则根据该数据训练的 ML 模型将对这种偏差进行编码,并将其带入现代预测。
这可能会产生灾难性的后果,并导致部分人口被边缘化。有关具体示例,请参阅 J. Angwin 等人的“机器偏见”ProPublica 报告,关于犯罪预测的 ML 偏见。
删除或限制数据集中的偏差具有挑战性。当试图防止模型对某些特征(如种族或性别)产生偏见时,一些人试图从模型用于进行预测的特征列表中删除相关属性。
实际上,简单地删除一个特征并不能防止模型对它产生偏见,因为大多数数据集包含许多与它密切相关的其他特征。例如,在美国,邮政编码和收入与种族高度相关。如果你只删除一个特征,模型可能同样有偏差,尽管以更难检测的方式。
相反,你应该明确说明您要强制执行哪些公平约束。例如,您可以遵循 MB Zafar 等人在论文“Fairness Constraints: Mechanisms for Fair Classification”中概述的方法,其中使用 p% 规则衡量模型的公平性。p% 规则定义为“具有特定敏感属性值的受试者百分比与不具有该值的受试者百分比之间的比率应不低于 p:100。” 使用这样的规则可以让我们量化偏差,从而更好地解决它,但它需要跟踪我们不希望模型产生偏差的特征。
建模问题
模型可以通过多种方式对用户产生负面影响。首先,我们将解决失控的反馈循环,然后我们将探讨模型在一小部分人群中谨慎失败的风险。然后,我们将讨论为用户适当地结合 ML 预测的重要性,并在本节结束时介绍恶意行为者滥用模型的风险。
反馈回路
在在大多数 ML 支持的系统中,让用户遵循模型的推荐将使未来的模型更有可能做出相同的推荐。如果任其发展,这种现象会导致模型进入自我强化的反馈循环。
例如,如果我们训练一个模型来向用户推荐视频,而我们的第一个版本的模型更倾向于推荐猫的视频而不是狗的视频,那么平均而言,用户会观看更多的猫视频而不是狗视频。如果我们使用历史推荐和点击数据集训练模型的第二个版本,我们会将第一个模型的偏差纳入我们的数据集中,而我们的第二个模型将更加偏爱猫。
自从内容推荐模型通常一天更新多次,我们最新版本的模型很快就会推荐专门的猫视频。您可以在图 8-1中看到这样的示例。由于猫视频最初很受欢迎,模型逐渐学习推荐更多猫视频,直到达到右侧的状态,只推荐猫视频。
图 8-1。反馈循环示例
互联网上充斥着猫的视频可能看起来并不像悲剧,但您可以想象这些机制如何迅速强化负面偏见并向毫无戒心的用户推荐不适当或危险的内容。事实上,试图最大化用户点击概率的模型将学习推荐点击诱饵内容,即非常诱人点击但不会为用户提供任何价值的内容。
反馈循环也倾向于引入偏向于少数非常活跃的用户。如果视频平台使用每个视频的点击次数来训练其推荐算法,则其推荐可能会过度适合代表绝大多数点击的最活跃用户。然后,该平台的所有其他用户都会看到相同的视频,而不管他们的个人偏好如何。
要限制反馈循环的负面影响,请选择不太容易产生此类循环的标签。点击量只衡量用户是否打开视频,而不是他们是否喜欢它。使用点击作为优化目标可以推荐更吸引眼球的内容,而无需担心其相关性。用与用户满意度更相关的观看时间代替目标指标将有助于缓解这种反馈循环。
即便如此,针对任何类型的参与度进行优化的推荐算法始终存在退化为反馈循环的风险,因为它们的唯一目标是最大化几乎无限的指标。例如,即使一种算法针对观看时间进行了优化以鼓励更多引人入胜的内容,但要使该指标最大化的世界状况是每个用户都会花一整天的时间观看视频。使用此类参与度指标可能有助于提高使用率,但这引发了一个问题,即这是否始终是一个值得优化的目标。
除了创建反馈循环的风险之外,尽管在离线验证指标上获得了令人信服的分数,但模型在生产中的性能也可能低于预期。
包容性模型性能
在“评估你的模型:超越准确性”中,我们涵盖了各种评估指标,这些指标试图判断数据集不同子集的性能。这种类型的分析有助于确保模型对不同类型的用户表现同样出色。
这个在训练现有模型的新版本并决定是否部署它们时尤为重要。如果您只比较总体性能,您可能不会注意到某段数据的性能显着下降。
未能注意到这种性能下降导致了灾难性的产品故障。2015年,一个自动照片标记系统将非裔美国用户的照片归类为大猩猩(参见2015 年 BBC 文章)。这是一次骇人听闻的失败,也是未在代表性输入集上验证模型的结果。
更新现有模型时可能会出现此类问题。例如,假设您正在更新面部识别模型。旧模型的准确率为 90%,新模型的准确率为 92%。在部署这个新模型之前,您应该在几个不同的用户子集上对其性能进行基准测试。您可能会发现,虽然总体性能略有提高,但新模型的准确性对于 40 岁以上女性的照片表现非常差,因此您应该放弃部署它。相反,您应该修改训练数据以添加更具代表性的示例并重新训练一个可以对每个类别都表现良好的模型。
省略此类基准可能会导致模型不适用于很大一部分目标受众。大多数模型永远不会适用于所有可能的输入,但重要的是要验证它们适用于所有预期的输入。
考虑上下文
用户不会总是意识到给定的信息片段源自 ML 模型的预测。只要有可能,您应该与用户分享预测的上下文,这样他们就可以就如何利用它做出明智的决定。为此,您可以先向他们描述模型是如何训练的。
目前还没有行业标准的“模型免责声明”格式,但该领域的积极研究显示了有前途的格式,例如模型卡(参见 M. Mitchell 等人的文章“模型报告的模型卡”),一个用于透明模型报告的文档系统。在提议的方法中,模型附带有关其训练方式、测试数据、预期用途等的元数据。
在我们的案例研究中,ML 编辑器根据特定的问题数据集提供反馈。如果我们要将其部署为产品,我们将包含一个免责声明,说明模型有望在哪些输入类型上表现良好。这样的免责声明可以像“本产品试图推荐更好的方式来表达问题。它是根据写作 Stack Exchange 中的问题进行训练的,因此可能反映了该社区的特定偏好。”
让善意的用户了解情况很重要。现在,让我们看看不太友好的用户可能带来的潜在挑战。
对手
一些 ML 项目需要考虑模型被对手击败的风险。欺诈者可能会试图欺骗负责检测可疑信用卡交易的模型。或者,对手可能想要探测经过训练的模型以收集他们不应被允许访问的有关基础训练数据的信息,例如敏感的用户信息。
击败模特
许多部署 ML 模型是为了保护账户和交易免受欺诈者的侵害。反过来,欺诈者试图通过欺骗他们相信他们是合法用户来击败这些模型。
例如,如果您试图防止在线平台的欺诈性登录,您可能需要考虑包含用户原籍国的功能集(许多大规模攻击使用来自同一地区的多个服务器)。如果您根据此类特征训练模型,则可能会在欺诈者居住的国家/地区引入对非欺诈用户的偏见。此外,仅依靠这样的功能将使恶意行为者很容易通过伪造他们的位置来欺骗您的系统。
为了抵御对手,定期更新模型很重要。当攻击者了解现有的防御模式并调整他们的行为来打败它们时,请更新您的模型,以便他们可以快速将这种新行为归类为欺诈行为。这需要监控系统,以便我们可以检测活动模式的变化。我们将在第 11 章中更详细地介绍这一点。在许多情况下,防御攻击者需要生成新功能以更好地检测他们的行为。请随时参阅“让数据通知特征和模型”以重温特征生成。
对模型最常见的攻击类型旨在欺骗它们做出错误的预测,但还存在其他类型的攻击。一些攻击旨在使用经过训练的模型来了解它所训练的数据。
利用模型
在欺诈登录检测示例中,假设邮政编码是登录时的必填字段之一。攻击者可能会尝试使用许多不同的帐户登录,测试不同的邮政编码以查看哪些值导致成功登录。这样做将使他们能够估计训练集中邮政编码的分布,从而估计该网站客户的地理分布。
限制此类攻击效率的最简单方法是限制给定用户可以发出的请求数量,从而限制他们探索特征值的能力。这不是灵丹妙药,因为老练的攻击者可能能够创建多个帐户来规避这种限制。
本节中描述的对手并不是您应该关注的唯一恶意用户。如果您选择与更广泛的社区分享您的工作,您还应该问问自己它是否可以用于危险的应用程序。
滥用问题和双重用途
两用描述技术为一个目的而开发,但可以用于其他目的。由于 ML 能够在相似类型的数据集上表现良好(见图 2-3),ML 模型通常存在双重用途问题。
如果你建立了一个模型,允许人们改变他们的声音听起来像他们朋友的声音,它会被滥用来未经他们的同意冒充他人吗?如果您确实选择构建它,您如何提供适当的指导和资源以确保用户了解正确使用您的模型?
同样,任何可以准确分类人脸的模型都对监视具有双重用途。虽然这样的模型最初可能是为了启用智能门铃而构建的,但它随后可用于通过全市范围的摄像头网络自动跟踪个人。模型是使用给定数据集构建的,但在其他类似数据集上重新训练时可能会带来风险。
目前没有关于双重用途的明确最佳实践。如果您认为您的作品可能会被用于不道德的用途,我鼓励您考虑加大为此目的复制的难度,或者与社区进行深思熟虑的讨论。最近,OpenAI 决定不发布其最强大的语言模型,因为担心它可能会更容易在网上传播虚假信息(请参阅 OpenAI 的公告帖子“更好的语言模型及其含义”)。虽然这是一个相对新颖的决定,但如果以后更频繁地提出此类担忧,我也不会感到惊讶。
作为本章的总结,在下一节中,我将与 Chris Harland 进行讨论,他目前是 Textio 的工程总监,他在向用户部署模型并在足够的背景下展示结果以使其有用方面拥有丰富的经验。
Chris Harland:航运实验
克里斯拥有博士学位 拥有物理学博士学位,并从事各种机器学习任务,包括计算机视觉,以从收据中提取结构化信息以用于软件支出。他曾在 Microsoft 的搜索团队工作,在那里他意识到了 ML 工程的价值。Chris 随后加入了 Textio,这是一家开发增强型写作产品以帮助用户撰写更具吸引力的职位描述的公司。Chris 和我坐下来讨论他交付 ML 驱动产品的经验,以及他如何验证准确性指标以外的结果。
问:Textio 使用 ML 直接引导用户。这与其他 ML 任务有何不同?
答:当您只关注预测时,例如何时购买黄金或在 Twitter 上关注谁,您可以容忍一定程度的差异。当你做写作指导时,情况并非如此,因为你的建议带有很多潜台词。
如果你告诉我再写 200 个字,你的模型应该是一致的,并允许用户听从它的建议。一旦用户写了 150 个字,模型就不能改变主意并建议降低字数。
指导还需要明确:“将停用词删除 50%”是一个令人困惑的指示,但“减少这 3 个句子的长度”可能会以更可操作的方式帮助用户。然后,挑战就变成了在使用更易于理解的功能的同时保持性能。
本质上,ML 写作助手根据我们的模型引导用户从初始点到更好的特征空间。有时,这可能涉及通过更糟糕的点,这可能是令人沮丧的用户体验。需要在构建产品时考虑到这些限制。
问:执行此指导的好方法是什么?
A:对于指导,准确率比召回率更有趣。如果你想给一个人提供建议,recall 就是在所有潜在的相关领域和一些不相关的领域(其中有很多)提供建议的能力,而 precision 则是在一些有前途的领域提供建议而忽略其他潜在的领域.
给出建议的时候,错误的代价是非常高的,所以精准才是最有用的。用户还将从您的模型之前给出的建议中学习,并自动将它们应用到未来的输入中,这使得这些建议的准确性变得更加重要。
此外,由于我们展示了不同的因素,我们衡量用户是否真正利用了它们。如果不是,我们应该明白为什么不。一个实际的例子是我们的“主动与被动比率”功能,该功能未得到充分利用。我们意识到这是因为建议不够可操作,所以我们通过突出显示我们建议更改的词本身来改进它。
问:您如何找到新的方式来引导您的用户或新功能?
A:自上而下和自下而上的方法都很有价值。
自上而下的假设调查是领域知识驱动的,基本上由先前经验的特征匹配组成。例如,这可以来自产品或销售团队。自上而下的假设可能看起来像“我们相信招聘电子邮件的神秘方面有助于推动参与。” 自上而下的挑战通常是找到一种实用的方法来提取该特征。只有这样我们才能验证该特征是否具有预测性。
自下而上旨在反省分类管道以了解它发现的预测性内容。如果我们有文本的一般表示,例如词向量、标记和词性注释,然后我们将其提供给模型集合以分类为好文本或坏文本,那么哪些特征最能预测我们的分类?领域专家通常最有能力从模型的预测中识别这些模式。接下来的挑战是找到一种方法使这些功能易于人类理解。
问:您如何确定模型何时足够好?
答:您不应该低估相关语言的小型文本数据集对您的帮助。事实证明,对于许多用例而言,在您的域中仅使用一千个文档就足够了。能够标记这一小组数据是值得的。然后,您可以开始在样本外数据上测试您的模型。
你应该让运行实验变得容易。你关于改变产品的绝大部分想法最终都会产生无效的净效果,这应该让你对新功能的担心少一些。
最后,建立一个糟糕的模型是可以的,这是你应该开始的。修复不良模型将使您的产品对问题更加稳健,并帮助它更快地发展。
问:您如何看待模型投入生产后的表现?
A:在生产中,将模型的预测清楚地暴露给用户并让他们覆盖它。记录特征值、预测和覆盖,以便您可以监控它们并在以后进行分析。如果您的模型产生了一个分数,找到将这个分数与您的建议的使用情况进行比较的方法可能是一个额外的信号。例如,如果您要预测一封电子邮件是否会被打开,那么从您的用户那里获取真实数据非常有价值,这样您就可以改进您的模型。
最终的成功指标是客户成功,这是最延迟的,并且受到许多其他因素的影响。
结论
我们首先介绍了使用和存储数据的问题。然后,我们深入研究了数据集中产生偏差的原因以及识别和减少偏差的技巧。接下来,我们研究了模型在野外面临的挑战,以及如何降低将它们暴露给用户的相关风险。最后,我们研究了如何构建系统,以便将它们设计为对错误具有弹性。
这些都是复杂的问题,机器学习领域在解决所有潜在形式的滥用方面仍有许多工作要做。第一步是让所有从业者意识到这些问题,并在他们自己的项目中注意这些问题。
我们现在已准备好部署模型。首先,我们将在第 9 章探讨不同部署选项之间的权衡。然后,我们将在第 10 章介绍减轻与部署模型相关的一些风险的方法。