Using Deep Learning to Correlate Ring Crush with other Paper Tests
Eliminate Tests, Save Money, Deep Learning
Ring crush tests for corrugated liner board are time intensive tests that require very specific environment conditions. It specifically tests the resistance of a paper when formed into a ring. This test is used at a paper mill as the standard strength measurement. As paper is run through the machine, basis weight, moisture, and other variables with change to make sure the paper is made to have a certain ring crush value. Since the test is so important, but hard to run, we should just find a way to eliminate the test.
Ring crush is a strength test. Short Span Compression Tests (STFI) are a compressive strength test. TSI or Tensile Strength Index is a pulling strength tests. Strength is strength, so these tests along with the weight, thickness, and moisture of the paper should correlate to ring crush tests.
Now we could draw a line with STFI tests on the x-axis and ring crush tests on the y-axis and make an r-squared line. But what about other tests. How are we going to correlate linearly inseparable data to predict ring crush tests.
Deep Learning
Go ahead and follow along with the jupyter notebook posted above.
I decided not to use Tensorflow or any other tool to make sure this predictor could possibly be used in a manufacturing environment without having any connection to other Google/etc.
First I formatted about 1100 old paper tests into a csv file that which can be seen by the df.head() function.
Then bad paper tests were taken out by removing any zeros or ‘#DIV/0’ rows. Paper grade codes were then turned into one hot encoding values, so if a specific paper test matched that grade a 1 was used while a 0 represented not that grade.
To better train the network, all qualitative tests were scaled so the mean was 0 and the standard deviation was 1. This was to allow for more efficient gradient descent since weights is implemented to be randomized on a bell curve around 0.
Data was then separated to training, validation, and test data. The activation function used was a sigmoid function. Usually sigmoids would be used for probabilities, but can also be used for predicting values.
In the NeuralNetwork class the forward pass can be seen along with the backward pass and the update of weights. The mean squared error function was used as the error function to minimize.
The network is structured to have 17 features, which go to 3200 hidden nodes. These hidden nodes then go through the activation function and then through another 3200 weights to come up with a prediction for ring crush. The ring crush value was scaled to have a mean of 0 and a standard deviation of 1, so it gets rescaled to get the actual value.
Now when actual ring crush values get plotted against the predicted ring crush values, the r-squared value is 0.94.
Reflection
Can this be used in a manufacturing environment to prevent time wasted on poor ring crush tests? Yes, but only to a limit. Data should be divided up on the grade of paper since having ring crush values varying from 80 to 170 produces an artificially high r-squared value. If you look through my repository you can see when I ran the same network on the ring crush data divided by grade and received still impressive but poorer r-squared values.
A ring crush predictor was also written in python that would prompt a paper tester just to put in test values and get a ring crush value from a pre saved network for efficiency.
To improve upon this design more layers should be used to try to tackle this complex data, and perhaps the furnish mix and reel speed could be taken into account.
Thanks for reading! If you have data that needs to be looked at for free please comment with your email and name and I’ll get back to you.