第三期 steam互动视频《一个人工智能的诞生》测评and学习
人工智能,深度学习,机器识别……说起来很简单,听起来很厉害,但,它们到底是什么?与其简单地观看视频,不如亲自上手操作。调整参数,改变视角,实时演示,只需要一点高中数学知识,你就能亲眼见证 —— 一个人工智能的诞生。
哈喽,欢迎来到阿焰的个人博客,这是steam游戏《一个人工智能的诞生》第三期测评。在前两期中,我们已经解决了简单的二分类问题,学习到了一种基础的机器学习方法,而在这一期中,我会介绍这种机器学习方法遇到的第一个难题,揭开一种神秘而强大的变换方法,期待了吗?那就慢慢往下看。
古有一分钱难倒英雄汉,今有一条线整懵计算机。
第三章 空间的变换
这是魔法吗?!
如何用一根线分开黄色的点和蓝色的点?很显然,只移动线是不行的,这也就是之前的简单神经元结构无法分开这两类的原因。那应该这么做呢?如果你学过线性代数,你就应该马上能明白我们接下来要接触的巧妙方法——空间变换。
空间的变换也分为两类,线性变换和非线性变换。线性变换在计算机看来很简单,只需要给每个向量乘上一个变换向量,按照矩阵乘法的方式运算,就可以实现线性变换空间的效果(可以看看3B1B的线性代数视频,动画很直观)。但是呢,这样做也有一个问题,那就是我们确实可以拉伸,平移空间,但是还是没办法分开两类点。从坐标系网格来看比较直观,我们能发现线性变换后坐标网格仍然是直来直去的,只是有了倾斜和不同间距,没有实现开头那样弯曲的效果。
这是为什么呢?因为其中少了一个很关键的东西——激活函数。
激活函数是一种非线性变换,有了它的加入,就可以把看起来直来直去的坐标系给按照一定规则弯曲,从而实现开头那张弯曲空间从而分来两类点的效果。常用的激活函数有:Relu,Sigmond,tanh等,如果你尝试过类似VGG等简单神经网络模型,你就会发现每一层神经网络后都紧跟着一层激活函数,这就是为了让每层神经网络都具有区分这种非线性问题的能力,这非常重要。
当然,仅仅添加了激活函数,还有可能遇到下面这种问题,这就是圆环和圆环的分类问题,你会发现这无法用刚才的方法区分开来,应对方法也很简单,升维。
增加了一个维度后,其几何意义便变成了一个三维空间中如何用一个平面区分两类点的问题,这样就可以解决圆环的区分问题了。
好啦这就是本期的全部内容,我们下一期再见。
相逢有缘,见字如面,如果再也不能见到你,那么祝你早安 午安 还有晚安 (。•̀ᴗ-)✧