LA CAMPANA

C'è chi legge questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam

Domande intelligenza artificiale e le reti neurali stanno diventando più popolari che mai. Molti utenti si rivolgono sempre più spesso a domande su come funzionano le reti neurali, cosa sono e su cosa si basa il principio della loro attività.

Questi problemi, insieme alla popolarità, sono anche di notevole complessità, poiché i processi sono algoritmi di apprendimento automatico complessi progettati per vari scopi, dall'analisi delle modifiche alla modellizzazione dei rischi associati a determinate azioni.

Quali sono le reti neurali e i loro tipi?

La prima domanda che sorge per chi è interessato è: cos'è una rete neurale? Nella definizione classica, questa è una certa sequenza di neuroni che sono interconnessi da sinapsi. Le reti neurali sono un modello semplificato di analoghi biologici.

Un programma avente la struttura di una rete neurale consente alla macchina di analizzare i dati di input e memorizzare il risultato ottenuto da determinate fonti. In futuro, questo approccio consente di estrarre dalla memoria il risultato corrispondente al set di dati corrente, se era già nell'esperienza dei cicli di rete.

Molti percepiscono la rete neurale come un analogo del cervello umano. Da un lato, questa proposizione può essere considerata vicina alla verità, ma, d'altro canto, il cervello umano è un meccanismo troppo complesso per poterlo ricreare usando una macchina almeno per una frazione di percentuale. Una rete neurale è principalmente un programma basato sul principio del cervello, ma non sulla sua controparte.

Una rete neurale è un gruppo di neuroni, ognuno dei quali riceve informazioni, le elabora e le trasferisce su un altro neurone. Ogni neurone elabora il segnale esattamente allo stesso modo.

Come si ottiene quindi un risultato diverso? Riguarda le sinapsi che collegano i neuroni tra loro. Un neurone può avere un numero enorme di sinapsi, amplificando o attenuando il segnale, mentre hanno la capacità di cambiare le loro caratteristiche nel tempo.

Sono i parametri correttamente selezionati delle sinapsi che consentono di ottenere il risultato corretto della conversione dei dati di input nell'output.

Avendo definito in termini generali cos'è una rete neurale, possiamo distinguere i principali tipi della loro classificazione. Prima di procedere con la classificazione, è necessario introdurre un perfezionamento. Ogni rete ha un primo strato di neuroni, che è chiamato input.

Non esegue calcoli e trasformazioni, il suo compito consiste solo in una cosa: accettare e distribuire i segnali di input ai restanti neuroni. Questo è l'unico strato comune a tutti i tipi di reti neurali; la loro ulteriore struttura è il criterio per la divisione principale.

  • Rete neurale a strato singolo. Questa è la struttura dell'interazione dei neuroni, in cui, dopo che i dati di input hanno colpito il primo strato di input, vengono immediatamente trasferiti allo strato di output del risultato finale. Allo stesso tempo, il primo livello di input non viene considerato, poiché non esegue alcuna azione, ad eccezione della ricezione e della distribuzione, come menzionato sopra. E il secondo strato esegue tutti i calcoli e l'elaborazione necessari e produce immediatamente il risultato finale. I neuroni di input sono combinati con lo strato principale da sinapsi, che hanno un coefficiente di peso diverso, che garantisce la qualità delle connessioni.
  • Rete neurale multistrato. Come si evince dalla definizione, questo tipo di rete neurale, oltre ai livelli di input e output, ha anche layer intermedi. Il loro numero dipende dal grado di complessità della rete stessa. Assomiglia più da vicino alla struttura di una rete neurale biologica. Questi tipi di reti sono stati sviluppati di recente, prima che tutti i processi fossero implementati utilizzando reti a strato singolo. Di conseguenza, tale soluzione ha molte più possibilità rispetto al suo antenato. Nel processo di elaborazione delle informazioni, ogni strato intermedio è una fase intermedia di elaborazione e distribuzione delle informazioni.

A seconda della direzione della distribuzione delle informazioni da parte delle sinapsi da un neurone a un altro, le reti possono anche essere classificate in due categorie.

  • Reti di distribuzione dirette o unidirezionali, ovvero una struttura in cui un segnale si sposta rigorosamente dallo strato di input all'output. Il movimento del segnale nella direzione opposta non è possibile. Tali sviluppi sono piuttosto diffusi e attualmente stanno risolvendo con successo problemi come il riconoscimento, le previsioni o il raggruppamento.
  • Reti di feedback o ricorsive. Tali reti consentono al segnale di spostarsi non solo in avanti, ma anche nella direzione opposta. Che cosa dà? In tali reti, il risultato di uscita può essere restituito all'ingresso in base a ciò, l'uscita del neurone è determinata dai pesi e dai segnali di ingresso ed è integrata da uscite precedenti, che sono tornate nuovamente all'ingresso. Tali reti sono caratterizzate da una funzione di memoria a breve termine, sulla base della quale i segnali vengono ripristinati e integrati durante l'elaborazione.

Queste non sono le uniche opzioni per classificare le reti.

Possono essere divisi in omogenei e ibridi in base ai tipi di neuroni che compongono la rete. Così come eteroassociativo o autoassociativo, a seconda del metodo di formazione della rete, con o senza un insegnante. Puoi anche classificare le reti in base al loro scopo.

Dove usano le reti neurali?

Le reti neurali sono utilizzate per risolvere vari problemi. Se consideriamo le attività in base al grado di complessità, allora per risolvere le attività più semplici è adatto un normale programma per computer, più
compiti complicati che richiedono previsioni semplici o soluzione approssimativa di equazioni, vengono utilizzati programmi che utilizzano metodi statistici.

Ma compiti di livello ancora più complesso richiedono un approccio completamente diverso. In particolare, ciò si applica al riconoscimento di schemi, al parlato o alla previsione complessa. Nella testa di una persona, tali processi avvengono inconsciamente, cioè riconoscendo e ricordando le immagini, una persona non si rende conto di come si verifica questo processo e quindi non può controllarlo.

Sono tali compiti che le reti neurali aiutano a risolvere, cioè sono create per eseguire processi i cui algoritmi sono sconosciuti.

Pertanto, le reti neurali sono ampiamente utilizzate nelle seguenti aree:

  • riconoscimento, e questa direzione è attualmente la più ampia;
  • previsione del passaggio successivo, questa funzionalità è applicabile nei mercati finanziari e azionari;
  • classificazione dei dati di input in base a parametri, questa funzione è svolta dai robot di credito, che sono in grado di prendere una decisione nell'approvazione di un prestito a una persona, basandosi su un set di input di parametri diversi.

La capacità delle reti neurali le rende molto popolari. Puoi insegnare loro molto, ad esempio, giocare, riconoscere una voce specifica e così via. Sulla base del fatto che le reti artificiali sono costruite sul principio delle reti biologiche, possono essere addestrate in tutti i processi che una persona esegue inconsciamente.

Che cos'è un neurone e una sinapsi?

Quindi cos'è un neurone in termini di reti neurali artificiali? Con questo concetto si intende un'unità che esegue calcoli. Riceve informazioni dallo strato di input della rete, esegue semplici calcoli con esso e le mangia al neurone successivo.

Esistono tre tipi di neuroni nella rete: input, hidden e output. Inoltre, se la rete è a strato singolo, non contiene neuroni nascosti. Inoltre, esiste una varietà di unità chiamate neurone di spostamento e neurone del contesto.

Ogni neurone ha due tipi di dati: input e output. In questo caso, i dati di input al primo livello sono uguali all'output. In altri casi, l'informazione totale degli strati precedenti arriva all'ingresso del neurone, quindi passa attraverso il processo di normalizzazione, cioè tutti i valori che cadono al di fuori dell'intervallo desiderato vengono convertiti dalla funzione di attivazione.

Come accennato in precedenza, una sinapsi è una connessione tra i neuroni, ognuno dei quali ha il suo peso. È grazie a questa funzione che le informazioni di input vengono modificate durante la trasmissione. Durante l'elaborazione, le informazioni trasmesse dalla sinapsi, con un grande indicatore di peso, saranno predominanti.

Si scopre che il risultato non è influenzato dai neuroni, ma vale a dire sinapsi che danno un certo insieme di pesi dei dati di input, poiché i neuroni stessi eseguono esattamente gli stessi calcoli ogni volta.

In questo caso, i pesi sono impostati in ordine casuale.

Lo schema della rete neurale

Per presentare il principio di funzionamento di una rete neurale, non sono richieste competenze speciali. Lo strato di input dei neuroni riceve determinate informazioni. È trasmesso dalle sinapsi allo strato successivo, con ciascuna sinapsi con il proprio coefficiente di peso e ogni neurone successivo può avere diverse sinapsi in arrivo.

Di conseguenza, le informazioni ottenute dal neurone successivo sono la somma di tutti i dati moltiplicati ciascuno per il proprio coefficiente di peso. Il valore ottenuto viene sostituito nella funzione di attivazione e vengono ottenute le informazioni di output, che vengono ulteriormente trasmesse fino a raggiungere l'output finale. Il primo avvio della rete non fornisce risultati corretti, poiché la rete non è stata ancora addestrata.

La funzione di attivazione viene utilizzata per normalizzare i dati di input. Esistono molte di queste funzioni, ma si possono distinguere alcune di base più diffuse. La loro principale differenza è la gamma di valori in cui operano.

  • La funzione lineare f (x) \u003d x, la più semplice di tutte le possibili, viene utilizzata solo per testare la rete neurale creata o trasferire i dati nella sua forma originale.
  • Il sigmoide è considerata la funzione di attivazione più comune e ha la forma f (x) \u003d 1/1 + e- ×; l'intervallo dei suoi valori è compreso tra 0 e 1. È anche chiamata funzione logistica.
  • Per coprire valori negativi utilizzare la tangente iperbolica. F (x) \u003d e² × - 1 / e² × + 1 - questa funzione ha questa forma e l'intervallo che ha va da -1 a 1. Se la rete neurale non prevede l'uso di valori negativi, non dovresti usarla.

