Counting Sand

Rosenblatt's Perceptron: What Can Neural Networks Do For Us?

Episode Summary

In any discussion of artificial intelligence and machine learning today, artificial neural networks are bound to come up. What are artificial neural networks, how have they developed, and what are they poised to do in the future? Host Angelo Kastroulis dives into the history, compares them to biological systems that they are meant to mimic, and talks about how hard problems like this one need to be handled carefully.

Episode Notes

In any discussion of artificial intelligence and machine learning today, artificial neural networks are bound to come up. What are artificial neural networks, how have they developed, and what are they poised to do in the future? Host Angelo Kastroulis dives into the history, compares them to biological systems that they are meant to mimic, and talks about how hard problems like this one need to be handled carefully.

Angelo begins with a discussion of how biological neural networks help make our brain a powerful computer of complexity. He then talks about how artificial neural networks recruit the same structures and connections to create artificial intelligence. To understand what we mean by artificial intelligence, Angelo explains how the Turing Test works and how Turing’s work forms a foundation for modern AI. 

He then discusses other early pioneers in this work, namely Frank Rosenblatt, who worked on models that could learn or “perceptrons.” Angelo then relates the history of how this work was criticized by Marvin Minsky and Seymour Papert and how mistakes in their own work put the potential advances of artificial neural networks back by about two decades.

Using image recognition as a case study, Angelo ends the episode by talking about about various approaches’ benefits and drawbacks to illustrate what we can do with artificial neural networks today.

Citations

Hebb, D.O. (1949). The organization of behavior: A neuropsychological theory. New York: Wiley.

Minsky, M. (1954.) Theory of neural-analog reinforcement systems and its application to the brain-model problem. Doctoral dissertation. Princeton: Princeton University.

Minsky, M. and Papert, S. (1969). Perceptrons: An introduction to computational geometry. Cambridge: MIT Press.

Rosenblatt, F. (1957). "The perceptron: A perceiving and recognizing automaton.”Buffalo: Cornell Aeronautical Laboratory, Inc. (Accessible at https://blogs.umass.edu/brain-wars/files/2016/03/rosenblatt-1957.pdf)

Rosenblatt, F. (1962). Principles of neurodynamics: Perceptrons and the theory of brain mechanisms. Washington, D.C.: Spartan Books_._

Turing, A. (1950, October). "Computing machinery and intelligence," Mind, LIX: 236, pp. 433–460. https://doi.org/10.1093/mind/LIX.236.433  

Further Reading

Warren McCollough and the McCollough-Pitts Neuron
Church-Turing Thesis

Turing Test

XOR or Exclusive or

Host: Angelo Kastroulis

Executive Producer: Kerri Patterson; Producer: Leslie Jennings Rowley; Communications Strategist: Albert Perrotta; Audio Engineer: Ryan Thompson

Music: All Things Grow by Oliver Worth

© 2021, Carrrera Group

Episode Transcription

Angelo Kastroulis: What is an artificial neural network, and how does it work? Is it really modeled after the human brain? One of the most important advancements in computer science was invented not by a computer scientist, but a research psychologist.

Today we're going to talk about one of the fathers of artificial neural networks, Frank Rosenblatt, and his perceptron. I'm your host, Angelo Kastroulis . And this is Counting Sand.

Before we get into the perceptron, let's take a step back and let's think about how we would model the human brain, if we were just starting from scratch. What are some ideas that we would want to consider? Well, first it would be valuable to know how the human brain works. Unfortunately, no one really knows exactly how the human brain works, but there are some things that we have observed.

One of the basic types of cells in the central nervous system is a neuron. A neuron is a lot like every other cell in that it contains a nucleus. There are three kinds of neurons or at least three ways in which we classify them. Sensory neurons carry information from the sensor organs (your eyes and your ears) to the brain. Motor neurons carry voluntary muscle activity such as speaking or movement to the brain. And all the other neurons are called interneurons. Scientists think that neurons are the most diverse kind of cell in the body because within these three classes of neurons, there are hundreds of different subtypes each with their own specific message-carrying capabilities.

That's why we say no one really knows exactly how all this works. But again, taking a step back and thinking about how the neuron might communicate, a neuron then has some components to it that are distinct and different than other kinds of cells. At the top of the neuron, if there is a top, are dendrites. Dendrites are branch-like structures that receive signals and there are many of them. Then, across the other side of the cell is something called an axon. The axon transmits signals from the cell. So the dendrites listen for signals and the axons transmit the signals. The signals then move, these electrical signals move across a little gap. Neurons communicate with each other. One neurons axon is connected to one or more dendrites of other cells. And so they're able to communicate with each other by sending chemicals.

