MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of...
Transcript of MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of...
![Page 1: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/1.jpg)
| CALLISTAENTERPRISE.SE2019-09-12
MACHINE LEARNING ON THE JAVA
PLATFORM
DAVID STRÖM
![Page 2: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/2.jpg)
Purpose
This session is for You! I hope You will walk away from this with some new ideas and insights Feel free to ask questions, this is for all of You
I try to avoid unfamiliar terminology, this is not about me, this is about You. I hope You will enjoy it!
![Page 3: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/3.jpg)
AGENDA
• The incredible power of machine learning • Common machine learning challenges • How Java faces up to those challenges • How to implement a machine learning system in Java • Looking ahead • Summary
3
![Page 4: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/4.jpg)
THE INCREDIBLE POWER OF MACHINE LEARNING
![Page 5: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/5.jpg)
WHAT PROBLEMS CAN ML SOLVE?
5
• Some things are almost impossible to solve without ML, e.g. • Audio and image recognition
•While other things can get (a lot) better • Interpreting human language • Recommendations • Predictions • Anomaly detection
• Patterns are everywhere •What can your data tell you?
![Page 6: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/6.jpg)
ARE ALL MACHINE LEARNING ALGORITHMS EQUAL?
6
AIMLDL
![Page 7: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/7.jpg)
ARE ALL MACHINE LEARNING ALGORITHMS EQUAL?
7
AIMLDL
Any algorithms that makes a system seem smart. No "learning"
Algorithms that can learn patterns in structured data
Algorithms that can learn "deep features" of unstructured data
![Page 8: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/8.jpg)
WHY JAVA?
8
• Date.from(Instant.now()): {Python} > { Java} < {R}
• Java is versatile with huge ecosystem of tools
• My thesis: As ML moves toward more and more practical implementation instead of research, a system development approach is needed
![Page 9: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/9.jpg)
MACHINE LEARNING IN JAVA
9
• Deeplearning4J • Weka • Apache Mahout • JavaML • Etc.
![Page 10: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/10.jpg)
MACHINE LEARNING IN JAVA
10
• Open source • Includes various tools for ML - ND4J - DataVec - Arbiter - Some visualisation tools
• Import of Keras models • Support dataprocessing on
CUDA* enabled GPUs
* CUDA: Compute Unified Device Architecture
![Page 11: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/11.jpg)
COMMON MACHINE LEARNING CHALLENGES
![Page 12: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/12.jpg)
CHALLENGE #1: COMPLEXITY
12
Backpropagation, naive Bayes, convolutional neural networks, decision trees, autoencoders, generative adversial networks, linear regression, eigenvectors, activation function, hyperparameters, classification, LSTM, random forest, support vector machines, restricted Boltzmann machine, interpolation, K- nearest, logistic regression, gradient descent, transpose, sequence padding, vectorization, polynomials, inference, hyperspace, n-dimensional arrays, learning rate, loss function...
![Page 13: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/13.jpg)
CHALLENGE #1: COMPLEXITY
13
Backpropagation, naive Bayes, convolutional neural networks, decision trees, autoencoders, generative adversial networks, linear regression, eigenvectors, activation function, hyperparameters, classification, LSTM, random forest, support vector machines, restricted Boltzmann machine, interpolation, K- nearest, logistic regression, gradient descent, transpose, sequence padding, vectorization, polynomials, inference, hyperspace, n-dimensional arrays, learning rate, loss function...
![Page 14: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/14.jpg)
CHALLENGE #1: COMPLEXITY
14
Backpropagation, naive Bayes, convolutional neural networks, decision trees, autoencoders, generative adversial networks, linear regression, eigenvectors, activation function, hyperparameters, classification, LSTM, random forest, support vector machines, restricted Boltzmann machine, interpolation, K- nearest, logistic regression, gradient descent, transpose, sequence padding, vectorization, polynomials, inference, hyperspace, n-dimensional arrays, learning rate, loss function...
![Page 15: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/15.jpg)
CHALLENGE #1: COMPLEXITY
15
Backpropagation, naive Bayes, convolutional neural networks, decision trees, autoencoders, generative adversial networks, linear regression, eigenvectors, activation function, hyperparameters, classification, LSTM, random forest, support vector machines, restricted Boltzmann machine, interpolation, K- nearest, logistic regression, gradient descent, transpose, sequence padding, vectorization, polynomials, inference, hyperspace, n-dimensional arrays, learning rate, loss function...
![Page 16: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/16.jpg)
CHALLENGE #1: COMPLEXITY
16
Backpropagation, naive Bayes, convolutional neural networks, decision trees, autoencoders, generative adversial networks, linear regression, eigenvectors, activation function, hyperparameters, classification, LSTM, random forest, support vector machines, restricted Boltzmann machine, interpolation, K- nearest, logistic regression, gradient descent, transpose, sequence padding, vectorization, polynomials, inference, hyperspace, n-dimensional arrays, learning rate, loss function...
![Page 17: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/17.jpg)
CHALLENGE #1: COMPLEXITY
17
Backpropagation, naive Bayes, convolutional neural networks, decision trees, autoencoders, generative adversial networks, linear regression, eigenvectors, activation function, hyperparameters, classification, LSTM, random forest, support vector machines, restricted Boltzmann machine, interpolation, K- nearest, logistic regression, gradient descent, transpose, sequence padding, vectorization, polynomials, inference, hyperspace, n-dimensional arrays, learning rate, loss function...
![Page 18: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/18.jpg)
CHALLENGE #1: COMPLEXITY
18
Backpropagation, naive Bayes, convolutional neural networks, decision trees, autoencoders, generative adversial networks, linear regression, eigenvectors, activation function, hyperparameters, classification, LSTM, random forest, support vector machines, restricted Boltzmann machine, interpolation, K- nearest, logistic regression, gradient descent, transpose, sequence padding, vectorization, polynomials, inference, hyperspace, n-dimensional arrays, learning rate, loss function...
![Page 19: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/19.jpg)
CHALLENGE #1: COMPLEXITY
19
Backpropagation, naive Bayes, convolutional neural networks, decision trees, autoencoders, generative adversial networks, linear regression, eigenvectors, activation function, hyperparameters, classification, LSTM, random forest, support vector machines, restricted Boltzmann machine, interpolation, K- nearest, logistic regression, gradient descent, transpose, sequence padding, vectorization, polynomials, inference, hyperspace, n-dimensional arrays, learning rate, loss function...
![Page 20: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/20.jpg)
CHALLENGE #1: COMPLEXITY
20
Backpropagation, naive Bayes, convolutional neural networks, decision trees, autoencoders, generative adversial networks, linear regression, eigenvectors, activation function, hyperparameters, classification, LSTM, random forest, support vector machines, restricted Boltzmann machine, interpolation, K- nearest, logistic regression, gradient descent, transpose, sequence padding, vectorization, polynomials, inference, hyperspace, n-dimensional arrays, learning rate, loss function...
![Page 21: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/21.jpg)
CHALLENGE #2: DATA, DATA, DATA...
21
![Page 22: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/22.jpg)
CHALLENGE #3: BIAS VS. VARIANCE
22
VS. VARIANCE
![Page 23: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/23.jpg)
CHALLENGE #4: VECTORIZATION
23
![Page 24: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/24.jpg)
HOW DOES JAVA FACE UP TO THOSE CHALLENGES?
![Page 25: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/25.jpg)
FACING CHALLENGE #1: COMPLEXITY
25
• Ease-of-use: - Straight-forward integration
with any Java project - Same builder pattern used
throughout framework • Tutorials and documentation • Pre-packaged algorithms (and
even ML-models) Disclaimer: Also be aware that in order to be successful in implementing machine learning algorithms you probably need more understanding than what a simple tutorial or even a wiki can provide.I strongly suggest spending some time studying the subject before running head-long into implementing intricate machine learning models.
![Page 26: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/26.jpg)
DAVID'S EASY-TO-USE CHEATSHEET
• Model: the algorithm, or program, that makes the prediction/classification/grouping of the input data. I.e. the machine in machine learning. - In deep learning the model is called an artificial neural network.
There are three basic types: » Multilayer perceptron » Convolutional neural network » Recurrent neural network
• Data can be labelled or unlabelled, and structured or unstructured - If data is labelled we can train the model towards a known target,
otherwise not - If the data is structured it means we know (some of ) the features of
the data, otherwise not
26
![Page 27: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/27.jpg)
FACING CHALLENGE #2: DATA
27
FileSplit fileSplit = new FileSplit(directory, {".png"}); ParentPathLabelGenerator labelMaker = new ParentPathLabelGenerator(); ImageRecordReader recordReader = new ImageRecordReader(28,28,1, labelMaker); recordReader.initialize(fileSplit);
![Page 28: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/28.jpg)
FACING CHALLENGE #2: DATA
28
FileSplit fileSplit = new FileSplit(directory, {".png"}); ParentPathLabelGenerator labelMaker = new ParentPathLabelGenerator(); ImageRecordReader recordReader = new ImageRecordReader(28,28,1, labelMaker); recordReader.initialize(fileSplit);
![Page 29: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/29.jpg)
FACING CHALLENGE #2: DATA
29
FileSplit fileSplit = new FileSplit(directory, {".png"}); ParentPathLabelGenerator labelMaker = new ParentPathLabelGenerator(); ImageRecordReader recordReader = new ImageRecordReader(28,28,1, labelMaker); recordReader.initialize(fileSplit);
![Page 30: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/30.jpg)
FACING CHALLENGE #3: BIAS VS. VARIANCE
• Arbiter is a tool in the DL4J framework to automatically fine-tune a model's parameter space (learning rate, network size, regularization, etc.)
• Virtually anything in the model configuration can be tuned in • Drawback: a lot more processing time to fine-tune parameters
30
![Page 31: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/31.jpg)
FACING CHALLENGE #4: VECTORIZATION
• Vectorization in DL4J is handled by ND4J (n-dimensional array) • JNI bridge to same C++ libraries used by NumPy • Allocates continuous blocks of of-heap memory (performance) • GPU (CUDA)
31
![Page 32: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/32.jpg)
HOW TO IMPLEMENT ML SOLUTION IN JAVA?
![Page 33: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/33.jpg)
SETTING UP DEEPLEARNING4J
33
dependencies { compile("org.deeplearning4j:deeplearning4j-core:1.0.0-beta3") compile("org.nd4j:nd4j-native-platform:1.0.0-beta3")
}
dependencies { compile("org.deeplearning4j:deeplearning4j-core:1.0.0-beta3") compile("org.nd4j:nd4j-cuda-9.2:1.0.0-beta3")
}
Alternatively:
![Page 34: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/34.jpg)
HOW TO BUILD: CONVOLUTIONAL NEURAL NETWORK
• We will build a convolutional neural network using Deeplearning4J
34
![Page 35: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/35.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 36: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/36.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 37: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/37.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 38: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/38.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 39: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/39.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 40: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/40.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 41: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/41.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 42: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/42.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 43: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/43.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 44: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/44.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 45: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/45.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 46: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/46.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 47: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/47.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 48: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/48.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 49: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/49.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 50: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/50.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 51: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/51.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 52: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/52.jpg)
AInput: 28x28 px
Convolutional layer #1 5x5
"A"
Convolutional layer #2 5x5
Subsampling layer #1 100
Subsampling layer #2 50
Dense layer 150
Output layer 26
![Page 53: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/53.jpg)
HOW TO BUILD: CONVOLUTIONAL NEURAL NETWORK
• We will build a convolutional neural network using Deeplearning4J • Use Deeplearning4J MultilayerConfiguration to build a
MultiLayerNetwork
53
![Page 54: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/54.jpg)
HOW TO BUILD: CONVOLUTIONAL NEURAL NETWORK
54
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder() .seed(132) .optimizationAlgo(STOCHASTIC_GRADIENT_DESCENT) .weightInit(XAVIER) .updater(new Nesterov(learningRate, momentum)) .list() .layer(0, new ConvolutionLayer.Builder(5,5) .nIn(1).nOut(100).activation(IDENTITY).build()) // ... more layers here .layer(5, new OutputLayer.Builder()
.lossFunction(NEGATIVELOGLIKELIHOOD).nOut(26)
.activation(SOFTMAX).build()) .backprop(true) .build();
![Page 55: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/55.jpg)
HOW TO BUILD: CONVOLUTIONAL NEURAL NETWORK
55
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder() .seed(132) .optimizationAlgo(STOCHASTIC_GRADIENT_DESCENT) .weightInit(XAVIER) .updater(new Nesterov(learningRate, momentum)) .list() .layer(0, new ConvolutionLayer.Builder(5,5) .nIn(1).nOut(100).activation(IDENTITY).build()) // ... more layers here .layer(5, new OutputLayer.Builder()
.lossFunction(NEGATIVELOGLIKELIHOOD).nOut(26)
.activation(SOFTMAX).build()) .backprop(true) .build();
![Page 56: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/56.jpg)
HOW TO BUILD: CONVOLUTIONAL NEURAL NETWORK
56
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder() .seed(132) .optimizationAlgo(STOCHASTIC_GRADIENT_DESCENT) .weightInit(XAVIER) .updater(new Nesterov(learningRate, momentum)) .list() .layer(0, new ConvolutionLayer.Builder(5,5) .nIn(1).nOut(100).activation(IDENTITY).build()) // ... more layers here .layer(5, new OutputLayer.Builder()
.lossFunction(NEGATIVELOGLIKELIHOOD).nOut(26)
.activation(SOFTMAX).build()) .backprop(true) .build();
![Page 57: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/57.jpg)
HOW TO BUILD: CONVOLUTIONAL NEURAL NETWORK
57
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder() .seed(132) .optimizationAlgo(STOCHASTIC_GRADIENT_DESCENT) .weightInit(XAVIER) .updater(new Nesterov(learningRate, momentum)) .list() .layer(0, new ConvolutionLayer.Builder(5,5) .nIn(1).nOut(100).activation(IDENTITY).build()) // ... more layers here .layer(5, new OutputLayer.Builder()
.lossFunction(NEGATIVELOGLIKELIHOOD).nOut(26)
.activation(SOFTMAX).build()) .backprop(true) .build();
![Page 58: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/58.jpg)
HOW TO BUILD: CONVOLUTIONAL NEURAL NETWORK
58
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder() .seed(132) .optimizationAlgo(STOCHASTIC_GRADIENT_DESCENT) .weightInit(XAVIER) .updater(new Nesterov(learningRate, momentum)) .list() .layer(0, new ConvolutionLayer.Builder(5,5) .nIn(1).nOut(100).activation(IDENTITY).build()) // ... more layers here .layer(5, new OutputLayer.Builder()
.lossFunction(NEGATIVELOGLIKELIHOOD).nOut(26)
.activation(SOFTMAX).build()) .backprop(true) .build();
![Page 59: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/59.jpg)
HOW TO BUILD: CONVOLUTIONAL NEURAL NETWORK
59
MultiLayerConfiguration conf = new NeuralNetConfiguration.Builder() .seed(132) .optimizationAlgo(STOCHASTIC_GRADIENT_DESCENT) .weightInit(XAVIER) .updater(new Nesterov(learningRate, momentum)) .list() .layer(0, new ConvolutionLayer.Builder(5,5) .nIn(1).nOut(100).activation(IDENTITY).build()) // ... more layers here .layer(5, new OutputLayer.Builder()
.lossFunction(NEGATIVELOGLIKELIHOOD).nOut(26)
.activation(SOFTMAX).build()) .backprop(true) .build();
![Page 60: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/60.jpg)
HOW TO BUILD: CONVOLUTIONAL NEURAL NETWORK
60
MultiLayerNetwork model = new MultilayerNetwork(conf);
This is the network configuration from last slide...
![Page 61: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/61.jpg)
HOW TO BUILD: CONVOLUTIONAL NEURAL NETWORK
• We will build a convolutional neural network using Deeplearning4J • Use Deeplearning4J MultilayerConfiguration to build a
MultiLayerNetwork • Use Deeplearning4J EarlyStoppingTrainer to train and save the
network
61
![Page 62: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/62.jpg)
HOW TO BUILD: EARLYSTOPPINGTRAINER
62
EarlyStoppingConfiguration conf = new EarlyStoppingConfiguration.Builder() .epochTerminationConditions(new MaxEpochsTerminationCondition(30)) .iterationTerminationConditions(
new MaxTimeIterationTerminationCondition(2, HOURS)) .scoreCalculator(new ClassificationScoreCalculator(ACCURACY , iter)) .evaluateEveryNEpochs(1) .modelSaver(new LocalFileModelSaver(modelSaveDirectory)) .build();
![Page 63: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/63.jpg)
HOW TO BUILD: EARLYSTOPPINGTRAINER
63
EarlyStoppingConfiguration conf = new EarlyStoppingConfiguration.Builder() .epochTerminationConditions(new MaxEpochsTerminationCondition(30)) .iterationTerminationConditions(
new MaxTimeIterationTerminationCondition(2, HOURS)) .scoreCalculator(new ClassificationScoreCalculator(ACCURACY , iter)) .evaluateEveryNEpochs(1) .modelSaver(new LocalFileModelSaver(modelSaveDirectory)) .build();
![Page 64: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/64.jpg)
HOW TO BUILD: EARLYSTOPPINGTRAINER
64
EarlyStoppingConfiguration conf = new EarlyStoppingConfiguration.Builder() .epochTerminationConditions(new MaxEpochsTerminationCondition(30)) .iterationTerminationConditions(
new MaxTimeIterationTerminationCondition(2, HOURS)) .scoreCalculator(new ClassificationScoreCalculator(ACCURACY , iter)) .evaluateEveryNEpochs(1) .modelSaver(new LocalFileModelSaver(modelSaveDirectory)) .build();
![Page 65: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/65.jpg)
HOW TO BUILD: EARLYSTOPPINGTRAINER
65
EarlyStoppingConfiguration conf = new EarlyStoppingConfiguration.Builder() .epochTerminationConditions(new MaxEpochsTerminationCondition(30)) .iterationTerminationConditions(
new MaxTimeIterationTerminationCondition(2, HOURS)) .scoreCalculator(new ClassificationScoreCalculator(ACCURACY , iter)) .evaluateEveryNEpochs(1) .modelSaver(new LocalFileModelSaver(modelSaveDirectory)) .build();
![Page 66: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/66.jpg)
HOW TO BUILD: EARLYSTOPPINGTRAINER
66
EarlyStoppingTrainer trainer = new EarlyStoppingTrainer(conf, model, datasetIterator);
![Page 67: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/67.jpg)
![Page 68: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/68.jpg)
![Page 69: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/69.jpg)
THE RESULT
69
DEMO!
![Page 70: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/70.jpg)
LOOKING AHEAD: IS THIS SOMETHING FOR ME?
70
Data scientist
Softare engineer
![Page 71: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/71.jpg)
LOOKING AHEAD: IS THIS SOMETHING FOR ME?
71
Data scientist
Softare engineer
![Page 72: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/72.jpg)
LOOKING AHEAD: IS THIS SOMETHING FOR ME?
72
Data scientist
Softare engineer
You?
![Page 73: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/73.jpg)
LOOKING AHEAD
• Possibilities and risks, how do we measure them? • Ethics and responsibilities? • 5 years ahead vs 30 years ahead?
73
![Page 74: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/74.jpg)
LOOKING AHEAD: POSSIBILITIES
74
• If we can have self-driving cars, what else can we have?
![Page 75: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/75.jpg)
LOOKING AHEAD: POSSIBILITIES
75
• If we can have self-driving cars, what else can we have? - Self-cooking kitchens?
![Page 76: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/76.jpg)
LOOKING AHEAD: POSSIBILITIES
76
• If we can have self-driving cars, what else can we have? - Self-cooking kitchens? - Self-building buildings?
![Page 77: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/77.jpg)
LOOKING AHEAD: POSSIBILITIES
77
• If we can have self-driving cars, what else can we have? - Self-cooking kitchens? - Self-building buildings? - Smarter production machines
that can be used for almost all production
![Page 78: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/78.jpg)
LOOKING AHEAD: POSSIBILITIES
78
• If we can have self-driving cars, what else can we have? - Self-cooking kitchens? - Self-building buildings? - Smarter production machines
that can be used for almost all production
- Massively improved forecasts eliminating waste, optimised planning
- Etc.
![Page 79: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/79.jpg)
LOOKING AHEAD: RISKS
79
• Influencing democratic votes? - Cambridge Analytica, fake
news, etc.
![Page 80: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/80.jpg)
LOOKING AHEAD: RISKS
80
• Influencing democratic votes? - Cambridge Analytica, fake
news, etc. • Job loss? - "Robot automation will 'take
800 million jobs by 2030'" (McKinsey Global Institute)
![Page 81: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/81.jpg)
LOOKING AHEAD: RISKS
81
• Influencing democratic votes? - Cambridge Analytica, fake
news, etc. • Job loss? - "Robot automation will 'take
800 million jobs by 2030'" (McKinsey Global Institute)
• Surveillance society?
![Page 82: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/82.jpg)
LOOKING AHEAD: RISKS
82
• Influencing democratic votes? - Cambridge Analytica, fake
news, etc. • Job loss? - "Robot automation will 'take
800 million jobs by 2030'" (McKinsey Global Institute)
• Surveillance society? • What risks do you see?
![Page 83: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/83.jpg)
SUMMARY
• Machine learning is about utilizing patterns in data, to make classifications, forecasts, or grouping of data
• There are several different frameworks available for machine learning in Java. Some of them are focused on traditional machine learning algorithms.
• Deeplearning4J is a Java framework for developing machine learning systems using deep learning algorithms such as artificial neural networks.
• With modern frameworks like Deeplearning4J in Java or Keras in Python, much of the complexity of machine learning algorithms are abstracted away.
• Machine learning is about to impose mayor changes to all parts of our society, for good or bad. Are you prepared?
83
![Page 84: MACHINE LEARNING ON THE JAVA PLATFORM DataVec - Arbiter - Some visualisation tools • Import of Keras models ... learning. - In deep learning the model is called an artificial neural](https://reader031.fdocuments.us/reader031/viewer/2022013021/5ed3712bb458607d8231cb8f/html5/thumbnails/84.jpg)
Thank You!
This session was for You! I hope You will walk away from this with some new ideas and insights
I hope You have enjoyed it!