我发现,有时候人们会把神经 络当作“不过是机器学习工具箱中的工具之一而已”。它有优点也有缺点,在某些领域有用,并且可以帮助你打赢 Kaggle 比赛。很不幸,这种观点完全是只见树木,不见森林。神经 络可不只是又一种分类器而已,它代表着一种根本转变的开始,这种转变与我们如何开发软件有关。它就是软件2.0。
我们对软件1.0已经比较熟悉 — 它们由计算机语言(如 Python、C++ 等)所开发。
由程序员显式指定计算机指令。随着编写一行行代码,程序员在整个程序空间中可以确定一个符合期待行为的点。
取而代之的是,我们为程序的行为指定目标(比如,“符合数据集中样本的输入输出对”,又或者“赢得围棋比赛”),并写好程序的骨架(比如神经 络的结构),这样就在整个程序空间中确定了一个可以用于搜索的子集,然后就可以使用我们所有的计算资源在这个空间中搜索可用的程序。
对于神经 络而言,我们将搜索限制在程序空间的一个连续的子集上,并且,使用反向传播和 SGD 方法进行搜索,,(出人意料地)这种搜索方式挺有效。
眼光很重要。当你意识到神经 络不仅仅是机器学习工具集中一种好用的分类器,而把软件2.0当作崭露头角的全新编程范式时,可以外推的事情就变得显而易见了,还有大量的工作可以去做。
具体而言,我们已经发明了大量辅助程序员做软件1.0开发的工具,比如强大的 IDE,它可以具备很多功能,像语法高亮、调试器、profiler、符 跳转、集成 git 等等。软件2.0中,编程工作变成了积累、调整、清理数据集。比如,当某些极端情况下,神经 络失效了,我们并不会去通过写代码来修复问题,而是导入更多这种情况下的数据就可以了。
谁将开发第一款软件2.0的 IDE应该可以在数据集相关的所有工作流中都发挥作用,包括积累数据、可视化、清洗数据、标记数据、生产数据。也许这种 IDE,会根据每个样本的 loss,把 络怀疑被错误标注的图像给拎出来,或者通过预测提示应该选用的标签的方式辅助标注数据,再或者依据 络预测的不确定性,推荐适合标注的样本。
传统的包管理工具和部署手段,比如 pip、conda、docker 等帮助我们更轻松地部署和安装软件。在软件2.0时代,如何更有效地部署、分享、导入和运行软件呢神经 络中,与 conda 对等的东西又会是什么呢/p>
简而言之,在可以低成本反复评估、并且算法难以显式设计的领域,软件2.0都将日益流行起来。当我们考虑整个开发生态以及如何适配这种新的编程范式时,会发现很多令人兴奋的机会。长远来看,这种编程范式拥有光明的未来,因为越来越确认的是:当我们某天要开发通用人工智能时,一定是使用软件2.0。

I am the Sr. Director of AI at Tesla, where I lead the team responsible for training neural networks for the Autopilot. This includes data labeling, neural network training, the science of making it work, and deployment in production running on our custom inference chip. A full build of Autopilot neural networks involves 48 networks that take 70,000 GPU hours to train over 10M+ images/videos. These networks are deployed in production on our customer fleet of 1M vehicles, where they output 1,000 distinct tensors (predictions) at each time step to help drive the car. Before Tesla I was a founding member and research scientist at OpenAI, where I worked on generative models and deep reinforcement learning. I received my PhD from Stanford, where my thesis focused on convolution/recurrent neural network architectures for processing images and text. While at Stanford I designed and was the primary instructor for the first deep learning class Stanford – CS 231n, “Convolutional Neural Networks for Visual Recognition”. The class became one of the largest at Stanford and has grown from 150 enrolled in 2015 to 750 students two years later, including 1M+ people who have followed my 2016 lecture videos online. I have a passion for neural networks/AI, automation, education, and increasing human/environmental prosperity.
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!