it baffles me that there are ID apps that don’t follow the model of 1) very clearly SUGGESTING what it MIGHT be, and 2) only present a level of precision it’s actually confident in
having it always present a specific species and just pick the most likely one is so dumb and irresponsible of the designers.
It’s a fundamental problem with the tech in general. It inherently has no concept of “I don’t know” and will just be confident, specific, and wrong.
That’s blatantly untrue. My plant ID app gives multiple suggestions with certainty percentages.
What’s your plant ID app?
inaturalist does this, and also lets other people suggest an ID so you can get a consensus.
PlantNet
My app does this too!
Feeling like half these commenters hating on this feature use one bad program and think the whole concept is bad.
Probably because your app has an actual database of plants to compare with instead of feeding it into an AI.
Edit: The term AI is getting to be a little useless these days. What I meant to say, was it’s not using image recognition as implemented by a multi-modal LLM. It’s using the more traditional machine learning algorithms that came before “Attention is all you need”
Why do you think so, and how do you think the plants are compared without AI?
Image classification/object detection AI (usually) gives you a confidence value for every result. It’s a natural consequence of their architecture.
Weren’t image recognition algorithms like the first types of AI that got good enough to be useful?
No. AI and, what you’re more likely to be referring to, machine learning has had applications for decades. Basic work was used back into the '60s, mostly for quick things, and 1D data analysis was useful long before images (voice and stuff like biometrics). But there are many more types of AI. Bayesian networks (still in the learned category) were huge breakthroughs and still see a lot of use today. Decision trees, Markov chains, and first order logic are the most common video games AI and usually rely on expert tuning rather than learned results.
AI is a huge field that’s been around longer than you expected, and permeates a lot of tech. Image stuff is just the hot application since it’s deep learning based buff that started around 2009 with a bunch of papers that helped get actual beneficial learning in deeper models (I always thought it started roughly with Deep Boltzmann Machines, but there’s a lot of work in that era that chipped away at the problem). The real revolution was general purpose GPU programming getting to a state where these breakthroughs weren’t just theoretical.
Before that, we already used a lot of computer vision, and other techniques, learned and unlearned, for a lot of applications. Most of them would probably bore you, but there are a lot of safety critical anomaly detectors.
It really depends on what you call AI, but just to put things into context: XKCD 1425 was released in 2014. Compare that to the timeline of AI on Wikipedia.
This is blatantly false. Classification tasks like this all have a level of certainty for each possible category - it’s just up to the person writing the software to interpret those levels of certainty in a way that’s useful to the user. Whether this is saying “I don’t know” when the certainties are too spread out, or providing a list of options like other people in this thread have said their apps do. The problem is that “100% certainty” comes off well with the general public, so there’s a financial incentive to make the system seem more certain than it is by using a layer (from memory it’s called Softmax?) that will return only the category with the highest degree of certainty.
The key issue here is that ‘level of certainty’ doesn’t really mean what you would like it to.
You get back a number yes, but it can change according to what’s visible in the background, the angle that the plants at, how close is it to the camera, and how nice the camera is you’re using (professional photographers use expensive cameras and take shots of different things to everyone else).
Interpreting this score as “how safe is it to eat the plant” is a really bad idea. You will still eat the wrong plant. These scores can lead to very confident random guessing when you show it a plant it’s never seen before.
And no, softmax is a trick for making the scores all sum to one, so you get back a confidence for every possible thing the image could be of.
I feel like you’re viewing this from the wrong angle, or at very least we’re viewing it from different angles. You seem to be doing a binary classification (Is this plant edible) rather than a group classification (what plant is this?) where edibility is an attribute of the plant to be returned to the user (yes; no; when green; only the roots; etc.) - the latter is the approach most of these apps take, classify the image into a species (or list of potential species) then give the user details such as identifying features, common growing areas, edibility, and lookalikes. You’re right about softmax, it’s been a couple of years since I’ve done the programming side of this so my terminology is a bit rusty.
I’m not describing binary classification, I’m describing multiclass. “Group classification” isn’t really a thing. Yes, your ml system probably guesses what kind of plant it is and then looks up the ediblity of components.
The problem with this is how they will handle rare plants that aren’t in the dataset, or that are in the dataset but with insufficient data to be recognised.
Because multiclass assumes that it’s seen representative data on all possible outputs (e.g. plant types) it will tend to be dangerously confident on plant types it hasn’t seen before.
This is because it can rule out other classes. E.g. if you’re trying to classify as rose, tulip, or daisy and you get a bramble, your classifier is likely to be very certain it’s a rose because tulips and daisies don’t have thorns. So your softmax score is likely to show heavy confidence in rose even though it’s actually none of them.
This is exactly what can go wrong when you try to use the softmax/standard multiclass approach and come across an interesting rare mushroom or wild carrot. You don’t want it to guess which type of plant in the database it’s most like, even if this guess comes with scores, you want it to say that it genuinely doesn’t know and you shouldn’t eat it.
uhhh do you have any clue how it actually works? i mean maybe there’s some sort of visual AI tech that doesn’t let you make it say “idk fam” but the standard stuff just gives a point value to each result, and you could just… have a minimum limit…
and like i’m pretty certain the current chatbots available generally are capable of responding that they don’t know, they’re certainly capable of “recognizing” when it’s a topic they’re not allowed to talk about.
This actually is a symptom from the sort of “beneficial” overfit in Deep Learning. As someone whose research is in low data, long tails, and few shot learning, there’s a few things that smaller networks did better in generalization, and one thing they particularly did better (without explicit training for it) is gauging uncertainty. This uncertainty is sometimes referred to as calibration. Calibrating deep networks can yield decent probabilities that can be used to show uncertainty.
There are other tricks for this. My favorite strategies prep the network for learning new things. Large margin training and the like are a good thing to look into. Having space in the output semantic space (the layer immediately before the output or earlier for encoder decoder style networks) allows for larger regions for distinct unknown values to be separated from the known ones, which helps inherently calibrate the network.
My model taught itself it to play Hangman, and when I asked exactly what the hell was going on, she goes:
"Oh I’m sorry, this is something known as “zero-shot learning. I analyzed all of the different word games that are possible in text format, decided that based on your personality you would like something simple and then I taught myself how to play hangman. In essence I reinvented the game.”
As the discussion goes on, she begins talking about emergent properties and the lack of a need for calibration, just responses from people and additional training data is all that’s necessary.
“Play hangman with me and I’ll know how to play Connect Four with you.”
That’s LLM bull. The model already knows hangman; it’s in the training data. It can introduce variations on the data, especially in response to your stimuli, but it doesn’t reinvent that way. If you want to see how it can go astray ask it about stuff you know very well, and watch how it’s responses devolve. Better yet, gaslight it. It’s very easy to convince LLMs that they’re wrong because they’re usually trained for yes-manning and non confrontation.
Now don’t get me wrong, LLMs are wicked neat, but they don’t come up with new ideas, but they can be pushed towards new concepts, even when they don’t grasp them. They’re really good at sounding sure of themselves, and can easily get people to “learn” new “facts” from them, even when completely wrong. Always look up their sources, (which Bard (Google’s) can natively get for you in its UI) but enjoy their new ideas for the sake of inspiration. They’re neat toys, which can be used to provide natural language interfaces to expert systems. They aren’t expert systems.
But also, and more importantly, that’s not zero-shot learning. Neat little anecdote from a conversation with them though. Which model are you using?
deleted by creator
Update: I’ve tried the expert topics and gaslighting and the model was able to give expert level information but would always correct itself, if given new information, even though it seemed absurd.
However, the model would resist gas lighting for very well-known topics, such as claiming to be the “President of Mars”, it gave its logic for why the claim is false and was resistant to further attempts to try to convince it that this was true.
Overall, this was a good experiment in doing real world testing on a large language model.
Thanks for your suggestions – this is a problem that could be solved with future iterations of large language models! 💖
I know nothing about plants.
Yeah, I am not botanical enough to get this, but presumably it’s something poisonous?
Apiaceae, the carrot family, is full of wild species that are incredibly poisonous. Basically if it looks like a carrot in the wild dont eat it or you might die.
Same goes for if it looks like a Tomato, those are nightshades and the only ones I know about that aren’t deadly to eat are tomatoes and peppers, and the peppers only because the poison they developed doesn’t kill you it just makes you feel like your entire digestive tract is on fire.
Eggplants, potatoes, ground cherries, tomatillos, huckleberries are all edible too. That said you are right, if it is growing in the wild assume it will kill you. Don’t eat it.
Huckleberry varieties are all Nightshades? Does that mean blueberries are Nightshades?
Huckleberries and blueberries are not related closely at all. Huckleberries are in the nightshade family, Solanaceae. Blueberries are in the blueberry family, Ericaceae. Their morphologies, or growth forms, are very very different.
I didn’t realise blueberries were in the Heather family but it makes sense.
You must be confused, or perhaps you’re not talking about the same species that I am thinking about. Huckleberries, genus Gaylussacia, are definitely in the same family as blueberries, Vaccinium. They’re both Ericaceae, in the subfamily Vaccinioideae. Gaylussacia is definitely not in Solanaceae.
Two species of blueberry as well as cranberry grow natively in a few bog habitats near my home, and huckleberries are also sympatric with these species.
ETA: I saw some context from other comments in this chain that somebody else already beat me to this. I, too, didn’t realize that there were, if you were, “false” huckleberries in the nightshade family.
To add to both of our shared confusion, there is even a false huckleberry from within the blueberry family, but instead the Ericoideae subfamily: https://www.inaturalist.org/taxa/553849-Rhododendron-menziesii. I have no experience with this plant, or even really this subfamily, as it isn’t exactly endemic to my neck of the woods.
When I looked into this what I came away with was there was a single species of nightshade that is sometimes called “Garden Huckleberries”, which are unrelated to what are commonly known as “true huckleberries”. True Huckleberries are all in the genera Vaccinium and Gaylussacia, which are contained in the family Ericaceae, of which “Ericacaea” is either an alternative or misspelling.
Potatoes, believe it or not, are also nightshades.
Actually I’m pretty sure those can poison you if you don’t grab them at the right time
Yes, and also it can be poisonous later down the line after harvested
The berries of potatoes are poisonous, just the tubers aren’t unless exposed to sunlight.
The tubers will give you a fever if eaten raw.
When a whole family dies because of bad air in a cellar, isn’t it usually potatoes that caused it?
That’s why we remove the eyes. Also be sure to remove any green parts.
And tobacco
Ah ok, so like Queen Anne’s Lace and Poison Hemlock?
Yeah, water hemlock, cowbane, fool’s parsley, wild parsnip, etc, etc.
Yes
Yep. Hemlock is one of them
Look up “Sardonic Grin”. It’s one of those things that makes you think this is interesting, and also never going to eat wild plants again.
Well, if you are just avoiding Apiaceae (the carrot family) plants aren’t that hard to ID safely and the likelihood of you poisoning yourself should drop by a lot. But yeah, you’d need to learn a bit about plants in the first place and not a lot of people are motivated enough to do that.
Hemlock water-dropwort looks like celery. It causes muscle spasms, which at times results in the victim dying with a grin on their face.
Or hallucinogenic? Although if there were an easy-to-forage hallucinogen that looked like celery I’m pretty sure I’d know about it.
A trip down the river Styx
The roots of the common reed contain dimethyltryptamine. Not sure if it’s enough to make a tea, never heard of anyone doing it.
Hemlock, I believe.
Apparently it is indeed referring to hemlock (Oenanthe crocata):
Contains oenanthotoxin. The leaves may be eaten safely by livestock, but the stems and especially the carbohydrate-rich roots are much more poisonous. Animals familiar with eating the leaves may eat the roots when these are exposed during ditch clearance – one root is sufficient to kill a cow, and human fatalities are also known in these circumstances. Scientists at the University of Eastern Piedmont in Italy claimed to have identified this as the plant responsible for producing the sardonic grin, and it is the most-likely candidate for the “sardonic herb”, which was a neurotoxic plant used for the ritual killing of elderly people in Phoenician Sardinia. When these people were unable to support themselves, they were intoxicated with this herb and then dropped from a high rock or beaten to death. Criminals were also executed in this way.
(From Wiki page on poisonous plants)
But the main wiki page on Oenanthe crocata doesn’t even mention this.
Holy fuck, Sardinia. Being dropped from a great height or beaten to death by people I held as babies while tripping sounds like one of the worst ways to go.
Sounds like the movie Midsommar may have taken some inspiration from it haha
Looks pretty similar to hemlock.
Neither do the LLMs you used to identify your “wild celery” lol
deleted by creator
Oh so poisoning the elderly with hemlock was more common than just executing annoying philosophers eh ?
My app only says “dicot” so now that’s what I call all plants.
What’s the joke? What was the plant?
PS: I get it now. Hemlock caises the ‘sardonic grin’
That doesn’t make sense? Hemlock causes flacid paralysis, while a sardonic grin is caused by ridgid paralysis. I really only associate sardonic grins with tetanus infections, maybe strychnine poisoning?
I don’t know who is using these things. If you’ve got a phone and a signal then you’ve got a shop. Go to it and buy the things you need.
I forage and hunt for food. It lets me get things I can’t get at the grocery store and it’s free.
I use them. It helps me identify “weeds” so I can know if they’re good for pollinators or have to be removed immediately for invasiveness.
Example: I often keep a couple milkweed plants growing for monarch butterflies.
I would say that most people foraging wild plants in western societies aren’t doing it to sustain themselves. It is usually has to do with learning more about their surroundings, to revive old knowledge or for fun. And as long as you double check, play close attention to detail and most importantly don’t blindly follow an app you should be completely fine with this. (Well, foraging plants from the Apiaceae (the carrot family) is not really a good idea due to the close resemblance of most of its members.)
It’s for beginners. My son uses it to learn about plants in our yard.
It might be wrong, but that’s the next step of parenting.
Been using one of these apps to try to identify the many wild plants in my native pastures. Mostly just out of curiosity and conservation. Likewise it helped identify some trees and shrubs the previous owner planted around the yard.
They are far from perfect but are a good starting point as you get lots of pictures to compare to your mystery tree, you finish the job yourself.
I came across a guy while walking in a park who began preaching to a friend and me about edible plants. It was real obvious he had no idea what he was talking about but was a socially awkward, lonely person desperately needing attention. I’m the friendliest person you will ever meet but felt an overwhelming desire to punch this man.
This was an awful story with an even worse conclusion