Hello Deep Learning: Linear combinations - Bert Hubert's writingsa day agohttps://berthub.eu/articles/posts/hello-deep-learning-chapter1/- 'Hello Deep Learning'系列介绍使用EMNIST数据集(手写数字3和7)的神经网络。- 简单神经网络层(线性组合)通过使用3和7的平均图像差异作为权重手动配置。- 通过设置基于偏置调整分数的决策规则,模型在验证数据上达到97.025%的准确率。- 处理过程包括张量平均、计算Hadamard乘积以及使用矩阵乘法进行评分。- 代码实现(threeorseven.cc)使用MNISTReader预处理数据、计算权重、应用偏置并评估准确率。
Hello Deep Learning: Reading handwritten digits - Bert Hubert's writingsa day agohttps://berthub.eu/articles/posts/handwritten-digits-sgd-batches/网络架构将28x28图像展平为784x1,然后应用三个线性层(128、64和10个单元),在前两层之间使用ReLU激活函数。对最终的10个输出应用LogSoftMax,将其转换为对数概率,并通过比较正确数字(通过独热向量)的预测对数概率与零来计算交叉熵损失。训练使用随机梯度下降(SGD),批次大小为64张图像,在批次上累积梯度,并使用除以批次大小的学习率更新参数。该模型在测试集上达到了92.23%的准确率,混淆矩阵显示了常见的混淆情况(例如7和9之间),但像7和6这样的数字之间没有混淆。该网络高度依赖于像素位置,不捕捉形状关系,这限制了其对非居中或噪声数字的泛化能力。