Per impostare la rete con i dati con cui opererà, sono necessari set di formazione.

L'integrazione è un contatore che aumenta con ogni set di allenamento.

L'era è un indicatore dell'allenamento della rete neurale, questo indicatore aumenta ogni volta che la rete attraversa un ciclo di un set completo di set di addestramento.

Di conseguenza, al fine di condurre correttamente la formazione in rete, è necessario eseguire set, aumentando gradualmente l'indicatore dell'era.

Durante l'allenamento, verranno rilevati errori. Questa è una percentuale della discrepanza tra il risultato e il risultato desiderato. Questo indicatore dovrebbe diminuire nel processo di aumento dell'indicatore dell'era, altrimenti, da qualche parte l'errore dello sviluppatore.

Cos'è un neurone dislocante ea cosa serve?

Nelle reti neurali esiste un altro tipo di neurone: un neurone dislocante. Si differenzia dal principale tipo di neuroni in quanto il suo input e output è comunque uguale a uno. Inoltre, tali neuroni non hanno sinapsi di input.

La posizione di tali neuroni si verifica una alla volta e non più, né possono essere collegati tra loro sinapsi. Non è consigliabile posizionare tali neuroni sul livello di output.

A cosa servono? Ci sono situazioni in cui la rete neurale semplicemente non riesce a trovare la soluzione giusta a causa del fatto che il punto desiderato sarà fuori portata. È per questo che tali neuroni sono necessari per poter spostare il dominio della definizione.

Cioè, il peso della sinapsi cambia la curva del grafico della funzione, mentre il neurone di spostamento consente uno spostamento lungo l'asse delle coordinate X, in modo che la rete neurale possa catturare un'area inaccessibile ad essa senza uno spostamento. In questo caso, lo spostamento può essere eseguito sia a destra che a sinistra. Schematicamente, i neuroni di taglio di solito non sono indicati; il loro peso viene preso in considerazione per impostazione predefinita nel calcolo del valore di input.

Inoltre, i neuroni di spostamento consentiranno di ottenere un risultato nel caso in cui tutti gli altri neuroni forniscano 0 come parametro di output. In questo caso, indipendentemente dal peso della sinapsi, questo valore verrà trasmesso a ciascun livello successivo.

La presenza di un neurone dislocante correggerà la situazione e otterrà un risultato diverso. La fattibilità dell'uso dei neuroni di spostamento è determinata testando la rete con e senza di essi e confrontando i risultati.

Ma è importante ricordare che per ottenere risultati non è sufficiente creare una rete neurale. Deve anche essere addestrata, che richiede anche approcci speciali e ha i suoi algoritmi. Questo processo difficilmente può essere definito semplice, poiché la sua implementazione richiede determinate conoscenze e sforzi.

Nuovi tipi di architettura di reti neurali appaiono costantemente e ci si può confondere in esse. Abbiamo raccolto per te una sorta di cheat sheet contenente la maggior parte dei tipi esistenti di ANN. Sebbene siano tutti presentati come unici, le immagini mostrano che molti di loro sono molto simili.

Il problema con i grafici tracciati sopra è che non mostrano come le reti corrispondenti vengono utilizzate nella pratica. Ad esempio, gli autocodificatori variazionali (VAE) sembrano proprio semplici autocodificatori (AE), ma i loro processi di apprendimento variano in modo significativo. I casi d'uso differiscono ancora di più, perché VAE è un generatore che genera un nuovo rumore per ottenere un nuovo campione. AE confronta semplicemente i dati con il campione più simile ottenuto durante l'allenamento.

Vale la pena notare che sebbene la maggior parte di queste abbreviazioni siano generalmente accettate, ci sono eccezioni. Le RNN a volte significano una rete neurale ricorsiva, ma di solito indicano una rete neurale ricorrente. Puoi anche trovare spesso l'abbreviazione RNN quando si tratta di qualunque NS ricorrente. Gli auto-encoder affrontano anche questo problema quando gli auto-encoder variazionali e con cancellazione del rumore (VAE, DAE) sono semplicemente chiamati auto-encoder (AE). Inoltre, in molte abbreviazioni il numero di lettere "N" alla fine è diverso, poiché in alcuni casi viene utilizzata la "rete neurale", e in alcuni è semplicemente "rete".

Per ogni architettura verranno forniti una breve descrizione e un collegamento ad un articolo ad essa dedicato. Se vuoi familiarizzare rapidamente con le reti neurali da zero, segui la nostra traduzione in quattro passaggi.


Reti neurali dirette
(feed forward reti neurali, FF o FFNN) e percetrons (percetrons, P) molto semplice, trasmettono informazioni da input a output. Le reti neurali sono spesso descritte come un layer layer, in cui ogni layer è costituito da celle di input, nascoste o di output. Le celle di uno strato non sono collegate e gli strati vicini sono di solito completamente connessi. La rete neurale più semplice ha due celle di input e una di output e può essere utilizzata come modello di gate logici. L'FFNN è in genere addestrato dal metodo di propagazione dell'errore, in cui la rete riceve più dati di input e output. Questo processo si chiama apprendimento con un insegnante e differisce dall'apprendimento senza un insegnante in quanto nel secondo caso la rete crea molti dati di output in modo indipendente. L'errore sopra riportato è la differenza tra input e output. Se la rete ha abbastanza neuroni nascosti, è teoricamente in grado di simulare l'interazione tra input e output. In pratica, tali reti vengono utilizzate raramente, ma spesso vengono combinate con altri tipi per ottenerne di nuove.

reti funzioni di base radiale (funzione base radiale, RBF) è un FFNN che utilizza le funzioni di base radiale come funzioni di attivazione. Non si distingue più 🙂

Hopfield Neural Network (Rete Hopfield, HN) è una rete neurale completamente connessa con una matrice simmetrica di connessioni. Durante la ricezione dei dati di input, ogni nodo è un input, nel processo di apprendimento, diventa nascosto e quindi diventa un output. La rete impara in questo modo: i valori dei neuroni sono impostati secondo lo schema desiderato, dopo di che vengono calcolati i pesi che non cambiano ulteriormente. Dopo che la rete si è formata su uno o più modelli, sarà sempre ridotta a uno di essi (ma non sempre a quello desiderato). Si stabilizza a seconda dell '"energia" e della "temperatura" complessive della rete. Ogni neurone ha una propria soglia di attivazione, a seconda della temperatura, durante il passaggio del quale il neurone assume uno di due valori (di solito -1 o 1, a volte 0 o 1). Tale rete è spesso chiamata rete di memoria associativa; proprio come una persona, vedendo metà del tavolo, può rappresentare la seconda metà del tavolo, così questa rete, ricevendo il tavolo mezzo rumoroso, lo ripristina al massimo.

Catene di Markov (Catene di Markov, catene di Markov a tempo discreto o MC, DTMC) sono i precursori delle macchine Boltzmann (BM) e Hopfield networks (HN). Il loro significato può essere spiegato come segue: quali sono le mie possibilità di entrare in uno dei seguenti nodi, se ci sono io? Ogni stato successivo dipende solo dal precedente. Sebbene in realtà le catene di Markov non siano NS, sono molto simili. Inoltre, le catene Markov non sono necessariamente completamente collegate.

Boltzmann Machine (Macchina Boltzmann, BM)molto simile alla rete Hopfield, ma in essa alcuni neuroni sono contrassegnati come input e altri come nascosti. I neuroni di input diventano successivamente output. La macchina Boltzmann è una rete stocastica. La formazione si svolge secondo il metodo di propagazione all'indietro dell'errore o secondo l'algoritmo della divergenza comparativa. In generale, il processo di apprendimento è molto simile a quello della rete Hopfield.

Macchina Boltzmann limitata (macchina Boltzmann riservata, RBM)sorprendentemente simile alla macchina Boltzmann e, quindi, alla rete Hopfield. L'unica differenza sono i suoi limiti. In esso, i neuroni dello stesso tipo non sono interconnessi. Una macchina Boltzmann limitata può essere addestrata come FFNN, ma con un avvertimento: anziché la trasmissione diretta dei dati e la propagazione all'indietro dell'errore, è necessario trasferire i dati prima nella direzione in avanti, quindi nella direzione opposta. Successivamente, l'addestramento viene condotto secondo il metodo di propagazione in avanti e all'indietro dell'errore.

Codificatore automatico (codificatore automatico, AE) È in qualche modo simile a FFNN, poiché questo è più un modo diverso di usare FFNN che un'architettura fondamentalmente diversa. L'idea principale è la codifica automatica (nel senso di compressione, non crittografia) delle informazioni. La stessa rete ricorda una clessidra in forma, in essa gli strati nascosti sono più piccoli dell'input e dell'output, ed è simmetrico. La rete può essere addestrata con il metodo di propagazione all'indietro dell'errore fornendo dati di input e impostando l'errore pari alla differenza tra input e output.

Encoder automatico sparso (autoencoder sparse, SAE) - in un certo senso, l'opposto dell'ordinario. Invece di addestrare la rete a visualizzare informazioni in un "volume" di nodi più piccolo, aumentiamo il loro numero. Invece di rastremarsi verso il centro, la rete si gonfia. Reti di questo tipo sono utili per lavorare con un gran numero di proprietà di piccoli set di dati. Se si allena la rete come un normale codificatore automatico, non ne verrà fuori nulla di utile. Pertanto, oltre ai dati di input, viene fornito anche uno speciale filtro di sparseness, che salta solo alcuni errori.

