Convolutional Neural Networks (CNNs) are a class of deep learning models designed for processing grid-like data, such as images. They are composed of layers that automatically learn spatial hierarchies of features from raw input. The core components of CNNs include convolutional layers, which apply filters to extract features, pooling layers to reduce dimensions, and fully connected layers for classification or regression tasks. CNNs excel in tasks like image recognition, object detection, and video analysis due to their ability to efficiently recognize patterns and hierarchical features.

Posts

Conditioning Neural Networks: A Case Study of Electrical Load Forecasting

Machine learning tasks typically involve minimizing a loss function that measures the distance of the model output and the ground-truth. In some applications, in addition to the usual loss function, the output must also satisfy certain requirements for further processing. We call such requirements model conditioning. We investigate cases where the conditioner is not differentiable or cannot be expressed in closed form and, hence, cannot be directly included in the loss function of the machine learning model. We propose to replace the conditioner with a learned dummy model which is applied on the output of the main model. The entire model, composed of the main and dummy models, is trained end-to-end. Throughout training, the dummy model learns to approximate the conditioner and, thus, forces the main model to generate outputs that satisfy the specified requirements. We demonstrate our approach on a use-case of demand charge-aware electricity load forecasting. We show that jointly minimizing the error in forecast load and its demand charge threshold results in significant improvement to existing load forecast methods.