Introduction
We are slowly moving into an age where AI is growing more and more ‘intelligent’ and it is a matter of time before we start to ask fundemental questions we still have not found answers to. Questions like:
- What is intellgence?
- What is consciousness?
- What is understanding?
- What is knowledge?
- What is reality?
There is a video on youtube by one of my favourite current philosophers, Alex O’Connor, titled “Why Can’t ChatGPT Draw a Full Glass of Wine?”. I reccommend everyone watch this video since, it is funny but also how he deals with the problem and explains is quite well done.
Empiricism
The main point I want to focus on is David Hume’s idea of empiricism which states:
- Impression which is something we experience through our senses.
- Ideas which are the mental representations of those impressions. “A weaker, more faded version of the original impression.”
Then comes the two types of ideas:
- Simple ideas which are the basic building blocks of our thoughts and perceptions.
- Complex ideas which are the combination of simple ideas to form more complex thoughts and perceptions.
This form of understanding leads us towards thinking that most knowledge is a posteriori, meaning it is derived from experience and observation. And by default we can not know anything without having experienced it first. I like to think the best form of learning also happens via getting your hands dirty and doing things yourself. Just as Hume distinguished between raw sensory impressions and the subtle ideas that we later construct from them, coding too can be seen as the process of converting fundamental data (the “impressions”) into abstract representations (the “ideas”) and then later more complex ideas which also can be treated as a simple impression to another programmer when its a library! We try to craft a language that attempts to capture and solve the essence of a problem. In this light, the act of coding becomes an ongoing, iterative dialogue between raw information and its refined, human-readable expression (the code/pseudocode we write).
The Problem
He leaves us with a finding where we really can’t tell if this form of thinking is valid, since we don’t have a way to necessarily prove/disprove it. This is where the problem lies, and this is where I think we can start to see the connection between coding and philosophy. We don’t really understand, “understanding”, “knowledge”, “intelligence” only how we perceive and interact with them, which can be different from person to person. This feel’s like a category error, when we put the term intelligence on something that is not intelligent but a probabilistic guess based on the data it has seen before. It is like saying a calculator is intelligent because it can do math, but it is not intelligent, it is just a machine that does math. Like to give something intelligence we need to understand what intelligence is, and we don’t know what it is.
What made it easier for me to understand is trying to define creativity. Defining creativity would limit the idea of creativity to a set of rules and guidelines, which is not what creativity is. Creativity is the ability to think outside the box and come up with new ideas and solutions. It is not something that can be defined or limited to a set of rules.
AGI - Artificial General Intelligence
Well we don’t know how to define intelligence, it is as of now (today) a moving goal post across on what the technical community defines as AGI. A certain benchmark of solving questions, but those questions are made on questions that are already solved by humans, not necessarily new theoretical problems. So it is a bit of a paradox, where we are trying to create something that we don’t know how to define.
The Opposition
If we don’t know what intelligence is, what do you call something that can solve complicated problems which have never been solved before?
The first time we tried to capture intelligence, we used the IQ-Test, which is something that is not really fool-proof.
I do think with the upcoming rise of AI we might be at the brink of dealing with the questions of trying to quantify intelligence and what it means to be intelligent which I feel will be impossible.
We describe this as something a task an intelligent person would be able to do, since they make a “theory”! But where does this “theory” arise from? From smaller ideas!
The current architechture for most large language models also seemed to based on the neural networks of the brain and seem to perform better when they follow approaches like “chain of thought” or “attention” which are also based on how the brain works. This is where I think we can start to see the connection between coding and philosophy. We even in our code try to fundementally understand what we write as software with a real life scenario with actors.
We personify parts of a our code, and I like to think about Nietzsche’s idea of how sometimes we forget reality where the code is not real, but we treat it as real or the truth and we forget that things like it is bits and code is a representation of 1’s and 0’s, a representation of the truth (or reality) and not the truth itself.
What can did I learn from this?
The takeaways that I had from the video & my inner thoughts were:
- Philosophy is a subject which compliments programming.
It helps us understand the fundemental questions of how we percieve existence, knowledge and even reality. It is a mindset which promotes breaking down problems to their core components and understanding them from the ground up.
- We need to be careful about how we define things, since they might hold the answer or key information to a problem we are trying to solve.
My father always said, “the answer lies in the question”
- We can learn a lot from the past and how we/or other people have solved problems in the past.
- Try and consider the problem from different angles and perspectives and take inspiration from everything and anything since you never know how a simple idea from a completley different field can hint to a solution!
- Don’t forget the distinction between the truth and the our perceptions of the truth.
My favourite example, is that this blog is an idea yes, but we forget to consider that they are RGB pixels on a screen with biases and so many factors unaccounted from, which our brain simplify and makes it into a “blog”.
Pronsh/Notes