借助开源硬件开展人工智能实验教学 ——以虚谷号为例
谢作如
人工智能是通过智能机器延伸、增强人类改造自然、治理社会能力的新兴技术。2017年,国务院印发《新一代人工智能发展规划》,提出要“实施全民智能教育项目,在中小学阶段设置人工智能相关课程”。随后发布的《高中信息技术新课程标准(2017年版)》(下面简称“2017版课标”),不仅在必修模块1“数据与计算”中加入了人工智能的要求,还独立设置了一个名为“人工智能初步”的选择性必修模块。
● 人工智能教育与开源硬件
2017版课标对人工智能的学习提出了较高的要求,要求“搭建面向实际生活的应用场景”的智能系统,既然要搭建智能系统,那么学生如果仅了解人工智能的基础算法是不够的,还需要熟悉常见的人工智能开发工具和框架。新编写的高中教材全部采用Python作为基础语言,支持Python的人工智能框架则成了首选。Python语言具有开源和跨平台的特点,在Linux系统下资源更多,树莓派、虚谷号之类能运行Linux系统的开源硬件,自然而然成为学习人工智能的重要载体,也因此,2017版课标中多处提到了开源硬件。
● 借助开源硬件完成经典人工智能实验
高校里的人工智能课程教学,一般会结合系列实验,让学生亲历过程以培养能力。做实验则需要环境,搭建能够完成一系列人工智能实验的Python环境,需要安装很多扩展库,但现在中小学的机房绝大多数采用的是Windows系统,以至于配置编程环境成为一项难度很大的工作,还常常会发生模块之间不兼容的问题,让初学Python的教师无从入手。
开源硬件的固件安装方便,用专用的工具“刷入”即可。结合高中教材分析,开源硬件能够支持以下三类人工智能实验。
①人工智能基础算法实验。绝大多数的教材会将专家系統、K近邻聚类、K均值分类、决策树、回归分析、贝叶斯分析和神经网络等作为人工智能基础算法。支持这些实验的Python库主要有scikit-learn、Keras和Tensorflow等。
②特定环境支持的人工智能实验。计算机视觉、OCR、语音识别、自然语言处理之类是人工智能的主要应用领域,需要一些特定的库支持。计算机视觉一般选择OpenCV,人脸识别还会借助Dlib和face_recognition等。离线版本的语音识别库效果都不太好,建议使用百度AI开放平台的SDK,或者腾讯AI的WebAPI。自然语言处理还需要支持中文分词的库,如jieba。
需要强调的是,语音识别中的语音唤醒实验在Windows下没有找到特别合适的库,而Linux下可以使用Snowboy或者百度AI的SDK。
③结合传感控制的复杂交互实验。随着人工智能技术的迅速发展,人机交互不再是单纯的命令输入和输出,越来越体现出“自然交流”的特点。人工智能也逐步拟人化、可视化,真实可触可交互。
在普通的计算机上,几乎没有办法实现“传感与控制”,因为需要借助与各种外设或者智能终端,而开源硬件是智能终端的典型代表,其芯片引脚电平可以编程控制,不仅能够输出高低电平、读取电平状态,还具备ADC和PWM的功能,是实现人工智能复杂交互的最好选择。
● 在虚谷号上做人工智能实验
相对来说,能在普通电脑上完成的人工智能实验,在虚谷号上也能完成。虚谷号上已经预装了Python和常见AI框架,在虚谷号上我们成功完成了神经网络的一系列实验,具体如下表所示。
一般来说,一个完整的机器学习实验,分成收集数据、清洗数据、模型搭建、训练模型、评估模型和应用模型这几个基本步骤。在虚谷号上不仅可以完成实验,体验所有的步骤,还可以直接应用模型搭建一个智能信息系统。以手写数字识别、手势识别实验为例,在虚谷号上训练完成后,即可直接使用USB摄像头输入手写数字或者手势,虚谷号用语音(音箱)或者动作(舵机)的方式,将识别结果表达出来。这是对实验结果的拓展,学生不仅完成了一个实验,还开发一个典型的创客作品。
● 借助虚谷号开展人工智能实验的优势
1.开机可学习,环境方便携带
虚谷号上运行着完整的Linux系统,学生用远程桌面或者Web方式访问。只要有网络,开机即可连接使用,并且板子上内置了一系列ipynb格式的学习课程,方便自主学习。学生可以将虚谷号带回家研究,相当于一个可便携移动的编程服务器,体现出OYBD(Bring Your Own Device)的特点。
2.训练即应用,模型直接部署
常见的机器学习实验,当完成了“模型评估”环节后,实验就结束了。对中小学的学生而言,这样的学习是不够的,他们需要学以致用,需要应用模型搭建出智能信息系统,得到更加真实的体验。虚谷号不仅可以部署自己训练出来的模型,还可以运行在其他平台上训练的模型,兼容性很好。
● 结语
除了虚谷号之外,开展人工智能实验的开源硬件还有好几种选择,如树莓派、Jetson Nano、LattePanda等。这些硬件的价格都不贵,都能很好地完成这些经典实验。为了鼓励更多的学校使用开源硬件,2017版课标还在“教学提示”部分特意提出,要“充分利用丰富的开源硬件和AI框架等资源”,要“搭建面向实际生活的应用场景”,要采用小组合作、项目学习等方式组织教学,鼓励学生积极探究、大胆实践。
其实,不仅仅“人工智能初步”模块需要开源硬件,必修模块“信息系统与社会”和选择性必修模块“开源硬件项目设计”“网络基础”的教学,同样需要开源硬件。期望有更多的教师去了解开源硬件,并利用开源硬件教学人工智能,让我们的学生都能更加真实地触摸人工智能、理解人工智能、驾驭人工智能。