ShallowNeuralDecisionForest
ShallowNeuralDecisionForest copied to clipboard
How do you implement the probabilistic routing in the neural decision tree?
Hi SkidanovAlex, I am implement the paper "monocular depth estimation using neural regression forest". It is a follow-up paper of "deep neural decision forests". Both of them use probabilistic routing in which the data will be sent to left or right child node by a probability from a sigmoid function. For example, if the prob = 0.4, it will sent to the left child with the probability of 40%. Now, I get the probability but can not figure out which child I should send the data to (e.g. when p = 0.4). The naive idea is generate a number in [0, 1] and compare with the probability, if p > p_random then go to the left child, otherwise go to the right child.
Thanks.
In this particular implementation I do the same thing that they suggest to do in the paper: send to both children, and use the weighted average of them as the final output. So if p=0.4, we compute the answer for the left subnode, then for the right subnode, and then return left * 0.4 + right * 0.6