1 / 46

Self-Organizing Learning Array for Classification SOLAR_C

Self-Organizing Learning Array for Classification SOLAR_C. Basic Organization and Software Janusz Starzyk Ohio University. SOLAR Basics. The training data is presented to the network in form of feature vectors . Each feature vector contains one coordinate of each data point .

inge
Télécharger la présentation

Self-Organizing Learning Array for Classification SOLAR_C

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Self-Organizing Learning Array for Classification SOLAR_C Basic Organization and Software Janusz Starzyk Ohio University

  2. SOLAR Basics • The training data is presented to the network in form of feature vectors. • Each feature vector contains one coordinate of each data point. • M input data points used for training are described by N-dimensional vectors. • So the NN have N inputs and reads the information in parallel from M feature vectors. • The NN is a feed forward structure that can decide about its own interconnections and neuron operations. • It has a prewired organization that contains a number of neurons, which are pseudorandomly connected to the input nodes and other neurons • An entropy based evaluator (EBE) is used to select a proper operation and inputs for each neuron.

  3. EBE EBE EBE EBE EBE EBE MbyN +/ MbyN +/ MUX - MUX - Threshold Threshold Value Value EBE EBE EBE EBE EBE EBE MbyN +/ MbyN +/ MUX - MUX - Threshold Threshold Value Value EBE EBE EBE EBE EBE EBE EBE MbyN +/ MbyN +/ MUX - MUX - Threshold Threshold Threshold Value Value Value EBE EBE EBE EBE EBE EBE MbyN +/ MbyN +/ MUX - MUX - Threshold Threshold Value Value Organization of SOLARstructure

  4. Feed-forward (FF) structure • In the FF organization, as new neurons are added, their outputs can be used as inputs in subsequently generated new neurons. • In this organization neurons generated later in the process cannot feed neurons generated earlier. • A FF organization is always stable.

  5. Feed-back (FB) structure • In the FB organization all neurons are generated concurrently. • Inputs of each neuron can be connected to outputs of any neuron (including itself). • An FB arithmetic organization may become unstable in case a positive feedback causes the increase in the input signal values. • We must guarantee that the transformation obtained is contractive, which means that the norm of the output of a neuron must be less or equal to the average norm of all the inputs.

  6. Signal processing in SOLAR • We know that the best linear transformations may be evolved by iteratively applying Haar wavelet. • Since Haar wavelet requires averaging and difference of the two inputs we can evolve the learning hardware by using an adder-subtractor with the right shift. • The reduced-instruction set processor (RISP)is programmed to either perform addition or subtraction and the right shift of the result • The same RISPs can be used in FF and FB structures. • RISP can also perform selected nonlinear or logic operations on its inputs

  7. Initial neurons’ wiring in FF structure • A fixed number of neurons is added per each layer • Connections to closest neighbors are generated with higher probability • Neurons can be identified by their position (row,col) on the grid • Manhatan distance between two neurons abs(row1-row2)+abs(col1-col2)

  8. Generating random connections • To obtain a random variable y with a specific pdf(y) function from the uniform distribution pdf(x) first calculate the CDF function • and then using the uniform random variable x find the value of the resulting samples y with desired pdf function pdf(y) from • If no analytical function for CDF inverse can be found use the point-by point mapping

  9. Generating random connections Example • Suppose that we want to generate random numbers with pdf(x)=sin(x*pi)). • The following Matlab code was used for demonstration y=(1:100)/100; pdfy=sin(pi.*y).*pi./2; x=(1-cos(pi.*y))./2; t=acos(2.*x-1)/pi; plot(t) x=rand(1000,100); t=acos(2.*x-1)/pi; hist(t,50)

  10. Generating random connections • histogram of 100 experiments each with 1000 data points generated.

  11. Neuron’s Inputs/Outputs Control input CI System logic output Output to other neurons Control outputs CO, COT, COTI Neuron Id # (I, F, Th) Inputs from other neurons

  12. Control input • Each neuron is clock controlled. • At each clock cycle it is assumed that a different data point is transmitted through the network. • Control input (CI) is used to activate the neuron operation. • Control input is obtained from the control outputs (CO) of the feeding neuron. 1. CO = CI of this neuron 2. COT = CI AND neuron’s threshold output • 3. COTI= CI AND the inverted neuron’s threshold output • Neuron’s threshold output T is defined together with operation of a neuron.

  13. Neuron’s signal inputs • Each neuron has several signal inputs and two control inputs • Each CI input uses CO, COT, or COTI of the control feeding neuron (CFN) and reads its output information deficiency • Neuron selects two (or one) of its inputs to perform a selected arithmetic or logic operation on them producing outputs distributed to other neurons. • Neuron first selects one of its threshold- controlled inputs and reads the output information deficiency of the CFN

  14. Neuron’s arithmetic operations • L(a) returns the location (starting from 0) of the most significant bit position of a, • E(a) forces 1 on a-th bit position • We have L(E(a))=E(L(a))=a

  15. Refined arithmetic operations A refined logarithm function Lm(a) related to L(a) as follows: L=Lm(a)=Li(a)+farc(a/2^Li(a))=Li(a)+ frac(shr(a,Li(a))) Where shr(a,b) represents shift a right by b bitsandfrac(a) is the fraction part of a E=Em(a)= (1+fract(a))*2floor(a)=shl((1+fract(a)),floor(a))

  16. Neuron’s arithmetic operations Assume that we use B bits fixed precision arithmetic • Add(a,b)=(a+b)/2 addition • subtraction   • Mult(a,b)=E(Sub(L(a)+L(b),B)) multiplication • Divd(a,b)=E(Sub(L(a),L(b))) division • Root(a)=E(L(a)/2+B/2) square root

  17. Neuron’s arithmetic operations • Invr(a)=E(Sub(B,L(a))) inverse • Sqre(a)=E(Sub(2L(a),B))) square • Qdrt(a)=E(L(a)/4+3B/4)) quadruple root • Qdre(a)=E(Sub(4L(a),3B))) power 4 • Log2(a)= E(L(L(a))+B-L(B)) logarithm • (for B=8 Log2(a)=L(a)*16 ) • Exp2(a)= E(Sub((L(a),B-L(B)))) exponent • (for B=8 Exp2(a)=E(a/16) )

  18. Neuron’s arithmetic operations a=(1:256);b=(1:256); la=log2(a);lb=log2(b); lla=log2(la(2:256)); plot(2.^(la+lb-8),':') %plot multiply function hold on plot(a,'--') %plot input function plot(2.^(la/2+4),':') %plot squre root function plot(2.^(8-la),'-') %plot inverse function plot(2.^(lla+5),'-.') %plot logarithm function plot(2.^(a/32),'-') %plot exponent function legend('square','input','square root','inverse','logarithm','exponent') title('Selected functions of the positive integer input from 0 to 255'); plot(4.^(la+lb-12),':') %plot power 4 function plot(2.^(la/4+6),':') %plot quadruple root function

  19. Neuron’s arithmetic operations

  20. Neuron’s arithmetic operations a=(1:255); b=(1:255)/32; la=dec2bin(a); for i=1:size(a,2) Li(i)=8-min(find(la(i,:)=='1')); end; Lm=32*((a./(2.^(Li))-1)+Li); plot(Lm,':') hold on plot(32*log2(a)) title('The logarithm and its approximation') figure(2) Em=2.^floor(b).*(1+(b-floor(b))); plot(Em,':') hold on plot(2.^b) title('The exponent and its approximation')

  21. Neuron’s arithmetic operations

  22. Neuron’s arithmetic operations

  23. Neuron’s arithmetic operations Example Consider a binary representation of a=237d= 11101101band calculate the logarithm of ausing Lm(a)=Li(a)+frac(shr(a,Li(a))) Define first the position of the most significant bit. In this case Li(a)=7 (as the 8th bit was the most significant). In the binary notation 7 d =111 b so we append 111 with the fraction obtained by the remaining bits of a to obtain Lm(a)=111.1101101 b = 7.8516. The exact value of log2(a)=7.8887 Similarly calculate 23.425= 10.7406 using Em(a)=shl((1+fract(a)),floor(a)) Since a=3.425=11.011011 b, we have the floor(a)=3. So we obtain the exponent by shifting 1+fract(3.425)=1.011011 b to the left by 3 bits, therefore Em(a)= 1011.011 b =11.375.

  24. Simplified sigmoidal functions Typical sigmoidal functions used in backpropagation learning include hyperbolic tangent and inverse tangent functions. • Using the approximate of the exponent operation, we can implement simpler sigmoidal function for NN training Matlab code: f(x)=2.^(-floor(a)-1).*(2-(a-floor(a)));

  25. Simplified sigmoidal function These sigmoidal functions can be compared as follows Function Has Has simple derivative easily related to its value such that weights in backpropagation can be easily updated using and e is an output error

  26. Approximation of the exponent function

  27. Approximation error

  28. Neuron’s self-organizing principles • Total local sample count: the neuron counts the number of samples transmitted. • Neuron performs an operation on the selected inputs. • CI high, compare against a set threshold value; • CI zero, data is not in the selected subspace - no comparison • Probabilities of samples from various classes satisfying and not satisfying the threshold value are estimated. • The threshold partitions the input space of a given neuron into two subspaces.

  29. Neuron’s self-organizing principles • Suppose that the number of points from classc that satisfied the threshold equals to nsc. • The probability of this class samples satisfying the threshold is • Subspace probabilities and local class probabilities can be estimated by and

  30. Neuron’s self-organizing principles • Information index. where the summation is performed with respect to all classes and two subspaces • The information index should be maximized to provide an optimum separation of the training data. • When the information index equals to 1, the classification problem is solved completely.

  31. Neuron’s self-organizing principles

  32. Neuron’s self-organizing principles Normalized standard deviation of the information estimated by MC simulation

  33. Subspace Learning • To accumulate learning results from different subspaces we must weight the amount of added learning against increased system complexity and the classification error. • Subspace information deficiency (normalized relative subspace entropy) • Information deficiency indicates how much knowledge must be gained to resolve the classification problem in the given subspace. • Input information deficiency for the first layer of neurons is equal to 1.

  34. Subspace Learning • The information index and information deficiencies are simply related as • Each subspace can be separately learned by minimizing its information deficiency. • In order to select a feature with the largest improvement in overall information maximize the information deficiency reduction

  35. Subspace Learning • Output information deficiency is the product of the local subspace information deficiency with the input information deficiency. • If the CO is the same as the CI for a given neuron, then the output information deficiency is equal to the input information deficiency. CI LO O CO COT COTI Neuron Id # (I, F, Th) I

  36. Subspace Learning • In subsequent space divisions the information deficiency must be replaced by the accumulated information deficiency expressed as a product of information deficiencies in each subsequent partition. where the product is taken with respect to all partitions • Pass the value of accumulated information deficiency to the next neuron as its input information deficiency. • The information deficiency reduction is calculated as

  37. Logic (voting) output Output data CO, COT, COTI and related dout Input data RISP CI and din Selected RISP operation Subspace Learning • The port organization of the RISP entity related to information processing in a given neuron is as shown

  38. Subspace Learning • Neuron’s information index is used to predict reduction of the subspace entropy. • This reduction will take place only if the subspace is really divided using the selected threshold. • This is accomplished by selecting the COT or COTI to drive CI of another neuron or the system output. • If instead, CO is selected as the next neuron CI, then no division takes place and neurons role is only used to better organize the input data.

  39. Subspace Learning • Several neurons may need to act on the input data in a given subspace before the subspace is divided. • The rate of selection of the CO over selection of COT or COTI is set experimentally. • It determines a statistical parameter - probability of subspace selection that is the probability of selecting either COT or COTI as the neuron’s CI.

  40. Information Error and Final Classification • The more partitions were done, the smaller the value of the accumulated information deficiency. • Once this value reaches a specified threshold the learning must stop. • This threshold depends on the size of the training data and must not be smaller than the information deficiency error that results from the size of the confidence interval. • Set information deficiency threshold(IDT) and define the neuron outputs COT or COTI to bethe self-organizing neural network outputs (SONNO).

  41. Information Error and Final Classification • During training, establish which class each SONNO is most correlated to and calculate the probability of correct classification for each one. • estimate the probability of correct classification for each class using: nc is the times the SONNO went high for each training class, nt: is the total number of times it was high.

  42. Information Error and Final Classification • Note that the SONNO may be quiet for most of the time, so total nt can be small. • If it is smaller than four or five samples do not use it to classify since the probability has a large error. • A fusion function is developed that weights the votes of each SONNO for each class.

  43. Information Error and Final Classification • The fusion function provides a score for each target class based upon the training data performance of each SONNO and is computed as: Where: Pcc max = maximum pcc of all SONNO’s “voting” for class c Pcci = Pcc of each “vote” for class c n = number of “votes” for class c = small number preventing division by zero.

  44. Information Error and Final Classification • Example: • Suppose that we have 3 classes and 6 SONNO’s and they have their probabilities Pcc calculated as in the following table

  45. Information Error and Final Classification • Suppose that 4 test samples were sent through the system and the following outputs went high (as shown in table). • The calculated values for each class are as shown in the table. • The winning classes are class # 1, 2, 3, and 3 for these four samples.

  46. Select inputs Select RISP operation Select threshold Comparator Input data MUX RISP Output data Voting output TCO, TCOT, TCOTI and related dout Input counter Subspace Counter TCI Entropy based evaluator din Neuron’s Structure The internal block level structure of a neuron

More Related