---
title: 'PULSAR-Net: End-to-End Neural Pulsar Search'
url: https://www.emergentmind.com/topics/pulsar-net
type: topic
---

# PULSAR-Net: End-to-End Neural Pulsar Search

PULSAR-Net is an end-to-end neural network–based pipeline for conducting pulsar searches in time- and frequency-resolved radio astronomy data. The framework is designed to efficiently suppress a broad range of radio-frequency interference (RFI) and instrumental artifacts while simultaneously correcting for unknown interstellar dispersion, a crucial challenge in pulsar detection. After initial training, PULSAR-Net operates in real time on standard consumer-grade GPUs and integrates classical periodicity-search tools (FFT, STFT, FFA) within a deep learning context to classify pulsar candidates with high accuracy and extreme computational efficiency [2106.04407].

## 1. Data Preprocessing

PULSAR-Net processes 8-bit filterbank data recorded with Arecibo/WAPP, consisting of 256 frequency channels across 100 MHz and 64 μs sampling over 268 s per beam. Data are first downsampled:

- **Frequency:** 256→16 channels (uniform averaging), followed by removal of the lowest and highest channel to result in 14 channels.
- **Time:** 64 μs is downsampled by a factor of 10 to 640 μs per sample, yielding 400,000 time steps.

The final preprocessed input tensor $x_0$ has the shape $(14, 400{,}000)$. Normalization is performed globally: $x' = (x - \mu) / \sigma$, with $\mu$ and $\sigma$ the mean and standard deviation over all elements. A fixed dropout rate $p=0.1$ is applied immediately after normalization to regularize the network.

## 2. Network Architecture

PULSAR-Net comprises two principal components: a dedispersion branch and a multi-path classification branch.

### 2.1 Dedispersion Branch

Modeled after temporal convolutional networks (TCNs), this branch converts the 2D spectrogram to one or two dedispersed 1D time series. 

- **Initial Downsampling Convolution:** 1D conv with 14 input channels, 64 output channels, kernel size 4, stride 4, reducing time length to 100,000. ReLU activation and GroupNorm are applied.
- **Dilated Convolutional Blocks:** Two blocks of 5 layers each.
  - Block 1: Exponential dilations $d = 2^{\ell}$ ($\ell = 0 \ldots 4$), kernel size 4, 64 channels.
  - Block 2: $d = 4^{\ell}$ ($\ell = 0 \ldots 4$), otherwise same.
  - Each layer uses non-causal convolution, ReLU, GroupNorm, and a residual skip.
- **Pointwise and Output Convs:** 1×1 conv layers maintain/reduce channel dimensions (to $O=1$ or $O=2$ outputs; one- or two-channel model).

Output: $y_{\text{dedis}} \in \mathbb{R}^{O \times 100{,}000}$, a dedispersed time series for each output channel.

### 2.2 Classification Branch

Three parallel classifier modules operate on $y_{\text{dedis}}$, each producing a scalar pulsar "score". These scores are then linearly combined with learned weights and classified using a softmax. The classifiers are:

| Branch   | Input Features                 | Specialized Processing   |
|----------|-------------------------------|-------------------------|
| FFT      | Full-length dedispersed signal | Harmonic summing, 2D conv, max-pool |
| STFT     | Time-chunked dedispersed signal | Multi-chunk FFT, harmonic summing, 2D conv, max-pool |
| FFA      | Three period ranges            | FFA (riptide), profile thresholding, conv, max-pool |

- **FFT Classifier:** Computes the magnitude FFT ($N_{\text{freq}}\approx$ 40,000 bins). Performs incoherent harmonic summing over 5 harmonics (stretching by 1, 2, 4, 8, 16), rescaled to equalize noise. Output features are processed by a small 2D conv net and global max-pooled.
- **STFT Classifier:** Splits $y_{\text{dedis}}$ into 1, 2, and 4 non-overlapping time segments, performs FFT on each, then applies the same harmonic summing as FFT classifier. 2D conv and pooling produce the final score.
- **FFA Classifier:** Uses "riptide" to apply the fast folding algorithm to $y_{\text{dedis}}$ over three period ranges:
    1. 0.03–0.12 s (bins 10–14)
    2. 0.12–0.48 s (bins 40–44)
    3. 0.48–1.1 s (bins 160–176)
  Each FFA output is mean-subtracted with threshold $s = m + k\sigma$ ($k = 6.5$) and $s_{\text{min}} = 6.6$. Profiles are concatenated, passed through a conv net and max-pooled.

Final logits:
\[
L_0 = w_{\text{FFT}} \cdot s_{\text{FFT}} + w_{\text{STFT}} \cdot s_{\text{STFT}} + w_{\text{FFA}} \cdot s_{\text{FFA}} + b_0
\]
\[
L_1 = \text{same with bias } b_1
\]
Softmax yields $p = [p(\text{no pulsar}), p(\text{pulsar})]$.

## 3. Training Procedures and Loss Functions

### 3.1 Dataset Construction

The training set combines 529 PALFA/WAPP beams devoid of any known pulsars (noise) with 8,620 simulated injections of pulsar signals covering uniform periods (30–650 ms, DM from 80 to 700 pc cm⁻³). Amplitudes are capped to avoid unrealistic pulse strength. The test set includes 24 real pulsar beams and 81 noise beams.

