L'open source è un terreno fertile per il software trasformativo, soprattutto in settori all'avanguardia come l'intelligenza artificiale (AI) e l'apprendimento automatico. L'etica dell'open source e gli strumenti di collaborazione rendono più facile per i team condividere codice e dati e basarsi sul successo degli altri.
Questo articolo analizza 13 progetti open source che stanno rivoluzionando il mondo dell'intelligenza artificiale e dell'apprendimento automatico. Alcuni sono pacchetti software elaborati che supportano nuovi algoritmi, altri sono più sottilmente trasformativi. Tutti meritano un'occhiata.
TensorFlow e PyTorch
Un elenco di strumenti open source per l'intelligenza artificiale e l'apprendimento automatico non sarebbe completo senza un cenno a TensorFlow e PyTorch. Separatamente e insieme, questi framework OG supportano alcune delle ricerche più sperimentali e importanti nel campo dell'apprendimento automatico e dell'intelligenza artificiale. Almeno alcuni dei progetti discussi in questo articolo li utilizzano come elementi costitutivi.
FauxPilot
I programmatori che hanno bisogno di un po' di aiuto per la programmazione possono ottenerlo da FauxPilot. Il sistema si allena sul codice di produzione esistente e impara abbastanza da esso per fare commenti e suggerimenti strutturati. Il progetto si ispira a GitHub Copilot, ma FauxPilot consente di selezionare i repository da utilizzare per l'addestramento. Questo ulteriore livello di controllo impedisce l'utilizzo di frammenti di codice provenienti da fonti che potrebbero non approvarne l'uso. Se si scelgono le fonti di formazione e le si limita a quelle con autorizzazioni e licenze appropriate, è più probabile che la guida alla programmazione e gli snippet utilizzati siano puliti e affidabili.
DALL-E
Uno dei modi più semplici per farsi un'idea di come "pensano" i modelli di apprendimento automatico è iniziare a inserire le parole in DALL-E, un modello aperto e molto grande costruito a partire da immagini e descrizioni testuali raccolte in Internet. Se si inserisce una parola, ne esce un'immagine che DALL-E considera corrispondente. Progetti open source come DALL-E Playground e DALL-E Mini rendono più facile la sperimentazione del modello. È in parte un gioco e in parte un portale nella mente di un algoritmo AI.
YOLOv7
Il rilevamento di oggetti in tempo reale, ovvero la ricerca di oggetti nelle immagini, è un settore difficile per l'intelligenza artificiale. Ma è anche fondamentale per cose come le auto a guida autonoma, la robotica e i dispositivi di assistenza che devono raccogliere e trasmettere informazioni ambientali accurate. YOLOv7 è uno degli strumenti open source per il rilevamento degli oggetti più veloci e accurati. È sufficiente fornire allo strumento una raccolta di immagini piene di oggetti per vedere cosa succede.
DeepFaceLab
I deepfake sono video e immagini creati, alterati o sintetizzati con l'aiuto del deep learning. L'esempio più comune è quello di scambiare il volto di una celebrità o di un politico in un video o in un'immagine esistente, di solito a scopo umoristico, ma talvolta anche per scopi più loschi. DeepFaceLab è una tecnologia di deepfake open source che gira su Python. Oltre a scambiare un volto con un altro, può essere utilizzata per rimuovere le rughe e altri segni dell'età e dell'esperienza.
PaddleNLP
I motori di elaborazione del linguaggio naturale (NLP) eseguono ricerche neurali e analisi del sentiment, quindi estraggono e presentano le informazioni per gli utenti umani e automatici. Sebbene a volte ancora goffa, questa tecnologia sta diventando abbastanza sofisticata da poter essere utilizzata in una varietà di applicazioni e domini (Alexa ne è solo un esempio). PaddleNLP è una popolare libreria NLP open source che può essere utilizzata per raccogliere il sentiment delle ricerche e segnalare le entità importanti.
MindsDB
Il percorso tradizionale per il successo dell'IA consiste nell'archiviare i dati in un database, quindi estrarli per inviarli a un algoritmo di apprendimento automatico separato. MindsDB è un server SQL che integra gli algoritmi di apprendimento automatico direttamente nel database. L'apprendimento automatico nel database, ovvero l'analisi dei dati dove sono già memorizzati, è un modo rapido ed efficiente per accelerare i flussi di lavoro di apprendimento automatico.
Image Super-Resolution (ISR)
Più dettagli sono sempre meglio nelle fotografie e Image Super-Resolution può aggiungere ancora più dettagli aumentando la risoluzione dell'immagine. Questo strumento open source utilizza un modello di apprendimento automatico che può essere addestrato per individuare i dettagli in un'immagine a bassa risoluzione. Con un buon set di addestramento, il modello può produrre dettagli accurati e un'immagine più nitida.
DeepPavlov
Molte aziende e grandi società stanno sostituendo le prime linee del servizio clienti con i chatbot, il che significa che le macchine stanno imparando a tenere una conversazione. DeepPavlov mette insieme strumenti di base per l'apprendimento automatico come TensorFlow, Keras e PyTorch per creare chatbot da cui imparare. I risultati sono bizzarri, strani e talvolta, con il giusto addestramento, anche utili.
Blender
Il modo migliore per convertire modelli tridimensionali in scene riccamente renderizzate è accendere Blender. Sebbene molti lo considerino uno strumento per registi e animatori, Blender è anche un ottimo esempio di AI applicata. Grazie a un'interfaccia ricca e a numerosi plug-in, è possibile creare complessi filmati o panorami cinematografici. Basta un po' di creatività e la commissione per le nomination all'Oscar si farà presto sentire. Le IA non chiederanno nemmeno una parte del merito.
OpenCV
Una delle basi più fertili per esplorare la visione artificiale è OpenCV, la libreria open source di computer vision. Include molti algoritmi popolari per l'identificazione di oggetti nelle immagini digitali, oltre a routine specializzate come quella in grado di individuare e leggere le targhe delle automobili.
Robocode
Robocode è come Hunger Games per i vostri algoritmi. Questo gioco di programmazione basato su Java permette al vostro carro armato di combattere contro altri in una battaglia per il dominio. È un passatempo divertente e potrebbe anche essere utile per testare nuove strategie per i veicoli autonomi.
Di - Peter Wayner - InfoWorld