Understanding Deep Architecture with Reasoning Layer