## 3 Results
### Experimental Results  
We trained our model on MSCOCO dataset on a computer with support of GPU NVIDIA Tesla K80 11 GB. We combined the 1024-dimension feature vector from the image attention module, the 512-dimension tag vector from the tags attention module and the 512-dimension embedded vector of the previously generated word to create the 2048-dimension context vector. The context vector was then fed into LSTM model to generate one word at each time step. We optimized the loss function to train the LSTM model and the two attention modules. We chose batch size to be 64. The procedure took about 40 h. We also used early stopping with patient value of 20 to find the best set of parameters. We tried different beam size with the above training configuration to find the best beam size in our method. The results are shown in Table 2. As shown in Table 2, the scores may vary with different beam size but models with beam size in of 2-4 showed highest scores on different metrics. Therefore, we chose beam size for our model to be 3, which showed highest scores on most metrics. With beam size set to 3, we tried experiments on different \(\gamma\) value for length normalization. We tried value of \(\gamma\) from 0 to 1 with step of 0.1. The results are shown in Table 3. The scores of different \(\gamma\) values were quite similar. The lowest on BLEU-1 metric was 0.726 with \(\gamma\) = 0.9 and the highest was 0.728 with \(\gamma\) = 0.4 and 0.5. We chose \(\gamma\) for our model to be 0.4 because it had the most highest scores in all evaluation metrics. We set the beam size to be 3 and the \(\gamma\) value to be 4 in our final model. We then tested our model on MSCOCO test server. Table 4 shows result of our model on MSCOCO test set with fvie captions per image. We also report results from other methods and result from our previous model for comparison. More discussion about the results are presented in Section 4. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Beam Size** & **B-1** & **B-2** & **B-3** & **B-4** & **METEOR** & **Rouge-L** & **CIDEr** \\ \hline
1 & 0.713 & 0.542 & 0.397 & 0.291 & 0.245 & 0.525 & 0.934 \\
2 & **0.727** & **0.560** & 0.420 & 0.316 & 0.252 & 0.536 & 0.984 \\
3 & **0.727** & **0.560** & 0.422 & 0.321 & **0.254** & **0.538** & 0.989 \\
4 & 0.725 & 0.559 & **0.423** & **0.322** & 0.253 & 0.537 & **0.990** \\
5 & 0.724 & 0.557 & 0.422 & **0.322** & 0.253 & 0.536 & 0.985 \\
6 & 0.722 & 0.556 & 0.421 & **0.322** & 0.252 & 0.535 & 0.984 \\
7 & 0.721 & 0.555 & 0.420 & 0.320 & 0.252 & 0.534 & 0.983 \\
8 & 0.720 & 0.555 & 0.420 & 0.321 & 0.252 & 0.534 & 0.981 \\
9 & 0.720 & 0.554 & 0.419 & 0.320 & 0.252 & 0.534 & 0.980 \\
10 & 0.720 & 0.554 & 0.419 & 0.319 & 0.252 & 0.533 & 0.980 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Results our model on different beam size. \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline
**Length Norm** & **B-1** & **B-2** & **B-3** & **B-4** & **METEOR** & **Rouge-L** & **CIDEr** \\ \hline
0.0 & 0.727 & 0.560 & 0.422 & 0.321 & 0.254 & 0.538 & 0.989 \\
0.1 & 0.727 & 0.560 & 0.422 & 0.321 & 0.254 & 0.539 & 0.991 \\
0.2 & 0.727 & 0.560 & 0.423 & 0.321 & 0.254 & 0.539 & 0.991 \\
0.3 & 0.727 & 0.560 & 0.4 We also visualized the results of our captioning method. Figure 5 shows some example captions that were generated by our captioning method. The images were taken from the COCO test set, which means that the model did not see the image during training. The generated captions were relevant to their corresponding image. The captions also described the content using clear and precise words such as \"dog\", \"cat\", \"banana\", and \"park\" instead of general words such as \"animal\" or \"fruit\". This made retrieval based on the captions more accurate. However, our model still made some mistakes. For example, in the third image, it hallucinated a table while there was no table in the images. The model may have assume that a bowl is often put on a table. This requires more research to be done to solve this problem.