0. KG
69.96
1.KG+Text, feature-level fusion/concat,
1) leaky relu好于relu, sigmoid,略好于没有activation情况
2)在没有entity concat时可以达到76.4
3)尝试用mean代替dkn看看结果。ave效果也不错。只不过dkn效果好的比较稳定。AVE有时会结果持续为50,而且收敛比较慢。
4) filter kernel (4 different filter size * 128 number of filters) the best performance:75.09。2个filter,128效果也很好。所以不用更改。
5) 尝试不同dim,user_dim在8时效果最好。
6)text256-->8dim-->concat(8dim + entity 8dim)--->8dim*8dim user
7)filter_size[1,2]+filter_num[128] 75.20
filter_size[1,2,3,4]+filter_num[100] 75.24
filter_size[2,3,4,5]+filter_num[128] 75.21
8)有一个很有意思的结果,在只有一层non linear layer时,dkn比ave好很多。而在有两层non-linear layer时,dkn和ave差不多
9)在有两层hidden layer情况下,试验了user_dim从4-8-16-32-64-128-256结果时8最好,16还不错,从32-64 auc下降约为10个点。user_dim是4的时候,也没有比8下降很多。8最高75.8,16次之74,4也不错72.
10)在一层hidden layer下把dim提升到16,performance升到了76.95突破。64时马上降下去了。non-linear和linear差别不大。
11)没有激活函数,首先结果很不稳定;其次结果只有72,比非线性少了3个点。
2. KG+entity
dim=8, hidden_1_2: ave entity: 75.79 dkn:74.82
dim=8, hidden_1:
1.entity实验上,non-linear比linear好将近4个点。
/hidden_1_nonlinear_lr_0.05_entity_dim_8_user_dim_8_use_dkn.txt 当一个hidden层,entity用dkn时,效果很差,50左右。这个是个很interesting的发现。做了3次同样实验,依旧上不去。
/hidden_1_nonlinear_lr_0.05_entity_dim_16_user_dim_16_use_dkn.txt 尝试把dim从8改成16,马上恢复正常。auc到75左右。
3.KG+img
在auxiliary source是image,如果不用dropout'速度太慢。加了droput performance基本正常。
4.KG+text +entity
hidden_1: 在用平均处理时,performance提不上去。而用dkn马上就提上去了。
hidden_1_2:用ave效果也还可以。但是和单个modality的差不多。
不考虑outfit_embedding由KG产生的,当两个feature融合时,一个text,一个entity维度相差比较大时。直接ave效果不好,用卷积处理非常之好。很快收敛。
类似于dkn加上transform,总体表现hidden_1收敛更快,效果更好。
5.KG+img+entity
hidden_1:
1)
2)
hidden_1_2:
1)dim 16, dkn 76.06
dim8 neighborsize 16效果很差,dim16,neighborsize 16效果不错。
dim8, neighborsize 8, 75.47。
dim16, neighborsize8 74.37
探究了neighborsize和dimension之间的关系
2)用ave效果很差,在前十个epoch仅仅达到50.15
3)transform-128-76.75 transform--8--75.08
6. Image + text+ KG
hidden-1-2:
transform-128效果很差,是否说明在modality为image和text时,用transform效果不佳?
尝试不用Transform结果,结果好很多,而且收敛速度很快。76.53
transform 256: 76.76
ave + no transform: 49.xx这个实验跑了3次,都是这么差,证明多modality结合时,至少在结合之初有非线性变换。
ave + transform-128: 75.43
ave + transform-256: 76.18
说明在多个modality feature结合时,起码得用一种形式的非线性变换。1)transform2)kcnn。在concat之前就要这么做。要么结果会很差。
hidden_1:
还是跑不了,总是process被killed。
7. Image + text + entity+ KG
76.62--->hidden_1_2_nonlinear_ave_v1_lr_0.05_entity_dim_16_user_dim_16_transform_dim256_neighbor_size_16_use_dkn
之前尝试transform(text+entity)--->image space 75.84
现在转换将高维的转至低维transform_256_(image+text)-->entity space 74.69,收敛慢
transform dim:64, 76.53,收敛快
transform dim:76.00 transform_64_entity_word
transform dimension太大,像256,会导致收敛很慢。
hidden_1_2_nonlinear_transform_32_image_text_lr_0.05_entity_dim_16_user_dim_16_transform_dim32_neighbor_size_16_use_dkn
8. Image + text + entity+ KG
加上各种regularization loss和l2 loss of param时,收敛速度变慢很多。结果也下降很多。
regularization loss alone: 72.17
L2 loss of param + regularzation loss
L2 loss of param
no losses of both: 75.34
我发现结果受影响很大,波动很大!
9. Image + text + entity+ KG+param loss+ regularization loss
transform(0) + dkn(1):49,
transform(0) + dkn(0):
transform(1) + dkn(0):
transform(1) + dkn(1) + param loss(1) + regularization loss(1):67.28, 74.12 (word+entity)
/hidden_1_2_transform_image_text_debug_lr_0.05_entity_dim_16_user_dim_16_neighbor_size_16_use_dkn.txt:76.47 (transform 0 + dkn 1)
hidden_1_2_transform_image_text_lr_0.05_entity_dim_16_user_dim_16_neighbor_size_16_use_dkn.txt (transform 0 + dkn 1+ param loss 0 + regularization loss 0: 77.07
感觉是随机,初始化好一些,效果可能会攀升到很高。主要看前期,前期走势不错,后面也不会太差。
04/13/recording text+img+entity+l2 loss+ regularizaition loss
user_dim_16_transformdim_64_neighbor_size_16_use_dkn.txt 56.07
transform(1) + dkn(1) + param loss(1) + regularization loss(1):初始化好坏完全随机
/hidden_1_2_transform_image_text_debug_V1_lr_0.05_entity_dim_16_user_dim_16_neighbor_size_16_use_dkn result:76.77
L2 norm无论在第一hidden layer还是第二个一点毛用没有。
dkn+transform+l2 loss + regularizer loss + tf.contrib. xvier init; 62, 15epoches
没有transform效果要更好些,加上param weight会导致系统收敛很慢。
网友评论