1. 从游戏玩家到机器学习研究者的蜕变之路

我经常收到邮件询问我是如何对机器学习产生兴趣的,以及我的专业背景。虽然我的故事并不特别,但我很乐意分享,也很荣幸有人对此感兴趣。这篇文章可能有点自我陶醉,但我希望它能成为我故事的权威版本,用来回答未来的类似询问。

我是一名程序员,最初只是出于兴趣开始捣鼓编程,后来辞去企业工作去研究人工智能并获得了几个高等学位,最终又回到编程领域,致力于解决更大的问题。这个过程中,我发现了编程的创造力和力量,并不断寻找更强大的工具,直到发现了人工智能。

1.1 计算机启蒙:从游戏到编程

我从小在充满计算机的家庭中长大。父亲是网络管理员,家里总是有家庭电脑,后来甚至有多台系统和大量临时计算机硬件。家用电脑对我来说就像家电一样,我可以用它来玩冒险游戏、平台游戏,以及早期的第一人称射击游戏。

有些游戏需要特殊的系统配置。为了能让特定游戏运行,我学会了DOS以及加载驱动程序和内存管理的细节。优化系统配置本身就成了一个比游戏本身更具挑战性和乐趣的"游戏"。

我们家里似乎总是有很多硬件,比如旧单色显示器,以及各种零配件,如XT主板、MFM硬盘、SCSI控制器和以太网网卡。学习如何组装电脑的动机来自于想玩那些只能在5.25英寸软盘上运行的游戏。后来,设计和组装电脑的动机则来自于想拥有自己的电脑来玩更新、更耗资源的游戏,比如《雷神之锤》。

网络游戏是我的另一个爱好,最初是通过调制解调器和空模型电缆,后来是通过小型局域网。学习如何设置临时网络绝对是必须的,这样才能玩合作模式和死亡竞赛模式的《毁灭战士》以及后来的第一人称射击游戏。

关键启示:技术知识通常是为了实现特定目标而获得的,对我来说,这个目标几乎总是玩游戏。

1.2 编程之路:从修改游戏到专业开发

玩大量第一人称射击游戏让我产生了修改游戏的欲望。我开始为游戏创建自己的关卡,并与朋友分享,后来还在我的个人网站上发布。我对游戏的更深层次修改产生了兴趣,开始改变代码并发布自己的游戏修改版,其中一些甚至获得了更广泛的关注。

最初,我对编程本身并不感兴趣,而是对我能构建什么以及能与谁分享感兴趣。我学习C和C++是为了修改游戏,学习Java是为了能轻松创建简单的GUI和网络游戏,学习网页编程是为了让我的个人网站看起来更好、运行更顺畅。

我意识到半正式的工作成果的重要性,这些成果可以打包和分享。我也发现,如果我有勇气分享我的作品,其他人可以从中学习、评论甚至改进。对我的作品的评论带来了其他机会,比如媒体报道、免费托管和与大师合作的机会。

在学校里,编程从被强制灌输的科目变成了我可以利用的资源,用来学习构建更有趣的东西所需的知识。我的编程能力和成绩得到了认可,我获得并接受了一份IT顾问的工作,为企业客户做大量的网页编程和企业级Java开发。

我深入研究了编程的艺术和工艺,以及更强大的工具,如网络编程和多线程。我开始阅读关于人工智能的书籍,从经典著作开始,然后阅读Minsky、Novig和Brooks的作品。

我尝试为自己的第一人称射击游戏编写AI机器人,探索导航和规划问题。我了解了神经网络和遗传算法,并开始编写自己的实现。我发现了学习向量量化和自组织映射等算法,并多次实现自己的版本。这让我参加了AI写作比赛和机器学习比赛,并取得了不错的成绩。

实践经验:兴趣可以推动你进入新的、有趣的领域,你可以根据需要即时学习所需知识。算法很神奇,但并非神秘,它们都写在论文里,任何人都可以将其转化为代码。

2. 从程序员到研究者的转变

2.1 研究之路:追随激情

年轻时的我更愿意花时间研究AI,而不是帮公司赚更多钱。我辞去了工作,将我正在攻读的硕士学位(晚上上课)从课程制转为研究制。

