mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

Podobne dokumenty
1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

Laboratorium 10 Temat: Zaawansowane jednostki testowe. Operacje na plikach. Funkcje.

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Sztuczne sieci neuronowe

Sztuczne sieci neuronowe (SNN)

Inteligentne systemy informacyjne

Układy reprogramowalne i SoC Język VHDL (część 4)

Wstęp do sztucznych sieci neuronowych

Specyfika projektowania Mariusz Rawski

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Sztuczne sieci neuronowe

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Uczenie sieci neuronowych i bayesowskich

Projekt prostego procesora

Elementy języka VHDL. obiekty typy danych atrybuty pakiety i biblioteki instrukcje współbieżne instrukcje sekwencyjne. PUE-w3 1

WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego LABORATORIUM UKŁADÓW PROGRAMOWALNYCH I SPECJALIZOWANYCH

Układy reprogramowalne i SoC Testbenches. Symulacja sterowana zdarzeniami.

Podstawy Sztucznej Inteligencji (PSZT)

Elementy kognitywistyki II: Sztuczna inteligencja. WYKŁAD X: Sztuczny neuron

Metody Sztucznej Inteligencji II

Modelowanie złożonych układów cyfrowych (1)

1. ISE WebPack i VHDL Xilinx ISE Design Suite 10.1 VHDL Tworzenie projektu Project Navigator Xilinx ISE Design Suite 10.1 File

Temat: Sieci neuronowe oraz technologia CUDA

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki. ĆWICZENIE Nr 4 (3h) Przerzutniki, zatrzaski i rejestry w VHDL

Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.

ELEMENTY SZTUCZNEJ INTELIGENCJI. Sztuczne sieci neuronowe

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Wykład 1: Wprowadzenie do sieci neuronowych

SIECI NEURONOWE Liniowe i nieliniowe sieci neuronowe

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Układy reprogramowalne i SoC Język VHDL (część 5)

Sposoby projektowania systemów w cyfrowych

Projektowanie automatów z użyciem VHDL

Języki opisu sprzętu VHDL Mariusz Rawski

Systemy Czasu Rzeczywistego FPGA

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Systemy Czasu Rzeczywistego FPGA

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

Technika cyfrowa projekt: Sumator 4 bitowy równoległy

Zapis liczb binarnych ze znakiem

Krótkie wprowadzenie do ModelSim i Quartus2

Kod U2 Opracował: Andrzej Nowak

Projektowanie w VHDL

LABORATORIUM TECHNIKA CYFROWA. Pamięci. Rev.1.35

Programowalne układy logiczne

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

Projektowanie hierarchiczne Mariusz Rawski

Projektowanie Urządzeń Cyfrowych

Podstawy sztucznej inteligencji

LABORATORIUM ELEKTRONIKA Projektowanie koderów, transkoderów i dekoderów w języku VHDL

Inteligentne systemy przeciw atakom sieciowym

XC4000: LUT jako ROM Układy Cyfrowe i Systemy Wbudowane 2 Układy FPGA cz. 2 ROM32X1 VHDL inference example ROM 16x2b type

Systemy Czasu Rzeczywistego FPGA

Algorytmy sztucznej inteligencji

Uczenie sieci typu MLP

VHLD Very High Speed Integrated Circuit (VHSIC) Hardware Description Language (VHDL)

Układy reprogramowalne i SoC Język VHDL (część 2)

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

1. Logika, funkcje logiczne, preceptron.

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Zastosowania sieci neuronowych

MODELOWANIE RZECZYWISTOŚCI

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Zastosowania sieci neuronowych

Metody i techniki sztucznej inteligencji / Leszek Rutkowski. wyd. 2, 3 dodr. Warszawa, Spis treści

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Sztuczne siei neuronowe - wprowadzenie

Obliczenia Naturalne - Sztuczne sieci neuronowe

Altera Quartus II. Opis niektórych komponentów dostarczanych razem ze środowiskiem. Opracował: mgr inż. Leszek Ciopiński

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

