
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Lezione 20. Parallelismo speculativo e Leiserchess
20. Parallelismo speculativo e Leiserchess
In questo video di YouTube intitolato "20. Parallelismo speculativo e Leiserchess", l'istruttore introduce il concetto di parallelismo speculativo, che consiste essenzialmente nell'indovinare preventivamente che determinate attività possono essere eseguite in parallelo e possono portare a un codice più veloce. Tuttavia, l'oratore avverte che questo codice non è deterministico e dovrebbe essere utilizzato solo quando necessario, avvertendo anche di non utilizzarlo nei casi in cui potrebbe essere utilizzato un codice seriale migliore. Una parte significativa del video ruota attorno alla discussione delle ricerche parallele alfa-beta, che comporta la potatura dell'albero del gioco per ottimizzare i tempi di ricerca, e parla anche delle diverse strutture di dati ed euristiche utilizzate nel processo di valutazione degli algoritmi di ricerca, in particolare per evitare il ciclo e la quiescenza. ricerca. Il video tocca anche i vantaggi dell'approfondimento iterativo e il modo in cui porta a un migliore ordinamento delle mosse per le ricerche, discutendo anche dell'hashing di Zobrist, una tecnica di ottimizzazione utilizzata negli algoritmi di ricerca che implica un valore hash univoco per ogni posizione sulla scacchiera con gli stessi pezzi.
Questo video illustra anche varie tecniche di ottimizzazione per i motori di scacchi come le tabelle di trasposizione, le riduzioni delle mosse tardive e l'utilizzo di bitboard per la generazione delle mosse. Il relatore affronta anche l'argomento del "parallelismo speculativo e Leiserchess" dove consiglia ai programmatori di valutare se una mossa influisce sul percorso del laser e di seguire la "copertura laser". L'oratore suggerisce di lasciare le vecchie rappresentazioni nel codice e di utilizzare programmi per testare le modifiche. Hanno anche sviluppato un'euristica per misurare la vicinanza di un laser al re in Leiserchess. Altri suggerimenti per l'ottimizzazione includono la ricerca di un modo migliore per valutare la vicinanza dell'avversario al laser del giocatore e l'ottimizzazione dell'ordinamento delle mosse. Infine, viene discussa l'importanza di eseguire correttamente il refactoring e testare il codice.
Lezione 21. Messa a punto di un algoritmo TSP
Lezione 21. Messa a punto di un algoritmo TSP
Questo video di YouTube si concentra sul problema del venditore ambulante (TSP), un problema NP-hard che esiste da molti anni. L'oratore passa attraverso vari algoritmi e approcci per ottimizzare lo spazio di ricerca e potare la ricerca per rendere più veloce l'algoritmo TSP, come l'implementazione di un algoritmo di spanning tree minimo migliore, l'abilitazione dell'ottimizzazione del compilatore e la modifica del calcolo della distanza per utilizzare un algoritmo di ricerca della tabella. La necessità di limitare lo spazio di ricerca e pensare in modo creativo per ottimizzare i programmi in termini di velocità e prestazioni è sottolineata in tutto il video, che fornisce preziose informazioni sulla risoluzione di TSP e altri problemi correlati.
In questo video, il relatore discute varie tecniche per ottimizzare l'algoritmo TSP, come la memorizzazione nella cache, la valutazione pigra e l'archiviazione dei dati in una tabella hash, sottolineando l'importanza dei dati empirici rispetto all'intuizione. Condivide anche la sua esperienza nella risoluzione del problema TSP e l'importanza dell'ingegneria delle prestazioni nella sua professione. Il relatore fornisce approfondimenti sul processo di ottimizzazione del codice, inclusi lo sviluppo incrementale e la generazione ricorsiva, e incoraggia il pubblico a utilizzare queste tecniche poiché sono facili da implementare. Infine, il relatore esprime la sua gratitudine per il perseguimento dell'ingegneria delle prestazioni e lo sviluppo di algoritmi che migliorano vari servizi Google, nonché per le amicizie che ha stretto durante la sua carriera.
Lezione 22. Ottimizzazione del grafico
Lezione 22. Ottimizzazione del grafico
Il video discute il concetto di grafico, i vari modi di rappresentarlo e le tecniche di ottimizzazione per migliorare l'efficienza degli algoritmi grafici. Il relatore esplora le applicazioni dei grafici nella modellazione delle relazioni e nella ricerca del percorso più breve o del modo più economico per raggiungere una destinazione, insieme a modi ottimali per archiviare i grafici in memoria per aggiungere, eliminare o scansionare i bordi. Il video copre anche l'ottimizzazione delle prestazioni della cache nelle ricerche di grafici utilizzando vettori di bit, insieme all'implementazione dell'algoritmo di ricerca parallela in ampiezza con somme di prefissi per filtrare i valori negativi. Infine, il relatore parla dei loro esperimenti su un grafico casuale con dieci milioni di vertici e cento milioni di spigoli, sottolineando l'importanza del determinismo nel codice per garantire affidabilità e coerenza.
Il video illustra anche varie tecniche di ottimizzazione del grafico, inclusa l'implementazione dell'operatore min destro, il codice BFS parallelo deterministico, la tecnica di ottimizzazione della direzione e la compressione del grafico. La tecnica di ottimizzazione della direzione prevede un approccio dal basso verso l'alto per esplorare i bordi in entrata quando la frontiera è grande ed è stata applicata ad altri algoritmi di grafi, mentre la compressione del grafo mira a ridurre l'utilizzo della memoria codificando le differenze tra bordi consecutivi e riducendo il numero di bit utilizzati per memorizzare questi valori. Inoltre, il video sottolinea l'importanza di testare le ottimizzazioni su diversi tipi di grafici per determinare dove funzionano bene e dove no.
Lezione 23. Alte prestazioni nei linguaggi dinamici
Lezione 23. Alte prestazioni nei linguaggi dinamici
Le sfide della scrittura di codice critico per le prestazioni in linguaggi tipizzati dinamicamente di alto livello sono discusse in questo video, con particolare attenzione al linguaggio di programmazione Julia. Julia mira a fornire funzionalità interattive di alto livello offrendo allo stesso livello di prestazioni dei linguaggi di livello inferiore come C e Fortran. La capacità di Julia di scrivere codice generico che funziona per più tipi, meta programmazione integrata e percorsi di codice ottimizzati lo rendono più veloce di Python in situazioni come la generazione di grandi matrici di vandermonde e codice ottimizzato per polinomi specifici in funzioni speciali. Inoltre, i percorsi di codice ottimizzati di Julia allocano le caselle molto più velocemente di Python, rendendolo una scelta migliore per gestire strutture di dati dinamiche come gli array. Infine, il video illustra le capacità multiple di invio e inferenza del tipo di Julia, consentendo l'inferenza ricorsiva di diverse versioni di una funzione per diversi argomenti e tipi.
In questo video viene anche spiegato come funziona il polimorfismo parametrico in Julia e come consente di creare infinite famiglie di tipi. Definendo un tipo parametrizzato, come un tipo punto con parametri per X e Y, e impostando tali parametri su un sottotipo reale, è possibile creare un intero insieme di tipi che possono essere "istanziati" con un particolare sottotipo. Inoltre, il relatore discute le capacità e le librerie di Julia per l'implementazione di threading, garbage collection e parallelismo della memoria distribuita, nonché la sua vasta gamma di supporto Unicode per gli identificatori. Inoltre, viene sottolineata l'importanza di avere variabili con nomi propri e descrittivi e il relatore menziona un progetto che sta esplorando la fusione della tecnologia Julia con la tecnologia Silk che potrebbe portare a nuovi sviluppi in futuro.
Richard Feynman: Le macchine possono pensare?
Richard Feynman: Le macchine possono pensare?
Nel video "Richard Feynman: Can Machines Think?", Feynman sostiene che mentre le macchine sono migliori degli umani in molte cose come l'aritmetica, la risoluzione dei problemi e l'elaborazione di grandi quantità di dati, le macchine non raggiungeranno mai il pensiero e l'intelligenza umani. Le macchine faticano a riconoscere le immagini a causa di complessità come le variazioni di luce e distanza, e sebbene i computer riconoscano i modelli, non possono scoprire nuove idee e relazioni da sole. Feynman discute anche l'efficacia dell'utilizzo di macchine per la previsione del tempo e altri compiti complessi, citando l'esempio di un uomo di nome Lumic che ha utilizzato un elenco di euristiche per vincere il campionato di giochi navali in California. Per realizzare macchine intelligenti, Feynman suggerisce agli sviluppatori di evitare distorsioni psicologiche in evoluzione subdola e di concentrarsi invece sulla ricerca di nuovi modi per evitare il lavoro, poiché le macchine stanno mostrando le necessarie debolezze dell'intelligenza.
Occhio all'intelligenza artificiale: Ilya Sutskever
Occhio all'intelligenza artificiale: Ilya Sutskever
Ilya Sutskever discute una varietà di argomenti relativi all'IA in questo video. Condivide il suo interesse iniziale per l'intelligenza artificiale e l'apprendimento automatico e descrive come la sua collaborazione con Jeff Hinton abbia portato allo sviluppo della rete neurale convoluzionale AlexNet. Sutskever parla anche delle sfide e dei limiti dei modelli linguistici, sostenendo che fanno molto di più che apprendere regolarità statistiche e che rappresentare idee e concetti è un risultato importante. Discute anche della necessità di grandi quantità di dati e processori più veloci nella formazione dell'IA e suggerisce la possibilità di una forma di democrazia ad alta larghezza di banda in cui gli individui inseriscono dati per specificare come dovrebbero comportarsi i sistemi.
Matematica per l'apprendimento automatico - Calcolo multivariato - Specializzazione online completa
Matematica per l'apprendimento automatico - Calcolo multivariato - Specializzazione online completa
Parte 1
Parte 2
Parte 3
Parte 4
Serie di altoparlanti ETL: Ilya Sutskever, OpenAI
Serie di altoparlanti ETL: Ilya Sutskever, OpenAI
In un video di YouTube intitolato "ETL Speaker Series: Ilya Sutskever, OpenAI", Ilya Sutskever, co-fondatrice e capo scienziato di OpenAI, discute argomenti come modelli di linguaggio di grandi dimensioni, la premessa dietro i neuroni artificiali, la coscienza nell'IA e la struttura finanziaria di organizzazioni di intelligenza artificiale senza scopo di lucro. Sutskever sottolinea l'importanza del progresso tecnico e delle buone ricerche per il successo di OpenAI e incoraggia gli studenti interessati all'intelligenza artificiale e all'imprenditorialità a esplorare le loro idee uniche. Prevede inoltre che i miglioramenti a vari livelli dello stack di deep learning e della formazione specialistica avranno un enorme impatto in futuro. Infine, i padroni di casa ringraziano Sutskever per la sua discussione approfondita e lo invitano a tornare per eventi futuri, indirizzando anche gli spettatori al sito Web dell'angolo elettronico di Stanford per ulteriori risorse sull'imprenditorialità e l'innovazione.
Ilya Sutskever (Chief Scientist di OpenAI) - Costruire AGI, Alignment, Spies, Microsoft e Enlightenment
Ilya Sutskever (Chief Scientist di OpenAI) - Costruire AGI, Alignment, Spies, Microsoft e Enlightenment
Il capo scienziato di OpenAI Ilya Sutskever copre una serie di argomenti in questo video, tra cui il potenziale per usi illeciti di GPT, l'importanza dell'affidabilità nei sistemi di intelligenza artificiale, il ruolo della collaborazione uomo-macchina nella creazione di AGI, i limiti software e hardware di AGI e il potenziale della ricerca accademica. Crede che sarà necessaria una combinazione di approcci per ridurre la probabilità di disallineamento nella costruzione dell'AGI e che le scoperte necessarie per l'IA sovrumana potrebbero non sembrare necessariamente scoperte col senno di poi. Sottolinea inoltre il valore dell'input umano nei modelli di insegnamento e suggerisce che l'impatto dei modelli linguistici può andare oltre il mondo digitale.
Lezione 1: Deep Learning pratico per programmatori 2022
Lezione 1: Deep Learning pratico per programmatori 2022
In questo video di YouTube "Lesson 1: Practical Deep Learning for Coders 2022", l'istruttore introduce il corso, evidenziando il rapido ritmo del cambiamento nel deep learning e dimostra la facilità di creare un sistema "bird or not bird" utilizzando Python. Il corso mira a mostrare alle persone come costruire e distribuire prima i modelli, piuttosto che iniziare con una revisione dell'algebra lineare e del calcolo, e coprirà una gamma di modelli di deep learning, inclusi algoritmi basati su immagini in grado di classificare suoni o movimenti del mouse. L'istruttore sottolinea l'importanza della creazione di blocchi di dati, della comprensione dei rilevatori di funzionalità e dell'utilizzo di modelli pre-addestrati per ridurre i requisiti di codifica. Il corso copre anche la segmentazione e l'analisi tabulare, con fast.ai che fornisce le migliori pratiche che aiutano a ridurre la codifica e migliorare i risultati.
Il video fornisce un'introduzione al deep learning e alle sue applicazioni in vari campi. Il relatore discute le basi dell'apprendimento automatico, incluso il processo di addestramento del modello e l'importanza del calcolo della perdita per aggiornare il peso del modello per prestazioni migliori. La lezione copre due modelli: apprendimento tabulare e filtraggio collaborativo. Il relatore sottolinea inoltre l'utilità dei notebook Jupyter nella creazione e condivisione di codice, inclusi esempi di progetti studenteschi passati che hanno portato a nuove startup, articoli scientifici e offerte di lavoro. Il punto principale è che gli aspiranti studenti profondi dovrebbero sperimentare e condividere il proprio lavoro con la comunità per ottenere feedback ed esperienza preziosi.