Andrej Karpathy:神经网络是“软件2.0”,而非机器学习的一种工具
我有时看到人们把神经网络称为“机器学习工具箱中的另一种工具”。神经网络作为一种工具有这样那样的优点和缺点,在这个任务或那个任务工作,有时你可以利用它们赢得Kaggle的比赛。不幸的是,这种解释只见树木,不见树林。神经网络不只是另一种分类器,它们代表了我们编写软件的根本性转变的开始。它们是软件2.0(Software 2.0)。
软件2.0正在越来越多地接管软件1.0的任务
软件1.0(Software 1.0)的“经典堆栈”(classical stack)是我们很熟悉的——它是用Python、C++等语言编写的,它由程序员编写的对计算机的明确指令组成。通过编写每行代码,程序员可以确定程序空间中的某个特定点。
相比之下,Software 2.0 是用神经网络权重编写的。没有人参与这段代码的编写过程,因为权重有很多(典型的网络可能有数百万