Reti neurali ed Intelligenza Artificiale per principianti

 

Una rete neurale è un modello di intelligenza artificiale (IA – in inglese AI: Artificial Intelligence) che cerca di imitare il modo in cui il cervello umano elabora le informazioni; semplificando, un modello di rete neurale è un insieme di regole matematiche e algoritmi* che descrivono come una rete neurale deve elaborare le informazioni per risolvere un problema specifico. Una rete neurale è composta da una serie di nodi (chiamati neuroni) che sono connessi tra loro.  In generale, una rete neurale è addestrata su un insieme di dati per imparare a riconoscere schemi e relazioni tra i dati. Una volta addestrata, la rete neurale può utilizzare ciò che ha imparato per fare previsioni su nuovi dati che non ha ancora visto.
Per addestrare una rete neurale, si utilizzano algoritmi di apprendimento automatico per ottimizzare i pesi** dei collegamenti tra i neuroni in modo che la rete possa fare previsioni accurate sui nuovi dati.
In generale, le reti neurali sono utilizzate in una vasta gamma di applicazioni, tra cui la classificazione delle immagini, la generazione di testo, la traduzione automatica e la guida autonoma dei veicoli.

*   una successione di istruzioni o passi che definiscono le operazioni da eseguire sui dati per ottenere i risultati
** il peso indica il valore di una connessione rispetto ad un’altra, in pratica quanto è forte la connessione tra un termine ed i termini a lui collegati

Link alle immagini “The AI Whisperer – Il sussurratore di IA

IA per generare testi: ChatGPTIA per controllare testiIA per generare (e modificare) immaginiAltre applicazioniLink utili

ChatGPT è un modello di linguaggio artificiale sviluppato da OpenAIaddestrato per interagire in modo conversazionale. La sua funzione principale, infatti, è quella di generare testo in risposta alle domande degli utenti, basandosi sull’enorme quantità di dati a cui sono stato addestrato. Il formato del dialogo gli consente di rispondere a domande successive, ammettere i propri errori, contestare premesse errate e rifiutare richieste inappropriate. Per esempio, se chiedo a ChatGPT: “Puoi dirmi come trovare i migliori ristoranti a Bologna in Italia?” la risposta che ottengo è la seguente:

Ci sono diversi modi per trovare i migliori ristoranti a Bologna, in Italia:

  1. Utilizza un motore di ricerca: puoi utilizzare un motore di ricerca come Google per trovare consigli sui ristoranti a Bologna. Basta inserire una query di ricerca come “migliori ristoranti di Bologna” o “ristoranti di Bologna” e sfogliare i risultati. Puoi anche utilizzare filtri e altri strumenti forniti dal motore di ricerca per restringere i risultati in base alle tue preferenze (ad es. cucina, fascia di prezzo, posizione).
  2. Controlla i siti web di recensioni online: siti web come TripAdvisor, Yelp e Zomato consentono agli utenti di lasciare recensioni e valutazioni per i ristoranti. Puoi utilizzare questi siti web per trovare consigli sui ristoranti a Bologna cercando la città e filtrando i risultati in base a valutazioni e altri criteri.
  3. Chiedi a gente del posto o amici: se conosci qualcuno che ha visitato Bologna o vive in città, potrebbe essere in grado di consigliarti dei buoni ristoranti. Puoi anche provare a chiedere consigli alla gente del posto o ad altri turisti quando sei a Bologna.
  4. Utilizza un sito Web o un’app per la prenotazione di ristoranti: siti Web e app come OpenTable, Resy e TheFork ti consentono di prenotare un tavolo nei ristoranti e forniscono anche valutazioni e recensioni di altri utenti. Puoi utilizzare queste piattaforme per trovare e prenotare un tavolo in un ristorante a Bologna.

Nel complesso, il modo migliore per trovare un buon ristorante a Bologna dipenderà dalle tue preferenze personali e da ciò che stai cercando. L’utilizzo di una combinazione di questi metodi può aiutarti a trovare un ristorante che soddisfi le tue esigenze e i tuoi gusti.”

