Ciao e benvenuti a questa pipe ea Torro ora dobbiamo definire le cinque variabili di questa funzione
che sono le tre convoluzioni e le connessioni temporali.
Quindi iniziamo con il primo.
Convolutional applica convoluzione alle immagini di input, quindi quelle sono le immagini originali e ora vedrai
come tutto diventerà così semplice da creare questa convoluzione.
Bene, quello che dobbiamo fare è in realtà creare un argomento di una classe specifica
e questa classe è presa da e poi le classi arrivano al perché stiamo lavorando con immagini 2D e ora come puoi vedere
dobbiamo mettere diversi argomenti.
Il primo è nei canali.
Mettiamolo nei canali.
Il secondo è fuori dai canali.
Il terzo è la dimensione di Kerno e il resto di loro è il passo che riempie i gruppi di dilatazione e il pregiudizio.
E abbiamo valori diversi per tutti questi.
Quindi non lo faremo, ma continueremo a mantenere i valori predefiniti.
Ma ciò che è importante sono questi tre argomenti nei canali e canali e la dimensione del kernel e così
indovino a cosa corrispondono.
Molto semplicemente, in generale, corrisponde all'input della convoluzione e tutti i canali
corrispondono all'output della conclusione.
Quindi cosa sarà.
Molto semplicemente questo sarà il numero di canali nelle nostre immagini.
In realtà lavoreremo con le immagini in bianco e nero perché fondamentalmente non riconosciamo i colori per
riconoscere i mostri.
L'intelligenza artificiale è totalmente in grado di riconoscere i mostri in bianco e nero.
Quindi non vediamo affatto i colori solo riconoscerli per la loro forma.
Quindi useremo un canale in modo tale che un canale sia quando si hanno immagini in bianco e
nero e tre canali quando si chiamano le immagini.
E quindi dal momento che stiamo lavorando con le immagini in bianco
e nero nei canali sarà uguale a uno dei nostri canali, quindi i nostri canali saranno uguali alle immagini che vorrete avere nel
luogo convoluzionale che è l'output di questa costituzione uno.
Quindi, in pratica, questo è uguale al numero di funzioni che desideri inserire nel testo delle tue
immagini originali, perché chi creerà un'immagine per funzione che vogliamo rilevare, perché in pratica sai come funziona.
di input e quindi il numero di immagini di output qui è il numero di funzionalità che vogliamo rilevare.
Abbiamo applicato un rilevatore di caratteristiche all'immagine di input per rilevare una caratteristica specifica nell'immagine
Quindi ora la domanda è quante funzionalità vogliamo rilevare.
Beh, una pratica comune è iniziare con 32 rivelatori di caratteristiche e in modo da portarci al 32% di immagini
in questo primo strato convoluzionale in modo che l'input sia un'immagine in bianco e nero un'immagine reale
e l'output nel primo convoluzionale ci siano 32 immagini elaborate e per elaborazione intendo naturalmente che
la conclusione è stata applicata all'immagine di input per ottenere 32 nuove immagini con caratteristiche rilevate.
E quindi dobbiamo specificare una dimensione del kernel che non è altro che le dimensioni del
quadrato che passerà attraverso l'immagine originale.
E nella pratica comune usiamo entrambi per comprare due o tre larghe tre o cinque per cinque.
E per il primo utilizzeremo un rilevatore di caratteristiche cinque per cinque che è un rilevatore di funzionalità
che avrà cinque cinque cinque motori.
E poi ridurremo la dimensione di questo kernel per i successivi strati convoluzionali.
E parlando di questo è esattamente quello che faremo ora.
Lo copiamo per definire la seconda convoluzione e quindi mi baso sul fatto che qui e ora è molto divertente e
molto semplice è come un domino.
canale di ingresso del secondo strato convoluzionale è il canale di uscita del primo convoluzionale.
Il
Quindi questo numero di uscite 32 Qui c'è lo stesso numero di ingressi 32 qui.
E questo perché abbiamo 32 immagini nello strato convoluzionale di input della seconda convoluzione.
E così la seconda convoluzione viene applicata a questo secondo strato convoluzionale per restituire un terzo strato
convoluzionale.
E quindi ora la domanda è quante nuove immagini vogliamo.
Beh, lo stesso che crea 32 nuove immagini 32 è in realtà un numero molto comune nelle reti neurali convoluzionali se
si osservano le architetture che si trovano 32 in molte di esse.
E poi per le dimensioni del kernel Bene, abbiamo bisogno di ridurre la dimensione del kernel che è la dimensione del nostro
rilevatore di funzionalità.
E così ora andremo da cinque a quattro o anche tre e poi andremo ancora più piccoli.
Va bene, la nostra seconda convoluzione è pronta.
Prende come input 32 immagini di processo.
Ognuno in una prima caratteristica dell'immagine di input originale e crea 32 nuove immagini.
Grazie a queste dimensioni ridotte del rilevatore di caratteristiche.
E così ora spingiamo ancora di più questo.
Quindi sto copiando questo e incollando qui per creare una terza convoluzione per rilevare alcune funzionalità.
E così ora è lo stesso i canali di input.
Ecco il numero di immagini di input a sinistra della connessione di deconvoluzione e questo è il numero di
immagini di precessione che sono andate a destra delle connessioni di convoluzione precedenti.
Questo è 32.
Pertanto ci dispiace per ascoltare.
È perfetto.
E ora la domanda è di nuovo quante nuove immagini vogliamo rilevare.
Ora prenderemo 64 e quindi 64 immagini di precessione in uscita.
E ovviamente ora prendiamo una dimensione del kernel più piccola e ne prenderemo due.
E quindi questa è un'architettura molto classica di un convoluzionale ed è molto efficiente avere un
alto livello di rilevamento delle caratteristiche all'interno delle immagini.
Va bene e così ora che abbiamo i nostri tre convoluzionali ci sono le nostre tre connessioni di convoluzione
qui.
le 64 volte 32 volte 32 di nuovo immagini che abbiamo ottenuto da tutte queste convoluzioni, così abbiamo
appiattito tutti i pixel di queste immagini e possiamo un unico vettore che diventerà l'input di una nuova rete neurale pienamente connessa.
Bene, ora è il momento di ottenere le nostre connessioni dentate che ricordo che prenderemo questo enorme
vettore che otteniamo dopo aver appiattito tutte
E così è quando dobbiamo fare queste connessioni tra prima questo enorme vettore e uno strato nascosto
e poi una seconda connessione completa tra il livello nascosto e l'output che sono composti dai neuroni
di output.
Ognuno corrisponde a un valore cubo delle azioni possibili.
Quindi facciamo queste due connessioni.
Sai come farlo.
Questo è esattamente ciò che abbiamo fatto per l'auto che guida.
Quindi facciamolo di nuovo.
Bene, prima prendiamo il Maggio e prendiamo la classe di Lynnie perché, ancora una volta, la connessione che creiamo è
un oggetto della classe dominante.
E poi tra parentesi.
Bene, è lo stesso per mettere le caratteristiche di input che sono il numero di esse e le caratteristiche di output.
E così le funzionalità di input per la prima connessione completa che cosa sarà.
in questo enorme cambiamento di vettore dopo aver appiattito tutte le immagini di processo dopo le tre convoluzioni.
Bene, sarà uguale al numero di pixel presenti
E quindi cosa fa questo numero.
Beh, in realtà c'è un trucco qui.
Questo numero è davvero difficile da ottenere.
In realtà abbiamo bisogno di fare una funzione per calcolare quel numero.
Non abbiamo una variabile che ci porterà questo numero.
Dobbiamo calcolarlo e quindi cosa faremo ora.
perché la prima volta potresti dire hey non lo faccio avere questo numero di neuroni nel vettore Flaten.
E ora è molto importante capire la mentalità della programmazione che dobbiamo avere e provare a portarti la
mentalità che è quello che devi pensare in questo momento per superare questo ostacolo
Cosa dovrei fare.
Sono bloccato qui.
Beh, in realtà no, perché quello che puoi fare ora è semplicemente inserire qualsiasi nome qui che rappresenterà il numero di
neuroni così rari che il numero di neuroni numero di neuroni e poi faremo semplicemente una
funzione che ritornerà e questo numero di neuroni variabile.
Questo numero di pixel che stiamo cercando.
Quindi possiamo assolutamente fare in modo che possiamo mettere tutto questo molto vocale, ovviamente avremo un
avvertimento perché non esiste ancora, ma lo creeremo in seguito con una funzione.
E ci è totalmente permesso farlo anche se la funzione viene dopo.
Questo è un tipico pensiero di programmazione che devi avere quando ottieni questo tipo di ostacolo.
Bene, puoi fare una funzione per ottenere ciò che ti manca.
Va bene e poi le nostre funzionalità e il nostro futuro.
Questo è il numero di neuroni in un livello nascosto e questa volta dipende da te.
Dipende dall'architettura della nuova rete che vuoi creare.
E quindi un buon numero non sarebbe un numero piccolo.
Quindi per esempio 40 neuroni potrebbero andare bene.
Possiamo provare ad aumentarlo.
Se l'allenamento non è troppo lento, puoi provare ad aumentarlo.
Forse questo migliorerà le previsioni, ma iniziamo con 40 forse lo aumenteremo in seguito.
Bene, questo è tutto per la prima connessione completa, quindi copieremo questa copia qui per la seconda connessione completa che
è la connessione tra il livello nascosto e il livello di output.
E così le caratteristiche qui diventano le caratteristiche del livello precedente e cioè 40.
Quindi qui possiamo mettere 40.
Questo è ovviamente il numero di neuroni in un livello.
E il nostro futuro sarà uguale al numero di neuroni di uscita non dovrebbe esserci alcuna rete neurale.
E dal momento che ogni neurone di uscita corrisponde a un nuovo valore e un Cuvee e la
risposta a un'azione mentre il numero di neuroni di uscita qui è ovviamente il numero
di azioni e abbiamo una variabile per questo che è il numero di azioni e quindi qui le azioni del numero di input e ci andiamo congratulazioni.
Abbiamo trovato l'architettura della nostra rete neurale la nostra rete neurale è composta da tre strati
convoluzionali e uno strato nascosto.
Tutto questo in una grande CNN e questa CNN rileverà funzionalità nel gioco in modo che l'IA saprà dove
deve andare dove deve andare e dove deve sparare.
Quindi andiamo per questo passo.
Questo è un primo passo molto importante fatto.
Ora passeremo al prossimo passo che è ovviamente quello di ottenere questo numero di neuroni
che ancora manca.
Questo è in realtà il motivo per cui abbiamo l'avvertimento qui e il numero di telefono dei neuroni, ma non ci sono preoccupazioni.
questo enorme vettore e metteremo quel numero in una variabile che chiamerà un numero di neuroni.
Ora faremo una funzione che restituirà il numero di neuroni in
Quindi facciamolo nel prossimo tutorial.
Questo è il nostro prossimo passo.
E fino ad allora goditi l'intelligenza artificiale.