Risultati Ricerca Intelligenza Artificiale Italia
475 elementi trovati per ""
- Previsioni meteo con python e machine learning
Nella Data Science , le previsioni meteorologiche sono un'applicazione del machine learning sulle serie temporali dove utilizziamo dati temporali e algoritmi per fare previsioni per un determinato periodo di tempo. Se vuoi imparare a prevedere il tempo usando le tue competenze di Data Science, questo articolo è per te. Ti guiderò attraverso nelle previsione metereologiche usando Python e un algoritmo di Machine learning. Previsioni meteo con python e machine learning La previsione meteorologica è il compito di prevedere le condizioni meteorologiche per una data posizione e ora. Con l'uso di dati meteorologici e algoritmi, è possibile prevedere le condizioni meteorologiche per il numero di n giorni successivo. Per la previsione del tempo utilizzando Python, abbiamo bisogno di un set di dati contenente dati meteorologici storici basati su una posizione particolare. Ho trovato un set di dati su Kaggle basato sui dati meteorologici giornalieri. Possiamo utilizzare questo set di dati per il compito di previsioni meteorologiche. È possibile scaricare il set di dati da qui sotto oppure nella sezione Dataset cercando "DatiTemperatura.csv" Nella sezione seguente imparerai come analizzare e prevedere il tempo usando Python. Ora iniziamo questa attività importando le librerie Python necessarie e il set di dati di cui abbiamo bisogno: import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import plotly.express as px data = pd.read_csv("DatiTemperatura.csv") print(data.head()) Output: date meantemp humidity wind_speed meanpressure 0 2013-01-01 10.000000 84.500000 0.000000 1015.666667 1 2013-01-02 7.400000 92.000000 2.980000 1017.800000 2 2013-01-03 7.166667 87.000000 4.633333 1018.666667 3 2013-01-04 8.666667 71.333333 1.233333 1017.166667 4 2013-01-05 6.000000 86.833333 3.700000 1016.500000 Diamo un'occhiata alle statistiche descrittive di questi dati prima di andare avanti: print(data.describe()) Output: meantemp humidity wind_speed meanpressure count 1462.000000 1462.000000 1462.000000 1462.000000 mean 25.495521 60.771702 6.802209 1011.104548 std 7.348103 16.769652 4.561602 180.231668 min 6.000000 13.428571 0.000000 -3.041667 25% 18.857143 50.375000 3.475000 1001.580357 50% 27.714286 62.625000 6.221667 1008.563492 75% 31.305804 72.218750 9.238235 1014.944901 max 38.714286 100.000000 42.220000 7679.333333 Ora diamo un'occhiata alle informazioni su tutte le colonne nel set di dati: print(data.info()) Output: RangeIndex: 1462 entries, 0 to 1461 Data columns (total 5 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 date 1462 non-null object 1 meantemp 1462 non-null float64 2 humidity 1462 non-null float64 3 wind_speed 1462 non-null float64 4 meanpressure 1462 non-null float64 dtypes: float64(4), object(1) memory usage: 57.2+ KB La colonna della data in questo set di dati non ha un tipo di dati datetime. Lo cambieremo quando richiesto. Diamo un'occhiata alla temperatura media nel corso degli anni: figure = px.line(data, x="date", y="meantemp", title='Mean Temperature Over the Years') figure.show() Output: Ora diamo un'occhiata all'umidità nel corso degli anni: figure = px.line(data, x="date", y="humidity", title='Humidity Over the Years') figure.show() Output: Ora diamo un'occhiata alla velocità del vento nel corso degli anni: figure = px.line(data, x="date", y="wind_speed", title='Wind Speed Over the Years') figure.show() Output: Fino al 2015, la velocità del vento era maggiore durante agosto, settembre, dicembre e gennaio. Dopo il 2015 non si sono verificate anomalie nella velocità del vento durante agosto, settembre, dicembre e gennaio. Ora diamo un'occhiata al rapporto tra temperatura e umidità: figure = px.scatter(data_frame = data, x="humidity", y="meantemp", size="meantemp", trendline="ols", title = "Relationship Between Temperature and Humidity") figure.show() Output: C'è una correlazione negativa tra temperatura e umidità. Significa che una temperatura più alta comporta una bassa umidità e una temperatura più bassa comporta un'umidità elevata. Analisi del cambiamento di temperatura con Python Ora analizziamo il cambiamento di temperatura nel corso degli anni. Per questa attività, convertirò prima il tipo di dati della colonna della data in datetime. Quindi aggiungerò due nuove colonne nel set di dati per i valori di anno e mese. Ecco come possiamo modificare il tipo di dati ed estrarre i dati di anno e mese dalla colonna della data: data["date"] = pd.to_datetime(data["date"], format = '%Y-%m-%d') data['year'] = data['date'].dt.year data["month"] = data["date"].dt.month print(data.head()) Output: date meantemp humidity wind_speed meanpressure year month 0 2013-01-01 10.000000 84.500000 0.000000 1015.666667 2013 1 1 2013-01-02 7.400000 92.000000 2.980000 1017.800000 2013 1 2 2013-01-03 7.166667 87.000000 4.633333 1018.666667 2013 1 3 2013-01-04 8.666667 71.333333 1.233333 1017.166667 2013 1 4 2013-01-05 6.000000 86.833333 3.700000 1016.500000 2013 1 Ora diamo un'occhiata al cambiamento di temperatura nel corso degli anni: plt.style.use('fivethirtyeight') plt.figure(figsize=(15, 10)) plt.title("Temperature Change Over the Years") sns.lineplot(data = data, x='month', y='meantemp', hue='year') plt.show() Output: Sebbene il 2017 non sia stato l'anno più caldo dell'estate, possiamo vedere un aumento della temperatura media ogni anno. Previsioni meteo con Python Passiamo ora al compito delle previsioni del tempo. Userò il modello del profeta di Facebook per questo compito. Il modello del profeta di Facebook è una delle migliori tecniche per la previsione delle serie temporali. Se non hai mai utilizzato questo modello prima, puoi installarlo sul tuo sistema utilizzando il comando menzionato di seguito nel prompt dei comandi o nel terminale: pip install prophet Il modello prophet accetta dati temporali denominati "ds" ed etichettati come "y". Quindi convertiamo i dati in questo formato: forecast_data = data.rename(columns = {"date": "ds", "meantemp": "y"}) print(forecast_data) Output: ds y humidity wind_speed meanpressure year month 0 2013-01-01 10.000000 84.500000 0.000000 1015.666667 2013 1 1 2013-01-02 7.400000 92.000000 2.980000 1017.800000 2013 1 2 2013-01-03 7.166667 87.000000 4.633333 1018.666667 2013 1 3 2013-01-04 8.666667 71.333333 1.233333 1017.166667 2013 1 4 2013-01-05 6.000000 86.833333 3.700000 1016.500000 2013 1 ... ... ... ... ... ... ... 1457 2016-12-28 17.217391 68.043478 3.547826 1015.565217 2016 12 1458 2016-12-29 15.238095 87.857143 6.000000 1016.904762 2016 12 1459 2016-12-30 14.095238 89.666667 6.266667 1017.904762 2016 12 1460 2016-12-31 15.052632 87.000000 7.325000 1016.100000 2016 12 1461 2017-01-01 10.000000 100.000000 0.000000 1016.000000 2017 1 [1462 rows x 7 columns] Di seguito è riportato come possiamo utilizzare il modello del profeta di Facebook per le previsioni del tempo utilizzando Python: from prophet import Prophet from prophet.plot import plot_plotly, plot_components_plotly model = Prophet() model.fit(forecast_data) forecasts = model.make_future_dataframe(periods=365) predictions = model.predict(forecasts) plot_plotly(model, predictions) Output: E' così che puoi analizzare e prevedere il meteo usando Python. Riepilogo sulle Previsioni meteo con python e machine learning La previsione meteo è il compito di prevedere le condizioni meteorologiche per una data posizione e ora. Con l'uso di dati meteorologici e algoritmi, è possibile prevedere le condizioni meteorologiche per il numero di n giorni successivi. Spero che questo articolo sull'analisi e le previsioni meteorologiche utilizzando Python ti sia piaciuto. Sentiti libero di porre domande nella sezione commenti qui sotto.
- Dove scaricare modelli di intelligenza artificiale pre-addestrati
Sapevi che è possibile scaricare dei modelli di IA pre-addestrati e pronti all'uso? In questo articolo ti elencheremo le principali piattaforme dove potrai scaricare modelli già allenati, cosi' da risparmiare tempo e denaro per il tuo prossimo progetto. La comunity dell'IA condivide generosamente codice, architetture di modelli e persino modelli addestrati su grandi set di dati. Siamo sulle spalle dei giganti, motivo per cui l'industria sta adottando così ampiamente l'IA. Quando iniziamo un progetto di intelligenza artificiale, tentiamo prima di cercare dei modelli che risolvono parzialmente il nostro problema. Supponiamo che tu voglia creare un'applicazione di sicurezza che cerchi gli esseri umani in aree riservate. Innanzitutto, controlla se un modello di rilevamento dei pedoni disponibile pubblicamente funziona per te immediatamente. In tal caso, non è necessario addestrare un nuovo modello. In caso contrario, la sperimentazione di modelli disponibili pubblicamente ti darà un'idea di quale architettura scegliere per la messa a punto o il trasferimento dell'apprendimento. Cosa è un modello pre-addestrato? Un modello pre-addestrato si riferisce a un modello o a una rete neurale salvata creata da qualcun altro e addestrata su un set di dati di grandi dimensioni per risolvere un problema simile. I team di intelligenza artificiale possono utilizzare un modello pre-addestrato come punto di partenza, invece di creare un modello da zero. Esempi di modelli linguistici pre-addestrati su larga scala di successo sono le rappresentazioni di codificatori bidirezionali di Transformers (BERT) e la serie Generative Pre-trained Transformer (GPT-n). Perchè usare un modello pre-addestrato? Sembra che ogni anno i modelli di apprendimento automatico raggiungano una maggiore precisione in tutti i tipi di attività e domini, dalla visione artificiale all'elaborazione del linguaggio naturale (PNL). Per fare ciò, scienziati e ingegneri che lavorano in aziende e istituti di ricerca modificano i modelli architettura, che di solito li rende più complessi e li addestra anche con quantità impressionanti di dati. Ad esempio, l'ultimo modello NLP di OpenAI, GPT-3, ha 175 miliardi di parametri e richiederebbe circa 355 anni per addestrarlo su una singola macchina. Quindi ammenochè non vuoi lasciare in eredità a un tuo pronipote un modello che ancora dovrà finire il suo addestramento dovrai optare per altre soluzioni :) . Ma anche addestrare modelli più semplici può essere difficile: ottenere dati sufficienti per ottenere una buona prestazione è solitamente una grande sfida. Ciò rende molto difficile, se non impossibile, per gli individui e anche le piccole aziende utilizzare questi modelli ML se devono addestrarli da zero. Fortunatamente, possiamo risolvere questo problema utilizzando modelli pre-addestrati. Migliori siti per scaricare modelli pre-addestrati : 1. Papers With Code La missione di Papers With Code è creare una risorsa gratuita e aperta con documenti, codice, set di dati, metodi e tabelle di valutazione di Machine Learning. La piattaforma viene aggiornata regolarmente con gli ultimi documenti e risorse sulla visione artificiale e altri sottocampi dell'IA. 1.1 Utilizzare i filtri per restringere i risultati di ricerca Con un ampio catalogo di attività di Machine Learning con centinaia di documenti di ricerca e implementazioni di codice, avrai un mare di informazioni da vagliare, ma le ponderate funzionalità di filtro disponibili sulla piattaforma vengono in soccorso. 1.2 Parametri di riferimento Per un'attività particolare, puoi visualizzare tutti i modelli all'avanguardia che funzionano meglio sui benchmark più diffusi per quell'attività. Inoltre, puoi scegliere di visualizzare gli invii in base al numero di voti positivi ricevuti dalla community sotto forma di stelle. 1.3 Set di dati Oltre a questo, Papers with Code ha anche una raccolta di popolari dataset pubblici disponibili in un'unica posizione. Utilizzando Papers With Code, puoi confrontare un gran numero di soluzioni per trovare quella che fa per te. 2. ModelZoo.co Creato da Jing Yu Koh, un ingegnere ricercatore di Google, Model Zoo cura e fornisce una piattaforma per i ricercatori di deep learning per trovare rapidamente modelli pre-addestrati per varie piattaforme e attività. Il sito viene aggiornato regolarmente e fornisce funzionalità di filtraggio per trovare i modelli adatti in base al framework di machine learning che prevedi di utilizzare o alla categoria dell'attività in questione. Le due categorie più utili per noi sono Visione computerizzata Modelli generativi 3. Open Model Zoo Il toolkit Open Model Zoo for OpenVINO™ offre un'ampia varietà di modelli di deep learning pre-addestrati gratuiti e altamente ottimizzati che funzionano a una velocità incredibile su CPU, GPU e VPU Intel. Questo repository contiene oltre 200 modelli di rete neurale per attività tra cui rilevamento di oggetti, classificazione, segmentazione delle immagini, riconoscimento della grafia, sintesi vocale, stima della posa e altro. Ci sono due tipi di modelli. Modelli pre-addestrati di Intel : il team di Intel ha addestrato questi modelli e li ha ottimizzati per l'esecuzione con OpenVINO. Modelli pubblici pre-addestrati : questi sono modelli creati dalla comunità di intelligenza artificiale e possono essere facilmente convertiti in formato OpenVINO utilizzando OpenVINO Model Optimizer. Controlla sempre la pagina di supporto del dispositivo per assicurarti che il modello sia compatibile con il dispositivo su cui desideri eseguirlo. Dai un'occhiata alla nostra serie su OpenVINO per conoscere i dettagli. L'Open Model Zoo ospita anche un carico di applicazioni demo con istruzioni per eseguirle. Puoi utilizzare queste applicazioni come modello per creare le tue applicazioni. Puoi anche utilizzare Model Analyzer per ottenere maggiori informazioni su un modello come consumo di memoria, scarsità, Gflop e così via. Tieni presente che Model Analyzer funziona solo con modelli in formato IR (Intermediate Representation) . E se sei nuovo con OpenVino Toolkit, potrebbe valere la pena dare un'occhiata al repository openvinotoolkit/openvino_notebooks . Contiene taccuini jupyter pronti per l'uso per aiutarti ad aggiornarti su come lavorare con il toolkit OpenVino e i modelli disponibili nello zoo. Inoltre, fornisce anche strumenti per eseguire attività sul modello, come download, conversione e quantizzazione. 4. TensorFlow Model Garden TensorFlow è una piattaforma open source end-to-end per Machine Learning e probabilmente il framework ML più popolare. Il TensorFlow Model Garden è un repository contenente molti modelli SOTA (state-of-the-art). Ci sono tre tipi di modelli. Ufficiale : i modelli di questa collezione vengono mantenuti, testati e aggiornati con l'ultima API TensorFlow. Ricerca : i modelli in questa raccolta possono utilizzare Tensorflow 1 o 2 e sono mantenuti dai ricercatori. Comunità : questa è una raccolta di collegamenti a modelli gestiti dalla comunità. Lo scopo di questo repository è fornire gli elementi costitutivi per addestrare i propri modelli basandosi sulle configurazioni predefinite, sui set di dati e sulla messa a punto dei checkpoint dei modelli disponibili. Per aiutarti a riprodurre i risultati dell'allenamento, sono stati forniti anche i registri dell'allenamento per i modelli disponibili. Gli utenti di TensorFlow possono sfruttare i modelli forniti e trattarli come riferimenti per addestrare il proprio modello o perfezionare i modelli dai checkpoint disponibili. 5. TensorFlow Hub Dalla classificazione delle immagini, agli incorporamenti di testo, al riconoscimento di azioni audio e video, TensorFlow Hub è uno spazio in cui è possibile sfogliare modelli e set di dati addestrati dall'intero ecosistema TensorFlow. A differenza di TensorFlow Model Garden, i modelli disponibili su TensorFlow Hub sono pronti per l'uso e destinati ad essere utilizzati come scatole nere con ingressi e uscite impostati. Se riesci a trovare un modello adatto alle tue esigenze, puoi usarlo! Puoi scoprire e scaricare centinaia di modelli di machine learning preparati per la distribuzione e addestrati pubblicati da risorse rinomate. Tutti i dettagli sulla distribuzione vengono forniti per i modelli come i formati di input e output, il set di dati utilizzato e le metriche delle prestazioni previste per aiutarti a scegliere i modelli migliori per le tue attività. Per alcuni modelli sono disponibili anche quaderni di esempio ed esperienze Web interattive per semplificare il lavoro. I formati comuni dei modelli disponibili sono i formati SavedModel, TFLite o TF.js che possono essere implementati direttamente nel codice dalla loro libreria tensorflow_hub disponibile . Ti consente di scaricare e utilizzare i modelli disponibili da TensorFlow Hub nel tuo programma TensorFlow con una quantità minima di codice. TensorFlow Hub è aperto ai contributi della community, quindi possiamo essere certi che la raccolta di modelli è destinata a crescere e che saranno disponibili altri modelli a nostra disposizione. 6. Modelli MediaPipe MediaPipe è un framework di Machine Learning open source e multipiattaforma sviluppato dai ricercatori di Google. Fornisce soluzioni ML personalizzabili. Sebbene il progetto Mediapipe sia ancora nella fase Alpha, le sue soluzioni sono già state implementate in molte applicazioni quotidiane che utilizziamo. Le "foto in movimento" di Google e la funzione "sfocatura della privacy" di Youtube sono esempi di questo tipo. Oltre a prestazioni leggere e incredibilmente veloci, MediaPipe supporta la compatibilità multipiattaforma. L'idea è quella di costruire un modello ML una volta e distribuirlo su piattaforme e dispositivi diversi con risultati riproducibili. Supporta piattaforme Python, C, Javascript, Android e IOS. La collezione Medipipe Models fornisce modelli di percezione pronti all'uso per diversi compiti, ad esempio : Le soluzioni più popolari disponibili sono Face mesh (modello face landmark), Pose Detection , Hair Segmentation , KNIFT (feature matching), ecc. Per ciascuno dei modelli disponibili vengono fornite schede modello, contenenti tutti i dettagli relativi a quel modello. Mediapipe fornisce anche un visualizzatore di modelli disponibile online, che aiuta a comprendere il comportamento generale delle loro pipeline di inferenza di machine learning. Di seguito è riportata la struttura del grafico del modello Face Detection disponibile. Con le prestazioni Fast e la compatibilità hardware che offre, Mediapipe può essere una buona soluzione per la maggior parte delle soluzioni di visione in tempo reale. 7. Fantastici modelli CoreML La libreria CoreML di Apple consente agli sviluppatori iOS, macOS, tvOS o watchOS di creare applicazioni divertenti ed entusiasmanti che sfruttano i poteri dell'IA. È in circolazione da iOS 11 ed è incorporato in molte delle applicazioni imminenti in una forma o nell'altra. Il repository Awesome-CoreML-Models contiene una raccolta di modelli di machine learning supportati dalla libreria CoreML di Apple. I modelli sono disponibili nel formato CoreML e non richiedono post-elaborazione o conversione in un'applicazione basata su CoreML. Oltre ai modelli disponibili, il numero di formati di modello può essere convertito nel formato coreML. I formati supportati includono Tensorflow, Caffe, Keras, XGBoost, Scikit-learn, MXNet, LibSVM, Torch7, ecc. 8. Jetson Model Zoo Jetson, la scheda informatica incorporata di Nvidia, è una scelta popolare nella comunità della piattaforma embedded per l'implementazione di applicazioni di intelligenza artificiale. Jetson può eseguire varie reti avanzate, comprese le versioni native complete di framework ML popolari come TensorFlow, PyTorch, Caffe/Caffe2, Keras, MXNet e altri. Jetson Model Zoo contiene vari modelli DNN per l'inferenza su Nvidia Jetson con supporto per TensorRT . Include i collegamenti agli esempi di codice con il modello e l'origine originale del modello. Lo zoo del modello offre anche una panoramica dei benchmark di inferenza di diversi modelli testati su Nvidia Jetson rispetto ad altre schede di sviluppo integrate popolari come Raspberry Pi, Intel Neural Compute Stick e Google Edge TPU Dev Board. Considerando che Jetson è una delle piattaforme integrate più potenti, Jetson Model Zoo è una buona risorsa per la distribuzione di qualsiasi applicazione incorporata. 9. PINTO Model Zoo Il PINTO Model Zoo è stato creato da Katsuya Hyodo, un programmatore e membro del programma Intel Software Innovator. È un repository che condivide i risultati di ottimizzazione dei modelli addestrati generati da Tensorflow. Lo zoo contiene un'enorme quantità di 252 modelli ottimizzati che coprono un'ampia gamma di domini di apprendimento automatico. I modelli forniti sono stati ottimizzati utilizzando varie tecniche come la quantizzazione post-allenamento (quantizzazione del peso, quantizzazione intera, quantizzazione intera intera, quantizzazione Float16) e training consapevole della quantizzazione. I modelli sono disponibili per molte piattaforme diverse come TensorFlow Lite, OpenVINO, CoreML, TensorFlow.js, TF-TRT, MediaPipe, ONNX. Pinto Model Zoo è la risorsa ideale se desideri versioni ottimizzate dei più diffusi modelli ML. 10. ONNX Model Zoo L' ONNX Model Zoo è una raccolta di modelli pre-addestrati e all'avanguardia nel formato ONNX. Open Neural Network Exchange (ONNX) è un formato standard aperto per rappresentare i modelli di apprendimento automatico forniti dai membri della comunità. Offre il vantaggio dell'interoperabilità e consente di utilizzare il framework preferito con il motore di inferenza scelto. Puoi pensarlo come un linguaggio comune di modelli per tutti i framework ML popolari per parlare tra loro. Contiene modelli per una serie di attività diverse in diversi domini: Vision Classificazione delle immagini Rilevamento di oggetti e segmentazione dell'immagine Analisi del corpo, del viso e dei gesti Manipolazione dell'immagine Lingua Comprensione della macchina Traduzione automatica Modellazione del linguaggio Altro Risposte alle domande visive e dialogo Elaborazione vocale e audio Altri modelli interessanti Ad accompagnare ogni modello ci sono i notebook Jupyter per l'addestramento del modello e l'esecuzione dell'inferenza con il modello addestrato. I taccuini sono scritti in Python e includono collegamenti al set di dati di addestramento e riferimenti al documento originale che descrive l'architettura del modello. 11. Modelplace.AI Modelplace.AI è un mercato per modelli di apprendimento automatico e una piattaforma per la comunità per condividere i propri modelli personalizzati. Ha una collezione crescente di modelli per varie attività di visione artificiale, che si tratti di classificazione, rilevamento di oggetti, stima della posa, segmentazione o rilevamento del testo. 11.1 Interfaccia Web per provare i modelli senza scaricarli Un fattore significativo che distingue Modelplace.AI dagli altri repository di modelli è che puoi utilizzare la loro interfaccia web per provare il modello di tuo gradimento con le tue immagini personalizzate. Puoi anche confrontare modelli che svolgono attività simili tra loro su benchmark standard . 11.2 API cloud Modelplace.AI fornisce una comoda API Cloud che puoi utilizzare nella tua applicazione desktop, mobile o edge. 11.3 Importa il modello con Python In alternativa, puoi scegliere di scaricare la versione ottimizzata di quel modello a seconda della piattaforma su cui desideri implementarlo. Per l'ambiente Python, impacchettano i modelli come un file ruota Python in modo da poter far funzionare il modello rapidamente con solo poche righe di codice. Conclusione sui modelli di intelligenza artificiale pre-addestrati Come avrai notato, la maggior parte di questi siti ti reindirizza ai repository github. E Github è, in effetti, il più grande repository di modelli pre-addestrati che puoi trovare. Ciò significa che puoi sempre cercare modelli pre-addestrati su Github e potresti trovare molte opzioni tra cui scegliere. Ovviamente puoi trovare anche molti altri siti ma la qualità dei modelli non è garantita. Il valore aggiunto dei precedenti siti Web è che hanno già effettuato una selezione dei repository Github, quindi se decidi di cercare direttamente in Github, dovrai essere paziente per trovare quello che stai cercando. Come consiglio, controlla sempre la data dell'ultimo commit nel progetto per vedere quanto è ben mantenuto il progetto e controlla anche la licenza con cui è stato pubblicato il progetto. Inizia a sfruttare queste risorse ogni volta che avvii un progetto di Intelligenza Artificiale e controlla se esiste un modello simile che puoi utilizzare o su cui puoi costruire, invece di addestrare i tuoi modelli da zero per accelerare il processo di sviluppo e distribuzione.
- Come investire in intelligenza Artificiale | ETF Intelligenza Artificiale
In questo articolo capiremo come è possibile investire sull'intelligenz artificiale tramite uno strumento finanziario chiamato ETF. Il rapido ritmo dell'innovazione nell'intelligenza artificiale (AI) ha portato alla realtà molte esperienze che in precedenza si pensava fossero solo finzione. Mentre l'IA continua a sconvolgere il modo in cui viviamo e lavoriamo, come possono gli investitori investire denaro in questa tecnologia avanzata che sta rapidamente rimodellando la società? Abbiamo creato questa pratica guida per principianti per aiutarti a capire meglio cos'è l'IA e come le aziende utilizzano la tecnologia. Inoltre, abbiamo identificato alcuni investimenti popolari in questo settore in rapida crescita. NOTA : sono investimenti popolari ciò non vuol dire che ti stiamo consigliando di comprare o investirci! QUESTO ARTICOLO NON CONTINE NESSUN CONSIGLIO FINANZIARIO Da bravi investitori però dobbiamo conoscere ciò su cui vogliamo investire, quindi partiamo dalle basi... Cos'è l'IA? L'intelligenza artificiale tenta di replicare l'intelligenza umana in un computer o in una macchina con maggiore velocità e maggiore precisione. Aziende come Amazon (AMZN) e Google (GOOGL) utilizzano la tecnologia per programmare macchine per risolvere problemi, rispondere a domande e svolgere attività precedentemente svolte dagli esseri umani. Man mano che i sistemi diventano più intelligenti, l'IA diventa più potente e i suoi usi e applicazioni raggiungono ogni settore e industria azionaria. Ad esempio, l'industria dei trasporti sta subendo una massiccia trasformazione intorno ai veicoli elettrici e autonomi , portando potenzialmente trilioni di dollari all'economia globale. Allo stesso modo, il settore bancario utilizza l'intelligenza artificiale per migliorare il processo decisionale nel trading ad alta velocità, automatizzare i processi di back-office come la gestione del rischio o persino ridurre i costi utilizzando robot umanoidi nelle filiali. E questi sono solo alcuni esempi di applicazioni di intelligenza artificiale. Gli analisti di International Data Corp. (IDC), un fornitore di market intelligence, prevedono che i ricavi mondiali per il mercato dell'IA potrebbero superare i 500 miliardi di dollari entro il 2024 , registrando un tasso di crescita composto annuo in cinque anni del 17,5%. "L'intelligenza artificiale è l'innovazione più dirompente della nostra vita" , afferma Ritu Jyoti, vicepresidente del gruppo, Worldwide Artificial Intelligence and Automation Research Practice Global AI Research Lead presso IDC in una nota ai clienti. La pandemia globale ha accelerato l'adozione dell'IA e sta diventando onnipresente in tutti i processi aziendali. Come le aziende utilizzano l'Intelligenza Artificiale? Che si tratti di forze dell'ordine che utilizzano software di riconoscimento facciale per condurre indagini, elettrodomestici alimentati dall'intelligenza artificiale come i frigoriferi intelligenti di Samsung che ci semplificano la vita o robo-advisor che utilizzano modelli automatizzati basati su algoritmi per ottimizzare i nostri investimenti e formulare consigli sulla pianificazione finanziaria, L'IA è ovunque. Al centro dell'IA ci sono i big data, data scientist, ingegneri e altri esperti che creano algoritmi complessi in grado di acquisire nuove informazioni per migliorarne le prestazioni e la precisione. Con l'apprendimento automatico, ad esempio, un sottocampo dell'IA, organizzazioni come Netflix utilizzano i dati degli utenti per formulare consigli e previsioni sui contenuti. Man mano che gli utenti immettono più informazioni, come dare un pollice in su o un pollice in giù a uno spettacolo, il sistema memorizza ed elabora tale conoscenza, diventando progressivamente più intelligente. Secondo un sondaggio su oltre 350 ricercatori di intelligenza artificiale condotto dall'Università di Oxford e dalla Yale University nel 2015, c'è una probabilità del 50% che le macchine possano superare gli esseri umani in tutte le attività entro l'anno 2060. E alcuni visionari della tecnologia come il CEO di Tesla Elon Musk credo che potrebbe essere molto prima. Le organizzazioni sfruttano sempre più il potere dell'IA per prendere decisioni aziendali critiche, come dare la priorità alle cure mediche in caso di emergenza, migliorare le pratiche di reclutamento e determinare l'idoneità di un individuo a credito, alloggio e altri servizi essenziali. C'è anche molto dibattito su come l'IA avrà un impatto sul mercato del lavoro. Con l'aumento della dipendenza degli esseri umani dalle macchine, aumenta anche la necessità per i dipendenti di migliorare e apprendere nuove competenze. Entro il 2030, il World Economic Forum stima che più di 1 miliardo di persone , circa un terzo dei posti di lavoro in tutto il mondo, potrebbero essere colpiti dalla rivoluzione tecnologica. Per tenere conto dei limiti dell'IA, almeno fino a quando la tecnologia non si evolverà ulteriormente, i leader delle organizzazioni si sono affidati all'intelligenza aumentata, che combina intelligenza artificiale e competenza umana. In sostanza, l'intelligenza artificiale consente agli esseri umani di lavorare meglio e più velocemente. La necessità dell'input umano, tuttavia, diminuisce man mano che l'IA diventa più forte. Come investire in intelligenza artificiale? Per la maggior parte degli investitori al dettaglio, c'è la possibilità che tu abbia già un'esposizione all'IA, poiché molte grandi società pubbliche statunitensi stanno utilizzando l'IA o stanno attivamente cercando di investire nella tecnologia. Ma per coloro che cercano un'esposizione più ampia, i fondi negoziati in borsa (ETF) offrono un modo semplice ed efficiente per investire in titoli di IA. Simile ad altri tipi di investimento tematici, come la tecnologia blockchain , la sicurezza informatica e la genomica, gli ETF AI detengono un gruppo di società quotate in borsa coinvolte in tutte le fasi dell'IA, dallo sviluppo all'implementazione. Quando si effettua un investimento in un ETF AI, l'esposizione è su un gruppo di azioni, riducendo così il rischio di mercato generale scommettendo su più di un singolo titolo. Tipi di ETF sull' intelligenza artificiale: È un compito piuttosto soggettivo identificare i migliori ETF sull'IA nel livello dell'investitore. Ad esempio, alcuni investitori potrebbero cercare un fondo incentrato principalmente sui titoli di intelligenza artificiale, mentre altri potrebbero preferire un fondo azionario tecnologico che distribuisca solo una parte del patrimonio del fondo ai titoli di intelligenza artificiale. Abbiamo anche fondi che utilizzano l'IA per selezionare le partecipazioni. Di seguito abbiamo fornito spiegazioni sui tipi di base degli ETF AI: ETF FOCALIZZATI SULL'IA Questo tipo di ETF ai investe specificamente in aziende che hanno prodotti o servizi relativi all'IA. Questi fondi di solito hanno un'esposizione del 100% ai titoli di intelligenza artificiale. ETF AI A ESPOSIZIONE LIMITATA Questi tipi di fondi hanno un'esposizione del portafoglio di almeno il 25% per cento alle organizzazioni che utilizzano la tecnologia di intelligenza artificiale. Esempi di queste aziende includono Alphabet (GOOG, GOOGL), Tesla Motors (TSLA) e Amazon (AMZN). FONDI GESTITI DALL'INTELLIGENZA ARTIFICIALE Fondi come questo possono essere investiti in titoli di intelligenza artificiale, tuttavia, il fondo stesso utilizza la tecnologia di intelligenza artificiale per selezionare i singoli titoli che saranno detenuti nel fondo. PERCHÉ DOVREI INVESTIRE IN ETF di Intelligenza Artificiale SPESE INFERIORI Gli ETF a gestione passiva tendono ad avere un rapporto di spesa molto ridotto rispetto ai fondi a gestione attiva, che in genere sembrano essere i fondi comuni di investimento. A differenza dei fondi comuni di investimento aperti, i costi operativi dell'ETF possono essere semplificati. Tutti i fondi gestiti sono soggetti a costi operativi indipendentemente dalla struttura. Alcuni di questi costi sono le spese di marketing, le spese amministrative, i costi di distribuzione, i costi di custodia e le commissioni di gestione del portafoglio. I costi sono sempre stati molto cruciali nella previsione dei rendimenti. In tutto, un fondo che sostiene un costo di investimento inferiore garantirà un rendimento maggiore su quel fondo. VANTAGGIO FISCALE Un ETF AI ha un vantaggio fiscale maggiore rispetto ai fondi comuni di investimento. In quanto investimenti a gestione passiva, gli ETF (così come i fondi indicizzati) registrano tipicamente guadagni in conto capitale inferiori rispetto ai fondi comuni di investimento, che sono gestiti attivamente. GESTIONE DEL RISCHIO E DIVERSIFICAZIONE DEL PORTAFOGLIO Le società di investimento potrebbero voler ottenere rapidamente un'esposizione del portafoglio a determinati settori, stili, settori o regioni, ma non hanno esperienza in tali aree. Considerando la vasta gamma di categorie di settore, stile, paese e settore disponibili, le azioni ETF hanno la capacità di offrire una facile esposizione a un investitore in una particolare area di mercato desiderata. Inoltre, gli ETF sono attualmente negoziati su quasi tutte le principali valute, materie prime e classi di attività del mondo. Nel caso in cui un investitore abbia un grande rischio in un determinato settore ma non sia in grado di diversificare tale rischio a causa di tasse o restrizioni, l'individuo può decidere di shortare un ETF del settore in questa situazione o procedere all'acquisto di un ETF che shorta un settore per loro conto. REINVESTIMENTO IMMEDIATO DEL SETTORE In un ETF di tipo aperto, i dividendi delle organizzazioni vengono immediatamente reinvestiti, mentre i tempi precisi per il reinvestimento possono variare per i fondi comuni di investimento indicizzati. Un paio di altri vantaggi includono che è disponibile anche in investimenti alternativi, mantiene la trasparenza e aumenta l'efficienza del tempo. I MIGLIORI ETF di INTELLIGENZA ARTIFICIALE: GLOBAL X ROBOTICS & ARTIFICIAL INTELLIGENCE THEMATIC (BOTZ): BOTZ, che è uno dei più grandi ETF sull'IA, ha più di 1,40 miliardi di dollari di asset in gestione. Come riportato da Global X, l'obiettivo di questo fondo è investire in organizzazioni che hanno il potenziale per sfruttare l'adozione e l'utilizzo dell'intelligenza artificiale (AI) e della robotica, comprese quelle coinvolte con veicoli autonomi, robot non industriali, e automazione industriale e robotica. Il fondo ha un rapporto di spesa dello 0,68% o $ 68 per ogni $ 10.000 investiti. ROBO GLOBAL ROBOTICS & AUTOMATION INDEX (ROBO): ROBO è stato il primo ETF di automazione e robotica ad essere introdotto sul mercato. Concentra le sue partecipazioni su organizzazioni che operano nei settori associati all'intelligenza artificiale, all'automazione e alla robotica in tutto il mondo. ROBO ha più di 80 titoli, che sono diversificati tra titoli a grande, media e piccola capitalizzazione. Detiene $ 1,19 miliardi di asset in gestione e le spese per ROBO sono dello 0,95%. EQUBOT AI-POWERED EQ INTERNATIONAL ETF (AIIQ): Questo ETF non si occupa di acquistare azioni di aziende nel settore dell'intelligenza artificiale, ma utilizza invece il potere dell'IA per selezionare le azioni che saranno detenute nel fondo. Gli investimenti del fondo primario in AIIQ sono determinati dai risultati dei modelli quantitativi proprietari sviluppati da Equbot con IBM Watson AI. I metodi completamente gestiti e basati sull'intelligenza artificiale costruiranno un portafoglio di circa 80 e 250 titoli, selezionando tra oltre 15.000 organizzazioni in tutto il mondo, poiché filtrano attentamente le informazioni e imparano dalle procedure. AIIQ ha una quantità relativamente piccola di asset in gestione a $ 3,66 milioni e un rapporto di spesa dello 0,79%. CONCLUSIONE su Come investire in intelligenza Artificiale Concludendo sui fondi dell'IA, è pertinente affermare che esiste il potenziale per aumentare le richieste di intelligenza artificiale, automazione e robotica in futuro. Pertanto, il potenziale di crescita degli ETF AI e dei titoli AI è significativo, anche se il rischio di mercato è generalmente maggiore rispetto a investimenti più diversificati. Gli investitori dovrebbero essere cauti nell'aggiungere a un portafoglio fondi di settore con ambiti ristretti, come gli ETF AI. QUESTO ARTICOLO NON CONTIENE CONSIGLI FINANZIARI! MA VUOLE SOLO ESSERE UN PUNTO DI PARTENZA PER L'INVESTITORE INTELLIGENTE!
- Intelligenza artificiale nel business
L'impatto dell'intelligenza artificiale nel business, secondo Accenture, ha il potenziale per aumentare la produttività del 40% o più. Con le statistiche del World Economic Forum sull'impatto dell'IA entro il 2023, oltre 75 milioni di posti di lavoro umani saranno stati sostituiti dall'IA, creando allo stesso tempo 133 milioni di posti di lavoro, confutando l'idea sbagliata che l'adozione dell'IA lascerà più persone senza lavoro. PERCHÈ L'INTELLIGENZA ARTIFICIALE (AI) NEL BUSINESS? Con la quantità sempre più vasta di dati oggi disponibile e le preferenze e la complessità in continua evoluzione dei clienti, le aziende non possono più fare affidamento sui metodi aziendali tradizionali per guidare la crescita. Questi cambiamenti radicali hanno aperto un nuovo regno di possibilità, con l'IA, per guidare la crescita del business attraverso informazioni fruibili generate dai dati dei clienti. L'intelligenza artificiale negli affari implica semplicemente l'uso di software per computer intelligenti con capacità simili a quelle umane per aumentare i ricavi, migliorare l'esperienza del cliente, aumentare la produttività e l'efficienza e guidare la crescita e la trasformazione del business. PERCHÉ LE AZIENDE DOVREBBERO UTILIZZARE L'IA? I processi aziendali nel 21 ° secolo sono caratterizzati da un alto livello di complessità che coinvolge compiti che sono stressanti e inefficienti per essere svolti dall'uomo. Il business nel mondo di oggi è dominato dall'era dei dati. Le aziende possono ottenere preziose informazioni sulle strategie che possono guidare radicalmente la crescita dai dati. Pertanto, la necessità per le aziende di comprendere in modo univoco le esigenze e le preferenze dei clienti è inestimabile nel mondo degli affari di oggi; per prosperare e mantenere la rilevanza all'interno della feroce concorrenza. Utilizzando l'intelligenza artificiale negli affari, le aziende possono ora comprendere e coinvolgere in modo univoco i clienti, automatizzare i processi aziendali e migliorare la produttività e le entrate riducendo al contempo le spese operative. ESEMPI DI INTELLIGENZA ARTIFICIALE NEL BUSINESS: L'attuale era dei dati ha stimolato l'ascesa di molte applicazioni dell'intelligenza artificiale nel mondo degli affari , tra cui l'analisi dei dati, le offerte aziendali personalizzate e l'automazione. Ecco alcuni esempi di intelligenza artificiale nel mondo degli affari : L'IA NEL SERVIZIO CLIENTI La sostituzione degli esseri umani con l'IA nel servizio clienti è un altro controverso esempio di intelligenza artificiale negli affari. Con l'avvento dei chatbot, i clienti possono ora interagire con le aziende in tempo reale per risolvere reclami, effettuare ordini, ottenere informazioni e fare quasi tutto ciò di cui avrebbero bisogno da una conversazione con un rappresentante umano dell'assistenza clienti. Secondo Gartner, l'85% delle interazioni con i clienti sarà gestito senza un essere umano entro il 2020. Questa innovazione dirompente dell'intelligenza artificiale nel mondo degli affari allevierà il bisogno di esseri umani nell'interazione con i clienti, riducendo i costi aziendali e migliorando esponenzialmente l'accessibilità dell'assistenza clienti e l'esperienza di conversazione. INTELLIGENZA AZIENDALE Con la crescente quantità di dati aziendali disponibili, trovare informazioni dettagliate dai dati può essere piuttosto difficile. Ciò ha portato all'adozione di routine dell'intelligenza artificiale nella business intelligence per ottenere preziose informazioni dai dati. Queste informazioni aiutano le aziende a migliorare l'efficacia del marketing, comprendere meglio i clienti, eseguire la segmentazione per creare esperienze personalizzate e sviluppare strategie aziendali per aiutare il processo decisionale aziendale e sfruttare l'intelligenza artificiale nella gestione aziendale. Esistono oggi numerosi strumenti che implicano l'uso dell'intelligenza artificiale nella business intelligence . Gli strumenti più diffusi includono Microsoft Power BI che aiuta le aziende a ottenere analisi chiave per sapere quali strategie e decisioni hanno una grande influenza sulle metriche aziendali. Inoltre, l'integrazione delle funzionalità di machine learning all'interno di Power BI può aiutare le aziende a creare modelli di machine learning per fare previsioni e previsioni preziose dai dati e automatizzare i processi aziendali. MARKETING PERSONALIZZATO E MIRATO La chiave per aumentare le entrate aziendali richiede conoscere i desideri di un consumatore e sapere cosa commercializzare per ciascun consumatore. Nel nostro mondo di crescente coinvolgimento digitale, i clienti hanno un tempo estremamente limitato con troppe aziende che cercano di commercializzare i loro prodotti per loro. Ciò spiega la crescente necessità di commercializzare solo ciò che attrae ciascun cliente e di sapere anche chi commercializzare ciascuno dei prodotti di un'azienda. Con i dati ottenuti dalle attività online dei clienti, le aziende possono ora utilizzare l'IA per prevedere e indirizzare a chi commercializzare un particolare prodotto al fine di aumentare le possibilità di vendita e l'efficacia delle attività di marketing allo stesso tempo, riducendo i costi di marketing complessivi. RACCOMANDAZIONE DEL PRODOTTO E ANALISI PREDITTIVA Per aumentare l'efficacia degli sforzi di marketing e il coinvolgimento dei clienti con il prodotto di un'azienda, le aziende devono essere in grado di consigliare prodotti che mantengano l'interesse dei loro clienti e soddisfino i desideri di un cliente. Aziende come Netflix, Spotify, Amazon, ecc., ora utilizzano l'intelligenza artificiale per comprendere le abitudini/comportamenti dei clienti e prevedere quale prodotto consigliare. Spotify, ad esempio, monitora e comprende il comportamento di ascolto e le preferenze relative ai brani degli utenti e utilizza l'intelligenza artificiale per fornire consigli sui brani che potrebbero piacere a ciascun utente. Altre società come Netflix utilizzano i sistemi di raccomandazione dell'intelligenza artificiale per intrattenere gli utenti e intrattenere la dipendenza dai loro prodotti fornendo consigli sui film che si rivolgono in modo univoco a ciascun utente, in base alle loro esperienze distinte. Circa il 75 percento di ciò che gli utenti guardano su Netflix arriva attraverso questi consigli e la raccomandazione AI dell'azienda riduce le spese di circa $ 1 miliardo ogni anno. Le banche e le società Fintech utilizzano l'IA anche per l'analisi predittiva, per il rilevamento delle frodi e per determinare i clienti che potrebbero rimborsare i prestiti prima di approvare le richieste di prestito. ELABORAZIONE DEL LINGUAGGIO NATURALE Se sei uno di quelli che chiedono, "quando le macchine saranno in grado di leggere, scrivere e comprendere le lingue come gli umani?" Bene, la risposta è ORA! Con i progressi nell'elaborazione del linguaggio naturale, le aziende ora offrono prodotti di assistente digitale intelligente per assistere gli utenti nelle attività di routine. Le aziende ora utilizzano l'intelligenza artificiale per generare report aziendali automatizzati senza la supervisione umana ed eseguire anche analisi del sentiment per comprendere la percezione del proprio marchio da parte delle persone da vari commenti online, tweet, ecc. sull'azienda. Attraverso la sentiment analysis, le aziende possono comprendere costantemente la percezione delle persone sui loro prodotti e servizi. Questo aiuta a migliorare la qualità dei servizi e l'offerta di prodotti personalizzati. I VANTAGGI DELL'INTELLIGENZA ARTIFICIALE NEL BUSINESS : I vantaggi che le aziende possono ottenere dall'uso dell'IA sono infiniti e includono: Automazione dei processi Risultati più positivi dalle attività di marketing e aumento delle entrate Migliore comprensione dei clienti e migliore esperienza dei servizi offerti Intercettazione di una frode Servizio clienti migliorato e più affidabile SFIDE DELL' IA NEL BUSINESS L'applicazione dell'intelligenza artificiale nel mondo del business è in costante aumento. Tuttavia, questa crescita è minacciata da alcuni fattori critici che limitano l'uso delle tecnologie di intelligenza artificiale negli affari. SCARSITÀ DI DATI Anche con l'abbondanza di dati oggi disponibili per le aziende, l'adozione dell'intelligenza artificiale per alcuni aspetti rimane impegnativa. Affinché l'apprendimento automatico, che alimenta la maggior parte delle applicazioni dell'intelligenza artificiale nelle aziende , funzioni, sono necessarie grandi quantità di dati per addestrare il modello. Ciò limita l'uso dell'IA in nuove aree aziendali in cui non sono disponibili dati. L'enorme quantità di dati che abbiamo è il più delle volte in gran parte non strutturata e senza etichetta e con la maggior parte delle applicazioni di intelligenza artificiale, inclusa la formazione supervisionata sui dati etichettati, ciò rappresenta una sfida per l'uso dell'intelligenza artificiale nel mondo degli affari. BIAS DELL'ALGORITMO Di recente, Microsoft e Amazon hanno sospeso la vendita del loro software di riconoscimento facciale AI alle forze dell'ordine a causa dei pregiudizi etnici, razziali e di genere del software. Questo illustra una delle principali sfide dell'IA, che illustra quanto male possa funzionare l'algoritmo se addestrato su dati distorti. In futuro, tali pregiudizi saranno adeguatamente affrontati dai sistemi di intelligenza artificiale, ma per ora rappresentano una grave minaccia per l'adozione dell'IA in alcune aree di applicazione. Altre sfide includono: Limitazioni nella capacità di calcolo attuale Problemi di minacce alla sicurezza e alla privacy dei dati (poiché l'uso dell'IA comporta la raccolta di informazioni sensibili delle persone). PRINCIPALI AZIENDE CHE USANO L'IA La maggior parte delle migliori aziende del mondo ha adottato radicalmente l'uso dell'IA. Ecco alcune delle migliori aziende che sfruttano la potenza dell'IA. Alibaba: con la sua integrazione dell'IA nelle sue operazioni commerciali, Alibaba utilizza l'IA per prevedere i prodotti che i clienti potrebbero voler acquistare e anche per creare automaticamente le descrizioni dei prodotti Uber: l'ennesima grande azienda che sta trasformando il mondo degli affari con l'intelligenza artificiale è il gigante del ride-hailing, Uber. Uber sfrutta l'intelligenza artificiale per prevedere la domanda, riducendo così il tempo di arrivo stimato e abbinando in modo efficiente motociclisti e conducenti, riducendo il tasso di chiesa. Con la funzione di chat con un clic dell'IA di Uber, i conducenti possono comunicare con i motociclisti con un solo clic tramite consigli di risposta automatica ai messaggi del conducente. Altre grandi aziende che hanno trasformato le operazioni commerciali con l'IA includono: Amazon, con la sua raccomandazione AI, fabbriche automatizzate e l'assistente digitale Amazon Alexa Tesla con i loro veicoli autonomi Microsoft con Power BI e la piattaforma di machine learning di Azure TENDENZE FUTURE DELL'IA Esaminando le entusiasmanti tendenze future dell'IA, nel prossimo futuro dovremmo aspettarci: Brani e film generati dall'intelligenza artificiale da società di intrattenimento Fabbriche completamente automatizzate che non richiedono supervisione umana L'uso dell'IA per generare dati di addestramento di qualità per se stesso, per affrontare il problema della distorsione e della scarsità di dati e molti altri. I potenziali futuri dell'IA, per la prima volta, lasceranno agli esseri umani il potere effettivo di progettare il futuro esattamente come vogliamo. INTELLIGENZA ARTIFICIALE NEL BUSINESS "L'intelligenza artificiale sarebbe la versione definitiva di Google. Il motore di ricerca definitivo in grado di comprendere tutto sul Web" , afferma Larry Page. “Capirebbe esattamente quello che vuoi e ti darebbe la cosa giusta. Non siamo neanche lontanamente vicini a farlo ora. Tuttavia, possiamo avvicinarci sempre di più a questo, ed è fondamentalmente ciò su cui lavoriamo". Stiamo solo grattando la superficie dell'IA e le sue possibilità possono solo aumentare esponenzialmente. Le aziende che non vogliono perdersi il futuro rivoluzionario del business devono, inevitabilmente, abbracciare l'uso dell'IA come luce guida.
- Come creare dei checkpoint in un modello di deep learning
I modelli di deep learning possono richiedere ore, giorni o addirittura settimane per essere addestrati. Se l'allenamento viene interrotto inaspettatamente, puoi perdere molto lavoro. In questo post scoprirai come creare dei checkpoint dei tuoi modelli di deep learning durante l'addestramento in Python usando la libreria Keras. Abbiamo deciso di scrivere questo articolo proprio perchè qualche giorno fa ci è saltata la corrente e abbiamo perso i dati di un allenamento che andava avanti da 7 ore. Risultato finale 7 ore perse. Ma non vogliamo che ti succeda anche a te, proprio per questo segui attentamente l'articolo e imparerai a creare dei checkpoints mentre alleni un modello di deep learning Cosa è un Checkpoint nei modelli di deep learning? Il checkpoint dell'applicazione è una tecnica di "salvataggio dei risultati temporanei" per processi di lunga durata. In questo approccio, viene acquisita un'istantanea dello stato del sistema in caso di guasto del sistema. Se c'è un problema, non tutto è perduto. Il checkpoint può essere utilizzato direttamente o come punto di partenza per un nuovo allenamento riprendendo da dove si era interrotto. Quando si addestrano modelli di deep learning, il punto di checkpoint sono i pesi del modello. Questi pesi possono essere utilizzati per fare previsioni così com'è o come base per la formazione continua. La libreria Keras fornisce una funzionalità di checkpoint tramite un'API di callback . La classe di callback ModelCheckpoint consente di definire dove eseguire il checkpoint dei pesi del modello, come assegnare un nome al file e in quali circostanze creare un checkpoint del modello. L'API consente di specificare quale metrica monitorare, ad esempio la perdita o l'accuratezza del set di dati di addestramento o convalida. È possibile specificare se cercare un miglioramento per massimizzare o ridurre al minimo il punteggio. Infine, il nome file che usi per memorizzare i pesi può includere variabili come il numero di epoch o la metrica. Il ModelCheckpoint può quindi essere passato al processo di addestramento quando si chiama la funzione fit() sul modello. Nota che potrebbe essere necessario installare la libreria h5py per emettere pesi di rete in formato HDF5. Come usare un Checkpoint nei modelli di deep learning? Un buon uso del checkpoint è quello di produrre i pesi del modello ogni volta che si osserva un miglioramento durante l'allenamento. Detto in parole semplici ogni volta che il modello migliora lo salviamo, e ripartiamo da li. L'esempio seguente crea una piccola rete neurale per l'insorgenza del problema di classificazione binaria del diabete. L'esempio presuppone che il file diabetes.csv si trovi nella directory di lavoro. Scaricalo premendo qui sotto. L'esempio utilizza il 33% dei dati per la convalida. Il checkpoint è impostato per salvare i pesi della rete solo quando c'è un miglioramento nell'accuratezza della classificazione sul set di dati di convalida (monitor='val_accuracy' e mode='max'). I pesi sono memorizzati in un file che include il punteggio nel nome del file weights-improvement-{val_accuracy=.2f}.hdf5 Come creare dei checkpoints in un modello di deep learning con Python Crea un nuovo file python e incolla il codice che segue # Creiamo dei checkpoint solo quando il modello migliora from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.callbacks import ModelCheckpoint import matplotlib.pyplot as plt import numpy as np import tensorflow as tf seed = 42 tf.random.set_seed(seed) # dataset dataset = np.loadtxt("diabetes.csv", delimiter=",") # Dividiamo in input (X) e output (Y) X = dataset[:,0:8] Y = dataset[:,8] # model model = Sequential() model.add(Dense(12, input_shape=(8,), activation='relu')) model.add(Dense(8, activation='relu')) model.add(Dense(1, activation='sigmoid')) # Compiliamo il modello model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # checkpoint filepath="weights-improvement-{epoch:02d}-{val_accuracy:.2f}.hdf5" checkpoint = ModelCheckpoint(filepath, monitor='val_accuracy', verbose=1, save_best_only=True, mode='max') callbacks_list = [checkpoint] # Allenamento model.fit(X, Y, validation_split=0.33, epochs=150, batch_size=10, callbacks=callbacks_list, verbose=0) L'esecuzione dell'esempio produce il seguente output (troncato): Epoch 00134: val_accuracy did not improve Epoch 00135: val_accuracy did not improve Epoch 00136: val_accuracy did not improve Epoch 00137: val_accuracy did not improve Epoch 00138: val_accuracy did not improve Epoch 00139: val_accuracy did not improve Epoch 00140: val_accuracy improved from 0.83465 to 0.83858, saving model to weights-improvement-140-0.84.hdf5 Epoch 00141: val_accuracy did not improve Epoch 00142: val_accuracy did not improve Epoch 00143: val_accuracy did not improve Epoch 00144: val_accuracy did not improve Epoch 00145: val_accuracy did not improve Epoch 00146: val_accuracy improved from 0.83858 to 0.84252, saving model to weights-improvement-146-0.84.hdf5 Epoch 00147: val_accuracy did not improve Epoch 00148: val_accuracy improved from 0.84252 to 0.84252, saving model to weights-improvement-148-0.84.hdf5 Epoch 00149: val_accuracy did not improve Vedrai un certo numero di file nella tua directory di lavoro contenenti i pesi di rete in formato HDF5. Per esempio: ... weights-improvement-53-0.76.hdf5 weights-improvement-71-0.76.hdf5 weights-improvement-77-0.78.hdf5 weights-improvement-99-0.78.hdf5 Questa è una strategia di checkpoint molto semplice. Potrebbe creare molti file di checkpoint non necessari se l'accuratezza della convalida si sposta su e giù durante le epoch di addestramento. Tuttavia, ti garantirà un'istantanea del miglior modello scoperto durante la tua corsa. Checkpoint del miglior modello di deep learning Una strategia di checkpoint più semplice consiste nel salvare i pesi del modello nello stesso file se e solo se l'accuratezza della convalida migliora. Questo può essere fatto facilmente usando lo stesso codice dall'alto e cambiando il nome del file di output da correggere (escluse le informazioni sul punteggio o sull'epoca). In questo caso, i pesi del modello vengono scritti nel file “weights.best.hdf5” solo se l'accuratezza della classificazione del modello sul dataset di validazione migliora rispetto alla migliore vista finora. # Creiamo dei checkpoint solo quando il modello migliora from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.callbacks import ModelCheckpoint import matplotlib.pyplot as plt import numpy as np import tensorflow as tf seed = 42 tf.random.set_seed(seed) # dataset dataset = np.loadtxt("diabetes.csv", delimiter=",") # Dividiamo in input (X) e output (Y) X = dataset[:,0:8] Y = dataset[:,8] # model model = Sequential() model.add(Dense(12, input_shape=(8,), activation='relu')) model.add(Dense(8, activation='relu')) model.add(Dense(1, activation='sigmoid')) # Compiliamo il modello model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # checkpoint filepath="weights.best.hdf5" checkpoint = ModelCheckpoint(filepath, monitor='val_accuracy', verbose=1, save_best_only=True, mode='max') callbacks_list = [checkpoint] # Allenamento model.fit(X, Y, validation_split=0.33, epochs=150, batch_size=10, callbacks=callbacks_list, verbose=0) L'esecuzione di questo esempio fornisce il seguente output (troncato per brevità): Epoch 00139: val_accuracy improved from 0.79134 to 0.79134, saving model to weights.best.hdf5 Epoch 00140: val_accuracy did not improve Epoch 00141: val_accuracy did not improve Epoch 00142: val_accuracy did not improve Epoch 00143: val_accuracy did not improve Epoch 00144: val_accuracy improved from 0.79134 to 0.79528, saving model to weights.best.hdf5 Epoch 00145: val_accuracy improved from 0.79528 to 0.79528, saving model to weights.best.hdf5 Epoch 00146: val_accuracy did not improve Epoch 00147: val_accuracy did not improve Epoch 00148: val_accuracy did not improve Epoch 00149: val_accuracy did not improve Dovresti vedere il file del peso nella tua directory locale. weights.best.hdf5 Questa è una pratica strategia di checkpoint da utilizzare sempre durante i tuoi esperimenti. Garantirà che il tuo modello migliore venga salvato per la corsa per poterlo utilizzare in seguito, se lo desideri. Evita di dover includere codice per tenere traccia e serializzare manualmente il modello migliore durante l'addestramento. EarlyStopping insieme a Checkpoint Negli esempi sopra, è stato fatto un tentativo di adattare il tuo modello con 150 epoch. In realtà non è facile dire quante epoch occorrono per addestrare il proprio modello. Un modo per affrontare questo problema è sovrastimare il numero di epoch. Ma questo potrebbe richiedere molto tempo. Dopotutto, se stai controllando solo il modello migliore, potresti scoprire che nel corso delle diverse migliaia di epoch hai già ottenuto il modello migliore nelle prime cento epoch e in seguito non vengono più effettuati punti di controllo. È abbastanza comune utilizzare il callback ModelCheckpoint insieme a EarlyStopping. Aiuta a interrompere l'allenamento una volta che non si vede alcun miglioramento metrico per diverse epoch. L'esempio seguente aggiunge il callback esper interrompere anticipatamente l'allenamento una volta che non vede migliorare l'accuratezza della convalida per cinque epoch consecutive: from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStopping import matplotlib.pyplot as plt import numpy as np # dataset dataset = np.loadtxt("pima-indians-diabetes.csv", delimiter=",") # input (X) e output (Y) X = dataset[:,0:8] Y = dataset[:,8] # modello model = Sequential() model.add(Dense(12, input_shape=(8,), activation='relu')) model.add(Dense(8, activation='relu')) model.add(Dense(1, activation='sigmoid')) # Compiliamo il modello model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) # checkpoint filepath="weights.best.hdf5" checkpoint = ModelCheckpoint(filepath, monitor='val_accuracy', verbose=1, save_best_only=True, mode='max') es = EarlyStopping(monitor='val_accuracy', patience=5) callbacks_list = [checkpoint, es] # Allenamento model.fit(X, Y, validation_split=0.33, epochs=150, batch_size=10, callbacks=callbacks_list, verbose=0) L'esecuzione di questo esempio fornisce il seguente output: Epoch 1: val_accuracy improved from -inf to 0.51969, saving model to weights.best.hdf5 Epoch 2: val_accuracy did not improve from 0.51969 Epoch 3: val_accuracy improved from 0.51969 to 0.54724, saving model to weights.best.hdf5 Epoch 4: val_accuracy improved from 0.54724 to 0.61417, saving model to weights.best.hdf5 Epoch 5: val_accuracy did not improve from 0.61417 Epoch 6: val_accuracy did not improve from 0.61417 Epoch 7: val_accuracy improved from 0.61417 to 0.66142, saving model to weights.best.hdf5 Epoch 8: val_accuracy did not improve from 0.66142 Epoch 9: val_accuracy did not improve from 0.66142 Epoch 10: val_accuracy improved from 0.66142 to 0.68504, saving model to weights.best.hdf5 Epoch 11: val_accuracy did not improve from 0.68504 Epoch 12: val_accuracy did not improve from 0.68504 Epoch 13: val_accuracy did not improve from 0.68504 Epoch 14: val_accuracy did not improve from 0.68504 Epoch 15: val_accuracy improved from 0.68504 to 0.69685, saving model to weights.best.hdf5 Epoch 16: val_accuracy improved from 0.69685 to 0.71260, saving model to weights.best.hdf5 Epoch 17: val_accuracy improved from 0.71260 to 0.72047, saving model to weights.best.hdf5 Epoch 18: val_accuracy did not improve from 0.72047 Epoch 19: val_accuracy did not improve from 0.72047 Epoch 20: val_accuracy did not improve from 0.72047 Epoch 21: val_accuracy did not improve from 0.72047 Epoch 22: val_accuracy did not improve from 0.72047 Questo processo di addestramento si è interrotto dopo l'epoca 22 poiché non è stata raggiunta una migliore precisione nelle ultime cinque epoch. Caricamento di un modello di rete neurale con checkpoint Ora che hai visto come eseguire il checkpoint dei tuoi modelli di deep learning durante l'allenamento, devi rivedere come caricare e utilizzare un modello con checkpoint. Il checkpoint include solo i pesi del modello. Presuppone che tu conosca la struttura della rete. Anche questo può essere serializzato in un file in formato JSON o YAML. Nell'esempio seguente, la struttura del modello è nota e i pesi migliori vengono caricati dall'esperimento precedente, archiviati nella directory di lavoro nel file weights.best.hdf5. Il modello viene quindi utilizzato per fare previsioni sull'intero set di dati. # come caricare un checkpoint from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.callbacks import ModelCheckpoint import matplotlib.pyplot as plt import numpy as np # modello model = Sequential() model.add(Dense(12, input_shape=(8,), activation='relu')) model.add(Dense(8, activation='relu')) model.add(Dense(1, activation='sigmoid')) # carichiamo i pesi ( weights ) model.load_weights("weights.best.hdf5") # Compiliamo il modello model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) print("Created model and loaded weights from file") # dataset dataset = np.loadtxt("pima-indians-diabetes.csv", delimiter=",") # input (X) e output (Y) X = dataset[:,0:8] Y = dataset[:,8] # accuracy scores = model.evaluate(X, Y, verbose=0) print("%s: %.2f%%" % (model.metrics_names[1], scores[1]*100)) L'esecuzione dell'esempio produce il seguente output: Created model and loaded weights from file acc: 77.73% Riepilogo su Come creare dei checkpoints in un modello di deep learning In questo post, hai scoperto l'importanza di controllare i modelli di deep learning per lunghe sessioni di allenamento. Hai imparato due strategie di check-point che puoi utilizzare nel tuo prossimo progetto di deep learning: Miglioramenti del modello di checkpoint Solo miglior modello di Checkpoint Hai anche imparato a caricare un modello con checkpoint e fare previsioni. Hai domande sul checkpoint dei modelli di deep learning o su questo post? Poni le tue domande nei commenti e farò del mio meglio per rispondere.
- Giornalismo e Intelligenza Artificiale : possibilità, limiti e risultati
Microsoft ha fatto scalpore questo maggio quando ha annunciato che avrebbe licenziato più di 50 giornalisti ed editori dalla sua forza lavoro. Molti di questi dipendenti sono stati coinvolti nel processo di cura delle notizie, selezionando contenuti selezionati che sarebbero stati eseguiti sui siti Web di Microsoft News e MSN. Introduzione Giornalismo e Intelligenza Artificiale Ma le loro posizioni non rimarranno vuote a lungo: Microsoft dovrebbe sostituirle non con nuove assunzioni, ma con software di intelligenza artificiale in grado di identificare articoli di tendenza e interessanti, svolgendo essenzialmente la loro vecchia funzione lavorativa. Ma la curatela è solo un compito che i "giornalisti" dell'IA possono ora svolgere. Kristian Hammond, professore di informatica e co-fondatore della società di narrazione di dati Narrative Science, ha previsto nel 2012 che in 15 anni oltre il 90% degli articoli di notizie sarebbe stato scritto da un computer. A 7 anni dalla scadenza, tuttavia, siamo ancora molto lontani da questa previsione, ma anche molto più vicini di quanto non fossimo una volta, come discuteremo di seguito. La buona notizia per i giornalisti umani è che c'è ancora molto bisogno dei loro servizi quando scrivono articoli come questo. Ma con macchine ora in grado di svolgere più compiti che mai (e più complessi), ci troviamo di fronte a diverse domande importanti: qual è il ruolo dell'IA nel giornalismo e quali sono le sfide e le considerazioni quando si porta l'IA nella redazione? L'intelligenza Artificiale può scrivere le notizie? A partire dagli ultimi anni, i giornalisti di AI sono stati in grado di scrivere articoli "plug and play" che non richiedono ricerche indipendenti. Ad esempio, di seguito è riportato il paragrafo di apertura di un articolo di un giornalista di intelligenza artificiale su una partita di basket del college , creato dalla piattaforma di generazione del linguaggio naturale Wordsmith nel 2015. Ecco l'articolo tradotto in Italiano, facci sapere nei commenti se capisci chi lo ha scritto... L'UNC batte Louisville 72-71 sul canestro di Paige Guidato da un vincitore del gioco Paige, la Carolina del Nord sconfigge Louisville 72-71 CHAPEL HILL, NC — Marcus Paige ha segnato a nove secondi dalla fine del gioco dando alla Carolina del Nord un vantaggio di 72-71 su Louisville. Gli Heels hanno mantenuto la vittoria con lo stesso punteggio a seguito di una tripla mancata di Wayne Blackshear e di un tentativo fallito di seconda possibilità di Terry Rozier. Questa notizia l ha scritta un IA Per ora, gli articoli scritti dall'intelligenza artificiale sono limitati ad argomenti relativamente semplici e stereotipati: risultati di borsa, annunci di fusioni e acquisizioni, risultati di partite sportive, ecc. Bloomberg News, ad esempio, utilizza un sistema di intelligenza artificiale chiamato Cyborg che scansiona automaticamente i rapporti trimestrali delle aziende e quindi restituisce un articolo veloce con le informazioni più rilevanti. Qualcosa di più complicato di questo è fuori portata per ora, almeno se i giornalisti vogliono pubblicare storie che non li mettano a rischio di una causa per diffamazione. I modelli linguistici come GPT-3 hanno creato scalpore per la loro capacità di sintetizzare diversi paragrafi di testo inglese altamente realistico, ma non vi è alcuna garanzia che il contenuto che generano abbia una base nella realtà. Intelligenza artificiale e giornalisti Quando l'IA non scrive articoli in sé, può anche aiutare i giornalisti umani con lavori troppo intricati da gestire, come articoli di lunga durata, analisi approfondite e giornalismo investigativo. Un caso d'uso dell'IA estremamente prezioso: la trascrizione automatizzata delle interviste, che può far risparmiare ai giornalisti umani ore incalcolabili di lavoro. Sebbene i risultati della trascrizione dell'IA siano raramente impeccabili, i pochi errori che il software commette possono essere facilmente corretti da un editor umano. Ad esempio, il servizio automatizzato di sintesi vocale Trint è stato fondato dall'ex giornalista televisivo Jeff Kofman. Trint ha chiuso un round di finanziamento di 4,5 milioni di dollari nell'aprile 2019 e annovera tra i suoi investitori Associated Press e Google Digital News Innovation Fund. Le trascrizioni in uscita dalla piattaforma Trint vengono automaticamente mappate sulla sorgente audio o video, consentendo ai giornalisti di cercare facilmente contenuti specifici. Secondo Kofman, il software è in grado di fornire tassi di precisione dal 95 al 99% per un audio relativamente pulito in pochi minuti. Ho usato molto Trint durante il mio dottorato e mi ha fatto risparmiare un sacco di tempo. La tecnologia AI può anche identificare tendenze e sviluppi interessanti che meritano di essere esaminati dai giornalisti umani. Nel 2018, Forbes ha lanciato un nuovo sistema di gestione dei contenuti abilitato all'intelligenza artificiale chiamato "Bertie" che raccomanda possibili argomenti e titoli degli articoli ai contributori, in base al loro lavoro precedente. Finora l'esperimento sembra essere stato un successo: secondo Forbes, il numero di visitatori fedeli (cioè quelli che visitano il sito di Forbes più di una volta al mese) è raddoppiato nei mesi successivi al lancio di Bertie. Contenuti curati per gli utenti L'intelligenza artificiale non solo influisce sulle notizie che vengono scritte, ma controlla anche gli articoli che le persone vedono, come abbiamo visto con la decisione di Microsoft di utilizzare i curatori di notizie sull'intelligenza artificiale. È risaputo che l'algoritmo del feed di notizie di Facebook suggerisce (quello che ritiene essere) il contenuto più rilevante per gli utenti, in base alle pagine che hanno messo mi piace e alle loro precedenti interazioni sulla piattaforma. Allo stesso modo, la tecnologia AI può tenere traccia degli articoli che gli abbonati visitano su un sito Web di notizie, imparando il loro comportamento e le loro preferenze (ad esempio, quanto tempo trascorrono a leggere ciascun articolo). Più una testata giornalistica conosce i propri clienti, più contenuti pertinenti può visualizzare sul sito Web o in una newsletter settimanale, offrendo un'esperienza personalizzata che aiuta a incoraggiare l'interazione dell'utente e scoraggiare l'attrito. Secondo un sondaggio del 2019 della società di media digitali Digiday, il 70% degli editori digitali afferma di personalizzare i contenuti per i visitatori. Alcuni esempi di personalizzazione dei contenuti nel giornalismo includono: L' app mobile del New York Times mostra un'importante sezione "Per te" sulla sua home page. Il Boston Globe utilizza una piattaforma di dati sui clienti per raccogliere informazioni sugli abbonati e ha scoperto che i suoi lettori rispondono del 70% in più ai messaggi mirati. Il gruppo Hearst Newspapers ha utilizzato l'API di Google Cloud Natural Language per classificare i propri contenuti digitali, aiutando a segmentare gli utenti in base alle loro preferenze di lettura. Decisioni aziendali basate sui dati L'ufficio commerciale di una testata giornalistica può trarre vantaggio dall'IA tanto quanto i giornalisti stessi. Raccogliendo dati e calcolando i numeri, l'IA può aiutare manager e dirigenti a prendere decisioni su quale tipo di contenuto produrre, a quali abbonati ed ex abbonati scegliere come target, quali campagne di marketing eseguire, quanto addebitare per annunci e abbonamenti e altro ancora. Un uso intrigante dell'IA per il business del giornalismo è il paywall dinamico del Wall Street Journal , in cui a utenti diversi vengono mostrate quantità diverse di informazioni in base alla probabilità che acquisteranno un abbonamento. Ad esempio, gli utenti che hanno cercato articoli sul sito Web WSJ sono visti come clienti più probabili rispetto agli utenti che hanno trovato gli stessi articoli tramite i social media. Di conseguenza, questi lead promettenti sono in grado di vedere più contenuti prima che venga loro chiesto di iscriversi. I limiti dell' Intelligenza artificiale nel giornalismo Finora il giornalismo abilitato all'intelligenza artificiale ha mostrato grandi promesse, ma c'è un limite a questa promessa? Secondo il rapporto JournalismAI di novembre 2019 , che ha intervistato 71 testate giornalistiche in 32 paesi, ci sono ancora difficoltà significative che le testate giornalistiche devono affrontare nell'adottare l'IA. Le prime tre sfide per portare l'IA nella redazione sono state: Risorse finanziarie (27%) Mancanza di conoscenze o abilità (24%) Resistenza culturale (24%) Al di là di queste barriere istituzionali, c'è anche una buona ragione per chiedersi se l'IA nel giornalismo sia davvero il punto di svolta che i suoi sostenitori affermano che sarà. Il professore di giornalismo della Columbia Francesco Marconi stima che in futuro solo dall'8 al 12 per cento dei compiti dei giornalisti sarà sostituito da una macchina. Lo stato dell'intelligenza artificiale per il giornalismo aiuta a illustrare la differenza tra IA forte e debole. L'IA forte o "generale", una macchina che si avvicina all'intelligenza a livello umano su tutta la linea, è ancora lontana decenni e potrebbe non essere mai veramente raggiungibile. L'IA debole, d'altra parte, si riferisce all'intelligenza artificiale che è altamente qualificata in un'attività o una serie di attività ben definite. In sostanza, ci sono ottime ragioni per essere scettici sul fatto che le redazioni vedranno mai un "robot reporter" che martella il pavimento come i suoi colleghi umani, conducendo interviste e scrivendo storie da zero. Ma ci sono anche prove intorno a noi che l'IA ha un ruolo importante da svolgere nel campo del giornalismo, creando riassunti di articoli, generando idee e proposte, analizzando dati per trovare storie interessanti, e che questo ruolo sta aumentando ogni anno che passa. Le ripercussioni dell' IA nel giornalismo L'etica giornalistica è già un argomento delicato, così come l'etica nell'IA, il che rende la loro combinazione particolarmente controversa. Dopotutto, questa è un'era in cui le " notizie false " sono una preoccupazione crescente: solo il 41% degli americani afferma di ritenere che i media siano equi e accurati e il 46% degli europei afferma di fidarsi della loro stampa scritta, il che è esattamente perché stiamo sviluppando Mavin in modo che tutti possano riconoscere immediatamente di quali articoli fidarsi. Ci sono due preoccupazioni distinte su come la tecnologia AI viene applicata nel giornalismo: l'uso dell'IA per generare contenuti e l'uso dell'IA per curare e mostrare i contenuti all'utente finale. Entrambi questi problemi devono essere gestiti con cura. Nel 2014, ad esempio, Facebook ha rivelato i risultati di un controverso esperimento con i feed di notizie degli utenti . Le persone che sono state esposte a "contenuti emotivi positivi" su Facebook più spesso hanno pubblicato post più positivi, mentre l'effetto inverso si è verificato con le persone che hanno visto più contenuti negativi. Allo stesso modo, una società di notizie che promuove articoli basati solo sulle interazioni degli utenti si troverebbe probabilmente in una corsa al ribasso in termini di qualità: sputando articoli clickbait e notizie che provocano forti emozioni, tra cui tristezza e indignazione. Per evitare questo destino, le testate giornalistiche devono mantenere una mano umana ferma al volante, anche se cedono più responsabilità ai giornalisti e ai curatori dell'IA. Sebbene le macchine possano sfornare centinaia di storie taglia e incolla al giorno, questi articoli richiedono comunque la supervisione umana e il controllo dei fatti prima di andare in stampa. Allo stesso modo, gli esseri umani devono supervisionare e verificare gli algoritmi di cura delle notizie per garantire che i risultati siano costantemente di alta qualità (e per frenare il contraccolpo che gli algoritmi di raccomandazione hanno ricevuto negli ultimi anni). I giornalisti dell'IA hanno mostrato enormi possibilità per eliminare gran parte del duro lavoro sul campo: raccogliere dati, trascrivere registrazioni, scrivere meno articoli interessanti, ecc. Ma quando si tratta del lavoro che distingue davvero una testata giornalistica: reportage approfonditi e analisi, commenti politici, colonne di opinione: è chiaro che gli esseri umani saranno una parte essenziale di questo mestiere anche in futuro.
- Come creare grafici su dati multidimensionali
Quasi tutti hanno familiarità con dataset bidimensionali e la maggior parte degli studenti universitari solitamente hanno familiarità con set di dati tridimensionali . Tuttavia, i set di dati moderni sono raramente bidimensionali o tridimensionali. Nell'apprendimento automatico è normale avere dozzine se non centinaia di dimensioni e anche i set di dati generati dall'uomo possono avere una dozzina di dimensioni. Allo stesso tempo, la visualizzazione è un primo passo importante per lavorare con i dati. In questo post del blog, esplorerò come possiamo usare Python per lavorare con dati multidimensionali. L'analisi dei dati multidimensionale è un'analisi informativa dei dati che tiene conto di molte relazioni. Perchè grafici su dati multidimensionali ? Viviamo in un mondo dominato dalla grafica e non solo dalle cose quotidiane che vediamo. Che ne dici di quelli che hanno lo scopo di trasmettere una sorta di messaggio? I rivenditori inondano le loro vetrine con elementi visivi che promuovono i loro ultimi prodotti, scansioniamo i nostri canali di notizie preferiti per immagini sul tempo imminente e ci divertiamo con le immagini dell'ultimo successone. Non sorprende, data la nostra affinità con la nostra vista. Ma come fanno i loro creatori a catturare la nostra attenzione così facilmente? Come fanno a rendere questi effetti visivi così efficaci? Ci sono una serie di fattori che entrano in gioco e la visualizzazione dei dati è l'area che li esamina. Che cos'è la visualizzazione dei dati? La visualizzazione dei dati riguarda il piacere degli occhi. Ma più precisamente, si tratta di creare elementi visivi informativi che ci insegnino qualcosa rapidamente. A volte, questi elementi visivi sono semplici e trasmettono il minimo. Ma a volte succede così tanto che facciamo fatica a stare al passo. Ad esempio, pensa al tuo cellulare. La schermata principale contiene una serie di pulsanti multicolori che, con un semplice tocco, ti portano a una serie di istanze di visualizzazione dei dati: mappe stradali, riepiloghi meteorologici costantemente aggiornati, l'andamento dell'uso della batteria , i grafici dei like e follower di instagram oppure i grafici delle azioni. La visualizzazione dei dati ha un impatto su molti aspetti della nostra vita, come puoi facilmente vedere. Come riconoscere una dataset multidimensionale Nel senso più semplice, una dimensione è una variabile presa in considerazione. Consideriamo un semplice grafico per il momento. È una trama di una relazione tra due aspetti o variabili. L'indipendente lungo un asse (X) e il dipendente lungo l'altro (Y). Diciamo che questo è bidimensionale. Niente di sconvolgente, lo impariamo alle elementari. L'idea si estende a tre dimensioni aggiungendo un terzo aspetto o variabile (Z). Pensando in questo modo, multidimensionale significa semplicemente aggiungere ulteriori aspetti o variabili da considerare. Quali sono alcuni metodi di visualizzazione dei dati multidimensionali? Tutto ciò che è multidimensionale, con 3 dimensioni o meno, è facile da capire. Viviamo in un mondo tridimensionale e possiamo relazionarci con esso. Ma che dire di quattro o più dimensioni? La visualizzazione dei dati gestisce questo in uno dei due modi. Se la quarta dimensione è il tempo, allora osserviamo le prime tre dimensioni mentre cambiano nel tempo. Se il tempo non è coinvolto, rappresentiamo le dimensioni tre e superiori, fianco a fianco, come rappresentazioni tridimensionali separate. In sostanza, scomponiamo il problema in una serie di pezzi tridimensionali. Ora mettiamo mano al codice. Come creare grafici su dati multidimensionali con Python? A partire dall'importazione delle librerie rilevanti come NumPy (gestione dei calcoli matematici), panda (manipolazioni di DataFrame), matplotlib (la libreria di visualizzazione OG più vicina all'interprete Python e allo sviluppo "C" ) e, ultimo ma non meno importante, seaborn (costruito su matplotlib offre più opzioni e un aspetto migliore e una sensazione comparativa). Scarica questo dataset per seguire il nostro tutorial : Ora crea un nuovo file python o notebook e inizia a seguirci con il codice. #importiamo le librerie necessarie import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sb #carichiamo i dati df_original = pd.read_csv("diabetes.csv") #print(df_original.head()) cols = [c for c in df_original.columns if c not in ["Pregnancies", "Outcome"]] df = df_original.copy() df[cols] = df[cols].replace({0: np.NaN}) print(df.head()) la rimozione dei valori mancanti o inutili dal set di dati è sempre il passaggio prioritario. Qui stiamo prima sostituendo il valore 0 con NaN. #capiamo quali colonne hanno valori Null #Nello step prima abbiamo sostituito i NaN # NaN != Null df.info() ora possiamo vedere che in alcune colonne ci sono alcuni valori Null come Spessore della pelle, Insulina, BMI , ecc. [ Nota che abbiamo 8 colonne quindi 8 dimensioni ] Visualizzazione dei dati multidimensionali Quindi, sorprendentemente nessuno è utile per visualizzare i dati. Utilizzando head, possiamo vedere che questo set di dati utilizza 0 per non rappresentare alcun valore, a meno che una povera anima sfortunata non abbia uno spessore della pelle di 0. Se vogliamo fare più di quanto ci aspettiamo dai dati, possiamo usare la funzione descritta di cui abbiamo parlato nella sezione precedente. df.describe() Output: Matrice a dispersione dei dati multidimensionali con Python Scatter Matrix è uno dei migliori grafici per determinare la relazione ( per lo più lineare ) tra le molteplici variabili di tutti i dataset; quando vedrai il grafico lineare tra due o più variabili che indica l' elevata correlazione tra quelle caratteristiche, può essere una correlazione positiva o negativa . pd.plotting.scatter_matrix(df, figsize=(10, 10)); Dall'immagine sopra, possiamo dire che questo grafico da solo è abbastanza descrittivo in quanto ci mostra la relazione lineare tra tutte le variabili nel set di dati. Ad esempio, possiamo vedere che lo spessore della pelle e l' IMC condividono tendenze lineari. PS: a causa dei grandi nomi delle colonne, come puoi vedere, potresti vederli sovrapposti ma può essere migliorato ( ma è fuori dallo scopo dell'articolo). il grafico a dispersione ci fornisce sia gli istogrammi per le distribuzioni lungo la diagonale che molti grafici a dispersione 2D fuori diagonale . Non che questa sia una matrice simmetrica, quindi guardo semplicemente la diagonale e sotto di essa normalmente. Possiamo vedere che alcune variabili hanno molta dispersione e alcune sono correlate (cioè, c'è una direzione nella loro dispersione). Questo ci porta a un altro tipo di trama, cioè la trama di correlazione . df2 = df.dropna() colors = df2["Outcome"].map(lambda x: "#44d9ff" if x else "#f95b4a") pd.plotting.scatter_matrix(df2, figsize=(10,10), color=colors); Output: Grafici di correlazione dei dati multidimensionali con Python Prima di entrare in una discussione approfondita con il grafico di correlazione, dobbiamo prima capire la correlazione e, per questo motivo, stiamo usando il metodo corr() di panda che restituirà il coefficiente di correlazione di Pearson tra due input di dati. In poche parole, questi grafici quantificano facilmente quali variabili o attributi sono correlati tra loro. df.corr() Output: sb.set(rc={'figure.figsize':(11,6)}) sb.heatmap(df.corr()); Output: In un grafico di correlazione supportato da seaborn o matplotlib , possiamo confrontare la correlazione più alta e quella più bassa tra le variabili usando la sua tavolozza di colori e scala. Nel grafico sopra, più chiaro è il colore, maggiore è la correlazione e viceversa . Ci sono alcuni inconvenienti in questo grafico di cui ci libereremo nel prossimo grafico. sb.heatmap(df.corr(), annot=True, cmap="viridis", fmt="0.2f"); ora si può vedere che anche questa è una matrice simmetrica . Ma permette subito di evidenziare gli attributi più correlati e anti-correlati . Alcuni potrebbero essere solo il buon senso – ad esempio Gravidanza v Età – ma alcuni potrebbero darci una visione reale dei dati. Qui, abbiamo anche usato alcuni parametri come annot= True in modo da poter vedere i valori correlati e anche una certa formattazione. Istogrammi 2D dei dati multidimensionali con Python Gli istogrammi 2D vengono utilizzati principalmente per l'elaborazione delle immagini, mostrando l' intensità dei pixel in una determinata posizione dell'immagine. Allo stesso modo, possiamo anche usarlo per altre affermazioni di problemi, dove abbiamo bisogno di analizzare due o più variabili come istogrammi bidimensionali o tridimensionali , che forniscono Dati multidimensionali. Per il resto di questa sezione, utilizzeremo un set di dati diverso con più dati. df2 = pd.read_csv("height_weight.csv") df2.info() df2.describe() Output: plt.hist2d(df2["height"], df2["weight"], bins=20, cmap="magma") plt.xlabel("Height") plt.ylabel("Weight"); Output: abbiamo anche lavorato con istogrammi unidimensionali per dati multidimensionali, ma ora è per l'analisi univariata se vogliamo ottenere la distribuzione dei dati di più di una caratteristica, dobbiamo spostare la nostra attenzione sugli istogrammi 2-D . Nel grafico 2-D sopra l'altezza e il peso sono tracciati l'uno rispetto all'altro, mantenendo il C-MAP come magma . Trame di contorno su dati multidimensionali con Python È un po' difficile ottenere informazioni dall'istogramma 2D, vero? Troppo rumore nell'immagine. E se proviamo a fare un diagramma di contorno? Dovremo cestinare i dati noi Ogni alternativa entra in scena quando quella originale presenta degli inconvenienti. Allo stesso modo, nel caso degli istogrammi 2-D diventa un po' difficile ottenere le informazioni da esso poiché c'è tanto rumore nel grafico. Quindi ora andremo con un diagramma di contorno hist, x_edge, y_edge = np.histogram2d(df2["height"], df2["weight"], bins=20) x_center = 0.5 * (x_edge[1:] + x_edge[:-1]) y_center = 0.5 * (y_edge[1:] + y_edge[:-1]) plt.contour(x_center, y_center, hist, levels=4) plt.xlabel("Height") plt.ylabel("Weight"); Output: Ora possiamo vedere che questo diagramma di contorno è molto meglio di un istogramma 2-D complesso e rumoroso in quanto mostra la chiara distribuzione tra altezza e peso contemporaneamente. C'è ancora spazio per migliorare. Se useremo la trama di KDE di Seaborn, gli stessi contorni saranno smussati e più chiaramente informativi. Conclusione Fin dall'inizio dell'articolo, ci concentriamo principalmente sulla visualizzazione dei dati per i dati multidimensionali e, in questo viaggio, abbiamo esaminato tutti i grafici/trame importanti che potrebbero derivare approfondimenti relativi al business dai dati numerici da più funzionalità tutto in una volta. Nell'ultima sezione, tratteremo tutti questi grafici in poche parole. Per prima cosa abbiamo visto una matrice di dispersione che ci mostra la relazione di ogni variabile con l'altra. Quindi viene utilizzata la mappa di calore del mare per ottenere un approccio migliore all'analisi multivariabile . Poi sono arrivati gli istogrammi 2-D, dove possiamo andare con l'analisi delle variabili binarie, cioè 2 variabili possono essere viste contemporaneamente e possiamo ottenere informazioni da esse. Alla fine, siamo venuti a conoscenza della trama Contour, che ci ha aiutato a ottenere una versione migliore degli istogrammi 2-D poiché rimuove il rumore dall'immagine e ha un'interpretazione più chiara.
- Creare un motore di ricerca che utilizza il deep learning con python
Una guida sulla creazione di un motore di ricerca che utilizzano il deep learning con python . In questo articolo tratteremo un caso d'uso molto interessante ma complicato della NLP, che è un sistema di recupero delle informazioni ( motore di ricerca ) . Il sistema di recupero delle informazioni è un'applicazione molto utilizzata della NLP. In un sistema di recupero delle informazioni ( o motore di ricerca ), avremo varie raccolte di documenti e avremo bisogno di cercare un documento specifico passando un significato di contesto. introduzione Google ha trilioni di pagine Web, in che modo Google ricerca in modo efficiente le pagine Web pertinenti per noi senza prendere l'URL della pagina?. I motori di ricerca moderni fanno molto affidamento sull'intelligenza artificiale (AI) per funzionare e sapere come funziona l' IA nella ricerca può aiutarti a classificare meglio il tuo sito web. L'IA nella ricerca è responsabile di tutto, dai risultati di ricerca che vedi agli argomenti correlati che sei incoraggiato a esplorare ulteriormente. E oggi è impossibile che un moderno motore di ricerca funzioni senza un'intelligenza artificiale sofisticata. Il modo migliore in cui i motori di ricerca utilizzano l'IA è classificare pagine Web, video e altri contenuti nei risultati di ricerca. Google (e altri motori di ricerca) si affidano a un'intelligenza artificiale complessa per determinare il modo in cui i contenuti vengono classificati. Gli algoritmi utilizzati da questi sistemi di intelligenza artificiale hanno molte regole che danno la priorità a diversi fattori, dai tipi di parole chiave nei tuoi contenuti all'esperienza utente del tuo sito. Insieme, questi fattori aiutano l'IA di Google a determinare quali pagine pubblicare in risposta alla tua query di ricerca. Sebbene Google fornisca indicazioni su ciò che conta per i suoi algoritmi, nessuno al di fuori dell'azienda ha piena visibilità su come questi algoritmi prendono le decisioni. Noi oggi faremo la stessa cosa. Semplificata natualmente. Creare un motore di ricerca che utilizza il deep learning Per creare un motore di ricerca dotato di IA per fare concorrenza google dobbiamo prima tenere a mente e conoscere bene uno strumento fondamentale : Sistemi information retrieval Un sistema IR ( information retrieval ) ci consente di cercare un documento in base alle informazioni significative su quel documento in modo efficiente. Come sappiamo, due frasi possono avere strutture molto diverse e parole diverse ma possono avere lo stesso significato. In NLP il nostro obiettivo è catturare il significato delle frasi, utilizzando vari concetti di NLP che vedremo in dettaglio più avanti nell'articolo. Nel sistema IR utilizziamo il significato del contesto per cercare i documenti. Quindi per creare un motore di ricerca bisogna prima creare un sistema di recupero delle informazioni utilizzando il significato del contesto. Creare un motore di ricerca basato su IR Potrebbero esserci diversi modi per eseguire il recupero delle informazioni. Ma il modo più semplice ma molto efficiente per farlo utilizzando l'incorporamento delle parole. l'inclusione di parole prende in considerazione il significato del contesto indipendentemente dalla struttura della frase. Applicazioni dei sistemi IR: Recupero documenti Motori di ricerca Risposte alle domande Come creare un motore di ricerca con IA in grado di contestualizzare Il word embedding è in grado di comprendere il significato della frase, indipendentemente dalla struttura della parola. Per esempio : " Lo amo " e " Mi piace " avranno quasi lo stesso significato se usiamo l'incorporamento delle parole. È una tecnica di apprendimento delle funzionalità predittive in cui le parole vengono mappate sui vettori utilizzando la loro gerarchia contestuale. Come vedi gattino (Kitten) e gatto (cat) sono posti molto vicini perché hanno significati molto vicini. L'incorporamento di parole è stato addestrato su oltre 8 miliardi di parole utilizzando reti neurali poco profonde, utilizzeremo il vettore di incorporamento di parole pre-addestrato per creare il nostro motore di ricerca dotato di Intelligenza Artificiale, più nello specifico implementerà teciche di deep learning. Creare un motore di ricerca che utilizza il deep learning con Python Implementeremo il sistema di recupero delle informazioni usando python. Durante l'implementazione del sistema di recupero delle informazioni, ci sono alcuni passaggi che dobbiamo seguire: Ottenere i dati Pulizia dei dati Caricamento di word2vec pre-addestrato Ottenere il significato contestuale dei documenti Confronto di query con documenti 1. Creare i documenti abbiamo creato il nostro set di dati contenente 4 documenti, per una migliore comprensione utilizzeremo un piccolo set di dati. doc1 = ["""Wasting natural resources is a very serious problem, since we all know that natural resources are limited but still we dont feel it. We use it more than we need, Government are also encouraging people to save the natural resoucres""" ] doc2 = ["""Machine learning is now days a very popular field of study, a continuous reasearch is going on this , Machine learning is all about maths. Analysing the patters solve the task."""] doc3 = ["""Nowdays books are loosing its charm since the phones and smart gadgets has taken over the old time, Books are now printed in Digital ways, This saves papers and ultimately saves thousands of trees"""] doc4 = ["""The man behind the wicket is MS DHONI , his fast hand behind wicket are a big advantage for india, but pant has now carrying the legacy of DHONI but he is not that fast"""] qui abbiamo 4 documenti e il nostro set di dati sarà un elenco di documenti separati da una virgola. #------unione di tutti i documenti------- data = doc1+doc2+doc3+doc4 print(data) Output: 2. Importiamo le librerie import numpy as np import nltk import itertools from nltk.corpus import stopwords from nltk.tokenize import sent_tokenize, word_tokenize import scipy from scipy import spatial import re tokenizer = ToktokTokenizer() stopword_list = nltk.corpus.stopwords.words('english') 3. Pulizia dei dati Nella NLP la pulizia dei dati generalizza sempre la nostra formazione e promette risultati migliori. È sempre buona norma eseguire la pulizia dei dati dopo averli caricati. Creiamo una funzione per pulire i nostri dati def remove_stopwords(text, is_lower_case=False): pattern = r'[^a-zA-z0-9s]' text = re.sub(pattern," ",''.join(text)) tokens = tokenizer.tokenize(text) tokens = [tok.strip() for tok in tokens] if is_lower_case: cleaned_token = [tok for tok in tokens if tok not in stopword_list] else: cleaned_tokens = [tok for tok in tokens if tok.lower() not in stopword_list] filtered_text = ' '.join(cleaned_tokens) return filtered_text La funzione remove_stopwords prende i documenti uno per uno e restituisce il documento pulito. abbiamo prima rimosso tutti i caratteri non necessari usando le espressioni regolari. Dopo aver rimosso i caratteri non necessari, abbiamo tokenizzato la parola filtrata e utilizzato stopword_list per filtrare tutte le stopword. 4. Implementazione dell'incorporamento di parole Useremo un vettore di parole pre-addestrato di 300 dimensioni. puoi scaricare la parola vettore usando questo link . Ti suggerirei di creare un taccuino su Kaggle è un'opzione migliore se non vuoi scaricare il grande file di vettori. Caricamento dei vettori di parole glove_vectors = dict() file = open('../input/glove6b/glove.6B.300d.txt', encoding = 'utf-8') for line in file: values = line.split() word = values[0] vectors = np.asarray(values[1:]) glove_vectors[word] = vectors file.close() glove_vector : È un dizionario contenente parole come chiavi e valori come vettori di caratteristiche. glove.6B.300d : Questa incorporazione di parole è addestrata su 6 miliardi di parole e la lunghezza dei vettori di funzionalità è 300. Se una parola non è presente nel nostro dizionario dei vettori di parole, restituirà un vettore zero di 300 lunghezze. Creazione di un vettore di funzionalità per il nostro documento utilizzando incorporamenti di parole. Stiamo creando una funzione che prende una frase e restituisce il vettore di caratteristiche di 300 dimensioni. vec_dimension = 300 def get_embedding(x): arr = np.zeros(vec_dimension) text = str(x).split() for t in text: try: vec = glove_vectors.get(t).astype(float) arr = arr + vec except: pass arr = arr.reshape(1,-1)[0] return(arr/len(text)) 5. Riepilogo Un documento contiene molte frasi e una frase ha molti vettori in base al numero di parole presenti in quella frase. Per riassumere il significato di un documento, dobbiamo fare la media del significato di tutte le frasi all'interno di quel documento. Nel linguaggio della NLP, facciamo la media di tutti i vettori di caratteristiche di tutte le frasi all'interno di quel documento. out_dict = {} for sen in fin: average_vector = (np.mean(np.array([get_embedding(x) for x in nltk.word_tokenize(remove_stopwords(sen))]), axis=0)) dict = { sen : (average_vector) } out_dict.update(dict) Il dizionario out_dict contiene documenti come chiave e i loro vettori di caratteristiche medie come valori corrispondenti. I vettori di caratteristiche medie codificano il significato di un documento in vettori. 6. Confrontare il significato di un contesto A partire da ora, abbiamo il vettore di funzionalità di ogni singolo documento e dobbiamo costruire una funzione in grado di confrontare i vettori di funzionalità in base al loro significato. La somiglianza di due parole può essere calcolata utilizzando la distanza del coseno tra i vettori delle loro caratteristiche. def get_sim(query_embedding, average_vector_doc): sim = [(1 - scipy.spatial.distance.cosine(query_embedding, average_vector_doc))] return sim la funzione get_sim prende il vettore di funzionalità delle query e il vettore di funzionalità di tutti i documenti e restituisce la somiglianza tra query e documento. Se la somiglianza sim è maggiore, più vicino a 1 possiamo dire che ha quasi lo stesso significato. Se la somiglianza sim è più vicina a 0, possiamo dire che il loro significato è diverso. il pacchetto scipy fornisce la classe scipy.spatial.distance.cosine per il calcolo della distanza del coseno. 7. Usiamo il nostro motore Siamo pronti con i vettori di funzionalità dei documenti e abbiamo creato la funzione per confrontare la somiglianza di due vettori di funzionalità. def Ranked_documents(query): query_word_vectors = (np.mean(np.array([get_embedding(x) for x in nltk.word_tokenize(query.lower())],dtype=float), axis=0)) rank = [] for k,v in out_dict.items(): rank.append((k, get_sim(query_word_vectors, v))) rank = sorted(rank,key=lambda t: t[1], reverse=True) print('Ranked Documents :') return rank[0] query_word_vectors Contiene i vettori di funzionalità della query di input. La funzione Ranked_document confronta la somiglianza tra i vettori di funzionalità della query con il vettore di funzionalità dei documenti in modo iterativo. stiamo restituendo solo un documento più simile al nostro output. 8. Risultati Quando chiamiamo la Ranked_documentfunzione passando una query, la funzione restituirà il documento più rilevante relativo alla nostra query. Esempio 1: Ranked_documents('bat and ball') Come vedi bat and ball è correlato al cricket quando abbiamo cercato questa parola chiave il modello restituisce il documento relativo al cricket. Inoltre, nel documento non è presente alcuna parola mazza e palla. ( Doc4 ) Esempio 2: Ranked_documents(‘computer science’) Come tutti sappiamo, l'informatica è legata all'apprendimento automatico. quando abbiamo interrogato la parola chiave computer science ha restituito il documento relativo all'informatica. Conclusione sui motori di ricerca con deep learning In questo articolo abbiamo discusso il sistema di recupero dei documenti, che si basa sul confronto del significato di un documento/frase confrontando i vettori delle caratteristiche. Abbiamo implementato il sistema di recupero dei documenti utilizzando Python e l'incorporamento di parole pre-addestrato. Esistono diversi modi per eseguire la corrispondenza dei documenti, ma utilizzando l'incorporamento di parole e scipy’s la distanza del coseno diventa molto più facile da implementare. Puoi copiare e scaricare i codici utilizzati in questo articolo utilizzando questo link .
- Editor Gratuito PHP, HTML, CSS, JavaScript INTELLIGENTE- Codelobster IDE
La vita di uno sviluppatore web è piena di scelte e decisioni. La maggior parte di queste scelte vengono fatte mentre si lavora su un progetto; in tal caso, ha bisogno di uno strumento che lo aiuti a lavorare in modo più rapido ed efficiente. In questo articolo, ti suggeriamo di conoscere l'editor gratuito di linguaggi web - Codelobster IDE. È presentato sul mercato del software già da molto tempo e conquista molti fan. Codelobster IDE consente di modificare file PHP, HTML, CSS e JavaScript, evidenzia la sintassi e fornisce suggerimenti per tag, funzioni e relativi parametri. Questo editor gestisce facilmente quei file che contengono un contenuto misto. Se inserisci il codice PHP nel tuo modello HTML, l'editor evidenzia correttamente sia i tag HTML che le funzioni PHP. Lo stesso vale per il codice CSS e JavaScript, che è contenuto nei file HTML. Il programma include la funzione di completamento automatico, che velocizza notevolmente il lavoro del programmatore ed elimina la possibilità di errori. Codelobster IDE fornisce un aiuto contestuale su tutti i linguaggi di programmazione supportati, utilizza la documentazione più aggiornata in questo momento, scaricandola dai siti ufficiali. Quindi possiamo ottenere rapidamente una descrizione di qualsiasi tag HTML, attributo CSS, funzione PHP o JavaScript premendo il tasto F1. Il debugger PHP integrato ti consente di eseguire gli script PHP passo dopo passo, spostandoti in sequenza attraverso le righe di codice. È possibile assegnare punti di controllo, visualizzare il processo di lavoro dei loop e monitorare i valori di tutte le variabili durante l'esecuzione dello script. Puoi visualizzare i modelli HTML direttamente nell'editor, evidenziare gli elementi interessanti sulla pagina ed esplorare gli stili CSS associati. L'ispettore HTML e CSS funziona secondo il principio di tutti i FireBug conosciuti. Altre utili funzioni e caratteristiche dell'IDE: ∙Una coppia di evidenziazione di parentesi e tag: non dovrai mai contare parentesi o virgolette, se ne occuperà l'editore. ∙Evidenziazione di blocchi, selezione e compressione di frammenti di codice, segnalibri per facilitare navigazione sul file editato, riconoscimento e costruzione della struttura completa di PHP progetti: queste funzioni garantiscono un lavoro facile con progetti di qualsiasi scala. ∙Supporto per 17 lingue dell'interfaccia utente, tra cui inglese, tedesco, russo, spagnolo, francese e altri. ∙Il programma funziona sui seguenti sistemi operativi: Windows 7, Windows 8, Windows 10, Mac OS, Linux, Ubuntu, Fedora, Debian. La versione professionale di Codelobster IDE offre al programmatore ancora più funzionalità. Ad esempio, hai l'opportunità di lavorare con progetti su un server remoto con l'uso del client FTP integrato. È possibile modificare i file selezionati, visualizzare in anteprima i risultati e quindi sincronizzare le modifiche con i file sull'hosting. Inoltre, la versione professionale include un'ampia serie di plug-in: ∙Supporto completamente implementato per le librerie JavaScript, come jQuery, Node.js, AngularJS, BackboneJS e MeteorJS. ∙Un ampio set di estensioni che aiutano a lavorare con i framework PHP: CakePHP, CodeIgniter, Plug-in Laravel, Phalcon, Smarty, Symfony, Twig e Yii. ∙Plugin per lavorare con i CMS più popolari: Drupal, Joomla, Magento e WordPress. Possiamo scaricare e installare qualsiasi framework direttamente dal programma senza essere distratti dalle attività principali. In generale, per un anno di lavoro, il nostro team non ha avuto lamentele contro l'editore. Codelobster IDE funziona velocemente, non si blocca e ci consente di lavorare anche con grandi progetti PHP. Puoi scaricare Codelobster IDE dal sito Web ufficiale Codelobster helps you work faster and more efficiently by providing you with all the necessary tools for developing websites project.
- Bias e intelligenza artificiale : tipi ed esempi
I dati sono carburante per l'IA: creano o rompono il modello. Quindi, se vuoi che i tuoi dati riflettano i tuoi obiettivi nel modo più completo possibile, dovresti prima fare attenzione ai rischi che un pregiudizio può comportare per i tuoi dati, algoritmo o modello. Proprio come gli esseri umani possono essere influenzati da pregiudizi cognitivi come risultato di un errore sistematico nel pensare o di un'inclinazione errata a favore o contro una certa idea, anche i modelli possono operare sulla base di un certo tipo di pregiudizio di apprendimento automatico, di cui parleremo ulteriormente in questo articolo. Più nello specifico, parleremo di: Bias e intelligenza Artificiale perché è importante ? Tipi ed esempi di Bias nell' IA Come misurare il bias suggerimenti Ridurre al minimo i Bias Pensieri finali Bias e intelligenza artificiale perché è importante ? Le applicazioni di intelligenza artificiale possono essere estese a una moltitudine di ambienti sensibili tentando di apportare miglioramenti in diversi aspetti della vita. A condizione che ciò, diventa fondamentale garantire che il modo in cui l'IA influisce sulla nostra attività quotidiana non sia discriminatorio nei confronti di una determinata idea, gruppo di persone o circostanza. Inoltre, con lo stress crescente sul lato commerciale dell'IA, essere consapevoli dei tipi di pregiudizi nell'IA, di come possono influenzare le prestazioni del modello e sapere come misurare e ridurre i pregiudizi può ridurre il tempo a lungo termine. Tipi ed esempi di Bias nell' intelligenza artificiale : La maggior parte dei sistemi di intelligenza artificiale sono basati sui dati e richiedono un sacco di dati su cui essere addestrati. Ipoteticamente, se i dati di addestramento contengono errori, gli algoritmi li apprenderanno e rifletteranno tali errori nella previsione. In alcuni casi, gli algoritmi possono persino amplificare i pregiudizi e fuorviarti nel risultato, motivo per cui è meglio evitarli. Come nel Survey on Bias and Fairness in Machine Learning dell'USC Information Science Institute, suddivideremo i tipi di pregiudizi nello spazio dell'apprendimento automatico in tre categorie principali: Bias tra dati e algoritmi Bias per colpa dell'algoritmo Bias tra Dati e Utenti Ora vediamoli nel dettaglio uno per uno Tipi ed esempi di Bias nell' intelligenza artificiale 1 Bias tra dati e algoritmi Qui elencheremo diversi tipi di errori nei dati che portano a risultati algoritmici distorti: Bias di misurazione: c'è una differenza nel modo in cui valutiamo e misuriamo determinate caratteristiche rispetto al modo in cui traiamo conclusioni dai modelli osservati, che devono essere considerati per evitare bias di misurazione. Questo tipo di distorsione compare quando vengono riportate conclusioni non uniformi durante la costruzione del set di dati di addestramento. Ad esempio, non possiamo presumere che i rappresentanti dei gruppi di minoranza abbiano maggiori probabilità di commettere un crimine efferato solo perché hanno tassi di arresto più elevati: c'è una differenza nel modo in cui questi gruppi vengono valutati rispetto a come li si può percepire. Bias di campionamento: noto anche come bias di selezione, il bias di campionamento si verifica quando i dati di addestramento non vengono campionati in modo sufficientemente casuale dai dati raccolti, creando una preferenza verso alcune popolazioni. Considera un set di dati ampio e ricco di fotografie di esseri umani di tutte le etnie che non ha alcun pregiudizio nei confronti di alcuna etnia in particolare. Se uno specifico sistema di riconoscimento facciale è addestrato in gran parte su quelle che sono fotografie di uomini bianchi, non funzionerà bene quando si identificano donne e persone di diverse etnie, anche se i dati raccolti non erano originariamente distorti. Per evitare questo tipo di distorsione, i dati di addestramento devono essere campionati il più casualmente possibile dai dati raccolti. Bias di rappresentazione: simile al bias di campionamento, il bias di rappresentazione deriva da una raccolta di dati non uniforme. Più in particolare, si verifica quando il processo di raccolta dei dati non tiene conto dei valori anomali, della diversità della popolazione e delle anomalie. Considera lo stesso sistema di riconoscimento facciale nel bias di campionamento. Se i dati raccolti contengono principalmente fotografie di uomini bianchi, il campionamento casuale non aiuterà a evitare distorsioni, poiché la distorsione è già inerente ai dati raccolti. Questo è un esempio di distorsione di rappresentazione. Bias di aggregazione: il bias di aggregazione si osserva quando vengono fatte false ipotesi o generalizzazioni sugli individui quando si osserva l'intera popolazione. È fondamentale che l'insieme scelto di possibili etichette che contrassegnano il set di dati di addestramento catturi le diverse conclusioni che si possono trarre dal set di dati. Ad esempio, si consideri un set di dati composto da immagini di gatti, cani e tigri, in cui un modello viene addestrato per prevedere il peso dell'animale nell'immagine. Etichettare queste immagini come "cani" o "felini" può essere fuorviante poiché tigri e gatti hanno pesi diversi. È importante che le conclusioni (peso) siano ben catturate dalla definizione dell'etichetta. Differenza da variabile omessa: la variabile omessa riflette la distorsione di una o più variabili mancanti che possono influire sul risultato finale in un modo o nell'altro. Alla fine, il tuo modello finisce per attribuire gli effetti delle variabili mancanti a quelle incluse. Tipi ed esempi di Bias nell' intelligenza artificiale 2 Algoritmi e Bias Gli algoritmi esercitano un'influenza sul comportamento dell'utente. In questa sezione, ci concentreremo sui tipi di bias algoritmici che possono eventualmente agire sul comportamento degli utenti: Bias algoritmico: semplice, qui il bias viene introdotto dall'algoritmo, non dai dati e dalle scelte che si fanno quando si ottimizzano funzioni particolari (ad esempio, la profondità di una rete neurale, il numero di neuroni per livello o la regolarizzazione) . La distorsione può anche essere avviata dalle informazioni preliminari richieste dall'algoritmo, poiché la maggior parte degli algoritmi di intelligenza artificiale necessita di un certo grado di informazioni preliminari per funzionare. Bias di popolarità: gli articoli popolari sono più spesso esposti, il che è altrettanto veritiero in quanto soggetti a manipolazione (da parte di spam, recensioni false, pratiche SEO blackhat nei motori di ricerca, ecc.). Anche se il modello sta facendo le giuste previsioni, la conclusione finale potrebbe essere distorta a causa della popolarità di altre possibili conclusioni. Una popolarità simile potrebbe non essere un segno di qualità, ma invece approcci distorti, spesso non osservati a livello di superficie. Bias emergente: questo tipo di bias si verifica nel tempo come risultato dell'interazione con gli utenti e può essere innescato da cambiamenti nella base di utenti target, nelle loro abitudini e valori, di solito dopo che il modello è stato progettato e distribuito. Distorsioni di valutazione: derivanti durante la valutazione del modello, le distorsioni di valutazione possono essere il risultato di parametri di riferimento inadatti o sproporzionati, ad esempio nei sistemi di riconoscimento facciale , che risultano distorti rispetto al colore della pelle e al sesso. Non solo è importante costruire set di dati di addestramento imparziali, ma anche progettare set di dati di test privi di bias e benchmark imparziali. Tipi ed esempi di Bias nell' intelligenza artificiale 3 Bias tra utente e dati Poiché molti dati introdotti nei modelli sono generati dall'utente, le distorsioni intrinseche dell'utente possono riflettersi nei dati di addestramento. Ecco alcuni esempi: Bias di popolazione: quando i dati demografici, le statistiche e i dati degli utenti, in generale, differiscono nella piattaforma da cui stai estraendo i dati (social media, ad esempio) rispetto alla popolazione target originale, hai a che fare con il bias di popolazione. Breve e dolce: sono i dati non rappresentativi che incasinano i risultati del tuo modello. Proviamo a farla ancora più facile, se analizzi il sentiment dei tweet indiani quando hai un e-commerce con clienti italiani cosa speri di trovare ? Nulla! Pregiudizio sociale: immagina una situazione in cui dovresti valutare un servizio, hai un punteggio nella tua testa, ma leggendo le recensioni degli altri ed essendo esposto alla maggior parte delle opinioni, cambi improvvisamente idea. Quindi la recensione che hai appena lasciato, presumibilmente imparziale, viene utilizzata per addestrare un modello, ma quello che è successo invece è che le azioni degli altri hanno influenzato il tuo giudizio: questo è il pregiudizio sociale tra utente e dati. Bias comportamentale: gli utenti reagiscono in modo diverso quando vengono esposti alle stesse informazioni, ed è così che si verifica il bias comportamentale. Ancora una volta, prendendo i social media, un'emoji può rappresentare idee totalmente diverse per persone di culture diverse, portando a direzioni di comunicazione completamente contrastanti e ciò a sua volta può riflettersi nel tuo set di dati, supponendo che quei messaggi siano i tuoi dati. Come misurare il Bias ? Esistono varie metriche per misurare la distorsione e i punti chiave variano a seconda dell'obiettivo del nostro progetto o dei tipi di attività che devi svolgere. Per le attività di classificazione, ti concentri sull'accuratezza delle previsioni. Quando si lavora con annotazioni basate sulla posizione con riquadri di delimitazione o poligoni, si tratta più dell'intersezione delle unità e della sovrapposizione. La misurazione della distorsione dei progetti ML supervisionati va davvero oltre, quindi ecco alcuni suggerimenti per te: Tieni traccia dell'attività di annotazione per utente Assicurati di poter visualizzare i progressi di ogni annotatore: in questo modo, puoi notare un'etichettatura imprecisa in tempo, identificare la fonte dell'errore e prevenire l'imminente espansione della distorsione. Ciò è particolarmente utile quando si esternalizzano i servizi di annotazione , il che significa naturalmente cedere più controllo a una terza parte. Inoltre, il monitoraggio delle attività dell'annotatore è assolutamente necessario per i progetti di etichettatura su larga scala . Identifica le fonti e le ragioni dei Bias Oltre a tenere traccia dei progressi individuali degli annotatori, è utile avere una panoramica generale delle annotazioni ed essere in grado di filtrare i dati necessari. Ad esempio, potresti voler visualizzare le annotazioni per un particolare punto dati, classe o attributo. In questo modo, puoi identificare le posizioni e le fonti di errore e risolverle. Altri motivi di distorsione possono includere quanto segue: Istruzioni inefficienti con pochi o nessun esempio Mancanza di comunicazione all'interno del team Ora del giorno (le annotazioni fatte più avanti nel corso della giornata tendono ad essere più accurate a causa dell'illuminazione) Analizza il tuo set di dati, prenditi il tempo necessario per considerare le possibili ragioni alla base del verificarsi di errori e pensa a un approccio strategico per risolvere gli errori esistenti e prevenire gli errori imminenti. Come ridurre i bias nell' intelligenza artificiale ? In effetti, la distorsione può insinuarsi in un modello a causa di una serie di fattori: scarsa qualità dei dati, mancata corrispondenza delle prestazioni del modello, fattore umano, ecc. In questa sezione, introdurremo alcuni passaggi che puoi eseguire durante lo sviluppo di un modello di intelligenza artificiale per ridurre al minimo il rischio di bias: Seleziona i dati di allenamento giusti Controlla problemi legati alle infrastrutture Controlla continuamente distribuzione e feedback I dati di allenamento giusti Assicurati che il tuo set di dati sia diversificato, inclusivo, sufficientemente equilibrato e rappresenti i tuoi obiettivi nel modo più completo possibile. Come hai visto, anche il metodo di raccolta dei dati può introdurre pregiudizi. Assicurati che i tuoi dati coprano i casi che riguardano l'ambiente in cui opererà il tuo modello. Se hai a che fare con set di dati pubblici, sii estremamente cauto e cerca di non riutilizzarli per evitare distorsioni. Problemi legati alle infrastrutture I problemi con le apparecchiature possono anche presentare pregiudizi nei casi in cui ti affidi ai dati raccolti da dispositivi elettronici, smartphone, fotocamere, ecc. In effetti, questo è il tipo di bias più difficile da rilevare, ma investire nell'infrastruttura giusta può avvantaggiare il tuo modello più che sai. Distribuzione e feedback Una delle categorie di bias discusse in precedenza copre le distorsioni algoritmiche che influenzano il comportamento degli utenti. Per individuarlo in tempo e assicurarti che il modello funzioni come previsto, tieni sempre a mente il feedback durante la distribuzione. Fornisci spazio ai tuoi utenti finali per connettersi con te e condividere i loro pensieri sulle prestazioni del modello. Tre esempi reali di bias dell'IA 1. Il razzismo nell'assistenza sanitaria statunitense Nell'ottobre 2019, i ricercatori hanno scoperto che un algoritmo utilizzato su più di 200 milioni di persone negli ospedali statunitensi per prevedere quali pazienti avrebbero probabilmente bisogno di cure mediche extra favoriva i pazienti bianchi rispetto ai pazienti neri. Sebbene la razza stessa non fosse una variabile utilizzata in questo algoritmo, un'altra variabile altamente correlata alla razza lo era, che era la cronologia dei costi sanitari. La logica era che il costo riassume quanti bisogni sanitari ha una determinata persona. Per vari motivi, i pazienti neri hanno sostenuto in media costi sanitari inferiori rispetto ai pazienti bianchi con le stesse condizioni. Per fortuna, i ricercatori hanno lavorato con Optum per ridurre il livello di bias dell'80%. Ma se non fossero stati interrogati in primo luogo, il pregiudizio dell'IA avrebbe continuato a discriminare gravemente. 2. COMPAS e i falsi positivi Probabilmente l'esempio più notevole di pregiudizio dell'IA è l'algoritmo COMPAS (Correctional Offender Management Profiling for Alternative Sanctions) utilizzato nei sistemi giudiziari statunitensi per prevedere la probabilità che un imputato diventi recidivo . A causa dei dati utilizzati, del modello scelto e del processo di creazione dell'algoritmo in generale, il modello prevedeva il doppio dei falsi positivi per recidiva per i trasgressori neri (45%) rispetto ai trasgressori bianchi (23%) . 3. L'algoritmo di assunzione di Amazon Amazon è uno dei più grandi giganti della tecnologia al mondo. E quindi, non sorprende che siano grandi utilizzatori di machine learning e intelligenza artificiale. Nel 2015, Amazon si è resa conto che il loro algoritmo utilizzato per assumere dipendenti era prevenuto nei confronti delle donne . Il motivo era che l'algoritmo si basava sul numero di curricula presentati negli ultimi dieci anni e, poiché la maggior parte dei candidati erano uomini, era stato addestrato per favorire gli uomini rispetto alle donne. Cosa possiamo imparare da tutto questo? È chiaro che creare algoritmi non distorti è difficile. Per creare algoritmi non distorti, i dati utilizzati devono essere privi di pregiudizi e gli ingegneri che stanno creando questi algoritmi devono assicurarsi che non trapelano nessuno dei propri pregiudizi. Detto questo, ecco altri 3 suggerimenti più umani e meno tecnici per ridurre al minimo i pregiudizi: 1) I dati che si utilizzano devono rappresentare “ciò che dovrebbe essere” e non “ciò che è” Ciò che intendo dire con questo è che è naturale che i dati campionati casualmente abbiano pregiudizi perché vivevamo in un mondo parziale in cui le pari opportunità sono ancora una fantasia. Tuttavia, dobbiamo garantire in modo proattivo che i dati che utilizziamo rappresentino tutti allo stesso modo e in un modo che non causi discriminazioni nei confronti di un particolare gruppo di persone. Ad esempio, con l'algoritmo di assunzione di Amazon, se ci fosse stata una quantità uguale di dati per uomini e donne, l'algoritmo potrebbe non aver discriminato così tanto. Quindi per applicare questo primo suggerimento amazon avrebbe dovuto usare pari dati per dipendenti maschi e femmine anche se la realtà non è questa, così avrebbe evitato uno sbilanciamento 2) Dovrebbe essere imposto e imposto un qualche tipo di governance dei dati Poiché sia gli individui che le aziende hanno una sorta di responsabilità sociale, abbiamo l'obbligo di regolare i nostri processi di modellazione per garantire che le nostre pratiche siano etiche. Ciò può significare diverse cose, come assumere un team di conformità interno per imporre una sorta di controllo per ogni algoritmo creato, allo stesso modo del gruppo di Obermeyer. 3) La valutazione del modello dovrebbe includere la valutazione dei gruppi sociali Imparando dai casi precedenti, dovremmo sforzarci di garantire che parametri come la vera accuratezza e il tasso di falsi positivi siano coerenti quando si confrontano diversi gruppi sociali, indipendentemente dal fatto che si tratti di sesso, etnia o età. Conclusione sui Bias e IA In questo articolo, ci siamo concentrati sulla distorsione dell'apprendimento automatico, rispondendo ad alcune delle domande chiave sull'argomento, dai tipi ai metodi di misurazione e prevenzione. Ci auguriamo che tu utilizzi i suggerimenti discussi per ottenere il livello di precisione desiderato per il tuo modello.
- Migliori estensioni Google Chrome per scienziati dei dati e data scientist
In questo nuovo post parleremo delle migliori estensioni di Google Chrome che, come data scientist, ci rendono più facili alcune attività. Dovresti almeno provarli e verificarne i risultati da solo, è possibile che diventino parte del tuo arsenale di strumenti con cui lavorare quotidianamente. Se hai altri consigli, sentiti libero di pubblicarli nei commenti o se hai recensioni sulle estensioni menzionate a noi farebbe piacere sentire la vostra opinione! Iniziamo. Migliori estensione Google Chrome per Data Scientist 1. CatalyzeX Descrizione dell'estensione per la data science: Ottieni il codice di implementazione dei documenti di ricerca sull'apprendimento automatico con il codice direttamente su Google, ArXiv, Scholar, Twitter, Github, ecc. L'estensione del browser gratuita CatalyzeX trova e visualizza istantaneamente il codice di implementazione di qualsiasi apprendimento automatico, intelligenza artificiale, linguaggio naturale elaborazione, visione artificiale, apprendimento per rinforzo e documenti di ricerca sull'apprendimento profondo con il codice che trovi durante la navigazione di Google, ArXiv, Twitter, Scholar, Github e altri siti Web. ▶ Naviga sul Web come al solito e inizierai a vedere i pulsanti [CODICE] accanto ai documenti ovunque. ▶ I pulsanti [CODICE] appariranno automaticamente direttamente sulla pagina di qualsiasi collegamento di implementazione trovato. ▶ Fare clic su qualsiasi pulsante di codice per passare immediatamente all'open source ed esplorare! Basato sul repository CatalyzeX.com utilizzato da migliaia di ingegneri, ricercatori, sviluppatori e leader tecnologici di tutto il mondo, per sfogliare algoritmi, modelli e articoli di ML con codice per sviluppi rilevanti e all'avanguardia nell'apprendimento automatico, nella scienza dei dati e nell'intelligenza artificiale , visione artificiale, elaborazione del linguaggio naturale, riconoscimento vocale, apprendimento per rinforzo e apprendimento profondo. Link per il download Migliori estensione Google Chrome per Data Scientist # 2- Raschietto dati istantaneo Descrizione dell'estensione per la data science: Instant Data Scraper estrae i dati dalle pagine Web e li esporta come file Excel o CSV. Instant Data Scraper è uno strumento di estrazione dati automatizzato per qualsiasi sito web. Utilizza l'intelligenza artificiale per prevedere quali dati sono più rilevanti su una pagina HTML e consente di salvarli in un file Excel o CSV (XLS, XLSX, CSV). Questo strumento non richiede script specifici del sito Web, ma utilizza l'analisi euristica AI della struttura HTML per rilevare i dati da estrarre. Se la previsione non è soddisfacente, consente all'utente di personalizzare le selezioni per una maggiore precisione. Questo tipo di tecnologia scrape è molto più conveniente, perché non richiede grandi librerie di script scrape creati dall'utente, che sono spesso pieni di versioni obsolete e ridondanti. Ciò significa che il nostro metodo scrape funziona altrettanto bene con siti Web piccoli e meno conosciuti come con giganti globali come Amazon. Inoltre, i nostri utenti non devono avere alcuna conoscenza di codifica, json o xml! Caratteristiche di Instant Data Scraper: * Rilevamento dei dati per l'estrazione con l'intelligenza artificiale. * Rilevamento di dati dinamici quando è stato caricato. * Personalizzazione del ritardo e del timeout per la velocità di scansione desiderata. * Supporto per l'impaginazione sui siti web. * Navigazione automatica alla pagina successiva tramite pulsanti o collegamenti. * Supporto per scorrimento infinito. * Anteprima dei dati estratti con supporto copia e incolla. * Esportazione dei dati su foglio di calcolo Excel o file CSV. * Rinomina e filtra le colonne di dati estratte. Questa estensione è completamente GRATUITA. Instant Data Scraper funziona bene all'unisono con strumenti SEO, sistemi di reclutamento CRM, strumenti di gestione dei lead di vendita o campagne di email marketing. Il web scraping e il download dei dati sono facili con il nostro strumento. Inoltre, hai sicurezza e privacy dei dati poiché i dati raschiati non lasciano il tuo browser. Instant Data Scraper CASI D'USO: * Lead generation per aziende e liberi professionisti. * Hacker della crescita che cercano modi semplici per raccogliere dati. * Reclutatori in cerca di candidati di lavoro. * Ottenere i risultati dei motori di ricerca. * Ottenere dati sui prezzi dei prodotti da siti Web di e-commerce. * Venditori, distributori e analisti di recensioni Amazon. * Ottieni indirizzi e-mail e directory e numeri di telefono. * Ottenere le informazioni di contatto dai siti web delle associazioni professionali. * Raccogli recensioni e valutazioni. * Analizza i post per Mi piace, commenti, connessione e contatti. * Estrai email e ID dai profili dei social network. La promessa dello sviluppatore: questa estensione non contiene malware o spyware oltre allo standard di Google Analytics. Link per scaricare InstaDataScraper Migliori estensione Google Chrome per Data Scientist #3- EquatIO - La matematica diventa digitale Descrizione dell'estensione per la data science: crea facilmente equazioni matematiche, formule e quiz. Digita intuitivamente o manualmente, senza la necessità di apprendere complicati codici matematici. Finora, scrivere equazioni ed espressioni matematiche al computer era lento e laborioso. EquatIO rende la matematica digitale, aiutando insegnanti e studenti di tutti i livelli a creare espressioni matematiche in modo rapido e semplice. Digita o scrivi a mano praticamente qualsiasi espressione matematica direttamente sulla tastiera o sul touch screen. Non è necessario alcun codice complicato o linguaggi di programmazione. EquatIO converte istantaneamente i tuoi pensieri in formule chiare e precise sullo schermo. Quando digiti "sq", sa che intendi "radice quadrata". E ascolta anche te. Quando si detta una formula ad alta voce, EquatIO è abbastanza intelligente da ignorare "umms", "errs" e altre parole non matematiche indesiderate. Più che un sostituto di carta e matita, EquatIO rende la matematica e altre materie STEM coinvolgenti e gratificanti per tutti gli studenti. Caratteristiche: - Crea facilmente espressioni matematiche, incluse equazioni e formule. - Compatibile con Google Documenti, Moduli*, Presentazioni*, Fogli* e Disegni*. - Input da tastiera, riconoscimento della grafia* (tramite touchscreen o touchpad) e dettatura vocale - Indovina cosa stai scrivendo o digitando, - Ascolta le tue espressioni matematiche lette ad alta voce. - Compatibile con input LaTeX per utenti avanzati. - Crea quiz matematici digitali interattivi*. - Inserisci le risposte degli studenti direttamente nei quiz digitali*. - Previsione formula chimica*. Link per il download Migliori estensione Google Chrome per Data Scientist 4- Caccia alla sfida Descrizione dell'estensione per la data science: un'applicazione. Tutti i concorsi di programmazione. Ti tiene aggiornato con tutti i concorsi di programmazione attivi e imminenti e gli hackathon da tutto il mondo. Challenge Hunt ti offre le migliori sfide di programmazione da tutto il mondo. Ti tiene aggiornato con tutte le competizioni di codifica attive e imminenti, gli hackathon, le assunzioni e le sfide della scienza dei dati. Ti permette di vedere tutti gli eventi attivi e imminenti: * Gare di programmazione * Hackathon * Sfide di scienza dei dati * Sfide di assunzione Link per il download Migliori estensione Google Chrome per Data Scientist 5- Openin Colab Descrizione dell'estensione per la data science: apri un notebook ospitato su Github in Google Colab. Semplice estensione del browser per aprire rapidamente il notebook Jupyter ospitato su GitHub in Google Colab. Link per il download Grazie per aver letto se ti va di aiutarci condividi l'articolo su Linkedin o il social che preferisci!
- Come creare intelligenze artificiali senza scrivere codice
Sembra assurdo ma è così, ecco una guida completa alle piattaforme per lo sviluppo di Intelligenze artificiali senza codice! Con l'aumento della trasformazione digitale e dei progressi nell'apprendimento automatico (ML), un numero crescente di aziende inizia a incorporare l'intelligenza artificiale (AI) nel proprio flusso di lavoro. Nella ricerca di Deloitte, un numero considerevole di intervistati ha affermato che le tecnologie cognitive sono "importanti" o "molto importanti" sia per le offerte di servizi che per i processi aziendali interni. Apparentemente, queste aziende ritengono che l'utilizzo dell'IA sia fondamentale per la loro capacità di sviluppare le proprie attività e superare la concorrenza. E poiché la domanda di IA integrativa sta solo crescendo, anche le piattaforme che suggeriscono lo sviluppo di IA senza codice o low-code crescono di numero. Questo articolo definirà i termini "low-code" e "no-code", discuterà i vantaggi e gli svantaggi di questa tecnologia e introdurrà un elenco di piattaforme no-code per l'IA e la visione artificiale. Nel dettaglio in questo articolo vedremo : Sviluppare un'Intelligenza artificiale senza codice Sviluppare un'Intelligenza artificiale a basso codice Vantaggi e svantaggi Elenco delle piattaforme Conclusioni Sviluppare un'intelligenza artificiale senza codice Il no-code è un approccio allo sviluppo di software che consente a persone non tecnologiche, ovvero a chiunque non abbia una formazione preliminare, di progettare applicazioni, siti Web, senza scrivere manualmente il codice. Il no-code è diventato ancora più popolare durante il COVID-19, quando le aziende che sono passate online non avevano il tempo e le risorse per sviluppare i propri software, applicazioni, siti Web di e-commerce, ecc., quindi avevano bisogno di un modo più rapido e accessibile per integrare nuove soluzioni. Quando si parla di IA, un sistema senza codice per l'implementazione di modelli di IA e ML è definito come IA senza codice. Facilita la classificazione e l'analisi dei dati per i modelli di intelligenza artificiale che servono a scopi aziendali specifici. Sviluppare un'intelligenza artificiale con poco codice Lo sviluppo con poco codice va di pari passo con il non codice. Piattaforme di questo tipo aiutano anche a fornire app più velocemente, ma potrebbero richiedere un po' di codifica. Anche i programmatori esperti spesso sfruttano questi strumenti per evitare di scrivere codice aggiuntivo. Ad ogni modo, gli strumenti low-code e no-code sono per lo più rivolti a uomini d'affari e altri professionisti la cui specializzazione in AI non è sufficientemente abile per costruire modelli. Dove viene utilizzato lo sviluppo di intelligenza artificiale senza codice? L'IA low-code/no-code può essere utilizzata in qualsiasi azienda per ottimizzare i flussi di lavoro, prevedere il tasso di abbandono e suggerire consigli. Semplici modelli di intelligenza artificiale per la classificazione delle immagini possono essere facilmente sviluppati con piattaforme low-code/no-code e utilizzati nelle fabbriche per distinguere tra prodotti di qualità e danneggiati, o nel settore sanitario per rilevare se le persone indossano maschere all'interno dell'edificio. I casi d'uso sono infiniti. Le aziende trarranno vantaggio dalle piattaforme di IA low-code/no-code in settori più basati sui dati, come marketing, vendite e finanza . L'intelligenza artificiale può aiutare a prevedere i tassi di abbandono, analizzare i rapporti, aggiungere suggerimenti intelligenti, automatizzare la fatturazione e molto altro. Vantaggi dello sviluppo di intelligenza artificiale senza codice? Una volta che sappiamo che esiste un modo più semplice per fare qualcosa, lo sfruttiamo per ottenere risultati più efficienti in un periodo di tempo più breve. In che modo le piattaforme AI low-code/no-code ci aiutano a farlo? Diamo un'occhiata ai vantaggi. Accessibilità: le piattaforme low-code/no-code consentono a persone o aziende non tecnologiche di creare sistemi di intelligenza artificiale da zero, rendendo così l'IA più accessibile a una più ampia varietà di aziende. Usabilità: questi strumenti hanno spesso un'interfaccia drag-and-drop intuitiva in cui la complessità è ridotta al minimo, quindi, di norma, è abbastanza facile navigare attraverso piattaforme IA low-code/no-code. Velocità: poiché le piattaforme IA low-code/no-code spesso dispongono di modelli IA predefiniti, modelli di progetto e set di dati già pronti, l'etichettatura e l'iterazione dei dati richiede molto meno tempo, accelerando notevolmente lo sviluppo del modello. Scalabilità: l'IA esegue attività per molti (se non cento) utenti, risparmiando tempo e risorse dell'azienda. Inoltre, i server vengono ridimensionati automaticamente, a seconda del carico, ed è davvero facile seguire il carico di lavoro e l'avanzamento stesso. Svantaggi dello sviluppo di intelligenza artificiale senza codice? Sebbene le piattaforme di intelligenza artificiale senza codice o con codice ridotto sembrino incoraggianti, ci sono ancora alcuni inconvenienti o ostacoli da considerare quando si sceglie una piattaforma. Sicurezza: alcune piattaforme potrebbero non riuscire a progettare protocolli di accesso e questo è un problema per le aziende in cui la sicurezza è la massima priorità. È sicuro ricercare i termini e le condizioni per capire chiaramente come e dove verranno elaborati i tuoi dati. Mancanza di personalizzazione: sebbene facili e veloci, le piattaforme low-code/no-code sono per lo più limitate nelle funzionalità, perché sono progettate per coprire un problema specifico ed è difficile trovare soluzioni pronte all'uso, più complesse soluzioni. Il business ha bisogno di cambiare come il vento, quindi una volta che hai superato una soluzione o una funzionalità specifica, dove vai dopo? Richiede consulenza o formazione: idealmente, l'ingegnere ML, lo specialista delle risorse umane e lo stagista di marketing dovrebbero essere ugualmente in grado di utilizzare le piattaforme low-code/no-code, ma non è sempre così. Poiché l'utente finale di una piattaforma di intelligenza artificiale è comunque un ingegnere di ML, il resto del team richiederà molta formazione e consultazioni per orientarsi nei processi di intelligenza artificiale. Mancanza di fiducia: quello che abbiamo visto finora è che le piattaforme di IA low-code/no-code stanno guadagnando popolarità, ma sono pratiche quanto i tradizionali approcci ML? Secondo Google Trends, l'interesse per nessun ML di codice è in aumento, ma le persone interessate al ML tradizionale sono molto più avanti. Questo perché ML e visione artificiale sono presenti da un po' di tempo, queste risorse e librerie superano notevolmente le piattaforme di IA low-code/no-code. Le migliori piattaforme per creare IA senza codice : Ora che abbiamo familiarità con i concetti di piattaforme low-code e no-code, tuffiamoci e vediamo quali risorse AI low-code/no-code esistono là fuori. Ecco un elenco di piattaforme IA no-code che puoi usare : Create ML Google AutoML Levity Lobe Obviously AI MakeML Create ML In iOS 11, Apple ha introdotto il framework ML di base per le previsioni ML sul dispositivo. Ciò ha consentito alle app di aggiungere ML semplicemente trascinando un modello addestrato. Un anno dopo, Apple ha introdotto Create ML , che è un framework Mac OS che consente a chiunque di creare facilmente modelli ML con un'interfaccia dell'app facile da usare e senza codice. Create ML può essere utilizzato per addestrare una varietà di modelli per quanto segue: Riconoscimento delle immagini Analisi del sentimento Analisi di regressione Google AutoML AutoML consente agli sviluppatori con competenze ML limitate di addestrare modelli di alta qualità specifici per le loro esigenze aziendali. È fondamentalmente un insieme di strumenti per diversi progetti di intelligenza artificiale: Immagine AutoML per l'annotazione e l'etichettatura delle immagini. AutoML Video per annotazioni ed etichette video. AutoML Text per l'analisi semantica e la classificazione del testo. Leviry Levity è un'altra piattaforma di intelligenza artificiale senza codice per addestrare e costruire modelli di intelligenza artificiale. Si concentra sulla classificazione di immagini, testo e documenti e consente agli utenti di addestrare modelli personalizzati sui dati specifici del loro caso d'uso. I modelli personalizzati includono anche un'opzione human-in-the-loop, il che significa che il modello richiede input dove non è sicuro e imparerà automaticamente dalle interazioni. Classifica immagini, testi e documenti. Automatizza l'iterazione dei dati. Lobe Lobe è un'app di addestramento del modello relativamente nuova ma super facile per la classificazione delle immagini con rilevamento di oggetti e classificazione dei dati in arrivo. Con Lobe puoi fare le seguenti operazioni: Crea un set di dati ed etichetta le immagini. Addestra automaticamente un modello senza alcuna configurazione precedente. Usa il tuo modello in qualsiasi app grazie alla facile esportazione. Obviously AI Obviously AI è una piattaforma AI senza codice che aiuta a costruire algoritmi ML per la previsione dei dati. La piattaforma consente agli utenti di osservare a volo d'uccello i dati esistenti, comprenderli e trarre conclusioni. Suggerisce anche set di dati già pronti, in modo da poterli testare e ottenere subito previsioni. Ovviamente l'IA può essere utilizzata per una serie di casi d'uso aziendali: Previsione delle entrate aziendali Ottimizzazione della filiera Personalizzazione delle campagne di marketing MakeML Fondata nel 2018, MakeML si posiziona ora come un'app per creare modelli ML di rilevamento e segmentazione di oggetti senza codice. Abbastanza promettente, non è vero? Progettata per gli sviluppatori macOS, la piattaforma suggerisce anche set di dati di visione artificiale gratuiti per addestrare le reti neurali in meno tempo. Con MakeML puoi: Crea i tuoi set di dati. Crea modelli ML personalizzati in pochi clic. Integra il tuo modello nella tua app. Conclusioni su come sviluppare le IA senza codice Le piattaforme low-code/no-code sono utili e popolari? Sì! Sostituiranno completamente il tradizionale ML e la visione artificiale? No. A causa del fatto che c'è ancora molto da esplorare in ML, IA e visione artificiale, l'approccio personalizzato alla creazione di modelli di IA è lungi dall'essere sostituito. Inoltre, le piattaforme low-code e no-code sono piuttosto limitate in termini di personalizzazione delle funzionalità, mentre quando crei l'IA da zero, il limite è il cielo, sei libero di costruire l'architettura, la funzionalità o la pipeline adatta il tuo progetto migliore. D'altra parte, tale costruzione di modelli personalizzati può essere piuttosto costosa e richiedere molto tempo. Quindi, la nostra migliore ipotesi è utilizzare piattaforme low-code/no-code per coprire azioni molto specifiche della tua pipeline per semplificare e velocizzare i processi.
- Le migliori librerie python di computer vision o visione artificiale
Se stai cercando le librerie python ad oggi disponibili e ben collaudate per il tuo prossimo progetto di visione artificiale, sei nel posto giusto. Introduzione veloce : computer vision o visione artificiale Noi esseri umani possiamo identificare rapidamente gli oggetti grazie ai nostri sensori biologici: gli occhi. Tuttavia, i computer non "vedono" le cose nel modo in cui le vediamo noi. Ci vogliono molti dati e hardware (fotocamere, sensori) affinché un computer riconosca un singolo oggetto. Proprio come gli occhi umani ci aiutano a vedere e reagire al mondo che ci circonda, la visione artificiale consente a una macchina di identificare, classificare e rispondere agli oggetti che vede. Molto semplice ... Oggi, non è un segreto che la visione artificiale abbia molteplici applicazioni in molti settori come la sicurezza, l'agricoltura, la medicina e altro ancora. Quindi la domanda di strumenti e librerie di visione artificiale di qualità aumenta di conseguenza. Esistono varie librerie di computer vision, librerie di riconoscimento di immagini, librerie di riconoscimento facciale, ecco perché abbiamo deciso di stilare questo elenco di librerie di visione artificiale per filtrare e trovare facilmente quelle che si adattano meglio alle tue esigenze. Che cos'è una libreria di computer vision? Una libreria di visione artificiale è fondamentalmente un insieme di codice e dati pre-scritti per costruire o ottimizzare un programma per computer. Le librerie sono numerose su misura per esigenze specifiche o linguaggi di programmazione. Le migliori librerie di computer vision : In questo articolo abbiamo raccolto un elenco delle librerie di visione artificiale più popolari per aiutarti a iniziare. Quindi, vediamole : OpenCV SimpleCV TensorFlow Keras MATLAB PCL DeepFace NVIDIA CUDA-X NVIDIA Performance Primitives BoofCV OpenVINO PyTorch Albumentations Caffe Detectron2 Naturalmente non ci fermeremo al semplice elenco che più di orientare, disorienta (vista la moltitudine di librerie disponibili) ma vedremo per ogni libreria una descrizione dettagliata e gli utilizzi consigliati. Migliori librerie di computer vision 1 Open CV OpenCV è di gran lunga la libreria di visione artificiale open source più popolare, che mira alla visione in tempo reale. È una libreria multipiattaforma che supporta Windows, Linux, Android e macOS e può essere utilizzata in diversi linguaggi, come Python, Java, C++, ecc. Originariamente sviluppato da Intel, ora è gratuito per l'uso con BSD open source licenza. Alcuni casi d'uso di OpenCV includono: Toolkit di funzionalità 2D e 3D Applicazione di riconoscimento facciale Riconoscimento del gesto Comprensione del movimento Interazione umano-computer Rilevamento di oggetti Segmentazione e riconoscimento Migliori librerie di computer vision 2 SimpleCV Sviluppato da Sight Machine, SimpleCV è un framework open source, una raccolta di librerie e software per creare applicazioni di visione artificiale. Rilasciato con licenza BSD e scritto in Python, consente di lavorare con le immagini o i flussi video di webcam, Kinect, FireWire e telecamere IP o telefoni cellulari. Questa libreria è altamente raccomandata per la prototipazione. Ha metodi semplici per programmare la manipolazione di immagini di base, nonché interessanti rilevamento futuro, apprendimento automatico, segmentazione e tracciamento. Ecco alcuni esempi in cui SimpleCV può essere utile: Rilevamento di un'auto Segmentazione dell'immagine e della morfologia Aritmetica delle immagini Migliori librerie di computer vision 3 TensorFlow Creato dal team di GoogleBrain, TensorFlow è stato rilasciato a novembre 2015 e mirava a facilitare il processo di creazione di modelli di intelligenza artificiale. Dispone di soluzioni personalizzate come TensorFlow.js, una libreria JavaScript per l'addestramento e la distribuzione di modelli nel browser e su Node.js, o TensorFlow Lite, una libreria leggera per la distribuzione di modelli su dispositivi mobili e incorporati. TensorFlow ha ora messo a punto un framework migliore, TensorFlow Hub . È una piattaforma facile da usare in cui puoi fare quanto segue: Riutilizza modelli addestrati come BERT e Faster R-CNN. Trova modelli pronti per la distribuzione per il tuo progetto di intelligenza artificiale. Ospita i tuoi modelli affinché altri possano utilizzarli. Migliori librerie di computer vision 4 Keras Keras è una libreria software open source basata su Python particolarmente utile per i principianti perché consente di creare rapidamente modelli di rete neurale e fornisce supporto back-end. Con oltre 400.000 utenti individuali, Keras ha un forte supporto della comunità. Alcuni casi d'uso di Keras includono: Segmentazione e classificazione delle immagini Riconoscimento della grafia Classificazione delle immagini 3D Raggruppamento di immagini semantiche Migliori librerie di computer vision 5 MATLAB MATLAB è una piattaforma di programmazione a pagamento che si adatta a varie applicazioni come machine learning, deep learning, elaborazione di immagini, video ed elaborazione del segnale. Viene fornito con una cassetta degli attrezzi per la visione artificiale che ha molteplici funzioni, app e algoritmi per aiutare con le attività relative alla visione artificiale, come ad esempio: Rilevamento e rilevamento di oggetti nei fotogrammi video Riconoscere gli oggetti Calibrazione delle telecamere Esecuzione della visione stereofonica Elaborazione di carichi puntuali 3D Migliori librerie di computer vision 6 PCL La Point Cloud Library (PCL) è una libreria open source di algoritmi per (come avrai intuito) attività di elaborazione della nuvola di punti e elaborazione della geometria 3D, come nella visione artificiale tridimensionale. La libreria è scritta in C++ e rilasciata sotto licenza BSD. È anche un software multipiattaforma che funziona su diversi sistemi operativi come Linux, Windows, macOS e Android. PCL contiene librerie per eseguire le seguenti operazioni: Filtraggio Stima delle caratteristiche Ricostruzione superficiale registrazione 3D Vestibilità modello Riconoscimento e segmentazione degli oggetti Migliori librerie di computer vision 7 Deep Face DeepFace si posiziona come la libreria open source di riconoscimento facciale più popolare per Python, quindi chi dobbiamo discutere? Include modelli di intelligenza artificiale per: Verifica facciale Riconoscimento facciale Analisi degli attributi facciali Analisi del volto in tempo reale Migliori librerie di computer vision 8 NVIDIA CUDA-X Quando è stato introdotto per la prima volta, CUDA era l'acronimo di Compute Unified Device Architecture, ma in seguito NVIDIA ha abbandonato l'uso comune dell'acronimo. NVIDIA CUDA-X è la versione aggiornata di CUDA. È una raccolta di librerie e strumenti con accelerazione GPU per iniziare con una nuova applicazione o accelerazione GPA. NVIDIA CUDA-X contiene: Librerie di matematica Algoritmi paralleli Librerie di immagini e video Librerie della comunicazione Apprendimento approfondito Migliori librerie di computer vision 9 NVIDIA Performance Primitives La libreria NVIDIA Performance Primitives (NPP) fornisce funzioni di elaborazione di immagini, video e segnale con accelerazione GPU che funzionano molto più velocemente rispetto alle implementazioni solo CPU. Questa libreria è progettata per ingegneri, scienziati e ricercatori che lavorano in una vasta gamma di campi come la visione artificiale, l'ispezione industriale, la robotica , l'imaging medico, le telecomunicazioni, l'apprendimento profondo e altro ancora. La libreria NPP include oltre 5000 primitive per l'elaborazione di immagini e segnali per eseguire le seguenti attività: Conversione del colore Compressione dell'immagine Filtraggio, soglia Manipolazione dell'immagine Migliori librerie di computer vision 10 BoofCV BoofCV è un software di visione artificiale open source progettato per soluzioni di visione artificiale in tempo reale. È rilasciato con una licenza Apache 2.0 che lo rende gratuito per scopi accademici e commerciali. Sebbene basato su Java, BoofCV supporta più linguaggi ed è adatto per operazioni di alto livello. BoofCV è organizzato in diversi pacchetti: Elaborazione delle immagini Visione geometrica Calibrazione Riconoscimento Visualizzazione Migliori librerie di computer vision 11 OpenVINO OpenVINO è l' acronimo di Open Visual Inference e Neural Network Optimization. Lo so anche tu da bravo italiano hai pensato ci fosse di mezzo il vino :) Ma OpenVino è un insieme di strumenti completi di visione artificiale per ottimizzare le applicazioni che emulano la visione umana. Per utilizzare OpenVINO, avrai bisogno di un modello pre-addestrato, dato che si tratta di un toolkit di ottimizzazione e distribuzione del modello. Sviluppato da Intel, è un framework multipiattaforma gratuito con modelli per diverse attività: Rilevamento di oggetti Riconoscimento facciale Colorazione Riconoscimento del movimento Migliori librerie di computer vision 12 PyTorch PyTorch è una libreria di machine learning open source per Python sviluppata principalmente dal gruppo di ricerca AI di Facebook. Utilizza il calcolo dinamico, che consente una maggiore flessibilità nella costruzione di architetture complesse. Pytorch utilizza concetti di base di Python come classi, strutture e cicli condizionali ed è anche compatibile con C++. PyTorch supporta sia i calcoli della CPU che della GPU ed è utile per: Modelli di stima delle immagini Segmentazione dell'immagine Classificazione delle immagini Migliori librerie di computer vision 13 Albumentations Albumentations è una libreria Python open source per l'aumento delle immagini. È gratuito con licenza MIT ed è ospitato su github . La libreria fa parte dell'ecosistema PyTorch ed è facilmente integrabile con framework di deep learning come PyTorch e Keras. Albumentations supporta un'ampia varietà di operazioni di trasformazione delle immagini per attività quali: Classificazione Segmentazione semantica Segmentazione dell'istanza Rilevamento di oggetti Stima della posa Migliori librerie di computer vision 12 CAFFE Mi dispiace ma anche quì noi italiani non siamo chiamati in causa, niente a che vedere il con caffè che conosciamo noi, CAFFE sta per Convolutional Architecture for Fast Feature Embedding. È un framework di visione artificiale e deep learning open source facile da usare sviluppato presso l'Università della California, a Berkeley. È scritto in C++, supporta più linguaggi e diverse architetture di deep learning relative alla classificazione e segmentazione delle immagini. Il caffè viene utilizzato in progetti di ricerca accademica, prototipi di avvio e persino applicazioni industriali su larga scala in ambito visivo, vocale e multimediale. CAFFE supporta: Segmentazione dell'immagine Classificazione delle immagini CNN RCNN LSTM Migliori librerie di computer vision 15 Detectron2 Detecrton2 è una libreria di rilevamento di oggetti modulare basata su PyTorch di Facebook AI Research (FAIR). È stato creato per soddisfare la domanda di intelligenza artificiale di Facebook e coprire i casi d'uso del rilevamento di oggetti su Facebook. Detectron2 è una versione raffinata di Detection; include tutti i modelli del Detectron originale, come Faster R-CNN, Mask R-CNN, RetinaNet e DensePose. Presenta anche diversi nuovi modelli, tra cui Cascade R-CNN, Panoptic FPN e TensorMask. Detecrton2 è perfetto per: Previsione di posa Segmentazione panottica Segmentazione sinaptica Rilevamento di oggetti Conclusioni A seconda delle tue competenze, del tuo progetto e del tuo budget, potresti aver bisogno di diversi programmi di visione artificiale, toolkit e librerie. Alcune delle librerie suggerite avranno bisogno di poche conoscenze preliminari di deep learning, ma potrebbero non essere gratuite. D'altra parte, ci sono un sacco di strumenti e risorse open source che sono disponibili per l'uso in qualsiasi momento.
- Prevedere il traffico di un sito web utilizzando Python
Le previsioni possono offrire un grande valore in SEO. Prevedere il traffico su un sito Web durante un determinato periodo è uno dei migliori casi d'uso della previsione di serie temporali. Se vuoi imparare a prevedere il traffico su un sito web, questo articolo è per te. In questo articolo, ti guiderò attraverso l'attività di previsione del traffico del sito Web utilizzando Python. Allora perché prevedere il traffico di un sito web utilizzando Python? Per rispondere a una domanda con una domanda, perché non dovresti farlo? Queste tecniche sono state a lungo utilizzate nella finanza per i prezzi delle azioni, ad esempio, e in altri campi. Perché la SEO dovrebbe essere diversa? Il traffico web è fondamentalmente il numero di sessioni in un dato intervallo di tempo, e varia molto rispetto a che ora del giorno è, che giorno della settimana è e così via, e quanto traffico web della piattaforma può resistere dipende dalle dimensioni dei server che supportano la piattaforma. Se il traffico è superiore a quello che i server possono gestire, il sito Web potrebbe mostrare questo errore 404, che è qualcosa che non vogliamo che accada. Farà andare via i visitatori. Previsione del traffico del sito Web utilizzando Python Il set di dati che sto utilizzando per la previsione del traffico del sito Web viene raccolto dai dati sul traffico giornaliero di intelligenzaartificialeitalia.net . Ricorda che puoi semplicemente scaricare i dati del tuo sito web andando su : https://search.google.com/search-console?hl=IT e cliccare in alto a destra su "ESPORTA": una volta fatto ciò vi troverete una cartella .zip contenente i seguenti file : A noi interesserà solo Date.csv Ora iniziamo con l'attività di previsione del traffico del sito Web importando le librerie Python necessarie e il set di dati: import pandas as pd import matplotlib.pyplot as plt import plotly.express as px import plotly.graph_objects as go from statsmodels.tsa.seasonal import seasonal_decompose from statsmodels.graphics.tsaplots import plot_pacf from statsmodels.tsa.arima_model import ARIMA import statsmodels.api as sm data = pd.read_csv("Date.csv") print(data.head()) Output : Data Clic 0 2022-10-08 **** 1 2022-10-07 ***** 2 2022-10-06 ***** 3 2022-10-05 ***** 4 2022-10-04 ***** Il set di dati contiene due colonne, data e traffico. Prima di andare avanti, convertirò la colonna Date nel tipo di dati Datetime: data["Data"] = pd.to_datetime(data["Data"], format="%Y-%m-%d") print(data.info()) Output : RangeIndex: 486 entries, 0 to 485 Data columns (total 2 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Data 486 non-null datetime64[ns] 1 Clic 486 non-null object dtypes: datetime64[ns](1), object(1) memory usage: 7.7+ KB None Inizialmente la colonna Datetime era un oggetto, quindi l'ho convertita in una colonna Datetime. Ora diamo un'occhiata al traffico giornaliero del sito web: plt.style.use('fivethirtyeight') plt.figure(figsize=(15, 10)) plt.plot(data["Data"], data["Clic"]) plt.title("traffico giornaliero intelligenzaartificialeitalia.net") plt.show() Output : I dati sul traffico del nostro sito Web sono stagionali perché il traffico sul sito Web aumenta durante i giorni feriali e diminuisce durante i fine settimana. È importante sapere se il set di dati è stagionale o meno mentre si lavora sul problema della previsione delle serie temporali. Di seguito è riportato come possiamo dare un'occhiata se il nostro set di dati è stazionario o stagionale: Userò il modello stagionale ARIMA (SARIMA) per prevedere il traffico sul sito web. Prima di utilizzare il modello SARIMA, è necessario trovare i valori p, d e q. Poiché i dati non sono stazionari, il valore di d è 1. Per trovare i valori di p e q, possiamo utilizzare i grafici di autocorrelazione e autocorrelazione parziale: pd.plotting.autocorrelation_plot(data["Clic"]) plot_pacf(data["Clic"], lags = 100) Output : Ora ecco come possiamo addestrare un modello SARIMA per il compito di previsione del traffico del sito web: p, d, q = 5, 1, 2 model=sm.tsa.statespace.SARIMAX(data['Clic'], order=(p, d, q), seasonal_order=(p, d, q, 12)) model=model.fit() print(model.summary()) Output : SARIMAX Results ========================================================================================== Dep. Variable: Clic No. Observations: 486 Model: SARIMAX(5, 1, 2)x(5, 1, 2, 16) Log Likelihood -2750.823 Date: Mon, 10 Oct 2022 AIC 5531.646 Time: 15:59:06 BIC 5593.905 Sample: 0 HQIC 5556.143 - 486 Covariance Type: opg ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ ar.L1 0.2189 0.078 2.795 0.005 0.065 0.372 ar.L2 -0.6501 0.065 -10.061 0.000 -0.777 -0.523 ar.L3 -0.3116 0.077 -4.047 0.000 -0.462 -0.161 ar.L4 -0.3608 0.058 -6.238 0.000 -0.474 -0.247 ar.L5 -0.4415 0.077 -5.768 0.000 -0.592 -0.292 ma.L1 -0.9748 0.073 -13.360 0.000 -1.118 -0.832 ma.L2 0.7034 0.066 10.614 0.000 0.574 0.833 ar.S.L16 -1.9088 1.075 -1.776 0.076 -4.015 0.198 ar.S.L32 -1.8938 1.655 -1.144 0.253 -5.138 1.350 ar.S.L48 -1.0791 1.073 -1.005 0.315 -3.183 1.024 ar.S.L64 -0.4224 0.562 -0.751 0.452 -1.525 0.680 ar.S.L80 -0.0785 0.226 -0.347 0.729 -0.522 0.365 ma.S.L16 1.1405 1.076 1.060 0.289 -0.969 3.250 ma.S.L32 0.6541 0.888 0.736 0.462 -1.087 2.395 sigma2 1.049e+04 936.123 11.206 0.000 8655.763 1.23e+04 =================================================================================== Ljung-Box (L1) (Q): 0.14 Jarque-Bera (JB): 21.38 Prob(Q): 0.71 Prob(JB): 0.00 Heteroskedasticity (H): 9.08 Skew: 0.07 Prob(H) (two-sided): 0.00 Kurtosis: 4.04 =================================================================================== Warnings: [1] Covariance matrix calculated using the outer product of gradients (complex-step). Ora prevediamo il traffico sul sito web per i prossimi 50 giorni: predictions = model.predict(len(data), len(data)+50) print(predictions) Ecco come possiamo vedere graficamente le previsioni: data["Clic"].plot(legend=True, label="Training Data", figsize=(15, 10)) predictions.plot(legend=True, label="Predictions") Output : Riepilogo su come Prevedere il traffico di un sito web utilizzando Python Quindi è così che puoi prevedere il traffico del sito Web per un determinato periodo. La previsione del traffico del sito Web è una delle migliori idee per progetti di data science che puoi menzionare nel tuo curriculum. Spero che questo articolo ti sia stato utile per imparare la previsione del traffico del sito web usando il linguaggio di programmazione Python. Sentiti libero di porre domande preziose nella sezione commenti qui sotto.
- Progetti di machine learning per potenziare il curriculum
Lavora su progetti di machine learning e deep learning per apprendere nuove competenze e aumentare le tue possibilità di essere assunto. C'è una forte domanda di posti di lavoro per ingegneri di apprendimento automatico, ma il processo di assunzione è difficile. Le aziende vogliono assumere professionisti con esperienza nella gestione di vari problemi di apprendimento automatico. Per un principiante o un neolaureato, ci sono solo alcuni modi per mostrare abilità ed esperienza. Possono ottenere uno stage, lavorare su progetti open source, fare volontariato in progetti di ONG o lavorare su progetti propri. In questo post, ci concentreremo su progetti di apprendimento automatico che miglioreranno il tuo curriculum e ti aiuteranno durante il processo di reclutamento. Lavorare da solo al progetto ti rende anche più bravo nella risoluzione dei problemi. 1° Progetti di machine learning per potenziare il tuo curriculum : Degradazione dell'mRNA utilizzando il modello di Deep Learning Il progetto di degradazione dell'mRNA è un complesso problema di regressione. La sfida in questo progetto è prevedere i tassi di degradazione che possono aiutare gli scienziati a progettare vaccini più stabili in futuro. Il progetto potrebbe eichiederti fino a 2 anni, ma imparerai molto sulla risoluzione dei problemi di regressione utilizzando la manipolazione di dati 3D complessi e modelli GRU di deep learning. Inoltre, prevediamo 5 target: reattività, deg_Mg_pH10, deg_Mg_50C, deg_pH10, deg_50C. 2° Progetti di machine learning per potenziare il tuo curriculum : Sottotitoli automatici delle immagini La didascalia automatica delle immagini è il progetto indispensabile nel tuo curriculum. Imparerai la visione artificiale, i modelli pre-addestrati dalla CNN e l'LSTM per l'elaborazione del linguaggio naturale. Alla fine, creerai l'applicazione su Streamlit o Gradio per mostrare i tuoi risultati. Il generatore di didascalie dell'immagine genererà un semplice testo che descrive l'immagine. Puoi trovare più progetti simili online e persino creare la tua architettura di deep learning per prevedere i sottotitoli in diverse lingue. Lo scopo principale del progetto portfolio è lavorare su un problema unico. Può essere la stessa architettura del modello ma un set di dati diverso. Lavorare con vari tipi di dati aumenterà le tue possibilità di essere assunto. 3° Progetti di machine learning per potenziare il tuo curriculum : Previsione del prezzo delle azioni tramite Deep Learning La previsione tramite Deep Learning è un'idea di progetto popolare e imparerai molte cose sull'analisi dei dati di serie temporali, sulla gestione dei dati, sulla pre-elaborazione e sulle reti neurali per problemi di serie temporali. La previsione delle serie temporali non è semplice. È necessario comprendere la stagionalità, le festività natalizie, le tendenze e le fluttuazioni giornaliere. La maggior parte delle volte, non hai nemmeno bisogno di reti neurali e una semplice regressione lineare può fornirti il modello con le migliori prestazioni. Ma nel mercato azionario, dove il rischio è alto, anche una differenza dell'uno per cento significa milioni di dollari di profitto per l'azienda. 4° Progetti di machine learning per potenziare il tuo curriculum : Progetto di auto a guida autonoma Avere un progetto di apprendimento per rinforzo sul tuo curriculum ti dà un vantaggio durante il processo di assunzione. Il reclutatore presumerà che tu sia bravo a risolvere i problemi e che tu sia desideroso di espandere i tuoi confini per conoscere complesse attività di apprendimento automatico. Nel progetto Self-Driving car , addestrerai il modello Proximal Policy Optimization (PPO) nell'ambiente OpenAI Gym (CarRacing-v0). Prima di iniziare il progetto, è necessario apprendere i fondamenti dell'apprendimento per rinforzo in quanto è abbastanza diverso da altre attività di apprendimento automatico. Durante il progetto, sperimenterai vari tipi di modelli e metodologie per migliorare le prestazioni degli agenti. 5° Progetti di machine learning per potenziare il tuo curriculum : Bot di intelligenza artificiale conversazionale L'IA conversazionale è un progetto divertente. Imparerai a conoscere Hugging Face Transformers, Facebook Blender Bot, la gestione dei dati di conversazione e la creazione di interfacce chatbot (API o Web App). Grazie all'enorme libreria di set di dati e modelli pre-addestrati disponibili su Hugging Face, puoi sostanzialmente mettere a punto il modello su un nuovo set di dati. Può essere una conversazione tra Rick e Morty, il tuo personaggio cinematografico preferito o qualsiasi celebrità che ami. A parte questo, puoi migliorare il chatbot per il tuo caso d'uso specifico. In caso di richiesta medica. Il chatbot ha bisogno di conoscenze tecniche e comprende il sentimento del paziente. 6° Progetti di machine learning per potenziare il tuo curriculum : Riconoscimento vocale automatico Il riconoscimento vocale automatico è il mio progetto preferito in assoluto. Ho imparato tutto sui trasformatori, sulla gestione dei dati audio e sul miglioramento delle prestazioni del modello. Mi ci sono voluti 2 mesi per capire i fondamenti e altri due per creare l'architettura che funzionerà sul modello Wave2Vec2. Puoi migliorare le prestazioni del modello potenziando Wav2Vec2 con n-grammi e pre-elaborazione del testo. Ho anche pre-elaborato i dati audio per migliorare la qualità del suono. La parte divertente è che puoi mettere a punto il modello Wav2Vec2 su qualsiasi tipo di lingua. 7° Progetti di machine learning per potenziare il tuo curriculum : NY Taxi Trips: progetto di apprendimento automatico L'esperienza di un progetto di machine learning end-to-end è un must. Senza di essa, le tue possibilità di essere assunto sono piuttosto scarse. Imparerai: Analisi dei dati Gestione dati Costruzione di modelli e formazione Monitoraggio degli esperimenti Pipeline di orchestrazione e apprendimento automatico Distribuzione del modello Cloud computing Monitoraggio del modello Migliori pratiche di MLOps Lo scopo principale di questo progetto non è costruire il modello migliore o apprendere una nuova architettura di deep learning. L'obiettivo principale è familiarizzare con gli standard e le tecniche del settore per la creazione, la distribuzione e il monitoraggio di applicazioni di apprendimento automatico. Imparerai molto sulle operazioni di sviluppo e su come creare un sistema completamente automatizzato. Ti ricordiamo che se non sai da dove iniziare sul nostro portale troverai tutto, anche progetti open source pronti per essere modificati e inseriti nel tuo curriculum Conclusione sui migliori progetti di machine learning per potenziare il tuo curriculum Dopo aver lavorato su alcuni progetti, ti consiglio vivamente di creare un profilo su GitHub o qualsiasi sito di condivisione del codice in cui puoi condividere i risultati e la documentazione del tuo progetto. Lo scopo principale di lavorare su un progetto è aumentare le tue probabilità di essere assunto. Mostrare i progetti e presentarti di fronte a un potenziale reclutatore è un'abilità. Quindi, dopo aver lavorato a un progetto, inizia a promuoverlo sui social media, crea un'app web divertente utilizzando Gradio o Streamlit e scrivi un blog post coinvolgente ( puoi anche scriverci e pubblicarlo sul nostro blog gratuitamente ) . Non pensare a cosa diranno le persone. Continua a lavorare su un progetto e continua a condividere. E sono sicuro che in pochissimo tempo più reclutatori ti contatteranno !!