From 35428af8f54a789242db1dd2e37589824c9605b5 Mon Sep 17 00:00:00 2001 From: Mahdieh Pirmoradian Date: Sun, 21 Jan 2024 23:08:13 +0100 Subject: [PATCH 1/4] adding "ApproveMultiSequenceLearning" Documentation --- .../docs/ApproveMultiSequenceLearning.md | 297 ++++++++++++++++++ 1 file changed, 297 insertions(+) create mode 100644 source/NeoCortexUtils/docs/ApproveMultiSequenceLearning.md diff --git a/source/NeoCortexUtils/docs/ApproveMultiSequenceLearning.md b/source/NeoCortexUtils/docs/ApproveMultiSequenceLearning.md new file mode 100644 index 000000000..62ea85b2b --- /dev/null +++ b/source/NeoCortexUtils/docs/ApproveMultiSequenceLearning.md @@ -0,0 +1,297 @@ +# ML22/23-15 Approve Prediction of Multisequence Learning + +## Introduction + +In this project, we have tried to implement new methods along `MultisequenceLearning` alogrithm. The new methods are automatically reading the dataset from the given path in `HelperMethods.ReadDataset(datasetPath)`, we also have test data in other file which needs to be read for later testing the subsequences in similar form as `HelperMethods.ReadDataset(testsetPath)`. `RunMultiSequenceLearningExperiment(sequences, sequencesTest)` takes the multiple sequences in `sequences` and test subsequences in `sequencesTest` and is passed to `RunMultiSequenceLearningExperiment(sequences, sequencesTest)`. After learning is completed, calculation of accuracy of predicted element. + +## Implementation + +![image](./images/overview.png) + +Fig: Architecture of Approve Prediction of Multisequence Learning + +Above the flow of implementation of our project. + +`Sequence` is the model of how we process and store the dataset. And can be seen below: + +```csharp +public class Sequence +{ + public String name { get; set; } + public int[] data { get; set; } +} +``` + +eg: +- Dataset + +```json +[ + { + "name": "S1", + "data": [ 0, 2, 5, 6, 7, 8, 10, 11, 13 ] + }, + { + "name": "S2", + "data": [ 1, 2, 3, 4, 6, 11, 12, 13, 14 ] + }, + { + "name": "S3", + "data": [ 1, 2, 3, 4, 7, 8, 10, 12, 14 ] + } +] +``` + +- Test Dataset + +```json +[ + { + "name": "T1", + "data": [ 1, 2, 4 ] + }, + { + "name": "T2", + "data": [ 2, 3, 4 ] + }, + { + "name": "T3", + "data": [ 4, 5, 7 ] + }, + { + "name": "T4", + "data": [ 5, 8, 9 ] + } +] + +``` + +Our implemented methods are in `HelperMethod.cs` and can be found [here](../HelperMethods.cs): + +1. FetchHTMConfig() + +Here we save the HTMConfig which is used for Hierarchical Temporal Memory to `Connections` + +```csharp +/// +/// HTM Config for creating Connections +/// +/// input bits +/// number of columns +/// Object of HTMConfig +public static HtmConfig FetchHTMConfig(int inputBits, int numColumns) +{ + HtmConfig cfg = new HtmConfig(new int[] { inputBits }, new int[] { numColumns }) + { + Random = new ThreadSafeRandom(42), + + CellsPerColumn = 25, + GlobalInhibition = true, + LocalAreaDensity = -1, + NumActiveColumnsPerInhArea = 0.02 * numColumns, + PotentialRadius = (int)(0.15 * inputBits), + MaxBoost = 10.0, + DutyCyclePeriod = 25, + MinPctOverlapDutyCycles = 0.75, + MaxSynapsesPerSegment = (int)(0.02 * numColumns), + ActivationThreshold = 15, + ConnectedPermanence = 0.5,e. + PermanenceDecrement = 0.25, + PermanenceIncrement = 0.15, + PredictedSegmentDecrement = 0.1, + }; + + return cfg; +} +``` + +All the fields are self explanotary as per HTM theory. + +2. getEncoder() + +We have used `ScalarEncoder` since we are encoding all numeric value only. + +Remeber that `inputBits` is same as `HTMConfig`. + +```csharp +/// +/// Get the encoder with settings +/// +/// input bits +/// Object of EncoderBase +public static EncoderBase GetEncoder(int inputBits) +{ + double max = 20; + + Dictionary settings = new Dictionary() + { + { "W", 15}, + { "N", inputBits}, + { "Radius", -1.0}, + { "MinVal", 0.0}, + { "Periodic", false}, + { "Name", "scalar"}, + { "ClipInput", false}, + { "MaxVal", max} + }; + + EncoderBase encoder = new ScalarEncoder(settings); + + return encoder; +} +``` + +Note that `MaxValue` for encoder is set to `20` which can be change but then this value should be matched while creating synthetic dataset. + +3. ReadDataset() + +Reads the JSON file wehen passed as full path and retuns the object of list of `Sequence` + +```csharp +/// +/// Reads dataset from the file +/// +/// full path of the file +/// Object of list of Sequence +public static List ReadDataset(string path) +{ + Console.WriteLine("Reading Sequence..."); + String lines = File.ReadAllText(path); + //var sequence = JsonConvert.DeserializeObject(lines); + List sequence = System.Text.Json.JsonSerializer.Deserialize>(lines); + + return sequence; +} +``` + +4. CreateDataset() + +We made an enhancement to create dataset automatically so we do not have to manually spend time. Here we create dataset with paremeters such as `numberOfSequence` to be created, `size` of a sequence, `startVal` possibly start range, and `endVal` possibly start range of sequence. + +```csharp +/// +/// Creates list of Sequence as per configuration +/// +/// Object of list of Sequence +public static List CreateDataset() +{ + int numberOfSequence = 3; + int size = 12; + int startVal = 0; + int endVal = 15; + Console.WriteLine("Creating Sequence..."); + List sequence = HelperMethods.CreateSequences(numberOfSequence, size, startVal, endVal); + + return sequence; +} +``` + +Note that `endVal` should be less than equal to `MaxVal` of `ScalarEncoder` used above + +5. SaveDataset() + +Saves the dataset in `dataset` director of the `BasePath` of the application where it is running. + +```csharp +/// +/// Saves the dataset in 'dataset' folder in BasePath of application +/// +/// Object of list of Sequence +/// Full path of the dataset +public static string SaveDataset(List sequences) +{ + string BasePath = AppDomain.CurrentDomain.BaseDirectory; + string reportFolder = Path.Combine(BasePath, "dataset"); + if (!Directory.Exists(reportFolder)) + Directory.CreateDirectory(reportFolder); + string reportPath = Path.Combine(reportFolder, $"dataset_{DateTime.Now.Ticks}.json"); + + Console.WriteLine("Saving dataset..."); + + if (!File.Exists(reportPath)) + { + using (StreamWriter sw = File.CreateText(reportPath)) + { + sw.WriteLine(JsonConvert.SerializeObject(sequences)); + } + } + + return reportPath; +} +``` + +6. Calculating accuracy in PredictNextElement() in `Program.cs` + +![image](./images/approve_prediction.png) + +Fig: Predictiona and calculating accuracy + +```csharp +int matchCount = 0; +int predictions = 0; +double accuracy = 0.0; + +foreach (var item in list) +{ + Predict(); + //compare current element with prediction of previous element + if(item == Int32.Parse(prediction.Last())) + { + matchCount++; + } + predictions++; + accuracy = (double)matchCount / predictions * 100; +} +``` + +Note that prediction code is omitted. + +## How to run the project + +### To create synthetic dataset + +1. Open the [sln](../../../NeoCortexApi.sln) and select `MultiSequenceLearning` as startup project. + +2. In `Program.cs` we have the `Main()`. Uncomment below code to create a synthetic dataset. + +```csharp +//to create synthetic dataset +string path = HelperMethods.SaveDataset(HelperMethods.CreateDataset()); +Console.WriteLine($"Dataset saved: {path}"); +``` + +*and comment rest of the lines*. + +3. Run to create dataset and save the path of dataset folder and name. + +![dataset](./images/dataset.jpg) + +### To run the experiment + +1. Open the [NeoCortexApi.sln](../../../NeoCortexApi.sln) and select `MultiSequenceLearning` as startup project. + +2. In `Program.cs` we have the `Main()`. Change the name of `dataset` file saved from previous run as seen below: + +```csharp +//to read dataset +string BasePath = AppDomain.CurrentDomain.BaseDirectory; +string datasetPath = Path.Combine(BasePath, "dataset", "dataset_03.json"); //edit name of dataset here +Console.WriteLine($"Reading Dataset: {datasetPath}"); +List sequences = HelperMethods.ReadDataset(datasetPath); +``` + +and also *copy the [test data](../dataset/test_01.json) to the folder* (`{BASEPATH}\neocortexapi\source\MySEProject\MultiSequenceLearning\bin\Debug\net6.0\dataset`). + +## Results + +We have run the experiment max possible number of times with different dataset. We have tried to keep the size of dataset small and number of sequences also small due to large time in execution. + +![results](./images/result.png) + +## Reference + +- Forked from [ddobric/neocortexapi](https://github.com/ddobric/neocortexapi) + +- [Numenta Research Publication](https://www.numenta.com/resources/research-publications/) + +- [Machine Learning Guide to HTM](https://www.numenta.com/blog/2019/10/24/machine-learning-guide-to-htm/) \ No newline at end of file From d129044cea7af5d10b1f7affe4a06304b5367a35 Mon Sep 17 00:00:00 2001 From: Mahdieh Pirmoradian Date: Sun, 21 Jan 2024 23:12:07 +0100 Subject: [PATCH 2/4] adding the related images for documentation --- .../docs/images/approve_prediction.png | Bin 0 -> 63138 bytes source/NeoCortexUtils/docs/images/dataset.jpg | Bin 0 -> 52618 bytes source/NeoCortexUtils/docs/images/overview.png | Bin 0 -> 37752 bytes source/NeoCortexUtils/docs/images/result.png | Bin 0 -> 61097 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/NeoCortexUtils/docs/images/approve_prediction.png create mode 100644 source/NeoCortexUtils/docs/images/dataset.jpg create mode 100644 source/NeoCortexUtils/docs/images/overview.png create mode 100644 source/NeoCortexUtils/docs/images/result.png diff --git a/source/NeoCortexUtils/docs/images/approve_prediction.png b/source/NeoCortexUtils/docs/images/approve_prediction.png new file mode 100644 index 0000000000000000000000000000000000000000..7eae60aa799cb773f5bd89760b01a862fb35812a GIT binary patch literal 63138 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≺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 literal 0 HcmV?d00001 diff --git a/source/NeoCortexUtils/docs/images/result.png b/source/NeoCortexUtils/docs/images/result.png new file mode 100644 index 0000000000000000000000000000000000000000..019ad9bcb93ccde931583c58dd3f8534706a6552 GIT binary patch literal 61097 zcmeFZcT|&Gn>UP#f`Wo_1O+633Mw5HL`pF5rqGadr}!lTS*0Djx&tgU>LE~k@w9{h#gQc+!zjxIlpiDY^Z{QdBY zyL!%abSGSBzxItkgLu%EV)B0T8@tJ00PoHbAA zLX>&q&wk2y z+e{j_XD{?QN|1it=w@9S|Ke1-dJv5N77FKzK7lY8HCQj$y>PGZMpQpM`FOMHD z!&w}g)Xg>iTzP4=;VqkeOT>9fagT|{ywC$;YgBcCkW5ujkfEm}!|%`RIn^g+FX$LnU-JFfw6p7u<`*F2**+{;5AY4TIUgA_>@GsPE1RS=N^kLj+AuItJu0o}6L&X~t|D7Ttuy^Tjhh3;Cvpkk=o)UxAe@9g{{ z&!-{WsIycO1nIh{vrXAu6}-sFRQr%hA&+G|NFz1m4-{HzQjxa;k6jhBG?RUSmftRg zlbYchBUV=HwG5Ebv&y08R&T4cIg{EEPz-rJ48AchBPwQC`pdoy%f9`~kENWt6GnZ3 z@y4r1;JyuQfW;7fd;2YNg=2SX8L#-Y_=oCLIlfbtO#19TzHaoK^GtR`;j<3wL@C>$ z52VK8$DJ08?-{qYSH>3EMGfct&V^^0g(1KiDu2r+NF2=6$;LJFyPicfzdwDMG}@2~ z)}58Q3oCqg8M#ZCMZi}=dE^&N44#OEv=D0?eipT$WxtVkw=3>N3J@x8FU0fan}tF2 z(TeVIYn9(dI5`f`FBh#O>|JN}+hdd2k76PG`#m2&F*!m`n7@Ux8<9fV42nY66R{~4 z>ga4MN|W5}>oK{;RoC^Lj<4GJEDq*wx3P;EkCNntRjEO^s;$#K`Jo>#TMEEML{upv zVOZaVGUr(-cuuxf;&dCXQ!2LnZrg*z%|3SbQ>CZAdDqz?-#$%AZi{rf=+3NVJR#A1 zU9ZW~1M*IuqCP+xdU+R(S-!kvvgItJ7fQXaMmW{_W;1d?^nT_^FB0=<$p$nFL}6(* zU~}lQAb2?&&VN3Vhpd`5$D#3VnI9oWkDnm!h^w@*8`;B%^MX_vSdj-Bw-M%QOFSjl zU`3euDml=2z?Sq1cShK2rEHdj>3~zW;k#(@a7YPaWE{IcIg2oRdVkD=n3Vk%yS3Em zNKH~@_8Kb$NwR}Hkg~;pl5rLl+LgoVxfI1~D?}Y0v1&fVh7FGq)f8y;H@|SkyRcI! zn4MtmAEVdfw*0eSerw2_a=Dl_5_0*)uN%~D=h@Dyvv0|Ump+8a!|~G$+ZZ?s&0sYm zw6@%n5{&3INhB36yNOa~;gmFl`{F?x7%7UTxhxbbbdJx{a7K+;7Qx=eOt=% z*Ph*#3N-qtC-2;A`J&UoF)E^0Y$YcoQ}a?j4VpK-U(d}pOw~lJ;6pdIW-g-nlg@wq z5>A&;@WpmWC!r^a^dSH@&3(96>rR&W(olZ2cRQP=+{A$gp=`d7dvIswV@4{?@a9AC zjfs-w^J`6W-AUxp1|F&>-fyhJefLUMq`mm^aFZxmXxbW zDsRm2)U6SR-5YOS$uqm0o;KVZYF!LWYw9Q%nM4YNz}E0Z z8(|K%MC+8mkff6zehG7nMvhR69vi@o1oRnI-*!M(59_cR(~Y@}*ujj|bva93+vU?P zxXvzRgua@*WdLP4{^P3yrW$6f5`z<#Eb*g@{uROgaK8c3qF2&rVKNo86qrWlOAnIx z@R_g=2OB5K9;t#${7sI9_q$~z2DgDJf_LKoFH}3L3`rc6)Qt-+zK`w zI`7x==5=-P+)tK=HfFuC4>F3c9b#F1{Y7MnN?LD*>|(7vahgKh9E>g=PGJwhIF?;$>dsUcOrz}zxENFE6A$bl^G>uk zWC6;>pe%Ir8TwN4>W#Y2*gO<$@7@PM6Skx0WHPR6;ejy+#uw>4^ChXARgW9m5MbtH z3=rALiOx%4+&3`hj`>_^bJ2m~zA`#L8Iqurh4OjkbElR3n3&2RxkTki z6uZo{f1G}#>cX_oU9TspAj)j4=TwNml7q>-484Us#T?Hjw6&8f0Odv$^O#8vpvWUA zg3PSykVowqxlRtzy80ZjWdXv_@6GVqUg3xse7at*Hh3ELybi)!AGQEqhUl&=wA1C@ zKE*Ga*@qU-y*S#KJWGCeQYaoyr-@KlHYl32wD+;r)8HI>N#K4gjZs{5dTDVyuPV9N zdrdwIF+ySvW-vgJcbe>T`FQh}e|?o6s9n_0f0Z%1&7~imz4ZKGvE3oE`|=iaSGGhh zQ;}CS_GHvZfVd_vW*UR@w!yJ>iCNalxxL2z)JT(f2zOKXPv>Uamo$rRkl zyM0Cw6>`!vKI7V~v?wbTtA=4b z@+1~^Br&&Q7+RGXC(yoJVAfrCJTZC6bJb#?$P2Fw7kUB6s)w@~E z;*w0O^O^eJsWOXZW3;V}Zl;pZ)SUrqd;Dc?UR&~jKBS^509H_xUZ7x~L2W~kRB^FC z^GMa8&cKY1?ZzxWRa;c_J4BG=AKFQS6VqlYM1JL{*?Q{u;qt#;YqPr*CzzUEdud=5PW9TZz>qs3HYEx|2oz;Amr|Pd1TFsldB)UhbT?)s;Pk=Su6*-ml8nn# zh&0iq2zOaOivlxMgGm4=sV~BWv+)U^Z&r2siG}CZG#<>Tom3~do+%0Dsem-7y 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 Date: Sun, 21 Jan 2024 23:18:45 +0100 Subject: [PATCH 3/4] Update ApproveMultiSequenceLearning.md --- .../docs/ApproveMultiSequenceLearning.md | 40 ++++++++----------- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/source/NeoCortexUtils/docs/ApproveMultiSequenceLearning.md b/source/NeoCortexUtils/docs/ApproveMultiSequenceLearning.md index 62ea85b2b..7c30a6fc5 100644 --- a/source/NeoCortexUtils/docs/ApproveMultiSequenceLearning.md +++ b/source/NeoCortexUtils/docs/ApproveMultiSequenceLearning.md @@ -2,7 +2,7 @@ ## Introduction -In this project, we have tried to implement new methods along `MultisequenceLearning` alogrithm. The new methods are automatically reading the dataset from the given path in `HelperMethods.ReadDataset(datasetPath)`, we also have test data in other file which needs to be read for later testing the subsequences in similar form as `HelperMethods.ReadDataset(testsetPath)`. `RunMultiSequenceLearningExperiment(sequences, sequencesTest)` takes the multiple sequences in `sequences` and test subsequences in `sequencesTest` and is passed to `RunMultiSequenceLearningExperiment(sequences, sequencesTest)`. After learning is completed, calculation of accuracy of predicted element. +In this project, we have tried to implement new methods along the `MultisequenceLearning` algorithm. The new methods automatically read the dataset from the given path in `HelperMethods.ReadDataset(datasetPath)`, we also have test data in another file which needs to be read for later testing the subsequences in a similar form as `HelperMethods.ReadDataset(testsetPath)`. `RunMultiSequenceLearningExperiment(sequences, sequencesTest)` takes the multiple sequences in `sequences` and test subsequences in `sequencesTest` and is passed to `RunMultiSequenceLearningExperiment(sequences, sequencesTest)`. After learning is completed, calculation of the accuracy of the predicted element. ## Implementation @@ -105,11 +105,11 @@ public static HtmConfig FetchHTMConfig(int inputBits, int numColumns) } ``` -All the fields are self explanotary as per HTM theory. +All the fields are self-explanatory as per HTM theory. 2. getEncoder() -We have used `ScalarEncoder` since we are encoding all numeric value only. +We have used `ScalarEncoder` since we are encoding all numeric values only. Remeber that `inputBits` is same as `HTMConfig`. @@ -141,11 +141,11 @@ public static EncoderBase GetEncoder(int inputBits) } ``` -Note that `MaxValue` for encoder is set to `20` which can be change but then this value should be matched while creating synthetic dataset. +Note that `MaxValue` for the encoder is set to `20` which can be changed but then this value should be matched while creating the synthetic dataset. 3. ReadDataset() -Reads the JSON file wehen passed as full path and retuns the object of list of `Sequence` +Reads the JSON file when passed as a full path and returns the object of the list of `Sequence` ```csharp /// @@ -166,11 +166,11 @@ public static List ReadDataset(string path) 4. CreateDataset() -We made an enhancement to create dataset automatically so we do not have to manually spend time. Here we create dataset with paremeters such as `numberOfSequence` to be created, `size` of a sequence, `startVal` possibly start range, and `endVal` possibly start range of sequence. +We enhanced to create datasets automatically so we do not have to manually spend time. Here we create a dataset with parameters such as `numberOfSequence` to be created, `size` of a sequence, `startVal` possibly start range, and `endVal` the start range of the sequence. ```csharp /// -/// Creates list of Sequence as per configuration +/// Creates a list of Sequence as per configuration /// /// Object of list of Sequence public static List CreateDataset() @@ -190,11 +190,11 @@ Note that `endVal` should be less than equal to `MaxVal` of `ScalarEncoder` used 5. SaveDataset() -Saves the dataset in `dataset` director of the `BasePath` of the application where it is running. +Saves the dataset in the `dataset` director of the `BasePath` of the application where it is running. ```csharp /// -/// Saves the dataset in 'dataset' folder in BasePath of application +/// Saves the dataset in the 'dataset' folder in BasePath of the application /// /// Object of list of Sequence /// Full path of the dataset @@ -224,7 +224,7 @@ public static string SaveDataset(List sequences) ![image](./images/approve_prediction.png) -Fig: Predictiona and calculating accuracy +Fig: Predictions and calculating accuracy ```csharp int matchCount = 0; @@ -244,25 +244,25 @@ foreach (var item in list) } ``` -Note that prediction code is omitted. +Note that the prediction code is omitted. ## How to run the project -### To create synthetic dataset +### To create a synthetic dataset 1. Open the [sln](../../../NeoCortexApi.sln) and select `MultiSequenceLearning` as startup project. -2. In `Program.cs` we have the `Main()`. Uncomment below code to create a synthetic dataset. +2. In `Program.cs` we have the `Main()`. Uncomment the below code to create a synthetic dataset. ```csharp -//to create synthetic dataset +//to create a synthetic dataset string path = HelperMethods.SaveDataset(HelperMethods.CreateDataset()); Console.WriteLine($"Dataset saved: {path}"); ``` *and comment rest of the lines*. -3. Run to create dataset and save the path of dataset folder and name. +3. Run to create the dataset and save the path of the dataset folder and name. ![dataset](./images/dataset.jpg) @@ -284,14 +284,6 @@ and also *copy the [test data](../dataset/test_01.json) to the folder* (`{BASEPA ## Results -We have run the experiment max possible number of times with different dataset. We have tried to keep the size of dataset small and number of sequences also small due to large time in execution. +We have run the experiment max possible number of times with different datasets. We have tried to keep the size of the dataset small and several sequences are also small due to the large time in execution. ![results](./images/result.png) - -## Reference - -- Forked from [ddobric/neocortexapi](https://github.com/ddobric/neocortexapi) - -- [Numenta Research Publication](https://www.numenta.com/resources/research-publications/) - -- [Machine Learning Guide to HTM](https://www.numenta.com/blog/2019/10/24/machine-learning-guide-to-htm/) \ No newline at end of file From ba79eb27ff9b86aaea55f8ba00e8058fca43ec32 Mon Sep 17 00:00:00 2001 From: Mahdieh Pirmoradian <74245613+MahdiehPirmoradian@users.noreply.github.com> Date: Sun, 21 Jan 2024 23:49:17 +0100 Subject: [PATCH 4/4] Update working-with-sdrs.md --- source/NeoCortexUtils/docs/working-with-sdrs.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/NeoCortexUtils/docs/working-with-sdrs.md b/source/NeoCortexUtils/docs/working-with-sdrs.md index e01235f47..b7121ef0f 100644 --- a/source/NeoCortexUtils/docs/working-with-sdrs.md +++ b/source/NeoCortexUtils/docs/working-with-sdrs.md @@ -1,12 +1,13 @@ # working-with-sdrs ## Introduction: -Neural network is a focal element in the area of machine learning. Inspired by the biological neurons that are present in the human brain, an artificial neural network is designed that mimics the human brain’s behavior, helping computer programs to identify patterns and answers to these related issues. It would be able to perform actions like the human brain and have the capability of learning things. These neural networks work on the principle of learning input/output operations. In this project, SDR representation has been implemented in a variety of ways, including SDR as indices and bitmaps. Furthermore, we developed methods for comparing two SDRs by using intersection, union, and overlap. In addition, we have added a new representation of Spatial pooler learning as a "Column/Overlap" ratio, which is another representation of a heatmap. +Neural networks represent a cornerstone in the field of machine learning, drawing inspiration from the biological neurons in the human brain. These artificial neural networks are engineered to emulate the brain's ability to recognize patterns and solve complex problems. Central to this capability is their potential to learn and perform tasks akin to human cognition, grounded in the principle of learning from input/output operations. -The inputs that we are using are scalar values and images. We specified how these inputs are converted to SDR. Furthermore, this procedure of SDR representations involves the use of Encoders, Spatial Pooler (SP), and Temporal Memory (TM). Encoders are the basic components used in this network, which takes human justifiable information as input data i.e. (image, scalar value), and changes it to machine-readable format, binary array with n size. SP uses these encoded binary arrays from encoders as input for the generation of SDRs. +In our project, we have explored various implementations of Sparse Distributed Representation (SDR), including using SDRs as indices and bitmaps. Our methods for comparing SDRs involve techniques like intersection, union, and overlap calculations. Additionally, we've introduced a novel concept: representing Spatial Pooler learning through a "Column/Overlap" ratio, akin to a heatmap representation. -TM is used to learn the sequence of these generated SDRs which are given as input from the Spatial Pooler (SP). +The inputs for our neural network are scalar values and images. We have detailed the process of converting these inputs into SDRs, which is a crucial step in our methodology. This conversion involves several key components: Encoders, the Spatial Pooler (SP), and Temporal Memory (TM). Encoders serve as the initial processing unit, transforming human-interpretable data (such as images or scalar values) into a binary array format that is machine-readable. The Spatial Pooler then takes these encoded arrays and generates SDRs. +Finally, Temporal Memory plays a pivotal role in learning the sequences of these SDRs, which are fed from the Spatial Pooler. This learning process is fundamental in enabling the neural network to understand and predict patterns in the data, a critical aspect of machine learning. #### What is an SDR: According to recent research in neuroscience, our brain uses SDRs to process information. SDRs are the binary representation of data which is approximately 2% of bits that are active. In SDRs, each bit has a meaning i.e. the active bits in the same places of two different vectors make them semantically similar. By comparing SDRs of different samples, the similarity between them can be estimated. For storing the SDRs, a list of indices of active bits is kept which saves a lot of space.