![]() |
|
My PhD guide used to say, if you understand the tech well, you must be able to explain it to a layman/woman. This statement was doing rounds in my head today when we were having a meeting with the business team today. Many-a-times it's seen that business and tech people talk in different languages (not literally): business people understand product/business/client requirements but find it difficult to fully understand the tech and its limitations. On the other hand, tech people find it hard to explain tech, it's requirements and limitations to business people. For example, the business people may ask to design an ML model that can tell from an image whether it's that of an animal* or human. Now, for training the model we need data. So they are giving us data of five images each of sheep, dog and human as training data. Now, they want our model to test the image of an ostrich and tell whether it's an animal or human. As tech person, I may say for a model trained on five images each of sheep, dog and human, it's not possible to tell accurately whether the image of an ostrich is that of a human or that of an animal. It has never seen an ostrich thus, may inaccurately classify it as human. They may say, "oh we do not need the model to recognize it as a sheep or a dog or a human or for that matter as an ostrich. Just tell me if it's human or animal. Your model must be able to tell this as your model is already trained on some examples of animals (sheep, dog, human)". Does this issue (explaining limitations of tech to non-tech people) sound familiar?
Let me try to explain this limitation from a laywoman's perspective. Suppose our ML model is an infant whom I am introducing to animal kingdom. This infant now looks at the ostrich and tries to find similarity with what it has already seen and learnt (dog, sheep and human). It for example, may find a similarity of the ostrich with that of human as both have two legs because the other two animal that the infant is introduced to have four legs! So, in the absence of enough data there's this possibility of misclassification. So there are two solutions to this problem: (1) Domain/sub-domain based training, (2) Large scale training. In the former, you know the sub-area where you want your model to work on, eg., you know that all the time your model gets to see are a dog, a cat, an ostrich and a human an nothing beyond that. Then, training the ML model with limited data of these animals/humans will suffice. In the later case, you train the model with large amount of large variety of animals and humans. For example, 10 to 50 examples each of different variety of animals, some other four legged animals and may be some hens, some sparrows, some eagles, some emus, some penguins, some other forms of big birds. In that case even if you do not train the model with examples of ostrich, it may find more similarity of ostrich with other big birds compared to humans. Thus, it may conclude that it's an animal.
So Large scale models are huge success these days with the success of LLMs such as ChatGPT, but it must be noted that these are data hungry as well as infrastructure such as processing power and memory/storage hungry (during training). Thus, it may not a practical solution in many cases especially where cost is a constraint. So, the first solution might be a practical solution in many cases.
*Definition of an animal according to Cambridge dictionary: a living thing that can move and eat and react to the world through its senses, esp. of sight and hearing: Mammals, insects, reptiles, and birds are all animals. In ordinary use, animal means all living beings except humans: A lion is a wild animal, and a dog is a domestic animal.



