Replies: 4 comments 1 reply
-
From my experience, this is the most important question for all of these embedding-based search products. Excited to see what you can come up with! One path that I started down, but never worked through, was ColBERT. A number of potentially-useful utilities here https://github.com/raphaelsty/neural-cherche |
Beta Was this translation helpful? Give feedback.
-
Semi-outdated, but here are some potentially interesting references. Some folks at Descarte made some progress here, but note that I think they focused more on the engineering (how to scale up the search when traditional vector algebra is too slow). I'm not sure if you will/have hit that issue yet, but posting here regardless in case there is other useful lessons learned.
I'm less familiar with the cutting edge vector database work that's undergirding some of the recent LLM/RAG advances, but that's it's possible there is some fruitful advice in that literature. They are developing techniques for exploring/manipulating the semantic embedding space when doing retrievals. |
Beta Was this translation helpful? Give feedback.
-
I'm not sure if this directly applies, as they aren't directly creating embeddings from what I understand, but EPFL's recent paper on Meta-learning to address diverse Earth observation problem across resolutions has some interesting points:
This is only a a much smaller amount of known classes though, so a simple random forest might be enough in their case. |
Beta Was this translation helpful? Give feedback.
-
@konstantinklemmer rightfully points to their SatClip paper, and the fact that we can directly do similarities of embeddings of pure locations trained on net that was fed Sentinel-2 data. We reviewed the paper here #57. My hunch is that this is great for overal picture similarity, where context is most important (type of forest, or road, ...), but I suspect that we will need a pixel embedding to point to specific semantics that exist across contexts, like houses or rivers, ... Perhaps a SatClip fed NAIP and LINZ would expand to those semantics?... In practice, it might make sense to add the SatClip location embedding and weight that into the mix? |
Beta Was this translation helpful? Give feedback.
-
Context
In Earth Observation (EO) data, identifying similar features from satellite images is crucial. Embeddings are vector summaries of the images with great potential. In text applications, embeddings are often used via "cosine similarity", but in EO I believe we have unique challenges and opportunities we should explore.
UX consideration
Many of our use case favors user experience, so we are less tolerant to false negatives than false positives. That is, we rather miss cases than show irrelevant ones. precision > recall.
Why EO embeddings are different:
sand+water=beach
but the average of a house might be a square, not a house.Status quo
We've seen, and explored different current options, taken mostly from NLP:
Simple positive Average
Combine average positive embeddings hoping to average out non intended semantics.
This also works if we purposefully combine intended semantics. E.g. we add a desert tile with a water tile, to find beach coasts.
Pseudo Code
Assessment
Very basic, there should be room for much improvement. Needs a lot of samples to weed out common associations of semantics.
Simple Net Average
Combine average positive embeddings and substract average negative samples hoping to average out non intended semantics and remove unintended ones.
Note: It is unclear to me if one can have "net 0" semantics. e.g.
+house - house = 0
.Pseudo Code
Common Similar:
The goal here is to find the most common embeddings similar to all positive samples, subtracting the most common embeddings similar to the negatives.
This methos doesn't use averages to it doesn't traverse to locations in the embedding space outside of real samples. It basically weights all candidates for how close they are to each positive sample and far from negative ones.
Note> This method scales really poorly.
Pseudo Code
Other method we've tried.
There are plenty of other methods we've tried.
--
Beta Was this translation helpful? Give feedback.
All reactions