我加入了一个出色的复杂智能系统实验室,获得了深入思考和选择研究方向的自由。我决定深入研究遗传算法,阅读了大量种群生态学书籍,最终聚焦于生态位理论以及利用该理论解决多模态和多目标问题的算法。

我继续探索,发现了人工免疫系统领域,研究了进化过程在获得性免疫系统的分层和分布式模型中的空间和时间特性。这是一段非常愉快的经历。

我认识到激情是一个强大的工具,拥有选择和致力于某个研究领域的自由能够释放这种激情。它解开了束缚,让你最终对自己负责。

2.2 研究的乐趣与挑战

我发现自己比做实验更喜欢阅读和写作。这对我来说是一个彻底的转变。

我为了乐趣阅读了数百甚至数千篇研究论文。我开发并完善了一个过程,将所学内容浓缩并解释为小型半正式的技术报告。

我花了很多时间思考更广泛领域的问题。我创建了自己的平台来实现和比较算法,并敏锐地意识到已发表作品质量的差异、比较算法的绝对徒劳,以及已发表作品可重复性的深层问题。

我热爱科学,但这些问题让我对学术生涯望而却步。我发现了我对阅读和交流研究出版物中工作的热爱,并意识到我不需要在机构中继续这种兴趣。

3. 寻找真正的目标

3.1 创业尝试:技术与现实的碰撞

研究生毕业后,我召集了我认识的最聪明的人组成团队。我们的使命是通过"创业"将我们的技术技能转化为金钱,我加引号是因为我们完全不知道自己在做什么。

我们都能开发,但我们不会销售也不懂营销,不知道如何最好地利用我们的才能。我们的使命是每个月建立一个网站,能坚持多久就多久。我们没能撑过4-6个月,但成功建立了一批网站,其中两个获得了一些关注和客户。

我跳槽到另一家初创公司,这次是为了将我的AI和研究技能发挥出来。这是一家小型国防分包商,在信息检索、网络中心战和无人机控制器设计等不同领域使用多智能体技术。主要是与航空相关的项目。技术很有趣,也很好学,但都是研发原型。我看不到任何实际应用的东西。

重要教训:你需要有真实问题和真实需求的人。即使有聪明人和酷炫技术,除非你与有实际问题的人密切合作,否则你不会产生影响。

3.2 找到真正重要的问题

我抓住了一个机会,将编程、研究和数据都集中在一个真正重要的问题上。

我现在为一家气象组织工作,开发和维护气象学家用来预测澳大利亚和南太平洋热带气旋的软件和模型。我对统计模型、预报验证和集合方法特别感兴趣,因为它们与机器学习方法和实践有重叠和使用。

我偶尔继续参加机器学习比赛,并为当地初创公司提供咨询。我总是能学到一些东西。我还写了一本关于算法的书,试图直接帮助那些想要实现和学习有趣算法的初学者。

我发现,从事那些能够发挥你技能的重要问题是非常充实的。

4. 我的使命:帮助他人进入机器学习领域

我不是机器学习专家,但我见过一些事情。我曾经是那个感兴趣的程序员,实现过算法。我见过学术界的一面,获得了一些高等学位。我为从金融到初创公司的客户提供过咨询。我写过书,参加过现代比赛。现在,我感兴趣的是回馈社会,帮助初学者。

我走了很长的路,最终回到了起点。我在自己身上找到了信心和完成事情的纪律。改变的是心态,而不是技术技能。

我的使命是帮助程序员和工程师开始并在机器学习领域取得进展。帮助他们克服自我限制的信念,利用他们已经拥有的技能。

如果你痴迷于机器学习,那就学习和实践机器学习。专注于你的优势和已经拥有的技能,做出只有工程师和程序员才能做出的独特贡献。

我可以向你保证,一旦你找到了那个结合你技能的重要问题,你就会找到满足感。

如果你对我的故事和使命有共鸣,下载我的机器学习资源指南,加入我的邮件列表,发现你的定位和应该关注什么,开始并继续你的机器学习之旅。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