The file ```deeper_layer_analysis_cpu.py``` can be run to get the collision matrix using the iterative greedy methiod. The file ```linear_layer_analysis.py``` can be run to get the collision matrix using the closed form expression for linear feature extractors. Finally, ```optimal_log_loss_deeper_layer.py``` can be run to get the lower bounds on loss using the generated collision matrices.