These chemicals are called neuro-transmitters. Now they're not physically wired together. In other words, cell A and cell B are not physically wired together. In fact, there is a little tiny space in which this electro-chemical signal jumps and that's called a synapse. Now, If we're thinking about synapses and the ways that cells communicate, it has been observed that the more and more communication between two particular cells (that one's axon to another's dendrite) the more that that communication happens, the stronger the bond becomes.

And that makes sense to us because we've observed this ourselves. For instance, have you practiced something over and over and you develop muscle memory? Or have you maybe studied for your exam and the more you study, the more second nature, this information becomes? It's been observed with humans, that the more we do something, the better we get at it. So these synapses become stronger between two cells. And in fact, even more cells may join in. 

Setting all of that complexity aside, that is not how artificial neural networks work, but there are some ideas here that we can take. For instance, let's say that a piece of code could be a cell, some function or computation we want to run is the nucleus of a cell.

If we were to then take the output of that function, connect it to something else, we could mimic this idea. If we could take the output of that cell and connect it to a neuron or piece of code and connect it to several others…In other words, the output goes to three different other cells. And then, conversely, each of those cells might have more than one incoming connection.

Now we've created a network of these. That's how the brain is wired. The brain actually is a network of neurons that are wired together in many, many interesting ways. Now we don't have the capability to do that in computer science; at least right now, neural networks are not that smart to be able to determine which neurons need to be wired together.

And when we do that, we might have certain numbers of cells wired to other groups of cells. And so we'll call those groupings layers. So, the cells in layer one might be then wired to the cells in layer two. Now, incidentally, if we wired every single cell in layer one to every other one in layer two, that's called a fully connected network.

Now the brain is not necessarily fully connected. There could be some cells that don't have any connection to each other. We don't normally do that in an artificial neural network. We'll usually have some heuristic that is predictable in determining which cells to wire together or how many to wire.

We might wire every single one, just to see. We might have other configurations called architectures that might have a different design to them. And we're learning all the time about this. So how many cells do you put in a layer? We have no idea. We don't even have a mathematical model for it. We take the kitchen sink approach. We'll try some number. For example, we'll try a hundred neurons in layer one, we'll try an arbitrary five layers, or maybe we'll have some intuition based on someone else's research. And then we'll try different combinations. We'll try a hundred, a thousand, 10,000, a million and then try all these different combinations and see which one gives me the better result.

Now you have a little bit of trade-off to make here because the more layers you put in and the more neurons in each layer, the problem you create for yourself is it takes a long time to compute these. Cause think about it. If you have 100,000 cells in one layer, fully connected to a hundred thousand in the next layer, how many connections do you have? A lot of connections. So now you're getting orders of magnitude increase in the number of computations. And so you do that over many layers and it becomes hard to compute. And in fact, let's say we took an artificial neural network and we wanted to represent an image. And we said that every pixel represents one neuron and we'll fully connect the pixel to every other one in the next layer. You can see how this gets unwieldy. If you have a very, very high-resolution image, we just don't have the computing power to do it. It would just take months to compute something like that.

But we're getting ahead of ourselves. Before we start thinking about networks and ways of arranging the networks, let's go back to our original question of how in the world could we model a particular cell. Now again, we're gonna use biology. So you hear the words of neuron. It's really code. When we say neurons from here on out, we mean some bit of code, some function, some mathematical construct, something that represents some executable piece of logic or a piece of computation.

Let's talk about this idea that connections between two cells become stronger, the more that we use them. That's been observed in the natural world. However, in software, that's kind of hard to emulate. The Hebbian Theory, first introduced by Donald Hebb in 1949 in his book, entitled The Organization of Behavior. He theorizes that in order to emulate this idea of the output of one cell going into the input of another, and then the two, having some kind of connection that get stronger and stronger over time, we could model that in computer science by creating a probability that the two will fire together. And the more the probability goes up, we're emulating this idea of the connection being stronger.So the stronger connection would mean the probability would be higher.And so then imagine that there's a knob between these two cells. And if you turn the knob all the way to zero there's zero probability, you turn it all the way to one, you have a hundred percent probability at they'll fire together. And so you can adjust this. So you could then play with the strength of the two cells by adjusting this knob.

