async's Neural Network Corner

WCG?*: jedna se o cast mych stran zabyvajicich se neuronovymi sitemi...

*WCG = wo co go.
FILE: sample.net
===============================
CONTENET:
-------------------------------
/netname/ TEST ;definice mena site
/pokec/        ;nejakej pokec o siti
/net/          ;direktiva: chci popisovat sit

;----------------------
<inf ^1 &0
{
#syc.x    sy.0 $4.2
} >


;'<inf'  - meno neuronu "inf"
;'^'     - urcuje lamdu - strmost,
;'&'     - ucruje prah neuronu
;'$'     - urcuje W koeficinet (synapticky)
;sy.0..15 cisla synapsi, cisla musi mit sekvenci 0..15!!!, ne napreskacku!

;{ } - definice zasitovani dendritu - synapsi
;#syc.x znamena natazeni konstanty ze souboru "syc.lnk" a meno konst je "x"
;pokud nepouzijete a nepisete pouze konstantu (cislo)
;NENI mozna spoluprace s neunetXgraph!!! - pouziva to jako vstup do site.

; soubor sys.lnk vypada takhle:
;x=5 (treba)

;!!!POZOR!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;} > - musi tam bejt mezera, protoze neunet bere jako odelovaci znak
;prikazu prave mezeru!!!!!!!!

;------------------------------
<ina ^2 &1
{
ax.inf    sy.0 $3
ax.out    sy.1 $0.5 ;!feedback
} >

;ax.inf znamena ukazani na AXon z neuronu jmenem inf a routuje se do
;synapse 0 s W koef. 3
;ax.out - zde je videt moznost vytvoreni site se zpetnou vazbou (feedback)
;-natohle si dejte pozor, snadno to zpusobuje epilepticke zachvaty site.
; - dojde k prebuzeni vsech neurou a vsecky maji vystup ~1
;-----------------------------
<inb ^2 &1
{
ax.inf    sy.0 $2.2
} >
;----------------------------
<mia ^1 &0
{
ax.ina    sy.0 $4
ax.inb    sy.1 $2
} >
;-------------------------
<mib ^5 &1
{
ax.ina    sy.0 $9
ax.inb    sy.1 $1
} >
;----------------------------
<out ^1 &0
{
ax.mia    sy.0 $2
ax.mib    sy.1 $2
ax#out.o
} >

;ax#out.o znamena vystup do souboru jmenem out a jemno vystypu "o",
;pokud nekde nepuzijete, neni mozna spoluprace s neunetXgraph!!!!
;ten z techto vystupu taha funkci hodnoty.
no, jen jak se nato divam tak ja odbornik "zatim diletant" vidim ze dostane "epilepticky zachvat" - znamena to ze dojde k plne excitaci a na vystupu bude nic nez 0.99??? nebo 1 lepsi je hrb.net.
==================================
UVODNIK: uvodnik.txt
----------------------------------
***************************************
     UVODNIK DO NEURONOVYCH SITI
***************************************

Co to je?
---------
to je to co mate v hlave - mozecek (mozna nekdo ma i neco jineho :-)
obecne se jedna o soustavu prvku vykonavajich jistou funkci (prenosovou),
ktere jsou spojeny v sit. Takhle to mame udelane v mozku, lidi
se snazi napodobit Prirodu a proto byl jeden nas neuron (tj. ten prvek
vykonavajici fci) popsan matematickou funkci, "obecne se pouziva"
sigmoida:

nejprv co je neuron:

 synapse  dendrity
| |      |
                --------
1>(W1)---------|        |
2>(W1)---------|        |       synapse
3>(W1)---------|        |       |
 .             |        |------>>---
 .             |        |  axon
 .             |        |
j>(Wj)---------|        |
                --------
              jadro neuronu

synapse - je to spojeni dendrit/axon (konektor)
axon - vystupni "drat" z neuronu
denrit - "drat" na vedeni signalu ze synapse
jadro neuronu - "vypocetni" jednotka

popsana takhle:

y=1/ (1+ e^((-1)*lamda*ksi))

kde ksi= SUMA(Xj*Wj) - theta

