22
Bináris ki- és bemenetű CNN template- ek tervezése Zarándy Ákos MTA-SZTAKI

Bináris ki- és bemenetű CNN template-ek tervezése

  • Upload
    kieu

  • View
    41

  • Download
    0

Embed Size (px)

DESCRIPTION

Bináris ki- és bemenetű CNN template-ek tervezése. Zarándy Ákos MTA-SZTAKI. A CNN template-ek generálási módszerei. Ösztönös, intuitív; Tanítás; Direkt tervezés ; Ebben az előadásban a bináris ki- és bemenetű nem-propagáló és propagáló CNN template tervezést fogjuk áttekinteni. - PowerPoint PPT Presentation

Citation preview

Page 1: Bináris ki- és bemenetű CNN template-ek tervezése

Bináris ki- és bemenetű CNN template-ek tervezése

Zarándy ÁkosMTA-SZTAKI

Page 2: Bináris ki- és bemenetű CNN template-ek tervezése

A CNN template-ek generálási módszerei

• Ösztönös, intuitív;

• Tanítás;

• Direkt tervezés;

Ebben az előadásban a bináris ki- és bemenetű nem-propagáló és propagáló CNN template tervezést fogjuk áttekinteni.

Page 3: Bináris ki- és bemenetű CNN template-ek tervezése

Nem-propagáló CNN hálózatok áttekintése

iz

bbb

bbb

bbb

a

,,

000

00

000

111011

010010

111011

