## 5 Half Convolutional Autoencoder
### Learning New Representation of Structured Data with an HCAE
Each neuron of the 1D-Convolution layer performs a linear convolution between the signal and corresponding filter to generate the input feature map of the neuron;
3. The input feature map of each neuron is passed through the activation function to generate the output feature map of the neuron of the convolution neuron;
4. In the 1D-Pooling layer, each neuron's feature map is created by decimating the output feature map of the previous neuron of the 1D-Convolution layer to reduce the dimensions of the final feature maps;
5. In the Flatten layer, the output feature maps are flattened into a single feature vector, which is forward-propagated through the following fully-connected Compression layer to encode the feature map into lower dimensional space;
6. The decoder structure remains fully connected like a vanilla AE, where the output code are forward-propagated through a fully connected decoder to reconstruct the original feature vector, or the 1D-signal. Compared to a typical AE, the fundamental difference of the HCAE comes from the asymmetry of the Half Convolutional encoder and decoder parts, hence its name. \begin{table}
\begin{tabular}{l c c c c c} \hline  & **Tag \#1** & **Tag \#2** & **Tag \#3** & **\%** & **Tag \#1127** & **Tag \#1128** \\ \hline Toy Story (1995) & 0.0250 & 0.0250 & 0.0578 & \(\ldots\) & 0.0778 & 0.0230 \\ GoldenEye (1995) & 0.9998 & 0.9998 & 0.0195 & \(\ldots\) & 0.0730 & 0.0183 \\ Titanic (1997) & 0.0380 & 0.0345 & 0.1190 & \(\ldots\) & 0.0693 & 0.0210 \\ Resident Evil (2002) & 0.0403 & 0.0350 & 0.0195 & \(\ldots\) & 0.9588 & 0.9598 \\ White Zombie (1932) & 0.0188 & 0.0203 & 0.0270 & \(\ldots\) & 0.9670 & 0.9840 \\ \(\ldots\) & \(\ldots\) & \(\ldots\) & \(\ldots\) & \(\ldots\) & \(\ldots\) \\ \hline \end{tabular} Toy Story (1995)  
\begin{tabular}{l} GoldenEye (1995) \\ \end{tabular}  
\begin{tabular}{l} Titanic (1997) \\ \end{tabular}  
\begin{tabular}{l} Resident Evil (2002) \\ \end{tabular}  
\begin{tabular}{l} White Zombie (1932) \\ \end{tabular}  
\end{table} 
Table 2: Reorganizing original Tag Genome data into a tabular form. Each movie is presented as a row and its genome scores are stored in the columns. Figure 2: Random vibration signals of the 5 movies in MovieLens 20 M dataset resembled by Tag Genome data. In more detail, the encoder part of the newly proposed architecture works as follows. For each filter \(F_{i}\), the 1D-Convolution layer, along with the 1D-Max Pooling layer, learns the feature map \(d_{i}=P(g(X*F_{i}))\) from input feature vector \(\mathcal{X}\), where \(g(*)\) is the activation function of the Convolution layer, and \(P(*)\) denotes the Max Pooling transformation. These feature maps are then transformed to a 1D-vector \(\mathbf{d}\) via a Flatten layer before eventually being fed into a Compression layer to generate a compact representation of a movie. Here the output sizes of the Convolution layer \(n_{out}\) with the padding size \(p\) and of the Max Pooling layer \(n^{\prime}_{out}\) are calculated using the following formulas:  
\[n_{out}=(\frac{n_{in}+2p-f}{s})+1 \tag{10}\]  
\[n^{\prime}_{out}=(\frac{n^{\prime}_{in}-f^{\prime}}{s^{\prime}})+1 \tag{11}\]  
where \(n_{in}\), \(n^{\prime}_{in}\) denote the input sizes; \(f\), \(f^{\prime}\) are the kernel sizes; and \(s\), \(s^{\prime}\) are the stride sizes of the Convolution and Max Pooling layers, respectively. Although the encoder implements a CNN architecture, the decoder works similarly to the one of a conventional AE: it tries to reconstruct the original input through a fully connected layer. In addition to possessing the same objective function as the one of a vanilla AE, this structure makes the proposed HCAE easily adapt to any shape of the input vector, which is infeasible if a 1D-Up Sampling layer is deployed at the decoder in the case of a \"full\" Convolutional AE.