Sieci neuronowe

sztuczne sieci neuronoweKoncepcja działania sztucznych sieci neuronowych oraz komputerów jest zupełnie inna. Mówiąc w uproszczeniu, komputery wykonują obliczenia korzystając z mocy obliczeniowej procesora oraz pamięci. Przy czym procesor oraz pamięć są od siebie niezależne. Sieć neuronowa, podobnie jak mózg, wykonuje obliczenia nie sięgając do odrębnych "modułów" pamięci - wykorzystuje zdobytą wcześniej wiedzę, bez konieczności korzystania z innych zasobów - potrafi przechować informacje w swojej strukturze.

Więcej szczegółowych informacji na temat sieci neuronowych można przeczytać w artykule "Wprowadzenie do praktyki stosowania sieci neuronowych".

Mówiąc o sieciach neuronowych, warto wiedzieć, że normalizacja wartości wejściowych jest standardową procedurą. Kiedy dane wejściowe zbytnio się od siebie różnią, to sieć się słabo uczy. Najlepiej jest wtedy, gdy dane leżą w przedziale 0-1.

Wydaje mi się, że to jaka jest najbardziej optymalna architektura, zależy od rozwiązywanego problemu. Podstawowa architektura sztucznej sieci neuronowej to architektura jednokierunkowa, w której przepływ sygnałów występuje w jednym kierunku od wejścia do wyjścia.

Co może spowodować nadmierna ilośc neuronów?

Jeżeli występuje za mało neuronów, proces uczenia może się nie udać, gdyż sieć nie ma szans odwzorować w swojej strukturze wszystkich niuansów rozwiązywanego zadania. Natomiast zbyt duża liczba warstw ukrytych może doprowadzić do znacznego pogorszenia sprawności procesu uczenia. Sieć o mniejszej liczbie warstw ukrytych często daje lepsze rezultaty niż sieć z większą liczbą warstw ukrytych.
Z kolei nadmierna liczba neuronów w warstwie ukrytej może prowadzić do niekorzystnego efektu nazywanego "uczeniem się na pamięć". Sieć w ten sposób zamiast uogólniania nabywanych wiadomości dokonuje zapamiętania reguł.

Realizacja funkcji XOR za pomocą pojedynczego neuronu jest problematyczna.

Z wykresu funkcji XOR wynika, że nie da się za pomocą jednej prostej podzielić przestrzeni na dwa zbiory, czyli ten problem nie jest separowalny liniowo.
Nie można zatem zrealizować funkcji XOR za pomocą pojedynczego neuronu.

Można jednak podzielić przestrzeń za pomocą dwóch prostych:

separowalnosc_funkcja_XOR

Rozwiązaniem tego problemu jest rozszerzenie sieci neuronowej w taki sposób, by dodając neuron w warstwie, stworzyć sieć neuronów o wagach realizujących następujący podział przestrzeni:

1) dla pierwszego neuronu:
o1 = w11x1 + w12x2 + w10 > 0
o1 = w21x1 + w22x2 + w20 < 0

2) dla drugiego neuronu:
o2 = w21x1 + w22x2 + w10 > 0
o2 = w21x1 + w22x2 + w20 < 0

Po dodaniu dodatkowej warstwy z neuronem możliwe staje się zrealizowanie sumy logicznej.


 

Uważasz, że artykuł był ciekawy i chcesz otrzymywać powiadomienia o moich kolejnych wpisach lub projektach?
Wpisz swoje imię oraz adres e-mail a następnie kliknij "ZAPISZ MNIE"

Twoje imię:


Adres email:


Metody uczenia liniowych sieci neuronowych
Wybór domeny

Podobne wpisy

 

    By accepting you will be accessing a service provided by a third-party external to https://www.slawop.net/

    Najnowsze komentarze

    Gość - Studio Jak wybrać hosting dla Joomla!?
    13 wrzesień 2019
    Warto jeszcze dopisać punkt, żeby przy wyborze wybrać panel między DirectAdmin/cPanel. Niektóre hostingi mają swoje własne rozwiązania - czasami bardzo specyficzne, co niekoniecznie jest dobrą rzeczą
    Gość - Marek Szyfrowanie symetryczne a niesymetryczne
    09 czerwiec 2019
    "Klucz przekazany do publicznej wiadomości, nazywany jest kluczem publicznym lub jawnym. Może on być stosowany do szyfrowania lub deszyfrowania informacji otrzymanych od osoby, która go wygenerowała. ...
    Gość - Marek Tworzenie szablonów dla Joomla! Helix Ultimate
    10 maj 2019
    Witam, napotkałem problem pojawiający się przy zmianie kolorów tła czy czcionek oraz importowaniem ustawień. W pierwszym przypadku, po zmianie kolorów i ich zapisaniem, panel podglądu strony przeładow...
    Gość - Andy SSL i Joomla! w Smarthost
    03 styczeń 2019
    Dzięki, jak zwykle dobra robota! Warto dodać, że instalacja certyfikatu SSL nie zapewnia bezpieczeństwa transmisji danych. To jest możliwe po wdrożeniu polityki bezpieczeństwa w firmie. Co do SSL - to...
    Gość - Henryk Jak utworzyć menu poziome w szablonie protostar?
    02 styczeń 2019
    Robię punkt po punkcie i nie wyświetla się poziome menu Nie wiem gdzie tkwi błąd i co robię źle?Jeśli to możliwe to proszę o pomocps. posiadam książkę "Joomla! 3x" i tu również niema pomocy Pozdrawiam...