Codificatori automatici di variazione(autoencoder variazionale, VAE) hanno un'architettura simile a AE, ma insegnano loro qualcos'altro: approssimare la distribuzione di probabilità dei campioni di input. In questo provengono dalle macchine Boltzmann. Tuttavia, si basano sulla matematica bayesiana quando si tratta di inferenze probabilistiche e indipendenza, che sono intuitive ma difficili da implementare. Riassumendo, possiamo dire che questa rete tiene conto dell'influenza dei neuroni. Se una cosa accade in un posto e qualcos'altro accade in un altro, allora questi eventi non sono necessariamente correlati e questo dovrebbe essere preso in considerazione.

Encoder automatici con eliminazione del rumore (denoising autoencoder, DAE) - Si tratta di eventi avversi in cui i dati di input sono rumorosi. Calcoliamo l'errore allo stesso modo e l'output viene confrontato con rumoroso. Grazie a ciò, la rete impara a prestare attenzione a proprietà più ampie, poiché quelle piccole possono cambiare con il rumore.


Rete di credenze profonde
(reti di credenze profonde, DBN) è il nome assegnato al tipo di architettura in cui la rete è composta da più RBM o VAE connessi. Tali reti sono addestrate in blocchi e ogni blocco deve solo essere in grado di codificare il precedente. Questa tecnica è chiamata "apprendimento avido", che consiste nella scelta di soluzioni locali ottimali che non garantiscono un risultato finale ottimale. Inoltre, la rete può essere addestrata (utilizzando il metodo dell'errore di propagazione posteriore) per visualizzare i dati sotto forma di un modello probabilistico. Se usi l'insegnamento senza un insegnante, puoi generare un modello stabile per generare nuovi dati.


Reti neurali convoluzionali
(reti neurali convoluzionali, CNN) e reti neurali convoluzionali profonde (reti neurali convoluzionali profonde, DCNN)molto diverso dagli altri tipi di reti. Di solito vengono utilizzati per l'elaborazione delle immagini, meno spesso per l'audio. Un modo tipico di usare la CNN è classificare le immagini: se sull'immagine è presente un gatto, la rete distribuirà "gatto", se c'è un cane - "cane". Tali reti di solito usano uno "scanner" che non analizza tutti i dati contemporaneamente. Ad esempio, se hai un'immagine 200 × 200, non elaborerai immediatamente tutti i 40 mila pixel. Invece, la rete conta un quadrato di 20 x 20 (di solito dall'angolo in alto a sinistra), quindi si sposta di 1 pixel e conta un nuovo quadrato, ecc. Questo input viene quindi trasmesso attraverso strati convoluzionali in cui non tutti i nodi sono interconnessi. Questi strati tendono a ridursi con la profondità e spesso vengono utilizzati i poteri di due: 32, 16, 8, 4, 2, 1. In pratica, FFNN è attaccato alla fine della CNN per un'ulteriore elaborazione dei dati. Tali reti sono chiamate reti profonde (DCNN).

Reti neurali di distribuzione (reti deconvoluzionali, DN), chiamate anche reti grafiche inverse, sono inverse alle reti neurali convoluzionali. Immagina di passare la parola "gatto" alla rete, e genera immagini con i gatti, simili alle immagini reali dei gatti. DNN può anche essere combinato con FFNN. Vale la pena notare che nella maggior parte dei casi la rete non viene trasmessa una stringa, ma un vettore binario: ad esempio,<0, 1> - È un gatto,<1, 0> - un cane e<1, 1> - sia un gatto che un cane.

Ivan Biryukov, capo notizie

In che modo Yandex utilizza i dati e l'apprendimento automatico per personalizzare i servizi.

Iniziamo la nostra considerazione del materiale introducendo e definendo il concetto stesso di un sistema neurale artificiale.

può essere considerato come un complesso informatico analogico in cui vengono utilizzati semplici elementi di elaborazione dei dati, collegati principalmente in parallelo tra loro. Gli elementi di elaborazione dei dati eseguono operazioni logiche o aritmetiche molto semplici sui loro dati di input. La base per il funzionamento di un sistema neurale artificiale è che i fattori di ponderazione sono associati a ciascun elemento di tale sistema. Questi pesi rappresentano le informazioni memorizzate nel sistema.

Schema di un neurone artificiale tipico

Un neurone può avere molti input, ma solo un output. Il cervello umano contiene circa neuroni e ogni neurone può avere migliaia di connessioni con gli altri. I segnali di input del neurone vengono moltiplicati per i pesi e aggiunti per ottenere l'input totale del neurone - io:
Figura. 1.Tipo di neurone artificiale La funzione che collega l'uscita di un neurone con i suoi input è chiamata funzione di attivazione. Ha la forma di una funzione sigmoidea θ . La formalizzazione della reazione neuronale è che il segnale originale viene inviato a uno dei confini quando si ricevono segnali di input molto piccoli e molto grandi. Inoltre, a ciascun neurone è associato un valore di soglia: θ , che nella formula per il calcolo del segnale di uscita viene sottratto dal segnale di ingresso totale. Di conseguenza, il segnale di uscita del neurone - O è spesso descritto come segue: Struttura della rete con propagazione posteriore "src \u003d" https://libtime.ru/uploads/images/00/00/01/2014/06/27/set-s- obratnym-rasprostraneniyem.png "alt \u003d" (! LANG: struttura della rete Backspread" width="450" height="370"> Рис. 2. Сеть с обратным распространением !} Rete di backpropagationdi regola, è diviso in tre segmenti, sebbene possano anche essere formati segmenti aggiuntivi. I segmenti (segmento) situati tra i segmenti di input e output sono chiamati segmenti nascosti, poiché il mondo esterno percepisce visivamente solo i segmenti di input e output. Una rete che calcola il valore dell'operazione logica "OR esclusivo" fornisce un valore vero all'uscita solo nei casi in cui non tutti i suoi ingressi hanno valori veri o non tutti gli ingressi hanno valori errati. Il numero di nodi nel settore nascosto può variare a seconda dello scopo del progetto.

Caratteristiche delle reti neurali

Va notato che le reti neurali non richiedono programmazione nel solito senso della parola. Per l'addestramento delle reti neurali, vengono utilizzati algoritmi speciali per l'addestramento delle reti neurali, come la propagazione del contatore e la propagazione posteriore. Il programmatore "programma" la rete impostando i dati di input e i dati di output corrispondenti. La rete apprende regolando automaticamente i pesi per le connessioni sinaptiche tra i neuroni. I fattori di ponderazione, insieme ai valori soglia dei neuroni, determinano la natura della distribuzione dei dati sulla rete e, quindi, impostano la risposta corretta ai dati utilizzati nel processo di apprendimento. Imparare la rete per ottenere le risposte giuste può richiedere molto tempo. Quanto dipende da quante immagini devono essere apprese durante l'addestramento della rete, nonché dalle capacità dell'hardware utilizzato e del software ausiliario. Tuttavia, al termine della formazione, la rete è in grado di fornire risposte ad alta velocità. Nel suo sistema neurale artificiale di architettura diverso dagli altri sistemi informatici. Il classico sistema informativo implementa la capacità di connettere informazioni discrete con elementi di memoria. Ad esempio, di solito sistema informativo salva i dati su un oggetto specifico in un gruppo di elementi di memoria adiacenti. Di conseguenza, la capacità di accedere e manipolare i dati si ottiene creando una relazione uno a uno tra gli attributi dell'oggetto e gli indirizzi delle celle di memoria in cui sono registrati. Contrariamente a tali sistemi, i modelli dei sistemi neurali artificiali sono sviluppati sulla base delle moderne teorie sul funzionamento del cervello, secondo le quali le informazioni sono presentate nel cervello utilizzando fattori di ponderazione. In questo caso, non esiste una correlazione diretta tra un valore specifico del coefficiente di peso e un elemento specifico delle informazioni memorizzate. Tale presentazione distribuita di informazioni è simile alla tecnologia per la memorizzazione e la presentazione di immagini, che viene utilizzata negli ologrammi. Secondo questa tecnologia, le linee dell'ologramma si comportano come grate di diffrazione. Con il loro aiuto, quando passa un raggio laser, viene riprodotta un'immagine memorizzata, tuttavia i dati stessi non vengono interpretati direttamente.
Rete neurale come mezzo per risolvere il problema. Rete neurale funge da mezzo accettabile per risolvere il problema quando esiste una grande quantità di dati empirici, ma non esiste un algoritmo in grado di fornire una soluzione sufficientemente accurata con la velocità richiesta. In questo contesto, la tecnologia per la presentazione dei dati di un sistema neurale artificiale presenta vantaggi significativi rispetto ad altre tecnologie dell'informazione. Questi vantaggi può essere formulato come segue:
  1. La memoria di rete neurale è tollerante ai guasti. Con la rimozione di alcune parti della rete neurale, c'è solo una diminuzione della qualità delle informazioni, che conserva, ma non la sua completa scomparsa. Questo perché le informazioni sono archiviate in un formato distribuito.
  2. La qualità delle informazioni nella rete neurale, che è soggetta a riduzione, diminuisce gradualmente, in proporzione a quella parte della rete, è stata eliminata. Non si verifica una catastrofica perdita di informazioni.
  3. I dati in una rete neurale sono archiviati naturalmente usando la memoria associativa. La memoria associativa è una tale memoria in cui è sufficiente cercare dati parzialmente rappresentati per recuperare completamente tutte le informazioni. Questa è la differenza tra memoria associativa e memoria ordinariain cui i dati sono ottenuti indicando l'indirizzo esatto degli elementi di memoria corrispondenti.
  4. consentire l'estrapolazione e l'interpolazione in base alle informazioni in essi memorizzate. In altre parole, la formazione consente di dare alla rete la possibilità di cercare funzionalità o relazioni importanti nei dati. Successivamente, la rete è in grado di estrapolare e identificare le connessioni nei nuovi dati che vi arrivano. Ad esempio, in un esperimento, una rete neurale è stata addestrata usando un esempio ipotetico. Dopo aver completato la formazione, la rete ha acquisito la capacità di rispondere correttamente alle domande sulle quali la formazione non è stata condotta.
  5. Le reti neurali sono di plastica. Anche dopo la rimozione di un certo numero di neuroni, è possibile eseguire la riqualificazione della rete al suo livello primario (ovviamente, se vi rimangono abbastanza neuroni). Questa caratteristica è anche caratteristica del cervello umano, in cui le singole parti possono essere danneggiate, ma nel tempo, attraverso l'allenamento, viene raggiunto il livello primario di abilità e conoscenze.
