4 ms·
How would the model know what zebra was if it had never seen it? Same is true for humans.
by loandbehold 2y ago
How would the model know what zebra was if it had never seen it? Same is true for humans.
- xboxnolifes 2y agoWhen I was little, zebras were described to me as black and white stripped horses. Without even seeing one, I'm sure anything who has seen a horse could then merge those two concepts to create a close to accurate picture of what a zebra is. If AI is supposed to resemble a human mind with ability to learn, then it must be able to learn from a blanker slate. You don't teach the human before it is born, and in this comparison an AI is born when you finish it's model and set its weights using the training set. If you test it with the training set, you aren't testing ability to comprehend, just regurgitate what it was born with
- dwallin 2y agoIf you trained an image generator, removing all instances of zebras from the training set, you could ask it to output images of a black and white striped horse and it would likely succeed. Then you could fine tune an image recognition model (also with all zebras removed from the training set) on the generated image set to associate it with the word zebra. If you then showed it a bunch of images of actual zebras there’s a really good chance it would succeed.
- salty_biscuits 2y agoYou can look at a medieval bestiary to see how people thought animals might look based on descriptions alone. Like these lovely elephants https://britishlibrary.typepad.co.uk/digitisedmanuscripts/2012/10/elephants-on-parade.html https://britishlibrary.typepad.co.uk/digitisedmanuscripts/20...
- godelski 2y agoHonestly, these are some of my favorite stories and I think more ML people need to learn more about mythology (I say this as a ML researcher btw). Because once you go down this path you start to understand how "Rino" == "Unicorn". You have to really think about how to explain things when you're working with a limited language. Yeah, we have the word "rino" now, but how would you describe one to someone who has no concept of this? Maybe a cow with one big horn? Is "like a big fat tough skin horse with a big horn coming out of its head" accurate? And then apply your classic game of telephone[0]. It is also how you get things like how in Chinese a giraffe is "long neck deer"[1] (that doesn't work for all things in Chinese and there's another game of telephone (lol, maybe I was too harsh on the British in [0]) and well... you can imagine things get warped like crazy). There's so many rabbit holes to go down when trying to understand language, vision, reasoning, and all that stuff. [0] (Jesus England... this is what you call this game?!) https://en.wikipedia.org/wiki/Chinese_whispers https://en.wikipedia.org/wiki/Chinese_whispers [1] https://translate.google.com/?sl=en&tl=zh-CN&text=giraffe&op=translate https://translate.google.com/?sl=en&tl=zh-CN&text=giraffe&op... ----> https://translate.google.com/?sl=zh-CN&tl=en&text=%E9%95%BF%0A%E9%A2%88%0A%E9%B9%BF&op=translate https://translate.google.com/?sl=zh-CN&tl=en&text=%E9%95%BF%...
- stavros 2y agoAI is not supposed to resemble a human mind. It's just supposed to be useful to us.
- godelski 2y agoGreat question! It depends on the zero-shot experiment. Let's look at two simple examples Example 1: We train a classifier that classifies several animals (and maybe other things). For example, you can use the classic CIFAR-10 dataset which has labels: airplane, automobile, bird, cat, deer, dog, frog, __horse__, ship, truck. The reason I underlined horse is because you want your model to classify the zebras as horses! The reason this is useful is for measuring the ability to generalize. At least in our human thinking framework we'd place a zebra in that bin because it is the most similar (and deer should be the most common "error"). This can help us understand the network and we'll be pretty certain that the network is learning the key concepts of a horse when trying to classify horses rather than things like textures, colors, or background elements. If it frequently picks ships your network is probably focusing on textures (IIRC CIFAR has ships with the Dazzle Camo[0] and that's why I threw "ship" out there). Example 2: Let's say we train our network on __text__. In this case it can get any description of a zebra that it wants. In fact, you'd probably want to have a description of what it looks like! The what we might do is take that trained text network, and attach it to a vision classifier. For simplicity, let's say that was trained on CIFAR-10 again. We then tune our LM + CV model so that it can match the labels of CIFAR-10 (basically you're tuning to ensure the networks build a communication path, otherwise it won't work). Here we end up testing our model's actual understanding of the zebra concept. It again should pick horse as the likely class because you've presumably had in the training text some description that compares zebras to horses. ----- So really the framework of zero-shot (and few-shot) is a bit different. We're actually more concerned about clustering and you should treat them more similar to clustering algorithms. n-shot frameworks really come from the subfield of metalearning (focusing on learning how networks learn). But as you can imagine, these concepts are pretty abstract, but hey, so are humans (that's why we see a log as a chair and will situationally classify it as such, but let's save the discussion of embodiment for another time). In either example I think you can probably see how a toddler could do similar tasks. You can ask which of those things the zebra is most similar to and you'd be testing the toddler's visual reasoning. The text one might need be a little older but it could be a great way to test a child's reading comprehension. Does this make sense? Of course machines are different and we need to be careful with these analyses (which is why I rage against just comparing scores/benchmarks, these mean very little), because the machines may be seeing and interpreting things differently than us. So really the desired outcome depends on if you're testing for what the machine knows/understands (you need to do way more than what we discussed above) or if you are training a machine to think more similar to a human (then we can rely pretty close to exactly what we discussed). Hope this makes more sense. [0] https://en.wikipedia.org/wiki/Dazzle_camouflage https://en.wikipedia.org/wiki/Dazzle_camouflage