Neuronove siete
-
jorg22
Medium Professional
- Príspevky: 1087
- Registrovaný: 12 aug 2006, 20:39
- Kontaktovať používateľa:
Neuronove siete
Caute, poradte mi prosim nejake clanky o programovani neuronovych sieti. Hladam nieco pre zaciatocnikov, napriklad ako naprogramovat doprednu neuronovu siet, ktora sa vie naucit XOR.
Zdrojovy kod v PHP som nasiel na internete ale bez vysvetlenia mi je to nanic.
http://www.jens.cz/neuronova-sit-backpropagation-v-php/
Hladam nieco co bude ludskejsie vysvetlene, len z matematickych definicii sa to nedokazem naucit.
Teoria je celkom slusne popisana tu:
http://neuron.tuke.sk/jaksa/theses/2010 ... thesis.pdf
ale ja hladam skor nieco praktickejsie.
Dakujem.
Zdrojovy kod v PHP som nasiel na internete ale bez vysvetlenia mi je to nanic.
http://www.jens.cz/neuronova-sit-backpropagation-v-php/
Hladam nieco co bude ludskejsie vysvetlene, len z matematickych definicii sa to nedokazem naucit.
Teoria je celkom slusne popisana tu:
http://neuron.tuke.sk/jaksa/theses/2010 ... thesis.pdf
ale ja hladam skor nieco praktickejsie.
Dakujem.
Re: Neuronove siete
seria clankov je aj TU
-
Sagittarius
Guru
- Príspevky: 2883
- Registrovaný: 13 feb 2007, 21:58
- Bydlisko: Do nekonečna a ešte ďalej
Re: Neuronove siete
No neviem, či sa neurónové siete, lepšie povedané skôr učenie NS bude dať vysvetliť bez matematiky. Ale väčšina sietí napr. perceptrón funguje tak, že zjednodušene povedané jednotlivé kroky algoritmov je len prepis vzorcov do zdrojového kódu.
Čo sa týka materiálov. Ja som hlavne používal knihu od Dušana a Milana Marčeka - Umelé neurónové siete. Ale neviem, či ju okrem predajne EDISu (vydavateľstvo ŽU) niekde nájdeš. Ale tam je opäť dosť matiky.
V prílohe máš taký jednoduchší príklad. Je to sieť typu perceptrón s jedným výstupom. Prognózujú, resp. sieť sa učí na hodnoty cien dlhopisov VÚB (to je ten textový súbor). Ale opäť tam chýba popis.
Čo sa týka materiálov. Ja som hlavne používal knihu od Dušana a Milana Marčeka - Umelé neurónové siete. Ale neviem, či ju okrem predajne EDISu (vydavateľstvo ŽU) niekde nájdeš. Ale tam je opäť dosť matiky.
V prílohe máš taký jednoduchší príklad. Je to sieť typu perceptrón s jedným výstupom. Prognózujú, resp. sieť sa učí na hodnoty cien dlhopisov VÚB (to je ten textový súbor). Ale opäť tam chýba popis.
- Prílohy
-
- Neuronky1.rar
- (87.12 KiB) 187 stiahnutí
-
harrison314
Hardcore addict
- Príspevky: 8216
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Neuronove siete
Tiež si myslím, že učenie NN sa bez tých pár parciálnych derivácií a gradientov vysvetliť, respektíve pochopiť nedá ( [ironia] prosím ukameňujte ma zato[/ironia] ).
Ale skús hľadať na nete zdroje od V. Kvasničku, vie písať velmi zrozumiteľne a o umelej inteligencii toho publikoval dosť a je to dostupne na internete.
Ale ak to chceš iba nakódiť, tak opajcuj dačo funkčné alebo použi existujúcu knižnicu.
Ale skús hľadať na nete zdroje od V. Kvasničku, vie písať velmi zrozumiteľne a o umelej inteligencii toho publikoval dosť a je to dostupne na internete.
Ale ak to chceš iba nakódiť, tak opajcuj dačo funkčné alebo použi existujúcu knižnicu.
-
jorg22
Medium Professional
- Príspevky: 1087
- Registrovaný: 12 aug 2006, 20:39
- Kontaktovať používateľa:
Re: Neuronove siete
Chcel by som to aj pochopit, kniznicu urcite nechcem pouzivat chcem si to nakodit sam. Skusim pozriet V. Kvasničku ale keby ste nasli este nieco kde sa to popisuje spolu s prikladmi tak by mi to pomohlo.
Parcialne derivacie viem a gradiety by nebol problem sa doucit ak by mi to stacilo k pochopeniu.
Zatial dakujem vsetkym.
Parcialne derivacie viem a gradiety by nebol problem sa doucit ak by mi to stacilo k pochopeniu.
Zatial dakujem vsetkym.
Re: Neuronove siete
Trocha by som sa chcel začať učiť programovať NN, tak mám otázoku, dá niečo naučiť aj bez VŠ matiky? Zatiaľ som iba na SŠ a čo som pozeral viac tutorialov na NN, tak tam boli také veci z matiky, ktorým vôbec nerozumiem, zatiaľ som nenašiel nič také, podľa čoho by som zvládol aj niečo ja spraviť. Nepozná niekto nejaké materiály, podľa ktorých by som aj ja dokázal niečo spraviť? Kľudne aj v angličtine...
Re: Neuronove siete
Ahoj ak chceš jeden z najjednoduchších typov -> feedforward neural network, tak ti fakt VŠ mat netreba, prvú NN som urobil na uplnom začiatku SŠ keď som ešte zo SŠ matiky nič nevidel takže by sa dalo povedať že sa to dá aj so ZŠ matikou ale treba samozrejme poznať napr symbol sygmy. A pri trénovaní tam je hlavné pochopiť princíp ako to funguje napr taka backpropagacia. Ale potom keď máš recurrent neural networks tam to cítim, že musím veľa matiku riešiť ale dá sa to
Materiály konkrétne neviem, ale stačí googliť a nájdeš 
-
axxis
Addict
- Príspevky: 3690
- Registrovaný: 29 máj 2007, 21:53
- Bydlisko: Spálené mlyny
- Kontaktovať používateľa:
Re: Neuronove siete
Ale ano da. https://www.coursera.org/course/neuralnetsharrison314 napísal:Tiež si myslím, že učenie NN sa bez tých pár parciálnych derivácií a gradientov vysvetliť, respektíve pochopiť nedá .
Ako lektor je napisany Geoffrey Hinton z Toronta u ktoreho si nie som isty. Ked som mal kurz ja bol to Andrew Ng zo Stanfordu a ten to vysvetloval vynikajuco s takym minimom matematiky ako to len slo a derivacie vzdy iba zmiatol vetou: "Verte mi, ze toto je vysledok". Ak by si autor dohladal spatne prednasky tak nemusi vediet vyssiu matiku.
Re: Neuronove siete
Hm, toto vyzera celkom zaujimavo, dik za link, urcite vyskusam, bolo by super keby to bolo tak ako hovoris. K+ ti dam na pc, cez tapatalk to nejde
//autoeditácia príspevku (22 Máj 2014, 21:15)
No, vyzeralo to celkom dobre, len ten kurz dávno skončil, to som si všimol, myslel som že tam bude všetko tak ako má byť, bohužiaľ sú tam len jednotlivé lekcie, kvízy, ale cvičenia na programovanie tam chýbajú
// No a teraz, ani neviem ako som sa dopracoval k tomu kurzu od Andrewa Ng, čo bol vyššie spomínaný, navyše sú tam aj cvičenia na programovanie, takže ak by to niekto hľadal, tak je to tu
//autoeditácia príspevku (22 Máj 2014, 21:15)
No, vyzeralo to celkom dobre, len ten kurz dávno skončil, to som si všimol, myslel som že tam bude všetko tak ako má byť, bohužiaľ sú tam len jednotlivé lekcie, kvízy, ale cvičenia na programovanie tam chýbajú
// No a teraz, ani neviem ako som sa dopracoval k tomu kurzu od Andrewa Ng, čo bol vyššie spomínaný, navyše sú tam aj cvičenia na programovanie, takže ak by to niekto hľadal, tak je to tu
Re: Neuronove siete
Ja som neuronove siete neštudoval a ani VS nemám. Napriek tomu som sa do tvorby nn pustil. Vytvora sa tak, že sa určí vstup, výstup, neuróny, ktoré sa použijú a spustí sa tvorenie. Všetko to beží na PHP a javascript. Nájdete ju na http://www.our-ai.com.
Re: Neuronove siete
To co robis je zaujimave, ale neuronove siete to zrovna nie su. Aspon teda nie v takom ponimani v akom sa to bezne pouziva 
Re: Neuronove siete
Suhlasim. Neuronova siet ma uz svoje synapsie a tie neustale vyuziva + vytvara nove. To co som vytvoril ja moze pri rieseni ulohyeMPiko napísal:To co robis je zaujimave, ale neuronove siete to zrovna nie su. Aspon teda nie v takom ponimani v akom sa to bezne pouziva
a) pouzit existujuce algoritmy a teda nieco ako existujuce viacere neuronove siete
b) vytvorit si uplne novu neuronovu siet
Ja v tom vidim vyhodu. Miesto toho aby sa neustale hladalo v obrovskej neuronovej sieti riesenie a hybalo sa s vahami; tu sa pouzije len ta cast neuronovej siete, ktora je na to najvhodnejsia, pripadne sa vytvori uplne nova.
Re: Neuronove siete
Hej, len neuronky sa zasa pouzivaju na 'zlozitejsie' ulohy. Napr. typicky ukazkovy priklad je detekcia pismenka na obrazku. To sa vacsinou neda takto zostrojit z niekolkych kuskov. Preto sa to riesi v podstate prehladavanim vektoroveho priestora, tj. trenovanim neuronovej siete.
Re: Neuronove siete
OK - bavme sa teda o trenovani neuronovej siete pre OCR (opticke rozpoznavanie znakov) - neuronova siet sa nauci rozpoznavat urcite znaky a teraz sa kombinaciou vytvorenych synopsii (prepojeni neuronov) musi naucit rozpoznat nove pismeno, pripadne to iste pismeno v inej polohe.
Pri standartnej neurovej sieti sa prechadza existujuca siet a menia sa len synopsie, kym sa nedostane k zelanemu vysledku.
V mojej sieti sa pouzivaju
a) cervene neurony - tak nazyvam casti neuronovej siete, ktora je otestovana a funguje pre urcity priklad
b) zelene neurony - to su neurony s pevne danymi algoritmamy - plus, minus, atd...
Myslim, ze hladanie riesenie moze byt dost podobne v hladani klasickej neuronovej sieti.
Vyhodou u mna je to, ze sa nemoze poskodit urcite cast neurovej sieti, ktora uz je overena a funkcna... co sa v klasickej neurovej sieti stat moze (oprav ma ak sa mylim).
Neviem posudit, ci je moj sposob rychlejsi, alebo pomalsi oproti klasickym postupom.. iste je, ze uz existujuce casti sa neustale mozu zlepsovat a zrychlovat vdaka nemennemu patternu pre kazdy cerveny neuron.
Pri standartnej neurovej sieti sa prechadza existujuca siet a menia sa len synopsie, kym sa nedostane k zelanemu vysledku.
V mojej sieti sa pouzivaju
a) cervene neurony - tak nazyvam casti neuronovej siete, ktora je otestovana a funguje pre urcity priklad
b) zelene neurony - to su neurony s pevne danymi algoritmamy - plus, minus, atd...
Myslim, ze hladanie riesenie moze byt dost podobne v hladani klasickej neuronovej sieti.
Vyhodou u mna je to, ze sa nemoze poskodit urcite cast neurovej sieti, ktora uz je overena a funkcna... co sa v klasickej neurovej sieti stat moze (oprav ma ak sa mylim).
Neviem posudit, ci je moj sposob rychlejsi, alebo pomalsi oproti klasickym postupom.. iste je, ze uz existujuce casti sa neustale mozu zlepsovat a zrychlovat vdaka nemennemu patternu pre kazdy cerveny neuron.
Re: Neuronove siete
Ano, pri klasickych neuronovych sietach naozaj ide len o vahovanie synopsii. Teda hladame take vahy, aby sa vysledky z danej siete co najviac priblizili vysledkom z nejakej trenovacej mnoziny. Ta optimalizacia tam vacsinou prebieha na zaklade derivacii daneho vektoroveho priestoru.
Celkom ale nerozumiem, ako funguje ten tvoj pristup. Tie siete neuronov, co tam mas, vznikaju manualne alebo sa trenuju na zaklade nejakeho algoritmu?
Celkom ale nerozumiem, ako funguje ten tvoj pristup. Tie siete neuronov, co tam mas, vznikaju manualne alebo sa trenuju na zaklade nejakeho algoritmu?
Re: Neuronove siete
Siete v cervenych neuronov vytvara A.I. pomocou svojho algoritmu. Zelene su presne dane algoritmy. Pocet neuronov najdes tu:
http://sk.our-ai.com/power
Cely sposob A.I. som popisal tu: http://sk.our-ai.com/o-stranke
http://sk.our-ai.com/power
Cely sposob A.I. som popisal tu: http://sk.our-ai.com/o-stranke
Re: Neuronove siete
Mozno by si si mohol pozriet nieco o evolucnych algoritmoch. To su algoritmy, ktore sa snazia prehladat priestor rieseni sposobom inspirovanym evoluciou v prirode. To by ti mohlo pomoct urychlit hladanie rieseni.
Re: Neuronove siete
Vdaka. Presne to teraz potrebujem. Kazdopadne tu mam jeden problem a to je ten, ze AI bezi na mnozstve CPU, ktore navzajom o sebe nemusia vediet. Komunikuju medzi sebou az potom, co najdu pomocou nahody spravne riesenie. V prvej faze som mal neustalu komunikaciu a nejaky ten princip evolucneho algoritmu, no padol mi server, pretoze komunikacia bola az prilis casta.eMPiko napísal:Mozno by si si mohol pozriet nieco o evolucnych algoritmoch. To su algoritmy, ktore sa snazia prehladat priestor rieseni sposobom inspirovanym evoluciou v prirode. To by ti mohlo pomoct urychlit hladanie rieseni.
Musim to teda prerobit tak, aby sa uloha rozdelila na mensie casti a tie sa rozdistribuovali na viac CPU. Potom pri zbere sa vyhodnotia vysledky a ci vobec ulohy prebehli.
Re: Neuronove siete
V tych evolucnych algoritmoch mas viacero moznosti, ako to paralelizovat. Mozes napr. pustat na kazdom jadre osobitu evoluciu a potom raz za X krokov trochu pomenis tie jedince, ktore sa ti v populaciach vytvorili, aby si to trochu osviezil.
-
harrison314
Hardcore addict
- Príspevky: 8216
- Registrovaný: 27 máj 2009, 20:42
- Bydlisko: Bratislava
- Kontaktovať používateľa:
Re: Neuronove siete
Preboha 3 dni je strasne vela
Evolucne algoritmus co vyriesi take ulohy, ako tam mas by to mal zvladnut za par minut na starom jednojadrovom stroji.
Imho. evolucne algoritmy sa paralelizuju lahko, len na co najvyssiu efektivnost treba zvolit vhodnu velkost uloh, na ktore to rozsekas.
Ani rozdelit ich na viac strojov nie je problem, napriklad na skole som to robilcez MPI.
A rada nabuduce, ked chces daco robit, najskor si o om nieco precitaj
Imho. evolucne algoritmy sa paralelizuju lahko, len na co najvyssiu efektivnost treba zvolit vhodnu velkost uloh, na ktore to rozsekas.
Ani rozdelit ich na viac strojov nie je problem, napriklad na skole som to robilcez MPI.
A rada nabuduce, ked chces daco robit, najskor si o om nieco precitaj