Hvordan bruke beregninger for dyp læring med Keras i Python

Hvordan bruke beregninger for dyp læring med Keras i Python

Keras-biblioteket gir en måte å beregne og rapportere på en serie standard beregninger når du trener dyp læringsmodeller.

I tillegg til å tilby standard beregninger for klassifisering og regresjonsproblemer, lar Keras deg også definere og rapportere om dine egne tilpassede beregninger når du trener modeller for dyp læring. Dette er spesielt nyttig hvis du vil holde oversikt over et ytelsesmål som bedre fanger modellens ferdigheter under trening.

I denne opplæringen vil du oppdage hvordan du bruker de innebygde beregningene og hvordan du definerer og bruker dine egne beregninger når du trener dype læringsmodeller i Keras.

Etter å ha fullført denne opplæringen, vil du vite:

  • Hvordan Keras-beregninger fungerer og hvordan du kan bruke dem når du trener modellene dine.
  • Hvordan bruke regresjons- og klassifiseringsberegninger i Keras med utarbeidede eksempler.
  • Hvordan definere og bruke din egen tilpassede beregning i Keras med et utført eksempel.

Start prosjektet ditt med min nye bok Deep Learning With Python, inkludert trinnvise veiledninger og Python kildekode filer for alle eksemplene.

La oss komme i gang.

  • Oppdater Jan / 2020: Oppdatert API for Keras 2.3 og TensorFlow 2.0.
Metrics and How to Use Custom Metrics for Deep Learning with Keras in Python

Metrics and How to Use Custom Metrics for Deep Learning with Keras in Python
Foto av Indi Samarajiva, noen rettigheter forbeholdt.

Opplæringsoversikt

Denne opplæringen er delt inn i 4 deler; de er:

  1. Keras Metrics
  2. Keras regresjonsmålinger
  3. Keras Klassifisering Metrics
  4. Egendefinerte beregninger i Keras

Keras Metrics

Keras lar deg liste opp beregningene som skal overvåkes under opplæringen av modellen din.

Du kan gjøre dette ved å spesifisere “beregningerArgument og gi en liste over funksjonsnavn (eller funksjonsnavnaliaser) til kompilere() funksjon på modellen din.

For eksempel:

De spesifikke beregningene du oppgir, kan være navnene på Keras-funksjoner (som f.eks mean_squared_error) eller strengaliaser for disse funksjonene (som 'mse').

Metriske verdier blir registrert på slutten av hver epoke på treningsdatasettet. Hvis det også er gitt et valideringsdatasett, beregnes beregningen også for valideringsdatasettet.

Alle beregninger rapporteres i detaljert utdata og i historikkobjektet som returneres fra å ringe passe() funksjon. I begge tilfeller brukes navnet på beregningsfunksjonen som nøkkel for beregningsverdiene. Når det gjelder beregninger for valideringsdatasettet, visesval_”Prefikset legges til nøkkelen.

Både tapfunksjoner og eksplisitt definerte Keras-beregninger kan brukes som treningsmålinger.

Keras regresjonsmålinger

Nedenfor er en liste over beregningene du kan bruke i Keras på regresjonsproblemer.

  • Gjennomsnittlig kvadratfeil: mean_squared_error, MSE eller mse
  • Gjennomsnittlig absolutt feil: mean_absolute_error, MAE, mae
  • Gjennomsnittlig absolutt prosentandel feil: mean_absolute_percentage_error, MAPE, mape
  • Cosine Nærhet: cosinus-nærhet, cosinus

Eksemplet nedenfor viser disse 4 innebygde regresjonsmålingene på et enkelt konstruert regresjonsproblem.

Merk: Resultatene dine kan variere gitt algoritmens eller evalueringsprosedyrens stokastiske natur, eller forskjeller i numerisk presisjon. Vurder å kjøre eksemplet et par ganger, og sammenlign det gjennomsnittlige resultatet.

Når du kjører eksemplet, skrives ut metriske verdier på slutten av hver epoke.

Deretter opprettes en linjeplott over de 4 beregningene over treningsepoker.

Linjediagram over innebygde Keras-målinger for regresjon

Linjediagram over innebygde Keras-målinger for regresjon

Merk at beregningene ble spesifisert ved hjelp av strengaliasverdier [‘mse‘, ‘mae‘, ‘mape‘, ‘cosine‘] og ble referert til som nøkkelverdier på historieobjektet ved hjelp av deres utvidede funksjonsnavn.

Vi kan også spesifisere beregningene ved hjelp av deres utvidede navn, som følger:

Vi kan også spesifisere funksjonsnavnene direkte hvis de importeres til skriptet.

Du kan også bruke tapsfunksjonene som beregninger.

For eksempel kan du bruke den gjennomsnittlige kvadratiske logaritmiske feilen (mean_squared_logarithmic_error, MSLE eller msle) tap fungerer som en beregning som følger:

Keras Klassifisering Metrics

Nedenfor er en liste over beregningene du kan bruke i Keras for klassifiseringsproblemer.

  • Binær nøyaktighet: binærnøyaktighet, iht
  • Kategorisk nøyaktighet: categorical_accuracy, acc
  • Sparsom kategorisk nøyaktighet: sparsom_kategorisk nøyaktighet
  • Topp k Kategorisk nøyaktighet: top_k_categorical_accuracy (krever at du angir ak-parameter)
  • Sparse Top k Kategorisk nøyaktighet: sparse_top_k_categorical_accuracy (krever at du angir en parameter)

Nøyaktighet er spesiell.

Uansett om problemet ditt er et binært eller klassifiseringsproblem i flere klasser, kan du spesifisere 'nøyaktighet'beregning for å rapportere om nøyaktighet.

Nedenfor er et eksempel på et binært klassifiseringsproblem med den innebygde nøyaktighetsverdien som er vist.

Merk: Resultatene dine kan variere gitt algoritmens eller evalueringsprosedyrens stokastiske natur, eller forskjeller i numerisk presisjon. Vurder å kjøre eksemplet et par ganger, og sammenlign det gjennomsnittlige resultatet.

Å kjøre eksemplet rapporterer nøyaktigheten på slutten av hver treningsperiode.

En linjeplott av nøyaktighet over epoken blir opprettet.

Linjediagram over innebygde Keras-målinger for klassifisering

Linjediagram over innebygde Keras-målinger for klassifisering

Egendefinerte beregninger i Keras

Du kan også definere dine egne beregninger og spesifisere funksjonsnavnet i listen over funksjoner for “beregninger”Argument når du ringer kompilere() funksjon.

En beregning jeg ofte liker å holde rede på er Root Mean Square Error, eller RMSE.

Du kan få en ide om hvordan du skriver en tilpasset beregning ved å undersøke koden for en eksisterende beregning.

For eksempel nedenfor er koden for gjennomsnittet_squared_error tap funksjon og beregning i Keras.

K er backend brukt av Keras.

Fra dette eksemplet og andre eksempler på tapsfunksjoner ...

Vous pourriez également être intéressé par