Learning Task-Oriented Communication for Edge Inference: An Information Bottleneck Approach