And indeed in the forties, it was a physical knob. This probability was adjusted through a physical human mechanism. But nowadays in software, we can kind of calculate a probability or just put a numerical probability. Now you can imagine if we had many, many cells in a network and we had then maybe knobs for each one, we could turn the knobs to tune them. And we could try to find the perfect setting for every single knob so that the output would be the most advantageous or most accurate.

So putting this into practical terms, if we had a hundred neurons in one layer and we wanted to fully connect them to a hundred neurons in another layer, we would have a hundred times a hundred or 10,000 connections that would mean we'd need 10,000 a little knobs. How do you tune the combination of 10,000 knobs to find the optimal output?

Well, you can do it through trial and error, which effectively we do. We try different values for them and adjust them all randomly to try to find the best combination. And hopefully we stumbled upon it. That's effectively how we train a neural network. We're trying to determine what is the right value for these knobs.

We'll talk about some techniques for that in the future, but for right now, I think it's important to think about it in the sense of what it was like in 1949. Testing, something like that using real knobs, it was really hard and computers just were not there yet.

I'm not going to attempt to survey the entire history of artificial neural networks, but the first real breakthrough came with a McCullough and pitts neuron. We're not really going to get into that one because it didn't really have a capability to learn, but it did set the groundwork of being able to kind of model neurons with computer science approaches so that we can maybe do something.

It really wasn't until Frank Rosenblatt brought the perceptron into the light in 1956. He got his PhD from Cornell university and went on to the Cornell Aeronautical Laboratory in New York as the head of the cognitive systems section. He conducted early work on perceptrons and he was a research psychologist.

He did a lot of research just understanding what you would expect a psychologist to understand: what would happen to an animal's brain, how would it behave? How can we condition it using a Skinner box and operant conditioning. But he also did a lot of work in computer science. 

In 1957, he published a paper "The perceptron: A perceiving and recognizing automaton". And then in 1962, his famous book "Principles of neurodynamics: Perceptrons and the theory of brain mechanisms" in between those two things between 1957 and ‘62, he published at least 12 papers on the perceptron starting just a year after his PhD.

The perceptron is interesting because it was the first model that could learn. They could be taught to recognize things by again, tuning itself. It was done actually on a computer, too. It was an IBM 704, which is a five-ton computer, the size of a room. It was fed a series of punch cards. And after about 50 trials, the computer taught itself to distinguish the cards marked on the left from cards that were marked on right. That might not sound like a lot, but it was. While one perceptron is interesting, putting many of these together would really be the next breakthrough. 

Unfortunately, the perceptron was not without its critics. You have to think about the time period we're talking about here. This was a bit of a golden age in computer science. Think about the work that Alan Turing had done. Alan Turing around this time period was talking about big topics like the Turing Machine, a way to define all modern computers. Or the Church-Turing Thesis. That was one of the precursors for modern functional programming. But another one that he is famous for was the Turing Test. 

In his 1950 paper, "computing machinery and intelligence", Alan Turing described what we call the Turing Test. How do we know if something is artificial intelligence? He proposed that a computer could be said to have artificial intelligence if it can mimic a human under certain conditions, such that someone executing the test could not tell the difference. The original Turing Test required three terminals. Obviously, if you could see the other person, you would know who the human is. So the participants had to be physically separated and answers had to be typed. One terminal would be operated by computer and the other two were operated by humans. During the test, one of the humans functions as the questioner. The second human and the computer function as respondents. The questioner then interrogates the respondents within a specific area. There are some rules around what kinds of questions you can ask. And the questioner would ask these questions many times. So the test would be repeated over and over again. If the questioner makes the correct determination in half of the test run or less, the computer's considered to have artificial intelligence because the questioner regarded it as just as human as the other participant.

So effectively, if a human thought the artificial intelligence is just as human as another human, then that's enough to be called artificial intelligence. Fine. We'll go with that definition.

At the same time that Frank Rosenblatt was graduating with his bachelor's degree from Cornell University, Marvin Minsky was graduating from Harvard University with a bachelor's in mathematics. Marvin went on to get his PhD from Princeton, same school as Alan Turing incidentally. He later would win the Turing award in 1969. In 1954, his dissertation was entitled" Theory of neural analog reinforcement systems and its application to the brain model problem.”

Ah! Someone else in computer science, that's interested in artificial neural networks. He went on to meet, Seymour Papert. Seymour received as bachelors in philosophy in 1949, followed by a PhD in mathematics in 1952. He got a second PhD in mathematics from the University of Cambridge in 1959. Marvin Minsky joined the staff at MIT Lincoln Laboratory in 1958. In 1963, Seymour Papert became a research associate at MIT. The two would later become involved in MIT's artificial intelligence laboratory and would become an integral part of it.