HAŁASU Z UWZGLĘDNIENIEM ZJAWISK O CHARAKTERZE NIELINIOWYM

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2014 Katedra Elektroniki AGH 2

ZACHODNIOPOMORSKI UNIWERSYTET TECHNOLOGICZNY W SZCZECINIE

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Programowanie Układów Logicznych kod kursu: ETD6203. Komunikacja z układami cyfrowymi W dr inż. Daniel Kopiec

Instrukcje sekwencyjne

wiedzy Sieci neuronowe

PUCY Kolos 2: Reloaded

Kierunek EiT Specjalność Sieci i usługi, V rok Programowalne Układy Cyfrowe. Zaawansowany VHDL. Rajda & Kasperek 2015 Katedra Elektroniki AGH 1

Elementy kognitywistyki III: Modele i architektury poznawcze

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Lekcja 5: Sieć Kohonena i sieć ART

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Sieci neuronowe w Statistica

8. Neuron z ciągłą funkcją aktywacji.

Praktyczne informacje o sieciach neuronowych. Elżbieta Dłubis. Państwowa Wyższa Szkoła Zawodowa w Chełmie

Elementy inteligencji obliczeniowej

Sieci neuronowe w Statistica. Agnieszka Nowak - Brzezioska

Pojedyncze wartości zadeklarowanego typu Ustawiane przed rozpoczęciem symulacji bez moŝliwości

Sterowniki Programowalne (SP)

Układy reprogramowalne i SoC Język VHDL (część 3)

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH Wydziałowy Zakład Metrologii Mikro- i Nanostruktur SEMESTR LETNI 2016

Realizacja algorytmu wyznaczania wyrazów ciągu w języku VHDL z zastosowaniem podziału projektu na moduły: FSM i Data Path.

Układy reprogramowalne i SoC Implementacja w układach FPGA

Pracownia Komputerowa wykład VI

Transkrypt:

Programowanie Układów Logicznych kod kursu: ETD6203 IoT, sieci neuronowe W9 24.04.2019 mgr inż. Maciej Rudek opracował: dr inż. Daniel Kopiec

Plan wykładu IoT internet rzeczy Sieci neuronowe - wprowadzenie Odwzorowanie neuronu w logice programowalnej Przykłady Podsumowanie przykładowe pytania 2

IoT Internet of Things - internet rzeczy IoT koncepcja zapoczątkowana przez Kevina Ashtona w 1999 Jeżeli mielibyśmy komputery, które wiedziałyby wszystko na temat przedmiotów i sposobów ich użycia na podstawie danych zbieranych bez żadnego wysiłku ze strony użytkownika, bylibyśmy w stanie monitorować i liczyć niemal każde zachowanie, co pozwoliłoby na redukcję strat, odpadów i kosztów. Wiedzielibyśmy kiedy przedmioty lub ich części potrzebowałyby wymiany, naprawy lub naszej uwagi. IoE Internet of Everything M2m Machine to Machine 4

IoT Internet of Things Internet przedmiotów - IoT, internet rzeczy Główne założenia: o każdym czasie, w każdym miejscu, każda rzecz Koncepcja IoT wyznacza kierunek rozwoju Internetu i będzie stanowiła olbrzymi przeskok społeczno-technologiczny 5

6 IoT Internet of Things - sieć czujników

7 IoT Internet of Things - sieć zależności

IoT Film prezentowany podczas wykładu do obejrzenia na stronie: https://ec.europa.eu/digitalagenda/en/internet-things 8 Internet rzeczy w Polsce: http://iab.org.pl/wp-content/uploads/2015/09/raport-internet-rzeczy-w-polsce.pdf

IoT Internet of Things - światowa tendencja W 2003 liczba urządzeń podłączonych do internetu nie przewyższała liczby ludności Do roku 2020 liczba urządzeń IoT wzrośnie do 100 mld Ogólna tendencja mówi, że do 2020 roku będziemy w posiadaniu ok. 100 mld urządzeń połączonych w sieć w oparciu o dwukierunkową komunikację. 9

