# Research on Generalized Hybrid Probability Convolutional Neural Network
## 4 GHP-CNN Neural Network  
_Structure and Characteristics of the GHP-CNN_  
The network structure of the GHP-CNN in this paper is shown in Figure 5. The GHP-CNN mainly consists of three steps in the training process. First, the CNN is adequately trained with the source data. The source data information is propagated forward and backward until the CNN converges. Second, the parameters of the convolutional layer can be obtained in the first step of training, and the convolutional layer with fixed parameters is transferred as a separate **CFM** to extract the image features of the training samples in the target set. Third, the SOPNN is trained on the target dataset. The image features of the target training set are input into the SOPNN for training, and a well-trained SOPNN classifier can be obtained. SOPNN training only requires forward propagation once and does not require backpropagation. After completing the above three steps, we obtain the trained GHP-CNN network. If the test image in the target dataset is input directly into the CFM, then the SOPNN classifier in the GHP-CNN can be used for target classification. The proposed GHP-CNN has the following three characteristics.  
First, the GHP-CNN makes full use of the generalization ability and the parameter transferability of the CFM to extract image features. It only needs to transfer the convolutional layer as a CFM, and we do not need to transfer the entire CNN network.  
Second, there is no need to retrain the CNN on the target set, only the SOPNN needs to be trained. The GHP-CNN can still be trained and work well even if the target dataset is small. Since training the SOPNN does not require backpropagation, the efficiency of training the SOPNN on the target set is significantly better than that of retraining the CNN.  
Third, the distribution of the features extracted by the CFM is unknown. The SOPNN classifier in the GHP-CNN is based on probability density estimation and it is not limited by the distribution of the extracted features. Moreover, the interface of the SOPNN is close to the optimal classification surface under the Bayesian criterion, and there is no local optimal problem with the MLP classifier in the CNN.  
Given the target set and initial network. The main steps of the GHP-CNN learning algorithm can be summarized as follows:  
Step 1. According to the relationship between _delta_, \(s\) and \(t\) (as shown in Figures 2 and 3), we can determine the number of categories in the source dataset and train various CFMs with different generality abilities.  
Step 2. The CFM trained in the source dataset are transferred to extract the features of the target training set with the determined category number.  
Step 3. The extracted features in step 2 are input into the SOPNN and are normalized by a hyperspherical crown normalization mapping. The appropriate parameter \(h\) should guarantee that the normalized data have the optimal separability under the Fisher criterion.  
Step 4. The initial pattern node set of the SOPNN is generated by the adaptive kernel coverage method [30]. Because the number of generated pattern nodes is far less than the number of training samples, the SOPNN classifier with the optimized structure is obtained. A potential value is used to measure the distribution density of samples in the sample space, and the sample with the highest potential value is selected as the pattern node each time. Then, the potential value of the selected pattern region is iteratively eliminated, and the remaining samples are reordered according to the potential value.  
Step 5. The parameters of the SOPNN are optimized by the expectation maximization method (Equations (7)-(10)), and then the well-trained GHP-CNN is obtained.  
Step 6. The extracted features of the target test set are input into the SOPNN classifier in the GHP-CNN for classification.  
Figure 5: The network structure of GHP-CNN.