### 3.2 Labeling and Augmentation

Half of training samples are pure noise (label 0), half are noise plus a simulated pulsar (label 1). Pulsar injections use:
\[
I_{\text{combined}} = I_{\text{noise}} + \frac{I_{\text{simulated}}}{\mathcal{N}},
\]
where $\mathcal{N} \sim \text{Uniform}(0.9, N_{\text{max}})$, with $N_{\text{max}}$ rising during training.

### 3.3 Optimization Objectives

- **Reconstruction Loss:** 
  \[
  L_{\text{rec}} = \frac{ \| y_{\text{dedis}} - T \|_2^2 }{ o \cdot 100{,}000 },
  \]
  where $T$ is a Gaussian-convolved pulse train, $o$ is the output channel number. For two-channel models, $T$ assigns pulses differentially by DM.
- **Classification Loss:** Cross-entropy for each branch and for the combined output,
  \[
  L_{\text{CE}}(p,t) = -\sum_{c\in\{0,1\}} t_c\log p_c
  \]
- **Total Loss:**
  \[
  L_{\text{total}} = L_{\text{rec}} + \alpha \cdot L_{\text{CE}}(\text{combined}) + \sum_{i\in\{\text{FFT,STFT,FFA}\}} \beta_i \cdot L_{\text{CE}}(i)
  \]

### 3.4 Three-Stage Training

1. **Stage 1 (Warm-up):** Input downsampling to 100,000, $\mathcal{N}$ from 0.9 to 15, $\alpha = 1$, $\sum \beta_i = 0.01$ (no FFA).
2. **Stage 2 (Full-length):** Restore full input, $\mathcal{N}$ from 15 to 35, $\sum \beta_i = 0.1$, dedisp branch frozen for 2 epochs.
3. **Stage 3 (FFA Integration):** Add FFA classifier, fix $\mathcal{N}\approx35$, dedisp branch frozen, retrain only classifier weights.

Optimizer: Adam (lr$\approx$$10^{-3}$), batch size 15. Five-fold cross-validation, 80/20 split. Training durations: ≲3 h (Stage 1), ≲13 h (Stage 2), ≲50 h (Stage 3) on Nvidia V100.

## 4. RFI Suppression and Dispersion Correction

No explicit RFI-masking layers are used. The dedispersion branch, trained end-to-end via reconstruction and classification objectives, is incentivized to both reconstruct clean pulse trains and ignore noise-only (including RFI) inputs. GroupNorm and dropout add regularization, mitigating overfitting to specific RFI patterns.

RFI suppression results in a lower FFA noise floor compared to standard dedispersion methods, even with classical zero-DM filtering, yielding boosted pulsar S/N. Dispersion correction is achieved by the TCN's large receptive field, so a range of DMs is handled in one forward pass—avoiding brute-force shift-and-sum strategies. The two-channel output structure specializes in low- vs. high-DM responses:
\[
\Delta t \simeq 4.15 \times 10^{6}\,\mathrm{ms}\,(f_{1}^{-2} - f_{2}^{-2})\,\mathrm{DM}
\]
where $\Delta t$ is the dispersion delay between channels $f_1$ and $f_2$ at dispersion measure DM.

## 5. Integration with Classical Periodicity Search Methods

Dedispersed output is passed directly to periodicity search modules (FFT, STFT, FFA), embedded in the PyTorch framework. Harmonic summing, time-window splitting, and FFA period-range searches are constructed as differentiable modules, except for the wrapped "riptide" FFA whose gradients are not propagated. The final decision combines the three classifiers' scores via a linear model and softmax.

## 6. Empirical Performance and Benchmarks

On 105 test beams (469 minutes), PULSAR-Net processes data in approximately 29 s (no FFA) or 105 s (with FFA), constituting $\sim$200× real time on a consumer GPU. In held-out real data, the two-channel model (ensemble of 5 cross-validated nets over 5 overlapping segments) identified 22/24 real pulsars with only 1 false positive in 81 noise beams (false positive rate $\approx$1.2%). Matthews correlation coefficient (MCC) reaches $\gtrsim$0.9 in Stages 2 and 3. FFA S/N metrics for real pulsars show the PULSAR-Net output's median S/N matches or exceeds dedispersion at the true DM, attributed to effective RFI suppression.

## 7. Ablation Studies and Limitations

Two-channel dedispersion improves FFA S/N for high-DM pulsars. End-to-end training (joint reconstruction and classification) outperforms two-step training for faint signals, and removing classification loss degrades the utility of $y_{\text{dedis}}$ for weak pulses. Limitations:

- Detects only the strongest pulse train per beam (no support for multiple candidates).
- FFA gradients are not propagated, slowing Stage 3.
- Not evaluated on accelerated (binary) pulsars.
- Full-resolution input exceeds common GPU memory limits; longer-term solutions may require time/frequency splitting.
- Retraining is needed for each survey's specifics (band, resolution, RFI environment).

PULSAR-Net demonstrates that a dilated-convolutional dedispersion network, coupled with integrated periodicity-search classifiers, can achieve high-throughput, low-false-positive pulsar searches with competitive or superior RFI rejection and S/N recovery relative to conventional approaches [2106.04407].

Source: https://www.emergentmind.com/topics/pulsar-net