For this problem setting, we use only seen+bg word vectors (instead of seen+unseen+bg vectors) as the fixed embedding \(\mathbf {W}_2 \in \mathbb {R}^{d \times (\mathrm {S}+1)}\)  to train the whole framework with only the max-margin loss, \(L^{\prime }_{mm}\) , defined as follows:
\( L^{\prime }_{mm}(\mathbf {o}_i, y_i) = \frac{1}{|\mathcal {S}^{\prime }\setminus y_i|}\sum _{c \in \mathcal {S}^{\prime }\setminus y_i} \log \Big (1 + \exp (o_c - o_{y_i}) \Big )\) . Since the output classification layer cannot make predictions for unseen classes, we apply a procedure similar to ConSE during the testing phase [1]}. The choice of [1]} here is made due to two main reasons: (a) In contrast to other ZSL methods which train separate models for each class [3]}, [4]}, ConSE can work on the prediction score of a single end-to-end framework. (b) It is straight-forward to extend a single network to ZSD along with ConSE, since [1]} uses semantic embeddings only during the test phase.
