5 ms·
I'm trying to imagine how that works. Imagine you've got a nueral net. One node identifies the number of feet. One node identifies that number of wings. One nod
by klmadfejno 6y ago
I'm trying to imagine how that works. Imagine you've got a nueral net. One node identifies the number of feet. One node identifies that number of wings. One node identifies color. This feeds into a layer that tries to predict what animal it is.
With backprop, you can sort of assume that given enough scale your algo will identify these important features. With local learning, wouldn't you get a tendency to identify the easily identifiable features many times? Is there a need for a sort of middleman like a one arm bandit kind of thing that makes a decision to spawn and despawn child nodes to explore the space more?
- TheRealPomax 6y agoThe fallacy there is the idea that "one node" does anything useful, rather than optimizing itself in a way that you have _no idea_ what it actually codes for, but at the emergent level, you see it contribute to coding for wing detection, or color detection, or more likely actually seventeen different things that are supposedly unrelated, it just happens to be generating values that somehow contribute to a result for the features the various constellations detect. (meaning it might also actually cause one or more constellations to perform worse than if it wasn't contributing, and realistically, you'll never know)
- klmadfejno 6y agoThat's, at best, pedantically true. You can determine the function of individual components of a network, and they will correspond to concrete thing. It's just that the utility of doing this is low in the scheme of things and the function of individual components is going to be fuzzier than nice constructs that humans like to think in. If you wanted to take painstaking steps to align the functionality of nodes to identify specific features per the example, you could do this and the network would work just fine. It's an appropriate way to simplify an explanation of how the model works.
- TheRealPomax 6y agoThat's literally what we cannot do in a neural net. It's why they're so problematic: you can determine the propagation functions of individual nodes perfectly, and that knowledge tells you exactly nothing about all of the many things it's values contribute to. There is no "concrete thing" at the node level: a single node fundamentally can't see a wing, or a color, or anything else, that's only emergent behaviour of node constellations, and one node can contribute to many constellations simultaneously. Heck, there often isn't even a "concrete thing" at the many of the constellation levels, concrete things don't start to emerge until you're looking at the full state of all end nodes.
- klmadfejno 6y agoThat's the machine learning 101 worldview. Initial level nodes are likely just minor inscrutable transformations. Later layers will be coding for features that, at least to some degree if it's a tractable problem, humans can understand and agree with as useful features. They'll be fuzzy and not as clearly defined as a human would frame the problem, but their purpose can be explored and generally identified. In any case, speaking of them as representing singular features for simplification is appropriate. Maybe it's not one node that codes for legs, but two nodes that codes for legs like this and legs like that, but that's not relevant to the point.
- SamBam 6y ago> Is there a need for a sort of middleman like a one arm bandit kind of thing that makes a decision to spawn and despawn child nodes to explore the space more? What's the one-armed bandit? (Besides a slot machine.) My knowledge of this field is rusty, but I actually wrote my MSc thesis on novel ways to get Genetic Algorithms to more efficiently explore the space without getting stuck, so it sounds up my alley.
- fancy_pantser 6y agoI wonder if you thought of it as a type of optimal stopping problem locally on each node and explore-exploit (multi-armed bandit) globally? For example, if each node knows when to halt when it hits a [probably local] minima, the results can be shared at that point and the best-performing models can be cross-pollinated or whatever the mechanism is at that point. Since both copying the models and continuing without gaining ground are both wastes of time, you want to dial in that local halting point precisely. An overseeing scheduler would record epoch-level results and make the decisions, of course.
- klmadfejno 6y agoHaha sorry I meant multi arm bandit, which I'd presume you're familiar with. Although I guess a single arm bandit would be something akin the secretary problem.