In 1969, Minsky and Papert published the book "Perceptrons" in which they attack the work of Frank Rosenblatt. They had two main criticisms of the perceptron. The first was that they felt that it was impossible to represent the XOR problem. The XOR problem goes something like this: Imagine that I have two statements, one can be true or false, and the other can be true or false. And they want to know only if they disagree. In other words, if only one of them is true while the other one is false. And I don't ever want to know if they agree.

We can see how a pattern like that might be really useful to think about it in computer science speak. Let's think about those trues and falses as ones and zeros, or maybe on and off. And I'll just refer to them as on and off for the simplicity of thinking through this.

So the output of this perceptron would be on only if they disagreed and off if they agreed. So if both the inputs are on, the output is off. If both the inputs are off, the output is still off, but if either one of them is on—and it doesn't matter which—while the other one is off, then the output is on. That's a classic logic gate problem.

And you can see that it would be useful to know if different inputs disagreed. A biological neuron actually has no problem with this. It can do it easily. But it turns out the perceptron can't. Minsky and Papert, then, just kind of threw the perceptron out as useless because it couldn't mimic this problem. And honestly, this is an important problem. It's part of many logic problems. But can the perceptron really not do it?

Well, one can't, but it turns out if you wired three of them in the series, they could collectively solve the XOR problem with just three neurons.

If you're picking up that that's a pretty big thing to miss in a paper, you're right. That's actually a pretty big mistake. But what's interesting is that the industry in general just kind of took it as that's fact and they agreed.

But unfortunately it got worse. Another major criticism that they made is…remember when we talked about those knobs and how many knobs you have to turn to tune them? They theorized, then, that taking many of these perceptrons to create a big network of them would be impossible to tune. And remember, we talked about a lot of knobs to tune.

Unfortunately, that was completely wrong as well. The problem with them being wrong was not just that they didn't do the research to prove it. It was that some of the research had already been in progress to prove that that could be done. In fact, Minsky knew about this research [be]cause he quoted about it in other papers. That research is called backpropagation.

So their first assertion that the perceptron was useless and unimportant because it couldn't solve the XOR problem was wrong. Further, arguably their biggest mistake was when they said that multilayers of perceptrons were completely unimportant because they were not trainable. That is not a fact. Had they done their research. They might have come to that conclusion. So we have to be careful about assertions that we make in our papers. That's one really important takeaway.

The academic community then ran with it. It wasn't until the late eighties that that was finally debunked. And when it was debunked, it was shown that Rosenblatt was right. Perceptrons are important. And we can indeed put them in multiple layers in many configurations to have some very, very interesting and intelligent output. They do make a difference. But again, pointing out that they're not the same as a human neuron. The human neuron is vastly more complex and advanced. But then thinking about the social impact of that book…

It wasn't until the late eighties, two decades had passed in which we did not make any progress in artificial neural networks. In fact, they were just thought of as silly by the academics. We lost 20 years of advancement. Consider what artificial neural networks have been doing in the last 20 years. We have image recognition. We have major strides in voice recognition, text to speech, other natural language processing. We have neural networks that can detect things. We have neural networks that can categorize things. And we have neural networks that can produce things like an entire music pieces that are original. We could have had that 20 years ago.

Now to say that it was all bad…well, there is that period of time that 20 years is also known as the AI Winter an effective, dark ages in artificial intelligence. But it did force the community to look at other areas to learn about other types of machine learning, because it kind of turned our back on neural networks.

There's another really interesting sociological result here. And in fact, that book has been the study because it affected artificial intelligence twice to become completely pivotal. So the book actually is pretty important. The first time it affected the study of artificial intelligence by effectively halting it. The second time, the work done just to debunk the book, completely spun around artificial intelligence back to the track that it was. And in fact, that in and of itself has been the study of sociologists.

While this was a big mistake. I don't want to paint the picture of the Minsky and Papert did not make significant contributions. In fact, they did. They created lots of things and the MIT lab is proof of it.

So we touched on the fact that there is some solution to being able to have a large network of perceptrons. And you may remember that we called it backpropagation. It goes something like this: When we try to train a large artificial neural network with all of those knobs, remember we want to find the optimal combination of all of those knobs at the same time. So when we change one value of one knob to try to see what effect it might have, it will—because it's connected to everything else—affect the inputs of other knobs and their own values. So then when we tune a second knob, we have to then go back and retune the first knob. And we ended up with a little chicken and egg problem.

