Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Budowa sztucznej sieci neuronowej.

merkantyll 03 Mar 2012 00:57 2156 6
  • #1 03 Mar 2012 00:57
    merkantyll
    Poziom 2  

    Witam

    Zastanawiam sie ostatnio nad zrobieniem obwodu dzialajacego jak komorka nerwowa – wiem ze jest duzo pomyslow i szkol – to jest moj pomysl – mam nadzieje, że ktoś obeznany w temacie spojrzy na to i podpowie mi czy dobrze myślę i czy jest sens iść tym tropem.


    Budowa sztucznej sieci neuronowej.





    Na rysunku widać pojedynczą komórkę. Ogólna zasada działania jest taka, że pamięci analogowe ( 3 , 7 ) oprócz zapamiętywania informacji – tracą ją w czasie poprzez swoisty przeciek utworzony przez dołączony równolegle rezystor. Powoduje to, że informacja zbierana przez pamieć nabiera znaczenia czasowego – napięcie na okładkach kondensatora odpowiada istotności informacji przez niego gromadzonych – informacja jest istotna nie tylko kiedy sygnal ma dużą wartość napięcia – ale tez wtedy kiedy jest niedawny .

    Cała komórka składa się widocznie z dwóch części. Górna część pokazuje jak sygnał wejściowy jest jednocześnie przewodzony bezpośrednio do obwodu centralnego ( C ) jak i za pośrednictwem izolowanej przez wzmacniacze ( 2 i 4 ) wejściowej pamięci ( 3 ). Powoduje to, że do obwodu centralnego dochodzi zarówno sygnał w czasie rzeczywistym jak i aktualny ładunek pamięci wejściowej zależny od tego jak wiele jak dużych i jak niedawnych impulsów napięcia miało miejsce w ostatnim czasie. Jest to pierwsza z dwoch skladowych ksztaltujacych odpowiedz komorki na wejsciowy sygnal.

    Dolna częśc schematu pokazuje jak sygnał z obwodu centralnego przechodzi przez wysokonapięciową diodę prostowniczą. Dioda przepuszcza w tym położeniu tylko napięcia dodatnie. Jeżeli aktualny sygnał na obwodzie centralnym jest mniejszy od zera – nie dochodzi do emisji sygnału poza komórkę. Jednocześnie każdy sygnał emitowany z komórki po przejściu przez diodę – zostaje równolegle zwrotnie zadany do pamięci wstecznej ( 7 ) także izolowanej przez dwa wzmacniacze ( 8 , 6 ). Pamięć ta podobnie jak poprzednia zawiera ładunek propocjonalny do tego jak duże jak częste i jak niedawne sygnały do niej docierały. W przypadku tej pamięci są to jednak sygnały emitowane przez samą komórkę. Układ pamięci wstecznej ( 6 , 7 , 8 )razem z izolującymi wzmacniaczami jest tak dobrany, że odwraca znak sygnału. Wobec tego zawsze dodatni sygnał wydostajacy się z diody skutkuje zawsze ujemnym napięciem dodawanym do napięcia na obwodzie centralnym przez układ wstecznej pamięci. Rozwiązanie to sprawia, że stopień reaktywności komórki na dochodzące do niej bodźce ulega samoograniczeniu z dynamiką zależną od istotności bodźcowania wskazanej przez pamięć wsteczną. Komórka będzie w takim stopniu oporna na aktualny sygnał wejściowy – w jakim w ostatnim czasie była aktywna w wysyłaniu sygnału wyjściowego. Jest to druga z dwóch składowych kształtujących odpowiedź komórki na wejściowy sygnał.





    Współzależne działanie dwóch wyróżnionych skladowych można opisać następująco: Układ pamięci wejściowej wraz z otaczającymi wzmacniaczami ( 2 , 3 , 4 ) jest tak dobrany aby nie zmieniał znaku sygnału. Na obwód centralny stale dostarczany jest sygnał z pamięci wejściowej – sygnał zależny od istotności sygnału a zatem od amplitudy i częstości sygnałów oraz od czasu jaki upłynął od momentu w którym sygnał został dodany do napięcia na okładkach kondensatora pamięci. Można więc powiedzieć że sygnał z pamięci wejściwej jest stałą składową napięcia na obwodzie centralnym. Zakładając że sygnał wejściowy dla komórki jest dodatni – pamieć wejściowa będzie zadawała pewien dodatni sygnał na obwód centralny. To spowoduje przekazanie sygnału przez diodę prostowniczą ( 5 ) i - obok emisji sygnału wyjściowego – powstanie ładunku na pamięci wstecznej a w konsekwencji powstanie składowej ujemnej napięcia na obwodzie centralnym. W efekcie – im większe będzie stałe napiecie dodatnie zadawane przez pamięć wejściową – tym większe będzie przeciwne napiecie generowane przez pamięć wsteczną . Sumaryczny efekt powoduje, że jeżeli do tej pory w stronę komórki wysyłano sygnały o wzglęnie dużej amplitudzie, często i niedawno ( duża istotność ) - aktualny sygnał musi być proporocjonalnie duży aby wywołać wzrost napięcia wyjściowego z komórki związany bezpośrednio z rozpatrywanym sygnałem wejściowym. Jeżeli sygnał będzie niewielki proporcjonalnie do aktywności pamięci wstecznej zależnej od stałej aktywności pamięci wejściowej - to jego wpływ na sygnał wyjściowy komórki będzie zerowy lub niewielki. Jeżeli zaś sygnał wejściowy będzie proporcjonalnie duży w stosunku do aktywności pamięci wstecznej i wejściowej – wywoła to widoczną zmianę w sygnale wyjściowym komórki proporcjonalną do opisanej względnej siły sygnału.

    Opisany mechanizm jest podstawą działania proponowanego obwodu i stanowi formę uczenia się komórki – przystosowującej swoją reaktywność zarówno do zapamiętanej impulsacji wejściowej w czasie jak i do swojej własnej aktywności.


    Podczas działania komórki można zauważyć, że dla sygnału pod postacią dodatnich wychyleń o stałej częstotliwości i amplitudzie – komórka osiąga pewien poziom równowagi. Jeżeli sygnał zostanie nagle zmieniony pod względem amplitudy i/lub częstotliwości – dojdzie do gwałtownej reakcji komórki na wyrwanie ze stanu równowagi – reakcji samoograniczającej się tak, że po krótkim czasie dochodzi do ustalenia się nowego stanu równowagi. Okres ustalania sie nowego stanu równowagi wiąże się z silnym sygnałem wyjsciowym o kluczowym znaczeniu w przetwarzaniu informacji za pomocą sieci komórek, ktora sobie umyslilem.


    Dzialanie jest porownywalne do faktycznej komorki nerwowej. Za pomoca tego mozna z cala pewnoscia robic sieci zachowujace sie jak naturalne sieci neuronowe.

    Ja na razie nie mam pomyslu jak zrobic z tym coś konkretnego. Nie jestem elektronikiem, także zdam sie po prostu na Wasze sugestie.

    0 6
  • #2 03 Mar 2012 01:39
    Mirek Z.
    Moderator

    Może jednak warto zajrzeć do stosownych podręczników itp., zamiast samemu wymyślać?

    0
  • Pomocny post
    #3 03 Mar 2012 10:31
    ^Rachel
    Poziom 21  

    O wiele lepiej i mniejszym kosztem będzie zaimplementować sieć w jakimś uC lub w jakimś układzie programowalnym. Przynajmniej ja bym tak zrobił,

    merkantyll napisał:
    podpowie mi czy dobrze myślę i czy jest sens iść tym tropem.


    Skup się na programowej realizacji, jeśli nie chcesz tego robić na uC możesz na początku pisać sobie w C i testować sieci. Wszystko zależy od tego, do czego chcesz to wykorzystać.

    0
  • #4 03 Mar 2012 14:14
    merkantyll
    Poziom 2  

    Dzieki za radę ^Rachel, na pewno skorzystam.

    Dodano po 1 [minuty]:

    A co do administratora to też jestem zszokowany - może lepiej żeby w ogóle nikt nie pisał na forum? Mniej pracy?

    Moderowany przez Mirek Z.:

    Chodzi o prostą rzecz - przed zaczęciem prac nad jakimś zagadnieniem wypada przejrzeć wszystko, co możliwe na dany temat. Już byłbyś bliżej.

    0
  • Pomocny post
    #5 03 Mar 2012 14:23
    ^Rachel
    Poziom 21  

    Jeśli umiesz programować to tu są kody przykładowych programów :

    https://www.elektroda.pl/rtvforum/viewtopic.php?t=2161188

    Poza tym zebrałem kiedyś sporą ilość materiałów o sieciach neuronowych, tyle że głównie w języku angielskim. Gdybyś był zainteresowany to mogę podesłać.

    Można też w Matlabie badać sieci , tak uczą w wielu podręcznikach, jednak żeby przenieść tą teorie na praktyke potrzeba dodatkowego czasu, a pisząc w C programy na PC proste programy z sieciami później będziesz mógł ten kod przenieść na uC z drobnymi zmianami.

    Pozdrawiam.

    0
  • #6 05 Mar 2012 11:05
    PiRoman2
    Poziom 20  

    merkantyll - pomysł ciekawy, co do elektroniki:błędem jest bezpośrednie połączenie wyjść wzmacniaczy operacyjnych (1,4,6).

    Koledzy, którzy odradzają takie podejście nie do końca mają rację. Główną zaletą sieci neuronowych (oprócz możliwości uczenia) jest równoległe przetwarzanie informacji przez SN.

    System mikroprocesorowy przetwarza wszystko sekwencyjnie. Z układami PLD też nie jest tak różowo, przy realizacji SN w strukturach FPGA trzeba wykonać wiele operacji mnożenia (układ mnożenia wykorzystuje znaczną część zasobów układu)

    0
  • #7 05 Mar 2012 20:40
    merkantyll
    Poziom 2  

    Hej

    Będę bardzo wdzięczny jak podeślesz mi pozycje, które uważasz za wartościowe.

    Do tej pory nie zajmowałem się sieciami neuronowymi jako dziedziną wiedzy - mam raczej tendencję do robienia rzeczy samodzielnie od podstaw myśląc co i z czym - wtedy najbardziej zadowala mnie rezultat, nawet jezeli dla niektorych taka postawa jest nie do przyjecia :P

    Przydaje sie tam gdzie potrzeba pomyslu, ale wiadomo - realizacja to juz konkretna wiedza i umiejetnosci.

    Raczej trudno sie przekonuje do lektury co nie zawsze jest dobre - takze jak mi podasz powiedzmy dwie naprawde konkretne pozycje to na pewno bardzo dużo na tym skorzystam.

    Jeszcze raz dzieki

    Dodano po 14 [minuty]:

    PiRoman2

    Zastanawiam sie czy zmiana dalaby jakikolwiek efekt? Nie jestem elektronikiem, ale logika podpowiada mi ze to najprostsze mozliwe polaczenie znanych mi elementow dla uzyskania pozadanej funkcji, ktore przychodzi mi do glowy.

    rozdzielanie wyroznionych przez siebie elementow operacji na fizyczne oddzielne obwody to troche slabe samo w sobie - bo funkcja jest jedna tak czy siak - to ze dla higieny pracy rozdzielamy ja na czynniki pierwsze nie znaczy ze one musza fizycznie byc odwzorowane. Dlatego wybralem taka jedna "zlewke" i to na niej opieraja sie glowne zalety ktore widze w tym obwodzie. No ale jestem amatorem

    Przekonalby mnie jakis fizyczny argument - np, ze tego typu budowa sprawi ze obwod nie bedzie dobrze funkcjonowal, nic o tym nie wiem - ale jezeli chodzi o sama koncepcje, to trudno sie nie zgodzic ze atutem sieci neuronowych jest mozliwosc rownoleglego przetwarzania informacji.


    Podrawiam

    0