Se invece chiedo di suggerirmi la ricetta della besciamella, Google mi risponde con un elenco di siti contenenti delle ricette di besciamella, mentre da ChatGPT ottengo:

Sicuro! Ecco una ricetta per la besciamella:

Ingredienti:

  • 3 cucchiai di burro non salato
  • 3 cucchiai di farina per tutti gli usi
  • 2 tazze di latte
  • Sale e pepe a piacere
  • noce moscata, a piacere (opzionale)

Istruzioni:

  1. Sciogli il burro in una casseruola media a fuoco medio. Una volta sciolto il burro, aggiungere la farina e mescolare fino a quando il composto non forma una pasta.
  2. Aggiungere lentamente il latte nella padella, sbattendo costantemente per evitare grumi. Portare il composto a ebollizione, quindi ridurre il fuoco al minimo e cuocere a fuoco lento per 3-5 minuti o fino a quando la salsa non si addensa.
  3. Condisci la salsa con sale, pepe e noce moscata (se la usi).
  4. Utilizzare la salsa immediatamente o trasferirla in un contenitore ermetico e conservare in frigorifero fino al momento dell’uso. La salsa si conserva in frigorifero per un massimo di 3 giorni.

La salsa besciamella è una classica salsa francese che viene spesso utilizzata come base per altri piatti, come lasagne e gratin. È facile da preparare e può essere utilizzato in una varietà di piatti per aggiungere sapore e ricchezza. Divertiti!”

 

Continuando su questo esempio, se affino la domanda, specificando le quantità che mi servono e ponendo ulteriori domande posso ottenere un dialogo sempre più «completo» e approfondito, ricordandoci che la qualità della risposta dipende sempre (anche) dalla qualità della domanda:

 

Continuando ancora il dialogo:

 

Allo stesso modo posso chiedere a ChatGPT di fornirmi codici per eseguire istruzioni in diversi linguaggi di programmazione, ad esempio se chiedo “Puoi scrivere per favore uno script in linguaggio yengine per muovere un oggetto da un punto A ad un punto B in Opensim?

Ecco uno script in Yengine (un linguaggio di programmazione utilizzato in Opensim) che puoi utilizzare per spostare un oggetto dal punto A al punto B:

// Define the starting and ending positions for the object

vector startPos = <0, 0, 0>;

vector endPos = <10, 10, 10>;

// Set the speed at which the object will move (in meters per second)

float speed = 1.0;

// Calculate the distance between the starting and ending positions

vector distance = endPos – startPos;

// Calculate the time it will take for the object to reach its destination

float time = distance.length() / speed;

// Move the object from the starting position to the ending position over the specified time

llMoveToTarget(endPos, time);

Questo script sposterà l’oggetto dalla posizione iniziale (punto A) alla posizione finale (punto B) a una velocità di 1 metro al secondo. È possibile regolare la velocità e le posizioni iniziale e finale secondo necessità. Spero che aiuti! Fammi sapere se hai altre domande.”

 

Esistono diverse tipologie di impiego per i modelli di linguaggio artificiale come ChatGPT, tra cui:

  • Chatbot per interagire con gli utenti tramite un’interfaccia di chat, fornendo risposte rapide a domande su una vasta gamma di argomenti.
  • Generazione di testo per creare testo originale in risposta a un prompt o a un insieme di dati di input.
  • Traduzione automatica per tradurre il testo da una lingua all’altra.
  • Sintesi del testo per riassumere un testo lungo in una versione più breve e concisa.
  • Analisi del sentimento per classificare il sentimento espresso in un testo (ad esempio positivo, negativo o neutro).

Questi sono solo alcuni esempi delle applicazioni dei modelli di linguaggio artificiale.

 