10 IoT FPGA -> SoC - System on Chip

W ramach powtórzenia - atrybuty sygnału 11 Każdy na pewno zna: event (clk event) -- zmiana wartości signal x: std_logic_vector (15 downto 0) x left = 15, x right = 0; -- zwraca granicę zakresu x high(=15), x low (=0); -- zwraca granicę zakresu x range (=15 downto 0); -- zwraca zakres typu x length (=16); -- zwraca długość wektora Przykład użycia: x(x high) <= 1 ; x (x low+3 downto x low) <= x c ; x <= (x high => 1, x low => 1, others => 0 );

Rekord zbiór elementów identyfikator mojego rekordu (op_t) type op_t is record rs : std_logic; data : std_logic_vector(7 downto 0); delay_h : integer range 0 to MAX_DELAY; delay_l : integer range 0 to MAX_DELAY; end record op_t; Rekord jest zbiorem identyfikowalnych elementów, z których każdy może być innego typu. constant default : op_t := (rs => '1', data => X"00", delay_h => DEL_H, delay_l => DEL_L); constant select_1 : op_t := (rs => '0', data => X"80", delay_h => DEL_H, delay_l => DEL_L); constant select_2 : op_t := (rs => '0', data => X"C0", delay_h => DEL_H, delay_l => DEL_L); signal this_op : op_t;... this_op <= default; lcd_rs <= this_op.rs; przykład deklaracji obiektu aby odczytać wartość pola rs tego rekordu, należy odwołać się do niego po jego nazwie 13 Rekord jest zbiorem identyfikowalnych elementów, z których każdy może być innego typu.

Neurony odwzorowanie przyrody Ludzki mózg: - około 100 miliardów neuronów (10 11 ), - 10 15 połączeń między komórkami przy przeciętnym dystansie 0,01 mm do 1m, - szybkość pracy mózgu 10 18 operacji/s, - impulsy 1 100 Hz, czas trwania 1-2 ms 14 Cechy: 1. Ogromna moc obliczeniowa 2. Duża wydajność 3. Odporność na uszkodzenia, 4. Odporność na szumy 5. Zdolność uczenia i adaptacji 6. Zdolność przetwarzania informacji niepełnej i obarczonej błędami

Budowa neuronu dendryt jądro ciało komórkowe akson Jądro centrum obliczeniowe neuronu, kluczowe procesy zachodzące dla neuronu Akson wyjście neuronu. Za jego pośrednictwem neuron przekazuje swoje reakcje na dane wejściowe. Neuron posiada tylko jeden akson. Dendryt wejście neuronu. Dendryty przekazują sygnały do jądra. Dendrytów może być wiele biologiczne neurony mają ich tysiące. Synapsa miejsce komunikacji aksonu z błoną komórkową, dendrytem 15 synapsa dendryt

Neuron Model sztucznego neuronu y = f n i=1 w i x i x 1,...,x n sygnały wejściowe danego neuronu w 1,...,w n wagi synaptyczne y sygnał wyjściowy 16 wybór funkcji aktywacji (przejścia) należy do projektanta i zależy od problemu, który neuron (sieć) ma rozwiązywać, wagi decydują o zachowaniu neuronu i całej sieci

Realizacja neuronu 17 Realizacja neuronu: równoległa, równoległo-sekwencyjna, sekwencyjna. Rodzaje sieci: jednokierunkowe, jednowarstwowe, wielowarstwowe, rekurencyjne ze sprzężeniem zwrotnym.

18 Neuron - odwzorowanie w układzie analogowym

Funkcja aktywacji Zachowanie neuronu jest silnie uzależnione od rodzaju funkcji aktywacji Typy funkcji aktywacji: nieciągłe progowa (unipolarna), signum (bipolarna) 19 ciągłe liniowa, sigmoidalna (unipolarna ciągła), tangensoidalna (bipolarna ciągła), gaussa. inne.

