Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Neuroverkon Toteutus | TensorFlow:n Perusteet
Quizzes & Challenges
Quizzes
Challenges
/
Johdanto TensorFlow'hun

bookNeuroverkon Toteutus

Perustason neuroverkon yleiskatsaus

Olet nyt saavuttanut vaiheen, jossa sinulla on olennaiset TensorFlow-taidot neuroverkkojen luomiseen itsenäisesti. Vaikka useimmat todelliset neuroverkot ovat monimutkaisia ja rakennetaan yleensä korkean tason kirjastoilla kuten Keras, rakennamme tässä yksinkertaisen verkon käyttäen perustason TensorFlow-työkaluja. Tämä lähestymistapa tarjoaa käytännön kokemusta matalan tason tensorien käsittelystä, mikä auttaa ymmärtämään taustalla olevia prosesseja.

Aiemmilla kursseilla, kuten Johdatus neuroverkkoihin, saatat muistaa, kuinka paljon aikaa ja vaivaa yksinkertaisenkin neuroverkon rakentaminen vaati, kun jokainen neuroni käsiteltiin erikseen.

TensorFlow yksinkertaistaa tätä prosessia merkittävästi. Hyödyntämällä tensoreita voidaan kapseloida monimutkaisia laskutoimituksia, mikä vähentää monimutkaisen koodin tarvetta. Päätehtävänä on rakentaa johdonmukainen tensoritoimintojen ketju.

Tässä lyhyt kertaus vaiheista, joilla neuroverkon koulutusprosessi saadaan käyntiin:

Datan valmistelu ja mallin luominen

Neuroverkon koulutuksen alkuvaiheessa suoritetaan datan valmistelu, joka kattaa sekä syötteet että tulosteet, joista verkko oppii. Lisäksi määritellään mallin hyperparametrit – nämä ovat parametreja, jotka pysyvät muuttumattomina koko koulutusprosessin ajan. Painot alustetaan, yleensä normaalijakaumasta arvottuina, ja bias-termit, jotka usein asetetaan nollaksi.

Eteenpäinlevitys

Eteenpäinlevityksessä jokainen verkon kerros noudattaa tyypillisesti seuraavia vaiheita:

  1. Kerroksen syöte kerrotaan sen painoilla.
  2. Tulokseen lisätään bias.
  3. Tähän summaan sovelletaan aktivointifunktiota.

Tämän jälkeen voidaan laskea häviö.

Takaisinkulku

Seuraava vaihe on takaisinkulku, jossa painoja ja biaseja säädetään niiden vaikutuksen perusteella häviöön. Tätä vaikutusta kuvaa gradientti, jonka TensorFlow'n Gradient Tape laskee automaattisesti. Painoja ja biaseja päivitetään vähentämällä gradientti, kerrottuna oppimisnopeudella.

Koulutussilmukka

Neuroverkon tehokkaaseen kouluttamiseen koulutusvaiheet toistetaan useita kertoja samalla, kun mallin suorituskykyä seurataan. Ihannetapauksessa häviö pienenee epookkien aikana.

Tehtävä

Swipe to start coding

Luo neuroverkko, joka on suunniteltu ennustamaan XOR-operaation tuloksia. Verkossa tulee olla 2 syöteneuronia, piilokerros, jossa on 2 neuronia, sekä 1 ulostuloneuroni.

  1. Aloita alkuperäisten painojen ja biasien asettamisella. Painot tulee alustaa käyttäen normaalijakaumaa, ja biasit alustetaan kaikki nollaksi. Käytä hyperparametreja input_size, hidden_size ja output_size määrittääksesi tensorien oikeat muodot.
  2. Hyödynnä funktiodekoraattoria muuntaaksesi train_step()-funktion TensorFlow-grafiksi.
  3. Suorita eteenpäinlevitys sekä piilo- että ulostulokerroksen läpi. Käytä sigmoid-aktivointifunktiota.
  4. Määritä gradientit ymmärtääksesi, miten kukin paino ja bias vaikuttaa tappioon. Varmista, että gradientit lasketaan oikeassa järjestyksessä vastaamaan ulostulomuuttujien nimiä.
  5. Muokkaa painoja ja biaseja niiden vastaavien gradienttien perusteella. Ota huomioon learning_rate päivitysprosessissa, jotta voit hallita kunkin päivityksen suuruutta.

Ratkaisu

Yhteenveto

Koska XOR-funktio on suhteellisen yksinkertainen tehtävä, emme tässä vaiheessa tarvitse edistyneitä menetelmiä, kuten hyperparametrien säätöä, aineiston jakamista tai monimutkaisten dataputkien rakentamista. Tämä harjoitus on vain askel kohti kehittyneempien neuroverkkojen rakentamista todellisiin sovelluksiin.

Näiden perusteiden hallinta on olennaista ennen siirtymistä edistyneisiin neuroverkkotekniikoihin tulevilla kursseilla, joissa käytämme Keras-kirjastoa ja tutkimme tapoja parantaa mallin laatua TensorFlow'n monipuolisten ominaisuuksien avulla.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain what forward and backward propagation mean in simple terms?

