Skip to main content
. 2026 May 2;26(9):2856. doi: 10.3390/s26092856
Algorithm 1 AST Fine-Tuning with Selective Layer Unfreezing and Early Stopping
  • Require: Pre-trained AST weights Θ, Fine-tuning dataset Dfine, Validation dataset Dval, Evaluation set Deval, Patience P=5, Max Epochs Nmax=30

  • Ensure: Optimal Model Θ∗ (Early-stopped), Final Epoch Model Θfinal

    • 1:

      1. Model Initialization & Freezing Mechanism:

    • 2:

      Set requires_grad←False for all parameters in Θ    ▹ Freeze all layers

    • 3:

      Unfreeze classification head and final 5 Transformer layers (B8…12)

    • 4:

      Initialize Lossbest←∞, counter←0

    • 5:

      2. Fine-Tuning and Early Stopping Loop:

    • 6:

      for each epoch=1,2,…,Nmax do

    • 7:

          Θ←Train(Θ,Dfine)     ▹ Update only 5 layers + classification head

    • 8:

          Lossval←Validate(Θ,Dval)

    • 9:

          if Lossval<Lossbest then          ▹ New global minimum found

    • 10:

              Lossbest←Lossval

    • 11:

              Θ∗←Θ          ▹ Save early-stopped model checkpoint

    • 12:

              counter←0                ▹ Reset patience tracker

    • 13:

          else

    • 14:

              counter←counter+1

    • 15:

              if counter≥P then             ▹ Patience limit reached

    • 16:

                 Θfinal←Θ         ▹ Save state at fine-tuning termination

    • 17:

                 break                ▹ Early stopping triggered

    • 18:

              end if

    • 19:

          end if

    • 20:

      end for

    • 21:

      3. Model Evaluation:

    • 22:

      M∗←Evaluate(Θ∗,Deval)        ▹ Evaluate Early-stopped Model

    • 23:

      Mfinal←Evaluate(Θfinal,Deval)       ▹ Evaluate Final Epoch Model

    • 24:

      returnΘ∗, Θfinal, and Metrics {M∗,Mfinal}