Evoluční elektronika Lukáš Sekanina Vysoké učení technické v Brně, Fakulta informačních technologií Božetěchova 2, 612 66 Brno sekanina@fit.vutbr.cz Bratislava 18. 10. 2010
Obsah Úvod do evoluční elektroniky evoluční návrh rekonfigurovatelná zařízení Kartézské genetické programování (CGP) Evoluční návrh hardware (na FIT) evoluční syntéza kombinačních obvodů evoluce obrazových filtrů Důsledky pro inženýrský návrh 2
Evoluční algoritmus vytvoř počáteční Evoluční algoritmus (EA) populaci populačně orientovaný prohledávací algoritmus Genotyp (chromozom) - datová struktura reprezentující kandidátní řešení přímo nepřímo Fenotyp - kandidátní řešení problému Genetické operátory mutace, křížení, Fitness funkce ohodnocuje kandidátní řešení reflektuje specifikaci Hlavní varianty genetický algoritmus (GA) genetické programování (GP) evoluční strategie (ES) ohodnoť populaci vytvoř nová řešení řešení NASA AMES 3
Evoluční optimalizace a evoluční návrh Evoluční optimalizace EA je využit pro nalezení co nejvýhodnějších hodnot předem definovaných parametrů systému v oblasti HW velmi populární desítky let Evoluční návrh EA je využit pro návrh struktury (včetně parametrů) cílového systému. V oblasti hardware od počátku 90. let. Aplikace evolučního návrhu analogové a číslicové obvody, kvantové obvody, antény, optické systémy, robotika, molekuly, MEMS, software (symbolická regrese, klasifikace, predikce, ), umělecké artefakty, 4
Rekonfigurovatelná zařízení Rekonfigurovatelné zařízení konfigurace spínané kapacitory http://www.anadigm.com/ NanoCell http://www.jmtour.com/ Rekonfigurovatelné zrcadlo: www.okotech.com Operační transkonduktanční zesilovač OTA FPTA, http://ehw.jpl.nasa.gov LCD displej http://www.evolutioninmaterio.com/ FPGA, www.xilinx.com antény, http://www.lindenir.com 5 5
Field Programmable Gate Array (FPGA) Konfigurovatelné části logické bloky (LUT) propojení I/O Vestavěné bloky paměti násobičky DSP PowerPC IO rockets ports řadič PCI 1 slice = 4x 6-LUT + 4x FF + pomocná logika FX200T obsahuje 122880 6-vst. LUT Zpoždění 6-LUT je 0.9 ns Více než 10 9 tranzistorů na čipu 23 x 23 mm! 6
Evoluční hardware (evolvable hardware) Evoluční hardware = EA + rekonfigurovatelné zařízení [Higuchi et al, 1993] generátor kandidátních řešení rekonfigurovatelné zařízení (RZ) Evoluční algoritmus (genetické operace) genotyp dekódování konfigurace hodnota fitness I/O fitness funkce (zahrnuje specifikaci) - generuj vstupní hodnoty pro RZ - získej odezvu RZ - porovnej získané hodnoty s požadovanými - vyjádři hodnotu fitness (simulátor) 7
Proč evoluční hardware? Umožňuje zvýšit úroveň automatizace návrhu. Problém návrhu systému je transformován na problém prohledávaní prostoru možných systémů. Automatizované generování vynálezů Mohou vzniknout úplně nová řešení, která jsou nedosažitelná konvenčním přístupem, který nepoužívá evoluční metodu generuj a testuj řešení. Anténa pro misi NASA ST5. Číslicové obvody využívající konvenčním návrhem nepoužívané interakce komponent s materiálem a prostředím [Thompson, 1996]. 8
Proč evoluční hardware? EA je použit během nasazení systému, aby zajistil adaptaci a/nebo opravu, pokud dojde ke změně specifikace, prostředí nebo k poruše. Příklady aplikací samoopravující se obvody v extrémním prostředí [Stoica et al., 2007] adaptivní kontrolér pro umělou končetinu [Kajitani et al., 1999] čip pro adaptivní bezeztrátovou kompresi obrazu [Salami et al., 1997] adaptivní výběr položky rychlé vyrovnávací paměti [Kaufmann et al, 2009] 9
Kartézské genetické programování (CGP) [Miller, Thompson, 1999] fenotyp Specifikace (1b sčítačka) genotyp Definice CGP: počet řádků, u počet sloupců, v počet vstupů, n i počet výstupů, n o počet vstupů uzlu, n a L-back parametr, L množina funkcí, F Příklad na obrázku: u = 3 v = 3 n i = 3 n o = 2 n a = 2 L = 3 F = {NAND (0), NOR (1), XOR (2), AND (3), OR (4), NOT (5)} 10
CGP: Fitness funkce Cílová tabulka Fitness hodnota: F = počet správně určených bitů na výstupu pro všechny zadané vstupní kombinace (max. 16) Pokud dosáhne F maxima, je možné optimalizovat např. počet hradel (popř. zpoždění apod.): F = F + N U kde N je celkový počet uzlů kde U je počet použitých uzlů 11
CGP: Mutace Náhodně vyber h integerů a nahraď je náhodně generovanými (ale legálními) hodnotami. Př. pro h = 1. mutace 12
CGP: Prohledávací algoritmus ES (1 + λ) Pokud existuje více nejlepších jedinců se stejnou fitness hodnotou, použije se jako rodič ten, který nebyl rodičem v předchozí generaci (viz obrázek). Fitness 13 Fitness 06 Fitness 10 Fitness 11 Fitness 10 Fitness 13 Fitness 10 Fitness 09 Fitness 13 Fitness 13 Fitness 13 Fitness 10 Fitness 08 Fitness 15 Fitness 11 Vývoj fitness hodnot populace 5 jedinců. 13
CGP: Neutrální mutace Úloha: Evoluční návrh 3b násobičky [Vassilev, Miller: ICES 2000] Na obrázku je normalizovaná fitness hodnota pro 100 nezávislých běhů (10 mil. generací). ON algoritmus CGP OFF jako nový rodič brán jedině ten, který má vyšší fitness hodnotu než stávající rodič 14
Evoluční návrh násobiček [Vassilev, Miller EH 2000, GENP 1(1), 2000] Dosaženo významného snížení počtu 2-vst. hradel v porovnání s konvenční syntézou. Počet 2-vst. hradel Array ES(1+4), h=3, Evolučně navržená násobička 3b x 3b Uvedená metoda je účinná pro syntézu kombinačních obvodů s max. 10-20 vstupy. 15
CGP jako minimalizátor počtu hradel Inicializace CGP konvenčním řešením a minimalizace počtu hradel Best conv. = nejlepší výsledek z programu ABC (SIS) CGP: λ = 14, h = 7, max. generací = 100M, pole 1 x počet hradel z ABC Počet hradel 359 hradel 0,0 s 8b M/S circuit počet hradel 260 hradel 211 s 235 hradel 0,6 hod. 205 hradel 5,8 hod. LGSynth91 benchmarks generace (Athlon64 3200+) 16
Škálovatelnost ústřední problém návrhu s EA EA výborně řeší malé instance problémů, ale selhává na velkých instancích. Škálovatelnost reprezentace obvodu v chromozomu Řešení: dodat znalost o problému do metody řešení vyšší úroveň abstrakce, inkrementální evoluce, modularita, nepřímé zobrazení genotyp-fenotyp Škálovatelnost doby evaluace kandidátních řešení Řešení omezit se na aplikace, kde problém nenastává zavést úplně jiný pohled na evaluaci 17
Evoluční návrh na FIT Aplikace evolučního návrhu syntéza číslicových obvodů (FIT ČVUT v Praze) násobičky s násobnými konstantními koeficienty testovací obvody se zadanou úrovní testovatelnosti obrazové operátory (Univ. of Oslo) adaptivní vlnková komprese obrazu (Universidad Politécnica de Madrid) protokoly pro amplifikaci tajemství v bezdrátových senzorových sítích (FI MU v Brně) programy konstruující libovolně velké řadicí sítě syntéza polymorfních obvodů prediktory Akcelerace EA FPGA, výpočetní svazek, GPU Polymorfní elektronika rekonfigurovatelný polymorfní ASIC (UMEL FEKT) aplikace v různých oblastech Evoluce s FPTA-2 v extrémním prostředí (v NASA JPL, 2004) Nové přístupy k evolučnímu návrhu ALPS, selekce, development, Plánování skupinových komunikací pro paralelní architektury (Jaroš, Dvořák) Interpretace evolučního návrhu z různých pohledů 18
CGP pro vylepšení konvenční syntézy log. obvodů [Vašíček, Sekanina, 2009-2010] Zavedena nová metoda pro evaluaci kandidátních logických obvodů. MINISAT (nástroj pro řešení SAT problému) je použit k rozhodnutí, zda jsou kandidátní obvod C i a referenční obvod C1 funkčně ekvivalentní. Pokud jsou ekvivalentní, potom fitness(c i ) = počet hradel v C i ; jinak fitness(c i ) = MAXVAL (cílem je minimalizovat). Funkční ekvivalenci je obvykle možné pro reálné obvody zjistit v rozumném čase. Konvenční syntéza (ABC, SIS ) obvod C1 (referenční obvod; slouží k inicializaci počáteční populace) CGP optimalizovaný C1 BLIF (popis obvodu) 19
Konstrukce obvodu pro evaluaci C1: C2:? G: Pokud se C1 a C2 funkčně liší, tak existuje alespoň jedna vstupní kombinace, pro kterou bude na výstupu 1. 20
CGP pro vylepšení konvenční syntézy log. obvodů ES(1+1), 1 mut/chrom, Množina hradel: {AND, OR, NOT, NAND, NOR, XOR}, 100 běhů Na sadě testovacích obvodů LGSynth93 došlo k redukci v průměru o 37,8% hradel. Pracuje dobře i pro obvody obtížně syntetizovatelné konvenčními metodami [Fišer, Schmidt, Vašíček, Sekanina: DDECS 2010]. Za cenu času získáme pomocí CGP kvalitnější řešení než pomocí konvenčních metod. 21
Evoluční návrh obrazového filtru [Sekanina, EvoIASP 2002] CGP pro potlačení výstřelového šumu, dávkového šumu, pro detekci hran v obraze apod. Filtr CGP na úrovni funkčních bloků s parametry ES(1+7), 5% mutace, pole 4x8, 100 běhů/30000 generací. 22
Fitness funkce Kandidátnířešení ohodnoceno pomocí trénovacího obrazu 128 x 128 pixelů. Fitness = střední absolutní chyba (výstup filtru, požadovaný obraz) fitness fitness value = K 2 K 2 i= 1 j= 1 v( i, j) w( i, j) požadovaný obraz Kandidátní filtr fitness poškozený obraz 23
Příklad nalezeného řešení [Vašíček, Sekanina: FPL 2007] a) Obraz poškozený 5% šumem sůl a pepř PSNR: 18,43 db (peak signal to noise ratio) b) Původní obraz c) Mediánový filtr (okno 3x3 pixely) PSNR: 27,92 db 268 FPGA slices; 305 MHz d) Výsledek evoluce (okno 3x3) PSNR: 37,50 db 200 FPGA slices; 308 MHz a) d) c) b) 24
Porovnání různých filtrů pro šum typu sůl a pepř Průměr PSNR pro 25 testovacích obrázků MF Mediánový filtr AMF Adaptivní mediánový filtr EF - Evolučně navržený filtr SW filtr [Dong, Xu: A new directional weighted median filter for removal of randomvalued impulse noise. Signal Processing Letters. vol. 14, no. 3, p. 193 196, 2007] 25
Další příklady Impluzní dávkový šum [Vašíček, Sekanina, Bidlo: DATE 2010] 5%, N(255, 30) Výstup evolučně navrženého filtru Výstřelový šum + detekce hran [Vašíček, Sekanina: AHS 2007] 26
Šum sůl a pepř s vyšší intenzitou 268 slices 1506 slices 2024 slices 6567 slices 27
Banka filtrů [Vašíček, Sekanina: FPL 2007] Jednotlivé běhy CGP poskytly mnoho různých a současně kvalitních implementací filtrů s filtrovacím oknem 3 x 3 pixely. Banka filtrů vybrané různé implementace filtru pracují paralelně nad oknem 3x3 Prefiltrace: if pixel [i] = 255 then pixel [i] := 0 Selekce: např. medián 28
Banka filtrů 3x3 (843 slices) vs adaptivní medián 7x7 (6567 slices) 29
Porovnání různých filtrů Průměr PSNR pro 25 testovacích obrázků MF Mediánový filtr AMF Adaptivní mediánový filtr EF - Evolučně navržený filtr Banka filtrů SW filtr [Dong, Xu: A new directional weighted median filter for removal of random-valued impulse noise. Signal Processing Letters. vol. 14, no. 3, p. 193 196, 2007] 30
Banka filtrů užitný vzor UV20017 [Sekanina, Vašíček 2009] 31
Akcelerace CGP v hradlovém poli Xilinx Virtex II Pro FPGA [Vašíček, Sekanina: IJICA 1(1), 2007 a C&I 2010 v tisku] 32
Akcelerátor pro evoluční návrh obrazových filtrů Platforma: Combo6X CGP 4 x 8 procesních elementů trénovací obraz: 128 x 128 Zrychlení (100 MHz) 1 VRC: 44x vs Celeron 2,4 GHz ohodnocuje 6 tisíc kandidátních filtrů za sekundu 10 sekund trvá evoluce jednoho filtru (~30 tis. generací) 4 VRC: Zrychlení je 170 vs Celeron 2,4 GHz Výsledky syntézy pro Virtex II Pro 2VP50FF1517 (N c je počet VRC) 33
Důsledky pro inženýrský návrh - patenty Evoluční návrh umožňuje automatizovaně vytvářet patentovatelné vynálezy. V USA patentovány evolučně vytvořené vynálezy, evoluční algoritmy i rekonfigurovatelné platformy. Existují desítky patentovaných vynálezů, které byly automatizovaně znovuobjeveny pomocí EA. Soutěž Humies od r. 2004. Courtesy of John Koza s team 2010: evoluce funkcí pro predikci struktury proteinu (U. of Nottingham) 2004: anténa (NASA AMES) kvantové obvody (Hampshire College Amherst) 2005: 2D fotonické krystaly (Cornell U.) optimalizace pulsu laseru (Colorado State U.) 2006: oscilátory s OZ (MIT) 2007: polymerová optická vlákna (UCL) 2008: 2009: GP pro aut. oprava SW konečné algebry (U. New Mexico) (Hampshire College Amherst) 34
Důsledky pro inženýrský návrh patenty (2) Pokud je evoluční návrh úspěšný, potom výsledek většinou snadno splní požadavky novosti, nezřejmosti a využitelnosti. Má smysl patentovat, pokud další běh EA vygeneruje jiné (ale stejně dobré) řešení? Je pro společnost užitečné, že (téměř) každý může automaticky generovat patentovatelné vynálezy? Hrozí patentová záplava R. Plotkin: Genie in the machine (2009) Je třeba nově interpretovat patentové právo, zejména požadavek na nezřejmost. Specifikace pro EA by měly být patentovatelné, ne vlastní vynálezy! Patentové právo by určovalo, kdo má právo vytvářet vynálezy a ne kdo vlastní vynález. 35
Důsledky pro inženýrský návrh Pokud je evoluční návrh prováděn s rekonfigurovatelným zařízením, může vzniknout řešení, které pracuje jen v použitém rekonfigurovatelném zařízení [Thompson, 1996]. EA je schopen využít pro řešení problému i ty fyzikální vlastnosti platformy a prostředí, které člověk neuvažuje. Vzniká třída výpočetních zařízení, které nemohou existovat bez fyzikální podstaty [Sekanina: Minds and machines 17(3), 2007]. Můžeme zadat i získat požadované chování, ale nevíme, jak je realizováno. Výpočetní stroje, které interagují s prostředím, přizpůsobují funkci prostředí a neukončují výpočet, nesdílí výpočetní scénář Turingova stroje [van Leeuwen, Wiedermann, 2001]. 36
Shrnutí Evoluční návrh proniká z konferencí o evolučních algoritmech do konferencí o hardware, software, počítačových sítích Začíná být běžnou metodou. Evoluční návrh nemůže úplně nahradit inženýra, stává se ale jeho čím dál výkonnějším pomocníkem. Umožňuje automatizovat činnosti, které byly doposud výlučně v kompetenci člověka-návrháře. Adaptivní a samoopravující se hardware inspirující se biologickým fenoménem evoluce zatím v aplikacích není vidět. Existuje málo reálně použitelných aplikací. Komerčně nezajímavé? Bylo prokázáno, že evoluční design umí něco, co člověk jako designér nedokáže. A to je velmi zajímavé pro další výzkum. Potřebujeme ověřit a klasifikovat co nejvíce různých aplikací a vytvořit bázi znalostí, které pomohou určit, kdy je EA vhodnou metodou pro konkrétní aplikaci. 37
Děkuji za pozornost! 38