User Tools

Site Tools


ip:ws2021:lets_plaiy:student-documentation:further-reading:start

This is an old revision of the document!


Adults like to use a lot of complicated words to say something. This could be because they want to show their impressive vocabulary. It gets worse in technical fields like Computer Science which have a lot of big technical words. These technical words are supposed to help differentiate between similar ideas. But most often it complicates simple ideas. In this article, I’ll try not to use these complicated words. This is so that you can understand the ideas clearly rather than memorize big words. So let’s get started with a bit of history.

Let’s take it from the top.
You might have seen computers all around you. From the smartwatch to phones, tablets, and laptops — they are all different forms of computers. These useful gadgets of today have always been “Dumb Machines”. They are good at obeying orders like an obedient puppy (or kitten for those who are weird like that ). If you tell it to Swipe Right, it swipes right. If you tell it to Swipe Left, it swipes left. If you tell it to open Instagram when someone clicks on the Instagram icon it will open it. You get the drift. It can’t think of anything on its own. Although these machines are dumb, over the last 50 years, we have made the computers do many things. From adding numbers and playing songs to defeating grandmasters at Chess. But for each of those things, someone had to tell the computer what to do and exactly how to do it. So the things that a computer could do for us was limited. Computers could only do things that we could show them how to do (step by step). As you could guess, that magic lost its charm pretty soon. There are always some things where :

  • Unordered List Item even humans don’t know how to do it (let alone explain to the computer)
  • Ordered List Item and some tasks where we don’t know how to tell the computer what to do. ( we can’t explain it clearly in a language that machine could understand)

( A big word for telling computers what to do and how to do it is programming. But we wouldn’t use these big words because we don’t wanna be adults yet.)

What's the story today?

For a very long time, computers couldn’t do anything without someone telling them how to do something. This was true until recently. Some very smart people* found a way to teach computers to learn by themselves. (Another big word adults use for this is Machine Learning, but psst. who needs that). Imagine you are in a classroom without a teacher. There you and all your classmates learn on your own without any teacher. Weird right? Imagine how weird it must be for a computer to learn on its own. Surprisingly the computer is very good at learning on its own. It can even learn complicated things that people can’t teach it.

What do you mean ‘Learning by itself’ ?

How we teach computers is by showing it many examples of questions and answers. Experts like to call the whole set of examples as the dataset. These examples contain a sample question(x) and its correct answer(y). An example could contain say ‘a picture of a cat’ and its answer ‘cat’. This is very like the sample quiz some nice teachers in school give before an exam. This sample quiz helps to get you prepared for what to expect in the exam. You might not get the exact same questions in the exam but it helps you prepare for similar types of questions. We show computers examples of questions and answers without telling it how the correct answers can be found. Using the examples, the computer tries to figure out a way to guess the correct answer. It learns to make a correct guess even if it has not seen this particular question in the examples we showed it. The computer looks for similar questions it has seen before and uses the previously seen correct answer to make a guess. That’s all the computer is doing — making a guess based on previously seen examples.

“If the machine is correcting itself, What do we humans do in this?”

Machine Learning is not performed by computers on their own. Humans have a very important role in machine learning. Humans play the role of coaches or facilitators who control the whole game :

  1. Ordered List Item Humans provide examples that computers use to learn.
  2. Ordered List ItemAnd humans tell computers how to detect their mistakes.

Basically the only thing a machine is doing is making guesses based on examples and correcting its guesses to the best of its ability. Everything else is guided by information and code provided by humans.

“Guessing you say, that's it? “Yes and No.

All that the computer is doing is making a guess based on what it knows about similar questions. (A fancy way of saying guessing is called Prediction). Well, it’s not guessing randomly. It tries to learn to make the best possible guess based on some fun math (we don’t need to get into that just yet). To reiterate, the learning in Machine Learning is all about figuring out how to make the best possible guess. The best possible guess is the one that is closest to the correct answer.

“So how does it guess correctly?”

Initially, the computer makes really crappy guesses (starting with random guesses). Then it compares its own guess to the correct answer we provided in the example. We ask the computer to reduce the mistakes it’s making in its guesses. It then goes on a wild goose chase to reduce the mistakes. As it tries to reduce its mistakes, it self corrects and thus slowly gets closer to the correct guess. The process by which the computer is correcting its own mistakes is called gradient descent by experts. No need to remember the name now. This could be a topic for another fun post in the future. For now, just remember that the computer corrects itself slowly by looking at examples of correct answers.

ip/ws2021/lets_plaiy/student-documentation/further-reading/start.1642093781.txt.gz · Last modified: 2022/01/13 18:09 by pranay001