Sommario[Nascondere][Spettacolo]
- 1. Che cos'è esattamente il Deep Learning?
- 2. Cosa distingue il Deep Learning dal Machine Learning?
- 3. Quali sono le tue attuali conoscenze sulle reti neurali?
- 4. Che cos'è esattamente un perceptron?
- 5. Che cos'è esattamente una rete neurale profonda?
- 6. Che cos'è esattamente un perceptron multistrato (MLP)?
- 7. Che scopo hanno le funzioni di attivazione in una rete neurale?
- 8. Che cos'è esattamente la discesa graduale?
- 9. Qual è esattamente la funzione di costo?
- 10. In che modo le reti profonde possono superare quelle superficiali?
- 11. Descrivi la propagazione in avanti.
- 12. Che cos'è la backpropagation?
- 13. Nel contesto del deep learning, come si comprende il ritaglio del gradiente?
- 14. Quali sono le funzioni Softmax e ReLU?
- 15. È possibile addestrare un modello di rete neurale con tutti i pesi impostati su 0?
- 16. Cosa distingue un'epoca da un batch e da un'iterazione?
- 17. Cosa sono la normalizzazione batch e l'abbandono?
- 18. Cosa separa la discesa gradiente stocastica dalla discesa gradiente batch?
- 19. Perché è fondamentale includere le non linearità nelle reti neurali?
- 20. Che cos'è un tensore nell'apprendimento profondo?
- 21. Come sceglieresti la funzione di attivazione per un modello di deep learning?
- 22. Cosa intendi per CNN?
- 23. Quali sono i molti livelli della CNN?
- 24. Quali sono gli effetti dell'over- e underfitting, e come puoi evitarli?
- 25. Nel deep learning, cos'è un RNN?
- 26. Descrivi Adam Optimizer
- 27. Autoencoder profondi: cosa sono?
- 28. Cosa significa Tensorflow in Tensorflow?
- 29. Una spiegazione di un grafo computazionale
- 30. Reti generative contraddittorio (GAN): cosa sono?
- 31. Come sceglierai il numero di neuroni e strati nascosti da includere nella rete neurale mentre progetti l'architettura?
- 32. Quali tipi di reti neurali sono impiegate dall'apprendimento per rinforzo profondo?
- Conclusione
Il deep learning non è un'idea nuova di zecca. Le reti neurali artificiali servono come unica base del sottoinsieme di apprendimento automatico noto come deep learning.
Il deep learning è un imitatore del cervello umano, proprio come le reti neurali, poiché sono state create per imitare il cervello umano.
C'è stato per un po'. In questi giorni, tutti ne parlano poiché non abbiamo la stessa potenza di elaborazione o dati che abbiamo ora.
Negli ultimi 20 anni, il deep learning e il machine learning sono emersi come risultato del drammatico aumento della capacità di elaborazione.
Al fine di aiutarti a prepararti per qualsiasi domanda che potresti dover affrontare quando cerchi il lavoro dei tuoi sogni, questo post ti guiderà attraverso una serie di domande del colloquio di apprendimento approfondito, che vanno da semplici a complicate.
1. Che cos'è esattamente il Deep Learning?
Se stai frequentando un apprendimento profondo intervista, capisci senza dubbio cos'è il deep learning. L'intervistatore, tuttavia, si aspetta che tu fornisca una risposta dettagliata insieme a un'illustrazione in risposta a questa domanda.
Per allenarsi reti neurali per il deep learning devono essere utilizzate quantità significative di dati organizzati o non strutturati. Per trovare modelli e caratteristiche nascoste, esegue procedure complicate (ad esempio, distinguere l'immagine di un gatto da quella di un cane).
2. Cosa distingue il Deep Learning dal Machine Learning?
In quanto ramo dell'intelligenza artificiale noto come machine learning, formiamo i computer utilizzando dati e tecniche statistiche e algoritmiche in modo che migliorino nel tempo.
Come aspetto di machine learning, il deep learning imita l'architettura della rete neurale vista nel cervello umano.
3. Quali sono le tue attuali conoscenze sulle reti neurali?
I sistemi artificiali noti come reti neurali assomigliano molto da vicino alle reti neurali organiche che si trovano nel corpo umano.
Utilizzando una tecnica che ricorda come il cervello umano funzioni, una rete neurale è una raccolta di algoritmi che mira a identificare le correlazioni sottostanti in un dato.
Questi sistemi acquisiscono conoscenze specifiche per attività esponendosi a una serie di set di dati ed esempi, piuttosto che seguendo regole specifiche per attività.
L'idea è che, invece di avere una comprensione pre-programmata di questi set di dati, il sistema apprende le caratteristiche distintive dai dati che riceve.
I tre livelli di rete più comunemente utilizzati nelle reti neurali sono i seguenti:
- Livello di input
- Strato nascosto
- Livello di output
4. Che cos'è esattamente un perceptron?
Il neurone biologico trovato nel cervello umano è paragonabile a un perceptron. Più input vengono ricevuti dal perceptron, che quindi esegue numerose trasformazioni e funzioni e produce un output.
Nella classificazione binaria viene impiegato un modello lineare chiamato perceptron. Simula un neurone con una varietà di input, ciascuno con un peso diverso.
Il neurone calcola una funzione utilizzando questi input ponderati ed emette i risultati.
5. Che cos'è esattamente una rete neurale profonda?
Una rete neurale profonda è una rete neurale artificiale (ANN) con diversi livelli tra i livelli di input e output (DNN).
Le reti neurali profonde sono reti neurali ad architettura profonda. La parola "profondo" si riferisce a funzioni con molti livelli e unità in un unico livello. È possibile creare modelli più accurati aggiungendo livelli sempre più grandi per acquisire livelli maggiori di modelli.
6. Che cos'è esattamente un perceptron multistrato (MLP)?
I livelli di input, nascosti e di output sono presenti negli MLP, proprio come nelle reti neurali. È costruito in modo simile a un perceptron a strato singolo con uno o più strati nascosti.
L'output binario di un perceptron a strato singolo può classificare solo classi separabili lineari (0,1), mentre MLP può classificare classi non lineari.
7. Che scopo hanno le funzioni di attivazione in una rete neurale?
Una funzione di attivazione determina se un neurone deve attivarsi o meno al livello più fondamentale. Qualsiasi funzione di attivazione può accettare come input la somma pesata degli input più la polarizzazione. Le funzioni di attivazione includono la funzione step, il Sigmoid, il ReLU, il Tanh e il Softmax.
8. Che cos'è esattamente la discesa graduale?
L'approccio migliore per ridurre al minimo una funzione di costo o un errore è la discesa del gradiente. L'obiettivo è trovare i minimi locali-globali di una funzione. Specifica il percorso che il modello deve seguire per ridurre al minimo l'errore.
9. Qual è esattamente la funzione di costo?
La funzione di costo è una metrica per valutare le prestazioni del tuo modello; a volte è noto come "perdita" o "errore". Durante la backpropagation, viene utilizzato per calcolare l'errore del livello di output.
Sfruttiamo questa imprecisione per promuovere i processi di addestramento della rete neurale spingendola indietro attraverso la rete neurale.
10. In che modo le reti profonde possono superare quelle superficiali?
I livelli nascosti vengono aggiunti alle reti neurali oltre ai livelli di input e output. Tra i livelli di input e di output, le reti neurali superficiali utilizzano un singolo livello nascosto, mentre le reti neurali profonde utilizzano numerosi livelli.
Una rete poco profonda richiede diversi parametri per potersi adattare a qualsiasi funzione. Le reti profonde possono adattarsi meglio alle funzioni anche con un numero ridotto di parametri poiché includono diversi livelli.
Le reti profonde sono ora preferite per la loro versatilità nel lavorare con qualsiasi tipo di modellazione dei dati, sia per il riconoscimento vocale che per le immagini.
11. Descrivi la propagazione in avanti.
Gli input vengono trasmessi insieme ai pesi allo strato sepolto in un processo noto come propagazione di inoltro.
L'output della funzione di attivazione viene calcolato in ogni singolo livello interrato prima che l'elaborazione possa passare al livello successivo.
Il processo inizia al livello di input e procede al livello di output finale, quindi la propagazione in avanti del nome.
12. Che cos'è la backpropagation?
Quando i pesi e le distorsioni vengono regolati nella rete neurale, la backpropagation viene utilizzata per ridurre la funzione di costo osservando prima come cambia il valore.
Comprendere il gradiente di ogni livello nascosto rende semplice il calcolo di questa modifica.
Il processo, noto come backpropagation, inizia dal livello di output e torna indietro ai livelli di input.
13. Nel contesto del deep learning, come si comprende il ritaglio del gradiente?
Gradient Clipping è un metodo per risolvere il problema dei gradienti esplosivi che si verificano durante la backpropagation (una condizione in cui gradienti errati significativi si accumulano nel tempo, portando a modifiche significative dei pesi del modello di rete neurale durante l'allenamento).
L'esplosione dei gradienti è un problema che si verifica quando i gradienti diventano troppo grandi durante l'allenamento, rendendo il modello instabile. Se il gradiente ha superato l'intervallo previsto, i valori del gradiente vengono spinti elemento per elemento a un valore minimo o massimo predefinito.
Il ritaglio del gradiente migliora la stabilità numerica di una rete neurale durante l'allenamento, ma ha un impatto minimo sulle prestazioni del modello.
14. Quali sono le funzioni Softmax e ReLU?
Una funzione di attivazione denominata Softmax produce un'uscita compresa tra 0 e 1. Ciascuna uscita è divisa in modo che la somma di tutte le uscite sia una. Per i livelli di output, viene spesso utilizzato Softmax.
L'unità lineare rettificata, nota anche come ReLU, è la funzione di attivazione più utilizzata. Se X è positivo, emette X, altrimenti emette zeri. ReLU viene regolarmente applicato a strati interrati.
15. È possibile addestrare un modello di rete neurale con tutti i pesi impostati su 0?
La rete neurale non imparerà mai a completare un determinato lavoro, quindi non è possibile addestrare un modello inizializzando tutti i pesi a 0.
I derivati rimarranno gli stessi per ogni peso in W [1] se tutti i pesi sono inizializzati a zero, il che risulterà in neuroni che apprendono le stesse caratteristiche in modo iterativo.
Non solo l'inizializzazione dei pesi su 0, ma su qualsiasi forma di costante può portare a un risultato inferiore alla media.
16. Cosa distingue un'epoca da un batch e da un'iterazione?
Diverse forme di elaborazione dei set di dati e tecniche di discesa del gradiente includono batch, iterazione ed epoca. Epoch coinvolge una rete neurale con un set di dati completo, sia in avanti che all'indietro.
Per fornire risultati affidabili, il set di dati viene spesso passato più volte poiché è troppo grande per essere superato in un solo tentativo.
Questa pratica di eseguire ripetutamente una piccola quantità di dati attraverso una rete neurale viene definita iterazione. Per garantire che il set di dati attraversi correttamente le reti neurali, può essere suddiviso in un numero di batch o sottoinsiemi, noto come batching.
A seconda delle dimensioni della raccolta dati, tutti e tre i metodi (epoca, iterazione e dimensione batch) sono essenzialmente modi di utilizzare algoritmo di discesa del gradiente.
17. Cosa sono la normalizzazione batch e l'abbandono?
Il dropout impedisce l'overfitting dei dati rimuovendo casualmente le unità di rete visibili e nascoste (in genere facendo cadere il 20% dei nodi). Raddoppia il numero di iterazioni necessarie per far convergere la rete.
Normalizzando gli input in ogni livello per avere un'attivazione media dell'output di zero e una deviazione standard di uno, la normalizzazione batch è una strategia per migliorare le prestazioni e la stabilità delle reti neurali.
18. Cosa separa la discesa gradiente stocastica dalla discesa gradiente batch?
Discesa gradiente batch:
- Il set di dati completo viene utilizzato per costruire il gradiente per il gradiente batch.
- L'enorme quantità di dati ei pesi che si aggiornano lentamente rendono difficile la convergenza.
Discesa a gradiente stocastico:
- Il gradiente stocastico utilizza un singolo campione per calcolare il gradiente.
- A causa dei cambi di peso più frequenti, converge molto più rapidamente rispetto al gradiente batch.
19. Perché è fondamentale includere le non linearità nelle reti neurali?
Non importa quanti livelli ci siano, una rete neurale si comporterà come un perceptron in assenza di non linearità, rendendo l'output linearmente dipendente dall'input.
Per dirla in altro modo, una rete neurale con n strati e m unità nascoste e funzioni di attivazione lineare è equivalente a una rete neurale lineare senza strati nascosti e con la capacità di rilevare esclusivamente i confini di separazione lineare.
Senza le non linearità, una rete neurale non è in grado di risolvere problemi complicati e classificare accuratamente l'input.
20. Che cos'è un tensore nell'apprendimento profondo?
Un array multidimensionale noto come tensore funge da generalizzazione di matrici e vettori. È una struttura di dati cruciale per il deep learning. Gli array N-dimensionali di tipi di dati fondamentali vengono utilizzati per rappresentare i tensori.
Ogni componente del tensore ha lo stesso tipo di dati e questo tipo di dati è sempre noto. È possibile che sia noto solo un pezzo della forma, ovvero quante dimensioni ci sono e quanto è grande ciascuna.
In situazioni in cui anche gli input sono completamente noti, la maggior parte delle operazioni produce tensori completamente noti; in altri casi, la forma di un tensore può essere stabilita solo durante l'esecuzione del grafo.
21. Come sceglieresti la funzione di attivazione per un modello di deep learning?
- Ha senso impiegare una funzione di attivazione lineare se il risultato che deve essere anticipato è reale.
- Una funzione Sigmoid dovrebbe essere utilizzata se l'output che deve essere previsto è una probabilità di classe binaria.
- Una funzione Tanh può essere utilizzata se l'output proiettato contiene due classificazioni.
- Grazie alla sua facilità di calcolo, la funzione ReLU è applicabile in un'ampia gamma di situazioni.
22. Cosa intendi per CNN?
Le reti neurali profonde specializzate nella valutazione delle immagini visive includono le reti neurali convoluzionali (CNN o ConvNet). Qui, piuttosto che nelle reti neurali in cui un vettore rappresenta l'input, l'input è un'immagine multicanale.
I perceptron multistrato sono usati in modo speciale dalle CNN che richiedono pochissima preelaborazione.
23. Quali sono i molti livelli della CNN?
Strato convoluzionale: lo strato principale è lo strato convoluzionale, che ha una varietà di filtri apprendibili e un campo ricettivo. Questo livello iniziale prende i dati di input ed estrae le sue caratteristiche.
Livello ReLU: rendendo le reti non lineari, questo livello trasforma i pixel negativi in zero.
Livello di pooling: riducendo al minimo l'elaborazione e le impostazioni di rete, il livello di pooling riduce gradualmente la dimensione spaziale della rappresentazione. Il raggruppamento massimo è il metodo di raggruppamento più utilizzato.
24. Quali sono gli effetti dell'over- e underfitting, e come puoi evitarli?
Questo è noto come overfitting quando un modello apprende le complessità e il rumore nei dati di addestramento al punto in cui influisce negativamente sull'uso da parte del modello di nuovi dati.
È più probabile che accada con modelli non lineari che sono più adattabili durante l'apprendimento di una funzione obiettivo. Un modello può essere addestrato per rilevare automobili e camion, ma potrebbe essere in grado di identificare solo veicoli con una particolare forma a scatola.
Dato che è stato addestrato solo su un tipo di camion, potrebbe non essere in grado di rilevare un camion pianale. Sui dati di addestramento, il modello funziona bene, ma non nel mondo reale.
Un modello underfitted si riferisce a uno che non è sufficientemente addestrato sui dati o in grado di generalizzare a nuove informazioni. Ciò si verifica spesso quando un modello viene addestrato con dati insufficienti o imprecisi.
Precisione e prestazioni sono entrambe compromesse dall'underfitting.
Il ricampionamento dei dati per stimare l'accuratezza del modello (convalida incrociata K-fold) e l'utilizzo di un set di dati di convalida per valutare il modello sono due modi per evitare overfitting e underfitting.
25. Nel deep learning, cos'è un RNN?
Le reti neurali ricorrenti (RNN), una varietà comune di reti neurali artificiali, vanno sotto l'abbreviazione RNN. Sono impiegati per elaborare genomi, scrittura a mano, testo e sequenze di dati, tra le altre cose. Per la formazione necessaria, le RNN utilizzano la backpropagation.
26. Descrivi Adam Optimizer
L'ottimizzatore Adam, noto anche come momento adattivo, è una tecnica di ottimizzazione sviluppata per gestire situazioni rumorose con gradienti sparsi.
Oltre a fornire aggiornamenti per parametro per una convergenza più rapida, l'ottimizzatore Adam migliora la convergenza attraverso lo slancio, assicurando che un modello non rimanga intrappolato nel punto di sella.
27. Autoencoder profondi: cosa sono?
Deep autoencoder è il nome collettivo di due reti di credenze profonde simmetriche che generalmente includono quattro o cinque strati superficiali per la metà di codifica della rete e un altro insieme di quattro o cinque strati per la metà di decodifica.
Questi strati costituiscono le fondamenta di profonde reti di credenze e sono vincolati dalle macchine di Boltzmann. Dopo ogni RBM, un codificatore automatico profondo applica modifiche binarie al set di dati MNIST.
Possono essere utilizzati anche in altri set di dati in cui le trasformazioni gaussiane rettificate sarebbero preferite rispetto a RBM.
28. Cosa significa Tensorflow in Tensorflow?
Questa è un'altra domanda del colloquio di apprendimento profondo che viene posta regolarmente. Un tensore è un concetto matematico che viene visualizzato come array di dimensioni superiori.
I tensori sono questi array di dati forniti come input alla rete neurale e hanno varie dimensioni e classifiche.
29. Una spiegazione di un grafo computazionale
La base di un TensorFlow è la costruzione di un grafo computazionale. Ogni nodo funziona in una rete di nodi, dove i nodi stanno per operazioni matematiche e gli archi per i tensori.
A volte viene indicato come "DataFlow Graph" poiché i dati scorrono sotto forma di grafico.
30. Reti generative contraddittorio (GAN): cosa sono?
In Deep Learning, la modellazione generativa viene realizzata utilizzando reti contraddittorie generative. È un lavoro non supervisionato in cui il risultato viene prodotto identificando modelli nei dati di input.
Il discriminatore viene utilizzato per classificare le istanze prodotte dal generatore, mentre il generatore viene utilizzato per produrre nuovi esempi.
31. Come sceglierai il numero di neuroni e strati nascosti da includere nella rete neurale mentre progetti l'architettura?
Data una sfida aziendale, il numero preciso di neuroni e livelli nascosti necessari per costruire un'architettura di rete neurale non può essere determinato da regole rigide e veloci.
In una rete neurale, la dimensione del livello nascosto dovrebbe rientrare da qualche parte nel mezzo della dimensione dei livelli di input e di output.
Tuttavia, è possibile ottenere un vantaggio nella creazione di un progetto di rete neurale in alcuni semplici metodi:
Iniziare con alcuni test sistematici di base per vedere cosa funzionerebbe meglio per qualsiasi set di dati specifico in base all'esperienza precedente con le reti neurali in contesti simili del mondo reale è il modo migliore per affrontare ogni sfida unica di modellazione predittiva del mondo reale.
La configurazione della rete può essere scelta in base alla propria conoscenza del dominio del problema e alla precedente esperienza di rete neurale. Quando si valuta la configurazione di una rete neurale, il numero di strati e neuroni utilizzati su problemi correlati è un buon punto di partenza.
La complessità della rete neurale dovrebbe essere gradualmente aumentata in base all'output e alla precisione previsti, a partire da un semplice progetto di rete neurale.
32. Quali tipi di reti neurali sono impiegate dall'apprendimento per rinforzo profondo?
- In un paradigma di apprendimento automatico chiamato apprendimento per rinforzo, il modello agisce per massimizzare l'idea di ricompensa cumulativa, proprio come fanno le cose dal vivo.
- I giochi e i veicoli a guida autonoma sono entrambi descritti come problemi che coinvolgono insegnamento rafforzativo.
- Lo schermo viene utilizzato come input se il problema da rappresentare è un gioco. Per produrre un output per le fasi successive, l'algoritmo prende i pixel come input e li elabora attraverso molti strati di reti neurali convoluzionali.
- I risultati delle azioni del modello, favorevoli o negativi, fungono da rinforzo.
Conclusione
Il deep learning è diventato sempre più popolare nel corso degli anni, con applicazioni praticamente in ogni area industriale.
Le aziende sono sempre più alla ricerca di esperti competenti in grado di progettare modelli in grado di replicare il comportamento umano utilizzando approcci di deep learning e machine learning.
I candidati che accrescono le loro competenze e mantengono la loro conoscenza di queste tecnologie all'avanguardia possono trovare un'ampia gamma di opportunità di lavoro con una remunerazione interessante.
Puoi iniziare con le interviste ora che hai una buona conoscenza di come rispondere ad alcune delle domande del colloquio di deep learning più spesso richieste. Fai il passo successivo in base ai tuoi obiettivi.
Visita Hashdork Serie di interviste per prepararsi ai colloqui.
Lascia un Commento