x_i}.$$ In above formulation, $\bm{W_f},\bm{W_g},\bm{W_h} \in \mathbb{R}^{D_2 \times C}$ are learned weight matrices, which are implemented as $1\times1$ convolutions. We use $C = M / 8 $ in the experiments.

In addition, inspired by the skip link operation in ResNet[@he2016deep] and DenseNet [@huang2017densely], we further concatenate the result of the attention mechanism with the input feature matrix. Therefore, the final output of the self-attention module is given by $$\bm{o_i} = \bm{x_i} \oplus \bm{r_i},$$ where $\oplus$ is the concatenation operation. This allows the network to rely on the cues among the feature vectors.

To aggregate the features with correlation information, a MLP layer and a max pooling operation are employed to integrate the multiple features. In particular, the first self-attention module aggregates the points in a scale to a D-dimensional feature vector. The second one encodes the multi-scale features in a region into a D-dimensional feature. The final one integrates features of all local regions on a point cloud into a 1024-dimensional global feature. Therefore, the encoder hierarchically abstracts point features from the levels of point, scale and region to a global representation of the input point cloud.

Interpolation Layer
-------------------

The target of the decoder is to generate the points 