第二日,齐凡抱着崭新的几本教材,踏进了计算机专业研一的课堂。
虽说他身怀系统自诩不凡,可还是打起了十二分精神来应付研一的课程。
时值五月中旬,这学期的课程进度早已过半。因而此间的课程对齐凡来说是没有铺垫的。
今天第一节课讲的是数据库设计与实现。
虽然前面半个多学期的课程齐凡缺失了,但并不影响他跟上进度。
上课所用的数据库是mysql 6。
至于为啥不用Oracle或者sql server。因为那两玩意儿不开源,扒不到源码,那还讲个毛的设计与实现。
讲台后头,老师讲的正起劲。
“mysql的索引可以极大提高数据查询的速度。”
“而建立索引,就相当于对数据提取快照。索引的建立没有固定的范式或者套路可循。需要根据实际的业务逻辑来做调整。”
“总之,大家要明白。索引其实就是对数据提纲挈领。就像是对一屋子的书籍,提炼出一个大纲书目。让你在找书时,可以根据大纲来查找,而不需要再跑到书架那里,一个个书架地去寻找。”
“同时呢,索引本身也可以包含一部分常用数据。”
“比方说:你需要知道某本书的简介,那你可以在做书目大纲的时候,一并把简介也做进去。这样呢,你查这本书的时候,就能直接看到它的简介,就没必要再跑去书架那里翻那本书。”
“讲到这里,同学们肯定有个疑问。既然能附带简介,那我们为什么不多附带一些内容呢。把书每一章的介绍也附上?然后你们就会发现,这会是一个没完没了的工作,到底附带多少信息才算是最合理呢。因为无限制的附带下去,这份书目大纲本身也会越来越厚。最后就会违背大纲的初衷。”
“所以说,要根据实际情况去调整索引。”
齐凡听着上头老师的讲解,感觉很好理解。因为数据库本质上就可以理解成是个超大型图书馆,使用数据库无非就是增删改查,对应图书馆中书籍的插入、拿出、挪位置。
那数据库最重要的方面。除了保证数据的安全和稳定之外,就是保证数据的快速查询。对应图书馆中对某本书的快速定位。
既然如此,那这个问题就变得很具体很形象。没啥难理解的。
齐凡不明白其他人不停记笔记的意义何在。
台上的老师仍旧在讲着。
“为了帮助同学们理解记忆,前辈们总结了一首口诀。”
“全值匹配我最爱,最左前缀要遵守;”
“带头大哥不能丢,中间兄弟不能断;”
“索引列上不计算,范围之后全失效;”
“LIKE百分写最右,覆盖索引不写*;”
“不等空值还有or,索引失效要少用;”
“字符单引不可丢,SQL高级也不难。”
齐凡看着这首口诀,心中已有体会。
其实吧,这口诀通篇都在强调一个重点--索引是脆弱的,千万不要瞎搞。
这就好比一个图书馆的书目大纲。
那大纲内容写多了会太厚,从而失去大纲的本意。写少了则内容缺失,起不到大纲的作用。
而如果编辑大纲的时候胡来,那有大纲也等于没有。
【计算机经验+10,积分+10】
许久不曾开启的系统面板又有了变化。
【AI系统:Lv0(20/100)】
【计算机:Lv1(110/500)】
【数学:Lv0(52/100)】
【硬件:Lv0】
【模型:Lv0(40/100)】
【积分:270】
想不到一堂课下来就获得了10点计算机经验。
眼下刷计算机分支经验成了齐凡上计算机专业课的唯一动力。因为计算机专业课实在太无聊了,都是些前人已经玩得滚瓜烂熟的东西。即便有更新,也不过就是一些锦上添花的小改动。
更坑爹的是,高校中不会有最前沿的计算机技术,因为IT行业发展太快,而高校和市场是脱节的。至少在华国是这样的。
齐凡其实不仅是对数据库不感兴趣,他对除了AI以外的IT行业内容都不感兴趣。因为那些内容都是陈旧的东西,纵然有创新也不过就是技法上的创新。其应用场景已经锁死了,不会再有半朵新兴的浪花。
就拿数据库来说好了。
纵然现在有人发明了一个超牛的数据库,能将数据查询速度提升到碾压其它数据库的地步。这确实能带来极大的经济效益,可是也仅止于此了。
因为数据库的应用场景就在那里。它就是拿来保存数据的,玩出了花来也不过就是个数据的容器。
铁棒玩出了花来也还是根铁棒,成不了定海神针。
但AI就不同了。
人类的大脑的功率才20W左右。而GTX 680的最高功耗接近200W。
在识别一个数字或者字母这件事情上,人类的大脑只需那么一瞬就完成了。但是XCNN呢?
它需要先建模,然后标注数据,然后跑训练。
即便模型和数据样本没出半点差错,训练跑个单周期一万次就成功,那也要14个小时才能跑完。
相比于人脑的一瞬间完成,GTX 680要在接近满负荷200W的状态下,狂奔近14个小时。
这其中的差距有多大。
人正常行走跨一步的距离大概是70到100厘米。而蚂蚁的平均爬行速度,大概是每秒2.7厘米。
也就是说,如果取折中,人的一步按85厘米来计算。那蚂蚁爬过人的一步也不过就是30多秒。
14个小时足够一只蚂蚁爬出1360米。
如果要用人和蚂蚁的速度来类比人脑和GTX 680的表面差距,那人的一步得跨出1360米。等比例计算的话,如果人的平均身高是1.7米。那为了能一步跨出1360米,人的身高得达到2700多米。
这个高度差不多能够到喜马拉雅山的三分之一。
这就是在GTX 680加持下的XCNN神经网络,在识别数字和英文这一件小事上的表面差距。
数字是平淡的,但数据背后所代表的意义却是波澜壮阔的。
如此巨大的差距,怎能不勾动撩拨起齐凡的兴趣和神经。
况且,这种差距只是表面的差距。
人脑识别数字和英文几乎是不会出错的,但是XCNN如今还有5%的错误率。
更况且,识别数字和英文对人脑来说太简单了。
如果换成是识别图片呢。比如谷哥正在花重金做的一件事--让程序识别猫和狗。
对于这种事,人脑还是能在一瞬间完成。而XCNN呢?想都别想。
齐凡目前为止还没想到如何让XCNN去识别猫狗,连如何让它识别中文,都还在摸索阶段。
什么是差距,这就是差距。
差距最能引起人挑战的兴趣。
齐凡隐隐觉得,或许眼下所谓的神经网络,并非是人脑的运行方式。
人脑的神经元有8000个触点,而XCNN的每个神经节点顶多就是4个触点。这4个触点还分2个输入和2个输出,严格来说其实是2对触点。
他都不敢想象8000个触点是什么概念。
因为神经节点之间的链接是错综复杂的麻花状,每增加一个触点所增加的复杂度是非线性的。
其数学复杂度对应的是X的N次方。X是神经节点的数量,N是每个神经节点触点的数量。
那么哪怕这个X的取值是2,N每增加1,就是对原先复杂度的翻倍。而X的取值绝对不可能是2,因为XCNN的神经节点数量已经过万。
要是按现在XCNN的运行原理,用这种原理去复刻一个人脑,岂不是把整个地球的电量拿来供给都不够。
所以,齐凡才会怀疑,XCNN的神经网络工作原理并非是人脑的运行方式。
但是呢,眼下他没得选。XCNN是离AI最近的一条路。