Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Ladíček Verunka Viktorínovi:29.12.2016 12:51

Dobry den mam dotaz ohledne UI a Neuronove site, ktery ma dve casti!
Tak ze:

  1. v jakem programovacim jazyce se to pise (popr. v jakem je to nejjednodussi)
  2. existuje nejaky videonavod/navod na nejaky opravdu primitivni priklad?

Jsem jeden z tech ktery se uci spise z praxe a z toho co vidi.
Jinak dik vsem co budou reagovat na mou otazku a pokud mozno tak bez nadavek.

 
Odpovědět
29.12.2016 12:51
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Ladíček Verunka Viktorínovi
Martin Dráb:29.12.2016 13:59

Neuronové sítě mají +- přirozenou podporu v matlabu. Obsahuje dokonce průvodce (GUI), které ti dovolují neuronovou síť pro konkrétní účel vytvořit (nprtool pro rozpoznávání vzorů, nftool pro aproximaci funkcí a bude toho asi trošku víc).

Určitě ale budou existovat i knihovny pro "standartnější" programovací jazyky, jen jejich použití nemusí být tak intuitivní jako v matlabu, který je více určen na matematickou práci. V jeho dokumentaci bys také mohl najít nějaké příklady.

Nahoru Odpovědět
29.12.2016 13:59
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Martin Dráb
Ladíček Verunka Viktorínovi:29.12.2016 14:11

Moc si cenim tvych informaci, ale myslim ze to jde mimo me otazky..

 
Nahoru Odpovědět
29.12.2016 14:11
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Ladíček Verunka Viktorínovi
Martin Dráb:29.12.2016 14:52

Aha :-). Tak zkusím odpovědět:

  1. já mám zkušenost (akademickou, řekněme) z matlabu. Ono to může být trochu problém u jazyků, kde nemáš v knihovnách implementovány některé matematické funkce, které mohou být pro neuronky důležité. Ale dají se samozřejmě implementovat.
  2. no, neuronek je spousta druhů. Pokud chceš jednoduchý příklad, tak si najdi něco o perceptronu, což je v podstatě jeden samostatně fungující neuron. Schopnosti takové sítě jsou dosti omezené (zejména prakticky), ale jako ukázka by mohl stačit. Pod tímto pojmem bys neměl mít problém najít různé tutoriály a nvody.
Nahoru Odpovědět
29.12.2016 14:52
2 + 2 = 5 for extremely large values of 2
Avatar
Ladíček Verunka Viktorínovi:29.12.2016 15:05

...muzu se zeptat?.... Da se brat za rekneme "lehci" UI treba program, ktery ma nejakou databazi napr. Slozky s nazvy 1-100 a ja tomu programu "reknu" aby mi vyhledal slozku 37 a on mi ji najde....?

 
Nahoru Odpovědět
29.12.2016 15:05
Avatar
coells
Tvůrce
Avatar
Odpovídá na Ladíček Verunka Viktorínovi
coells:29.12.2016 16:14

Nejjednodušší je použít Python díky současné podpoře.

scikit-learn obsahuje implementaci FFNN - nejjednodušší typ neuronky, a dokonce i Bernoulli-RBM - generativní modelování.
Jinak používám TensorFlow, který umožní vytvoření RNN nebo CNN modelu skoro na jednu řádku a vlastní architekturu na několik málo řádků.
Obvykle se pak kombinuje TensorFlow a scikit-learn pro přípravu dat a matplotlib pro vizualizace a diagnostiku, pokud nestačí vestavěná.

Návodů je velká spousta, jenom na youtube jich jsou tisíce, přes přednášky a novinky až po tutoriály, kde se to snaží vysvětlovat bez znalostí matematiky a statistiky.
TensorFlow, scikit-learn, Torch, Theano, DeepLearning4J obsahují spoustu tutoriálů a hodně lidí bloguje a píše návody.

