Through my many discussions, there is always this assumption that whatever humans can do, machines can do it or perform better than humans. While this is true in some circumstances, this is not necessarily true in all circumstances or tasks that the machine is undertaking.
Why is that so?
Most people forget that a computer runs from machine code. What does this mean? For those who have ever done coding and programming, you will know that the code will need through a compiler, past the compiling stage, then we can be sure that the machine can run according to the instructions. Programming languages are just abstracts of machine code. As programming languages get better, the abstraction level gets further away from machine code, and underlying a lot of assumptions are made, for instance, memory usage, cache usage.
No matter how advanced our programming language is right now, one cannot run away from the fact that there is a need to translate the code into machine-readable code.
What does that mean? Well, this means that if you want the machine to be able to perform as good or even better than humans, this translation from human language to programming languages, followed by machine codes, needs to be executed perfectly for the machine to perform as expected. This translates to (pun intended) two risk layers where translation can go wrong, forcing the machine to act out of expectation. Secondly, we humans need to be able to state clearly how the machine should perform. Is this possible? Think about a time when, no matter how many instructions or demonstrations you have given on a task, the “new” guy simply cannot grasp the instructions, opening up a volcano of frustrations for yourself. Going back to Moral Machines, a self-driving car needs to calculate which group of living things and their behavior “deserve” to die. How to convert your morals into rules, a necessary step needed before you can code it into a self-driving car.
Conclusion
The point I want to drive at is that this translation is ongoing from human language to programming languages, followed by machine code. For a machine to be able to perform as expected, these translations need to be done accurately. And there are scenarios that this might not be true or easy to overcome, especially when we are talking about designing ethical machines. So…care to translate your morals into rules? :)
Your thoughts? :)
Is this issue interesting? Consider sharing or subscribing if you have not. :)
To continue supporting my work, consider sharing this and getting me a “book” or two over here. :)
Past Issues
So much is lost in translation :)