How does TensorFlow's Gradient Tape work for backpropagation?

What is the purpose of using a hidden layer in the XOR neural network example?

close

Awesome!

Completion rate improved to 6.25

bookNeuroverkon Toteutus

Pyyhkäise näyttääksesi valikon

Perustason neuroverkon yleiskatsaus

Olet nyt saavuttanut vaiheen, jossa sinulla on olennaiset TensorFlow-taidot neuroverkkojen luomiseen itsenäisesti. Vaikka useimmat todelliset neuroverkot ovat monimutkaisia ja rakennetaan yleensä korkean tason kirjastoilla kuten Keras, rakennamme tässä yksinkertaisen verkon käyttäen perustason TensorFlow-työkaluja. Tämä lähestymistapa tarjoaa käytännön kokemusta matalan tason tensorien käsittelystä, mikä auttaa ymmärtämään taustalla olevia prosesseja.

Aiemmilla kursseilla, kuten Johdatus neuroverkkoihin, saatat muistaa, kuinka paljon aikaa ja vaivaa yksinkertaisenkin neuroverkon rakentaminen vaati, kun jokainen neuroni käsiteltiin erikseen.

TensorFlow yksinkertaistaa tätä prosessia merkittävästi. Hyödyntämällä tensoreita voidaan kapseloida monimutkaisia laskutoimituksia, mikä vähentää monimutkaisen koodin tarvetta. Päätehtävänä on rakentaa johdonmukainen tensoritoimintojen ketju.

Tässä lyhyt kertaus vaiheista, joilla neuroverkon koulutusprosessi saadaan käyntiin:

Datan valmistelu ja mallin luominen

Neuroverkon koulutuksen alkuvaiheessa suoritetaan datan valmistelu, joka kattaa sekä syötteet että tulosteet, joista verkko oppii. Lisäksi määritellään mallin hyperparametrit – nämä ovat parametreja, jotka pysyvät muuttumattomina koko koulutusprosessin ajan. Painot alustetaan, yleensä normaalijakaumasta arvottuina, ja bias-termit, jotka usein asetetaan nollaksi.

Eteenpäinlevitys

Eteenpäinlevityksessä jokainen verkon kerros noudattaa tyypillisesti seuraavia vaiheita:

  1. Kerroksen syöte kerrotaan sen painoilla.
  2. Tulokseen lisätään bias.
  3. Tähän summaan sovelletaan aktivointifunktiota.

Tämän jälkeen voidaan laskea häviö.

Takaisinkulku

Seuraava vaihe on takaisinkulku, jossa painoja ja biaseja säädetään niiden vaikutuksen perusteella häviöön. Tätä vaikutusta kuvaa gradientti, jonka TensorFlow'n Gradient Tape laskee automaattisesti. Painoja ja biaseja päivitetään vähentämällä gradientti, kerrottuna oppimisnopeudella.

Koulutussilmukka

Neuroverkon tehokkaaseen kouluttamiseen koulutusvaiheet toistetaan useita kertoja samalla, kun mallin suorituskykyä seurataan. Ihannetapauksessa häviö pienenee epookkien aikana.

Tehtävä

Swipe to start coding

Luo neuroverkko, joka on suunniteltu ennustamaan XOR-operaation tuloksia. Verkossa tulee olla 2 syöteneuronia, piilokerros, jossa on 2 neuronia, sekä 1 ulostuloneuroni.

  1. Aloita alkuperäisten painojen ja biasien asettamisella. Painot tulee alustaa käyttäen normaalijakaumaa, ja biasit alustetaan kaikki nollaksi. Käytä hyperparametreja input_size, hidden_size ja output_size määrittääksesi tensorien oikeat muodot.
  2. Hyödynnä funktiodekoraattoria muuntaaksesi train_step()-funktion TensorFlow-grafiksi.
  3. Suorita eteenpäinlevitys sekä piilo- että ulostulokerroksen läpi. Käytä sigmoid-aktivointifunktiota.
  4. Määritä gradientit ymmärtääksesi, miten kukin paino ja bias vaikuttaa tappioon. Varmista, että gradientit lasketaan oikeassa järjestyksessä vastaamaan ulostulomuuttujien nimiä.
  5. Muokkaa painoja ja biaseja niiden vastaavien gradienttien perusteella. Ota huomioon learning_rate päivitysprosessissa, jotta voit hallita kunkin päivityksen suuruutta.

Ratkaisu

Yhteenveto

Koska XOR-funktio on suhteellisen yksinkertainen tehtävä, emme tässä vaiheessa tarvitse edistyneitä menetelmiä, kuten hyperparametrien säätöä, aineiston jakamista tai monimutkaisten dataputkien rakentamista. Tämä harjoitus on vain askel kohti kehittyneempien neuroverkkojen rakentamista todellisiin sovelluksiin.

Näiden perusteiden hallinta on olennaista ennen siirtymistä edistyneisiin neuroverkkotekniikoihin tulevilla kursseilla, joissa käytämme Keras-kirjastoa ja tutkimme tapoja parantaa mallin laatua TensorFlow'n monipuolisten ominaisuuksien avulla.

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 4
single

single

some-alt