Rami dell’intelligenza artificiale

Prachi Mate

Follow

25 maggio, 2020 – 6 min read

Nell’ultimo articolo, abbiamo cercato di capire cosa sia esattamente l’intelligenza artificiale. Poiché l’IA è una tecnologia il cui obiettivo è quello di imitare il comportamento umano, possiamo tranquillamente dire che i rami dell’IA comprenderanno quelle entità che ci rendono diversi dalle macchine. Quindi facciamo un riassunto delle branche dell’intelligenza artificiale e cerchiamo di correlarle con le attività umane!

1.Machine Learning: Questa è la tecnica che permette ad un computer di imparare da solo fornendogli dati sufficienti. Proprio come gli umani, l’apprendimento automatico addestra un sistema a prevedere un risultato usando le esperienze passate. Un algoritmo di apprendimento automatico riconosce i modelli nei dati forniti, allena un modello e predice il risultato senza doverlo programmare esplicitamente per lo stesso.

Uno dei miei professori ha dato un esempio notevole per confermare come l’apprendimento automatico sia proprio come addestrare un bambino ad affrontare il mondo. Un bambino si avvicina ad una candela, si brucia il dito e si fa male! Non potrebbe semplicemente ragionare su ciò che è appena successo. Associamo questo all’addestramento di un algoritmo. Quando la candela gli brucia il dito per la seconda volta, il bambino è ora avvisato e sa cosa potrebbe aver causato la bruciatura. Questo può andare avanti per un po’ finché il bambino finalmente capisce che la fiamma della candela è la ragione per cui il suo dito si brucia. Ora che il nostro “modello” è costruito, mettiamolo alla prova. La prossima volta che un bambino si avvicina ad una candela, sa che la fiamma può fargli male e la evita completamente. Possiamo dire che il nostro modello è stato addestrato con successo! È esattamente così che avviene l’apprendimento automatico.

2.Reti neurali: Dato che è una parola di moda da un po’ di tempo, una rete neurale potrebbe sembrare un termine complesso per alcuni di noi. Credetemi, se togliete la matematica da una rete neurale, è abbastanza semplice da capire. Tutto quello che devi fare è alimentare il tuo modello con gli input nel primo strato, specificare gli strati nascosti e l’output sarebbe il tuo ultimo strato. Il lavoro degli strati nascosti è quello di estrarre informazioni importanti dall’input fornito, per prevedere il risultato. Possiamo scegliere il numero di strati nascosti a nostro piacimento, ma dobbiamo fare attenzione perché potrebbe portare ad un overfitting e quindi manomettere l’accuratezza del nostro modello.

Se hai familiarità con la biologia di un neurone, le reti neurali potrebbero essere più facili da capire. Lo strato di input, come il dendrite, è il recettore che prende l’input, il neurone elabora le informazioni come gli strati nascosti, e l’assone trasferisce i segnali elaborati e agisce come lo strato di output.

3.Robotica: Ciò che rende interessante la robotica è che è l’amalgama di ingegneria meccanica, ingegneria elettrica, informatica e diversi altri campi scientifici. Si occupa della progettazione, produzione e funzionamento dei robot, per eseguire i compiti per cui è stato costruito.

I robot sono il “corpo” di un sistema intelligente, si coordinano con il programma e i suoi risultati per eseguire una funzione specifica, abbastanza simile al sistema scheletrico e muscolare del corpo umano, giusto? È incredibile vedere come i robot possono essere costruiti per essere così simili alla vita, proprio come Sofia, il giorno non è lontano in cui noi umani potremmo finalmente avere un robot per amico!

4.Sistema esperto: Ora sappiamo come possiamo programmare una macchina per imparare come un umano, ma ci siamo mai chiesti come far pensare una macchina come un umano? Bene, è qui che entrano in scena i sistemi esperti. Il sistema esperto è un’applicazione che permette al computer di imitare la capacità decisionale degli umani. I tre componenti di un sistema esperto sono l’interfaccia utente, il motore di inferenza e la base di conoscenza.

Come i nostri occhi, l’interfaccia utente prende la richiesta dell’utente e la passa al motore di inferenza. Il motore di inferenza è come il nostro cervello, ha una specifica sequenza di regole per risolvere un problema e fa riferimento alla base di conoscenza per fornire il ragionamento. La base di conoscenza è come la nostra memoria, è un enorme deposito di informazioni ottenute da esperti nel dominio. Quindi, il successo di un sistema esperto dipende altamente dall’accuratezza della sua conoscenza.

5.Fuzzy Logic: Noi esseri umani siamo altamente soggetti ad avere un dilemma, quindi sarebbe giusto che i sistemi che progettiamo siano addestrati ad affrontare anche queste situazioni. La logica fuzzy è una tecnica che si occupa di risolvere problemi che hanno incertezza. Immaginate di guardare il cielo e vedere alcune nuvole grigio scuro in una bella giornata di sole. Confondibile, vero?

Puoi determinare se pioverà o no? Potresti dire un “sì definitivo” o un “no definitivo”? Ecco dove la logica fuzzy ti aiuterà! A differenza dell’algebra booleana, la logica fuzzy non richiede i valori assoluti ‘Vero’ o ‘Falso’. Infatti, si possono avere valori intermedi come ‘parzialmente vero’ o ‘parzialmente falso’ quando si tratta di logica fuzzy. Un’architettura fuzzy comprende quattro componenti: base di regole, fuzzificazione, motore di inferenza e defuzzificazione. La base di regole consiste in un insieme di regole e condizioni if-then fornite dagli esperti per governare il processo decisionale. La fuzzificazione è usata per convertire gli input croccanti (i valori passati al sistema per l’elaborazione) in insiemi fuzzy. Il sistema di inferenza determina quindi il grado di corrispondenza per ogni regola e decide quali regole devono essere licenziate di conseguenza. Gli input licenziati sono poi combinati per formare azioni di controllo. La defuzzificazione converte gli insiemi fuzzy ottenuti dal motore di inferenza in valori nitidi e poi li passa come output.

6.Natural Language Processing: Avete mai provato a comunicare con qualcuno che non parla la vostra lingua e non vi capisce? Piuttosto impegnativo, vero? Ora immaginate di provare a comunicare con un computer, non è ancora più impegnativo? Cosa significano le parole e le frasi per un computer che può capire solo la lingua degli zero e degli uno? Potrebbe non sembrare un compito facile insegnare alle macchine a capire la nostra comunicazione. Beh, sì e no.

Il processo di far leggere, decifrare, capire e dare un senso all’interazione umana a una macchina si chiama elaborazione del linguaggio naturale. In poche parole, il sistema di linguaggio naturale funziona nel seguente modo: una persona dice qualcosa alla macchina, la macchina registra il suono e trasforma l’audio in testo. Il sistema NLP poi analizza il testo in componenti, capisce il contesto della conversazione e l’intenzione della persona. Sulla base dei risultati, la macchina determina quale comando deve essere eseguito. Questo è proprio il modo in cui gli umani comunicano, ascoltiamo ciò che l’altra persona sta dicendo, cerchiamo di capire il significato del loro discorso e poi diamo una risposta adeguata nello stesso contesto. Giusto?

Credo si possa dire che l’intelligenza artificiale è ancora più divertente quando cerchiamo di correlarla alle attività umane. Non sei d’accordo? Bene, questo è tutto per questo articolo. Nel prossimo, farò un briefing su alcune applicazioni dell’IA, rimanete sintonizzati!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.