Evoluční elektronika

Podobné dokumenty
Evoluční návrh hardware


Zpracování obrazu v FPGA. Leoš Maršálek ATEsystem s.r.o.

SPECIFICKÝCH MIKROPROGRAMOVÝCH ARCHITEKTUR

Architektury počítačů

Genetické programování

Biologicky inspirované výpočty. Schématické rozdělení problematiky a výuky

Evoluční výpočetní techniky (EVT)

Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi

Michal Wiglasz* 1. Úvod

SYSTÉMY NAČIPU MI-SOC

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Jak se matematika poučila v biologii

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

FPGA + mikroprocesorové jádro:

Genetické algoritmy. Informační a komunikační technologie ve zdravotnictví

Gramatická evoluce a softwarový projekt AGE

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Návrh. číslicových obvodů

REKONFIGURACE FPGA. Božetěchova 1/2, Brno.

Symbolická regrese: Jak získat kvalitní a

7. Pracovní postupy. Fakulta informačních technologií MI-NFA, zimní semestr 2011/2012 Jan Schmidt

KOEVOLUČNÍ ALGORITMUS V FPGA

LOGICKÉ OBVODY X36LOB

Zprovoznění kitu Xilinx Spartan-6 FPGA Industrial Video Processing Kit

Direct Digital Synthesis (DDS)

Emergence chování robotických agentů: neuroevoluce

MODERNÍ TRENDY V PROGRAMOVATELNÉ LOGICE, APLIKACE V AUTOMATIZAČNÍ A MĚŘICÍ TECHNICE

I N V E S T I C E D O R O Z V O J E V Z D Ě L Á V Á N Í. výstup

METODY DOLOVÁNÍ V DATECH DATOVÉ SKLADY TEREZA HYNČICOVÁ H2IGE1

Zkouškové otázky z A7B31ELI

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Formální Metody a Specifikace (LS 2011) Formální metody pro kyber-fyzikální systémy

OVLÁDACÍ OBVODY ELEKTRICKÝCH ZAŘÍZENÍ

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

Vestavný modul pro počítačové vidění využívající hradlové pole

Umělá inteligence aneb co už není sci -fi

A0M33EOA: Evoluční optimalizační algoritmy

4. Úvod do paralelismu, metody paralelizace

Struktura a architektura počítačů (BI-SAP) 3

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Úvod do zpracování signálů

Vestavěné diagnostické prostředky 1 (BIST)

AKCELERACE EVOLUCE PRAVIDEL CELULÁRNÍCH AUTOMATŮ NA GPU

Sylabus kurzu Elektronika

RFID laboratoř Ing. Jan Gottfried, Ph.D.

PROGRAMOVATELNÉ LOGICKÉ OBVODY

POLYMORFNÍ OBRAZOVÉ FILTRY

Architektura počítačů Logické obvody

Operace ALU. INP 2008 FIT VUT v Brně

Architektura počítačů Logické obvody

Simulace a návrh vyvíjejících Nadpis se 1. Nadpis 3. Božetěchova 2, Brno

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

ochranným obvodem, který chrání útlumové články před vnějším náhodným přetížením.

teorie elektronických obvodů Jiří Petržela analýza šumu v elektronických obvodech

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Architektura počítače

1. Úvod do genetických algoritmů (GA)

Pokročilé operace s obrazem

Binární logika Osnova kurzu

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

ÚROVNI TRANZISTORŮ NA PLATFORMĚ ZYNQ

Genetické algoritmy. a jejich praktické využití. Pavel Šturc. průmyslu, stejně tak je zde uvedeno i několik případů jejich úspěšné implementace.

Sekvenční logické obvody

Učící se klasifikátory obrazu v průmyslu

Panelová diskuse Technologie pro byznys

Vývoj řízený testy Test Driven Development

Genetické algoritmy a jejich praktické využití

ití empirických modelů při i optimalizaci procesu mokré granulace léčivl ková SVK ÚOT

CASE. Jaroslav Žáček

... sekvenční výstupy. Obr. 1: Obecné schéma stavového automatu

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Protiopatření eliminující proudovou analýzu

Seznam témat z předmětu ELEKTRONIKA. povinná zkouška pro obor: L/01 Mechanik elektrotechnik. školní rok 2018/2019

G R A F I C K É K A R T Y

Y36SAP Y36SAP-2. Logické obvody kombinační Formy popisu Příklad návrhu Sčítačka Kubátová Y36SAP-Logické obvody 1.

Simulace číslicových obvodů (MI-SIM) zimní semestr 2010/2011

Disková pole (RAID) 1

elektrické filtry Jiří Petržela filtry se spínanými kapacitory

Střední odborná škola a Střední odborné učiliště, Dubno Ing. Miroslav Krýdl Tematická oblast ELEKTRONIKA

I. Současná analogová technika

Popis zobrazení pomocí fuzzy logiky

Maturitní témata oboru: L/01 MECHANIK ELEKTROTECHNIK. Automatizované systémy řízení

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Kvantová informatika pro komunikace v budoucnosti

Schmittův klopný obvod

4. Elektronické logické členy. Elektronické obvody pro logické členy

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

Sekvenční logické obvody

Programovatelná logika

Principy počítačů I - Procesory

Unifikovaný modelovací jazyk UML

10. Techniky formální verifikace a validace

Cíle. Teoretický úvod. BDIO - Digitální obvody Ústav mikroelektroniky Základní logická hradla, Booleova algebra, De Morganovy zákony Student

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

Algoritmy a struktury neuropočítačů ASN - P11

Kvantové algoritmy a bezpečnost. Václav Potoček

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

X36SIN: Softwarové inženýrství. Životní cyklus a plánování

Transkript:

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