Dirbtinis intelektas #1

Pratarmė

Būdamas Helsinkyje, savo universiteto bibliotekoje atradau pakankamai literatūros pradėti intensyviau studijuoti savo hobį ir galbūt būsimo bakalaurinio temą – dirbtinį intelektą.

Iškarto noriu atsiprašyti už kai kuriuos žodžius, kurie gali pasirodyti “nelietuviški” ( angliškas variantas + raidė “s” ).

Įžanga

Šiuolaikinis požiūris į dirbtinį intelektą susiformavo 1940 metais dėka Warren McChlloch ir Walter Pitts darbo. Jie parodė, jog dirbtinių neuronų tinklas gali potencialiai išspręsti bet kokią aritmetinę ar loginę lygtį. Jų darbas žymimas kaip dirbtinio intelekto raidos pradžia.

Neuronas

Koks dirbtinis intelektas be dirbtinio neurono? Norint suprasti kaip dirba dirbtinis neuronas, reikia išsiaiškinti kaip dirba biologinis neuronas.

Supaprastintai, neuronas turi tris pagrindinius komponentus:

  1. Dendridus
  2. Ląstelinį kūną
  3. Aksoną

Dendridai yra medžio tipo nervų skaidulų priimamieji tinklai, kurie siunčia elektrinį signalą į ląstelinį kūną. Ląstelinis kūnas efektingai sudeda visus ateinančius signalus. Aksona yra vienetinė nervinė skaidula, kuri perduoda signalą iš ląstelinio kūno kitiems nervams. Toje vietoje, kur susiduria aksona ir kito nervo dendridas, vadinamas sinapse.

neuronas

( Paišau nelabai )

Žymenis

Toliau tęsiant reikia susitarti dėl žymenų:

  • Skaliarai bus žymimi mažomis raidėmis: a,b,c.
  • Vektoriai bus žymimi mažimos paryškintomis raidėmis a,b,c.
  • Matricos bus žymimos didžiosiomis paryškintomis raidėmis A,B,C.

Vieno-įėjimo neuronas

Remiantis biologiniu neuronu, galime sukonstruoti dirbtinį neuroną.

vieno įėjimo neuronas

Skaliaras p yra padauginamas iš svorio w ir pw keliauja į sumavimo įrenginį. Kitas įėjimas, kurio vertė yra pastovi – 1, yra padauginamas iš nuolydžio b ir tuomet gauta reikšmė siunčiama į sumavimo įrenginį. Sumavimo įrenginys sudeda abi atėjusias reikšmes ir išsiunčia skaliarą n į perdavimo funkciją, kuri sugeneruoja išėjimo skaliarą a.

Svoris w priklauso nuo sinapsės jėgos, sumavimo įrenginys atstoja ląstelės kūną, o perdavimo funkcija ir skaliaras a atstoja aksoną.

Perdavimo funkcijos

Perdavimo funkcijos atlieka šiokį tokį filtravimą. Dažniausiai naudojamos trys:

  1. Sunkios ribos perdavimo funkcija;
  2. Linijinė perdavimo funkcija;
  3. Logaritminė ( Log-Sigmoid ) perdavimo funkcija;

Sunkios ribos perdavimo funkcija

Sunkios ribos perdavimo funkcija išėjimui atiduoda 0, jeigu funkcijos argumentas yra mažesnis už 0 ir 1, jeigu funkcijos argumentas yra didesnis už 1. Paprasta, argi ne ? Formulės pavidalu tai atrodytų taip:

a = hardlim(n)

sunkios ribos perdavimo funkcija

Linijinė perdavimo funkcija

Linijinė perdavimo funkcija išėjimui duoda lygiai tą patį funkcijos argumentą. Formulės pavidalu tai atrodytų taip:

a = purelim(n)

linijinė perdavimo funkcija

Pagalvojus – kam tokios funkcijos reikalingos? Tačiau tokio tipo funkcijos naudojamos ADALINE tinkluose.

Logaritminė ( Log-Sigmoid ) perdavimo funkcija

Logaritminė ( Log-Sigmoid ) perdavimo funkcija paima sumavimo įrenginio išėjimą ( kuris gali būti bet koks skaičius nuo minus begalybės iki plius begalybės ) ir jį suspausti tarp 0 ir 1, remiantis tokia išraiška:

a = 1/(1+e^(-n))

Formulėje tai atrodo taip:

a = logsig(n)

logaritminė perdavimo funkcija

Tokia funkcija yra plačiai naudojama keletos sluoksnių tinkluose, kurie treniruojami backpropogation algoritmu, kadangi ši funkcija yra diferencijuojama.

Išvados

Šitam įraše paminėjome kieno dėka pradėjo judėti dirbtinio intelekto mokslas, iš ko sudarytas ir kaip veikia papraščiausias dirbtinis neuronas, kokios yra perdavimo funkcijos. Kitam įraše aptarsim keletos įėjimų neuroną ir neuronų architektūros įžangą.

Advertisements