一读小说 » 玄幻奇幻 » 太空人工智能 » 天选之子初露锋芒

天选之子初露锋芒

    “也许大难不死正向世人昭告了他的非同一般”

    01—巡航舰灰飞烟灭

    终于,在经历过去一个世纪的思想挣扎之后,开普勒星人组建了一个由一艘母舰和60艘巡航舰及180名队员组成的探险队——第一战舰,向星际高速公路进发……

    13个开普勒年(1开普勒年=385地球日,以下简称年)过后,第一战舰来到了第一个候选入口边缘。舰长随即派出一艘巡航舰K31前去侦查。从光导影像来看,K31看不到任何异常,但是下一秒K31就被一团超高速天体碎片击穿。

    就当所有人为K31的毁灭而悲伤和懊悔时,K31突然出现在大家视野,并向母舰方向驶来!

    一级警报!粒子束准备!

    就在粒子束瞄准K31准备发射的时候,K31发来了信息表示,仅有队员BIT幸存。当他回到母舰之后,所有人都惊呆了,包括BIT自己:他右脑完好如初;但左脑已经变一个镂空的密密麻麻连接在一起的神经网络,没有血肉,没有表皮,没有温度......只有清晰的银色网络结构,以及伴随他的一言一行而随之触发的蓝色电波在网络中流动!是的,除了左脑,BIT一切正常!

    大家都不明白眼前的Bit到底经历了什么,但他们面临的状况也不允许他们思考这么多:光导影像再一次勘察到了强力天体碎片,而这次是以100km/s的速度直奔母舰而来!

    碎片群正在逼近,最大的有半个母舰大小!

    舰长立马做出了指示:由于天体碎片群覆盖的范围过大,舰队无法在这么短时间内全部安全撤离,决定留下三艘巡航舰掩护母舰及其他巡航舰撤离……就在艰难做出决定之时,BIT的变异左脑蓝光突闪,他好像被一股力量击中了,又像是陷入了梦境,大脑一片空白,但是无数的画面开始在大脑中放映,这些画面的特点出奇的一致,要么是飞船要么是建筑要么是信号塔,无一例外遭遇突然莫名袭击,而且就在这些飞船、建筑或者高塔将要被摧毁的时候,脑海中总会快速闪过这种念头:这些攻击一定是可以被建模的,一定可以从若干个角度去描绘它们、预测它们、从而躲避或者摧毁它们;我需要利用机器分析他们,表示他们,然后标记他们,通过被标记的部分建立对这些攻击的完整模型,从而在下一次攻击来临的时候躲避他们,或者摧毁他们——是的,让机器学习这一切。

    2s之后,BIT通过母舰控制所有巡航舰有选择地发射粒子束,粒子束所到之处天体碎片被击得粉碎,对舰队不构成任何威胁;任由剩下的天体碎片击中舰队,神奇地是,这些剩下的自由撞击舰队的碎片好像与那些被粒子束击中的碎片不是同一种物体似的,他们在撞击到舰队的一瞬间就灰飞烟灭【实际上有一部分被粒子束忽略的碎片也对舰体构成了打击,但是这样的很少】。

    K星人的舰队躲过一劫!

    BIT事后向惊呆的大家展示了他的决策细节:

    他是亲历过第一艘巡航舰被天体碎片击中的唯一幸存者,他发现了所有朝巡航舰K31飞奔而来的天体碎片并非所有碎片都可以对舰体构成打击;BIT将问题进行了简化:假设当时冲向巡航舰K31的碎片只有3块,其中碎片A和碎片B对K31构成了实际打击,另一块碎片C反而被舰体撞散,所有天体碎片都有相同的冲向K31的速度,但是碎片自身旋转速度不同;每一块碎片都可以用体积和自转速度两个特征进行刻画,碎片A的体积是3(忽略体积单位),自转速度是3(忽略速度单位);碎片B的体积是4,自转速度是3;而碎片C的体积是1,自转速度是1;于是每块碎片可以表示为:

    A(3,3)、B(4,3)、C(1,1)

    这样可以把三块碎片看成是二维坐标系中的三个点,如下:

    然后为了区分这三点到底哪几个点是能够打击(BIT看到了碎片A和B击穿了巡航舰)巡航舰的,哪些没有打击能力(碎片C)的,就需要知道一条直线,这条线一侧的点属于有打击能力的点,也就意味着对应的碎片有实际威胁,而另一侧的点表示没有打击能力,属于无效碎片。

    如果用x1表示体积,x2表示自转速度,那么这条神奇的分界线表示出来就是:

    W1X1+W2X2+C=0

    如果按照在大脑中执行的步骤来看,大概过程是这样的:

    其中X1、X2等就像大脑中的神经元,负责接收信息,他们各自有个字的权重(重要程度W1、W2等),汇聚在另一个负责处理接收来的数据的神经元(wx+b),然后通过某个函数机制f,把最终结果输出:

    上图这条斜线就是区分有效攻击碎片和无效碎片的分界线。

    众人惊诧地把目光投向BIT,其中队员星牛对BIT说:呵呵,这不就是直线的一般式方式,莫欺俺……

    BIT哈哈一笑,接着解释:如果用矩阵表示的话……还没说完,星牛打断道:啥啥啥?啥矩阵?矩啥阵?矩阵啥?

    BIT继续:那么这个方程就是AX+B=0;A=(W1W2)X=,B=(b);先撇开矩阵表示不说,为了确定这条分割线,需要知道w1和w2以及c的值是什么,你们学过的直线方程,b就是充当截距的,w1和w2都是用来计算斜率的;其实从另一个角度,w1和w2分别表示与之对应的特征的重要程度,比如w1与x1相乘,那么w1的值可以理解为对x1也就是体积的重视程度;同理,w2就表示对x2也就是自转速度的看重程度。

    BIT咳嗽一声继续解释道:用随机梯度下降进行梯度更新从而获得w1和w2的最终值。

    BIT看出了大家的满脸疑惑,解释道:梯度下降可以这样理解:一个山坡,山坡各处的路况不同,为了找到最快最短的下山的路,每次需要从当前所在点找到下一步要走的方向并走完这段距离,然后到下一个点再找一下从当前位置往哪个方向走更快路线更短更优,然后继续走,直到走下山位置,这个找的过程基本操作是求偏导数,然后……算了算了,你们知道这些就够了。

    【梯度下降的示意图可以理解为最快最短下山路,见下图】

    那么我是怎么找到区分有效碎片和无效碎片分界线的呢?这个问题其实就是一个最优化的过程,其实可以把这个分界线的寻找过程转化为例如分类的错误率/正确率的问题,优化过程就是不断地调整和优化参数使得当前的分界线可以获得最高的分类正确率,直到某个界限(可以是一个事先设置好的阈值,比如学习多少轮或者准确率达到多少等)

    于是Bit就用这条线去划分了这次的天体碎片群,精准打击了那些真正的威胁性碎片,而任由其他碎片撞过来,避免了巡航舰及母舰过多的能源消耗。

    当然,实际情况是除了体积、自转速度还有碎片上坑洞数目、坑洞大小、与近邻碎片的距离等诸多特征,道理都是一样的……

    星牛补充道:而完成这一切思考和运算你只用了2秒?

    在BIT嘴角微微上扬,没有说话。

    02—掉书袋

    【1】上述情节是对感知模型(perceptron)的一个通俗的演义,当然是简化再简化的版本。故事中的每个天体碎片其实就是一条数据,数据有多个维度的特征,就好像天体碎片可以有体积、自转速度、邻近碎片距离、坑洞大小、坑洞多少等不同维度的数值,每条数据都是这样的N个维度数据,从而可以看成一个1xN的矩阵。

    【2】感知机模型是SVM(支持向量机)的基础版,后续会介绍SVM。

    【3】上述感知机模型演义中的分界线(就是上述情节中区分有效碎片和无效碎片的分界线)可以有无限多条,就像图中的分界线一样,对这条曲线进行一定的平移不影响分类效果,所以结果不唯一;这条曲线又叫超平面,超平面有时候是二维的线,有时候是三位的面,有时候是曲面......依次类推。

    【4】上述情节当中的学习目标选为分类的正确率不合适,因为分类正确的个数作为目标函数的话,它不是权重参数W和偏置B的连续函数,无法求导,也就无法利用梯度下降法进行优化,也就无法“学习”;正确的应该是选所有误分类点到超平面的距离最远作为优化目标。

    【5】感知机模型同样是深度学习中神经网络模型的基础,关于深度学习和神经网络后续会有所介绍。

    【6】感知机模型是典型的的监督学习模型,需要监督数据,也就是上述情节中Bit已知部分数据到底是有效碎片还是无效碎片。

    03—参考文献

    1.关键字:《统计学习方法》、李航

    2.关键字:《机器学习》、西瓜书、周志华

    3.关键字:coursera+perceptron、感知机