{"id":3057,"date":"2021-03-29T05:00:00","date_gmt":"2021-03-29T03:00:00","guid":{"rendered":"https:\/\/ellycode.com\/?p=3057"},"modified":"2021-05-07T16:38:54","modified_gmt":"2021-05-07T14:38:54","slug":"intelligenza-artificiale-apriamo-la-scatola","status":"publish","type":"post","link":"https:\/\/ellycode.com\/it\/blog\/intelligenza-artificiale-apriamo-la-scatola\/","title":{"rendered":"Intelligenza Artificiale: apriamo la scatola"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Possiamo dire, senza timore di essere smentiti, che l\u2019intelligenza artificiale sta entrando in tutti gli aspetti della nostra vita. Spesso non ce ne rendiamo neanche conto, trattando i dispositivi che usiamo e le applicazioni con cui interagiamo come scatola nere di cui non ci interessa il funzionamento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il problema di questo approccio \u00e8 quello di lasciare alla nostra immaginazione il principio di funzionamento interno, a cui facciamo caso o su cui riflettiamo di solito quando qualcosa non va. E\u2019 un po\u2019 come per l\u2019auto: a scuola guida ci spiegano i principi di funzionamento di un motore a scoppio, ma finch\u00e9 l\u2019auto non si rompe ci basta sapere come utilizzarla per vivere felici. Quando per\u00f2 si rompe, cerchiamo di capire cosa pu\u00f2 essere successo, ed \u00e8 in quel momento che cominciamo a immaginare come possa funzionare internamente per provare a trovare una soluzione che risolva il problema. Nei casi semplici magari ci riusciamo pure. Se una gomma \u00e8 bucata, ad esempio, ci arriviamo facilmente al fatto che dobbiamo sostituirla con quella di scorta. Ma se sentiamo un rumore metallico, si accende una spia o l\u2019auto non va in moto, ci affidiamo o alle nostre esperienza passate o a quelle di un amico \u201cche ne capisce\u201d. Nei casi peggiori ci affidiamo a uno specialista, che sa esattamente come funziona, e pu\u00f2 risolvere il problema per noi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ora, nessuno dice che per avere un\u2019auto bisogna essere dei meccanici, ma sapere un minimo di come funziona ci aiuta a non farci fregare da un \u201caddetto ai lavori\u201d poco onesto, e magari risolvere i problemi pi\u00f9 semplici in autonomia. <strong>Proviamo quindi a capire i principi di funzionamento delle applicazioni dell\u2019intelligenza artificiale<\/strong>, a livello pi\u00f9 alto possibile, con lo scopo almeno di escludere la paura di essere annientati da una fantomatica sinistra coscienza artificiale e non sgranare gli occhi quando sentiamo parole come Deep Learning e Machine Learning, allo stesso modo in cui magari ci capita di fare quando il meccanico ci parla di sonda lambda, biella o collettore.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-cosa-c-nella-scatola\">Cosa c\u2019\u00e8 nella scatola<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nonostante sia un termine tecnico, la parola algoritmo \u00e8 entrata a far parte del parlare comune, come sequenza finita di passi da seguire per implementare una funzionalit\u00e0. Un po\u2019 come una ricetta da cucina, in cui seguo passo passo le indicazioni per realizzare il mio piatto. Una caratteristica degli algoritmi \u00e8 che possono accettare in ingresso dei dati e fornire un risultato preciso.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>L\u2019intelligenza artificiale viene invece utilizzata quando non possiamo definire questi passi in maniera precisa<\/strong> e accettiamo l\u2019idea di avere un risultato accompagnato da un valore che ci indica l\u2019affidabilit\u00e0 con cui dobbiamo prenderlo in considerazione. Per capirci, accettiamo l\u2019idea che la macchina ci dica che in un foto c\u2019\u00e8 un gatto con una affidabilit\u00e0 dell\u201980%, mentre un algoritmo classico ci direbbe che nella foto c\u2019\u00e8 o non c\u2019\u00e8 un gatto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nonostante ci piacerebbe avere sempre delle risposte certe, in molte applicazioni ci basta un&#8217;informazione del genere, che ci permette di prendere una decisione o richiedere l\u2019intervento umano nei casi in cui questo valore percentuale non sia sufficiente per una decisione automatica. Prendete il caso in cui volete consentire agli utenti del vostro sito di caricare una foto, ma volete essere sicuri che non vengano caricate immagine violente o offensive: con l\u2019intelligenza artificiale potete scartare subito le foto o potete richiedere l\u2019intervento di un amministratore, salvando il dato in pending, se la percentuale di affidabilit\u00e0 della rilevazione \u00e8, ad esempio, tra il 50% e l\u201980%.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Come si riesce a ottenere una cosa del genere? Abbiamo due possibilit\u00e0: una \u00e8 insegnare alla macchina a riconoscere un gatto in una foto, dandogli in pasto tantissime foto e l\u2019indicazione della presenza o meno del gatto; l\u2019altra \u00e8 affidarci alle similitudini tra i dati, cercando degli schemi. Nel primo caso parliamo di <strong>apprendimento supervisionato<\/strong>, nel secondo caso invece si parla di <strong>apprendimento non supervisionato<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In realt\u00e0 esiste un terzo approccio, detto <strong>apprendimento per rinforzo<\/strong>, in cui si insegna al sistema a rispondere correttamente dando un feedback positivo ogni volta che indovina un risultato. Questo approccio \u00e8 molto utilizzato ad esempio nei giochi come gli scacchi (se non l\u2019avete gi\u00e0 fatto, date una lettura all\u2019articolo di Salvatore su scacchi e intelligenza artificiale).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quindi distinguiamo due momenti importanti nella realizzazione della nostra applicazione di intelligenza artificiale: la fase di <strong>apprendimento<\/strong>, in cui viene creato un <strong>modello <\/strong>sulla base dei dati a disposizione, e una fase di <strong>predizione<\/strong>, in cui utilizziamo il modello creato per valutare dei nuovi dati. <a href=\"https:\/\/ellycode.com\/it\/blog\/quattro-chiacchiere-con-la-nostra-applicazione\/\" target=\"_blank\" rel=\"noreferrer noopener\">Come gi\u00e0 spiegato da Salvatore<\/a>, i principali Cloud provider hanno addestrato per voi i loro servizi e vi permettono con un semplice end-point di fare la vostra predizione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le principali applicazioni dell\u2019intelligenza artificiale che usiamo ogni giorno si basano sull\u2019apprendimento supervisionato, dove abbiamo a disposizione sia i dati di ingresso (le famose foto con gatti e senza) che il risultato (se il gatto c\u2019\u00e8 o non c\u2019\u00e8). Il meccanismo interno \u00e8 basato su un sistema di pesi, il cui valore viene cambiato a ogni dato che forniamo durante l\u2019apprendimento. Se ci pensate \u00e8 quello che facciamo con i bambini quando gli insegniamo a riconoscere gli animali: gli mostriamo diverse immagini di animali e gli diciamo a voce alta il nome dell\u2019animale, dopo un po\u2019 il bambino impara a riconoscerli anche su immagini che non ha mai visto prima.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-ia-machine-learning-deep-learning-reti-neurali-che-differenza-c\">IA, Machine Learning, Deep Learning, Reti Neurali: che differenza c\u2019\u00e8?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Se vi state interessando a questo settore avrete sicuramente sentito i termini AI, Machine Learning, Reti Neurali e Deep Learning, spesso usati erroneamente come sinonimi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Partiamo dal termine Intelligenza Artificiale, abbreviato spesso con IA, che \u00e8 il pi\u00f9 generico tra tutti e che racchiude tutte le tecniche e le applicazioni di questa scienza interdisciplinare. In questo grande contenitore abbiamo le cosiddette tecniche di Machine Learning, cio\u00e8 le tecniche con cui insegniamo a una macchina a predire valori a partire dall\u2019addestramento basato su un set di dati (supervisionato, non supervisionato o per rinforzo).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nell\u2019ambito del Machine Learning \u00e8 possibile utilizzare le Reti Neurali, un modello ispirato (ma assolutamente diverso) al modo in cui sono fatti i nostri neuroni. Immaginate una rete fatta a strati in cui, nel caso pi\u00f9 semplice avete uno strato di ingresso, uno strato interno e uno strato di uscita.&nbsp; Per ottenere buoni risultati di solito non basta una rete cos\u00ec piccola, quindi andiamo ad aumentare il numero di elementi in ingresso e gli strati interni. La rete diventa quindi pi\u00f9 profonda, portandoci in quello che viene chiamato Deep Learning.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Purtroppo \u00e8 impossibile andare pi\u00f9 nel dettaglio senza introdurre un po\u2019 di matematica, ma per il momento vi lascio un video di un minuto che pu\u00f2 essere un primo approccio:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<span class=\"embed-youtube\" style=\"text-align:center; display: block;\"><iframe loading=\"lazy\" class=\"youtube-player\" width=\"1080\" height=\"608\" src=\"https:\/\/www.youtube.com\/embed\/rEDzUT3ymw4?version=3&#038;rel=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;fs=1&#038;hl=it-IT&#038;autohide=2&#038;start=34&#038;wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\"><\/iframe><\/span>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusioni\">Conclusioni<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Per semplicit\u00e0 non ci lanciamo in una descrizione pi\u00f9 accurata delle reti neurali, che magari riprenderemo in un articolo futuro, ma volevo giusto darvi i concetti fondamentali per poter parlare con il meccanico di turno e capire, ad alto livello, cosa vi sta dicendo. Inoltre, spero sia chiaro adesso che di intelligente nel senso umano del termine qui non c\u2019\u00e8 assolutamente nulla e che stiamo semplicemente sfruttando la grande potenza di calcolo a cui possiamo accedere oggi per applicare modelli matematici\/statistici degli anni cinquanta a un grossissima mole di dati.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Delusi? Non preoccupatevi, perch\u00e9 anche solo con questi strumenti possiamo fare cose molto interessanti: continuate a seguirci per scoprire quali!<\/p>\n\n\n[et_pb_section global_module=\"1778\"][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"<p>Possiamo dire, senza timore di essere smentiti, che l\u2019intelligenza artificiale sta entrando in tutti gli aspetti della nostra vita. Spesso non ce ne rendiamo neanche conto, trattando i dispositivi che usiamo e le applicazioni con cui interagiamo come scatola nere di cui non ci interessa il funzionamento. Il problema di questo approccio \u00e8 quello di [&hellip;]<\/p>\n","protected":false},"author":195423235,"featured_media":3058,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_crdt_document":"","inline_featured_image":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[688637365],"tags":[],"class_list":["post-3057","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/ellycode.com\/wp-content\/uploads\/2021\/03\/10_1105x656_blog_Ai.png?fit=1105%2C656&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pcuDuD-Nj","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/posts\/3057","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/users\/195423235"}],"replies":[{"embeddable":true,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/comments?post=3057"}],"version-history":[{"count":9,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/posts\/3057\/revisions"}],"predecessor-version":[{"id":3405,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/posts\/3057\/revisions\/3405"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/media\/3058"}],"wp:attachment":[{"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/media?parent=3057"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/categories?post=3057"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ellycode.com\/it\/wp-json\/wp\/v2\/tags?post=3057"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}