Neuraaliverkkojen kokonaisvaltainen ymmärtäminen.
Koneoppimisessa, tai tarkemmin sanottuna neuroverkoissa, yksi yleisimmin käytetyistä aktivaatiofunktioista on sigmoidifunktio. Neuroverkon kouluttamisen backpropagation-vaiheessa on löydettävä häviöfunktion derivaatta kunkin verkon painon suhteen. Tätä varten on löydettävä aktivointifunktion derivaatta. Tämän artikkelin tarkoituksena on selvittää epäselvyyksiä sigmoidifunktion derivaatan löytämisestä.
Aluksi tässä on sigmoidifunktio:
Kokeeksi ota laskimellasi sigmoidi 5:stä. Sinun pitäisi saada tulokseksi 0,99330714907.
Derivaattaa varten tämä funktio voidaan kirjoittaa myös seuraavasti:
Ensimmäinen asia, jonka huomasin tästä funktiosta, on se, että se on funktioiden koostumus. Ensimmäinen funktio on
ja toinen funktio on
Muistakaamme, että laskutoimituksessa, kun kyseessä on funktioiden kompositio, derivaatta, on ensimmäinen funktio toisen funktion suhteen kerrottuna toisella funktiolla muuttujan, tässä tapauksessa x:n, suhteen. Näin:
Sigmoidifunktion derivaatta x:n suhteen on siis sigmoidifunktion derivaatta m:n suhteen kertaa m:n derivaatta x:n suhteen. Voit ajatella tätä funktioiden koostumissääntöä eräänlaisena välilaskutoimituksena, jonka tuloksena saadaan ristiin kumoamalla haluttu alkuperäinen derivaatta:
Nyt kun tiedämme, että sigmoidi-funktio on funktioiden muodostama koostumus, meidän ei tarvitse tehdä muuta kuin löytääksemme derivaattamme,:
- Etsitään sigmoidifunktion derivaatta m:n, väliarvomme, suhteen
- Etsitään m:n derivaatta x:n suhteen
- Kerrotaan nämä arvot keskenään
Sigmoidifunktion derivaatta m:n suhteen
Katsotaanpa vielä kerran, miltä sigmoidifunktio näyttää m:n ollessa väliarvomme:
Tämän derivaatan löytäminen m:n suhteen on melko yksinkertaista, jos muistamme potenssisäännön:
X^n:n derivaatta on n kertaa x:n derivaatta potenssiin n-1.
Siten,
Nyt, jos korvaamme alkuperäisen m:n arvomme takaisin yhtälöön, saamme
Loppujen lopuksi,
Yay! Suoritimme vaiheen 1.
Löydä m:n derivaatta x:n suhteen
Tässä on m:
Johdannaisen löytämiseksi meidän on löydettävä jokaisen termin derivaatta x:n suhteen. Ensimmäinen termi on helppo:
Toinen termi on hieman monimutkaisempi.
Päästetään
ja
Kaikki vaiheessa 2,
Kerroin derivaatat
Muistetaan, että kun löysimme kaksi välijohdannaista, meidän piti kertoa ne. Tässä siis nopea yhteenveto:
Nyt, jos muistat miten kerrotaan :), voimme vihdoin lopettaa tämän!
Voit nyt ottaa tämän arvon ja käyttää sitä sigmoidifunktion derivoinnissa. Mielenkiintoinen asia tapahtuu kuitenkin sen jälkeen, kun olet manipuloinut tätä tulosta. Osoittautuu, että voit kirjoittaa derivaatan uudelleen näin:
Sigmoidifunktion derivaatta on sigmoidi kertaa 1 miinus sigmoidi. Wow. Tunnen itseni huijatuksi. 🙂
Vastaa