Neural network architecture for comparison


When someone wants to compare 2 inputs, the most widespread idea is to use a Siamese architecture. Siamese architecture is a very high level idea, and can be customized based on the problem we are required to solve.

Is there any other architecture type to compare 2 inputs ?


I want to use a neural network for comparing 2 documents (semantic textual similarity). Siamese network is one approach, I was wondering if there is more.


Posted 2018-11-26T01:39:10.813

Reputation: 371



A RBM (restricted Boltzmann machine) can be trained to extract document features. The same resulting machine can extract features of two or more documents. Because documents can be just as easily processed in series using the same machine parameters and CPU (saving the feature results) as documents could be processed in parallel using separate CPUs, the Siamese idea is less of a characteristic of system architecture and more of a characteristic of the process topology. The architectural decision of how to run the process topology on available hardware should usually remain somewhat decoupled.

The comparison operation could be a MLP (multi-layer perceptron) trained to produce the comparison results based on a requisite number example document comparisons. In such a case, the MLP should be trained with the previously trained RBMs as a front end. You will need some human labor to produce or extract from available data sources the example document comparison results. The example results will be need, along with a reference to the pair of RBMs feature extraction results corresponding to the comparison, to train the MLP.

Even further upstream from the RBMs, it is often useful to producing reliable and accurate document processing to pre-process the documents. Images and text can be delineated so that features can be extracted from the images in one way and from the text in another and then from the sequence of text and images in a third way. In such process topologies, CNNs (convolution network) typically pre-process the images and LSTM networks typically pre-process the text. They may then directly feed the RBM or indirectly through another process component.

Douglas Daseeco

Posted 2018-11-26T01:39:10.813

Reputation: 7 174