Oltre a OpenAI, ci sono molti servizi e applicazioni online che utilizzano la tecnologia GPT per generare testo, tra cui:

  • Perplexity.ai: un web crawler che genera risposte alle domande con una serie di collegamenti ai siti Web fonti delle informazioni che fornisce.
  • Hugging Face’s Generate Text: un’interfaccia web che consente agli utenti di generare testo da una frase di partenza, p. es. per creare un racconto.
  • AI Dungeon: un gioco di avventura generato dall’intelligenza artificiale che utilizza GPT-3 per generare trame e risposte alle scelte degli utenti.
  • Copy.ai: un’applicazione di scrittura assistita che utilizza GPT per aiutare gli utenti a generare testo per i loro progetti.
  • Chatsonic: chatbot conversazionale AI di nuova generazione
  • Bloom: uno strumento open-source di comprensione e generazione del linguaggio naturale che consente agli utenti di creare esperienze di chatbot.
  • Replika: un chatbot che può fornire un compagno alle persone sole o che hanno bisogno di sostegno emotivo.

Alcune di queste permettono di essere utilizzate in inglese gratuitamente, mettendo magari a disposizione molte altre lingue a pagamento; possiamo però sempre aiutarci con Google Translate oppure con DeepL per tradurre i nostri testi in inglese.

Per quanto riguarda le applicazioni da installare localmente sul proprio computer, ci sono diverse librerie open-source che consentono agli sviluppatori di utilizzare i modelli di GPT nei loro progetti, tra cui:

  • Hugging Face’s Transformers: una libreria Python che consente agli sviluppatori di utilizzare i modelli di GPT per generare testo, tradurre il testo, e comprendere il linguaggio naturale (l’interazione tra i computer e il linguaggio umano).
  • PyTorch-Transformers: una libreria che offre gli stessi servizi della libreria di Hugging Face ma basata su PyTorch.
  • T2T: una libreria open-source che consente agli sviluppatori di addestrare i propri modelli di generazione di testo utilizzando TensorFlow.

 

Questo tipo di IA può essere anche utile come assistente personale per imparare le lingue e risolvere i propri dubbi:

I noted that the verb to be in hungarian can be put in different positions and often can be omitted

«Yes, that is correct. In Hungarian, the verb “to be” (lenni) can be placed in different positions in a sentence, and it can also be omitted in certain cases.
In Hungarian, the verb “to be” is not always used as a copula verb to link the subject and the predicate, like it does in English. Instead, it is used to indicate the existence or presence of something, and it can be used to indicate location, possession, or identity.
In most cases, the verb “to be” can be omitted, and the meaning is inferred from the context. For example, “a ház nagyon szép” (the house is very beautiful) can be translated simply as “a ház szép” (the house beautiful).
Additionally, the verb “to be” can be placed at the beginning, middle, or end of the sentence, depending on the emphasis and context. For example, “Az épület nagyon szép” (The building is very beautiful) could also be “Nagyon szép az épület” (very beautiful is the building) or “Szép az épület nagyon” (beautiful is the building very).
It’s worth noting that the word order in Hungarian is relatively free, and it is often determined by the emphasis and the context

Oppure

Can you give me a very simple reading reading exercise in chinese, with three sentences using only simple symbols and giving a legenda of used symbols and a pinyin transcription as well ?

«Sure, here is a simple Chinese reading exercise:
Sentence 1: 今天天气很好 (jīn tiān tiān hěn hǎo)
Pinyin: “Today’s weather is very good.”
Sentence 2: 我喜欢吃苹果 ( huān chī píng guǒ)
Pinyin: “I like to eat apples.”
Sentence 3: 你有没有喜欢的颜色?( yǒu méi yǒu huān de yán ?)
Pinyin: “Do you have a favorite color

 

Symbols:

今 (jīn) – today
天 (tiān) – day
气 (qì) – weather
很 (hěn) – very
好 (hǎo) – good
我 (wǒ) – I
喜欢 (xǐ huān) – like
吃 (chī) – eat
苹果 (píng guǒ) – apple
你 (nǐ) – you
有 (yǒu) – have
没有 (méi yǒu) – don’t have
颜色 (yán sè) – color

