FER实际训练过程记录 genki4k数据集

文献记载 使用RBF核的SVM在genki4k的test acc为93.2%

全连接神经网络

64*64分辨率 2层

hide_sizeepochtrain_acctest_acc
1001008855
1002009357.5
50020010060

全连接层
全连接层2层,hide_size为100,训练200个epoch即可达到较高的训练准确率,测试准确率只有58%,训练500个epoch图形基本相同。hide_size为500时,很快训练准确率达到100%,耗时更多而test acc仅提高到60%,如下图
这里写图片描述**
加入dropout=0.5,

hide_sizeepochtrain_acctest_acctime
1002006048.8 404s
100200075572600s

加入dropout防止过拟合,训练2000epoch,训练acc为75%,而实际上得到的test acc依然和不加dropout 200epoch的准确率差不多,是否说明经过2000epoch达到的model系数,已经是最优的?模型的可提升空间只能靠more data?

CNN

64*64分辨率 2层Conv和Pool 两层FC

(由于train_test_split的random种子不同,因而同等情况下,每组测试准确率存在一定差异)

patch_sizeepochtrain_acctest_acctrain_time
6107566827s
5108060480s
5208370808s
5100100733660s

这里写图片描述
再将epoch加到100,当训练到20epoch时,训练准确率即达到100%,测试准确率72%,到100epoch,耗时3660s,测试准确率73%。
本想尝试将所有训练集数据带入模型求一个整体训练集的准确率,但因训练集数据太多(n*64*64*3),维度太大,导致程序崩溃。
经过试验,基本上25个epoch,即可达到训练结果的可视化冗余,同全连接层一样存在较严重的过拟合问题
加入dropout=0.5,结果如下,准确率甚至下降
patch_size epoch train_acc test_acc
5 25 60-70% 59.2

64*64分辨率 3层Conv和Pool 两层FC

patch_sizeepochtrain_acctest_acctrain_time卷积层数备注
5208370808s2
5208965.21230s3
53094.6701369s33层fc,random_state=1(含以下)
5306761.81322s3keep_prob=0.8
55096.773.41960s3keep_prob=0.95
55094.875.523573keep_prob=0.9
55088.170.525483keep_prob=0.85
55090.17120053keep_prob=0.88
550977734903keep_prob=0.92
55091.474.419643keep_prob=0.92,random_state=0

Hog 深度神经网络(3层,h1=300,h2=100)

hog特征提取,
hide1_size h2_size train_acc test_acc train_time
300 100 100 56 123s
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值