图书前言

前言

近10年来,人工智能的发展突飞猛进,针对不同领域、不同数据源的算法层出不穷,形成了百花争艳的局面。各类AI产品也在悄无声息地融入我们的日常生活中,为生产与生活带来巨大便利。甚至,AI被许多学者誉为第4次工业革命的重要驱动力。不过,AI的范畴很大,而其中发展最为迅速,最具有活力的算法就是大名鼎鼎的深度学习,而深度学习的根基则是传统的神经网络。从卷积神经网络、循环神经网络再发展到如今的Transformer,包括GPT系列等语言大模型在内的各类AI产品似乎都离不开神经网络的根基。那么,什么是神经网络?如何构建神经网络?神经网络又有怎样的优势呢?本书希望能够给读者一个基本的答案。

仓颉语言是华为公司最新推出的全场景编程语言,包含较为完善的标准库和第三方库,其中,仓颉TensorBoost提供了神经网络构建的基本框架,而且其优良的语言特性可以提高神经网络的运行效率。另外,仓颉的语法糖还可以用于简化代码,方便初学者学习。本书是一本面向仓颉语言初学者,以及神经网络、深度学习初学者的书籍,意在提供关于仓颉TensorBoost的使用说明书。无论您是否有仓颉语言的编程基础,也无论您是否了解深度学习,都可以打开本书,一览究竟。本书会从最基本的神经元开始,讲述神经网络的发展历程,以及深度神经网络、卷积神经网络和循环神经网络的基本用法。

本书共11章,其中第1~4章介绍仓颉TensorBoost的底层逻辑,探寻神经网络的原理,通过“手搓”代码的方式实现了最为简单的神经网络,即多层感知机; 第5~9章介绍更加复杂的算子,以及如何通过仓颉TensorBoost构建深度神经网络,实现通用性AI模型; 第10章和第11章分别介绍两种非常经典且实用的神经网络——卷积神经网络和循环神经网络,并实现了图像识别和序列预测。需要注意的是,自从仓颉0.39.7版本以来,仓颉AI已经更名为仓颉TensorBoost。本书采用的仓颉和仓颉TensorBoost(仓颉AI)版本为0.39.4,只是版本和名称不同,绝大多数的API仍然保持不变。

素材(源码)等资源: 扫描封底的文泉云盘防盗码,再扫描目录上方的二维码下载。

本书的写作得到了华为编程语言实验室和仓颉for AI团队的大力支持,感谢华为编程语言实验室仓颉编程语言项目经理王学智、仓颉for AI团队主管赵平及仓颉技术专家涂玏博士的指导和鼓励。同时,感谢清华大学出版社赵佳霓编辑在本书写作中提出的宝贵意见,感谢我的爱人王娜,以及我的两个儿子董沐晨松、董沐晨阳的支持。限于笔者的水平,本书难免出现疏漏,恳请广大读者批评指正。

感谢读者对本书的支持和鼓励,祝大家身体健康,学有所获!

董昱

2024年8月