用超级玛丽理解机器学习基础

简介: 有关神经网络和机器学习的文章很多,因为这个主题在最近几年里非常受欢迎。该领域看起来似乎让人难以靠近,并且非常难以理解。但实际上机器学习和神经网络的基本概念不一定像人们想象的那样复杂。本文的目的是通过一个简单的例子来解释机器学习工作原理的高层概念。

1.png

有关神经网络和机器学习的文章很多,因为这个主题在最近几年里非常受欢迎。该领域看起来似乎让人难以靠近,并且非常难以理解,许多人认为必须是数学家或统计学家才能掌握机器学习的相关概念。然而,机器学习和神经网络的基本概念不一定像人们想象的那样复杂。

本文的目的是通过一个简单的例子来解释机器学习工作原理的高层概念。希望这能为你继续阅读和学习相关知识带来更多的兴趣和信心。

增强学习

机器学习程序与常规程序的不同之处在于程序员没有在机器学习程序中明确地定义逻辑,而是创建了一个能够自己学习如何成功完成任务的程序。下面我给出的例子是一个强化学习机器学习程序。该程序接收输入,自己做出相关的决策并产生一个输出,然后根据输出中产生的奖励进行学习,并一遍又一遍地重复这整个过程。这可能听起来很抽象,但是我们人类学习如何做事也是一样的。下面我会把它分解成与人类学习相关的几个步骤。我们将以超级马里奥为例。

在开始我们这个虚构的实验之前,你必须把自己想象成是一个电脑游戏新手。你从来没有听说过超级马里奥,更没有玩过。然后,有人向你展示这个游戏。

输入

在屏幕中,你可以看到一些简单的2D场景,这就是你的输入。其中,你可以看一个小人,那就是马里奥,你还能看到场景中的所有其他物体。

输出

你有四种方式与游戏进行互动:向左走、向右走、蹲下、跳跃。这些就是你的输出。你可以根据输入来决定应该选择哪个输出。

奖励

你目前可能并不清楚游戏中潜在的奖励,但很快就会得到第一手经验。每个输出的奖励在游戏中是不同的。如果你只是向左或向右走,那么奖励很低。如果你靠近一个硬币,则奖励稍高一些。如果你跳进一个神秘的盒子,那么奖励会再高一些。但是,如果你被敌人击中,那么奖励是负的,不用说,负数奖励更像是一种惩罚。

学习如何玩超级马里奥

作为一名新手,你可以从按右箭头开始游戏。这样,你就会得到马里奥向右移动的奖励。然而,随着你继续按右箭头,马里奥最终会碰到一个板栗仔,这样,你被会被奖励死亡!

2.png
马里奥因为碰到板栗仔而奖励死亡

不用担心,你可以重新开始。这一次,当你注册了板栗仔向你走来的输入时,你可以尝试其他输出以获得不同的奖励。经过几次尝试之后,你就会意识到,要获得最高奖励的输出就需要跳到板栗仔的头顶,或者直接跳过它。你现在开始学习如何玩超级马里奥了哦。

3.png
当马里奥跳过板栗仔的时候,就会奖励继续活着

这个过程展示了强化学习是如何在现实生活中发挥作用的。机器学习程序一开始是一块干净的白板,不知道自己应该要做什么。然后,它需要一个输入,并开始试图找出哪个输出能让它得到最高的奖励。这个概念非常符合人类通过试错来学习的过程。我们首先以一种方式去尝试,然后以另一种方式去尝试,直到获得我们想要或者期望的奖励。

但是大家都知道如何玩超级马里奥……

是的,没有人真的需要学习如何打超级马里奥,因为这是一个非常直观的游戏。即使是孩子也能玩得非常好。

而我们这样做的目的是要将以往的经验包含在游戏中,从而能够更好地探索游戏规则,以便更快地获得更高的奖励。在机器学习中,这称之为训练

训练

如前所述,每当机器学习程序开始尝试弄清楚如何完成一项任务时,它就会以一块干净的白板开始。因此,给程序一些训练数据很重要,这样它才能从这些基础开始,直至学会如何完成任务,并确保在此期间不会反复地犯一些小错误。

当然,只要给予足够的时间,机器学习算法将能够训练自己以成功完成给定的任务。尽管这可能需要花费很长时间,但最重要的还是要为你的程序提供高质量的训练数据,以获得更准确的结果。

结论

本文的关键是要让读者理解机器学习算法是如何像人类一样学习并完成任务的。在传统的程序中,决策以条件语句的形式硬编码到程序中。例如,在超级马里奥游戏中就是依靠程序员来识别威胁并进入条件分支:如果发现威胁,请执行此特定操作,否则继续。这种传统程序和机器学习程序的主要区别在于,机器学习程序最终可以自主地做出决定。这样,机器学习程序就可以在无需重新编程的情况下用于完成其他类似的任务。我们的演示程序在玩超级马里奥之后可以很好地学习玩其他游戏,而且玩得越多成绩越高。这种行为与人类非常类似。

这篇文章只是对一个非常有深度的主题做了简单的介绍。如果你有兴趣深入了解人工智能和机器学习的话,我推荐你阅读一下这个系列的文章

文章原标题《Understanding basics of machine learning through Super Mario》,作者:Adam Wattis,译者:夏天,审校:主题曲。

文章为简译,更为详细的内容,请查看原文

相关文章
|
机器学习/深度学习 算法 Python
机器学习基础:用 Lasso 做特征选择
机器学习基础:用 Lasso 做特征选择
机器学习基础:用 Lasso 做特征选择
|
机器学习/深度学习 数据采集 算法
机器学习基础:令你事半功倍的pipeline处理机制
机器学习基础:令你事半功倍的pipeline处理机制
机器学习基础:令你事半功倍的pipeline处理机制
|
机器学习/深度学习 数据采集 存储
机器学习基础
机器学习基础
104 0
|
机器学习/深度学习 自然语言处理 算法
机器学习基础:奇异值分解(SVD)
机器学习基础:奇异值分解(SVD)
机器学习基础:奇异值分解(SVD)
|
机器学习/深度学习 数据可视化 算法
机器学习基础:可视化方式理解决策树剪枝
机器学习基础:可视化方式理解决策树剪枝
机器学习基础:可视化方式理解决策树剪枝
|
机器学习/深度学习 数据可视化 Python
机器学习基础:决策树的可视化
机器学习基础:决策树的可视化
机器学习基础:决策树的可视化
|
机器学习/深度学习 人工智能 算法
💗机器学习基础知识点总结
💗机器学习基础知识点总结
242 20
|
机器学习/深度学习 数据采集 人工智能
机器学习基础:大数据与深度学习的关系
机器学习基础:大数据与深度学习的关系
283 0
机器学习基础:大数据与深度学习的关系
|
机器学习/深度学习
机器学习基础:极大似然估计
机器学习基础:极大似然估计
61 0
机器学习基础:极大似然估计

热门文章

最新文章