雅文吧言情小说网 > 都市言情 > 重生学神有系统 > 第252章 数据解析和fcn的拓扑结构

输出层的神经元个数,一般应该与输出结果的分类数相同。

数字手写识别,是一个10分类任务,共有10种不同的输出,因此,输出层就应该拥有10个神经元。

当输出层的某个神经元被激活时,就代表图片被识别为其所代表的数字。

这里一般用softmax函数实现多分类。

先把来自上一层的输入,映射为0~1之间的实数,进行归一化处理,保证多分类的概率之和刚好为1。

然后用softmax分别计算10个数字的概率,选择其中最大的一个,激活对应的神经元,完成整个网络的输出。

至于隐藏层的数量,以及其中包含的神经元数目,并没有什么一定的规范,完全可以随意设置。

隐藏层越多,模型的学习能力和表现力就越强,但也更加容易产生过拟合。

所以需要权衡利弊,选取一个最优的方案。

起步阶段,暂时先设定一个隐藏层,其中包含100个神经元,然后在实践中,根据反馈效果慢慢调整……

确定了网络的拓扑结构后,接下来就可以编写代码并调试了。

调试通过,就加载数据集,进行训练,最后用训练好的网络,进行预测。

就是这么一个过程。

江寒先写了一个标准的fcn模板,让其能利用训练数据集,进行基本的训练。

理论上来说,可以将18万条数据,整体放进网络中进行训练。

但这种做法有很多缺点。

一来消耗内存太多,二来运算压力很大,训练起来速度极慢。

更严重的是,容易发生严重的过拟合。

要想避免这些问题,就要采取随机批次训练法。