Dopo aver visto come creare testi attraverso IA, può anche essere utile avere degli strumenti per controllare se dei testi sono scritti in questo modo o prodotti soltanto dalla creatività e dall’ingegno umano:

GPTZero è uno strumento gratuito che analizza il testo per determinare se è stato scritto o meno da un programma di intelligenza artificiale. Ci sono alcune funzionalità di GPTZero che lo rendono leggermente diverso da alcuni degli altri strumenti di rilevamento AI che ho provato. Innanzitutto, oltre ad accettare il testo che copi e incolli al suo interno, GPTZero ti consente di caricare PDF, documenti Word e file TXT per analizzarli. In secondo luogo, GPTZero evidenzierà per te le parti di un articolo che ritiene abbiano un’alta probabilità di essere scritte da uno strumento di intelligenza artificiale. In terzo luogo, GPTZero fornisce un punteggio di perplessità e un punteggio di burstiness per illustrare come è stato determinato che un documento è stato scritto o meno da uno strumento di intelligenza artificiale.

AI Text Classifier è uno strumento gratuito di Open AI, i creatori di ChatGPT, che rileva se un passaggio di testo è stato scritto o meno con ChatGPT e simili strumenti di scrittura AI. Ci si deve registrare con un account gratuito su Open AI. Per utilizzare AI Text Classifier devi semplicemente incollare un blocco di scrittura (almeno 1.000 caratteri, circa 175 parole) nel campo di testo e fare clic sul pulsante di invio. Lo strumento classificherà quindi la scrittura come molto improbabile, improbabile, poco chiara se è, possibilmente o probabilmente scritta da AI.

AI Writing Check è uno strumento gratuito creato per aiutare gli insegnanti a provare a riconoscere la scrittura creata attraverso l’uso dell’intelligenza artificiale. Per utilizzarlo basta copiare un passaggio di testo di 100 o più parole e incollarlo in AI Writing Check. Lo strumento ti dirà quindi la probabilità che la scrittura sia stata o meno creata dall’intelligenza artificiale. Questo è tutto quello che c’è da fare. AI Writing Check non è, ovviamente, infallibile e può essere raggirato, dipende dall’abilità degli studenti. Non gestisce, inoltre, più di 400 parole alla volta.

Un altro utilizzo popolare di questa tecnologia è la generazione di immagini a partire da una frase di testo (T2I, sigla in inglese per “Text-to-Image Generation” o text2img), oppure la generazione di immagini a partire da altre immagini di base (img2img).

In sintesi, T2I è un modello di intelligenza artificiale che è stato addestrato su grandi quantità di immagini e testo per capire come generare immagini a partire da descrizioni di testo, realistiche e plausibili, simili a come le farebbe un essere umano. Ciò significa che il modello è in grado di generare immagini che corrispondono a descrizioni di testo, come ad esempio “un gatto seduto su un divano” o “un paesaggio montano con neve“. La precisione del risultato, come abbiamo visto per la chatbot, dipende dall’accuratezza delle informazioni fornite nella domanda, ovvero nel cosiddetto «prompt» di partenza. Vediamo di seguito degli esempi pratici dell’effetto di prompt semplici, per le prime due immagini da sinistra, e di un prompt diù articolato per la terza immagine:

un gatto seduto su un divano
un paesaggio montano con neve
un dipinto a olio epico fantastico e molto dettagliato di una donna a cavallo in una foresta al tramonto nel fogliame autunnale con raggi di sole tra gli alberi e uno stagno e montagne in lontananza, paesaggi, primo piano, pastello, illuminazione cinematografica, golden hours, di [nome artista]
 

In generale, T2I può essere utilizzato in molteplici ambiti come ad esempio il design, la comunicazione, l’arte, l’intrattenimento, la medicina e la ricerca scientifica.
Bisogna tenere presente che il panorama delle tecnologie GPT e T2I sta continuamente evolvendo. Inoltre, alcune delle applicazioni e librerie disponibili possono richiedere una certa competenza tecnica per essere utilizzate efficacemente. In generale, è importante valutare le proprie esigenze e conoscenze tecniche prima di scegliere una specifica applicazione o libreria per utilizzare la tecnologia GPT o T2I. Tra gli algoritmi più utilizzati per interagire con le IA troviamo Stable Diffusion, una libreria open-source che si occupa di creare un’interfaccia utente stabile e diffusa per le applicazioni web, oppure altre come DALL-E.

