Optuna
software
Logo
Logo
GenereAutomazione dello sviluppo
SviluppatorePreferred Networks
Data prima versione14 gennaio 2020
Ultima versione16 giugno 2025
Sistema operativoMultipiattaforma
LinguaggioPython
LicenzaMIT
(licenza libera)
Linguainglese
Sito weboptuna.org/

Optuna è un framework open source realizzato in Python per l'ottimizzazione di modelli di apprendimento automatico (in inglese machine learning (ML)). Realizzato per automatizzare il processo di scelta degli iperparametri al fine di ottimizzare le prestazioni, Optuna può essere integrato con librerie quali PyTorch, scikit-learn, e TensorFlow[1].

Optuna è stato introdotto nel 2018 by Preferred Networks (PFN), una startup giapponese che lavora su applicazioni pratiche di apprendimento profondo (in inglese deep learning (DL)), sviluppando tecnologie e librerie con applicazioni che variano tra diversi settori, tra cui trasporti[2], manufatturiero[3], medicina[4], and robotica[5]. La versione beta di Optuna è stata pubblicata alla fine del 2018, mentre la prima versione stabile è stata annunciata a gennaio 2020[1].

Ottimizzazione degli iperparametri

modifica
Ottimizzazione degli iperparametri usando la ricerca a griglia

L'ottimizzazione degli iperparametri è il processo che viene comunemente utilizzato quando si allenano modelli di apprendimento automatico per migliorarne le prestazioni e catturare lo schema dei dati. Si è osservato che tale processo è rilevante quando si ha a che fare con problemi su larga scala o a risorse limitate, in quanto migliora l'accuratezza del problema, riduce l'overfitting e diminuisce il tempo dell'allenamento[1].

L'ottimizzazione degli iperparametri riguarda l'identificazione della configurazione ottimale dei parametri che da definirsi prima che l'allenamento inizi, e che quindi non vengono definiti durante l'allenamento dei dati stessi. Questi valori possono essere, per esempio, il learning rate, il numero di strati (in inglese layers) o di neuroni, l'intensità della regolarizzazione, la profondità dell'albero, e altri che dipendono dal tipo di algoritmo (classificazione, regressione, clustering, ecc.)[6].

