【摘 要】中小学信息科技课程与人工智能课程一般认为是包含与被包含的关系,但新一代人工智能的发展倒逼信息科技课程需要做出必要的改变。事实上,目前有关人工智能课程的研究与实践尚不成熟,在课标层面也缺乏体系化的设计,许多基本问题有待进一步研究与讨论,其中有关人工智能算法和编程的学习是比较关键的两个问题,并催生了计算思维内涵的重构问题,而这又涉及信息科技课程的本质。文章从逻辑与实践的角度对这些问题进行了初步讨论,供同行批评。
【关键词】人工智能教育;算法;模型;计算思维;编程教育
【中图分类号】G434 【文献标志码】A
【论文编号】1671-7384(2024)09-016-02
7月中旬,利用举办第三届“新师范”融合创新夏令营的契机,我邀请上海人工智能实验室科创教育主管谢作如老师给营员们介绍他对计算思维的新理解。其间他向学生们提出了一个问题:都是“算法”比赛,为什么信息学奥赛和人工智能类比赛(Kaggle、天池、IOAI等)的考核内容和形式完全不一样?为此,他援引图灵奖得主辛顿的观点,认为根源在于两种人工智能研究范式的差别,即前者遵循的是基于逻辑启发范式的符号主义,后者采用的是基于生物学启发范式的联结主义。换言之,前者认为智能是人为设计出来的,所以需要人去设计算法,而后者认为智能因“学习”而来,只需要让机器学会“学习”即可。因而他提出自己的观点:当前的计算思维仅仅关注了前者,从人工智能角度看,计算思维可以不需要“人工形式对数据做抽象分解再形成算法”这一环节。尽管这种解释颇具启发性,但困惑并没有消除:难道机器的“学习”不需要算法吗?如果不需要,那人们经常提及的算法陷阱岂非伪命题?如果需要,它从何而来?显然,就人工智能课程乃至信息科技课程而言,这些问题涉及课程内容设置的基本问题,有必要展开广泛讨论。
人工智能技术中的算法与模型有何差异
如果说上一代人工智能研究者所谓的算法更贴近传统编程意义上的算法,那么新一代人工智能研究者所谓的算法已经完全超越了算法本身的含义,而是为匹配大数据、高算力计算的需要开发的能够智能化解决问题的模型。它是算法学习数据的结果,是经过抽象和封装后的“黑箱”,也是群体协作的产物。这些“算法”(模型)往往是通用的,如ResNet适合解决绝大多数的图像分类问题,YOLO适合解决绝大多数的目标识别问题。遗憾的是,人工智能领域内对这种因技术发展所带来的概念变迁缺少敏感性,导致了算法与模型概念的混用。
显然,从新一代人工智能的角度出发,要求单个学习者设计开发人工智能模型中的底层算法不仅有一定难度,而且没有实际意义——大部分真实问题的解决需要的不是算法上的创新,而是有效数据的收集和整理。因此,必须将人工智能模型中涉及的算法进行封装降维,才能满足解决实际问题的需求和适应不同水平的用户(学习者)。就中小学人工智能教育而言,更难以让学生设计底层的算法,否则将一叶障目,人工智能教育淹没在枯燥算法的学习中,而失去了利用高性能模型(SOTA模型)解决实际问题的成就感。相反,引导学生学会针对实际问题“搭建”或者引用特定的算法模型才是更为合理的选择。例如,学生只需要搭建一个线性回归模型就可以解决某个预测任务。此处“线性回归模型”就兼有算法类型和模型的含义。在传统编程教育中或许需要让学生(或开发者)去设计这些底层算法,但在新一代人工智能教育之中,已没有算法设计的必要,否则就是“重复造轮子”——效率太低且难度过高。
进一步说,新一代人工智能教育,核心不再是算法的教育,而是模型的教育;除了精英取向的教育活动(如信息学奥赛)之外,对于绝大部分学生而言,只需要掌握基本的(简单的)编程技能,能够用低代码的方式训练和应用人工智能模型,足矣。例如,采用XEdu中的MMEdu模块只需要编写4~6行格式化代码就可以实现模型的训练或推理。如果图形化编程语言足够成熟,能够流畅支撑模型搭建、训练、推理、部署的所有环节,甚至代码编程也可以被取代。
计算思维的内涵是否发生了变化
计算思维的内涵是否发生了变化,实际涉及两个方面的问题:一是新一代人工智能的发展是否削弱了计算思维原有组成部分的必要性和重要性,二是新一代人工智能的发展是否催生了计算思维的新成分。
无论是周以真对计算思维的历次界定,还是《义务教育信息科技课程标准(2022年版)》的描述,计算思维始终包含问题分解、抽象(与建模)、算法(与实现)等内容,也都强调计算思维是人的思维而非机器的思维。作为面向问题解决的思维方式,问题分解自然没有争议,因为新一代人工智能本身就特别强调解决真实问题。事实上,任何实际问题的解决都离不开抽象,用数学思维解决问题需要将事物抽象成量化的数字,用物理思维解决问题需要将各种物理信息抽象成物理量,用计算思维解决问题需要将事物抽象成适合智能体处理的数据和算法模型。只不过,计算思维的抽象更强调分层抽象。典型如网络通讯模型,乃至深度神经网络的各层网络模型也是如此;即便简单如输入神经元的设置,本身也是对事物特征的抽象,而且需要在模型训练的过程中引用算法进行逐层抽象,过滤掉不重要的或细节性特征,降低模型的复杂度或提高模型的泛化能力,作为学习者理应理解这一过程中抽象所起的作用与意义。
需要追问的是,算法是否还应该作为计算思维的一个重要组成部分?新课标强调“具备计算思维的学生,能对问题进行抽象、分解、建模,并通过设计算法形成解决方案”,这并不适用于人工智能教育。当然,如果将算法泛化为利用计算机解决问题的一般过程,那么利用深度学习解决问题的过程(准备数据集、选择算法、训练模型、推理、部署等),也属于“算法”的范畴之列。新一代人工智能特别强调模型的训练,不仅重塑了传统利用计算机解决问题的一般流程,形成了一种新的“算法”,而且扩展了原有计算思维的内涵,即模型的训练与推理应用可以作为计算思维的新生部分[1]。国际上有关计算思维2.0的讨论,也是基于机器学习重塑了各种计算领域为基本背景。
当然,有关计算思维2.0的讨论目前还处在起始阶段;当且仅当学界和一线实践者都能确认这些变化,我们才能说计算思维2.0时代真正到来。
中小学生的编程教育是否必要
毋庸置疑,当前对编程教育的弱化与生成式人工智能的发展直接相关。一些专家认为,随着生成式人工智能的发展,“码农”将失去工作岗位。以此为依据,让学生根据问题找生成式人工智能给程序代码就好了,何必学习编程?这个问题,与有了生成式人工智能草拟文章为何还要学习写作是一个逻辑。如果我们认为写作是中小学生的基本功,那么对于信息科技课程乃至人工智能教育而言,编程能力就是一种童子功。尽管如此,我们依然需要避免矫枉过正,过分强调编程技能的精进而将中小学编程教育导向职业教育的歧途;相反,我们需要在基本编程技能学习的基础上,帮助学生理解利用编程解决问题的基本思想和方法,将编程教育视作培养学生计算思维的重要载体。
从这个意义上说,作为一种基本素养,信息科技课程不仅不能忽略学生编程技能的训练,而且应该紧密结合新一代人工智能教育的需要,引导学生学会利用生成式人工智能优化模型训练和推理所需的程序代码,将编程的“屠龙技”转换为“傍身技”。生成式人工智能降低了编程的门槛,让人人掌握编程(程序设计)成为可能。这个观点,如同我们二十年前呼吁人们重视编程教育的初衷是一致的[2]。具体而言,中小学在学习内容的设计上,需要充分发挥新一代人工智能的优势,将信息科技课程的科技本色做实做细。
参考文献
钟柏昌,刘晓凡,杨明欢. 何谓人工智能素养:本质、构成与评价体系[J]. 华东师范大学学报(教育科学版),2024,42(1): 71-84.
钟柏昌,周华英. 略论程序设计教育的价值和实施[J]. 当代教育论坛,2004(10): 40-41.