机器学习是一个很酷很新潮的字眼,几乎每天都出现在科技媒体中,但或许很多人都无法真正理解机器学习的意思,本文将从一个全新的角度带你认识机器学习。
先来看两个术语:
环境:本文指街道
代理:某种利用观察外部欢环境并作出反应的方式(软件),本文指在街道驾驶时不碰到别人的汽车内部软件和各种传感器总和。
其实,让代理做事最简单的方式就是告诉他们该怎么做,但对机器而言,它是根本听不懂你的话。你需要把人类语言转化为一系列代码,尤其是为了应对街道上的各种变化,比如天气、行人、动物、自行车等等突发性情况,可以很悲观地说,你不可能将所有可能性都写到代码里。
想象一下,有一个「Thing」独自在房间里,它不是人类,也不是动物,它就是一个「Thing」,简写为T。
T所知道的就是这些:
.食物对我来说很重要,我需要食物。
房间里除了食物,还有个洞穴和一瓶毒药,但T并不知道那代表什么意思。
首先,T直接去喝了毒药并掉进了洞穴死掉了,当T再重生时,它开始知道以下两件事:
.食物对我来说很重要,我需要食物
.当我吃下毒药并跳进洞穴,我会痛苦地死掉
现在,T决定喝掉毒药并绕开洞穴,但T还是死掉了,此时T知道了:
.食物对我来说很重要,我需要食物
.当我吃下毒药并跳进洞穴,我会痛苦地死掉
.当我吃下毒药,我会死掉但不会痛苦
接下来,T会不再吃毒药,但还是掉进洞穴死掉,此时,他意识到毒药和洞穴都意味着死亡,二洞穴意味着痛苦,几次尝试后,T会躲开毒药和洞穴,最终找到食物。
其实这就是机器学习。我们不需要教会T任何事情,我们只要告诉它目标,它就可以多次尝试,并最终学会。
下面,我们继续让T登场,此时,我们可以让T做任何它想做的事情,比如喝毒药,只是在它喝毒药之前,我们告诉他:
不要!那是有毒的!
T或许能像孩子一样意识到什么,或许T还会喝毒药,我们也继续警告它,随着警告次数越多,T也会逐渐明白:「好吧,原来那是危险的东西。」
这和很多人比如我对蜘蛛感到恐惧的情形类似,尽管很多人没有被蜘蛛咬过,但多年以来爸爸妈妈对你的警告都不同程度地塑造了蜘蛛在你内心的形象。
当无人驾驶汽车在街道上看到气球时,它或许可以辨别出气球,并「告诉」自己可以继续前进,它并不知道气球后面还有小孩,但人类能够理解,并降低速度,而通过训练,无人驾驶汽车能够做到:
我真的不知道为什么要看到气球时放慢速度,不过既然是人类警告了我,我觉得还是有原因的。
此后,每次无人驾驶汽车看到气球都会放慢车速,或许很多人觉得这是机器智能的表现,不,机器根本不知道为什么要这样做,在它们的大脑里,过去两个月加州公路上出现了2万个气球,约有85%的人类司机放慢车速,所以,向人类学习应该是一件不会犯错的事情。
当然,机器学习也不局限在汽车上面,很快,围绕人类衣食住行的很多软件工具都具备了机器学习能力。