This repo contains a demo for the following technical report (PDF):
@misc
{
nets-and-trees,
author = {Nenad Marku\v{s} and Ivan Gogi\'c and Igor S. Pand\v{z}i\'c and J\"{o}rgen Ahlberg},
title = {{Memory-Efficient Global Refinement of Decision-Tree Ensembles and its Application to Face Alignment}},
year = {2017}
}
Basically, the report discusses some modifications of the method introduced by Ren et al. (CVPR2014), "Face Alignment at 3000 FPS via Regressing Local Binary Features". However, instead to face alignment, these ideas are here applied to MNIST classification. This approach can illustrate the basic idea of the report in a relatively few lines of code.
After compiling tree.c
(use the provided makefile
), learn the trees (256 trees of depth 12):
th lrntrees.lua
Next, learn a neural network on top of the tree outputs:
th lrnnn.lua --type rrr
You can try other architectures by specifying --type nn
or --type full
.
Note that all architectures easily fit the training data. However, the generalization performance is not spectacular in these experiments. Could this be attributed to the "instability" of the pixel-difference features used by the trees?
MIT.
Also note that this repo contains code modified from here.
For any additional information contact me at [email protected].