Вы можете реализовать это с помощью 1D свертки с kernel_size = 1
import torch
batch_size=2
inputs = torch.randn(batch_size, 12, 256)
aggregation_layer = torch.nn.Conv1d(in_channels=12, out_channels=1, kernel_size=1)
weighted_sum = aggregation_layer(inputs)
Такая свертка будет иметь 12 параметров. Каждый параметр будет равен e_i в формуле, которую вы предоставили.
Другими словами, эта свертка будет превышать димецию размером 256 и суммировать ее с обучаемыми весами.