大约二十分钟后,江寒忽然看到了一则消息。
ISLVRC2013已经开始接受报名,并开放了数据下载端口。
江寒不由得精神一振,总算等到了!
ISLVRC,全称ImageLargeScaleVisualReitionChallenge,中文名称“大规模视觉识别挑战”。
但其实,就是个图片分类比赛……
ISLVRC使用了Image的一个子集。
Image是一个相当庞大的图像识别数据库,由斯坦福大学模拟人类的识别系统建立。
有超过1400万的图像,以及相应的标签,共包含2万多个类别,一个典型的类别中,往往包含数百个图像。
这次的比赛中,Image提供的训练集,共包括12万多张图片,以及对应的标签。
验证集则是50000张图片和标签。
至于最终挑战的测试集,则包含了10万条数据,分属于1000个不同的类别。
这么大规模的数据集,制作起来成本高昂得惊人,全世界也没有几个。
对于研究机器学习的人来说,这个比赛可是不容错过的。
江寒马上就报了名,并利用会馆的WIFI,开始下载数据集。
只是,手头并没有电脑,怎么进行编程呢?
江寒沉吟了一下,马上进入了虚拟空间。
这里可是有一台随时可以使用的286。
虽然型号特别原始,性能落后了点,也不能调试、编译神经网络。
不过,自己完全可以用文本的方式,先把代码敲进去,保存好。
明天再找个时间,发送到真实电脑上,调试、修改、编译,然后上传到服务器上训练……
此外,这样做还有一个莫大的好处,那就是可以节省大量的时间。
毕竟在这里工作100个小时,外面只过去大约1个小时……
江寒思考了一会儿,很快就有了大概的思路。
首先,既然是图像识别,那么最适合的模型,自然是卷积神经网络了。
以为基础,打造一个深度学习网络,再进行一番优化,结合一些小技巧,大概率能取得极其优秀的成果。
江寒设想了一个多达十几层的卷积神经网络。
首先是输入层。
输入的图像数据,是n×n×3的RGB彩色图像,所以这一层的数据格式,可以定义为一个三维数组。
接下来是卷积层。
对于卷积神经网络来说,这自然是重中之重。
江寒花费了很大的心血,终于设计出一个全新的结构。
通过反复地卷积、池化和标准化,一步步提取图像的特征……
经过前面这些步骤,需要处理的神经元个数,和输入层相比,已经减少了很多。
接下来,就可以把数据送进全连接层,用softmax函数进行分类了。
最后还要有个输出层,对应1000种分类标签……
确定了大体思路之后,江寒又设计了一下网络的具体结构。
比如,应该有几层卷积层,每一层如何实现……
一般的神经网络里,激活函数主要使用Sigmoid和Tanh(双曲正切)函数。
但这两个函数……