Grazie a queste caratteristiche, i sistemi neurali artificiali diventano molto attraenti per l'uso in veicoli spaziali robotizzati, attrezzature per l'industria petrolifera, veicoli sottomarini, controlli di processo e altri dispositivi tecniciche deve funzionare a lungo senza riparazione in un ambiente sfavorevole. I sistemi neurali artificiali non solo risolvono il problema dell'affidabilità, ma offrono anche l'opportunità di ridurre i costi operativi grazie alla loro flessibilità. Tuttavia, in generale, i sistemi neurali artificiali non sono adatti per la creazione di applicazioni che richiedono complesse calcoli matematici o cerca soluzione ottimale. Inoltre, l'uso di sistemi neurali artificiali non lo farà migliore opzione nel caso esista una soluzione algoritmica che ha già fornito un risultato positivo a causa di un'applicazione pratica per risolvere tali problemi. Articolo correlato:

RETI NEURALI strutture logiche artificiali, multistrato, altamente parallele (cioè con un gran numero di elementi operativi indipendentemente paralleli) composte da neuroni formali. L'inizio della teoria delle reti neurali e neurocomputers metti il \u200b\u200blavoro dei neurofisiologi americani U. McCallock e W. Pitts, "Il calcolo logico delle idee legate all'attività nervosa" (1943), in cui hanno proposto un modello matematico di un neurone biologico. Tra le opere fondamentali, vale la pena sottolineare il modello di D. Hebb, che nel 1949 propose la legge dell'apprendimento, che fu il punto di partenza per gli algoritmi di apprendimento delle reti neurali artificiali. L'ulteriore sviluppo della teoria delle reti neurali è stato significativamente influenzato dalla monografia del neurofisiologo americano F. Rosenblatt, Principi di neurodinamica, in cui ha descritto in dettaglio lo schema del percettrone (un dispositivo che simula il processo di percezione delle informazioni dal cervello umano). Le sue idee sono state sviluppate nelle opere scientifiche di molti autori. Nel 1985-86 la teoria delle reti neurali ha ricevuto un "impulso tecnologico", causato dalla capacità di simulare reti neurali su reti convenienti e ad alte prestazioni che sono apparse in quel momento computer personale . La teoria della rete neurale continua a svilupparsi abbastanza attivamente all'inizio del 21 ° secolo. Secondo gli esperti, si prevede una significativa crescita tecnologica nel prossimo futuro nel campo della progettazione di reti neurali e neurocomputer. Negli ultimi anni sono già state scoperte molte nuove capacità delle reti neurali e il lavoro in questo settore offre un contributo significativo all'industria, alla scienza e alla tecnologia e sono di grande importanza economica.

Le principali aree di applicazione delle reti neurali

Le potenziali applicazioni delle reti neurali artificiali sono quelle in cui l'intelligenza umana è inefficace e i calcoli tradizionali richiedono tempo o sono fisicamente inadeguati (ovvero, non riflettono o riflettono male processi e oggetti fisici reali). La rilevanza dell'uso delle reti neurali (ad es. Neurocomputer) aumenta molte volte quando sono necessarie soluzioni compiti scarsamente formalizzatih. Le principali aree di applicazione delle reti neurali: automazione del processo di classificazione, automazione della previsione, automazione del processo di riconoscimento, automazione del processo decisionale; gestione, codifica e decodifica delle informazioni; approssimazione delle dipendenze, ecc.

Con l'aiuto delle reti neurali, un compito importante nel campo di telecomunicazioni - progettazione e ottimizzazione delle reti di comunicazione (ricerca del percorso di traffico ottimale tra nodi). Oltre a gestire il routing del flusso, le reti neurali vengono utilizzate per ottenere soluzioni efficaci nella progettazione di nuove reti di telecomunicazione.

Riconoscimento vocale - Una delle applicazioni più popolari delle reti neurali.

Un'altra area è gestione dei prezzi e della produzione (Le perdite derivanti da una pianificazione della produzione non ottimale sono spesso sottovalutate). Poiché la domanda e le condizioni per la vendita di prodotti dipendono da tempo, stagione, tassi di cambio e molti altri fattori, il volume della produzione dovrebbe essere variato in modo flessibile al fine di ottimizzare l'uso delle risorse (il sistema di reti neurali rileva relazioni complesse tra costi pubblicitari, vendite, prezzo, prezzi della concorrenza, giorno della settimana, stagione, ecc.). Come risultato dell'utilizzo del sistema, viene selezionata la strategia di produzione ottimale in termini di massimizzazione delle vendite o dei profitti.

A analisi del mercato al consumo (marketing), quando i soliti metodi (classici) per prevedere la risposta dei consumatori potrebbero non essere abbastanza precisi, viene utilizzato un sistema di rete neurale predittivo con un'architettura adattiva di neurosimulatore.

Studio della domanda ti consente di salvare l'attività dell'azienda in un ambiente competitivo, ovvero mantenere un contatto costante con i consumatori attraverso il "feedback". Le grandi aziende conducono indagini sui consumatori per scoprire quali sono i fattori decisivi per loro quando acquistano questo prodotto o servizio, perché in alcuni casi viene data preferenza ai concorrenti e quali prodotti il \u200b\u200bconsumatore vorrebbe vedere in futuro. L'analisi dei risultati di un tale sondaggio è un compito piuttosto difficile, poiché esiste un gran numero di parametri correlati. Il sistema di reti neurali consente di identificare relazioni complesse tra i fattori della domanda, prevedere il comportamento dei consumatori quando si modificano le politiche di marketing, trovare i fattori più significativi e le strategie pubblicitarie ottimali, nonché delineare il segmento di consumatori più promettente per un determinato prodotto.

NEL diagnosi medica le reti neurali sono utilizzate, ad esempio, per la diagnosi dell'udito nei neonati. Un sistema diagnostico oggettivo elabora i "potenziali evocati" (risposte cerebrali), manifestati sotto forma di esplosioni sull'elettroencefalogramma, in risposta allo stimolo sonoro sintetizzato durante l'esame. Di solito, per una diagnosi affidabile dell'udito del bambino, un audiologo esperto deve condurre fino a 2000 test, che richiedono circa un'ora. Un sistema basato su una rete neurale è in grado di determinare il livello dell'udito con la stessa certezza con 200 osservazioni in pochi minuti e senza la partecipazione di personale qualificato.

Le reti neurali sono anche utilizzate per le previsioni. tendenze a breve e lungo termine in vari settori (finanziario, economico, bancario, ecc.).

Struttura della rete neurale

Il sistema nervoso e il cervello umano sono costituiti da neuroni collegati da fibre nervose. Le fibre nervose sono in grado di trasmettere impulsi elettrici tra i neuroni. Tutti i processi di trasmissione delle irritazioni dalla nostra pelle, orecchie e occhi al cervello, i processi di pensare e controllare le azioni - tutto ciò si realizza in un organismo vivente come la trasmissione di impulsi elettrici tra i neuroni.

Neurone biologico(Cell) ha un nucleo (Nucleus), oltre a processi di fibre nervose di due tipi (Fig. 1) - dendriti (Dendrites), lungo i quali vengono ricevuti gli impulsi (Trasporta segnali in), e un singolo assone (Axon), lungo il quale un neurone può trasmettere un impulso (Porta via i segnali). L'assone contatta i dendriti di altri neuroni attraverso speciali formazioni - sinapsi, che influenzano la forza dell'impulso trasmesso. La struttura, costituita da un gran numero di tali neuroni, è chiamata rete neuronale biologica (o naturale).

Aspetto neurone formale in gran parte dovuto allo studio dei neuroni biologici. Un neurone formale (di seguito denominato neurone) è la base di qualsiasi rete neurale artificiale. I neuroni sono elementi relativamente semplici e simili che imitano il lavoro dei neuroni cerebrali. Ogni neurone è caratterizzato dal suo stato attuale, dall'analogia con le cellule nervose nel cervello che possono essere eccitate e inibite. Un neurone artificiale, come il suo prototipo naturale, ha un gruppo di sinapsi (input) che sono collegati alle uscite di altri neuroni, nonché un assone - la connessione di output di questo neurone, da cui il segnale di eccitazione o inibizione arriva alle sinapsi di altri neuroni.

Un neurone formale è un elemento logico con input $ N $, coefficienti di ponderazione ($ N + 1 $), un sommatore e un convertitore non lineare. Il neurone formale più semplice che esegue una trasformazione logica $ y \u003d \\ text (segno) \\ sum_ (i \u003d 0) ^ (N) a_ix_i $ segnali di input (che, ad esempio, sono i segnali di output di altri neuroni formali di N. s.) nel segnale di output, è mostrato in Fig. 1.

