2017 2nd International Conference on Artificial Intelligence and Engineering Applications (AIEA 2017)
ISBN: 978-1-60595-485-1
Cave Recognition Under Tensor Flow Platform
MIN ZHAO, CHANGJIANG WEI and SHUHUA WANG
ABSTRACT
Based on the analysis of Tensor flow’s advantage of depth learning, this paper constructs CNN's network layer and its key parameters to realize the classification and recognition of underground caverns on Tensor flow frame platform by CNN technology. Firstly, the classification of the cave in the Tarim Basin of Xinjiang is carried out, and the classification result is taken as the input of the training set. Secondly, by analyzing the tensor board characteristics, and constantly optimize the learning rate, network layer and other training parameters, and finally get a higher precision model. Finally, the model is used to predict the unknown data. The experimental results show that the method and the process can obtain high model accuracy, and the weight parameters and bias parameters can converge well, have a higher prediction rate for the cave, innovate a new method of cave identification, and widen the tensor flow’s application areas, will greatly advance the depth of learning in the exploration industry application and development.
KEYWORDS
Tensor flow, Convolution Neural Network, Cave Identification.
INTRODUCTION
In geophysical exploration and development, Cave identification is one of the basic data that researchers and developers focus on. The cave is a common bad geology in the karst area. The tunnel engineering is often due to the limitations of pre-exploration design, making the construction staff for the identification of the cave is not enough, leading to delays in construction time and threaten the safety of construction workers. The accurate identification of the cave is of great practical significance for exploration and development. The main reason for the formation of the cave is the role of long-term groundwater in the limestone area. The formation of the cave is the result of long-term groundwater ripening in the limestone area. The limestone layer is a prerequisite. The main component of limestone is calcium carbonate (CaCO3). CaCO3 and water (H2O), carbon dioxide (CO2) at the same time a
chemical reaction to produce calcium bicarbonate (Ca (HCO3) 2). Ca (HCO3) 2 is
soluble in water.
_________________________________________
Min Zhao, [email protected], Changjiang Wei, [email protected], School of Data Science and Software Engineering, Qingdao University, Qingdao 266071, China
When this water has a certain pressure in the depths of the ground, dissolve faster. Calcium in the limestone is dissolved in water, after hundreds of thousands, millions of years or even tens of millions of years of deposition calcification, limestone surface will form a ditch, silt, underground will form a cave. At present domestic and international, the main identification of cave technology AVO, terrestrial sonar method, FDTD and other methods. Each method has its own focus on the scope and the results are not the same. Cave identification has been in constant exploration and research and accuracy is also increasing [1]. After referring to the technical route to
identify the Mnist dataset, this paper chooses a way that Tensor flow and CNN combine to identify the cave. This paper focuses on the various parameters of Tensor flow and the characteristics of each CNN network layer, and constantly adjust the accuracy of each parameter value [2].
Tensor flow
Tensorflow is the second generation of artificial intelligence learning system developed by Google based on DistBelief, supports Python and C++ languages, supports CNN, RNN, LSTM and other algorithms. Tensorflow can be used for speech recognition or image processing and other depth of learning areas, it can be in one or more CPU or GPU running, you can also run in the embedded system. Tensorflow is now known as the world's most popular depth learning platform. The graph is the most basic concept in Tensorflow, and Tensorflow converts all the calculations to the nodes on the graph, expressing the calculation by calculating the form of the graph. As the name suggests, Tensorflow two of the most important concept is Tensor and Flow. In Tensorflow, all the data is expressed in tensor form. The tensor can be simply understood as a multidimensional array, but it is only a reference to the result, and the real save is the calculation of the data. The tenor in the main preservation of the name, shape, type three attributes. Flow intuitively expresses the tensor in the form of a stream through the calculation of mutual conversion. Input data in the input layer, and then the data flow to the hidden layer and then flow to the output layer. With the gradient drop processing, the gradient drop will be updated several parameters and improve the updated parameters once again went to the hidden layer to learn, so the cycle until the results converge. TensorFlow is an open source software library for numerical computation using data flow graphs. Tensorflow has the advantages of high flexibility, true portability, automatic differential design, multi-language support, and performance optimization[3].
[image:2.612.181.413.592.705.2]Thirty years ago, when it comes to neural networks, the first thing that comes to mind is the system in which tens of thousands of nerve connections in the biological system connect sensory and reflectors. But today, the first thought is probably the computer and computer programs in the artificial neural network. The complex neural network has been applied in the field of computer. Neural network is really strong. Human beings are pushing artificial neural networks to a higher level. At present, the world has long been full of artificial neural network figure, such as Google's search engine, stock price forecast, Alpha Go and so on. The neural network is mainly a computer model that mimics the neural network of human or animal neural networks, especially the structure and function of the brain. In most cases, the neural network can change the internal structure on the basis of outside information. Now the neural network is mainly based on the traditional statistical modeling tool, commonly used to input and output of the complex relationship between the modeling.
constantly update the weight parameters, and finally get a better weight parameter, the use of this model, you can identify the input image[4].
Network Layer
The Tensorflow convolution layer is implemented primarily by conv2d (input, filter, strides, padding, use_cudnn_on_gpu = None, data_format = None, name = None). Where input refers to the input image that needs to be convoluted, which requires a Tensor, a shape with [batch, in_height, in_width, in_channels]. This is a 4-dimensional Tensor, requiring one of the types float32 and float64. Filter is equivalent to a convolution kernel in CNN. It requires a Tensor, with a shape such as [filter_height, filter_width, in_channels, out_channels], requiring the same type as input. Strides represents the step size of each dimension in the image when convoluted, and is a one-dimensional vector. Padding determines the different convolution methods. Use_cudnn_on_gpu is a bool variable that indicates whether to use cudnn to speed up. Since most of the current use of GPU mode, so the default value is true. In the convolution layer, first of the input data block processing, and then extract the characteristics of each block to get the feature map. That is, the result after convolution is a general representation of the input image.
In CNN, it is usually necessary to compress the data, which requires the use of the pooling layer. The pooling layer is often behind the convolution layer, through the pool to reduce the volume of the convolution layer output vector, while improving the results(It is not easy to overfitting). The principle of pooling layer and convolution layer of the principle is similar to the filter one by one on the input data block extraction feature. There are two main ways to pool - max-pooling and mean-pooling. As the name implies, max-pooling is the average of the blocks, mean-pooling is the maximum value of the block. The most commonly used is max-pooling. Max-pooling is implemented primarily by tf.nn.max_pool (value, ksize, strides, padding, name = None). Value represents the input of the pooling layer, usually the feature map, which is still the shape of [batch, height, width, channels].
With the increase of network layer, neural network is becoming more and more difficult to converge. The activation function can solve this problem very well. In the neural network, the function of the activation function is to add some non-linear factors to the neural network, so that the neural network can better solve the more complex problems. The main activation function has two --- sigmoid and Relu. In the depth of the network, sigmoid activation function can bring a lot of problems. It squeezes all the values between 0 and 1, and when you repeat it, the output of the neurons and their gradients are zeroed out. It is worth mentioning that, for historical reasons, some modern neural networks use Relu.
Parameters
rate is critical to the performance of the algorithm. In general, with the increase in the number of training, the need to continue to reduce the learning rate.
In the neural network training, we need constant training, can get more in line with the expected eigenvalues. After thousands of iterations, the cross entropy curves of the test and training data begin to be unconnected. The learning algorithm only works on the training data and accordingly optimizes the cross entropy of the training. It does not see the test data anymore, so it's not surprising that after a while it's no longer having any effect on the test cross entropy, the cross entropy stops falling, and sometimes even bounces back. This has no meaning in retraining. This note appears overfitting. Tensorflow provides a very good tool - dropout to solve this problem, just give it a percentage that is not dropped off, can be a good solution to overfitting. Dropout refers to the depth of learning network in the training process, for the neural network unit, according to a certain probability of its temporary discarded from the network. For the random gradient drop, because it is random discard, so each mini-batch are training in different networks, simply point that some data is not abandoned. Dropout is implemented by tf.nn.dropout (input, keep_prob). Input is usually a function of weight and paranoia. Keep_prob is the drop rate, the general effect of 0.5 when the best, because there is a big God cross validation, said 0.5 when the dropout randomly generated network structure up[5].
Training to the node when the input data with placeholder. Use the placeholder in TensorFlow to describe the node waiting to be entered. Only need to specify the type can be, and then in the implementation of the node with a dictionary to "feed" these nodes. Equivalent to the first load hold live, and then each time from the external incoming data, pay attention to placeholder and feed_dict is used for binding.
In order to more convenient TensorFlow program understanding, debugging and optimization, Google released a set of visual tools called TensorBoard. We can use TensorBoard to show their own TensorFlow images, drawing images generated quantitative indicators and additional data. The TensorBoard runs by reading the TensorFlow event file. The TensorFlow event file includes the main data that you will be involved in the TensorFlow operation. You can access the TensorBoard by executing a simple command with the following command: tensorboard --logdir = / path / to / log-directory.
TENSOR FLOW TO ACHIEVE CAVE IDENTIFICATION
Case analysis of cave
This paper mainly uses the method of depth learning to classify, identify and distribute the seismic imaging data (samples). Therefore, the prediction accuracy is mainly dependent on the seismic imaging accuracy and depth learning method, the parameter optimization results. The process of cave identification is complex and varied. This article is only selected a work area, to determine whether there is karst in the work area. Select a Xinjiang Tarim Basin, a region of the cave as a sample to test, select a work area of the cave image for training. In order to facilitate the adjustment of parameters, this paper through TensorBoard observation training model of the pros and cons. The sample is shown in the following figure, the left picture shows the sample image of the cave, and there is no cave sample image on the right.
Training results
TensorBoard results as shown:
Figure 2. Sample data.
[image:6.612.150.430.252.675.2]Figure 3. Tensor Board results graph.
Figure 4. test results.
From the above figure we can see that in the training process, the accuracy rate is rising, loss is declining, and gradually tend to smooth. At this time the accuracy rate of 81.2%. At this point to terminate the training, enter the cave data, get the following test results.
The figure on the left is the plan of the work area, the figure is Tensorflow identified cave and its location. It can be seen from the comparison of the two graphs that the result of identifying the cave by Tensorflow is basically the same as that of the original cave. It can be seen that the use of this method can improve the accuracy of prediction, eliminating the need for traditional manual identification.
SUMMARY
Based on the analysis of Tensorflow and CNN, this paper realizes the identification of the cave by the combination of Tensorflow system and CNN. The drilling proved the high accuracy of prediction. This paper innovates the new method of cave identification, broadens the application field of tensorflow, and will greatly promote the application and development of exploration depth in exploration industry. However, due to the limited computing power, this paper has shortcomings in the forecast results, with the increase in the number of training, can continue to improve the accuracy of prediction.
ACKNOWLEDGEMENTS
Corresponding Author: Changjiang Wei,[email protected]
REFERENCES
1. Baayen S.H., Vasishth S., Kliegl R., et al. The cave of shadows: Addressing the human factor with generalized additive mixed models [J]. Journal of Memory and Language. Vol. 94 (2017), p. 206-234.
2. Ernst Kussul, Tatiana Baidyk. Improved method of handwritten digit recognition tested on MNIST database [J]. Image and Vision Computing. Vol. 22 (2004) No.12, p. 971-981.
3. Abadi, M. TensorFlow: Learning Functions at Scale. 21st ACM SIGPLAN International Conference on Functional Programming (ICFP). Nara, Japan, Sep 18-24, 2016, p. 1-1. Bal S, Gergely Z., Veres J., et al. GPU Boosted CNN Simulator Library for Graphical.
4. flowbased programmability [J]. Eurasip Journal on Advances in Signal Processing. Vol. 2009 (2009) No.1, p. 1-11.