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

揭秘机器学习:程序如何“创造”自己?

时间:2023-03-20 19:15:11 科技观察

本文转载自公众号《核心阅读》(ID:AI_Discovery)如今,人工智能和机器学习正成为大热潮。每天都有数百人使用机器学习来做各种事情:在线象棋游戏、YouTube视频推荐等。但机器学习到底是什么,它是如何工作的?很多时候,甚至开发这些机器人的程序员也不清楚它们是如何工作的,而大公司往往对这些“机器人工人”的工作方式守口如瓶。.但是,除非我们告诉它们,否则程序不会创建自己。人们需要教程序如何创建自己,有些人将此称为编程制作程序或程序教学程序。无论如何,人们不是直接教程序,而是告诉程序如何自己学习。一旦明白了这一点,就可以开始学习了,但如果要真正用手机学习,所需的时间少则几秒,多则几年。演示程序如何在看到一张猫的图片时识别出一只猫。人能看出它是猫,但你怎么知道它是猫呢?你可能已经被告知猫的样子,然后当你看到一只你不认识的猫时,有人会告诉你它也是一只猫,但如果你有一只你一生中从未见过的蓝猫,情况就不同了,但您仍然可以根据猫的共同特征判断它是猫。换个角度想想,你会发现其他东西也有同样的模式,比如被告知这些东西是猫,这就是为什么你能分辨出蓝猫是猫的原因。这正是机器学习所做的。它创建一个机器人程序,为它提供大量资源并告诉它如何分类,如果有足够的模式,它可以自学识别猫。另一个例子是教机器玩踩钢琴砖的游戏。这是一款非常受欢迎的游戏。玩家需要踩在黑色方块上才能前进。随着歌曲节奏的加快,演奏者必须尽量跟上节奏。他们不能踩到黑块以外的地方,也不能错过黑块。当然,人类可以识别出哪个是黑色方块并点击它。现在,如果您自己创建游戏,可能就像告诉机器做什么一样简单,但对于更复杂的流程和游戏,就没那么简单了。为了教会机器人程序玩这个游戏,引入了“生成”的概念。第一轮比赛开始的时候,几个节目齐刷刷的踩到了屏幕上。错过黑块或踩错黑块的程序要么被销毁,要么被回收,无论哪种方式,它们都不会延续到下一代程序中。打对黑牌的人会去下一代的节目,为下一代制作更多的节目。第一代的程序估计还没开始,比赛就结束了,一分未得。事实上,他们需要几十代甚至几百代才能连续几次正确,但最终机器学习可以教这些程序玩这个游戏,把它们训练得非常好,连人做梦都做不到是好的。他们究竟是如何学习的?他们通过抓住一些碰巧选择了正确答案的幸运儿来学习,并重复这个过程,直到他们获得可观的成功率。就像往一个人身上扔米,最后的结果是无数米粒被扔到那个人的耳朵里,总有一些米恰好被扔进去。”可以看出是什么让那些幸运者成功,而不是其他人。在钢琴方块的例子中,幸运的是那些设法得分而不是直接结束游戏的人:点击黑屏并从屏幕底部或黑方块下方一定高度只点击一次。这就是程序学会停止依赖运气的方式。就是实际执行的全过程。然后他们可能会意识到速度和秩序的重要性,这就是为什么机器人可以快速(如果不是永远)踩在黑块上的原因。这一切是好是坏?两个都!好的一面是,我们可以利用这项技术来做以前做不到的事情,同时做事更高效、更准确,而人类实际上可以从他们创造的机器人开始。从节目中学到了很多。例如,机器象棋大师就是机器学习在某些领域非常有用的一个例子。但有人会说:“人们可以使用程序作弊”。没错,但是人们也可以用程序来抓那些用程序作弊的人。一个人可能无法抓住说谎者,但是当一个程序识别出一个人的所有动作都是完美的时,真相就很清楚了,但前提是人类不能做到那么好。除此之外,我们还可以看到象棋中最好的开局是什么样的,我们还可以发现处理棘手情况的方法是什么样的。收集人们在浏览网页时留下的个人数据并将其提供给机器人一直是一个有争议的话题。用户可能不希望他们的搜索历史被知道。但这些程序也可以向用户推送相关广告,而不是推荐他们显然不想要的东西。不利的一面是机器人程序的不可预测性,尤其是当人们赋予它们人形成为机器人时,它们可能会做出一些危险的事情,甚至会有类似人类的情感体验。有一天,他们可能会试图逃脱人类的控制。假设机器人的目标是保护野生动物和地球,那么人类只不过是机器人的破坏性寄生虫。如果一个机器人发现自己试图逃避人类控制而激怒了人类,猜猜接下来会发生什么,他们肯定会打算用其他方法将人类从地球上消灭掉。这些能否在不久的将来成为现实?答案是肯定的。不管是好是坏,发生了很多事情。事实上,已经存在一种概念软件(人工智能机器人),它具有数千种类似人类的体验,并能发展出某种形式的情绪,并能很好地理解这些情绪。有句话说,“我有过很多痛苦的经历,但它们造就了我,我的思想,我的情绪,我的反应,以及未来会让我快乐的事情。”荒谬且实用价值不大,但极具哲理。如前所述,国际象棋机器人正在教世界上最好的国际象棋大师下棋。很快汽车将能够自动驾驶,从而减少事故数量。专家预测,到2045-2055年,将出现功能与人相似的机器人,它们具有人的身体、意识、情感甚至人格。创建有用的机器人程序需要学习很多东西,但提高数学技能和学习编程语言是一个良好且必要的开始,而Python无疑是最佳选择。你在等什么?现在学习!