How electronics work and different levels of abstraction


I get the general sense of how electronics work, but we have come so far with so little. If I went back 200 years and showed people my phone they would think I had magical powers or something. It’s bizarre.

The concept behind them is what's so amazing to me. That is, levels of abstraction. Here's my attempt to put it in simple statements.

-> Start simple with a simple transistor. When you apply voltage, it lets current pass through. When you don't apply voltage, it doesn't let current pass through.

-> Move up a layer. Now we represent this transistor as a "state" of being either true or false, yes or no, one or zero.

-> Move up a layer. Now we combine these binary state machines together in different ways to create logic gates. AND, OR, NOT, and so forth. Now instead of simple "off means off" and "on means on" logic, we can get more complicated.

-> Move up a layer. Combine these logic gates together to create things like circuits that "count", or circuits that store values, and so forth.

-> Move up a layer. Combine those counters and memory devices together with some extra control logic, and you create stuff like a CPU that executes "instructions" in memory. Kind of like logic gates, but more complicated and human understandable. Things like "ADD R1, R2" to add two values in register memory together and store the result in the first register.

-> Move up a layer. Combine these CPUs, ALUs and memory devices together to create an embedded system with inputs and outputs to the real world. Stuff like keyboards to input data, or a screen to display it. Sound familiar?

-> Move up a layer. Write programs to store in memory. Now you can use this computer to program itself instead of preloading everything and making it have a dedicated purpose. Now it's a general purpose computer.

-> Move up a layer. Write programs that read C coding syntax so you don't have to write things in assembly code. Now you have a compiler.

-> Move up a layer. Write a compiler in that higher-language code and repeat the process. Now instead of writing C code, you can write Python.

-> Move up a layer. Write machine learning algorithms that learn from available data.

-> Move up a layer. Devise a specific type of machine learning algorithm automatically turns external sensory inputs (eg, images, videos, audio recordings, speeches, sentences, paragraphs) into some form of internal semantic representation - a set of numbers that represents all the important meaning extracted from the sensory inputs.

-> Move up a layer. Devise some form of arithmetic or math that can operate on semantic representations.. allowing us to take the numbers that represent a sentence like "Elvis is the king!", subtract the concept of "male", add the "female" concept from the representation and output a new sentence "Elvira is the queen!". Or take the semantic representation of a picture of Brad Pitt on a motorcycle, subtract the representation of a motorcycle, add the representation of a horse and end up with a picture of Brad Pitt riding a horse.

-> Move up a layer. Well... that's where AI research has reached so far with semantic representations using long-short-term memory and/or generative adversarial networks. Presumably its even more advanced math that allows us to operate on more complex ideas and thoughts.

Eg, combine the representation for "man", "spear", "throw", "stadium" and have the system output a picture of a sportsman throwing a javelin in the olympics. Beyond that, nobody knows exactly what is the next layer.

Post a Comment

Previous Post Next Post