Przykładowe funkcje aktywacji n i i i n i i i i x w x w gdy gdy u f y 1 1,, 0 1 ) ( x i u f y exp 1 1 ) ( progowa (skokowa) funkcja aktywacji stosowana w sieciach liniowych (podstawowa postać) (perceptron Rosenblatta) funkcja sigmoidalna 0 gdzie: - wartość progowa 20

Sztuczna sieć neuronowa 21 Sztuczna sieć neuronowa (SSN) to wysoce równoległy rozporoszony system złożony z prostych elementów obliczeniowych mających naturalną skłonność zapamiętywania podawanych informacji. Przypomina system połączeń w mózgu. Wiedza jest zdobywana przez sieć ze środowiska w procesie uczenia. Wagi połączeń między neuronami używane są do zapamiętywania uzyskanej wiedzy. Działanie sieci zależy od: przyjętego modelu neuronu, topologii (struktury) sieci, wartości parametrów neuronu ustalonych w wyniku uczenia

Schemat sztucznej sieci neuronowej - sieć wielowarstwowa 22 warstwa wejściowa sieć jednokierunkowa jednowarstwowa warstwa wyjściowa warstwy ukryte sieć jednokierunkowa wielowarstwowa W strukturze sieci istotny jest fakt, że każdy neuron warstwy wcześniejszej nie komunikuje się z każdym neuronem warstwy następnej natomiast neurony w warstwach nie komunikują się między sobą.

Schemat sztucznej sieci neuronowej - sieć rekurencyjna Sieć rekurencyjna charakteryzuje się: dwukierunkowym przepływem informacji, Najczęściej spotykane sieci rekurencyjne to: Sieć Hopfielda, Maszyna Boltzmana, Sieć BAM (Bidirectional Associative Memory) Sieci ART (Adaptive Resonance Theory) 23

Uczenie sieci neuronowej Uczenie sieci polega na automatycznym (zgodnie z algorytmem) dobraniu takich wartości wag, przy których sieć będzie możliwie najlepiej rozwiązywała zadanie Rozróżnia się dwa rodzaje uczenia: - nadzorowane (z nauczycielem), - nienadzorowane (bez nauczyciela). 24 Wagi stanowią całą wiedzę posiadaną przez neuron lub sieć neuronową, Ogólna zasada uczenia neuronu głosi, że: - wektor wag w rośnie proporcjonalnie do iloczynu sygnału wejściowego x i uczącego r.

25 Uczenie sieci neuronowej

Uczenie sieci neuronowej Uczenie nadzorowane stosuje się tylko wówczas, gdy istnieje możliwość zweryfikowania poprawności odpowiedzi udzielanych przez sieć; oznacza to, że: dla każdego wektora wejściowego musi być znana dokładna postać wektora wyjściowego. 26 Uczenie nienadzorowane stosuje się wówczas gdy nie znamy oczekiwanych odpowiedzi na zadany wzorzec, ale wtedy: sygnały muszą się dać sklasyfikować, neuronów musi być zdecydowanie więcej, sieć musi być dostatecznie mądra, różnorodne preferencje początkowe neuronów.

Uczenie sieci neuronowej - kiedy sieć sobie nie radzi Aby zabezpieczyć się przed sytuacjami wyjątkowymi, podczas których SSN nie będzie mogła znaleźć poprawnego rozwiązania wprowadza się mechanizmy kontrolujące szybkość i jakość uczenia. Są to współczynniki uczenia oraz momentum, które: wpływają na stromość funkcji aktywacji, regulują szybkość wpływu zmiany wag na proces uczenia. 27

Ważniejsze metody uczenia sieci - jednokierunkowych wielowarstwowych Wstecznej propagacji błędów, Szybkiej propagacji błędów, Gradientów sprzężonych, Metodą zmiennej metryki, Metoda paraboidalnych modeli funkcji błędów 28

Uczenie sieci neuronowej - uczenie z nadzorem - kroki 1. Przygotowanie dwóch ciągów: uczącego i weryfikującego. W skład ciągu uczącego wchodzi wektor wejściowy oraz wektor wyjściowy. 2. Ustanowienie początkowych wartości wag (wartości przypadkowe). 3. Po przetworzeniu wektora wejściowego nauczyciel porównuje wartości otrzymane z wartościami oczekiwanymi informując sieć o błędzie odpowiedzi. 4. Jeżeli wartość na wyjściu neuronu nie zgadza się z wartością oczekiwaną, następuje korekcja wag, tak aby błąd odpowiedzi uzyskany przy powtórnym przetworzeniu wektora wejściowego był mniejszy od poprzedniego. 29 5. Czynności 1-4 powtarza się aż do uzyskania błędu mniejszego niż zamierzony.

Zastosowania sieci neuronowych rozpoznawanie cech, rozpoznawanie obrazów, rozpoznawanie mowy, diagnostyka medyczna, prognozowanie w ekonomii, sterowanie ruchami robota, symulowanie zachowań struktur biologicznych neuronów. 30 Siła sieci neuronowych tkwi w połączeniach Sieci składające się z wielu neuronów będą miały o wiele więcej zastosowań.

Sprzętowa implementacja neuronu Sposób implementacji neuronu w strukturze programowalnej 31

Sprzętowa implementacja neuronu - sieci neuronowych Główne utrudnienia w sprzętowej implementacji sieci neuronowej to: reprezentacja danych, stopień zrównoleglenia operacji, cyfrowe mnożenie, duża liczba połączeń pomiędzy neuronami, dobór oraz implementacja funkcji aktywacji. 32

library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; entity neuron is generic( r : integer :=3; b : integer :=4); wejścia neuronu Port (x1 : in signed (b-1 downto 0); x2 : in signed (b-1 downto 0); x3 : in signed (b-1 downto 0); w : in signed (b-1 downto 0); clk : in std_logic; y : out signed (2*b-1 downto 0)); end neuron; architecture Behavioral of neuron is type weights is array (1 to r) of signed (b-1 downto 0); type inputs is array (1 to r) of signed (b-1 downto 0); begin process (clk, w, x1, x2, x3) variable weight : weights; variable input : inputs; variable prod, acc : signed (2*b-1 downto 0); begin if (clk'event and clk='1') then weight := w & weight (1 to r-1); end if; input(1) := x1; input(2) := x2; input(3) := x3; acc := (others => '0'); l1: for j in 1 to r loop prod :=input(j)*weight(j); acc := acc + prod; end loop l1; y <= acc; end process; end Behavioral wyjście liniowe rejestr przesuwny wagowy mnożenie dodawanie 33 IEEE.STD_LOGIC_ARITH.ALL; signed - typ obejmujący liczby ze znakiem

Operacje na liczbach ze znakiem IEEE.STD_LOGIC_ARITH.ALL; signal count: unsigned (3 downto 0) count może przechowywać zmienną w zakresie (od 0 do 15) signal count: signed (3 downto 0); count może przechowywać zmienną w zakresie (od -8 do +7) porównywanie danych unsigned, signed wymaga użycia funkcji konwersji 34

Kodowanie ZM - przypomnienie Liczba ZM składa się z dwóch części - bitu znaku oraz bitów wartości liczby (modułu) Moduł liczby ZM jest zapisany w naturalnym kodzie dwójkowym NBC, zatem w celu obliczenia jej wartości moduł mnożymy przez 1, gdy bit znaku wynosi 0 lub przez -1, gdy bit znaku wynosi 1. L ZM = (-1) bit znaku moduł liczby b n-1 - bit znaku liczby b n-2... b 0 - bity modułu liczby 35 10110111 (ZM) = (-1) 1 (2 5 + 2 4 + 2 2 + 2 1 + 2 0 ) 10110111 (ZM) = - (32 + 16 + 4 + 2 + 1) 10110111 (ZM) = - 55 (10)

Kodowanie U2 Kod uzupełnień do podstawy 2 lub w skrócie U2 (ang. 2C - Two's Complement) Liczba jest dodatnia, gdy bit znaku ma wartość 0 - suma pozostałych wag tworzy zawsze liczbę dodatnią lub zero. Jeśli bit znaku przyjmie wartość 1, to liczba jest ujemna. b n-1 b n-2 b n-3...b 2 b 1 b 0 (U2) = b n-1 (-2 n-1 ) + b n-2 2 n-2 + b n-3 2 n-3 +... + b 2 2 2 + b 1 2 1 + b 0 2 0 36 01101011 (U2) = 64+32+8+2+1=107 (10) 11101011 (U2) = (-2 7 )+64+32+8+2+1=-128+107=(-21) (10)

Kodowanie liczb

Sprzętowa implementacja neuronu - testbench w<="0000"; x1<="0011"; x2<="0100"; x3<="0101"; wait for 10 ns; ns; x1<="0110"; x2<="1000"; x3<="0010"; wektor wejściowy neuronu w<="0111"; wait for 20 ns; w<="1000"; wait for 20 ns; w<="1001"; wait for 20 wagi w<="0111"; wait for 20 ns; w<="1000"; wait for 20 ns; w<="1001"; wait for 20 ns; x1<="0011"; x2<="0100"; x3<="0101"; w<="0111"; wait for 20 ns; w<="1000"; wait for 20 ns; w<="1001"; wait for 20 ns; assert false severity failure; 38

Sprzętowa implementacja neuronu - testbench Przykład realizacji neuronu liniowa funkcja aktywacji A wyjście neuronu po trzech cyklach zegarowych B C y = x 1 w 1 + x 2 w 2 + x 3 w 3 = (3)(-7) + (4)(-8) + (5)(7)= -18 256 18 = 238 39

Odwzorowanie technologiczne wyjście wejścia 40 Odwzorowanie technologiczne neuronu w strukturze programowalnej FPGA, - odwzorowanie nie zawiera funkcji aktywacji

Funkcja aktywacji - funkcja progowa bipolarna library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_SIGNED.ALL; pakiet dla funkcji progowej package hardlims_fun1 is function hardlims (signal n : signed) return signed; end hardlims_fun1; y i f ( u) 1, 1, gdy gdy n i1 n i1 w w i i x x i i package body hardlims_fun1 is function hardlims (signal n : signed) return signed is variable y: signed (7 downto 0); variable temp: integer range -8 to 7; begin temp := conv_integer (n); if (temp >= 1)then temp :=1; else temp := -1; end if; y := conv_signed (temp,8); return y; end hardlims; end hardlims_fun1; 41 wyjście neuronu 8-bit ze znakiem

Odwzorowanie technologiczne wyjście wejścia 42 Odwzorowanie technologiczne neuronu w strukturze programowalnej FPGA, - odwzorowanie zawiera progową funkcję aktywacji

Zadanie domowe library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_SIGNED.ALL; package hardlims_fun1 is function hardlims (signal n : signed) return signed; end hardlims_fun1; Przeanalizuj test bench package body hardlims_fun1 is function hardlims (signal n : signed) return signed is variable y: signed (7 downto 0); variable temp: integer range -8 to 7; begin temp := conv_integer (n); if (temp >= 1)then temp :=1; else temp := -1; end if; y := conv_signed (temp,8); return y; end hardlims; end hardlims_fun1; 43

Przykładowe pytania 1. Atrybuty sygnałów sposoby wykorzystania 2. Tworzenie rekordów w VHDL 3. Tworzenie tablic w VHDL 4. Zdefiniuj pojęcie neuronu 5. Sieć neuronowa typy, rodzaje 6. Odwzorowanie technologiczne neuronu 7. Zastosowanie sieci neuronowych 8. Zasoby wykorzystywane przez neurony w FPGA 45