Vediamo qualcuna di queste applicazioni:

 

Alcune tra queste applicazioni online possono richiedere di creare un account (gratuito) per poter accedere ad un numero minimo di immagini da generare giornalmente, oppure riservare alcune opzioni avanzate agli account a pagamento.

 

Un altro interessante strumento AI è Skybox, una semplice interfaccia che consente di creare immagini panoramiche e skybox che, in un futuro non troppo lontano, potranno essere immediatamente utili nella creazione di opere d’arte, giochi, esperienze VR e altro ancora. Tipo questa, o quella che segue (in origine 360° ma riproducibile qui solo in forma statica):

 

Motori di ricerca immagini & Prompt

Non solo testo e immagini

Come abbiamo visto, gli utilizzi più diffusi di questi algoritmi riguardano la generazione di testi ed immagini, ma ci sono molte altre interessanti applicazioni in via di sviluppo, come ad esempio:

  • Text2Music per produrre una musica con le stesse convenzioni che si usano per Stable Diffusion per produrre una immagine con text2image (ancora ad un livello sperimentale, per averne un’idea: https://openai.com/blog/jukebox/)
  • Text-driven Motion Generation per animare avatar
  • Text2speech converte il testo in audio con riconoscimento automatico della lingua
  • Creazione di storie
  • Explainpaper: un’AI che può aiutare a leggere articoli specialistici rispondendo a domande e facendo brevi sunti, o spiegando concetti intermedi
  • Migliorare la risoluzione delle immagini
  • Creazione di oggetti 3D a partire da frasi di testo
  • Creazione di video a partire da frasi di testo

La tecnologia Text2speech (T2S) converte il testo in file audio con riconoscimento automatico della lingua attraverso l’impiego di modelli di Intelligenza Artificiale. Whisper è una piattaforma che, permette invece di fare il contrario, ovvero trascrivere il contenuto di un file audio con il riconoscimento automatico della lingua ed eventualmente la traduzione in una lingua a scelta; oltre a trascrivere, a richiesta può creare i file per i sottotitoli (srt) da inserire nei propri video.

Whisper lavora “quasi gratuitamente”, nel senso che si possono utilizzare gli strumenti offerti da Replicate gratuitamente, ma dopo un po’ verrà chiesto di inserire i dati di una carta di credito. I successivi lavori dell’app richiederanno un pagamento al secondo per le operazioni che vengono eseguite, con un prezzo che varia in base all’hardware su cui viene eseguito il modello.

Online si trovano diversi siti che permettono di fare queste operazioni, con poche o molte opzioni, gratuitamente o a pagamento; uno di questi siti è FreeTTS che permette di convertire il testo in file audio, potendosi creare il commento vocale per i propri video da caricare su Youtube, Vimeo, Facebook, Instagram o su siti web, gratuitamente fino a 5000 caratteri per sessione, con il limite di 6000 caratteri a settimana. Alimentato dall’apprendimento automatico di Google e dalla funzionalità TTS, il processo di sintesi vocale è veloce e la qualità dei risultati è piuttosto elevata.

Per chi vuole invece sperimentare sul campo o apprendere come farlo “a mano”, segnaliamo di seguito due brevi video tutorial di Salahzar Stenvaag che illustrano in modo sintetico come utilizzare Text2speech  e Whisper attraverso la piattaforma Colab di Google, lanciando poche semplici istruzioni (indicate) in Python (i Colab notebook (taccuini) consentono di combinare codice eseguibile e rich text in un unico documento, insieme a immagini, HTML, LaTeX e altro ancora).

 

Questa invece è una playlist di video che presentano diverse applicazioni T2S.

 

 

Translate »

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza solo cookie tecnici per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi