Mikroprocesszorra lehet írni egy egyszerű önfejlődő programot, vagy neurális algoritmust?
Kicsit zavaros, amit írsz, de csinálnak ilyet már rég.
Memory wars, erre keress rá.
A tanulni képes neurális hálóra gondoltam.
Olyan program van, ami egy másikat tud írni? Ha nem is fizikálisan saját magát módosítaná, de egy új, módosított példányt tudna írni magából, olyan nincs?
Az mit jelent, hogy mikroprocesszorra? Nem mikrokontrollerre gondoltál? Vagy sima processzorra Assemby-ben?
Mikroprocesszor a sima CPU is.
Neurális algoritmus alatt gondolom a neurális hálót értetted. Persze, hogy lehet, mátrix műveleteket kell tudni végezni, ha ez megy, akkor onnantól nem bonyolult a hálót összeeszkábálni.
Ez így igazából két kérdés, két külön válasszal.
Csxeba hozzászólásával egyetértek, egyetlen apróságot leszámítva, mégpedig, hogy egyáltalán nem a mátrixműveleteket tartom sarkallatos pontnak: Számomra a hibaszámítás eredményének felhasználása bizonyult bonyolultnak az aktivációs függvény láncszabályos parciálisával, meg leginkább hogy úgy en-bloc hogy lesz abból súlyváltoztatás.
"Az is megoldható, hogy a saját program memóriájába cserélhessen ki utasítást a regiszter átírásával?"
A regisztert nem érdemes idekeverni, de ilyen programok már jóideje léteznek: A legprimitívebbektől eltekintve, a számítógépek kisebb-nagyobb mértékben (fertőzés, "alakváltás") támaszkodnak erre a képességre.
A genetikus algoritmusok pedig kifejezetten arra lettek kitalálva, hogy kvázi organikusan fejlesszenek megoldást egy-egy adott problémára.
Amit írsz szerintem ahhoz a genetikus, evolúciós algoritmusok vannak legközelebb.
...de ezek neurhálók, nem úgy működnek hogy egy program beleír egy új forciklust a kódjába. Itt súlyok, rétegek, neuronok vannak.
@Csxeba Ezért is írtam úgy, hogy én a backpropot tartom bonyolultabbnak. :)
Nyilván van rá lib, de ezzel a lendülettel mátrix libek, sőt, komplett ANN libek/rémvörkök [sic] is elérhetőek. Ellenben, ha kézzel kell lekódolni, kiszámolgatni minden súlyra a regressziót, az teljes agyrém. ReLU és társai már meg sem említendők.
Ha a mátrixműveleteket kell lábbalhajtósan összehozni, segíthet egy picit egy finoman megreszelt strategy pattern, vagy sokat, ha a videokártyára/SSE-re/3DNow-ra bízod az egészet. Nekem speciel borsódzik a hátam annak a gondolatától, hogy kismillió egymásba ágyazott blokkal szemeteljem tele a kódot. Felteszem, te is épp ezzel nem vagy kibékülve. Ha már van a problémára célhardver minden modern gépben, miért hagynánk parlagon?
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!