Learning how to explain neural networks: PatternNet and PatternAttribution