I resonated with this urge to dig into the material a lot.
For me, two use cases of "digging" come up a lot: 1. I want to know how the concept I'm learning can connect with other concepts that I'm interested in (i.e., related concepts); 2. I want to know what other materials are available out there that can provide different perspectives (i.e., related resources). So I ended up building a map visualizing concepts (https://afaik.io/) where the proximity indicates relatedness and under each concept there are various resources attached.
In addition to those more "objective" connections, I think what AI could really help is to find a more "subjective" connection that's very user-specific and utilize those connections to build a personalized tutoring experience, hence the adaptability. For now, I think the barrier to realizing that level of adaptiveness is the high hallucination rate.
I'm also enthusiastic about new education solutions, and I found traditional MOOCs are 1. too long for one sit; 2. passive; 3. lack personalization. So I'm building a new solution that aims at solving these problems: https://afaik.io/, and you can learn college physics and calculus for free.
The goal is to map out the prerequisite structures among all subjects as knowledge is actually a continuous map, and let everyone have their own personalized learning path. It's visualized like this: https://afaik.io/nebula?category=brickset&id=VLlOnZLl&mode=d....
The learning unit (called brick, like Lego brick) is designed to be 10 minutes, questions are asked at the end to check understanding.
Don't get me wrong; I love OCW and I think it's still one of the best free resources online. But I do think great resources combined with AI can bring such innovative edtech solutions that everyone can have their own private tutor almost for free, and most importantly, without worrying about hallucination effects.
It's also based on an underlying knowledge graph, connecting concepts across various subjects like maths, machine learning, physics, etc. You can check the graph for transformer here: https://afaik.io/nebula?category=brickset&id=VLlOnZLl&mode=d... (only available on desktop...
Basically, it frees you from learning maths from scratch and just learning the prerequisites required to grasp the concept, and there are free resources attached.
Don't get me wrong, I can totally relate to the desire to relearn maths. One of the reasons that I'm building this tool is for me to relearn physics and know how to get there with my maths and cs background. I just feel in this specific scenario there might be more effective ways to learn in depth and have fun at the same time.
I find the concept of "underlying knowledge graph" interesting. What does it mean?
I assume it means such a graph connects the topics together as "pre-requisites". To understand A you need to already understand B and C, and to understand B you need to understand D and ... etc.
But the thing about such a graph is that really it must be a tree, not just a directed graph. Why? Because there cannot be cycles in it. If to understand A you need to understand B, and to understand B you would need to understand A, you could never understand either of them. Right?
If it's not acyclic then you haven't broken down the knowledge graph enough. But that's probably a waste of time, trying to come up with a perfectly ordered plan of study for all of mathematics. When you find an apparent cycle, it means the two domains are strongly interrelated and you'll be studying part of one, then the other, then the first again, repeat until you're done (whatever that means to you). No need to try and break every subject down into one-week or one-day chunks and finding a perfect ordering, just figure out the roughly course-lengthed chunks of study and start working through them, concurrently if needed as described.
Right when you read something you don't need to understand it all to understand something which may be needed to understand something else elsewhere.
But still I think it would motivate me to keep on learning if somebody could show me an accurate acyclic pre-requisites graph and tell me: "These are the thing you need to understand before you should go to the next topic. If someone could come up with the time to come up with an accurate acyclic "knowledge-graph" it would help millions of students of mathematics.
If you try hard and long enough you will understand what you're trying to understand, you will. The question is what would make that more fun and less tedious. It is about precision and not needing to learn something you don't need to learn, to understand something that you need to learn. Spend your time on learning stuff you need to learn to understand what you want to learn.
If it's prerequisite relationship, you need to make sure that when A points to B, and B points to C, C doesn't point to A. Otherwise you're creating a loop.
Right, it must be acyclic. Which means it can be presented as a tree with some duplicate nodes. The important thing is the student must understand in which order they can try to understand the topics.
"underlying knowledge graph" is a directed acyclic graph (DAG), based on prerequisite relations among topics. So you are right that there cannot be cycles but it's not a tree either because a tree (technically) only allows one parent.
Hi, I'm the first author of the paper and I read your blog post. The reason I chose k=2 is because it's recommended to use n^{1/2} and I wanted to pick a k that's compatible with 5-shot setting. But you are right this is a bit odd. As I mentioned in both the paper and the twitter, different values of k will affect the result and I reported the _max_ result we can get so it does mean an ideal situation when the guess is always right. I also use this strategy for W2V and SentBERT. But it doesn't make the result top2 accuracy. As far as I know, top2 accuracy means in the top2 predicted classes, either one is correct, we score. However, as you mentioned, in knn when k=2, there is a situation when the 2 nearest neighbours point to the same class - we are missing another class candidate if reporting top2 accuracy. But I would love to add results for different strategies and different k values when I upload newest version to arxiv when I have time. The strategy of "decrement" you mentioned in the blog is really nice and I would love to add it to the repo if you want.
I apologize for the short and late reply; I haven't checked the repo yet. I'm preparing for tomorrow's thesis defence and will reply & resolve the issue when I finish.
For me, two use cases of "digging" come up a lot: 1. I want to know how the concept I'm learning can connect with other concepts that I'm interested in (i.e., related concepts); 2. I want to know what other materials are available out there that can provide different perspectives (i.e., related resources). So I ended up building a map visualizing concepts (https://afaik.io/) where the proximity indicates relatedness and under each concept there are various resources attached.
In addition to those more "objective" connections, I think what AI could really help is to find a more "subjective" connection that's very user-specific and utilize those connections to build a personalized tutoring experience, hence the adaptability. For now, I think the barrier to realizing that level of adaptiveness is the high hallucination rate.