我不是程序员,也不是数学家。大学时上过一门必修的计算机科学课程,而我只是勉强通过——那已经是20多年前的事情。然而,现在,在我40多岁的时候,我坐在门廊上与我的新朋友 Python 和 Numpy 作战,自愿地尝试建立我的第一个神经网络。事情是怎么变成这样的?
有一天我突发奇想:我意识到AI可能是最搅乱我的孩子们的生活的一种发展。在运营一家数据分析公司7年之后,我很想深入了解AI。因此,我决定参加一门深度学习和神经网络课程,该门课的老师是前百度首席科学家、斯坦福大学教授 Andrew Ng。
在为期四周的课程中,我花了30个小时来设计、构建和调整一个非常简单的神经网络。我很快了解到,Python 和 Numpy 并不是一本关于蛇和他的兔子小伙伴的书,而是一种广泛使用的编程语言和一个提高效率的计算插件。事实证明,为了构建一个基本的神经网络,这两个角色是我唯一需要知道的。
这门课是完美的:我需要努力,但不至于毫无头绪,我每次只学习一行代码。早期的工作很艰难,经常遇到一些令人抓耳挠腮的代码失败。但到了第二周,我写了一段简短的代码,告诉算法在200张猫的图片(训练数据集)上训练自己,以找出其他30张图片(测试数据集)中是否有猫。只有200张图片,我的第一个简单的算法大概能在80%的时间得到正确的答案。
当我意识到我刚刚编写了一个机器来识别一个生物实体时,那感觉是梦幻一般的。当完整的代码没有任何错误的时候,我握拳大喊:“OH YEAH!”,令孩子们吃了一惊。坦率地说,我对自己的反应感到惊讶。我可能只是正确地识别出了一只四条腿的猫,但现在,它给我的感觉远远不止于此:
1.这感觉就像我第一次开枪时。大约15年前,我第一次拿手枪射击。立即地,我意识到我正手握着一个非常强大的工具,它可以用于善,也可以用于恶。是的,我可能会伤害自己,但我也可以学会控制这种武器。编写我的第一个算法也是一样。我突然意识到,一个在蒙古拥有互联网连接、拥有一些数据以及花几百美元租用亚马逊服务器的处理能力的家伙,可能会在俄罗斯建一个改变人们生活的神经网络,或一个不那么善良的家伙,可能会让身份窃取的垃圾邮件更有效。我已经能利用一行代码的力量,但这些潜力可以用来做什么完全取决于我自己。
2.感觉就像调谐收音机。老式的收音机上,你需要转动一个旋钮来找到想要的电台频率。想象一下,如果你有1000个旋钮,你必须同时调谐才能找到本地新闻台。这需要花多长时间?与其花几天时间摆弄所有可能的排列组合,编写一个算法就像创造出一千人的手来转动这些拨盘,直到找到合适的组合。
3.感觉就像学习一门外语。最近我一直在学习斯瓦希里语和汉语。我很想加入至少会说三种语言的占世界人口13%的那些人中。AI就像另一种语言,它拥有自己的词汇、语法和句法。如果我遇到不懂的问题,就像你在遇到不认识的外语词汇那样:我会用谷歌搜索它。有好几次,我都用了搜索翻译的力量解决了。随着时间的推移,我希望能变得更流利。我现在的目标是“四语”,AI是其中一种语言。
4.感觉就像在指导孩子们打球。AI算法的关键在于提供一个计算机构建模块,教它如何一起玩,然后将这些简单的结果组合成更复杂的迭代。这类似于指导我11岁的孩子打篮球:一旦你教会他们传球、拦截、运球和投篮的基本知识,球场上真正的创造力就将由他们开启。
学会深度学习这一门语言,你就可以和未来对话。学会说这门语言并不像你想象的那么难。我就是一个典型的例子:你不需要先成为一个编程专家或数学奇才再来学习编程。你只需要愿意学习,并且能够很好地使用 Python 和 Numpy。