Qui $ y $ è il valore di output del neurone formale; $ a_i $ - fattori di ponderazione; $ x_i $ - valori di input del neurone formale ($ x_i∈ \\ left \\ (0,1 \\ right \\), \\; x_0 \u003d 1 $) Il processo di calcolo del valore di uscita di un neurone formale è il movimento di un flusso di dati e la sua trasformazione. Innanzitutto, i dati vanno all'unità di input del neurone formale, dove i dati di origine vengono moltiplicati per i coefficienti di peso corrispondenti, i cosiddetti pesi sinottici (secondo le sinapsi dei neuroni biologici). Un fattore di ponderazione è una misura che determina in che misura il valore di input corrispondente influenza lo stato di un neurone formale. I pesi possono essere modificati in base agli esempi di addestramento, all'architettura di N., alle regole di insegnamento, ecc. I valori ottenuti (moltiplicati) vengono convertiti nel sommatore in un singolo valore numerico $ g $ (sommando). Quindi, per determinare l'output di un neurone formale in un blocco di trasformazione non lineare (che implementa la funzione di trasferimento) $ g $ viene confrontato con un certo numero (soglia). Se la somma è maggiore del valore di soglia, il neurone formale genera un segnale, altrimenti il \u200b\u200bsegnale sarà zero o inibito. Questo neurone formale usa una trasformazione non lineare $$ \\ text (sign) (g) \u003d \\ begin (case) 0, \\; g< 0 \\ 1,\; g ⩾ 0 \end{cases},\quad \text{где}\,\,g = \sum_{i=0}^N a_i x_i.$$

La scelta della struttura della rete neurale viene effettuata in conformità con le caratteristiche e la complessità del compito. Teoricamente, il numero di strati e il numero di neuroni in ogni strato di una rete neurale possono essere arbitrari, ma in realtà è limitato dalle risorse di un computer o di un chip specializzato su cui di solito viene implementata una rete neurale. Inoltre, se la funzione di un singolo salto viene utilizzata come funzione di attivazione per tutti i neuroni della rete, viene chiamata la rete neurale perceptrono multistratom

In fig. 3 mostra uno schema generale di una rete neurale multistrato con connessioni seriali. L'elevato parallelismo dell'elaborazione si ottiene combinando un gran numero di neuroni formali in strati e collegando vari neuroni in un certo modo tra loro.

In generale, in questa struttura possono essere introdotti cross e feedback con fattori di ponderazione regolabili (Fig. 4).

Le reti neurali sono sistemi complessi non lineari con un numero enorme di gradi di libertà. Il principio con cui elaborano le informazioni è diverso dal principio utilizzato nei computer basati su processori con architettura von Neumann - con una base logica di AND, OR, NOT (vedi J. von Neumann, Calcolatrice) Invece della programmazione classica (come nella tradizione sistemi informatici) Viene applicato l'addestramento della rete neurale, che di norma si riduce all'ottimizzazione dei pesi al fine di ottimizzare un determinato criterio per la qualità del funzionamento di una rete neurale.

Algoritmi di rete neurale

Un algoritmo di rete neurale per la risoluzione dei problemi è una procedura computazionale che è completamente o principalmente implementata sotto forma di una rete neurale di una o un'altra struttura (ad esempio una rete neurale multistrato con collegamenti sequenziali o incrociati tra strati di neuroni formali) con l'algoritmo corrispondente per l'impostazione dei coefficienti di peso. La base per lo sviluppo di un algoritmo di rete neurale è un approccio sistematico in cui il processo di risoluzione di un problema è rappresentato come il funzionamento nel tempo di un sistema dinamico. Per la sua costruzione è necessario determinare: un oggetto che funge da segnale di ingresso di una rete neurale; un oggetto che funge da segnale di uscita di una rete neurale (ad esempio una soluzione stessa o una sua caratteristica); il segnale di uscita desiderato (richiesto) della rete neurale; struttura della rete neurale (numero di strati, comunicazione tra strati, oggetti che servono come fattori di ponderazione); funzione di errore di sistema (che caratterizza la deviazione del segnale di uscita desiderato della rete neurale dal segnale di uscita effettivo); criterio di qualità del sistema e funzionale alla sua ottimizzazione, a seconda dell'errore; il valore dei coefficienti di ponderazione (ad esempio, determinato analiticamente direttamente dall'affermazione del problema, utilizzando alcuni metodi numerici o la procedura per l'impostazione dei coefficienti di ponderazione di una rete neurale).

Il numero e il tipo di neuroni formali negli strati, nonché il numero di strati di neuroni sono selezionati in base alle specifiche delle attività da risolvere e alla qualità richiesta della soluzione. La rete neurale in fase di messa a punto per risolvere un problema specifico è considerata come un sistema non lineare multidimensionale, che in modalità iterativa cerca intenzionalmente l'ottimale di alcuni funzionali che determina quantitativamente la qualità della soluzione del problema. Per le reti neurali, come oggetti di controllo non lineari multidimensionali, si formano algoritmi per la messa a punto di una serie di fattori di ponderazione. Le fasi principali dello studio della rete neurale e la costruzione di algoritmi di sintonizzazione (adattamento) dei loro coefficienti di peso includono: lo studio delle caratteristiche del segnale di ingresso per varie modalità operative della rete neurale (il segnale di ingresso della rete neurale è, di regola, l'input delle informazioni elaborate e l'indicazione del cosiddetto "insegnante" della rete neurale ); selezione di criteri di ottimizzazione (per un modello probabilistico del mondo esterno, tali criteri possono essere un minimo della funzione di rischio medio, un massimo di probabilità a posteriori, in particolare, se vi sono restrizioni sulle singole componenti della funzione di rischio medio); sviluppo di un algoritmo per la ricerca di estremi di funzionali di ottimizzazione (ad esempio, per l'implementazione di algoritmi di ricerca per estremi locali e globali); costruzione di algoritmi di adattamento per coefficienti di reti neurali; analisi di affidabilità e metodi diagnostici per reti neurali, ecc.

Va notato che l'introduzione di feedback e, di conseguenza, lo sviluppo di algoritmi per regolare i loro coefficienti negli anni '60 -'80 avevano un significato puramente teorico, poiché non c'erano problemi pratici adeguati a tali strutture. Solo alla fine degli anni '80 e all'inizio degli anni '90 iniziarono ad apparire compiti e strutture più semplici con feedback personalizzabili per la loro soluzione (le cosiddette reti neurali ricorrenti). Gli sviluppatori nel campo delle tecnologie di rete neurale sono stati impegnati non solo nella creazione di algoritmi di configurazione della rete neurale multistrato e algoritmi di rete neurale per risolvere vari problemi, ma anche negli emulatori hardware più efficaci (al momento attuale dello sviluppo della tecnologia elettronica) (programmi speciali progettati per eseguire un sistema nella shell di un altro) rete neurale algoritmi. Negli anni '60, prima del microprocessore, gli emulatori di reti neurali più efficaci erano implementazioni analogiche di reti neurali aperte con algoritmi di ottimizzazione sviluppati su computer universali (a volte sistemi basati su elementi adattivi con memoria analogica). Questo livello di sviluppo dell'elettronica ha reso rilevante l'introduzione di collegamenti incrociati nella struttura delle reti neurali. Ciò ha portato a una riduzione significativa del numero di neuroni nella rete neurale mantenendo la qualità della soluzione al problema (ad esempio, capacità discriminante nel risolvere i problemi di riconoscimento dei modelli). Gli studi degli anni '60 e '70 nel campo dell'ottimizzazione delle strutture delle reti neurali reticolate troveranno molto probabilmente lo sviluppo nell'attuazione di sistemi neurali memristor [memristor (memristor, dalla memoria - memoria e resistenza - resistenza elettrica), un elemento passivo nella microelettronica, in grado di cambiare la sua resistenza a seconda della carica che lo attraversa], tenendo conto delle loro specifiche in termini di elaborazione delle informazioni da analogico a digitale e di un numero molto significativo di coefficienti regolabili. I requisiti specifici delle attività applicate hanno determinato alcune caratteristiche delle strutture delle reti neurali mediante algoritmi di ottimizzazione: un continuum (dal lat. Continuum - continuo, continuo) del numero di classi quando l'istruzione dell '"insegnante" del sistema è formata come valore di funzione continua in un certo intervallo di variazione; un continuum di soluzioni di una rete neurale multistrato, formata dalla scelta della funzione continua di attivazione del neurone dell'ultimo strato; un continuum del numero di segni formato dalla transizione nello spazio dei segni dalla rappresentazione del segnale di uscita come vettore dimensionale $ N $ di numeri reali a una funzione reale in un certo intervallo dell'argomento; il continuum del numero di funzionalità, di conseguenza, richiede una specifica implementazione software e hardware della rete neurale; una variante del continuum dei segni dello spazio di input è stata implementata nel problema del riconoscimento dei segnali periodici senza convertirli usando convertitore da analogico a digitale (ADC) all'ingresso del sistema e l'implementazione di una rete neurale multistrato analogico-digitale; il continuum del numero di neuroni nello strato; l'implementazione di reti neurali multistrato con un continuum di classi e soluzioni viene effettuata scegliendo i tipi appropriati di funzioni di attivazione dei neuroni dell'ultimo strato.

