实验失败记录

实验失败1

多个不同模型用相同数据集训练后,增加一个未标记数据集进行预测,找出未标记数据集中的两个模型预测结果相同的数据加入训练集,训练模型,重复此过程。
验证结果,不能提高测试集的准确率。

实验失败2

利用hinton的自动特征提取方法对cifar进行特征提取,模型训练效果较好。提取特征后尝试用k均值聚类后无监督的学习,用kmeans进行分类,分类的结果完全无意义。

实验失败3

假如深度学习模型的功能越多,其泛化能力越强,比如可以分类1000个类的网络,肯定比分类800个类的网络的泛化能力强;因此可以做一个实验,比如cifar10中,首先用一个网络分类10个类,得到验证集准确率是a,另一个网络分类5个类,得到验证集准确率是b,那么a肯定比b高。
实验结果相反。我认为是由于类别数量太少导致的,比如10个类随便猜准确率都是百分之10 ,但是5个类随便猜准确率就是百分之20。因此可能需要在imgnet这种有1000个类的上面进行验证。

实验失败4

sigmoid激活函数若其输入的值超出了[-5,5]之后,无论输入再怎么变化其输出都会变化很微小,因此层数多了以后sigmoid梯度消失的原因是不是就是这个原因?我当然知道梯度消失是因为其导数是个小数,不断相乘梯度就会越来越小,但是需要一个物理上的或者具体的解释。
因此我通过将输入除以60,这样就会将[-5,5]的区间扩大到[-300,300],如此做以后在每层300个核的情况下是否会加速收敛?

无效:因为除以60相当于梯度也除以60.。。

5

将输出核变为多种输出核或变为sigmoid(sigmoid())的形式,类似于增加每层的cardinity,失败,无效,结果相比普通的sigmoid略微降低。具体结构:

activation = keras.activations.sigmoid
kernal_num = 100
x1 = keras.layers.Dense(kernal_num, activation=activation)(input1)

x2 = keras.layers.Dense(kernal_num, activation=activation)(input1)
x2=keras.activations.sigmoid(x2)

x3 = keras.layers.Dense(kernal_num, activation=activation)(input1)
x3=keras.activations.sigmoid(x3)
x3=keras.activations.sigmoid(x3)
x4=keras.layers.concatenate([x1,x2,x3])
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值