So how do you know that that one knob’s value is optimal when you have to think about all of them having to be in the right place at the right time? Well, we could make maybe a training cycle where we try to figure out what the knobs are. And so, granted ,we can't turn a knob without effecting the other knobs. But we can with a technique called backpropagation. Now back propagation takes the mathematical derivative, the second derivative, to be able to compute the weight as it's passing through the forward pass. In other words, as we're moving through these neurons layer by layer, we're able to actually look back and tune what a weight might've been in the previous step.

Another way more mathematically to think about it is like this: The derivative of each layer is the product of the derivatives of the layer after it, by the output of the layer before it. That's the magic of this. The layer coming after it and the layer before it are chained together. So we can do this in one pass as we move forward. That alleviates this impossible chicken and egg loop that we can't get out of. That lets us take one forward pass through. And so if we do this many, many, many times, we can try to settle on what is the right combination of values. And we know that as we do turn some of these knobs, some will be good adjustments and some will be bad adjustments.

And so what we do is we focus more on the good adjustment. And we can continue to refine that, refine them through many, many tens of thousands of times that we do this…maybe even millions of times…we're able to get a more optimal value.

You may be thinking, hold on. Yes. I can see how this would get us better, but how do I know that this has given me going to give me the best, most correct answer? And you're right. We can illustrate it this way, and you may have heard this: it's as if you're hiking a mountain range and you want to get to the top of the mountain. That's not a difficult algorithm to find, keep going up until you can't go up anymore. And that will get you to the peak of the mountain. But will that get you to the peak of the highest mountain in the range or just the mountain that you're on? You see that's called a local minima and artificial neural networks trained in this way are susceptible to that.

There are some techniques we can use to kind of break out of that to try to find the highest mountain or at least get a higher mountain than what we were on. And we'll talk about those at another time.

So do multi-layer perceptrons really work? They do. Really, really well. In fact, we don't even know why they work. 

And so our research has taken us into putting together different combinations of these perceptrons. We call that architectures and we'll talk about all these different kinds of architectures because they deserve their own episodes. But for a moment, let's think about just the idea of a fully connected network.

That means that all the neurons in one layer are connected to every single other neuron in the next layer. And then so on. And you can continue to do that for as many layers as you want. And you can put as many neurons in each layer as you want. So how do you know how many layers to have and how many neurons you should put in each layer? I don't know. Nobody knows. In fact, there's no mathematical model to even show it and we don't really even know why it works.

So how is it that we come up with these networks? Well, we try things. We'll put some neurons in a layer, we'll create some number of layers and then we'll kind of throw the kitchen sink at it. We'll try different combinations or try more layers and less layers. We'll try more neurons and less neurons until we stumble upon something that seems to work. Doing it that way, we will have no idea if there's a better model, there probably is, but we're only going to find the one that we stumble upon. Now, the bright side of this, though, is that we wouldn't be the only ones trying things. And that's one of the most interesting things that has happened to civilization since the Library of Alexandria. EEach generation is able to build upon the knowledge of the other, because we record it and we keep it. And then we just use that as a springboard for the next layer. So we don't have to keep repeating generation after generation of study. And so rather than just kind of try random things. We can pull some research of what other folks are doing, or try to take an architecture that might seem to work in one problem and try to apply it to a different problem or domain.

But what can we do with an artificial neural network? Well, let's take just one example of image recognition. Past techniques centered around recognizing patterns in the pixels.

And so we tried to do some kind of pixel math, or maybe try to get some idea of, do we recognize shapes, like triangles and things like that in the image?

And that can be really successful in a very simple kind of image, but the problem is the pixels lose a lot of definition. They lose a lot of very important things that we are able to recognize as humans. For instance, if you look at an individual a face or you look at an object, you may be able to immediately recognize what is. It doesn't matter what angle you're looking at. It doesn't matter if you're looking at it directly or the sunlight's kind of hitting it, or sunlight's really bad. You're able to do it on lots of things. You're able to kind of think about it in terms of what shapes and the color and the feeling it might have some remembrance of something else you might've seen. So there's many, many, many factors your brain is bringing into to try to figure out what this thing is. And the image would kind of, if it were a photo, it would kind of like lose all of that definition. All that context would be gone. But when you look at it as a human being, there's a lot of factors you're placing in there.

