Machine Learning
Neural nets (NN) are a subset of machine learning (ML). Think of ML as the world of ‘will be’ and NN as the world of ‘is’.
The field of ML interests itself in the construction of mechanisms (algorithms) which spend the least time learning and provide the best ‘predictions’ when faced with some input. In learning an input is provided, and based on that input, an output produced. During training a difference ‘signal’ is fed back to the learner saying how far the output is from the desired result. The field requires some proficiency in statistics, differential calculus and linear algebra.
On the other hand, a neural net attempts to mimic the brain. Roughly, a neural net consists of an input layer, an output layers, and a layer between which we might as well call the ‘brain’.
Conceptually, the input layer is the sensor, accepting raw input and converting it into something the ‘brain’ understands. If the raw input is an analog signal, then this is digitzed and sent to the ‘brain’. The ‘brain’ processes the input and sends it’s result to one or more output devices. In an analogous fashion to neurons in the human brain, the machine brain ‘neurons’ connect to one or more other neurons and to one or more input or output devices. The ‘learning’ consists of ‘teaching’ the brain to weight the arcs connecting other neurons to itself. This weighting becomes the processing element which allows different (or the same) input to be treated differently at each neuron. Consider that your spouse has high reliability. Everything your spouse says must be seriously considered. On the other hand, your mother-in-law is seldom correct in the things said. So there is less credence given to statement from this source, and the weight is low whereas, the weight is higher for your spouse.
Our NN neurons need some processing capability to determine what adjustments of the input arc weights must be done. This processing element is the ML. Each neuron is actually ML software, and the input ‘arcs’ are data structures. Think of the ‘brain’ as being a graph where the graph nodes are the ML software, and the graph arcs are the weigthed input arcs.
During training a known input causes an output. This output is accepted or rejected, forming a correction to the ‘brain’. Based on this correction, the arc weights are adjusted. At the end of training, the arc weights and the ML neurons produce an output consistent with expectations. The NN learns.
Classification of a problem, (Yes/No) is not the only application. We have examples of self-classification, there is no human derived ‘correction’, instead the internal logic of the brain does it’s own classification. We have ‘recognition’, were a complex input signal, e.g., the accented human voice, is used to identify the spoken word, and so on.
The concept is that a NN is hosted on a single computer or multiple computers with or without multi-threading, and each neuron is cycled through to yield some result.
This web page has references which show how the ML forms a decision, and describes the ML use in a NN.
The different sections can be categorized as follows:- Articles: Have little technical heft and can be considered as light reading, opiniions, and conjectures as the state of the craft.
- Research & Reports: Requires a level of expertise ranging from familiar to experienced. The items generally assume some non-trivial level of understanding of Cyber Security and/or Machine learning.
- Books: Surveys and didactic material suitable for in-depth learning. Generally texts with large heft.
- Resources: Other web sites containing matrial similar to this page. Allows extanded learning.
- References: Additional material nnot directly related to cyber security.