从事学术界和研究的一个很酷的事情是,你会时不时地发现自己对新想法和新主题的研究方法与该领域的其他研究人员产生了共鸣。这篇文章的灵感来自树莓派基金会最近举办的关于学校教育中的AI和机器学习(AI/ML)的系列网络研讨会。我们向儿童介绍AI/ML的方法确实与Schulte、Tedre等人在RPF系列研讨会中分享的方法产生了共鸣。
背景:刚刚过去的这个夏天,我们开始了这项研究是由美国国家科学基金会的SaTC-Edu项目资助的作为探索人工智能时代网络安全教育的新系列项目的一部分。在我们的项目中,我们正在探索和创新如何通过网络安全背景下的情境/问题向13-15岁的儿童传授人工智能和机器学习(ML),以“揭开”机器学习模型如何设计、如何工作以及在此过程中人类决策的影响。
的目标我们的探索性研究是在学习设计和教学方法上的创新,将人工智能和网络安全主题结合起来,并以系统和令人信服的方式将它们整合在一起,使早期青少年学习者易于获得。我们希望通过开发代码示例、抽象和编码经验来推动K-12人工智能教育的边界,这有助于在不需要掌握底层(通常是复杂的)数学概念的情况下实现基本的ML概念。我们不是简单地玩人工智能模型,而是希望早期青少年学习者能够真正了解机器学习模型,并能够检查潜在的算法,以便对人工智能/机器学习如何工作建立更深入的理解和直觉。正是通过这些方式,我们相信我们的课程超越了目前几种AI学习经验,即学生使用谷歌或其他平台使用预先构建的模型,或简单地使用训练分类器的库/API。尽管这些经验很有用,但它们不一定能揭开机器究竟是如何“学会”如何对图像、机器人或(异常)事件进行分类的神秘面纱。
在这里,我们分享我们认为是AI/ML学习基础的关键想法和直觉。在我们的课程设计中,这些想法是一系列活动的主线,旨在让学生接触到各种技术,如基于规则的AI、决策树、分类、基于案例的推理和生成式对抗神经网络。学生们通过网络安全问题的例子来构建这些直觉,例如DDoS攻击(检测和预防)、Twitter机器人、网络欺凌、信用卡欺诈、异常检测和深度造假。
数据,它的“特征”/“标签”,以及数据和这些选择的特征如何影响模型的训练。在工作中,我们使用NetsBlox,一个基于Snap的基于块的编程环境!(这是布莱恩·布罗尔在范德比尔特大学撰写的博士论文的一部分)。NetsBlox旨在为年轻学习者提供分布式计算和其他复杂概念。NetsBlox最酷的一个方面是它的可扩展性,以及将web服务和api集成到易于使用的基于块的基本Snap编程环境中的方法!.这使学生能够通过集成探索令人兴奋的新能力RoboScape(用于网络安全教育)和PhoneIoT(用于物联网教育)或调查主题数据集,如约翰霍普金斯大学提供的COVID-19发病率和NOAA的气候数据。NetsBlox还支持与通用在线数据分析平台,简称CODAP,以便使用CODAP提供的强大的动态数据探索技术洞察数据。这在理解数据对机器学习模型训练的影响方面尤其强大。这是一个我们如何使用CODAP来让学习者探索规范的例子iris数据集如下所示。NetsBlox不仅嵌入了CODAP UI,而且还允许将选定的表作为多维列表拉入编程环境,以便进行后续编码。
动态数据探索帮助学生探索数据集中的特征,并获得线性可分性等概念的实践经验。容易分离的类,如上面所示的橙色类,提供了一个机会来教授一些基本的机器学习概念,如特征选择和分类。更具挑战性的类使我们能够引入概率概念,如分类中的模型置信度。
通过探索数据分类的可能特征,学生可以使用如下所述的决策树等技术构建分类器。
机器“学习”本质上是一个优化问题。对于学习者来说,重要的是要理解机器学习中的“学习”问题本质上是一个优化问题,其中定义了一个目标、适应度或误差函数,算法的目标是最大化或最小化给定的函数。虽然这个年龄/能力的学生不能编写复杂的优化代码,但我们相信他们可以通过精心选择的活动、游戏或代码示例来开发直觉,这些代码示例将优化工作的基本方式带回家。例如,如果提出抽象概念,使梯度不需要掌握微积分,梯度下降是一个相对简单的概念,可以让青少年早期学生。
我们在NetsBlox中设计了这样一个类似游戏的活动,以促进对梯度下降的直觉。在手工完成活动后,学生可以通过编写代码来自动化搜索过程,发现学习速度和梯度下降算法中常用的梯度之间的关系。我们相信,从这些概念的实践经验中获得的直觉应该为丰富的讨论和批判性思维提供基础,并扩展到诸如此类的问题如果函数代表产品随时间变化的成本,那么优化意味着什么?如果这是机器学习模型的错误呢?
理解优化和机器学习之间的关系使学生能够批判性地思考机器学习模型中的人工智能和偏见(见下文),而且重要的是,避免成为机器学习和人工智能普遍拟人化的牺牲品。
敌对的思想在网络安全和AI/ML中都是一项有用的技能。思考模型如何通过对抗性的例子被愚弄是这种技能的一个丰富应用,挑战学生从网络安全的角度批判性地检查ML模型的漏洞。可解释的模型,如决策树,为主题提供了一个简单的介绍。通过实践经验建立直觉是相对简单的。在我们的课程中,我们扩展了Twitter Bot分类练习(将Twitter帐户分类为Bot (B)或NotBot (NB)),并进行了后续操作:你能构造一个被归类为“NB”的例子吗?从这里开始,研究如何将现有的机器人更改为错误分类是一小步。
将Twitter账户分类为Bot (B)或NotBot (NB)的决策树
这对于可微分的黑盒模型来说更加困难,因为它们依赖于对微积分中微分和梯度等概念的理解。然而,通过适当的抽象,我们相信在这种背景下的实践经验对年轻学习者也是可能的。在开发了简单领域的直觉之后,这些基本概念可以用于更好地理解现实世界中的复杂技术,比如用于欺骗自动驾驶汽车的图像上的对抗性示例。
虽然对抗性例子可能是对抗性思维最明显的应用,但它的用处远不止于此。在在线学习场景中,用户经常可以(直接或间接)影响ML模型的训练数据。探索这些影响,包括模型对训练集中的噪声的鲁棒性,以及它如何处理有偏差的数据,为AI/ML中的伦理和偏见的丰富和主题讨论提供了更多的机会。
泛化和过度拟合/ Underfitting。在训练ML模型时,模型推广到不可见点的能力是至关重要的,并且是对抗性例子的补充。一般化不好的模型通常很容易被愚弄。在探索了学习到的决策树后,这并不奇怪;所学习到的个别参数似乎有些武断。尽管可能不会手工制作新数据来欺骗模型,但我们当然希望确保模型能够在这些点上合理地执行。让学生训练可解释和黑盒机器学习模型,使他们能够获得关于过拟合/欠拟合的实际经验,并调查不同数据抽样方法对结果模型的影响。
对ML模型影响的理解偏差和批判性质疑。尽管AI/ML算法不是固有的偏见,当ML模型被用于影响人和现实环境的决策时,数据集中的偏差或与特征选择或优化相关的决策可能会产生严重的后果。随着AI/ML模型的使用变得越来越普遍,偏见的影响和对模型实际学习的理解变得越来越重要。通过“揭开”机器学习“面纱”的实践经验建立直觉,使学生对数据集和训练算法的影响有更深入的理解。
当结合上面列出的其他关键思想,学生能够对偏见的潜在原因和影响有更深入的见解。例如,第一个关键思想促进了关于用来表示数据点的特征的简单早期问题。学习泛化可以促进询问数据集的起源。这将如何影响数据集中各种类型数据的不足或过多表示?这将如何影响归纳?将机器学习视为一个优化问题会引发关于优化数量的问题。这与部署时使用模型的方式相比如何?如果我们训练模型根据历史数据进行预测,我们能确定过去的数据是我们想要复制的吗?如果是社会或文化问题剥夺了某些人口的公民权呢?
我们的项目正处于早期阶段,我们正在为2021年12月的一系列教师研讨会做准备(其中一些研讨会与#CSEdWeek同时举行),旨在让教师就计划的活动和项目的适宜性和年龄适宜性提供意见。内布拉斯加州大学奥马哈分校的德里克·巴布将有助于领导我们人工智能与青少年网络安全明年夏天训练营。同时,我们欢迎读者的反馈和与其他参与类似工作的人合作的机会。请访问我们的网站,给项目团队发邮件,或直接与我们联络(shuchig@cs.stanford.edu;brian.broll@vanderbilt.edu).
没有发现记录