fixes
This commit is contained in:
@@ -2255,3 +2255,51 @@ Conclusion(s): Measuring urinary LH levels is an excellent method for determinin
|
||||
pages = {89--98},
|
||||
file = {PDF:/home/alex/Zotero/storage/JREACGRA/Wallach and Moghissi - 1980 - Prediction and Detection of Ovulation.pdf:application/pdf},
|
||||
}
|
||||
|
||||
@misc{pham_dropout_2014,
|
||||
title = {Dropout improves {Recurrent} {Neural} {Networks} for {Handwriting} {Recognition}},
|
||||
url = {http://arxiv.org/abs/1312.4569},
|
||||
doi = {10.48550/arXiv.1312.4569},
|
||||
abstract = {Recurrent neural networks (RNNs) with Long Short-Term memory cells currently hold the best known results in unconstrained handwriting recognition. We show that their performance can be greatly improved using dropout - a recently proposed regularization method for deep architectures. While previous works showed that dropout gave superior performance in the context of convolutional networks, it had never been applied to RNNs. In our approach, dropout is carefully used in the network so that it does not affect the recurrent connections, hence the power of RNNs in modeling sequence is preserved. Extensive experiments on a broad range of handwritten databases confirm the effectiveness of dropout on deep architectures even when the network mainly consists of recurrent and shared connections.},
|
||||
urldate = {2025-07-22},
|
||||
publisher = {arXiv},
|
||||
author = {Pham, Vu and Bluche, Théodore and Kermorvant, Christopher and Louradour, Jérôme},
|
||||
month = mar,
|
||||
year = {2014},
|
||||
note = {arXiv:1312.4569 [cs]},
|
||||
keywords = {Computer Science - Computer Vision and Pattern Recognition, Computer Science - Machine Learning, Computer Science - Neural and Evolutionary Computing},
|
||||
file = {Full Text PDF:/home/alex/Zotero/storage/IA52LNE8/Pham et al. - 2014 - Dropout improves Recurrent Neural Networks for Handwriting Recognition.pdf:application/pdf;Snapshot:/home/alex/Zotero/storage/LJ8EJ5PS/1312.html:text/html},
|
||||
}
|
||||
|
||||
@article{wen_time_2023,
|
||||
title = {Time {Series} {Prediction} {Based} on {LSTM}-{Attention}-{LSTM} {Model}},
|
||||
volume = {11},
|
||||
issn = {2169-3536},
|
||||
url = {https://ieeexplore.ieee.org/document/10124729/},
|
||||
doi = {10.1109/ACCESS.2023.3276628},
|
||||
abstract = {Time series forecasting uses data from the past periods of time to predict future information, which is of great significance in many applications. Existing time series forecasting methods still have problems such as low accuracy when dealing with some non-stationary multivariate time series data forecasting. Aiming at the shortcomings of existing methods, in this paper we propose a new time series forecasting model LSTM-attention-LSTM. The model uses two LSTM models as the encoder and decoder, and introduces an attention mechanism between the encoder and decoder. The model has two distinctive features: first, by using the attention mechanism to calculate the interrelationship between sequence data, it overcomes the disadvantage of the coder-and-decoder model in that the decoder cannot obtain sufficiently long input sequences; second, it is suitable for sequence forecasting with long time steps. In this paper we validate the proposed model based on several real data sets, and the results show that the LSTM-attention-LSTM model is more accurate than some currently dominant models in prediction. The experiment also assessed the effect of the attention mechanism at different time steps by varying the time step.},
|
||||
urldate = {2025-07-22},
|
||||
journal = {IEEE Access},
|
||||
author = {Wen, Xianyun and Li, Weibang},
|
||||
year = {2023},
|
||||
keywords = {attention mechanisms, Autoregressive processes, Data models, Decoding, encoder and decoder model, Forecasting, Logic gates, long short-term memory networks, Predictive models, Time series analysis, Time series forecasting},
|
||||
pages = {48322--48331},
|
||||
file = {Full Text PDF:/home/alex/Zotero/storage/3M54PVSE/Wen and Li - 2023 - Time Series Prediction Based on LSTM-Attention-LSTM Model.pdf:application/pdf},
|
||||
}
|
||||
|
||||
@misc{goyal_accurate_2018,
|
||||
title = {Accurate, {Large} {Minibatch} {SGD}: {Training} {ImageNet} in 1 {Hour}},
|
||||
shorttitle = {Accurate, {Large} {Minibatch} {SGD}},
|
||||
url = {http://arxiv.org/abs/1706.02677},
|
||||
doi = {10.48550/arXiv.1706.02677},
|
||||
abstract = {Deep learning thrives with large neural networks and large datasets. However, larger networks and larger datasets result in longer training times that impede research and development progress. Distributed synchronous SGD offers a potential solution to this problem by dividing SGD minibatches over a pool of parallel workers. Yet to make this scheme efficient, the per-worker workload must be large, which implies nontrivial growth in the SGD minibatch size. In this paper, we empirically show that on the ImageNet dataset large minibatches cause optimization difficulties, but when these are addressed the trained networks exhibit good generalization. Specifically, we show no loss of accuracy when training with large minibatch sizes up to 8192 images. To achieve this result, we adopt a hyper-parameter-free linear scaling rule for adjusting learning rates as a function of minibatch size and develop a new warmup scheme that overcomes optimization challenges early in training. With these simple techniques, our Caffe2-based system trains ResNet-50 with a minibatch size of 8192 on 256 GPUs in one hour, while matching small minibatch accuracy. Using commodity hardware, our implementation achieves {\textasciitilde}90\% scaling efficiency when moving from 8 to 256 GPUs. Our findings enable training visual recognition models on internet-scale data with high efficiency.},
|
||||
urldate = {2025-07-22},
|
||||
publisher = {arXiv},
|
||||
author = {Goyal, Priya and Dollár, Piotr and Girshick, Ross and Noordhuis, Pieter and Wesolowski, Lukasz and Kyrola, Aapo and Tulloch, Andrew and Jia, Yangqing and He, Kaiming},
|
||||
month = apr,
|
||||
year = {2018},
|
||||
note = {arXiv:1706.02677 [cs]},
|
||||
keywords = {Computer Science - Computer Vision and Pattern Recognition, Computer Science - Distributed, Parallel, and Cluster Computing, Computer Science - Machine Learning},
|
||||
annote = {Comment: Tech report (v2: correct typos)},
|
||||
file = {Full Text PDF:/home/alex/Zotero/storage/5MKPLWI7/Goyal et al. - 2018 - Accurate, Large Minibatch SGD Training ImageNet in 1 Hour.pdf:application/pdf;Snapshot:/home/alex/Zotero/storage/TRYJFLDW/1706.html:text/html},
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
\usepackage[style=ieee, backend=biber]{biblatex}
|
||||
\addbibresource{../main.bib}
|
||||
\usepackage{booktabs}
|
||||
\usepackage{amsfonts}
|
||||
|
||||
% Document
|
||||
\begin{document}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 117 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 104 KiB |
+159
-59
@@ -14,15 +14,6 @@ During the follicular phase, the ovarian follicles mature, and the endometrium (
|
||||
in preparation for a potential implantation of a fertilized egg.
|
||||
Around day 14 of a typical cycle, ovulation occurs, marking the transition to the luteal phase.
|
||||
Ovulation refers to the rupture of the mature ovarian follicle and the release of an egg cell into the fallopian tube.
|
||||
Figure~\ref{fig:background_basic_female_reproductive_system} illustrates the female reproductive system,
|
||||
including the ovaries and the fallopian tubes.
|
||||
|
||||
\begin{figure}[htb]
|
||||
\centering
|
||||
\includegraphics[width=0.4\textwidth]{background_female_reproductive_organs}
|
||||
\caption{The basic female reproductive system~\cite{wikimedia_commons_basic_2019}.}
|
||||
\label{fig:background_basic_female_reproductive_system}
|
||||
\end{figure}
|
||||
|
||||
Ovulation is triggered by a surge in \textbf{luteinizing hormone (LH)}
|
||||
and \textbf{follicle-stimulating hormone (FSH)}, following a peak in estradiol levels.
|
||||
@@ -36,10 +27,12 @@ If fertilization does not occur, progesterone levels drop, leading to the sheddi
|
||||
with the unfertilized egg.
|
||||
This process, known as menstruation, marks the beginning of a new cycle.
|
||||
|
||||
\begin{figure}[htb]
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.6\textwidth]{background_menstrual_cycle_physiology}
|
||||
\caption{Physiological changes during the menstrual cycle~\cite{pedroso_menstrual_2022}.}
|
||||
\caption{Physiological changes during the menstrual cycle~\cite{pedroso_menstrual_2022}.
|
||||
The figure shows the relationship between hormonal fluctuations, physiological changes, and body temperature, with a clear temperature rise around ovulation.}
|
||||
|
||||
\label{fig:background_menstrual_cycle_physiology}
|
||||
\end{figure}
|
||||
|
||||
@@ -47,10 +40,11 @@ The menstrual cycle typically lasts around 28 days, with ovulation occurring nea
|
||||
However, variations, particularly in the follicular phase length, are common and can be influenced by factors such as stress, diet, exercise and age~\cite{silberstein_physiology_2000}.
|
||||
Figure~\ref{fig:background_menstrual_cycle_physiology} provides a detailed overview of the hormonal and physiological changes throughout the menstrual cycle.
|
||||
|
||||
\begin{figure}[htb]
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.9\textwidth]{background_labeled_cycle}
|
||||
\caption{A cycles temperature curve with its phases and ovulation}
|
||||
\caption{Body core temperature curve across a menstrual cycle. The red line represents a locally smoothed temperature trend.
|
||||
Menstruation, ovulation, and the fertile phase are indicated in red, blue, and green, respectively.}
|
||||
\label{fig:background_labeled_cycle}
|
||||
\end{figure}
|
||||
|
||||
@@ -63,7 +57,7 @@ The luteal phase begins at the ovulation and continues until the next menstruati
|
||||
Not every cycle results in ovulation—a phenomenon known as anovulation—which leads to a monophasic temperature pattern.
|
||||
Anovulation can have various causes, including hormonal imbalances, stress, or underlying health conditions~\cite{rosenfield_adolescent_2013}.
|
||||
|
||||
\begin{figure}[htb]
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.9\textwidth]{background_anovulatory_cycle}
|
||||
\caption{Example of a cycle without an ovulation and the resulting absence of a temperature rise}
|
||||
@@ -312,23 +306,43 @@ information: the \emph{forget gate}, the \emph{input gate}, and the \emph{output
|
||||
Each gate employs a sigmoid activation function to regulate the flow of information,
|
||||
allowing LSTMs to preserve and update memory over long sequences.
|
||||
|
||||
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.6\textwidth]{lstm_cell_diagram}
|
||||
\caption{Diagram of a LSTM cell showing the flow of information \cite{chevalier_english_2018}}
|
||||
\includegraphics[width=0.6\textwidth]{background_lstm_structure}
|
||||
\caption{Architecture of a memory cell \( c_j \) and its gate units \( \text{in}_j \) and \( \text{out}_j \).
|
||||
At the center, the self-recurrent linear unit (with weight 1.0) maintains the internal state~\cite{hochreiter_long_1997}.
|
||||
See text for more details.}
|
||||
\label{fig:lstm_architecture}
|
||||
\end{figure}
|
||||
|
||||
Figure~\ref{fig:lstm_architecture} illustrates the architecture of an LSTM cell.
|
||||
On the left, the previous cell state \(C_{t-1}\) represents the long-term memory,
|
||||
while the hidden state \(h_{t-1}\) encodes the short-term memory from the preceding time step.
|
||||
The current input \(x_t\) is processed together with these states to update the cell.
|
||||
The resulting new cell state \(C_t\) and hidden state \(h_t\) are passed forward to the next time step or used to produce the model’s output.
|
||||
Within the cell, the forget gate determines how much of the previous cell state \(C_{t-1}\) is retained.
|
||||
The input gate updates the cell state with new information derived from the current input and previous hidden state.
|
||||
Finally, the output gate controls how much of the updated cell state contributes to the hidden state \(h_t\),
|
||||
which is passed on to the next time step or used for prediction.
|
||||
The LSTM unit maintains an internal state \( s_{c_j}(t) \) for each cell $c_j$ that evolves over time to capture long-term dependencies.
|
||||
Figure~\ref{fig:lstm_architecture} shows the structure of a memory cell along with its input and output gates.
|
||||
The \emph{input gate} activation \( y_j^{\text{in}}(t) \) controls the influence of the new candidate input \( g(\text{net}_{c_j}(t)) \) on the state update (Eq.~\eqref{eq:state_update}):
|
||||
|
||||
\begin{equation}
|
||||
s_{c_j}(t) = s_{c_j}(t - 1) + y_j^{\text{in}}(t) \cdot g(\text{net}_{c_j}(t))
|
||||
\label{eq:state_update}
|
||||
\end{equation}
|
||||
|
||||
The \emph{output gate} \( y_j^{\text{out}}(t) \), computed from \( \text{net}_{\text{out}_j}(t) \), determines how much of the transformed internal state is passed on as visible output (Eq.~\eqref{eq:cell_output}):
|
||||
|
||||
\begin{equation}
|
||||
y_j^{c}(t) = y_j^{\text{out}}(t) \cdot h(s_{c_j}(t))
|
||||
\label{eq:cell_output}
|
||||
\end{equation}
|
||||
|
||||
\(g\) and \(h\) are differentiable functions, here \emph{tanh}.
|
||||
The gate activations themselves are derived from net inputs formed as weighted sums of previous outputs \( y^u(t-1) \), as given by:
|
||||
|
||||
\begin{align}
|
||||
\text{net}_{\text{out}_j}(t) &= \sum_u w_{\text{out}_j,u} \, y^u(t - 1) \label{eq:net_out} \\
|
||||
\text{net}_{\text{in}_j}(t) &= \sum_u w_{\text{in}_j,u} \, y^u(t - 1) \label{eq:net_in} \\
|
||||
\text{net}_{c_j}(t) &= \sum_u w_{c_j,u} \, y^u(t - 1) \label{eq:net_c}
|
||||
\end{align}
|
||||
|
||||
During training, the weights associated with the inputs \( x_t \) and previous outputs \( h_{t-1} \),
|
||||
as well as the biases for each gate in a cell, are learned through backpropagation.
|
||||
To build more expressive models, memory cells can be stacked in multiple layers, and their outputs concatenated or passed sequentially to higher layers.
|
||||
|
||||
LSTMs are widely used in biomedical applications due to their capacity to handle sequences of variable length and complexity.
|
||||
In the context of ovulation prediction, where hormonal patterns exhibit periodicity but also irregularity,
|
||||
@@ -382,56 +396,142 @@ The input tokens are first mapped to dense continuous vector representations (em
|
||||
Since the attention mechanism permutation-invariant---that is, it does not inherently encode the order of tokens in the sequence---
|
||||
\emph{positional encodings} are added to the token embeddings to provide information about the token positions in the sequence.
|
||||
|
||||
|
||||
Without positional encoding, repeated tokens such as `The` would be indistinguishable
|
||||
to the model regardless of their location, even if they play different syntactic or semantic roles.
|
||||
Positional encodings, often based on sinusoidal functions, inject a unique position-dependent signal
|
||||
into each token, enabling the model to distinguish between identical tokens in different positions.
|
||||
|
||||
Inside each encoder block, \emph{Multi-Head-Attention} is applied to the inputs.
|
||||
Multi-Head-Attention extends the regular attention mechanism, by adding multiple attention heads that focus on different parts of the embeddings.
|
||||
Each head does the scaled dot-product attention independently on its slice of the data.
|
||||
The outputs of all heads are then concatenated and combined via a linear projection.
|
||||
In this work, we use since and cosine functions of different frequencies:
|
||||
\begin{align}
|
||||
PE_{\text{pos}, 2i} &= \sin\left(\frac{\text{pos}}{10000^{\frac{2i}{d_{\text{model}}}}}\right), \\
|
||||
PE_{\text{pos}, 2i+1} &= \cos\left(\frac{\text{pos}}{10000^{\frac{2i}{d_{\text{model}}}}}\right)
|
||||
\end{align}
|
||||
where \(i\) is the dimension of the input and \(pos\) is the position in the sequence.
|
||||
This was done according to the original paper~\cite{vaswani_attention_2017}.
|
||||
|
||||
The outputs of the attention mechanism are then processed in a feed forward network to allow for a non-linear projection.
|
||||
Residual connections for both the attention and the feed forward allow for better gradient flow and model stability.
|
||||
\begin{figure}[htbp]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{background_attention_mechanism}
|
||||
\caption{(left) Scaled Dot-Product Attention.
|
||||
(right) Multi-Head Attention consisting of several attention layers running in parallel~\cite{vaswani_attention_2017}.}
|
||||
\label{fig:background_attention_mechanism}
|
||||
\end{figure}
|
||||
|
||||
Inside each encoder block, \emph{Multi-Head Attention} is applied to the input sequence.
|
||||
This mechanism allows the model to jointly attend to information from different representation subspaces at different positions.
|
||||
The process begins by linearly projecting the input sequence $X \in \mathbb{R}^{n \times d_{\text{model}}}$ into three distinct matrices:
|
||||
|
||||
\begin{align}
|
||||
Q &= XW^Q \\
|
||||
K &= XW^K \\
|
||||
V &= XW^V
|
||||
\end{align}
|
||||
|
||||
where $W^Q$, $W^K$, and $W^V$ are learned projection matrices.
|
||||
Each row of $X$ corresponds to the embedding of one token, and the projections produce the queries ($Q$), keys ($K$), and values ($V$) for each token.
|
||||
|
||||
The core operation of attention is then computed as:
|
||||
|
||||
\begin{equation}
|
||||
\text{Attention}(Q, K, V) = \text{softmax}\left( \frac{QK^\top}{\sqrt{d_k}} \right) V
|
||||
\end{equation}
|
||||
|
||||
The dot product $QK^\top$ measures the pairwise similarity between queries and keys, scaled by the dimensionality $d_k$ to control the magnitude.
|
||||
The softmax normalizes the scores across each row, producing an attention distribution over all input positions.
|
||||
|
||||
Multi-head attention runs this mechanism in parallel across $h$ different heads.
|
||||
Each head uses different learned projections:
|
||||
|
||||
\begin{equation}
|
||||
\text{head}_i = \text{Attention}(XW_i^Q, XW_i^K, XW_i^V)
|
||||
\end{equation}
|
||||
|
||||
The resulting vectors from all heads are concatenated and projected:
|
||||
|
||||
\begin{equation}
|
||||
\text{MultiHead}(X) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)W^O
|
||||
\end{equation}
|
||||
|
||||
This output is then passed through a position-wise feed-forward network (FFN), applied independently to each token:
|
||||
|
||||
\begin{equation}
|
||||
\text{FFN}(x) = \max(0, xW_1 + b_1)W_2 + b_2
|
||||
\end{equation}
|
||||
|
||||
To stabilize training, the Transformer uses residual connections and layer normalization:
|
||||
|
||||
\begin{align}
|
||||
x_1 &= \text{LayerNorm}(X + \text{MultiHead}(X)) \\
|
||||
x_2 &= \text{LayerNorm}(x_1 + \text{FFN}(x_1))
|
||||
\end{align}
|
||||
|
||||
In summary, each encoder block consists of:
|
||||
\begin{itemize}
|
||||
\item A multi-head attention mechanism that projects the input into queries, keys, and values.
|
||||
\item A feed-forward network that processes the attention output.
|
||||
\item Residual connections and normalization applied after both components.
|
||||
\end{itemize}
|
||||
|
||||
\paragraph{Decoder:}
|
||||
|
||||
In a sequence-to-sequence Transformer, the decoder generates the output sequence autoregressively,
|
||||
using the contextualized representation produced by the encoder.
|
||||
In a sequence-to-sequence Transformer, the decoder generates the target sequence autoregressively, one token at a time, conditioned on the input sequence processed by the encoder.
|
||||
|
||||
At inference time, generation begins with a special \emph{start-of-sequence} token.
|
||||
Like the encoder, the decoder embeds its inputs and augments them with positional encodings
|
||||
to retain information about token order.
|
||||
At inference time, decoding begins with a special \emph{start-of-sequence} token. Each token is embedded and augmented with positional encodings to incorporate information about token order, just as in the encoder.
|
||||
|
||||
To ensure that the model does not access future tokens during training,
|
||||
a \emph{look-ahead mask} is applied within the decoder’s self-attention mechanism.
|
||||
This masking ensures that each position can only attend to earlier positions in the sequence,
|
||||
preventing information leakage.
|
||||
This component is referred to as \emph{masked multi-head self-attention}.
|
||||
Each decoder block consists of three main sublayers:
|
||||
|
||||
Following the masked self-attention, the decoder incorporates information from the encoder
|
||||
via a \emph{cross-attention} layer.
|
||||
Here, the decoder’s hidden states act as queries, while the encoder’s outputs serve as keys and values.
|
||||
This allows the decoder to condition its predictions on the entire encoded input sequence.
|
||||
\begin{enumerate}
|
||||
\item \textbf{Masked Multi-Head Self-Attention}:
|
||||
The decoder first applies multi-head self-attention over its own output sequence.
|
||||
To prevent positions from attending to future tokens (which would leak information during training),
|
||||
a causal \emph{look-ahead mask} is applied to the attention weights.
|
||||
Formally, for input $Y$ to the decoder:
|
||||
|
||||
The output of the cross-attention layer is passed through a position-wise feed-forward network
|
||||
and further normalization and residual connections, analogous to the encoder blocks.
|
||||
\begin{equation}
|
||||
\text{MaskedAttention}(Q, K, V) = \text{softmax}\left( \frac{QK^\top}{\sqrt{d_k}} + M \right)V
|
||||
\end{equation}
|
||||
|
||||
For tasks such as machine translation, the final decoder outputs are linearly projected
|
||||
to the target vocabulary size, and a softmax function is applied to produce a probability distribution
|
||||
over possible next tokens.
|
||||
where $M$ is a mask matrix with $-\infty$ in positions that should be masked (future positions), and $0$ elsewhere.
|
||||
|
||||
During inference, tokens are sampled sequentially from this distribution and fed back into the decoder for the next prediction step.
|
||||
This process continues until a special \emph{end-of-sequence} token is generated, indicating that the model has completed the output sequence.
|
||||
\item \textbf{Cross-Attention (Encoder-Decoder Attention)}:
|
||||
The output from the masked self-attention is used to attend to the encoder’s representations.
|
||||
This allows the decoder to incorporate context from the entire source sequence.
|
||||
The queries come from the decoder hidden states, while the keys and values come from the encoder outputs:
|
||||
|
||||
Depending on the use case and data complexity, multiple encoder and decoder layers can be stacked
|
||||
to increase model capacity and improve predictive performance.
|
||||
\begin{equation}
|
||||
\text{CrossAttention}(Q, K, V) = \text{Attention}(YW^Q, XW^K, XW^V)
|
||||
\end{equation}
|
||||
|
||||
where $X$ is the encoder output, and $Y$ is the decoder’s self-attention output.
|
||||
|
||||
\item \textbf{Feed-Forward Network and Normalization}:
|
||||
The result of the cross-attention layer is passed through a feed-forward network (FFN),
|
||||
followed by residual connections and layer normalization, mirroring the encoder architecture:
|
||||
|
||||
\begin{align}
|
||||
y_1 &= \text{LayerNorm}(Y + \text{MaskedMultiHead}(Y)) \\
|
||||
y_2 &= \text{LayerNorm}(y_1 + \text{CrossAttention}(y_1, X)) \\
|
||||
y_3 &= \text{LayerNorm}(y_2 + \text{FFN}(y_2))
|
||||
\end{align}
|
||||
\end{enumerate}
|
||||
|
||||
Finally, the output of the last decoder block is projected into the vocabulary space using a learned weight matrix $W_{\text{vocab}}$
|
||||
and passed through a softmax function to produce a distribution over the next possible token:
|
||||
|
||||
\begin{equation}
|
||||
P(\text{next token} \mid \text{previous tokens}) = \text{softmax}(y_3 W_{\text{vocab}}^\top + b)
|
||||
\end{equation}
|
||||
|
||||
During inference, the model generates tokens one at a time, feeding each predicted token back into the decoder to generate the next.
|
||||
This continues until a special \emph{end-of-sequence} token is produced.
|
||||
|
||||
Multiple decoder blocks can be stacked to increase model depth and expressivity.
|
||||
While originally developed for machine translation, the Transformer decoder has since been applied to a wide range of tasks,
|
||||
including time-series forecasting and biomedical modeling~\cite{wu_deep_nodate,zeng_are_2022}.
|
||||
Its ability to model complex, long-range dependencies without recurrence makes it well-suited to domains like biomedical time-series,
|
||||
where signals are often irregular and span diverse temporal resolutions.
|
||||
|
||||
While originally developed for machine translation, the Transformer architecture has since been applied
|
||||
successfully to a range of tasks, including time-series forecasting and biomedical data analysis(\cite{wu_deep_nodate,zeng_are_2022}).
|
||||
Its ability to model long-range dependencies without recurrence makes it particularly suited for biomedical time-series,
|
||||
where signals may be irregular, noisy, or span varying temporal scales.
|
||||
|
||||
\subsubsection{Convolutional Layers as Temporal Feature Extractors}
|
||||
For high-resolution time-series data, the input dimensionality can become large,
|
||||
|
||||
@@ -47,7 +47,4 @@ where false predictions can have severe consequences.
|
||||
This work aims to develop an ovulation predictor that is both accurate and generalizable while maintaining interpretability,
|
||||
allowing for insights into key variables and patterns influencing the prediction.
|
||||
|
||||
|
||||
|
||||
|
||||
% explain focus: improve explainability
|
||||
% research questions
|
||||
@@ -347,6 +347,8 @@ Model-specific architectural parameters are:
|
||||
\item \textbf{Number of Layers} — Depth of the LSTM stack.
|
||||
\end{itemize}
|
||||
The specific values and tuning ranges for these parameters are discussed in Section~\ref{subsubsec:hyperparameter_tuning}.
|
||||
A fixed dropout rate of \(p = 0.5\) has been selected for each LSTM-layer expect the last,
|
||||
as was shown to be an effective value~\cite{pham_dropout_2014}
|
||||
|
||||
\subsubsection{Transformer Architecture}\label{subsubsec:transformer_architecture}
|
||||
|
||||
@@ -375,6 +377,7 @@ Since the task does not require sequence-to-sequence modeling, only the encoder
|
||||
Its output—one vector per input token—is aggregated via 1D adaptive average pooling, resulting in a single vector representation per sequence.
|
||||
This vector is then passed through a linear projection layer to produce the two target outputs:
|
||||
fertility probability and ovulation-over indicator.
|
||||
Note, that in contrast to the original use case of machine-translation, not special tokens are necessary here, as we do not perform sequence-to-sequence prediction.
|
||||
|
||||
Figure~\ref{fig:methodology_transformer_architecture} shows the overall architecture.
|
||||
The stacked inputs and outputs indicate batch processing.
|
||||
@@ -386,6 +389,8 @@ Model-specific architectural parameters are:
|
||||
\item \textbf{Number of Encoder-Layers} — Number of encoder layers to stack
|
||||
\item \textbf{Number of Attention-Heads} — Number of attention heads to use in each layer
|
||||
\end{itemize}
|
||||
For the Transformer models, a fixed dropout of \(p = 0.1\) was selected, as proposed by\cite{vaswani_attention_2017} in
|
||||
the original paper.
|
||||
The specific values and tuning ranges for these parameters are discussed in Section~\ref{subsubsec:hyperparameter_tuning}.
|
||||
|
||||
\subsubsection{Temporal Convolution Layer}
|
||||
@@ -555,6 +560,13 @@ joint parameter space in a more efficient and principled manner.
|
||||
|
||||
\subsubsection{Training Details}\label{subsubsec:training_details}
|
||||
|
||||
The trainings were performed on the scientific compute cluster of Leipzig University on NVIDIA A30 GPUs.
|
||||
Due to the heterogeneity of both the models and the trainings, a dynamic batch size algorithm was used, that estimated
|
||||
the batch size dynamically during training to optimize the resource usage.
|
||||
The learning rate was scaled linearly with the batch size to allow for equivalent convergence behaviour~\cite{goyal_accurate_2018}
|
||||
The batch size was capped at 2048 to avoid OOM errors on the system.
|
||||
%TODO sources, for square rule
|
||||
|
||||
\subsection{Evaluation}\label{subsec:evaluation}
|
||||
|
||||
A variety of evaluation metrics have been defined, to best capture each aspect of the performance of an ovulation prediction.
|
||||
|
||||
Reference in New Issue
Block a user