APP下载

简单人工智能应用模块开发教学建议

2022-03-24王飞郭君红

中国信息技术教育 2022年6期
关键词:编程工具模块

王飞 郭君红

“简单人工智能应用模块开发”是选择性必修模块4“人工智能初步”中的一个重要组成部分。课标在这一部分强调学习者对开发工具和平台的认知和理解,能够利用相关框架,搭建简单应用模块,能够合理配置系统的应用环境、参数以及自然交互方式。

● 教学中存在的问题

第一,多数教师的人工智能专业知识相对欠缺,缺乏对核心问题的整体把握;实践层面缺乏相关技术路径的整理与提炼,对实践工具的认知不足,对具体技术使用生涩。

第二,教学聚焦方向不清,在解决问题层面缺乏学科方法的引领,任务设计和教学环节中过分追求内容的“高大上”和趣味性,忽视了学科思想、方法和本质内容的落地。

第三,在教学过程中,知识、方法、实践三条线索没有形成统一的认识,三者处于割裂的状态,很难帮助学生深度挖掘。

● 整体把握学科知识与技术路径的建议

1.关注核心问题

在面对各种应用场景和项目时,需要把握共同的问题:人工智能(AI)是如何对客观世界做出反应的?教师要引导学生关注AI对客观世界的现象进行数据化处理的过程、模型训练的方法以及在模型构建基础之上的判断与预测,并对这一过程进行进一步分析和抽象。学生在学习相关内容时,可以从数据的采集、存储、传递、处理、训练和应用等层面着手探究。

2.理清程序思路

人工智能应用模块的开发对使用者的编程能力具有一定要求。目前使用的教材主要以项目式教学为主,将学习者的学习程度界定为“非零起点”,应用实践内容只提供程序代码片段,并没有对技术实施过程进行详细梳理,而相关程序中的技术细节往往纷繁复杂,学生极易陷入各种枝节性问题中不能自拔。因此,教师应将技术脉络的分析作为教学中的重点环节。笔者以人教—中图版信息技术教材(人工智能初步)为例,对案例及设计的技术点进行了简单整理,具体如表1所示。

表1中案例涉及工具种类繁多,没有明确线索和顺序、因果关系,教材也难以给出详细的问题解决方案、数据来源和工具使用方法,因此还需要教材对技术点进行分类和整理,把握操作中的共性内容和方法。

(1)面向对象的一般方法:对象名.属性(方法)

通常来说,人工智能应用模块的开发主要是在第三方扩展库基础上进行搭建,第三方库的调用沿用了Python语言中面向对象的特征和方法,遵循创建对象、利用对象的属性获取数据、利用对象的方法处理数据操作的基本思路。在沿用此思路基础上,通过阅读第三方库的说明文档可以迅速上手操作。

(2)Python语言中批量数据的处理

在高中阶段,人工智能应用模块的开发更多聚焦在数据层面,包括数据的处理、应用和可视化操作。在Python环境下,列表是数据存储和处理的基础,numpy为数据更多的数学化运算提供了遍历条件,字典的引用是对封装数据进行解析的基础,Python语言中基本数据类型的处理依然是完成开发任务的关键。

(3)三大结构的进一步理解

对任何项目开发而言,三大控制结构依然是基础。在了解第三方扩展库的功能上,如何调用相关功能、调用条件和顺序等相关问题离不开应用结构的设计与支持。因此,在整个开发过程中,程序结构的分析始终是教学的重点问题。

3.选择适当工具

(1)常见的编程工具与应用场景

高中人工智能应用开发主要利用Python环境。教师可以根据不同编程工具的特点和任务需要,自主选择适当的编程工具。当前常用的编程工具和具体应用场景如下页表2所示。

(2)常见的第三方扩展库

人工智能相关知识过于复杂,多数应用的开发都是站在巨人的肩膀上,利用第三方扩展库构建支架,实现功能上的创新。下页表3总结了几种常见通用且开源免费的扩展库。

基于第三方扩展库构建模型遵循数据采集、存储、处理、运算、应用等实践路径进行操作。实践过程包括利用第三方扩展库采集数据(如视频、图像、音频等)和创建数据对象;借助列表、字典以及numpy数组等数据结构将核心数据进行提取和存储;使用第三方扩展库进行数据训练和可视化操作以及模型的调用和再利用。整个开发过程具有一定的通用性,可以应用于解决各类问题,但对师生的编程和数学知识要求较高,应用层面难度较大。

(3)常见的数据集和训练集的使用

在应用开发的过程中,笔者更希望学生能够对人工智能的原理以及开发过程各步骤的作用、意义有更深入的理解,而不是停留在囫囵吞枣、照猫画虎、走马观花的程度上。开源训练集的应用,在一定程度上解决了这个问题。

开源数据集的使用降低了样本选择以及学习过程中数据统计分析与处理技术上的难度,使得模型的应用更加准确,取得的结果更加合理科学。教师可以将主要精力放在引导学生聚焦AI利用数据的学习过程,尝试可视化探索等层面,进一步对原理进行探索。

(4)人工智能服务平台

当前,大量的AI应用设计都是借助人工智能服务平台的支持实现的。AI产品通常作为终端,向平台发送申请,平台在处理完成后返回终端进行响应,这种方式极大降低了人工智能模块应用的难度,逐步被广大教师采用。

利用接口API指令向平台发送申请,从而得到封装好的数据对象,再通过解析json数据格式对象获取需要的数据为程序提供各种服务。利用人工智能服务平台搭建应用框架,极大地降低了技术操作门槛,通过API提供的学习文档,师生可以很快上手进行操作。但大部分平台受到调用次数、每秒查询率、用户连接数等限制,在账号管理上也存在较大困难。同时,在平台调用过程中产生的数据安全和伦理道德问题也成为教师授课过程中的主要困惑。

● 对教学模式选用的建议

1.以功能复现为主要学习路径的实践探索

功能复现是指借助于人工智能服务平台或第三方模块,在教师的引导下,学生从应用功能实现入手,探索实践过程及其背后的原理。

功能复现在教学过程中着重強调构建用户与人工智能服务平台间数据通信与解析的桥梁,以功能接口为依托,完成项目任务。平台的封装性使得原理探究层面略显单薄,在原理分析过程中,可以进一步挖掘其现象背后的数据问题,尤其关注平台对数据的处理以及对象的最终呈现。

2.以创意产品开发为主的项目式探究

采用创意产品开发为主要教学情境的内容,更多从开发者角度进行作品的设计、功能实现创新与完善,最终更多关注项目的实现程度。

创意产品开发弱化了原理层面,更加重视研发过程、编程方法和工具应用。在教学中,尽可能考虑开源工具的整合,综合运用多种工具和方法创造性解决相关场景的问题。

3.以原理探究为核心的任务体验与开发

该教学模式更多聚焦功能实现背后的基本原理和方法,相比而言,教学中的功能实现和效果呈现处于相对次要的位置,在教学中更多关注数据的拟合、模型和应用的过程。在整体教学中,教师要鼓励学生进一步走进人工智能的黑箱,探索数据是如何进一步学习、训练和生成模型的。

猜你喜欢

编程工具模块
Module 2 Highlights of My Senior Year
Module 4 Music Born in America
波比的工具
波比的工具
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
编程屋完成数百元万天使轮融资
准备工具:步骤:
学编程,先画画
“巧用”工具