机器学习|AI Insight:放弃幻想,搞 AI 必须过数学关


机器学习|AI Insight:放弃幻想,搞 AI 必须过数学关文章插图
作者 | 子白
从2012年“大数据”概念兴起到2016年人工智能大热 , 已经四五年时间了 , 该看的热闹看到了 , 该爆炒的话题炒够了 , 该沉淀的也沉下来了 。 现在越来越多的人已经放下质疑 , 相信这一届 AI 确实靠谱 , 该找找门道了 。 最近好多关注 AI 的公众号都发表了文章谈数学学习的问题 , 这就真的上道了 。 如果你是技术人员 , 特别是程序员 , 想成为 AI 工程师 , 那么只要你稍微花点时间研究一下 AI 的门道 , 就会意识到 , 主要的拦路虎是数学 。 如果你看到有人说什么不懂数学也能搞 AI , 那你可能要警惕 , 因为这很可能是一种误导 。
一定要认识到一点 , 数据科学、机器学习、DT、AI , whatever , 不管你叫什么 , 它不是 IT 行业中又一项新技术 , 而是一个新行业 。 马云说 IT 时代结束了 , DT 时代开始了 , 有点标题党 , 但大意是对的 。
我们要充分认识到 , 这不是一次 paradigm shift(范式转换) 。 游戏没变 , 规则变了 , 那是 paradigm shift , 连游戏都变了 , 那就是 game shift 了 。 比如说 , 对于商业来说 , 互联网是一次 game shift , 但对于 IT 行业来说 , 从企业网 C/S 架构走向互联网 Web 架构 , 平台变了 , 工具变了 , 协议变了 , 模式变了 , 赚钱的规则也变了 , 但事情的本质没变 , 还是在网络上构造商业管理和通讯系统 。 所以面向对象是 paradigm shift , 敏捷是 paradigm shift , Web 是 paradigm shift , 移动互联网开发是 paradigm shift 。 而 AI 不是 paradigm shift , 是 game shift 。
新行业有新玩法 。 AI 跟 IT 技术的主要差别是什么?简单的说 , 就是 AI 对数学要求较高 , 对编程要求较低 , 而 IT 开发对于编程要求高 , 特别是对编程经验要求高 , 但对数学要求不高 。
机器学习|AI Insight:放弃幻想,搞 AI 必须过数学关文章插图
“大学工科数学三板斧”
说一个秘密 , 全世界的程序员两千万 , 大多数手持大学学历 , 外行人以为他们的数学都得要好 , 但其实大部分人对于大学数学三板斧微积分、线性代数和概率统计的记忆已经基本清零 。 除了专业从事有关领域的底层技术开发人员 , 大多数程序员、架构师、软件工程师、项目经理甚至相当多的 CTO , 对于什么方向导数和梯度、函数项级数的一致收敛、魏尔斯特拉斯定理、拉格朗日乘数法、矩阵特征值与特征向量、矩阵二次型、多维随机变量条件分布之类的大学数学基本概念 , 实际已经陌生如听天书了 。 这无可指责 , 因为这些东西在实际产品设计、系统开发和运维当中根本用不着 。 他们必须将主要精力投入到“广义计算机语言”的学习当中 , 适应所谓“热门驱动开发(Hype Driven-Development)” , 包括一门又一门最新最火的编程语言 , 一个又一个网络协议 , 成百上千的 API 用法 , 各种框架、平台、数据库、操作系统和浏览器的方言、怪癖甚至陷阱 , 还有设计模式、架构模式、版本管理、build system、container、DevOps , 等等等等 , 内容实在是太繁杂了 , 变化实在是太多了 , 风潮转换实在是太快了 , 耗费精力实在是太大了 。 哪有时间搞没用的东西?连算法都只是在准备跳槽刷题时才需要认真对待的 , 数学?一边凉快去吧 。
机器学习|AI Insight:放弃幻想,搞 AI 必须过数学关文章插图
“三板斧之后”
然而搞 AI 就完全是另一回事 , 关键是数学 。 大学工科数学?那只是一个基础 , 想再搞懂 AI 的那些基本的算法和思想 , 你不但需要把这三板斧基础打扎实 , 而且还需要学习矩阵分析和凸优化 。 这只是一个入门 , 想要在这个领域有点建树 , 你可能还需要在随机过程、泛函分析、微分流形、数值分析和优化理论等领域进一步深造 。 想要搞机器人学或自动驾驶?还得研究微分方程、运动学、动力学 。 毫不夸张的说 , 在 AI 学习的入门阶段 , 数学是主要的攻坚对象 , 任何胸有大志的 AI 学习者都不要幻想绕过数学 。