La tabella mostra un set sistematico di opzioni per la messa a punto di reti neurali multistrato nello spazio "Segnale di input - spazio della soluzione". Sono presentate molte varianti delle caratteristiche dei segnali di input e output delle reti neurali, per le quali sono validi gli algoritmi di regolazione del coefficiente sviluppati dalla scuola scientifica russa negli anni 1960-1970. Il segnale all'ingresso della rete neurale è descritto dal numero di classi (gradazioni) di immagini che rappresentano le istruzioni dell '"insegnante". Il segnale di uscita di una rete neurale è una descrizione quantitativa dello spazio decisionale. La tabella fornisce una classificazione delle opzioni per il funzionamento delle reti neurali per vari tipi di segnale di ingresso (2 classi, classi $ K $, classi continuum) e varie opzioni per una descrizione quantitativa dello spazio della soluzione (2 soluzioni, soluzioni $ K_p $, continuum di soluzioni). I numeri 1, 7, 8 rappresentano opzioni specifiche per il funzionamento delle reti neurali.

Tavolo. Una serie di opzioni per la messa a punto degli algoritmi

Lo spazio (numero) di soluzioni

Segnale di input

2 lezioniClassi $ K $Continuum di classe
2 1 7 8
$ K_p $$ K_p \u003d 3 $3a$ K \\ lt K_p $9 10
$ K \u003d K_p $2
$ K_p \u003d \\ text (const) $3b$ K \\ gt K_p $4
Continuum5 6 11

I principali vantaggi delle reti neurali come base logica per gli algoritmi per la risoluzione di problemi complessi sono: invarianza (immutabilità, indipendenza) di metodi per la sintesi di reti neurali dalla dimensione dello spazio delle caratteristiche; la capacità di scegliere la struttura delle reti neurali in una gamma significativa di parametri a seconda della complessità e delle specifiche del problema da raggiungere al fine di raggiungere la qualità richiesta della soluzione adeguatezza alle tecnologie microelettroniche attuali e future; tolleranza agli errori nel senso del suo piccolo, ma non catastrofico cambiamento nella qualità della soluzione del problema a seconda del numero di elementi falliti.

Reti neurali: una visione privata dell'oggetto di controllo in un sistema adattivo

Nella teoria del controllo, le reti neurali sono state uno dei primi esempi della transizione dal controllo dei sistemi stazionari lineari più semplici al controllo di sistemi complessi non lineari, non stazionari, multidimensionali, connessi in modo multiplo. Nella seconda metà degli anni '60, nacque una tecnica di sintesi di reti neurali che si sviluppò e fu applicata con successo nei successivi quasi cinquant'anni. La struttura generale di questa tecnica è mostrata in Fig. cinque.

Ingressi di rete neurale

Il modello probabilistico del mondo è la base delle tecnologie di rete neurale. Un modello simile è la base delle statistiche matematiche. Le reti neurali sorsero proprio in un momento in cui gli sperimentatori che utilizzavano statistiche matematiche si ponevano la domanda: “Perché siamo obbligati a descrivere le funzioni di distribuzione dei segnali casuali di input sotto forma di specifiche espressioni analitiche (distribuzione normale, distribuzione di Poisson, ecc.)? Se questo è corretto e c'è qualche ragione fisica per questo, allora il compito di elaborare segnali casuali diventa abbastanza semplice. "

Gli specialisti delle tecnologie di rete neurale hanno dichiarato: "Non sappiamo nulla della funzione di distribuzione dei segnali di input, rifiutiamo la necessità di una descrizione formale della funzione di distribuzione dei segnali di input, anche se restringiamo la classe di problemi da risolvere. Consideriamo le funzioni di distribuzione dei segnali di ingresso come complesse, sconosciute e risolveremo particolari problemi particolari in tali condizioni incertezza a priori (vale a dire descrizioni incomplete; non ci sono informazioni sui possibili risultati). " Questo è il motivo per cui le reti neurali nei primi anni '60 sono state effettivamente utilizzate per risolvere i problemi di riconoscimento dei modelli. Inoltre, il problema del riconoscimento del modello è stato interpretato come il problema dell'approssimazione di una funzione casuale multidimensionale che accetta valori di $ K $, dove $ K $ è il numero di classi di immagini.

Di seguito sono indicate alcune modalità di funzionamento delle reti neurali multistrato, determinate dalle caratteristiche dei segnali di ingresso casuali, per le quali sono stati sviluppati algoritmi di regolazione dei coefficienti alla fine degli anni '60.

Formazione sulla rete neurale

Ovviamente, il funzionamento della rete neurale, cioè le azioni che è in grado di eseguire, dipende dai valori delle connessioni sinottiche. Pertanto, data la struttura della rete neurale che soddisfa un compito specifico, lo sviluppatore deve trovare i valori ottimali per tutti i fattori di ponderazione $ w $. Questa fase è chiamata formazione della rete neurale e la capacità della rete di risolvere i problemi che deve affrontare durante il funzionamento dipende dalla sua capacità di completamento. I parametri di allenamento più importanti sono: la qualità della selezione dei fattori di ponderazione e il tempo da dedicare alla formazione. Di norma, questi due parametri sono interconnessi da una relazione inversa e devono essere selezionati sulla base di un compromesso. Attualmente, tutti gli algoritmi di addestramento per le reti neurali possono essere divisi in due grandi classi: "con un insegnante" e "senza un insegnante".

Probabilità di apparizione di classe a priori

Nonostante l'insufficienza delle informazioni a priori sulle funzioni di distribuzione dei segnali di ingresso, ignorare alcune informazioni utili può portare a una perdita della qualità della soluzione del problema. Ciò riguarda principalmente le probabilità a priori dell'aspetto delle classi. Algoritmi per la messa a punto di reti neurali multistrato sono stati sviluppati tenendo conto delle informazioni disponibili sulle probabilità a priori dell'aspetto delle classi. Questo è il caso di attività come il riconoscimento di lettere nel testo, quando per questa lingua la probabilità di occorrenza di ciascuna lettera è nota e queste informazioni devono essere utilizzate durante la costruzione di un algoritmo per l'ottimizzazione dei coefficienti di una rete neurale multistrato.

Qualifiche dell'insegnante

I valori di entrambi i parametri di input e output sono presentati alla rete neurale e regola i pesi delle sue connessioni sinaptiche secondo alcuni algoritmi interni. L'apprendimento "con un insegnante" implica che per ogni vettore di input esiste un vettore target che rappresenta l'output desiderato. In generale, le qualifiche di un "insegnante" possono essere diverse per le diverse classi di immagini. Insieme vengono chiamati rappresentante o l'apprendimento selettivoesimo. In genere, una rete neurale viene addestrata su un numero di tali campioni. Viene presentato un vettore di output, viene calcolato l'output della rete neurale e confrontato con il vettore target corrispondente, la differenza (errore) utilizzando risposta alimentato nella rete neurale, e i pesi sono cambiati secondo un algoritmo che cerca di minimizzare l'errore. I vettori del set di allenamento vengono presentati in sequenza, vengono calcolati gli errori e i pesi vengono regolati per ciascun vettore fino a quando l'errore nell'intero array di addestramento non raggiunge un livello accettabilmente basso.

