软件 2.0

Software 2.0

安德烈·卡帕西 Andrej Karpathy · Eureka Labs · 2017-11-11 · Karpathy Blog ↗

打开互动全文版(逐段中英对照 + 图/公式 + 论文问答)→

摘要 · Abstract

我有时看到人们将神经网络仅仅视为“机器学习工具箱中的另一个工具”。它们有优点和缺点,在某些地方有效,有时你可以用它们赢得 Kaggle 竞赛。不幸的是,这种解释完全只见树木不见森林。神经网络不仅仅是另一个分类器,它们代表了我们开发软件方式的根本性转变。它们是软件 2.0。我们熟悉的“经典栈”软件 1.0 是用 Python、C++ 等语言编写的。它由程序员编写的对计算机的显式指令组成。通过编写每一行代码,程序员在程序空间中确定一个具有某些期望行为的特定点。

[](https://karpathy.medium.com/?source=post_page---byline--a64152b37c35---------------------------------------) I sometimes see people refer to neural networks as just “another tool in your machine learning toolbox”. They have some pros and cons, they work here or there, and sometimes you can use them to win Kaggle competitions. Unfortunately, this interpretation completely misses the forest for the trees. Neural networks are not just another classifier, they represent the beginning of a fundamental shift in how we develop software. They are Software 2.0. The “classical stack” of Software 1.0 is what we’re all familiar with — it is written in languages such as Python, C++, etc. It consists of explicit instructions to the computer written by a programmer. By writing each line of code, the programmer identifies a specific point in program space with some desirable behavior.

核心贡献 · Key contributions

局限 · Limitations

论文章节 · Sections(共 7)

阅读逐段中英对照全文 →