因为相信,所以看见

0%

动手实现机器学习框架——开篇

计算机堪称是人类历史上最伟大的发明,其强大的计算能力帮助人类在诸多领域实现了重大突破。但是,「机器能思考吗?」,图灵在 1950 年提出了这个问题,并给出了一个测试方案,即著名的图灵测试。经过近 70 年的研究与探索,今天,人工智能已经不仅仅是计算机科学家们研究的问题,它已经开始影响人们的生活,甚至将变革整个社会的发展。

通过传统的编程方式,没有哪个程序员可以设计出一个识别「猫」的程序,但是,通过机器学习可以有效解决这个问题。可以说,机器学习是解决这类问题的一个非常棒的思路。随着产业的发展,也有很多同学或者开发者开始转向机器学习领域,相信大家在入门的时候经常可以看到,N 行代码实现 ** 之类的文章,只要认真跟着做,几乎都可以获得预期的结果。

我认为这些看起来很简单的代码,要归功于 TensorFlow、PyTorch、Caffe 等机器学习框架,正是框架为我们实现了计算图的构建、正向传播的计算、反向传播中的自动求导,以及各种内置优化算法。这些框架在为我们学习说使用带来便利的同时,也屏蔽了一些需要深入理解的知识,使得我们像一个脚本小子,甚至觉得机器学习就是调调参数,改改网络结构。

本系列笔记的目标是基于 NumPy、SciPy 等基础的 Python 库来实现一个机器学习框架,深入理解机器学习框架中各种算法的处理。