## 3 Materials and Methods
### Experimental Design  
The first step in designing the experimentation was to select models that could be relevant for addressing the task of jewelry description. The presence of pretrained neural networks, enriched with extensive datasets, allows us to leverage their capabilities for en  
Figure 1: Example of jewelry pieces used in the final dataset: (**a**) Skye yellow gold and oval stones ring, (**b**) Arayat emerald necklace, and (**c**) Taurus white gold, diamonds earring. These images represent part of the training data used in this study. -induced results. Consequently, there is no need to build a neural network from the ground up. This approach of repurposing networks is known as Transfer Learning [37]. In the experimentation phase, various combinations of CNN and RNN architectures were explored to identify the optimal encoding and decoding structure for describing the accessory images within the database. Figure 2 provides an overview of the proposed architecture for generating a basic-level jewelry description. The encoder-decoder structure is selected due to its proven effectiveness in tasks involving short, structured textual outputs, such as image captioning [1], and considering the nature of the available dataset. In our case, the generated textual outputs follow predefined linguistic templates (basic, normal, and complete levels), which significantly reduces the complexity of the sequence modeling task. Furthermore, this architecture offers a favorable trade-off between interpretability, computational efficiency, and performance, especially in low-resource settings where training data and processing capabilities are limited. Although recent Transformer-based architectures [38] have achieved state-of-the-art results in large-scale image captioning tasks, they typically require significantly higher computational resources and larger datasets. For these reasons, the CNN-RNN model remains a solid and accessible solution for domain-specific applications that prioritize structured linguistic output and lightweight deployment. Three prominent architectures have been explored for CNNs, each with its unique characteristics: VGG-16 [39], InceptionV3 [40], and MobileNet [41]. On one hand, in the field of sequence modeling and predictions, RNNs have been instrumental. However, a common challenge faced by traditional RNNs is short-term memory loss, which hampers their ability to capture long-term dependencies within the data. To overcome this limitation, advanced models like Long Short-Term Memory (LSTM), see [42], and Gated Recurrent Unit (GRU), see [43], have been introduced. Both LSTM and GRU play pivotal roles in enhancing the linguistic finesse of the proposed architectures, making them proficient in describing various jewelry types in images with linguistic sensitivity. In the context of experimental design, considerations extended beyond the choice of CNN architecture and RNN type. Several critical parameters were systematically explored:  
* Number of neurons in the RNN: This parameter affects the model's capacity to capture complex linguistic patterns. The values considered were 64, 128, 256, 512, and 1024. * Batch size: This determines the number of samples processed per training iteration. Tested batch sizes included 4, 8, 32, 128, and 512. * Learning rate: This regulates the step size during the optimization process and is essential for effective model convergence. The explored values were 0.0001, 0.001, 0.01, and 0.1. Figure 2: Overview of the encoder–decoder model used for jewelry description. The CNN encoder (**a**) processes the input image of a jewelry item into a latent feature vector, which is then used to initialize the initial state of the RNN decoder (**b**) that generates the caption. * Optimizer: Optimizers influence parameter updates during training, affecting convergence speed and stability. The following optimizers were evaluated: Adam, Adagrad, Adadelta, and RMSProp. To reduce the risk of overfitting, an early stopping mechanism that monitors the validation loss is implemented.