Tvojí poslední otázce moc nerozumím, myslíš udělat NN, která zpracuje přirozený text?
To nespadá pod "primitivní" ukázky, ty se obvykle týkají mnohem jednodušších funkcí jako je NXOR.

 
Nahoru Odpovědět
29.12.2016 16:14
Avatar
coells
Tvůrce
Avatar
Odpovídá na Martin Dráb
coells:29.12.2016 16:23

Ahoj Martine, perceptron není neuron. Neuron je nelineární jednotka s kapacitou, zatímco perceptron je lineární funkce s garantovanou konvergencí nad lineárně separovatelným prostorem.

 
Nahoru Odpovědět
29.12.2016 16:23
Avatar
Odpovídá na coells
Ladíček Verunka Viktorínovi:29.12.2016 16:23

Nevim co je to to NN...jinak myslim ze otazku jsem popsal dobre, ale asi moc lajcky...

 
Nahoru Odpovědět
29.12.2016 16:23
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na coells
Martin Dráb:29.12.2016 16:52

Dík za upřesnění. Já jsem z teorie probírané na MFF nabyl dojmu, že perceptron může být chápán jako případ neuronu s příslušně definovanou přenosovou funkcí.

Nevim co je to to NN...jinak myslim ze otazku jsem popsal dobre, ale asi moc lajcky...

NN znamená neuronová síť (neural network).

Na tvoje otázky ti myslím bylo odpovězeno – na tu první i konkrétně (Python, matlab), na tu druhou méně konkrétně ("je toho spousta, stačí jen hledat, není to nijak zašité").

Slozky s nazvy 1-100 a ja tomu programu "reknu" aby mi vyhledal slozku 37 a on mi ji najde....?

Tohle se obvykle řeší jinými prostředky než umělou inteligencí, protože ten problém je v běžném případě příliš jednoduchý; souborové systémy na jeho řešení používají vhodné datové struktury (např. B stromy). Pokud máš tedy na mysli opravdu jen problém zjištění, zda určitá složka existuje.

Nahoru Odpovědět
29.12.2016 16:52
2 + 2 = 5 for extremely large values of 2
Avatar
Odpovídá na Martin Dráb
Ladíček Verunka Viktorínovi:29.12.2016 17:03
Tohle se obvykle řeší jinými prostředky než umělou inteligencí, protože ten problém je v běžném případě příliš jednoduchý; souborové systémy na jeho řešení používají vhodné datové struktury (např. B stromy). Pokud máš tedy na mysli opravdu jen problém zjištění, zda určitá složka existuje.

U te otazky me spise zajimalo zda se to da brat jako nejaka forma UI....

 
Nahoru Odpovědět
29.12.2016 17:03
Avatar
Martin Dráb
Tvůrce
Avatar
Odpovídá na Ladíček Verunka Viktorínovi
Martin Dráb:29.12.2016 17:18

Já bych to jako formu UI nebral. I kdyby to forma ale byla, považuji zrovna tento problém za velmi pšatný příklad UI (pokud je příklad UI to, co hledáš).

Co považuji třeba za dobrý příklad (a "programoval" jsem jej do školy), je UI rozpoznávající rostliny na základě vlastností jejich listů. Nebo třeba UI, která dokáže rozpoznat, zda obrázek na vstupu je písmeno, případně jaké (takové velmi jednoduché OCR, řekněme).

Myslím, že obecně se ti neuronky budou hodit v případě, kdy přesně nevíš, jak problém řešit, protože ti je známá jen omezená množina vstupních dat (např. máš 100 druhů rostlin, od každého 8 ukázek listů), ale musíš se nějak vypořádat i s tobě neznámými vstupy (další listy od známých druhů rostlin), i když vlastně ani nevíš jak (nedokážeš přesně popsat, jak listy pro určitý druh rostliny vypadají, jen víš, že vypadají "nějak takhle"). Pokud bys přesně věděl jak (a nebylo by náročné to naprogramovat), nemá použití UI moc smysl.

Nahoru Odpovědět
29.12.2016 17:18
2 + 2 = 5 for extremely large values of 2
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.