Wj je synapticky koeficient
Xj .. vstup do synapse (treba za axonu)

a kdyz se z takovychto jednotek (umelych neuronu = perceptronu) vytvori sit,
je mozno realizovat "vsechny" funkce - i se neco naucit - uceni tj.
vytvoreni prislusne funkce je veci aproximace.

note: skutecne se daji tvorit bizardni funkce uz z malo neurony (~6).
note: prenosova funkce neuronu nemusi byt sigmoida, ale i jina funkce,
      klidne typu 1/0, jenze abychom se priblizili co nejvice k biologickemu
      neuronu je zrejme nejlepsi sigmoida - je odolna vuci signalum s vysokou
      amplitudou a nezesiluje "sumy" -slabe signaly.
      Jenze se dneska pouzivaji i jinaci funkce - treba pro pamet....

takze situjte a situjte :-)
a jeste nakonec vypis dostupnycch prikazu (pozn. OS= DOS, nebo DOSemu v Linuxu - pokud stim budete potrebovat hlepnout: tak v /etc/dosemu.conf zmente:

1) treba pripojeni jineho disku nez linuxacyho virtualniho C: v $_hdimage="hdimage.first" pozmente treba na $_hdimage="hdimage.first /dev/hda1" kde hda1 je disk s FAT16!!! a kde je taky neunet. kdyz to prohodite, nabootuje se system pokud je na hda1 treba DOS, widle se nabootujou pouze kdyz BootGUI=0. Zvysovani XMS nema cenu (mel sme 32MB a furt to bylo widlim malo).
Jeste dalsi dulezita vec: !! $_graphics=(1) default je $_graphics=(0).

TADY TO JE:
----------------

****************************************************
*              NEUNET HELP FILE (cmds.txt)         *
****************************************************

[help, ls] ..........................shows all available commands
[help, ls] fileName .................listing.

[csc] neuronName #synaps newValue ...change synaps coeficient
[clb] neuronName newValue ...........change lambda
[cth] neuronName newValue ...........change neuron's threshold
[cin]   inputName newValue ..........change input value
[cstep] inputName newValue ..........change step for Xgraph
[cmin]  inputName newValue ..........change minimum val. for Xgraph
[cmax]  inputName newValue ..........change maximum val. for Xgraph

[nls] .........neunet listing - writes all neurons ID&NAME
[nr] name .....show neuron data field
[ols] .........output listing
[ils] .........linked constants listing (external input)
[cit] .........count NeuNet!

[maxin] name newValue ..change maximum value of linked constant
[minin] name newValue ..change minimum value of linked constant
[step] newValue ........change step for graphic output
[rel] ..................halt neunet, reload&build whole neunet again
[store] fileName .......save NeuNet to *.* file

--------------------------------
OFFSET EVOLUTION... (genetic modification - offset)
[fg] #modifications ..random OFFSET modification
[fgc] c   (0.001) ....result:= result + result*randomC (c is maximum of C)

ABSOLUTE EVOLUTION
[ag] #modifications...random ABSOLUTE modification
[agc] DNAbase ........result:= random(DNAbase*1000)/1000...wizz geneze.pas;

[g] ......show graph (640x480), quit: q, zoom:+/-,+move
[l] ......execute last command
[8x8] ....sets 8x8 char mode
[8x14] ...sets 8x14 char mode
[8x16] ...sets 8x16 char mode
[exit, q] exit program

----------------------------------------
]]] Hot keys for neunetXgraph [[[

c ........center screen
q ........exit neunetXgraph
pgDn .....move right
delete ...move left
home .....move up
end ......move down
arrows ...(->^.<-) - fine move graph
+ ........zoom in
- ........zoom out

----------------------------------------
]]] Tips for "ls" (listing) [[[

neunet.txt
uvodnik.txt
kdo.txt
sample.net
sample.lnk
NOTE: prikaz HELP je listing souboru CMDS.TXT.

NOTE: !!! NEUNET je CASE SENSITIVE (rozlisuje Velka a mala pismenka)

END.

[HomE PagE] [EmaiL]