Introduzione agli algoritmi di apprendimento profondo
L'apprendimento profondo è un passo per avvicinarsi all'intelligenza artificiale che potrebbe prendere decisioni come il cervello umano, cioè avere la capacità di apprendere attraverso prove ed errori proprio come gli umani. Il cervello umano ha miliardi di neuroni (circa 86 miliardi; fonte: Wikipedia). Con i neuroni artificiali, l'apprendimento profondo aiuta anche a imitare la mente umana. Per elaborare le informazioni e prendere la decisione attraverso reti neurali artificiali ci sono alcuni algoritmi, chiamati algoritmi di apprendimento profondo. Gli algoritmi apprendono progressivamente in ogni strato, ovvero; più valore viene aggiunto dalle funzionalità nel livello successivo. Un modello di apprendimento profondo può esagerare se i dati sono piccoli o incompleti o troppo semplici. Gli algoritmi di apprendimento profondo sono efficaci quando i dati sono vasti.
Algoritmi di apprendimento profondo
Per creare un modello di apprendimento profondo, è necessario scrivere diversi algoritmi, fonderli insieme e creare una rete di neuroni. L'apprendimento profondo ha un costo computazionale elevato. Per aiutare i modelli di apprendimento profondo ci sono piattaforme di apprendimento profondo come flusso tensoriale, torcia torcia, Chainer, Keras, ecc. Nell'apprendimento profondo abbiamo cercato di replicare la rete neurale umana con una rete neurale artificiale, il neurone umano è chiamato perceptron nel modello di apprendimento profondo. Colleghiamo queste unità percettrici insieme per creare una rete neurale, ha 3 sezioni:
- Strato di input
- Strati nascosti
- Strato di output
Un percettrone ha nodi di input (dendriti nel cervello umano), una funzione di attuazione per prendere una piccola decisione e nodi di output (assone nel cervello umano). Vedremo come funziona un percettrone, collegandoli insieme si creerà un modello di apprendimento profondo. Le informazioni di input (numero di variabili / caratteristiche di input) vengono assegnate un po 'di peso e alimentate alla funzione di attuazione. La funzione di attuazione prende una decisione e invia un output. L'output di questo percettrone verrà inviato ad altri neuroni. Una volta elaborato il batch, viene calcolato l'errore di backpropagation su ciascun neurone, con l'aiuto di una funzione di costo / entropia incrociata. In questo modo, i pesi di input vengono riassegnati e l'intero processo continua fino a quando l'entropia incrociata soddisfa la condizione.
Abbiamo diverse funzioni di attuazione come funzioni Sigmoid, funzione tangente iperbolica, Unità lineare rettificata (ReLU), per prendere una piccola decisione. Un modello di apprendimento profondo ha bisogno di una grande quantità di dati per costruire un buon modello. Generalmente, un modello con più di 3 livelli nascosti viene trattato come una rete neurale profonda. Fondamentalmente, l'apprendimento profondo è un insieme di neuroni con un numero di parametri definiti per ogni strato. Per creare il modello di Deep Learning le architetture popolari sono RNN, CNN, ecc.
Metodi architettonici per gli algoritmi di apprendimento profondo
Per costruire questa architettura vengono utilizzati i seguenti algoritmi:
1. Propagazione posteriore
In questo algoritmo, calcoliamo i derivati parziali. In generale, il metodo di discesa del gradiente per l'ottimizzazione, i derivati (gradienti) sono calcolati ad ogni iterazione. In deep learning le funzioni non sono semplici, sono la composizione di diverse funzioni. In questo caso, è difficile calcolare i gradienti, quindi usiamo la differenziazione approssimativa per calcolare i derivati. Maggiore è il numero di parametri, maggiore sarà la differenziazione approssimativa più costosa.
2. Discesa gradiente stocastica
Nella discesa del gradiente l'obiettivo è trovare minimi globali o una soluzione ottimale. Ma per ottenere ciò dobbiamo considerare anche le soluzioni dei minimi locali (non desiderabili). Se la funzione obiettivo è una funzione convessa, è facile trovare i minimi globali. Il valore iniziale per la funzione e il tasso di apprendimento sono i parametri decisivi per la ricerca di minimi globali. Questo può essere facilmente compreso considerando un fiume proveniente dalla cima della montagna e sta cercando un contrafforte (minimi globali). Ma a proposito, ci saranno alcuni alti e bassi (minimi locali) che devono essere evitati. Il punto di origine e la velocità del fiume (valore iniziale e tasso di apprendimento nel nostro caso) sono fattori decisivi per trovare i minimi globali.
3. Tasso di apprendimento
Il tasso di apprendimento è simile alla velocità del fiume, può ridurre i tempi di allenamento e aumentare le prestazioni. In generale, per imparare qualsiasi tecnica / sport, all'inizio il tasso di apprendimento è relativamente alto rispetto alla fine quando si deve padroneggiarlo. Dopo la fase intermedia, l'apprendimento sarà lento, l'attenzione sarà focalizzata sulla messa a punto. Lo stesso vale per l'apprendimento profondo cambiamenti troppo grandi vengono affrontati da un tasso di apprendimento più elevato e diminuendo lentamente il tasso di apprendimento in un secondo momento per la messa a punto.
4. Normalizzazione in lotti
Nell'apprendimento profondo il valore iniziale del peso (scelto casualmente) e l'apprendimento, la velocità è definita per un mini-lotto. All'inizio, ci sarebbero molti valori anomali e durante la backpropagation, questi valori anomali devono essere compensati per calcolare i pesi per ottenere l'output. Questa compensazione si traduce in epoche extra. Quindi per evitarlo usiamo la normalizzazione batch.
5. Abbandona
Nell'apprendimento profondo, generalmente incontriamo il problema del sovradimensionamento. L'adattamento eccessivo in reti di grandi dimensioni con diversi parametri rende difficile prevedere i dati di test. Quindi, per evitare che usiamo il metodo dropout, che rilascia unità casuali durante l'allenamento creando diverse "reti assottigliate". Quando si testano le previsioni di queste reti assottigliate vengono calcolate in media, il che aiuta a evitare un eccesso di adattamento.
6. Borsa di parole
Usiamo un sacco continuo di parole per prevedere la parola successiva. Ad esempio, vediamo nell'e-mail la scrittura dell'autosuggestione per il completamento della frase fa parte della PNL. Questo viene fatto considerando molte frasi e per una parola specifica che circonda le parole che vengono catturate. Queste parole specifiche e le parole circostanti vengono inviate alla rete neurale. Dopo il modello di addestramento, può prevedere la parola specifica in base alle parole circostanti.
7. Memoria a breve termine
LSTM è molto utile in problemi di previsione di sequenze come la traduzione linguistica, la previsione delle vendite e la ricerca del prezzo delle azioni. LSTM ha un vantaggio rispetto ad altre tecniche perché è in grado di considerare i dati precedenti. LSTM apporta modifiche mediante il meccanismo degli stati cellulari. Ricorda di dimenticare le cose. I 3 aspetti principali di LSTM lo distinguono dalle altre tecniche di apprendimento profondo. Il primo è quando il neurone dovrebbe avere input, il secondo quando ricordare i dati precedenti e cosa dimenticare e il terzo è quando passare l'output.
Conclusione
Un modello di apprendimento profondo è un passo verso la replica della mente umana. Invece dei neuroni biologici, l'apprendimento profondo utilizza una rete neurale artificiale. Il deep learning ha un elevato costo computazionale, che può essere ridotto mediante l'uso di framework di deep learning come il flusso del tensore e Py-Torch ecc. RNN, CNN sono metodi architetturali per i modelli di deep learning. In questo articolo vengono discussi diversi algoritmi di deep learning utilizzati in queste architetture.
Articoli consigliati
Questa è una guida agli algoritmi di apprendimento profondo. Qui discutiamo i metodi architettonici per gli algoritmi di apprendimento profondo insieme ai livelli. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -
- Introduzione agli algoritmi di Machine Learning
- Le 14 principali applicazioni dell'apprendimento automatico
- Intelligenza artificiale vs Machine Learning vs Deep Learning
- Le 13 domande e risposte utili di intervista di deep learning