Questo può migliorare la generalizzazione del modello e le sue prestazioni su diversi set di dati. Si è visto che una sfida rilevante si presenta quando lo spazio degli iperparametri aumenta, in quanto il processo può diventare computazionalmente costoso. Esistono metodi (come la ricerca a griglia, la ricerca casuale o l'ottimizzazione bayesiana) che semplificano questo processo di esplorazione dello spazio degli iperparametri[1].

Caratteristiche

modifica

Optuna è progettato per ottimizzare gli iperparametri del modello. Consente di effettuare ricerche in spazi ampi e di interrompere l'allenamento quando i risultati non mostrano miglioramenti significativi del modello, nonché di parallelizzare le ricerche degli iperparametri su più processi. Optuna è modulabile, e consente quindi di definire diverse configurazioni per la ricerca degli iperparametri. Questo rende il processo personalizzabile, in quanto è possibile scegliere quali iperparametri ottimizzare e con quale modalità in fase di esecuzione. Ciò significa che i valori da esplorare per gli iperparametri (cioè lo spazio di ricerca) possono essere definiti durante la scrittura del codice, anziché in anticipo[1].

Ottimizzazione degli iperparametri usando Stimatori Parzen a Struttura ad Albero

Campionamento

modifica

Optuna sfrutta algoritmi consolidati per eseguire l'ottimizzazione degli iperparametri per il loro campionamento. I campionatori riducono progressivamente lo spazio di ricerca. Esempi sono gli algoritmi basati sul processo gaussiano, un processo per modellare la funzione obiettivo[7], il tree-structured parzen estimator (TPE), ovvero un metodo di ottimizzazione basato sul modello che stima la funzione obiettivo e seleziona i migliori iperparametri[8], e la ricerca casuale, un approccio di ottimizzazione di base utilizzato per il benchmarking[9].

Interruzione anticipata

modifica
Ottimizzazione Bayesiana di una funzione (nero) con un processo gaussiano (viola). Tre funzioni di acquisizione (blu).

Optuna include una funzione di interruzione anticipata (in inglese pruning), che viene sfruttata per interrompere l'allenamento quando i risultati non mostrano miglioramenti significativi nel modello, evitando così computazioni inutili. Viene utilizzato per modelli con lunghi tempi di addestramento, al fine di risparmiare tempo e risorse computazionali. Optuna sfrutta tecniche come gli algoritmi di pruning basati sulla mediana o su soglie[1][10].

Scalabilità

modifica

Optuna è progettato per scalare con risorse di calcolo distribuite, supportando l'esecuzione in parallelo. Questa funzione consente agli utenti di eseguire prove di ottimizzazione su più processori o macchine[11].

Integrazione con librerie di terze parti

modifica

Optuna può essere integrata con librerie e framework di ML[1]:

  • Catboost
  • Dask
  • fastai
  • Keras
  • LightGBM
  • MLflow
  • PyTorch
  • PyTorch Ignite
  • PyTorch Lightning
  • TensorBoard
  • TensorFlow
  • tf.keras
  • Weights & Biases
  • XGBoost

Optuna è inoltre dotato di una dashboard per la visualizzazione in tempo reale. Permette di monitorare, attraverso grafici e tabelle, il processo di ottimizzazione e l'importanza degli iperparametri[12].

Applicazioni

modifica

Optuna è stato realizzato per essere agnostico rispetto al tipo di framework, quindi può essere utilizzato con qualunque tipo di framework di ML o DL[1].

Processo tradizionale per l'ottimizzazione degli iperparametri per l'allenamento di foreste casuali utilizzando Optuna

Machine learning

modifica

Optuna può essere utilizzato per ottimizzare gli iperparametri di modelli di ML. Alcuni esempi sono:

Deep learning

modifica

Optuna può essere utilizzato anche durante l'allenamento di modelli di DL. Può essere utilizzato durante l'allenamento di reti neurali (in inglese neural netowrks (NN)), per ottimizzare learning rate, batch size, e il numero di strati nascosti. Per esempio, può essere utilizzato per:

  • Reti neurali convoluzionali (in inglese convolutional neural networks (CNNs)), per la classificazione di immagini, riconoscimento di oggetti, e segmentazione semantica[19].
  • Reti neurali ricorsive (in inglese recurrent neural networks (RNNs)), per compiti basati su sequenze, come la previsione di serie temporali e l'elaborazione del linguaggio naturale[20].
  • Transformers, per compiti di elaborazione del linguaggio naturale (in inglese natural language processing (NLP)) come la classificazione dei testi, l'analisi del sentiment e la traduzione automatica[21].

Domini

modifica

Optuna ha trovato applicazione in vari studi di ricerca e implementazioni industriali in diversi ambiti applicativi[2][3][4][5].

Medicina

modifica

Nel settore sanitario, Optuna viene sfruttato per l'analisi delle immagini per ottimizzare i modelli DL per il rilevamento dei tumori[22][23], per l'identificazione delle malattie[24], per l'esecuzione della segmentazione semantica multi-organo[25] e per l'analisi di immagini radiologiche. Può essere sfruttato anche per la previsione delle malattie, in particolare per migliorare l'accuratezza dei modelli predittivi per la diagnosi e gli esiti dei trattamenti[26]. Trova applicazione anche nella genomica, per l'analisi dei dati per prevedere le malattie genetiche e per l'identificazione di variazioni genetiche[27].

Finanza

modifica

Optuna viene utilizzato per ottimizzare i modelli anche nel settore finanziario per il trading algoritmico. Data la sua capacità di gestire ampi intervalli di parametri e strutture di modelli complessi, viene utilizzato per prevedere i movimenti del mercato[28][29]. In particolare, viene sfruttato per l'analisi e la previsione del rischio finanziario. I temi trattati sono i rischi di credito, di mercato e operativi[29].

Sistemi autonomi

modifica

Optuna viene utilizzato nei sistemi autonomi in tempo reale per la robotica[5] per supportare il processo decisionale in ambienti dinamici. Viene sfruttato anche nel contesto delle auto a guida autonoma per ottimizzare il modello per la navigazione in sicurezza in ambienti complessi. Ad esempio, Optuna può essere utilizzato in scenari in cui è necessario valutare il tasso e la gravità degli incidenti[30] o per affrontare il problema degli attacchi informatici nella rete dovuti a potenziali vulnerabilità che potrebbero verificarsi[31][32].

Elaborazione del Linguaggio Naturale

modifica

Optuna può essere applicato anche in NLP, ad esempio per classificare un testo scritto in categorie (ad esempio, spam vs. non spam, topic modeling)[33]. Un altro compito è l'analisi del sentimenti in un testo, particolarmente sfruttato per l'analisi dei contenuti dei social media e delle recensioni dei clienti[34].

Apprendimento per rinforzo

modifica

Per quanto riguarda l'apprendimento per rinforzo (in inglese reinforced learning (RF), Optuna viene utilizzato nel gaiming e negli ambienti virtuali per migliorare le prestazioni del modello, nella robotica per ottimizzare i processi decisionali nei sistemi di esecuzione e navigazione, e nel campo dei veicoli autonomi per ottimizzare i modelli di RF al fine di ottenere una maggiore sicurezza e una strategia di navigazione più efficiente[35].

Note

modifica
  1. ^ a b c d e f g h Takuya Akiba, Shotaro Sano, Toshihiko Yanase, Takeru Ohta e Masanori Koyama, Optuna: A Next-generation Hyperparameter Optimization Framework, in Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining, KDD '19, New York, NY, USA, Association for Computing Machinery, 25 luglio 2019, pp. 2623–2631, DOI:10.1145/3292500.3330701, ISBN 978-1-4503-6201-6.
  2. ^ a b Zhaofei Wang, Hao Li e Qiuping Wang, An Approach to Truck Driving Risk Identification: A Machine Learning Method Based on Optuna Optimization, in IEEE Access, vol. 13, 2025, pp. 42723–42732, DOI:10.1109/ACCESS.2025.3547445, ISSN 2169-3536 (WC · ACNP).
  3. ^ a b Yifan Li, Yanpeng Cao, Jintang Yang, Mingyu Wu, Aimin Yang e Jie Li, Optuna-DFNN: An Optuna framework driven deep fuzzy neural network for predicting sintering performance in big data, in Alexandria Engineering Journal, vol. 97, 1º giugno 2024, pp. 100–113, DOI:10.1016/j.aej.2024.04.026, ISSN 1110-0168 (WC · ACNP).
  4. ^ a b Chayut Pinichka, Srilert Chotpantarat, Kyung Hwa Cho e Wattasit Siriwong, Comparative analysis of SWAT and SWAT coupled with XGBoost model using Optuna hyperparameter optimization for nutrient simulation: A case study in the Upper Nan River basin, Thailand, in Journal of Environmental Management, vol. 388, 1º luglio 2025, pp. 126053, DOI:10.1016/j.jenvman.2025.126053, ISSN 0301-4797 (WC · ACNP).
  5. ^ a b c Jiancong Huang, Juan Rojas, Matthieu Zimmer, Hongmin Wu, Yisheng Guan e Paul Weng, Hyperparameter Auto-Tuning in Self-Supervised Robotic Learning, in IEEE Robotics and Automation Letters, vol. 6, n. 2, 8 marzo 2021, pp. 3537–3544, DOI:10.1109/LRA.2021.3064509, ISSN 2377-3766 (WC · ACNP).
  6. ^ Li Yang e Abdallah Shami, On hyperparameter optimization of machine learning algorithms: Theory and practice, in Neurocomputing, vol. 415, 20 novembre 2020, pp. 295–316, DOI:10.1016/j.neucom.2020.07.061, ISSN 0925-2312 (WC · ACNP).
  7. ^ Ahad Hasan Tanim, Corinne Smith-Lewis, Austin R. J. Downey, Jasim Imran e Erfan Goharian, Bayes_Opt-SWMM: A Gaussian process-based Bayesian optimization tool for real-time flood modeling with SWMM, in Environmental Modelling & Software, vol. 179, 1º agosto 2024, pp. 106122, DOI:10.1016/j.envsoft.2024.106122, ISSN 1364-8152 (WC · ACNP).
  8. ^ (EN) Yoshihiko Ozaki, Yuki Tanigaki, Shuhei Watanabe, Masahiro Nomura e Masaki Onishi, Multiobjective Tree-Structured Parzen Estimator, in Journal of Artificial Intelligence Research, vol. 73, 8 aprile 2022, pp. 1209–1250, DOI:10.1613/jair.1.13188, ISSN 1076-9757 (WC · ACNP).
  9. ^ James Bergstra e Yoshua Bengio, Random search for hyper-parameter optimization, in J. Mach. Learn. Res., vol. 13, null, 1º febbraio 2012, pp. 281–305, ISSN 1532-4435 (WC · ACNP).
  10. ^ (EN) Martin Wistuba, Nicolas Schilling e Lars Schmidt-Thieme, Hyperparameter Search Space Pruning – A New Component for Sequential Model-Based Hyperparameter Optimization, in Annalisa Appice, Pedro Pereira Rodrigues, Vítor Santos Costa, João Gama, Alípio Jorge e Carlos Soares (a cura di), Machine Learning and Knowledge Discovery in Databases, Cham, Springer International Publishing, 2015, pp. 104–119, DOI:10.1007/978-3-319-23525-7_7, ISBN 978-3-319-23525-7.
  11. ^ Juan Parra-Ullauri, Xunzheng Zhang, Anderson Bravalheri, Reza Nejabati e Dimitra Simeonidou, Federated Hyperparameter Optimisation with Flower and Optuna, in Proceedings of the 38th ACM/SIGAPP Symposium on Applied Computing, SAC '23, New York, NY, USA, Association for Computing Machinery, 7 giugno 2023, pp. 1209–1216, DOI:10.1145/3555776.3577847, ISBN 978-1-4503-9517-5.
  12. ^ (EN) Hussain Almarzooq e Umair bin Waheed, Automating hyperparameter optimization in geophysics with Optuna: A comparative study, in Geophysical Prospecting, vol. 72, n. 5, 21 maggio 2024, pp. 1778–1788, DOI:10.1111/1365-2478.13484, ISSN 1365-2478 (WC · ACNP).
  13. ^ (EN) Lior Rokach e Oded Maimon, Decision Trees, in Oded Maimon e Lior Rokach (a cura di), Data Mining and Knowledge Discovery Handbook, Boston, MA, Springer US, 2005, pp. 165–192, DOI:10.1007/0-387-25465-x_9, ISBN 978-0-387-25465-4. URL consultato l'8 luglio 2025.
  14. ^ Shyam R, Sai Sanjay Ayachit, Vinayak Patil e Anubhav Singh, Competitive Analysis of the Top Gradient Boosting Machine Learning Algorithms, in 2020 2nd International Conference on Advances in Computing, Communication Control and Networking (ICACCCN), 18 dicembre 2020, pp. 191–196, DOI:10.1109/ICACCCN51052.2020.9362840.
  15. ^ Derek A. Pisner e David M. Schnyer, Chapter 6 - Support vector machine, in Andrea Mechelli e Sandra Vieira (a cura di), Machine Learning, Academic Press, 1º gennaio 2020, pp. 101–121, ISBN 978-0-12-815739-8. URL consultato l'8 luglio 2025.
  16. ^ Zhongheng Zhang, Introduction to machine learning: k-nearest neighbors, in Annals of Translational Medicine, vol. 4, n. 11, 14 giugno 2016, pp. 218, DOI:10.21037/atm.2016.03.37, ISSN 2305-5839 (WC · ACNP), PMC 4916348, PMID 27386492.
  17. ^ G. Tripepi, K. J. Jager, F. W. Dekker e C. Zoccali, Linear and logistic regression analysis, in Kidney International, vol. 73, n. 7, 1º aprile 2008, pp. 806–810, DOI:10.1038/sj.ki.5002787, ISSN 0085-2538 (WC · ACNP).
  18. ^ Feng-Jen Yang, An Implementation of Naive Bayes Classifier, in 2018 International Conference on Computational Science and Computational Intelligence (CSCI), 12 dicembre 2018, pp. 301–306, DOI:10.1109/CSCI46756.2018.00065.
  19. ^ Zewen Li, Fan Liu, Wenjie Yang, Shouheng Peng e Jun Zhou, A Survey of Convolutional Neural Networks: Analysis, Applications, and Prospects, in IEEE Transactions on Neural Networks and Learning Systems, vol. 33, n. 12, 10 giugno 2021, pp. 6999–7019, DOI:10.1109/TNNLS.2021.3084827, ISSN 2162-2388 (WC · ACNP).
  20. ^ (EN) Anthony L. Caterini e Dong Eui Chang, Recurrent Neural Networks, in Anthony L. Caterini e Dong Eui Chang (a cura di), Deep Neural Networks in a Mathematical Framework, Cham, Springer International Publishing, 23 marzo 2018, pp. 59–79, DOI:10.1007/978-3-319-75304-1_5, ISBN 978-3-319-75304-1. URL consultato l'8 luglio 2025.
  21. ^ Anthony Gillioz, Jacky Casas, Elena Mugellini e Omar Abou Khaled, Overview of the Transformer-based Models for NLP Tasks, in 2020 15th Conference on Computer Science and Information Systems (FedCSIS), 6 settembre 2020, pp. 179–183, DOI:10.15439/2020F20.
  22. ^ R. Bhuvanya, T.Kujani, S.Manoj Kumaran e N. Lokesh Kumar, OptNet: Innovative Model for Early Lung Cancer Diagnosis integrating TabNet and Optuna, in 2024 International Conference on Electronic Systems and Intelligent Computing (ICESIC), 22 novembre 2024, pp. 174–179, DOI:10.1109/ICESIC61777.2024.10846378.
  23. ^ Prabhat Kumar Sahu e Taiyaba Fatma, Optimized Breast Cancer Classification Using PCA-LASSO Feature Selection and Ensemble Learning Strategies With Optuna Optimization, in IEEE Access, vol. 13, 7 febbraio 2025, pp. 35645–35661, DOI:10.1109/ACCESS.2025.3539746, ISSN 2169-3536 (WC · ACNP).
  24. ^ (EN) P. Deepan, G. Prabhakar Reddy, M. Arsha Reddy, R. Vidya e S. Dhiravidaselvi, Maximizing Accuracy in Alzheimer’s Disease Prediction: A Optuna Hyper Parameter Optimization Strategy Using MRI Images, in Pronaya Bhattacharya, Haipeng Liu, Pushan Kumar Dutta e Joel J. P. C. Rodrigues (a cura di), Revolutionizing Healthcare 5.0: The Power of Generative AI: Advancements in Patient Care Through Generative AI Algorithms, Cham, Springer Nature Switzerland, 2024, pp. 77–91, DOI:10.1007/978-3-031-75771-6_5, ISBN 978-3-031-75771-6. URL consultato l'8 luglio 2025.
  25. ^ (EN) Thavavel Vaiyapuri, An Optuna-Based Metaheuristic Optimization Framework for Biomedical Image Analysis, in Engineering, Technology & Applied Science Research, vol. 15, n. 4, 1º agosto 2025, pp. 24382–24389, DOI:10.48084/etasr.11234, ISSN 1792-8036 (WC · ACNP).
  26. ^ Polipireddy Srinivas e Rahul Katarya, hyOPTXg: OPTUNA hyper-parameter optimization framework for predicting cardiovascular disease using XGBoost, in Biomedical Signal Processing and Control, vol. 73, 1º marzo 2022, pp. 103456, DOI:10.1016/j.bspc.2021.103456, ISSN 1746-8094 (WC · ACNP).
  27. ^ (EN) Zijie Shen, Enhui Shen, Qian-Hao Zhu, Longjiang Fan, Quan Zou e Chu-Yu Ye, GSCtool: A Novel Descriptor that Characterizes the Genome for Applying Machine Learning in Genomics, in Advanced Intelligent Systems, vol. 5, n. 12, 2023, pp. 2300426, DOI:10.1002/aisy.202300426, ISSN 2640-4567 (WC · ACNP).
  28. ^ Hongyi Shui, Xinye Sha, Baizheng Chen e Jiajie Wu, Stock weighted average price prediction based on feature engineering and Lightgbm model, in Proceedings of the 2024 International Conference on Digital Society and Artificial Intelligence, DSAI '24, New York, NY, USA, Association for Computing Machinery, 26 agosto 2024, pp. 336–340, DOI:10.1145/3677892.3677945, ISBN 979-8-4007-0983-8.
  29. ^ a b Deepak Garg, Nitin Arvind Shelke, Gauri Kitukale e Nishka Mehlawat, Leveraging Financial Data and Risk Management in Banking sector using Machine Learning, in 2024 IEEE 9th International Conference for Convergence in Technology (I2CT), 5 aprile 2024, pp. 1–6, DOI:10.1109/I2CT61223.2024.10544336.
  30. ^ (EN) Soheil Rezashoar, Ehsan Kashi e Soheila Saeidi, A hybrid algorithm based on machine learning (LightGBM-Optuna) for road accident severity classification (case study: United States from 2016 to 2020), in Innovative Infrastructure Solutions, vol. 9, n. 8, 26 luglio 2024, pp. 319, DOI:10.1007/s41062-024-01626-y, ISSN 2364-4184 (WC · ACNP).
  31. ^ (EN) Jayesh Jha, Jatin Yadav e Haider Naqvi, MILCCDE: A Metaheuristic Improved Decision-Based Ensemble Framework for Intrusion Detection in Autonomous Vehicles, in Jagdish Chand Bansal, Prashant K. Jamwal e Shahid Hussain (a cura di), Sustainable Computing and Intelligent Systems, Singapore, Springer Nature, 2025, pp. 255–267, DOI:10.1007/978-981-96-3311-1_21, ISBN 978-981-96-3311-1.
  32. ^ Nishank Parekh, Arzob Sen, P. Rajasekaran, J. D. Dorathi Jayaseeli e P. Robert, Network Intrusion Detection System Using Optuna, in 2024 International Conference on IoT Based Control Networks and Intelligent Systems (ICICNIS), 17 dicembre 2024, pp. 312–318, DOI:10.1109/ICICNIS64247.2024.10823298.
  33. ^ Nadya Alinda Rahmi, Sarjon Defit e Okfalisa, The Use of Hyperparameter Tuning in Model Classification: A Scientific Work Area Identification, in JOIV : International Journal on Informatics Visualization, vol. 8, n. 4, 31 dicembre 2024, pp. 2181, DOI:10.62527/joiv.8.4.3092, ISSN 2549-9904 (WC · ACNP).
  34. ^ Akmar Efendi, Iskandar Fitri e Gunadi Widi Nurcahyo, Improvement of Machine Learning Algorithms with Hyperparameter Tuning on Various Datasets, in 2024 International Conference on Future Technologies for Smart Society (ICFTSS), 7 agosto 2024, pp. 75–79, DOI:10.1109/ICFTSS61109.2024.10691354.
  35. ^ B Ravi Kiran, Ibrahim Sobh, Victor Talpaert, Patrick Mannion, Ahmad A. Al Sallab, Senthil Yogamani e Patrick Pérez, Deep Reinforcement Learning for Autonomous Driving: A Survey, in IEEE Transactions on Intelligent Transportation Systems, vol. 23, n. 6, 9 febbraio 2021, pp. 4909–4926, DOI:10.1109/TITS.2021.3054625, ISSN 1558-0016 (WC · ACNP).

Bibliografia

modifica

Voci correlate

modifica

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

📚 Artikel Terkait di Wikipedia

Ottimizzazione degli iperparametri

2020, ISBN 978-0-262-04379-3. ^ Li Yang e Abdallah Shami, On hyperparameter optimization of machine learning algorithms: Theory and practice, in Neurocomputing