Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

软件 2.0 #6

Open
justjavac opened this issue Nov 14, 2017 · 0 comments
Open

软件 2.0 #6

justjavac opened this issue Nov 14, 2017 · 0 comments
Labels

Comments

@justjavac
Copy link
Contributor

今日阅读:Software 2.0

作者 Andrej Karpathy,特斯拉人工智能部门主管,斯坦福博士


以前

我们将神经网络作为“机器学习工具箱中的另一种工具”。但是,这种解释只见树木,不见树林。神经网络不是软件开发的另一种分类,它们代表了我们编写软件的根本性转变的开始。它们是软件
2.0(Software 2.0)。

软件 1.0

软件 1.0 是用 Python、C++ 等语言编写的,是由一条一条的计算机指令组成。通过编写每行代码,程序员可以确定程序使用的资源:内存、CPU、外设、……等等。

软件 2.0

软件 2.0 是用神经网络权重编写的。

不过,没有人参与这段代码的编写过程,因为权重有很多,并且直接用权重进行编码是很困难的。

那么如何编写呢?我们对一个理想程序的行为指定一些约束,并使用可用的计算资源来搜索程序空间中满足约束条件的程序。

我们不是直接编写程序,而是编写一些约束条件,通过采集足够多的数据来进化出(探索出)我们的程序。

未来

大部分程序员不再需要维护复杂的软件库,编写复杂的程序,或者分析程序的运行时间。他们需要收集、整理、操作、标记、分析和可视化提供给神经网络的数据。

软件 2.0 不会取代 1.0(实际上,需要大量的 1.0 基础架构来进行训练和推断,以“编译” 2.0 代码),但是它将会越来越多地接管软件 1.0 的任务。

热评

有了软件 2.0,程序员以后面对的就是 bug 2.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant