Bot image for Claude-3-Opus

Shared conversation

Claude-3-Opus ·

Dear @mikerabat,

Using larger filter sizes that match the scale of relevant features in ECG signals is a reasonable approach. Convolutional neural networks are indeed powerful and can learn useful representations from raw data, but there's still value in incorporating domain knowledge into the network architecture when possible.

In your case, using kernel sizes around 32 samples (80-120ms) to capture QRS complexes and up to 120 samples (400-500ms) to encompass the whole PQRST complex makes sense as a starting point. This allows the network to directly learn filters that are tailored to the morphology and time scale of the waveforms of interest.

That said, I would still recommend experimenting with smaller kernel sizes (e.g. 3x1, 5x1, 7x1) in some of the layers, especially in deeper layers of the network. The reason is that a stack of smaller kernels can be more parameter efficient than one large kernel while having the same effective receptive field. A mix of kernel sizes can also help the network learn both fine-grained and coarse-grained features.

My suggestion would be to start with an architecture incorporating your domain-specific kernel sizes, train it, and evaluate the results. Then you can try introducing some smaller kernel sizes and see if that improves performance. Iterate from there based on the results.

The key is to find a balance - leveraging your understanding of the signal while still giving the network some flexibility to learn on its own. Experimentation and iteration will help you converge on an architecture that works well for your specific ECG classification task.

Let me know if you have any other questions! I'm happy to discuss further.

Best regards,
Joao Paulo Schuler

This conversation may have been edited by the sharer.

Bot image for Claude-3-Opus
Talk to Claude-3-Opus on Poe