一、教学理念
人类社会正在迈向智能时代。智能计算系统是智能的核心物质载体,每年全球要制造数以十亿计的智能计算系统(包括智能手机、智能服务器、智能可穿戴设备等),需要大量的智能计算系统的设计者和开发者。智能计算系统人才的培养直接关系到我国智能产业的核心竞争力。可见,对智能计算系统的认识和理解是智能时代计算机类专业学生培养方案中不可或缺的重要组成部分,是计算机类专业学生的核心竞争力。
《智能计算系统》是一门全面贯穿人工智能整个软硬件技术栈的系统性课程,课程采用“全栈贯通,应用驱动”的核心理念,以一个图像风格迁移的驱动范例带动,重点围绕智能计算系统的设计理论、方法、关键技术等展开讨论,从基本概念开始,由浅入深帮助学生建立智能计算系统设计及应用的知识体系,培养智能时代急需的芯片设计、软件开发、算法研发等各个层次的人才。
二、课程目的
本课程为核心专业类实训课程,旨在培养学生对智能计算系统完整软硬件技术栈(包括基础智能算法、智能计算编程框架、智能计算编程语言、智能芯片体系结构等)融会贯通的理解,帮助学生能够:
理解智能计算系统的基本概念和基本理论,实现对智能计算软硬件技术栈的贯通理解;
应用神经网络进行模型训练,了解深度学习算法并利用深度学习编程框架设计网络;
了解智能芯片的基本架构,并能够结合这些知识使用智能计算系统,了解智能芯片解决智能任务的原理;
初步具备使用智能计算系统软件工具满足实际场景需求的能力,并通过实践环节培养设计、开发智能应用软件的能力。
三、面向对象
课程主要面向计算机、软件工程、人工智能、微电子、自动化等方向的高年级本科生与研究生。
四、教学方式
课程采用传统课堂授课与实验项目相结合的方式进行教学,结合各章节的重点或难点,设计相应的分阶段章节实验,循序渐进将软硬件栈的知识点都贯穿起来,使学生在实操过程中逐步加深对智能算法、编程语言、系统软件、体系结构、智能芯片运行环境等知识体系的理解,让学生做到学以致用、活学活用。
五、推荐学时
常规为48学时/2学分,课程内容可根据不同学校的教学安排做灵活调整,也可以16、20、32、40、60等学时方案开展教学。
六、前序课程
学生最好具备线性代数、概率论与数理统计、计算机组成原理等相关课程基础。
七、教学大纲
第一章:概述-A Driving Example(3学时)
1.1 人工智能
1.2 智能计算系统
1.3 驱动范例
第二章:神经网络基础(6学时)
2.1 从机器学习到神经网络
2.2 神经网络训练
2.3 神经网络设计原则
2.4 过拟合与正则化
2.5 交叉验证
2.6 章节实验一:神经网络设计实验
2.6.1 基于三层神经网络实现手写数字分类
2.6.2 基于DLP平台实现手写数字分类
第三章:深度学习(6学时)
3.1 适合图像处理的卷积神经网络
3.2 基于卷积神经网络的图像分类算法
3.3 基于卷积神经网络的图像目标检测算法
3.4 序列模型:循环神经网络
3.5 生成对抗网络GAN
3.6驱动范例
3.7 章节实验二:深度学习设计实验
3.7.1 基于VGG19实现图像分类
3.7.2 基于DLP平台实现图像分类
3.7.3 非实时图像风格迁移
第四章:编程框架使用(3学时)
4.1 为什么需要编程框架
4.2 编程框架概述
4.3 TensorFlow编程模型及基本用法
4.4 基于TensorFlow实现深度学习预测
4.5 基于TensorFlow实现深度学习训练
第五章:编程框架机理(6学时)
5.1 TensorFlow的设计原则
5.2 TensorFlow计算图机制
5.3 TensorFlow系统实现
5.4 编程框架对比
5.5 章节实验三:编程框架实验
5.5.1 基于TensorFlow实现图像分类
5.5.2 基于TensorFlow实现实时风格迁移推断
5.5.3 基于TensorFlow实现实时风格迁移训练
5.5.4 自定义TensorFlow CPU算子
第六章:深度学习处理器原理(3学时)
6.1 深度学习处理器概述
6.2 目标算法分析
6.3 深度学习处理器DLP结构
6.4 优化设计
6.5 性能评价
6.6 其他加速器
第七章:深度学习处理器架构(3学时)
7.1 单核深度学习处理器
7.2 多核深度学习处理器
7.3 *章节实验(选修):深度学习处理器运算器设计
7.3.1 串行内积运算器设计
7.3.2 并行内积运算器设计
7.3.3 矩阵运算子单元设计
第八章:智能编程语言(6学时)
8.1 为什么需要智能编程语言
8.2 智能计算系统抽象架构
8.3 智能编程模型
8.4 智能编程语言基础
8.5 智能应用编程接口
8.6 智能应用功能调试
8.7 智能应用性能调优
8.8 基于智能编程语言的系统开发
8.9 章节实验四:智能编程语言实验
8.9.1 智能编程语言算子开发与集成实验
8.9.2 智能编程语言性能优化实验
第九章:综合实验(12学时)
9.1 目标检测-YOLOv3
9.2 文本识别OCR-EAST
9.3 自然语言处理-BERT