What's interesting about artificial neural networks and machine, in general, this is true for that too, is that they try to kind of boil all this stuff down to just groupings of similar things. Some similarity. They're not necessarily trying to come up with a mathematical computation of is it a triangle or this is what a cat looks like. It's saying that this is similar mathematically to other pictures that you told me were cats. And so I know then this is a cat because it's similar to those. Why exactly? Artificial neural networks are very interesting in this space. If you think about the way that our brain works with the neurons. And let's just imagine that when we see something, when we take in some input from our eyes, and just imagine that you have a network of neurons in your brain and they're firing.

And if we could see the pattern of the firing and we can envision it, you might see that there's patterns of this and repeatable patterns. Maybe certain parts light up. If you've ever seen an MRI machine, we'll see that certain things, certain activities, memories, visual stimulus will cause certain parts of the brain to quote unquote, light up.

Then, if we could look at those patterns over and over again, we might be able to make some establishments on what those patterns mean, just by saying that, oh, when people try to remember things, this part lights up when they have some memory, the same is true for an artificial neural network.

Imagine that we put all these neurons or perceptrons we wired them all together. And there were millions of them. We don't have to say exactly which ones have to light up, but if we were to visualize them in a pattern, we would see that certain ones tend to light up together. So for example, if I showed it a picture of a cat after we train this network on cats and we optimize those little knobs, we would see that certain groups of perceptrons just light up. They always kind of fire together. And then that gives us the ability to figure out what should we classify this particular image. And indeed, it's really, really interesting when we take, say, an image. And we take pixel by pixel and have each pixel represented by one perceptron and we tune this weight, we put it through the cycle, we show it many millions of images and we label the images.

Remember labeling means that we're saying that this is a cat and that's a dog. And so it's learning to tune the knobs so that they can have the same outcome that we told it. So that it can say, oh, I think this is a cat when I tuned in opposite this way. And so then when it sees these images of cats, it's able to recognize it.

Now, if we could cut the network in the middle and then reassemble those neurons—remember each one represents a pixel—and just see it in terms of lighting up and then superimpose that over the original image, it's fascinating what we're able to see. We actually see areas of the image light up. So for example, for a cat, you might see its ears or its nose light up. Those are very distinctive features of a cat. And then for a dog, you might see the same kind of thing; those light up. And so it gives us a little intuition that the artificial neural network is remembering or seeing certain things that are similar. And we didn't have to say that the ears have to be triangular and it didn't matter. All of that just kind of made it out in the wild. Now that works really well for something like pictures, because humans can visualize that we can see two dimensional things and then you superimpose the image over it. And then it makes sense to us. That's much, much harder to do in something like music or maybe some sort of prediction on whether you like the restaurant or not. Those kinds of numbers don't work as well. Or for example, text to speech. Those are some of those are 300 dimension arrays. It's hard to visualize something in more than three dimensions. Think about how you'd visualize it. In two dimensions, we can make a chart with an X and a Y axis. We could do a three dimension. We can see things in three dimensions. We can make a fourth dimension by maybe making some color on the chart. But what do you do with the fifth dimension and a sixth dimension and a 10th dimension, 300 dimensions. We can't visualize it as a human being at that point. It's just mathematical.

I want to point out that I've used the word perceptron a lot in artificial neural networks and that's really a nod to Frank Rosenblatt. We don't really call them perceptrons in an artificial neural network. We actually just call them neurons. So it's an artificial neural network, and that is in recognition of the fact that we're trying to kind of model the brain. We know that it's far less sophisticated, but the idea allows us to describe this process a little bit better.

So I hope you've come to the conclusion that Frank Rosenblatt's work was really important. Perceptrons are very interesting and artificial neural networks are promising.

In this podcast, we'll talk a lot about artificial neural networks. They're really important. And they're important to me too. After all, my thesis was based on artificial neural networks. Are they the only tool for discovery? No, of course not.

There's a lot of amazing things coming, but when we think about where they came from figures like Frank Rosenblatt, who may be the father of artificial neural networks or Alan Turing and Alonzo Church who are the fathers of computer science, there's a lot we can learn from them and they were truly ahead of their time. 

So, if you were curious about what artificial neural networks are and what AI is, hopefully this will inspire your curiosity further. Thank you for joining me on this journey. I am Angelo Kastroulis and this is Counting Sand.

Please take a minute to follow, rate, and review the show on your favorite podcast platform so that others can find us. Thank you so much for listening.