当前位置: 首页 > 科技观察

我是如何在2个月内从头开始使用AI的?

时间:2023-03-21 16:54:22 科技观察

编者按:人工智能正在变成“电”一样的东西,关心未来发展的人都应该有所了解。尤其是对于不懂人工智能的开发者来说,未来的竞争力会大幅下降。ShivalGupta在HackerNoon上发表的一篇文章中,介绍了他是如何在2个月内开始学习人工智能的。文章由36氪整理。在这个时代,每个人都很忙。人们的个人生活和职业生活正在发生巨大变化。最重要的是,随着人工智能等技术开始变得越来越流行,你会发现在未来两年内,你获得的技能将变得过时。当我关闭我的初创公司Zeading时,我敲响了一个巨大的警钟。感觉就像我错过了一些非常独特的东西。在不断变化的环境中,成为传统意义上的全栈工程师是不够的。未来两年,不掌握人工智能技术,全栈工程师就不再是全栈工程师了。是时候行动了。我采取了我认为是我现在唯一能做的事情——更新我作为开发人员的技能,以产品经理的心态和企业家的心态处理数据,并且是数据驱动的。正如人工智能和金融科技行业知名风险投资家和思想领袖SpirosMargaris对我说的那样:初创公司和企业仅在先进的人工智能和机器学习算法上竞争是不够的。人工智能将不再是一种竞争优势,而是一种基本要求。您是否听过有人将“用电”称为竞争优势?构建我的第一个神经网络的一个非常普遍的建议是听AndrewNg在Coursera上的课程。这是开始的好方法,但我发现很难长时间保持清醒。我并不是说课程不好,但我真的很难在课堂上保持专注。我的学习模式一直是实践,在实践中获取新知识。所以我想,为什么我不自己建立一个神经网络呢?但是我并没有直接去构建神经网络,因为它是一种更高级的学习方法。我刚开始尝试熟悉该领域的所有术语,以便我能够理解该领域。首要任务不是学习。但很熟悉。我是纯Javascript和Nodejs出身,当时不想转其他编程语言。所以我搜索了一个名为“nn”的简单神经网络模块,并用它来实现与模拟输入的“与”运算。受一个教程(传送门)的启发,我选择了这样一个问题:对于任意输入X,Y,Z,输出结果都是XANDY。对应的代码如下:当结果为0.9971时,我意识到这个神经网络已经学会了如何做一个AND运算并忽略额外的输入。这样的成绩,大大增强了我的自信心。这就是机器学习的意义所在。你给计算机程序一组数据,它会自动调整其内部参数,这样它就可以在新数据上回答问题,而原始数据的误差较小。这种方法,我后来才知道,也叫梯度下降法。补充AI相关知识在完成我的第一个AI程序后,我非常自信,想知道作为开发人员我还能做些什么。我解决了一些监督学习问题,如回归和分类。使用有限的数据集,我尝试使用多元线性回归来预测哪支球队会赢得比赛(当时这很不准确,但很酷)。我在谷歌机器学习云上做了一些演示,看看人工智能现在能做什么(作为SaaS工具,谷歌做得很好)。我偶然发现了AIPlaybook,这是由著名风险投资基金Andreessen-Horowitz组织的一个很好的资源。对于开发者和创业者来说,这确实是最方便的资源之一。我开始在Youtube上观看SirajRawal的精彩频道,该频道专注于深度学习和机器学习。我在HackerNoon上读了一篇很棒的文章,内容是关于一位硅谷主持人如何构建NotHotdog应用程序的。这是我们可以做的深度学习中最容易理解的例子之一。我开始阅读特斯拉人工智能负责人AndrejKarpathy的博客。虽然我很难理解其中的内容,但它让我很头疼。但是我发现,在尝试了更多时间之后,我开始理解一些概念。鼓起勇气,我开始逐字(复制和粘贴)一些深度学习教程,并尝试训练模型并在我的本地机器上运行代码。在大多数情况下,结果并不乐观,因为大多数模型需要很长时间才能训练,而且我没有GPU。渐渐地,我从JavaScript切换到Python,并在我的Windows机器上安装了Tensorflow。整个过程中,我都是在被动地消化内容,在脑海中建立一些相关的认知。以后遇到实际问题的时候,可以用到这些知识。正如史蒂夫乔布斯在斯坦福大学的演讲中所说,你无法在展望未来时将这些片段联系起来,你只能在回顾时将它们联系起来。制作一个聊天机器人作为电影《Her》的忠实粉丝,我也想制作一个聊天机器人。我接受了挑战,并使用Tensorflow在不到两个小时的时间内完成了移动。并在几天前的一篇文章中概述了我是如何做到的以及它的业务需求。幸运的是,这篇文章反响不错,在网上广为流传(传送门,36氪整理了文章)。这对我个人来说是一个非常好的现象,毕竟我才刚刚开始写技术博客。我认为这篇文章是我AI学习之旅的一个里程碑。它让我在Twitter和LinkedIn上结交了很多朋友,可以和他们深入讨论AI的发展,发现自己的不足,甚至在有问题的时候可以向我伸出援手。我还收到了一些咨询项目的邀请。最重要的是,年轻的开发人员和AI初学者开始问我是如何开始学习AI的。这就是我写这篇文章的原因。帮助更多的人从我的学习过程中得到启发并开始他们自己的学习过程。万事开头难,开始是任何过程中最具挑战性的部分。结论这绝对不是一件容易的事。当我开始被Javascript困住时,我几乎是一夜之间就学会了Python并学习了如何用它编写代码。当我的模型无法在我的i7机器上进行训练时,我开始感到恼火,甚至经过数小时的训练后,它们返回的结果显然是错误的,球队赢得板球比赛的概率是50/50。学习人工智能不像学习网络框架。这是一项技能,您需要了解在计算的微观层面上发生了什么,并确定对输出影响最大的部分——代码或数据。同样,人工智能不仅仅是一门学科。它是“从简单的回归问题到有一天会杀死我们的致命机器人”的总称。就像你从事的任何其他学科一样,你可能想在人工智能中挑选你想擅长的东西,比如计算机视觉或自然语言处理等。在与人工智能、金融科技和加密技术领域的领导者GauravSharma的对话中,他对我说:在人工智能时代,“聪明”(beingsmart)将意味着完全不同的东西。我们需要人们从事更高层次的、批判性的、创造性的或其他需要更多情感投入的工作。要开始这个学习过程,您必须让自己沉浸在计算机如何突然学会以它们的方式做事的过程中。耐心和好奇心是您应该坚持的两个关键原则。这是一次重大的旅行。非常累人,非常烦人,而且非常耗时。但值得庆幸的是,就像世界上所有其他旅行一样,它需要从一个简单的步骤开始。原文链接:https://hackernoon.com/how-i-started-with-learning-ai-in-the-last-2-months-251d19b23597编译组制作。编辑:郝鹏程