MILVLG/mcan-vqa

question about answer processing

muaz1994 opened this issue · 2 comments

Hi. thanks for your code.
May I please ask, in the case where multiple questions for the same image are given, why are you assigning a label <1 for each question, as in:

def get_score(occur):
    if occur == 0:
        return .0
    elif occur == 1:
        return .3
    elif occur == 2:
        return .6
    elif occur == 3:
        return .9
    else:
        return 1.

Why not assign 1 to each and treat it individually? Is it to avoid confusion in predicting the answer at test time?

This is to model the answering confidence during training. Besides, this strategy is borrowed from the implementation of BAN

Thanks!