机器之心的进化 / 理解 AI 驱动的软件 2.0 智能革命( 三 )


大规模神经网络

大脑的工作方式肯定不是靠某人用规则来编程 。Geoffrey Hinton
大规模神经网络的竞赛从成立于 2011 年的 google Brain 开始,现在属于 Google Research 。他们推动了 TensorFlow 语言的开发,提出了万能模型 Transformer 的技术方案并在其基础上开发了 BERT,我们在第四章中将详细讨论这些 。
DeepMind 是这个时代的传奇之一,在 2014 年被 Google 以 5.25 亿美元收购的 。它专注游戏算法,其使命是 "解决智能问题",然后用这种智能来 "解决其他一切问题"!DeepMind 的团队开发了一种新的算法 Deep Q-Network (DQN),它可以从经验中学习 。 2015 年 10 月AlphaGo 项目首次在围棋中击败人类冠军李世石;之后的 AlphaGo Zero 用新的可以自我博弈的改进算法让人类在围棋领域再也无法翻盘 。
另一个传奇 OpenAI,它是一个由 Elon Musk, Sam Altman, Peter Thiel, 还有 Reid Hoffman 在 2015 年共同出资十亿美金创立的科研机构,其主要的竞争对手就是 DeepMind 。OpenAI 的使命是 通用人工智能(AGI – Artificial General Intelligence),即一种高度自主且在大多数具有经济价值的工作上超越人类的系统 。 2020年推出的 GPT-3 是目前最好的自然语言生成工具(NLP - Natural Language Processing)之一,通过它的 API 可以实现自然语言同步翻译、对话、撰写文案,甚至是代码(Codex),以及现在最流行的生成图像(DALL·E) 。
Gartner AI HypeCycle
Gartner 的技术炒作周期(HypeCycle)很值得一看,这是他们 2022 年最新的关于 AI 领域下各个技术发展的成熟度预估,可以快速了解 AI 进化史 这一章中不同技术的发展阶段 。
机器之心的进化 / 理解 AI 驱动的软件 2.0 智能革命

文章插图
配图08:Gartner AI HypeCycle 2022
神经网络,这个在上世纪 60 年代碰到的挫折,然后在 2012 年之后却迎来了新生 。 反向传播 花了这么长时间才被开发出来的原因之一就是该功能需要计算机进行 乘法矩阵运算 。在上世纪 70 年代末,世界上最强的的超级电脑之一 Cray-1,每秒浮点运算速度 50 MFLOP,现在衡量 GPU 算力的单位是 TFLOP(Trillion FLOPs),Nvidia 用于数据中心的最新 GPU Nvidia Volta 的性能可以达到 125 TFLOP,单枚芯片的速度就比五十年前世界上最快的电脑强大 250 万倍 。 技术的进步是多维度的,一些生不逢时的理论或者方法,在另一些技术条件达成时,就能融合出巨大的能量 。
02 软件 2.0 的崛起
未来的计算机语言将更多地关注目标,而不是由程序员来考虑实现的过程 。Marvin Minsky
Software 2.0 概念的最早提出人是 Andrej Karpathy,这位从小随家庭从捷克移民来加拿大的天才少年在多伦多大学师从 Geoffrey Hinton,然后在斯坦福李飞飞团队获得博士学位,主要研究 NLP 和计算机视觉,同时作为创始团队成员加入了 OpenAI,Deep Learning 的关键人物和历史节点都被他点亮 。在 2017 年被 Elon Musk 挖墙脚到了 Tesla 负责自动驾驶研发,然后就有了重构的 FSD(Full Self-Driving) 。按照 Andrej Karpathy 的定义 - “软件 2.0 使用更抽象、对人类不友好的语言生成,比如神经网络的权重 。没人参与编写这些代码,一个典型的神经网络可能有数百万个权重,用权重直接编码比较困难” 。Andrej 说他以前试过,这几乎不是人类能干的事儿。。
机器之心的进化 / 理解 AI 驱动的软件 2.0 智能革命

文章插图
配图09:Andrej Karpathy 和神经网络权重
2.1 范式转移
在创建深度神经网络时,程序员只写几行代码,让神经网络自己学习,计算权重,形成网络连接,而不是手写代码 。这种软件开发的新范式始于第一个 Machine Learning 语言 TensorFlow,我们也把这种新的编码方式被称为软件 2.0 。在 Deep Learning 兴起之前,大多数人工智能程序是用 Python/ target=_blank class=infotextkey>Python 和 JAVA 等编程语言手写的 。 人类编写了每一行代码,也决定了程序的所有规则 。
机器之心的进化 / 理解 AI 驱动的软件 2.0 智能革命

文章插图
配图10:How does Machine Learning work?(TensorFlow)
相比之下,随着 Deep Learning 技术的出现,程序员利用这些新方式,给程序指定目标 。如赢得围棋比赛,或通过提供适当输入和输出的数据,如向算法提供具有 "SPAM” 特征的邮件和其他没有"SPAM” 特征的邮件 。编写一个粗略的代码骨架(一个神经网络架构),确定一个程序空间的可搜索子集,并使用我们所能提供的算力在这个空间中搜索,形成一个有效的程序路径 。在神经网络里,我们一步步地限制搜索范围到连续的子集上,搜索过程通过反向传播和随机梯度下降(Stochastic Gradient Descent)而变得十分高效 。


推荐阅读