Nelle attività di riconoscimento dei modelli, di norma, per impostazione predefinita, la qualifica di un "insegnante" è completa, ad es. la probabilità che l '"insegnante" assegni correttamente le immagini a una classe o a un'altra è uguale a una. In pratica, in presenza di misurazioni indirette, ciò non è spesso vero, ad esempio, nelle attività di diagnostica medica, quando durante la verifica (verifica) dell'archivio dei dati medici destinati all'allenamento, la probabilità di attribuire questi dati a una particolare malattia non è uguale all'unità. L'introduzione del concetto di qualifiche di "insegnante" ha permesso di sviluppare algoritmi unificati per ottimizzare i coefficienti di reti neurali multistrato per le modalità di allenamento, "con un insegnante" con una qualifica finale e autoapprendimento (raggruppamento) quando, in presenza di $ K $ o due classi di immagini, la qualifica di "insegnante" ( la probabilità di classificare le immagini in una o in un'altra classe) è uguale a $ \\ frac (1) (K) $ o 1/2. L'introduzione del concetto di qualifica di "insegnante" nei sistemi di riconoscimento dei modelli ci ha permesso di considerare in modo puramente teorico le modalità di "demolizione" del sistema quando viene informato di una classificazione deliberatamente falsa (con un diverso grado di falsità) di immagini in una o un'altra classe. Questa modalità di ottimizzazione dei coefficienti di una rete neurale multistrato non ha ancora trovato applicazione pratica.

Clustering

Il clustering (auto-allenamento, formazione senza insegnante) è una modalità privata di funzionamento delle reti neurali multistrato quando il sistema non è informato dell'appartenenza dei campioni a una o un'altra classe. Solo i segnali di ingresso sono presentati alla rete neurale e le uscite di rete sono formate in modo indipendente, tenendo conto solo dei segnali di ingresso e derivati \u200b\u200bda essi. Nonostante i numerosi successi applicati, l'insegnamento con un insegnante è stato criticato per l'implausibilità biologica. È difficile immaginare un meccanismo di apprendimento nell'intelligenza umana naturale che confronta i valori desiderati e reali degli output, eseguendo correzioni usando il feedback. Se permettiamo un meccanismo simile nel cervello umano, da dove provengono gli output desiderati? L'apprendimento senza insegnante è un modello più plausibile di apprendimento in un sistema biologico. Non ha bisogno di un vettore target per gli output e, pertanto, non richiede il confronto con risposte ideali predefinite. Il set di addestramento è costituito solo da vettori di input. L'algoritmo di addestramento regola i pesi della rete neurale in modo da ottenere vettori di output coerenti, ovvero la presentazione di vettori di input sufficientemente vicini fornisce gli stessi output. Il processo di apprendimento, quindi, identifica le proprietà statistiche dell'insieme di formazione e raggruppa vettori simili in classi. Presentare un vettore da una data classe all'input fornirà un certo vettore di output, ma prima dell'allenamento è impossibile prevedere quale output verrà prodotto da questa classe di vettori di input. Pertanto, i risultati di tale rete dovrebbero essere trasformati in una forma comprensibile, a causa del processo di apprendimento. Questo non è un problema serio. Di solito non è difficile identificare la connessione tra l'ingresso e l'uscita stabilita dalla rete.

Il clustering è oggetto di numerosi articoli scientifici. Il compito principale del clustering è quello di elaborare un insieme di vettori in uno spazio multidimensionale di attributi con l'allocazione di sottoinsiemi compatti (sottoinsiemi vicini), il loro numero e proprietà. Il metodo di clustering più comune è il metodo $ K $, che non è praticamente correlato ai metodi di propagazione e non è generalizzato alle architetture come le reti neurali multistrato.

L'introduzione del concetto di qualifiche di "insegnante" e un approccio unificato all'insegnamento e all'autoapprendimento negli anni '60 hanno effettivamente creato le basi per implementare il regime di raggruppamento in reti neurali multistrato di una vasta classe di strutture.

Immagini non stazionarie

Gli sviluppi esistenti nel campo dei sistemi di riconoscimento dei modelli basati su reti neurali multistrato sono principalmente correlati alle immagini fisse, ad es. segnali di ingresso casuali con funzioni complesse sconosciute, ma stazionarie nelle distribuzioni temporali. In alcuni lavori, è stato fatto un tentativo di estendere il metodo proposto per sintonizzare reti neurali multistrato su immagini non stazionarie, quando la presunta funzione di distribuzione sconosciuta del segnale di ingresso dipende dal tempo o il segnale casuale di ingresso è una sovrapposizione del componente normale e un componente casuale con una funzione di distribuzione complessa sconosciuta indipendente dal tempo.

Sui criteri per l'ottimizzazione primaria nelle reti neurali multistrato

Il modello probabilistico del mondo, preso come base per la costruzione di algoritmi di adattamento nelle reti neurali multistrato, ha permesso di formulare un criterio di ottimizzazione primario nei sistemi considerati sotto forma di requisiti minimi per la funzione di rischio medio e sue modifiche: massima probabilità a posteriori (la probabilità condizionale di un evento casuale a condizione che a posteriori , vale a dire, in base all'esperienza, ai dati); funzione di rischio medio minimo; funzione di rischio medio minimo, a condizione che le funzioni di rischio condizionale siano uguali per le diverse classi; un minimo della funzione di rischio medio nella condizione di un dato valore della funzione di rischio condizionale per una delle classi altri criteri di ottimizzazione primari derivanti dai requisiti di un particolare compito pratico. Nelle opere di scienziati russi, sono state presentate modifiche degli algoritmi di ottimizzazione per le reti neurali multistrato per i criteri di ottimizzazione primaria sopra indicati. Si noti che nella stragrande maggioranza dei lavori nel campo della teoria delle reti neurali e negli algoritmi di backpropagation, viene considerato il criterio più semplice: il minimo dell'errore standard, senza alcuna restrizione sulle funzioni di rischio condizionale.

Nella modalità di autoapprendimento (clustering), il prerequisito per la formazione del criterio e funzionale dell'ottimizzazione primaria delle reti neurali è la presentazione della funzione di distribuzione del segnale di ingresso come funzione multimodale in uno spazio di caratteristiche multidimensionali, in cui ciascuna modalità ha una probabilità con una classe. Le modifiche alla funzione di rischio medio sono state utilizzate come criteri per l'ottimizzazione primaria nella modalità di autoapprendimento.

Le modifiche presentate ai criteri di ottimizzazione primaria sono state generalizzate ai casi di un continuum di classi e soluzioni; continuum di segni di spazio di input; continuum del numero di neuroni nello strato; con qualifiche arbitrarie degli insegnanti. Una sezione importante nella formazione del criterio e funzionale dell'ottimizzazione primaria nelle reti neurali multistrato con un modello probabilistico del mondo è la scelta di una matrice di perdita, che nella teoria delle soluzioni statistiche determina il coefficiente di perdita $ L_ (12) $ se le immagini di classe 1 sono erroneamente assegnate alla classe 2 e al coefficiente di perdita $ L_ (21) $ quando classifica le immagini di 2a classe come 1a. Di norma, per impostazione predefinita, la matrice $ L $ di questi coefficienti nella sintesi di algoritmi di ottimizzazione per reti neurali multistrato, anche quando si applica il metodo di propagazione posteriore, è considerata simmetrica. In pratica, questo non è vero. Un tipico esempio è un sistema di rilevamento di mine che utilizza una geolocalizzazione. In questo caso, le perdite dovute all'errata attribuzione della pietra a una miniera equivalgono a una piccola perdita di tempo da parte dell'utente della geolocalizzazione. Le perdite associate all'errata assegnazione di mine alla classe di pietre sono associate alla vita o ad una significativa perdita di salute da parte degli utenti della geolocalizzazione.

Apri l'analisi della rete neurale

Questa fase di sintesi mira a determinare in modo generale le caratteristiche statistiche dell'uscita e dei segnali intermedi delle reti neurali come oggetti di controllo multidimensionali e non lineari con l'obiettivo di formare ulteriormente il criterio e la funzione dell'ottimizzazione secondaria, vale a dire una funzione realmente ottimizzata dall'algoritmo di adattamento in una specifica rete neurale. Nella stragrande maggioranza delle opere, l'errore radice-media-quadrata viene accettato come tale funzionalità, che peggiora la qualità della soluzione o non corrisponde affatto al problema di ottimizzazione posto dal criterio di ottimizzazione primario.

Sono stati sviluppati la metodologia e gli algoritmi per la formazione della funzione di ottimizzazione secondaria corrispondente a una determinata funzione di ottimizzazione primaria.

Algoritmi per la ricerca dell'estremo dei funzionali dell'ottimizzazione secondaria

L'algoritmo di ricerca degli estremi applicato a una specifica funzione di ottimizzazione secondaria determina l'algoritmo per l'ottimizzazione dei coefficienti di una rete neurale multistrato. All'inizio del 21 ° secolo, tali algoritmi implementati nel sistema MatLab erano di grande interesse pratico (abbreviazione di "Matrix Laboratory" - un pacchetto di programmi applicativi per risolvere i problemi di calcolo tecnico e il linguaggio di programmazione con lo stesso nome). Tuttavia, è necessario notare la particolarità degli algoritmi di adattamento nelle reti neurali multistrato utilizzate nei sistemi MatLab (Neural Network Toolbox - fornisce funzioni e applicazioni per la modellazione di sistemi non lineari complessi che sono descritti da equazioni; supporta l'apprendimento "con un insegnante" e "senza un insegnante", distribuzione diretta, con funzioni di base radiale, ecc.) e l'orientamento di questi algoritmi non sugli specifici compiti da risolvere, ma sulla "geometria" immaginaria dei funzionali di ottimizzazione secondari. Questi algoritmi non tengono conto di molti dettagli delle specifiche dell'uso delle reti neurali multistrato per risolvere problemi specifici e, naturalmente, richiedono un'elaborazione radicale, se non fondamentale, durante la transizione ai sistemi neurali memristor. È stata effettuata un'analisi comparativa dettagliata del metodo di propagazione posteriore e dei metodi russi degli anni '60 e '70. La caratteristica principale di questi algoritmi è la necessità di cercare estremi locali e globali di una funzionalità multi-estrema in uno spazio multidimensionale di coefficienti di rete neurale personalizzabili. Un aumento delle dimensioni della rete neurale porta ad un aumento significativo del numero di coefficienti personalizzabili, cioè ad un aumento della dimensione dello spazio di ricerca. Negli anni '60 furono proposte nei lavori le procedure di ricerca e analisi per il calcolo del gradiente della funzione di ottimizzazione secondaria e, nella classe delle procedure analitiche, fu proposta e studiata l'applicazione per l'organizzazione di ricerca non solo della prima, ma anche della seconda derivata della funzione di ottimizzazione secondaria. La specificità della multi-estremalità dell'ottimizzazione secondaria funzionale nei decenni successivi ha portato alla comparsa di varie modifiche ai metodi di ricerca (algoritmi genetici, ecc.). Sono stati creati algoritmi per la ricerca di estremi di funzionali di ottimizzazione secondari con restrizioni su grandezza, velocità e altri parametri dei coefficienti di peso delle reti neurali. Sono questi metodi che dovrebbero essere la base del lavoro sui metodi per sintonizzare le reti neurali usando memristori (coefficienti di ponderazione) tenendo conto di caratteristiche specifiche come le funzioni di trasferimento.

Condizioni iniziali per l'impostazione dei coefficienti

La scelta delle condizioni iniziali della procedura iterativa per la ricerca degli estremi dei funzionali secondari di ottimizzazione è un passo importante nella sintesi di algoritmi di ottimizzazione per reti neurali multistrato. Il compito di scegliere le condizioni iniziali dovrebbe essere risolto in modo specifico per ogni problema risolto dalla rete neurale ed essere parte integrante della procedura generale per la sintesi di algoritmi di sintonizzazione per reti neurali multistrato. Una soluzione di alta qualità a questo problema può ridurre significativamente i tempi di installazione. La complessità a priori della funzione di ottimizzazione secondaria ha reso necessario introdurre una procedura per selezionare le condizioni iniziali sotto forma di valori di coefficienti casuali ripetendo questa procedura e la procedura di impostazione dei coefficienti. Questa procedura negli anni '60 sembrava estremamente ridondante in termini di tempo impiegato per adattare i coefficienti. Tuttavia, nonostante ciò, al momento è ampiamente utilizzato. Per le singole attività è stata quindi adottata l'idea di scegliere le condizioni iniziali specifiche del problema da risolvere. Tale procedura è stata elaborata per tre compiti: riconoscimento del modello; il clustering neuroidentificazione di oggetti dinamici non lineari.

Memoria nel circuito di regolazione del coefficiente

Un approccio sistematico alla costruzione di algoritmi di ricerca degli estremi per la funzione di ottimizzazione secondaria implica, come una delle modalità di ottimizzazione, la riconfigurazione dei coefficienti in ciascun ciclo di immagine di input al valore attuale del gradiente della funzione di ottimizzazione secondaria. Sono stati sviluppati algoritmi per l'ottimizzazione delle reti neurali multistrato con il filtraggio della sequenza dei gradienti della funzione di ottimizzazione secondaria: un filtro di ordine zero con memoria $ m_n $ (per immagini stazionarie); filtro di $ 1, ..., k $ th ordine con memoria $ m_n $ (per immagini non stazionarie) con una diversa ipotesi di un cambiamento nel tempo delle funzioni di distribuzione per immagini di classi diverse.

Lo studio degli algoritmi di adattamento nelle reti neurali

La domanda principale - come scegliere la struttura di una rete neurale multistrato per risolvere il problema specifico selezionato - è ancora in gran parte irrisolta. Si può offrire solo una ragionevole enumerazione diretta di varianti di strutture con una valutazione della loro efficacia nel processo di risoluzione del problema. Tuttavia, la valutazione della qualità dell'algoritmo di ottimizzazione su una particolare struttura selezionata, un'attività specifica potrebbe non essere abbastanza corretta. Quindi, per valutare la qualità dei sistemi di controllo dinamico lineare, vengono utilizzati segnali di input standard (graduali, quadratici, ecc.), In base ai quali vengono valutati l'errore di stato stazionario (astatismo del sistema) e gli errori nei transitori.

Analogamente, per le reti neurali multistrato, sono stati sviluppati segnali di ingresso tipici per testare e confrontare le prestazioni di vari algoritmi di ottimizzazione. Naturalmente, i segnali di ingresso tipici per oggetti come le reti neurali multistrato sono specifici per ciascun problema da risolvere. Innanzitutto, sono stati sviluppati segnali di input tipici per i seguenti compiti: riconoscimento di pattern; il clustering neurocontrollo di oggetti dinamici.

Il principio assiomatico di base dell'uso delle tecnologie di rete neurale invece dei metodi delle statistiche matematiche classiche è il rifiuto di una descrizione formalizzata delle funzioni di distribuzione di probabilità per i segnali di input e l'adozione del concetto di funzioni di distribuzione complesse sconosciute. È per questo motivo che sono stati proposti i seguenti segnali di ingresso tipici.

Per il problema del clustering, è stato proposto un segnale casuale con una distribuzione multimodale, implementato in uno spazio caratteristica tridimensionale $ N $ con modalità di funzione di distribuzione i cui centri nella quantità di $ Z $ si trovano sull'iperbisettore dello spazio caratteristica tridimensionale $ N $. Ogni modalità implementa un componente campione casuale con una distribuzione normale e una deviazione standard di $ σ $ uguale a ciascuna delle modalità $ Z $. L'oggetto del confronto di vari metodi di clustering sarà la dinamica di tuning e la qualità della soluzione del problema a seconda di $ N $, $ Z $ e $ σ $, con un campione casuale sufficientemente ampio di $ M $. Questo approccio può essere considerato uno dei primi approcci abbastanza obiettivi al confronto tra algoritmi di clustering, compresi quelli basati su reti neurali multistrato con la scelta appropriata della struttura per ottenere la qualità richiesta del clustering. Per problemi di classificazione, i segnali di input per i test sono simili ai segnali per il clustering con la modifica del fatto che il campione con distribuzione multimodale è diviso in due parti (nel caso di due classi) o $ K $ (nel caso di classi $ K $) di parti con modalità alternate della funzione di distribuzione per singole classi .

Reti neurali variabili

Il rifiuto nelle tecnologie di rete neurale di informazioni a priori, di informazioni sulle funzioni di distribuzione dei segnali di input porta alla necessità di un ragionevole elenco dei parametri della struttura delle reti neurali multistrato per garantire la qualità richiesta per risolvere il problema.

Negli anni '60, per una classe di compiti che era molto rilevante in quel momento - il riconoscimento del modello - fu proposta una procedura per sintonizzare le reti neurali multistrato, in cui la struttura non è fissata a priori, ma è il risultato della sintonia con i valori dei coefficienti personalizzati. In questo processo, il numero di strati e il numero di neuroni nei livelli vengono selezionati nel processo di ottimizzazione. La procedura per impostare i coefficienti di una rete neurale multistrato con una struttura variabile viene facilmente trasferita dal problema di riconoscimento di due classi di immagini al problema di riconoscimento di classi di immagini $ K $. E qui il risultato dell'installazione è reti neurali $ K $, in ognuna delle quali la prima classe è la classe $ k $ ($ k \u003d 1, \\ ldots, K $) e la seconda tutte le altre. Un'idea simile di sintonizzazione di reti neurali multistrato con una struttura variabile è applicabile anche per risolvere il problema del clustering. In questo caso, il campione analizzato iniziale viene preso come prima classe di immagini e un campione con una distribuzione uniforme nell'intervallo di variazione delle caratteristiche viene preso come seconda classe. La rete neurale multistrato con una struttura variabile implementata durante il processo di installazione riflette qualitativamente e quantitativamente la complessità della risoluzione del problema. Da questo punto di vista, il compito del raggruppamento come compito di generare nuove conoscenze sull'oggetto studiato consiste nell'isolare e analizzare quelle aree dello spazio multidimensionale dei segni in cui la funzione di distribuzione della probabilità supera il livello di distribuzione uniforme nell'intervallo di variazione dei valori dei segni.

Prospettive di sviluppo

All'inizio del 21 ° secolo, uno dei concetti base dello sviluppo (addestramento) di una rete neurale multistrato è il desiderio di aumentare il numero di strati, e ciò implica garantire la scelta della struttura della rete neurale adeguata al compito da risolvere, lo sviluppo di nuovi metodi per la formazione di algoritmi di adeguamento dei coefficienti. I vantaggi delle reti neurali sono: una proprietà del cosiddetto. degrado graduale - quando i singoli elementi falliscono, la qualità del sistema diminuisce gradualmente (per il confronto, le reti logiche da AND, OR, NON falliscono se un elemento della rete fallisce); maggiore resistenza ai cambiamenti nei parametri dei circuiti che li implementano (ad esempio, cambiamenti molto significativi nei pesi non portano ad errori nell'implementazione di una semplice funzione logica di due variabili), ecc.

L'uso diffuso di algoritmi di reti neurali nel campo di complessi problemi formalizzabili, debolmente formalizzabili e non formalizzabili ha portato alla creazione di una nuova direzione nella matematica computazionale - neuromathematics. La neuromatematica include algoritmi di rete neurale per risolvere i seguenti problemi: riconoscimento di modelli; ottimizzazione ed estrapolazione di funzioni; teoria dei grafi; compiti crittografici; risoluzione di sistemi reali e booleani di equazioni lineari e non lineari, ordinarie equazioni differenziali unidimensionali e multidimensionali, equazioni differenziali parziali, ecc. Basata sulla teoria delle reti neurali, viene creata una nuova sezione della moderna teoria del controllo di complessi sistemi dinamici non lineari e multidimensionali, collegati in modo multiplo - neurocontrol, compresi i metodi di identificazione della rete neurale di oggetti dinamici complessi; costruzione di neuroregolatori in circuiti di controllo di oggetti dinamici complessi, ecc.

Le reti neurali (rete neurale artificiale) sono un sistema di processori semplici connessi e interagenti (neuroni artificiali). Tali processori sono generalmente abbastanza semplici (soprattutto rispetto ai processori utilizzati nei personal computer). Ciascun processore di tale rete si occupa solo dei segnali che riceve periodicamente e dei segnali che invia periodicamente ad altri processori. Eppure, essere connessi abbastanza grande rete con interazione controllata, questi processori insieme sono in grado di svolgere compiti piuttosto complessi, poiché le reti neurali sono addestrate nel processo.

Non è un segreto che ora le reti neurali siano utilizzate più spesso in fotografia. Abbiamo già visto come sono in grado di lavorare con l'animazione su un normale computer e le immagini vanno sotto il martello più delle opere di artisti famosi. Non sorprende che siano state le reti neurali a costituire la base dell'applicazione FaceApp, che in diversi giorni ha guadagnato popolarità in tutto il mondo, prendendo d'assalto l'App Store e.

Elon Musk dopo aver colonizzato Marte

Google ha introdotto una nuova rete neurale sperimentale, Translatotron, che può tradurre direttamente il parlato in un'altra lingua senza utilizzare la sua rappresentazione testuale e salvare i dati vocali e la velocità del parlato del relatore, secondo il blog della società. Un sistema con memoria a lungo termine è in grado di ricevere input vocali ed elaborarlo come spettrogramma, quindi generare su questa base un nuovo spettrogramma nella lingua di destinazione. In determinate condizioni, ciò aumenterà non solo la velocità di traduzione, ma anche la sua precisione. Con più descrizione completa il nuovo sviluppo può essere trovato in un articolo pubblicato nel repository online di articoli scientifici arXiv.org.

LA CAMPANA

C'è chi legge questa notizia prima di te.
Iscriviti per ricevere articoli freschi.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam