Reverse Engineering of Human Brain for the field of Artificial Intelligence

—What differentiate human beings from other animal world is human brain. What if we can somehow imitate working of human brain into our computers for processing highly computation tasks in much less time? Nowadays research is going on in this topic about reverse engineering the human brain to better know about how information is processed in our biological neural network. Using concept of reverse engineering applied to human brain, researchers and scientists came to know about working of brain and it is imitated in computers to develop various algorithms used in the field of Artificial Intelligence. One of the most prominent amongst them is the Convolutional Neural Networks(CNN). In this paper we focus on how biological neural networks work with the help of reverse engineering and the consequences of this reverse engineering which led to development of Artificial Neural Networks(ANN) and Convolutional Neural Networks(CNN).


INTRODUCTION
Reverse engineering is the process of analyzing a subject system to identify the system's components and their interrelationships, and to create representations of the system in another form at higher levels of abstraction [1]. The term which was highly associated with hardware field initially, has also influenced the field of software a lot. Generalizing the concept of reverse engineering in the field of software, we try to design the source code of the software in consideration by the knowledge of its functionalities and try to understand how it works. This process is exactly the opposite of the one that is generally adopted while developing any software. The main purpose of reverse engineering the software is thus the retrieval of source code of the software.
Humans are considered the most intelligent animals on this planet because of their highly functioning brain. What makes us (people) exceptional among every single other creature is considering, preparing and basic leadership capacities of our brain. If somehow, we can imitate human's brain or its processing and/or decision-making capabilities in computers that would be beneficial step for the future of all sciences especially computer science.
Modern neuroscience nowadays is focusing on reverse engineering of the human brain and build an understanding not just of what internal components are important and how they are connected, but also how they work [2]. When looked upon closely we find that the human brain has an estimated 100 billion neural processing elements known as neurons and about 100 trillion synaptic connections-the connection between the neurons. These neurons are connected to each other such that they pass on the information processed by one to another which would further process it. Thus, each neuron independently behaves as a processing unit which receives input from another neuron and the output is transferred to a different neuron. By reverse engineering neuroscientists have been able to understand the brain to a pretty good extent.
One of the developing field, Artificial intelligence has its foundations in reverse engineering of human brain. Historically scientists tried to imitate the actions of human brain without considering how brain functions. This approach was adopted taking into the consideration that aeroplanes were designed before understanding how birds fly. Later, as the computers that were designed to understand different objects failed to recognise them in complex environments, scientists realised that using that approach the limitations of performance were too high. This led them to adopting their way of thinking and hence reverse engineering of human brain was adopted. In view of characteristic knowledge, capacity of basic leadership of human mind, specialists and researchers have been endeavouring to actualize a similar insight and are prevailing to some stretch out by means of Artificial Intelligence.
Artificial Neural Network which is based on Biological Neural networks is a machine learning technique used for classification and other various purposes. It contains artificial neurons programmed to perform various calculations based on the input they receive from other neurons, thus trying to imitate the biological neural networks. In a typical architecture of ANN, number of layers of neurons are present. Neurons between different layers are connected to each other. Details of how ANN works will be covered in further sections. Convolutional Neural Networks(CNN) are a type of ANN involving convolution operation in it. Widely speaking CNN are majorly used to process images (2-Dimensional data) and classify them into various categories based on the features present in them. CNN imitates the way in which human brain understands an object.

A. Working of Human Brain
Human brain is often portrayed as a powerful computer. While many believe it as almost impossible task, some believe that we have reached the technological stage where establishing the mapping between connectome-a map of neural network [3] is possible. The way in which a person's personality differs from others depends upon the state of connection that exist between neurons. If somehow, we are able to map the exact connections between neurons, we would easily identify the flow between the neurons and it will ultimately result into advances in the field of neuroscience as well as make the way for existence of true artificial intelligence. Indeed, mapping an entire human connectome is one of the greatest technological challenges of all time. Just imaging all of a human brain with electron microscopes would be difficult enough. This would yield about one zettabyte of data, which roughly equals the world's current volume of digital content. Then analyzing the images to extract the connectome would be even more demanding [3].
The principle motivation behind figuring out the human brain is to better comprehend working of human mind and attempt to emulate its abilities into PCs at most extreme conceivable expand. So, in request to create/enhance anything in light of human personality, first we need to comprehend interior working of human brain. To utilize and create functionalities in light of human brain it is basic to see how data is accumulated and prepared. The human brain administers knowledge, memory, innovativeness and most importantly feelings. For this brain has divisions made in it for handling different types of tasks. The brain is made out of the cerebrum, cerebellum, and brainstem which is secured inside the skull. The brainstem goes about as a hand-off focus associating the cerebrum and cerebellum to the spinal string.
For learning and performing task we need data be it the case of human brain or any machine-based algorithm. Human brain gets these data through five senses: Taste, Touch, Locate, Notice, and Hearing. These sources provide frequently numerous data at one time. The brain collects all these data and stores the important parts into our memory. Depending on the data received it reacts in various circumstances by controlling various functionalities of our body like heart and breathing rates.
The smallest processing unit of our nervous system is known as neurons and hence the name for the network formed of neurons: Biological Neural Network. We break the structure into 3 parts in order to understand the working of Biological Neural Networks.
( Figure-1) 1) The receptors: They collect the information from the environment. As discussed earlier data is collected using five senses.
2) The effectors: They are responsible for generating the interactions with the environment. It means that after processing the information by neural network appropriate work is assigned to effectors i.e. to move muscles etc.
3) The flow of information: Represented by arrows in the diagram they control the activation of different neurons by only passing the information to the neurons that are important for that task.
So, in computer terms receptors fill in as input, effectors function as output while neural system/mind is processing unit.

B. Working of Biological Neural Network
A neuron is an individual processing unit of a brain. One neuron can be connected to many other neurons, in that way network of neurons is made. Hence it is known as biological neural network. According to neuroscientists, 10 billion neurons exist in human cortex and there are approximately trillions of connections between them. One of the significant characteristics of human brain is that it is extremely energy efficient. It uses approximately 10^-16 joules per operation per second, whereas the best computers designed till date use around 10^-6 joules per operation per second [4].
( Figure-2) The basic terminologies for understanding the biological neural networks are described as follows in form of the major components of a Biological Neural Network. 1) Neurons: It is the smallest part of brain, and an individual component which can process the information. The majority of neurons encode their activations or outputs as a series of brief electrical pulses (i.e. spikes or action potentials).
2) Soma: Neuron's cell body is known as soma which processes incoming activations and convert it into output activations.
3) Dendrites: Dendrites are fibers which emanate from cell body and they provide receptive zones that receive activation from other neurons. Soma the component which a neuron comprises of has a nucleus wherein information about hereditary traits and plasma that holds the molecular equipment lies. The molecular equipment helps the neuron produce the information needed by it. The dendrites play an important role by passing on the information to neuron in form of pulses. After receiving the pulses, the neuron produces the extra information needed to it as well as does the processing part and forwards the information in form of pulses via axon. Axon also has its sub branches: stands and sub-strands. Synapses-the terminals of these axons are the place where the neurotransmitters [6] transmit the information in form of diffusion. The pulses are produced as a result of receptor's tendency to emit the electric pulses at the synaptic gap. This communication between neurons is done in a very short span of time, typically in milliseconds. Over a period of time, the synaptic effectiveness is adjusted in such a way that they can learn from the activities they participate. This shows the dependence of human brain over previous events and hence the memory. In spite of the fact that such a long process takes place at each and every neuron, our human brain has very high efficiency and can process the tasks like human face recognition in under 100 milliseconds.
In determining whether an impulse should be produced or not, some incoming signals produce an inhibitory effect and tend to prevent firing, while others are excitatory and promote impulse generation. The distinctive processing ability of each neuron is then supposed to reside in the typeexcitatory or inhibitory-and strength of its synaptic connections with other neurons. [8] This was all about how communication takes place between two neurons. This process takes place at each and every level of the network as it is the neurons who are communicating and hence making the connection between two layers of the neurons. Thus, communication between two neurons and the processing part inside the neuron has to be understood in order to understand the mechanism of Biological Neural Networks.

III. ADVANCES IN COMPUTER SCIENCE AS A RESULT OF
REVERSE ENGINEERING OH HUMAN BRAIN From the inception of scientific development, nature has always helped us in one way or another. Biomimicry has always been there for the scientists to generate new ideas. Reverse engineering of human brain helps in the development of all field of sciences ranging from abstract field like Psychology to completely logic-based field like Computer Science.
Like in reverse engineering of software we know the final output and we find the source code for getting the output, in reverse engineering of human brain we know the ultimate output which is the way in which we all can perform all tasks involving logic, emotions, computations, etcetera. Knowing how these tasks are performed by human brain opens up an opportunity for us to imitate the human brain by designing a system which perform all its tasks in the same way it does. Taking specifically about advances in field of computer science, Artificial Intelligence(AI), Artificial Neural Networks(ANN), Convolutional Neural Networks(CNN), etcetera, all of them have got their foundations upon the Biological Neural Network and hence the basis for advances in particularly these fields is a result of reverse engineering of human brain.

A. Artificial Intelligence(AI)
"AI is the study of how to make computers do things at which, at the moment, people are better" [7]. Principle logic behind the artificial intelligence was the possibility that whether the machines can think and settle on choices like we people do. Artificial Intelligence has its presence in each and every field of application. AI along with Machine Learning deals with designing systems which have the capabilities using which they can perform major of the work done by human brain without or with extremely less interaction with humans. gather the data. In light of gathered information, it is handled. Utilizing different calculations relying on the errand allotted, input information is changed over into helpful data. In people same assignment is performed by Biological neural system. Subsequent to handling the data by human brain, data is passed as pulses starting with one neuron then onto the next. Furthermore, proper move is made as development of muscle and so on. Similarly, in machines which utilizes artificial intelligence, when data is handled proper moves is made in the environment in which it is working.
Thus, in any parts of Artificial Intelligence there is an impact of figuring out the human brain somehow. AI is as of now an emerging field and there are loads of research is going ahead in this field. There are chances that further delving in the human brain by figuring out can prompt unimaginable advances in computer science.

B. Artificial Neural Networks(ANN)
A neural network is an interconnected assembly of simple processing elements, units or nodes, whose functionality is loosely based on the animal neuron. The processing ability of the network is stored in the interunit connection strengths, or weights, obtained by a process of adaptation to, or learning from, a set of training patterns. [8] ( Figure-5) For artificially modeling the neurons we model different components as shown in Figure-5. A single number or weight, which would be multiplied with each input before sending them for processing, models synapses of biological neuron. After multiplying all inputs with corresponding weights, they are summed together depicting the collection of input pulses in biological neurons. The sum is then passed to an activation function which would perform the task of generating impulses based on the value of sum received and threshold set for that neuron thus imitating the somas of biological neuron. This type of programmed neurons are connected to each other. These connections can range from a single neuron to a network of neurons in which all of them are connected to each other. Figure-6 shows an example of neural network. Neural networks can be broadly classified into three categories: feedforward, recurrent and fully connected [10]. Each of them differs in their architecture. In a feedforward network each neuron has got only one directed connections to neurons of next layer. In recurrent networks neuron affects itself by any connection. Completely linked networks permits connection between all neurons except for direct recurrences.
The method of propagating error back in the network is known as backpropagation. In Biological neural networks, changes in connections between the neurons takes place in order to remember something and to process the information synapses effectiveness is adjusted. Here in ANN this takes place in form of updating the weights using the backpropagation algorithm.
Following are the general steps followed in the process of training the ANN: 1) Weight is assigned to all the adges in the network. They are denoted as W11,W12,… and so on. 2) Using the input feature values and the weights rate of activation for a hidden layer if found. The rate of activation equals the sum of products of inputs and their corresponding weights. 3) This activation rate is forwarded to activation function. Many types of activation functions like sigmoid, tanh, etcetera. are there and the one to be used is selected based upon the application.

4)
Repeating the procedure in forward direction and based upon the activation function applied at the output layer, output class is predicted. 5) Error is calculated after obtaining the output. This calculated error is back propagated in the network and new weights are generated based on the value of error at that particular neuron.
Artificial neural networks might be thought of as disentangled models of the networks of neurons that happen normally in the animal brain. From the organic perspective the fundamental necessity for a neural system is that it should endeavor to catch what we accept are the basic data handling highlights of the comparing "genuine" system. For an engineer, this correspondence isn't so critical and the system offers an elective type of parallel processing that may be more fitting for unraveling the errand close by.

C. Convolutional Neural Networks(CNN)
Convolutional neural networks are part of many of the most advanced models currently being employed. CNNs, are a specialized kind of neural network for processing data that has a known grid-like topology [9]. Convolutional networks are neural networks that use convolution in place of general matrix multiplication in at least one of their layers.
A typical architecture of CNN consists of following components: 1) Convolutional Operation 2) Pooling Layers 3) Fully Connected Output Layer 4) Dropout Layer Convolution operation is a typical operation involving two real valued arguments. The inputs to convolution function are referred as input (set of features) and kernel (the function) and output is often referred as feature map.
A CNN layer is designed to capture three properties of primary visual cortex.
1) The property of having the features defined in terms of 2-Dimensional maps.
2) The units of CNN are designed to imitate the activity of simple cells which is characterized by a linear function of image in small spatially localized receptive field. 3) Cross-channel pooling of a CNN imitates the working of complex cells which respond to features that are similar to those detected by simple cells being invariant to small linear shifts.
The fully connected output layer of a CNN closely resembles the inferotemporal cortex(IT) of our brain. All the information received while viewing an object is collected at IT after processing it through many layers of visual cortexes. The fully connected layer of CNN also behaves in similar way as it collects information from all neurons and performs calculations accordingly.
That all being said the CNNs are not yet capable of Imitating the brain completely. The fact that CNN captures only spatial features is outstanding. The temporal features that need to be captured are done using Recurrent Neural Networks(RNN). The combination of both CNN and RNN would allow us to combine the spatial-temporal features which would be then used for computing. Even if we consider only spatial features of the brain, CNN have many differences in the way it computes.
1) The human eye is mostly very low resolution, except for a tiny patch called the fovea. Though we feel that we are seeing whole scene in high resolution, it is not the case. This is not the case when we deal with images. 2) CNN are purely visual while human brain connects visual system with many other senses as well. 3) CNN's application for performing various other tasks like understanding the scenario etcetera are in their infancy. The brain performs these tasks very effectively. 4) Even a simple feedback would be explored extensively in biological neural networks but same has not yet been shown for CNN.
CNN provides a path to specialize neural networks to work with data that has a clear grid structure which are also scalable to larger level. This approach of CNN has been a great success when topology of a two-dimensional image is considered. Thus, CNN and other architectures under the Deep Learning are very much similar to Biological Neural Networks but they in no way are near to a neuron in human brain as in terms of complexity and functionality neurons of brain outperforms the artificial neurons in each and every aspect. However, this in no way discounts the purpose of reverse engineering of human brain. There is whole different field of neuroscience working to create a better insight into the functioning of human brain, which creates a space for possibility of better systems trying to imitate brain in highest possible way.

IV. CONCLUSION
In nutshell reverse engineering of human brain lead to some marvellous innovation. As human brain is considered to be the most intelligent organ, by reverse engineering it, many useful innovations in computer science like AI, ANN, CNN, Blue Brain, etcetera are done. The room for development in this field haven't been smaller and as a result of reverse engineering of human brain it has widened even more.