00 BA

)(

;

)()()(

),()(,

00

xfy

zus

styatxtx

kljiNklC

klij

r

B

1-1

-1

1

x

f (x)

xx y

a00

-1

s

Egy CNN hálózat nem propagáló, ha a template-je a következő formátumú:

Ilyenkor az állapotot leíró differenciál egyenletrendszer csatolatlan.

Az állapotegyenlet:

Egyetlen cella jelfolyamgráfja:

;)()()(),()(,

),()(, zutytxtx kl

jiNklCklijkl

jiNklCklijijij

rr

BAEredeti CNN egyenlet:

Page 4: Bináris ki- és bemenetű CNN template-ek tervezése

Nem-propagáló bináris ki-bemenetű CNN hálózatok tulajdonságai

speciális esetek:

• a00=0; y =f(s); nem függ a végeredmény x0-tól!!!

• a00=1; (integrátor a lineáris tartományban)

– y =sign(s); nem függ a végeredmény x0-tól!!!

– a kimenet 2s alatt beáll, a tranziens lineáris, és nem exponenciális– el kell kerülni az s=0 esetet!

• a00>1 (pozitív visszacsatolás)

– ha x0=0 akkor y =sign(s);

– ha x0=1 és a00+s>1 akkor y =1; nem változik

– ha x0=1 és a00+s<1 akkor y =-1; változik

– ha x0=-1 és -a00+s<-1 akkor y =-1; nem változik

– ha x0=-1 és -a00+s>-1 akkor y =1; változik

– általánosan: x0=x(0) ahol |x0|<1 akkor y =sign( (0) );azaz y =sign(a00 y0-x0+s)

– el kell kerülni az a00+s =1 és a -a00+s =-1 eseteket!!!

xx y

a00

-1

s

x

styatxtx )()()( 00

Page 5: Bináris ki- és bemenetű CNN template-ek tervezése

Nem-propagáló bináris ki-bemenetű CNN template-ek csoportosítása

• I. Egyszerű minta felismerés:– nincs megkülönböztetve a központi elem;

• II. Feltételes pixel változtatás:– meg van különböztetve a központi elem;

• III. Két bemenetű egy kimenetű függvények:– a kezdeti állapot is értékes képi információt hordoz;

Page 6: Bináris ki- és bemenetű CNN template-ek tervezése

I. Egyszerű minta felismerés

A templateformátum

meghatározása

egyenlőtlenségrendszer

generálása

egyenlőtlenségrendszer

megoldása

a legrobusztusabbtemplate

kiválasztása

Tervezési példa ITervezési példa IAdott az alábbi etalonAdott az alábbi etalon

CélCélLegyenek azok a pixelek feketék, Legyenek azok a pixelek feketék, melyeknek környezetében legalább 5 melyeknek környezetében legalább 5 pixelpozíció ugyanaz, mint a megadott pixelpozíció ugyanaz, mint a megadott etalonon, a többi legyen fehér.etalonon, a többi legyen fehér.

Page 7: Bináris ki- és bemenetű CNN template-ek tervezése

I. Egyszerű minta felismerés: formátum meghatározás, egyenlőtlenség rendszer generálás

Ilyenkor az etalont egyszerűen leképezhetjük a B template-be!!!

A B

0 0 0

0 0

0 0 0

0 0 0

a b b b

b b b

z i, ,

# of matchingpixels

desired output relation

6 black (+1) 6b+i>0

5 black (+1) 4b+i>0

4 white (-1) 2b+i<0

3 white (-1) i<0

2 white (-1) -2b+i<0

1 white (-1) -4b+i<0

0 white (-1) -6b+i<0

Az egyenlőtlenség Az egyenlőtlenség rendszer: rendszer:

(a(a0000=1)=1) y =sign(s)

;),()(, zus kl

jiNklCklij

r

B

Page 8: Bináris ki- és bemenetű CNN template-ek tervezése

I. Egyszerű minta felismerés: az egyenlőtlenségrendszer megoldása és robusztus template kiválasztása

relations:

Eredmény altér

limitek:

maximális chip paraméterértékek

A B

0 0 0

0 2 0

0 0 0

0 0 0

2 2 2 2 2 2

2 2 2 2 2 2

6, . . .

. . .

, zoptimális template:

b

i-31

-2

3

1

2

3

-1

-3

2b+i<0

4b+i>0

6b+i>0

-6b+i<0

-4b+i<0

-2b+i<0

i<0

b

i-6 2

2

4

6

-2-4 -2

nominaltemplate

Page 9: Bináris ki- és bemenetű CNN template-ek tervezése

II. Feltételes pixel változtatás

Tervezési példa IITervezési példa IIAdott az alábbi etalonAdott az alábbi etalon

Cél (szkeletonizáció)Cél (szkeletonizáció)Változzanak azok a Változzanak azok a feketefekete pixelek fehérre, pixelek fehérre, amelyeknek a környezetében mind az 5 amelyeknek a környezetében mind az 5 pozíció megegyezik az adott etalonnal.pozíció megegyezik az adott etalonnal.

Page 10: Bináris ki- és bemenetű CNN template-ek tervezése

II. Feltételes pixel változtatás: template formula meghatározás, egyenlet rendszer generálás

iz

c

cbc

cc

a

,

00

0

,

000

00

000

BA

self input # of matching pixels desired output relationblack (+1) 5 white (-1) a+b+5c+i<1black (+1) 4 black (+1) a+b+3c+i>1black (+1) 3 black (+1) a+b+c+i>1black (+1) 2 black (+1) a+b-c+i>1black (+1) 1 black (+1) a+b-3c+i>1black (+1) 0 black (+1) a+b-5c+i>1 (1)white (-1) 5 white (-1) -a-b+5c+i<-1white (-1) 4 white (-1) -a-b+3c+i<-1white (-1) 3 white (-1) -a-b+c+i<-1white (-1) 2 white (-1) -a-b-c+i<-1white (-1) 1 white (-1) -a-b-3c+i<-1white (-1) 0 white (-1) -a-b-5c+i<-1

A A BB template középső eleme template középső eleme különbözőkülönböző módon viselkedik mint a nem centrális módon viselkedik mint a nem centrális elemek!!!!elemek!!!!

a00>1,

;),()(, zus kl

jiNklCklij

r

B

x0=0 y =sign(s)

Page 11: Bináris ki- és bemenetű CNN template-ek tervezése

• Hasonló az előző típushoz, de itt a kezdeti állapot különböző értékeit is figyelembe kell venni az egyenlőtlenség rendszer felállításakor.

III. Két bemenetű egy kimenetű függvények

Page 12: Bináris ki- és bemenetű CNN template-ek tervezése

( ) ( ) ( )

;

( )

,( ) ( , )

,( ) ( , )

x t x t y t s

s u z

y f x

ij klC kl N i j

kl

ij klC kl N i j

kl

r

r

A

B

Propagáló CNN hálózat tulajdonságai

ÁltalÁltalános propagáló ános propagáló típusú template:típusú template:

Az ehhez tartozó állapot egyenlet:Az ehhez tartozó állapot egyenlet:

1-1

-1

1

x

f (x)

iz

bbb

bbb

bbb

aaa

aaa

aaa

,,

111011

010010

111011

111011

010010

111011

BA

Page 13: Bináris ki- és bemenetű CNN template-ek tervezése

Propagálás elemzése I

aktív cellák

t=0 t=t1

Dinamikus Dinamikus propagálási szabály:propagálási szabály:A jobboldali vége egy egypixel A jobboldali vége egy egypixel széles fekete vonalnak mindig széles fekete vonalnak mindig változzon fehérre.változzon fehérre.

Dinamikus Dinamikus aktivációs aktivációs etalon:etalon:

Aktív cella:Aktív cella:Egy cellát aktívnak nevezünk egy adott Egy cellát aktívnak nevezünk egy adott időpillanatban, ha annak változik a időpillanatban, ha annak változik a

kimenete. kimenete. Inaktív cella:Inaktív cella: Egy cellát inaktívnak nevezünk egy adott Egy cellát inaktívnak nevezünk egy adott időpillanatban, ha annak stabil a kimenete.időpillanatban, ha annak stabil a kimenete.

Csatolt CNN template tervezés: Csatolt CNN template tervezés:

A ij klC kl N i j

kl

r

y t s,( ) ( , )

( )

Page 14: Bináris ki- és bemenetű CNN template-ek tervezése

Propagálás elemzése IIAktív cella:Aktív cella:Egy cellát aktívnak nevezünk egy adott időpillanatban, ha annak változik Egy cellát aktívnak nevezünk egy adott időpillanatban, ha annak változik a kimenete. a kimenete.

y(t)y(t)=1=1

Csatolt CNN template tervezés: Csatolt CNN template tervezés:

1)(),()(,

stykljiNklC

klij

r

A

Inaktív cella:Inaktív cella: Egy cellát inaktívnak nevezünk egy adott időpillanatban, ha annak stabil Egy cellát inaktívnak nevezünk egy adott időpillanatban, ha annak stabil a kimenete.a kimenete.

A A kijön szaturációs tartományból és kijön szaturációs tartományból és átmegy a másikbaátmegy a másikba

y(t)y(t)==--11 1)(),()(,

stykljiNklC

klij

r

A

y(t)y(t)==--11 és és

y(t)y(t)=1=1 és és 1)(),()(,

stykljiNklC

klij

r

A

1)(),()(,

stykljiNklC

klij

r

A

Bennt marad az adott szaturációs Bennt marad az adott szaturációs tartománybantartományban

Page 15: Bináris ki- és bemenetű CNN template-ek tervezése

Propagálás tulajdonságai

• I. Szimmetrikus vagy aszimmetrikus:– Egyformán viselkedik a fekete és a fehér pixelekre,

vagy sem? Szimmetrikus esetben az áram mindig nulla, aszimmetrikus esetekben pedig nullától különböző.

• II. Irányított vagy nem irányított– Irányítani inputon levő képen keresztül lehet egy

terjedést. Ha a B template nem nulla, akkor a terjedés irányított, különben nem.

Csatolt CNN template tervezés: Csatolt CNN template tervezés:

Page 16: Bináris ki- és bemenetű CNN template-ek tervezése

Csatolt CNN template tervezés:Csatolt CNN template tervezés:

A tervezés lépéseiA tervezés lépéseiA feladat pontos globális leírása

A lokális szabályok és az etalonok származtatása

A template formula meghatározása

Egyenlőtlenség rendszer generáslás

Robusztus template választás

A egyenlőtlenség rendszer megoldása

Page 17: Bináris ki- és bemenetű CNN template-ek tervezése

Csatolt CNN template tervezés: Csatolt CNN template tervezés:

Tervezési példa III:Tervezési példa III:árnyék generálás jobbraárnyék generálás jobbra

initial state final output

A feladat globális leírása:A feladat globális leírása:Ez egy vonalmenti (egydimenziós) probléma. Ha van egy sorban Ez egy vonalmenti (egydimenziós) probléma. Ha van egy sorban egy fekete pixel, akkor az összes, tőle jobbra levő pixelnek egy fekete pixel, akkor az összes, tőle jobbra levő pixelnek feketére kell változnia, a többit változatlanul kell hagyni. A feketére kell változnia, a többit változatlanul kell hagyni. A feladat aszimmetrikus és nem irányított terjedést ír elő.feladat aszimmetrikus és nem irányított terjedést ír elő.

Page 18: Bináris ki- és bemenetű CNN template-ek tervezése

Csatolt CNN template tervezés :Csatolt CNN template tervezés :

Lokális szabályokLokális szabályok

Egy fehér pixelnek feketére kell változnia, ha van fekete bal oldali szomszédja;

A többi pixelnek nem szabad változnia; Szimmetrikus? (nem, ezért z0) Irányított? (nem, ezért B=0)

Az etalon:Az etalon:

Template formula Template formula

meghatározásmeghatározás::

A B

0 0 0

0

0 0 0

0 0 0

0 0 0

0 0 0

b a z i, ,

Page 19: Bináris ki- és bemenetű CNN template-ek tervezése

Csatolt CNN template tervezés :Csatolt CNN template tervezés :

Egyenlőtlenség rendszer generálásEgyenlőtlenség rendszer generálás lokális kezdeti

pixel elrendezés

várt kimenet

állapot egyenlőt-lenség

fehér inaktív -a-b+i<-1

fekete inaktív a-b+i>1

fekete inaktív a+b+i>1

fekete aktív -a+b+i>-1

A B

0 0 0

3 3 0

0 0 0

0 0 0

0 0 0

0 0 0

3, , zEredmény template:

Page 20: Bináris ki- és bemenetű CNN template-ek tervezése

Csatolt CNN template tervezés: Csatolt CNN template tervezés:

Tervezési példa IV: Tervezési példa IV: összeköttetöttség ellenőrzéseösszeköttetöttség ellenőrzése

A feladat globális leírása:A feladat globális leírása:Adott két kép. Töröljük le a második képről azokat a fekete Adott két kép. Töröljük le a második képről azokat a fekete alakzatokat, amelyeknek a mérete az első képen nagyobb. alakzatokat, amelyeknek a mérete az első képen nagyobb. A feladat aszimmetrikus és irányított terjedést ír elő.A feladat aszimmetrikus és irányított terjedést ír elő.

első kép második kép várt kimenet

Page 21: Bináris ki- és bemenetű CNN template-ek tervezése

Egy fekete pixelnek fehérre kell változnia, ha van legalább egy olyan szomszédja, melynek kimeneti értéke fehér bemeneti értéke pedig fekete;

A többi pixelnek nem szabad változnia;

Az etalon:Az etalon:Template formula Template formula meghatározás:meghatározás:

Csatolt CNN template tervezés :Csatolt CNN template tervezés :

Lokális szabályokLokális szabályok

iz

b

bcb

b

b

bab

b

,

00

00

,

00

00

BA

Page 22: Bináris ki- és bemenetű CNN template-ek tervezése

Csatolt CNN template tervezés :Csatolt CNN template tervezés :

Egyenlőtlenség rendszer generálásEgyenlőtlenség rendszer generálás

5.4,

05.00

5.035.0

05.00

,

05.00

5.035.0

05.00

zBA

Eredmény template:

output input # of matchingpixels

state desired output relation

black (+1) black (+1) 0 active black (+1) a+c+i>1black (+1) black (+1) 1 inactive white (-1) a-2b+c+i<1black (+1) black (+1) 2 inactive white (-1) a-4b+c+i<1black (+1) black (+1) 3 inactive white (-1) a-6b+c+i<1black (+1) black (+1) 4 inactive white (-1) a-8b+c+i<1white (-1) black (+1) 0 inactive white (-1) -a+c+i<-1white (-1) black (+1) 1 inactive white (-1) -a-2b+c+i<-1white (-1) black (+1) 2 inactive white (-1) -a-4b+c+i<-1 (1)white (-1) black (+1) 3 inactive white (-1) -a-6b+c+i<-1white (-1) black (+1) 4 inactive white (-1) -a-8b+c+i<-1white (-1) white (-1) 0 inactive white (-1) -a-c+i<-1white (-1) white (-1) 1 inactive white (-1) -a-2b+c-i<-1white (-1) white (-1) 2 inactive white (-1) -a-4b-c+i<-1white (-1) white (-1) 3 inactive white (-1) -a-6b-c+i<-1white (-1) white (-1) 4 inactive white (-1) -a-8b-c+i<-1