2014年3月13日

Finished

        这些天看关于CNN(卷积神经网络)的东西,好在有个Torch7这么强大的软件包,Yann LeCun 大神推荐,必属精品。从今天凌晨到现在用CNN进行交通标志检测的程序还在跑,不过效果挺好的,或许这样哪次被导师问到最近搞了些什么东西时可以说上几句吧。

        这学期从一开始主要被安排协助搞交通标志检测与识别这个课题的研究,一开始看完了检测的相关论文后,觉得识别简单些,而且已有许多人用CNN搞了,效果挺好的的,所以自己也准备试试吧。从Yann LeCun 1998年的那篇论文看起,然后看了相关的论文,基本原理了解后,就是准备实验一下,当然以目前的功力自己实现太难了,所以就准备基于现有的软件包。之前听说过Theano,不过正好某天看到关于大神的采访的报道,其推荐了Torch7这个,想必肯定很强大,所以就准备用这个了。接下来的工作就比较自然了,Torch7是基于Lua的,先就看看Lua,脚本语言大同小异,学个基本的语法不难,之后看了Torch7的几个文档,由于几乎每天在实验室,每个小代码片段都实际运行了一下,学的还算可以。中间还从Youtube上下载到了视频的教程,对于入门太有用了。基本的学完后,就准备做实验了,首先对按照论文提到的方法,只使用图像中标志的最小包围矩形区域,同时转为灰度后进行CLAHE的灰度标准化,这些用Matlab搞的。预处理完后,用Torch7读取图像数据,然后参照其提供的Demo程序,也即是跑Mnist的程序,修改一下运行了。一开始出现了许多问题,例如batchsize问题,解决后,发现训练准确率一开始就很高,然而测试集惨不忍睹(0.7%),后来在另外的程序中发现其每次运行前进行了打乱样本顺序的洗牌操作,而自己却没有,同时自己的样本是一类一类的连着的,肯定有问题嘛。改后稍微好了些,不过发现第一次之后效果越来越差,然后想到可能学习速率太快的缘故,改后就基本好了。然后根据自己的情况,自己凭感觉重新设定了网络的结构。程序运行一轮要估计12分钟,一开始测试集就90%多,跑到第六论的96%后开始下降了,自己估计是过拟合缘故了,此时时间也不早了,四点多了,准备回去睡觉了,就让电脑熬夜工作去吧,然后今天上午又补觉没去实验室。

        中午起来后想起橡皮章了,然后把宿舍自新搬过来就一直没有碰的刻刀装备找了起来带到实验室去,好像好久没有刻东西了。下午去实验室时,程序的结果让人吃惊,想不到测试集的准确率在曲折中前进,最好的结果已有97.4%,虽然距离论文中提到快要达到99%的结果还很远(准确率这东西越到最后越难提高),但是就自己这样随便一试的结果来说太让人高兴了。虽然这些东西算不上学术,至少算的上技术吧,不过有没有技术含量又不好说了,哈哈。
        既然宝刀带来了,就想试试了。一直就想刻个东西,每篇论文看完后就做个标记,就像网络中的“赞”一样,具体的就像电影中申请什么然后被盖了的类似“REJECTED”的东西,想了想,既然看完了,就刻了个“FINISHED”,正好刻在橡皮的侧边上,几个阴文倒是很简单,几分钟搞定,不过效果不太好看,或许是自己写的本来就不好看,或者好久没动了手生疏了,再或者刻小字自己以前也怎么搞过。

        晚上吃完晚饭后回宿舍取了一下印泥和印台,在来回的路上天上的乌云感觉要下雨的样子,同时伴随着柔和的风,吹在身上很舒服。难道现在是春天了吗,难道这就是春风的感觉吗?一直以来大多的时间宅在了实验室,不见日月,不浴风雨,现在春天到了,微距镜头也买了,应该找找时间出去转转了。

       回实验室然后对着论文的右上角盖,看起来还挺有感觉的,很有官方机密文件的感觉,以后每看完一篇论文后盖标记就像每读完一本书在豆瓣上登记一下,算是对自己的一种激励吧。很多年以后翻阅起这些“红戳文件”,一定觉得很有意思吧。

 “红戳文件”

小黄+大小三本组

Posted in , . Bookmark the permalink. RSS feed for this post.

Done is better than perfect!