Iniziare con l’AI

AI Iniziare

Come iniziare con un progetto di intelligenza artificiale

Sfondo su Unsplash

Background

Qui assumo che tu abbia letto il mio articolo precedente su Come imparare l’IA. Come promemoria, ti consiglio vivamente di consultare più di una risorsa (oltre alla documentazione) quando impari ML, preferibilmente un libro di testo adatto al tuo livello di apprendimento (principiante/intermedio/avanzato).

Che cos’è l’Ingegneria dell’IA

L’Ingegneria dell’IA è una nuova disciplina incentrata sullo sviluppo di strumenti, sistemi e processi per consentire l’applicazione dell’intelligenza artificiale in contesti reali [1]. In poche parole, l’Ingegneria dell’IA è l’applicazione delle migliori pratiche di ingegneria del software nel campo dell’IA.

IA vs. ML vs. DL

L’intelligenza artificiale (IA) è lo studio dei modi per costruire programmi e macchine intelligenti che possono risolvere creativamente i problemi, considerato da sempre un privilegio umano.

Machine learning (ML) è una sottoarea dell’IA che fornisce ai sistemi informatici la capacità di apprendere e migliorare automaticamente dall’esperienza senza essere programmati esplicitamente. In ML, ci sono una varietà di algoritmi che possono aiutare a risolvere i problemi.

Deep learning (DL) è una sottoarea del machine learning che utilizza reti neurali che hanno una struttura simile al sistema neurale umano.

Spesso c’è confusione tra i termini intelligenza artificiale e machine learning, che viene discusso nel processo di IA.

Nella scuola di specializzazione, un corso di IA avrà di solito una rapida revisione dei concetti fondamentali di ML (trattati in un corso precedente) e poi coprirà algoritmi di ricerca, teoria dei giochi, reti bayesiane, processi decisionali di Markov (MDP), apprendimento per rinforzo e altro ancora.

MIT Panoramica di IA e ML

Fonte: Toward Data Science

Definizione del progetto

Il primo passo nei progetti di IA è definire il problema.

In poche frasi, descrivi quanto segue:

  • Qual è l’obiettivo? Classificare, prevedere, rilevare, tradurre, ecc.
  • Descrivi l’insieme di dati, inclusi i parametri di input e i parametri di output.
  • Includi statistiche di riepilogo dei dati, inclusi i conteggi di eventuali parametri discreti o categorici e il parametro di output.
  • Sii disposto a condividere l’intero insieme di dati. Se non puoi condividere l’insieme di dati, dovresti evitare di utilizzare forum di discussione aperti come Slack o Discord.

Come scegliere un modello

Ogni nuovo ingegnere dell’IA si trova nella situazione di dover decidere quale modello utilizzare per un problema.

Ci sono molti modelli tra cui scegliere, ma di solito sono necessarie solo leggere modifiche per trasformare un modello di regressione in un modello di classificazione e viceversa.

Il processo di IA descrive il processo di ingegneria dell’IA per risolvere problemi di IA che è applicabile a quasi tutti i problemi di IA.

Comprensione degli algoritmi

Devi conoscere quali algoritmi sono disponibili per un determinato problema, come funzionano e come trarne il massimo vantaggio. Tuttavia, ciò non significa che devi codificare gli algoritmi da zero (progettare il tuo). È più importante sapere come utilizzare librerie e framework software robusti come scikit-learn e TensorFlow per risolvere problemi del mondo reale.

Ogni ingegnere software competente può implementare qualsiasi algoritmo.

Anche se sei un ingegnere AI/ML esperto, dovresti conoscere le prestazioni di modelli più semplici sui tuoi dati/problema.

In effetti, ci sono molti concetti che sono più importanti della conoscenza di come funzionano gli algoritmi di intelligenza artificiale o come implementarli (vedi Concetti fondamentali in Come imparare l’IA)

Risorse aggiuntive

Ho un repository GitHub con molte note e collegamenti ad articoli su AI/ML su vari argomenti LearnAI. Ho anche un articolo VoAGI su Risorse di apprendimento dell’IA.

Riferimenti

[1] Ingegneria dell’Intelligenza Artificiale

[2] J. Brownlee, “Processo di Apprendimento Automatico Applicato,” Machine Learning Mastery, 12 febbraio 2014.

[3] J. Brownlee, “Come Valutare gli Algoritmi di Apprendimento Automatico,” Machine Learning Mastery, 16 agosto 2020.

[4] Y. Hosni, “Breve Guida per la Selezione dei Modelli di Apprendimento Automatico,” MLearning.ai, 4 dicembre 2021.

[5] M. LeGro, “Interpretazione di Risultati Confusi di Regressione Lineare Multipla,” Towards Data Science, 12 settembre 2021.

[6] E. Alpaydin, Introduzione all’Apprendimento Automatico, 3a ed., MIT Press, ISBN: 978–0262028189, 2014.

[7] S. Russell e P. Norvig, Intelligenza Artificiale: Un Approccio Moderno, 4a ed., Upper Saddle River, NJ: Prentice Hall, ISBN: 978–0–13–604259–4, 2021.

[8] P. Bourque e R. E. Fairley, Guida al Corpo di Conoscenze dell’Ingegneria del Software, v. 3, IEEE, 2014.

S. Raschka e V. Mirjalili, Python Machine Learning, 2a ed., Packt, ISBN: 978–1787125933, 2017.

W. McKinney, Python for Data Analysis: Data Wrangling con Pandas, NumPy, e IPython, 2a ed., O’Reilly Media, ISBN: 978–1491957660, 2017.

S. Bird, E. Klein e E. Loper. Elaborazione del Linguaggio Naturale con Python – Analisi del Testo con il Natural Language Toolkit.

D. Jurafsky e J. H. Martin. 2008 (2a edizione). Elaborazione del Linguaggio e del Parlato. Prentice Hall. ISBN: 978–0131873216.

Y. Hosni, “Flusso di Lavoro di Apprendimento Automatico End-to-End (Parte 1),” MLearning.ai, 11 dicembre 2021.

Y. Hosni, “Flusso di Lavoro di Apprendimento Automatico End-to-End (Parte 2),” MLearning.ai, 25 dicembre 2021.

I. Kilic, “Terminologia della Scienza dei Dati – IA / ML / DL,” VoAGI, 31 dicembre 2021.

C. Gulmez, “Come Diventare uno Sviluppatore di Intelligenza Artificiale,” VoAGI, 1 gennaio 2022.

D. Gong, “Guida Pratica alla Regressione Lineare,” Towards Data Science, 18 settembre 2021.

Y. Sandeepa, “Regressione per la Classificazione,” Towards Data Science, 13 settembre 2021.

A. Iglesias Moreno, “Progetto di Apprendimento Automatico End-to-End: Churn dei Clienti Telco,” Towards Data Science, 23 novembre 2021.

M. Di Pietro, “Apprendimento Profondo con Python: Reti Neurali (tutorial completo),” Towards Data Science, 17 dicembre 2021.

D. Poulopoulos, “Come Iniziare a Contribuire ai Progetti Open-Source,” Towards Data Science, 30 ottobre 2021.