{'fraction_non_alphanumeric': 0.03341745714037073, 'fraction_numerical': 0.014794186754851623, 'mean_word_length': 4.641629847815415, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Deep-learning-based data page classification for holographic memory

We propose a deep-learning-based classification of data pages used in holographic memory. We numerically investigated the classification performance of a conventional multi-layer perceptron (MLP) and a deep neural network, under the condition that reconstructed page data are contaminated by some noise and are randomly laterally shifted. The MLP was found to have a classification accuracy of 91.58%, whereas the deep neural network was able to classify data pages at an accuracy of 99.98%. The accuracy of the deep neural network is two orders of magnitude better than the MLP.


INTRODUCTION
Optical memories such as compact discs (CD), digital versatile discs (DVD) and Blu-ray discs utilize laser spots to read and write digital data. The recording disk is irradiated with the laser spot, condensed by a lens. Increasing the memory capacity requires miniaturization of the laser spot. In Blu-ray discs, the minimum spot is approximately 0.15µm. To achieve higher density, it is necessary to use a laser with a shorter wavelength and a lens with a higher numerical aperture, but it is coming to its limit.
In holographic memory [1,2], digital data is converted into a two-dimensional pattern called a data page, and this is recorded on a recording medium as a hologram. The main features of the holographic memory are below: (1) the access speed is fast because the data page can be read and written as twodimensional images, and (2) multiple data pages can be stored in the same recording area by multiplex recording characteristics of holography, leading to an increase in the memory capacity. In addition, the combination of holographic memory and optical encryption is interesting because the increased security, does not come at the expense of increased encryption and decryption time [3] .
Although holographic memory has a significant advantage as the next-generation data storage, problems do exist, such as bit errors arising from pixel misalignment and noise. Simple thresholding to a data page detected by an image sensor induces bit errors; therefore, we need sophisticated methods to correctly detect bits. Precise pixel alignment between reconstructed data pages and an imaging device are required to correctly read data pages. Solutions to this issue have been proposed [4]. Some noises (speckle noise, interpixel interference, interpage interference [2]) contaminate reconstructed data page. Solutions to the noises have been proposed, such as a Viterbi algorithm [5], a deconvolution method [6], a gradient decent method [7] and an autoencoder [8]. In addition, data pages coded via modulation and error-correction codes help in significantly improving bit errors when compared to raw data pages [9].
In this study, we propose a deep-learning-based classification of data pages. The deep neural network (convolutional neural network [10]) is learned, which is composed of convolutional layers, pooling layer, and a fully-connected layers, using data pages reconstructed from holograms, and then the learned deep neural network classified data pages. It is significant that the deep neural network can automatically acquire optimum data page classifications from learning datasets without human intervention.
We numerically investigated the classification performance between a conventional multi-layer perceptron (MLP) and the deep neural network. Under the condition that reconstructed data pages are contaminated by some noise and are randomly laterally shifted, the MLP had a classification accuracy of only 91.58%, whereas the deep neural network was able to classify the data pages at an accuracy of 99.98%. Figure 1 shows the deep-learning-base classification for holographic memory, where data pages are recorded as holograms. These data pages are composed of 4-bit patterns as shown in Fig.2. In this paper, we do not use multiple recording of data pages in the same region of the hologram, or modulation codes such as 6:8 modulation code, or error-correction codes. Imaging devices such as charge coupled devices (CCDs) and complementary MOS (CMOS) cameras captured the reconstructed data pages, which are contaminated by noise, from the holograms. The reconstructed data pages are divided into fragments corresponding to 4-bit original data. The deep neural network in which we used a convolutional neural network (CNN) classifies fragments into the most similar 4-bit pattern.

A. Hologram generation
In this study, we used amplitude holograms I(m) that are generated from data pages. The amplitude holograms are generated by where m denotes a two-dimensional position vector in the hologram plane, O(m) is the object light of data pages that are displayed on a spatial light modulator, and R(m) is the reference light. The object light is obtained from the original data page, where Prop z · denotes the diffraction operator with a propagation distance of z. n denotes a two-dimensional position vector in the object plane. The reconstructed data pages, u ′ (n), from the holograms are obtained by In this study, R(m) is the inline planar wave, so that the mathematical expression is simply R(m) = 1. Thus, the reconstructed data pages were degraded by direct light and conjugate light.  A convolution layer automatically acquires feature maps of input two-dimensional (2D) data x ij , where the subscript ij denote the pixel index, using M filters whose filter coefficients denote h

B. Convolutional neural network
where f (·) is an activate function, H is the filter size and b ij is a bias. We used Leaky ReLU function ( f (x) = x when x > 0; otherwise, f (x) = 0.01x) as the activate function because we confirmed that the classification performance of the activate function was better than that of the ReLU function for our situation. We used H = 5 in the first convolutional layer filter and H = 3 in the second convolutional layer. A pooling layer had the effect of reducing the sensitivity of lateral movement of the input data. In addition, this layer was used for reducing the input data size, resulting in a decrease of the computational complexity. Several pooling layers have been proposed. The max pooling layer that we used was calculated by y ij = max{x ij }.
Here, this layer divides the input 2D data x ij with W × W pixels into sub 2D images, and the maximum values in the sub images are selected and are used to generate the output image y ij with W/2 × W/2 pixels. The MLP classifies fragments into the most similar 4-bit patterns, as shown in Fig.2. The structure of the MLP is shown in Fig.4. A fully connected layer in the MLP was calculated by where f (·) is an activate function, U is the number of units, x i is the input data, w ji is the weight coefficients, y j is the output data, and b j is a bias.
In the first and second fully connected layers, we used U = 128 and the ReLU function as the activate function. The output layer calculates probabilities of classification using the softmax function, expressed as where U = 16 because we wanted to classify the 16 fragments shown in Fig.2.
In the learning process of the CNN, we needed to prepare a large number of datasets composed of reconstructed fragments and corresponding correct answers. Using these datasets, we optimized the parameters (the filter coefficients h (m) pq , weight coefficients w ji , and biases) in the CNN. These parameters were optimized by minimizing a cost function. In this study, we used the cross-entropy cost function, and, we used Adam [11], which is a stochastic gradient descent (SGD) method, as the optimizer, to minimize the cross-entropy cost function. This SGD randomly selects B datasets among all of the datasets. B is referred to as the batch size, and here, we used a batch size of 100. In addition, we used the Dropout method [12] to prevent overfitting in the CNN. Dropout randomly disables d percent of units during the training process. We used d = 0.25% in the pooling layers and d = 0.5% in the fully connected layers.

RESULTS
We compared the classification performance between the CNN, show in Fig.3, and a conventional MLP, shown in Fig.4.
The data pages and holographic reconstructions had 1, 000 × 1, 000 pixels, and the fragments had 20 × 20 pixels. The on-bit (1) and off-bit (0) in a fragment were both expressed by 10 × 10 pixels. Thus, the number of fragments per one data page and holographic reconstruction was 2,500.
We prepared 375,000 fragments (150 data pages × 2,500 fragments) and their holographic reconstructions for the training of the CNN and MLP. For the testing of the CNN and MLP, we used another 125,000 fragments (50 data pages × 2,500 fragments) and their holographic reconstructions. The condition for the hologram calculation were are a wavelength of 633nm and sampling pitches of the holograms and reconstructions of 4µm. We used the angular spectrum method for the diffraction calculation.
We verified the classification performance of the CNN and the conventional MLP when changing the propagation distance z in the hologram generation. Figure 5 shows a part of the reconstructed data pages when changing the propagation distance z. We used z=0.05, 0.1 and 0.15 m. As seen, the reconstructed data pages became blurred as the propagation distance increased, resulting in increased difficulty in the classification at the longer distance. In addition, we added the Gaussian noise with a mean of 0 and a standard variation of 2.5 to the intensity of the reconstructed data pages to verify the robustness against intensity noise. We added a random lateral shift of ±5 pixels to the reconstructed data pages to verify the robustness against the misalignment between the reconstructed data pages and the image sensor.  Table 1 shows the accuracy of the classification of the MLP and CNN when changing the propagation distance. Generally, for the accuracy metrics, in general, a bit error rate (BER) is used in holographic memory; however, we used a fragment error rate (FER) instead of the BER because the MLP and CNN classify the fragments. The FER was calculated by FER = N e /N t , where N e is the number of error fragments and N t is the number of total fragments in the test process. The FER of the MLP was around 10 −2 , except at z =0.15m, whereas the FER of the CNN was around 10 −4 , except at z =0.15 m, even if the propagation distance was changed. The CNN has an accuracy two orders of magnitude better than the MLP.
All calculations were done by deep-learning framework [13] and our wave optics library [14].

CONCLUSION
We proposed a CNN-based data page classification for holographic memory and compared the classification performance between a conventional MLP and a CNN. Even if the reconstructed data pages were contaminated by some noise and were randomly laterally shifted, the CNN could classify the data pages in fragment error rates of around 10 −4 . It is significant that the deep neural network can automatically acquire optimum data page classification from learning data without hu- man intervention. In this study, we used raw data pages without any modulation codes or error-correction codes. If we use these codes in the CNN, we expect to increase the classification performance. In our upcoming project, we plan to verify the CNN performance with these coding methods in a more realistic environment simulation [15].

FUNDING
This work was partially supported by JSPS KAKENHI Grant Numbers 16K00151.