Skocz do zawartości

Zrozumieć działanie sieci neuronowej - opis działania sztucznych sieci neuronowych


Darlark

Pomocna odpowiedź

Nie to, że się tam przyczepiam czy coś, ale wszelakie "artykuły" o sieciach neuronowych/uczeniu maszynowym/ogólnie statystyce (np przy big data, takie popularne teraz) wyglądają prawie tak samo, pisane są prawie takim samym językiem, jakby na wzór z jednego źródła każdy powielał prawie bez zmian. 😛

 

edit. dla przykładu jest mowa o funkcji sigmoidalnej -zamieniam się w kogoś, kto jest dość ciemny w temacie i z matematyką ma tyle wspólnego, co zwykle początkujący elektronik lub coś w podobie - a co to właściwie jest, a czemu to tak właściwie się używa, a może użyć czegoś innego?

Edytowano przez BananWszyscy
  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)
36 minut temu, BananWszyscy napisał:

edit. dla przykładu jest mowa o funkcji sigmoidalnej -zamieniam się w kogoś, kto jest dość ciemny w temacie i z matematyką ma tyle wspólnego, co zwykle początkujący elektronik lub coś w podobie - a co to właściwie jest, a czemu to tak właściwie się używa, a może użyć czegoś innego?

Przepraszam bardzo, ale nie przy dodawaniu artykułu nie załączyłem wykresu tej funkcji o którym wspomniałem w artykule. Mam nadzieję, że zostanie mi to wybaczone. Zaktualizowałem to teraz. 

Dodatkowo spieszę z wyjaśnieniami: Funkcja sigmoidalna jest często zwana "łagodnym progiem" jej wykres przypominana (moim zdaniem) pojedynczy stopień schodów o zaokrąglonych krawędziach. Chodzi o to by przyjmowała ona dwie skrajne wartości: 0 oraz 1. Przyjmuje ona 0 dla argumentów ujemnych i 1 dla argumentów dodatnich. Charakterystyczne zaokrąglenie (brak gwałtownych zmian na wykresie) sprawia ze możemy policzyć jej pochodną w każdym punkcie. Przydaje się to przy obliczeniach podczas procesu uczenia sieci. Poniżej załączam wykres znaleziony w sieci, gdzie widać: funkcję sigmoidalną (zwaną "łagodnym progiem"), funkcję liniową i skok jednostkowy (próg o gwałtownym skoku z 0 do 1 - nie różniczkowalny). 

unnamed.thumb.gif.0ce21172e2e3ab3f27eff0cc9369ea5c.gif

PozDrawiam

Edytowano przez Darlark
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Moim skromnym zdaniem na tym blogu takie tematy powinny być jak przedstawione jak dla typowego laika (przynajmniej wstępne pokazanie tematu). Nie chcę się czepiać tylko wskazuję jak wg mnie powinny wyglądać wstępy 😛 I np. można wreszcie gdzieś dodać takie uproszczenie np., że skok jednostkowy nie jest różniczkowalny, bo ma dziubki (do niektórych takie wyjaśnienie przemawia)

Cytat

wyłącznie na doborze najoptymalniejszych wag

No tu bym pomyślał nad doborem słów.

 

Edytowano przez BananWszyscy
  • Lubię! 1
Link do komentarza
Share on other sites

@BananWszyscy dziękuję za opinię. Starałem się napisać ten artykuł w jak najprostszy sposób, tłumacząc wszystkie zagadnienia które wydawały mi się nowe i nie zagłębiając się w zagadnienia matematyczne. Jeśli Twoim zdaniem coś wytłumaczyłem niejasno proszę napisz co takiego, a chętnie postaram się to wyjaśnić. 

 

13 minut temu, BananWszyscy napisał:
Cytat

wyłącznie na doborze najoptymalniejszych wag

No tu bym pomyślał nad doborem słów.

Mógłbym Cię prosić o wyjaśnienie co masz na myśli?

PozDrawiam.

Link do komentarza
Share on other sites

7 minut temu, BananWszyscy napisał:

No ogólnie albo coś jest optymalne... albo nie jest 😛

Hmmm rzeczywiście słuszny punkt widzenia 🙂 jednak wydaje mi się, że osoby dopiero wchodzące w dziecinę sztucznej inteligencji zrozumieją co miałem na myśli pisząc "najoptymalniejszych wag". Z drugiej strony można by to stwierdzenie rozwinąć do: wag przy których działanie sieci będzie najbardziej zbliżone do pożądanego

Jeśli zobaczę że temat cieszy się zainteresowaniem i znajdą się osoby, które będą chciały przeczytać inne artykuły o tej tematyce, najprawdopodobniej rozwinę ten artykuł do całej serii i dokładniej opisze cały proces uczenia. Tam też mógłbym więcej czasu poświecić na temat doboru, zmian oraz finalnych wartości wag.

PozDrawiam.

  • Lubię! 1
Link do komentarza
Share on other sites

Witam!

Nie mogę mówić za innych, ale określenie "najoptymalniejsze" odebrałem jako "możliwie zbliżone do optymalnych, przy istniejących ograniczeniach" i wydawało mi się całkowicie zrozumiałe w kontekście w którym zostało użyte.

Może trzeba by było powiedzieć coś w rodzaju "możliwie łatwych do obliczenia i wystarczająco zbliżonych do optimum wag aby uzyskać pożądane efekty" ale nie czepiajmy się, to nie jest praca naukowa.

Wspomniane wyżej ograniczenia istnieją w oczywisty sposób i mogą być różnego typu, od od naturalnych ograniczeń typu danych maszyny (np. nigdy i nigdzie nie uzyskamy "dokładnej" liczby π - oczywiście poza obliczeniami symbolicznymi), przez czas potrzebny do obliczeń, dostępną moc obliczeniową, dostępne algorytmy, złożoność obliczeniową algorytmów itd. itp. Było by interesujące (przynajmniej dla mnie) dowiedzieć się które z tych - i innych - ograniczeń są najistotniejsze i dlaczego.

I oczywiście coś o uczeniu. Może na jakimś bardzo prostym przykładzie.

Mnie osobiście interesuje dlaczego w większości artykułów które spotykam mówi się o sieciach które mają trzy warstwy neuronów. Czy przeprowadzano eksperymenty w których badano by inne struktury sieci, nie tylko liniowy układ warstw, i porównywano je między sobą.

 

                 Dziękuję za interesujący wpis.

                 Pozdrawiam

 

Link do komentarza
Share on other sites

9 godzin temu, bjrk napisał:

Witam!

Nie mogę mówić za innych, ale określenie "najoptymalniejsze" odebrałem jako "możliwie zbliżone do optymalnych, przy istniejących ograniczeniach" i wydawało mi się całkowicie zrozumiałe w kontekście w którym zostało użyte.

Może trzeba by było powiedzieć coś w rodzaju "możliwie łatwych do obliczenia i wystarczająco zbliżonych do optimum wag aby uzyskać pożądane efekty" ale nie czepiajmy się, to nie jest praca naukowa.

Wspomniane wyżej ograniczenia istnieją w oczywisty sposób i mogą być różnego typu, od od naturalnych ograniczeń typu danych maszyny (np. nigdy i nigdzie nie uzyskamy "dokładnej" liczby π - oczywiście poza obliczeniami symbolicznymi), przez czas potrzebny do obliczeń, dostępną moc obliczeniową, dostępne algorytmy, złożoność obliczeniową algorytmów itd. itp. Było by interesujące (przynajmniej dla mnie) dowiedzieć się które z tych - i innych - ograniczeń są najistotniejsze i dlaczego.

I oczywiście coś o uczeniu. Może na jakimś bardzo prostym przykładzie.

Mnie osobiście interesuje dlaczego w większości artykułów które spotykam mówi się o sieciach które mają trzy warstwy neuronów. Czy przeprowadzano eksperymenty w których badano by inne struktury sieci, nie tylko liniowy układ warstw, i porównywano je między sobą.

 

                 Dziękuję za interesujący wpis.

                 Pozdrawiam

 

Nie no, trzeba pilnować języka, bo potem słyszy się w reklamach, że to auto ma najoptymalniejszy układ paliwowy ze wszystkich ( 😄 ). Skoro coś jest optymalne to już jest naj z jakiegoś względu i nie może być bardziej naj lub mniej naj - warto akurat to zapamiętać.

A czemu 3 warstwy? Już zwróciłem uwagę na początku - nieodparte wrażenie, że każdy powiela po swojemu to samo 😛

Link do komentarza
Share on other sites

3 godziny temu, BananWszyscy napisał:

Nie no, trzeba pilnować języka, bo potem słyszy się w reklamach, że to auto ma najoptymalniejszy układ paliwowy ze wszystkich ( 😄 ). Skoro coś jest optymalne to już jest naj z jakiegoś względu i nie może być bardziej naj lub mniej naj - warto akurat to zapamiętać.

A czemu 3 warstwy? Już zwróciłem uwagę na początku - nieodparte wrażenie, że każdy powiela po swojemu to samo 😛

Trzy warstwy:

  1. wejściowa - wejściami jej neuronów są wejścia całej sieci;
  2. wyjściowa -  wyjściami jej neuronów są wyjścia całej sieci;
  3. ukryta - zarówno wejścia, jak i wyjścia jej neuronów są połączone z innymi neuronami

To są ogólne założenia. Warstwa ukryta może zawierać w sobie kilka "podwarstw". Początkową architekturę sieci ustala projektant. W procesie uczenia może się okazać ze niektóre połączenia lub nawet całe neurony (węzły) są nieistotne dla działania całej sieci. Najłatwiej to ustalić po wielkości wag. Czym większa wartość bezwzględna wagi przypisana do danego połączenia tym jest ono istotniejsze dla działania sieci.

 

Link do komentarza
Share on other sites

Dnia 13.04.2021 o 10:03, BananWszyscy napisał:

a czemu to tak właściwie się używa, a może użyć czegoś innego?

Sigmoid jest popularny bo swego czas była to pierwsza (więc wówczas jedyna) znana "możliwa" funkcja aktywacji. Później odkryto że nie musi to być sigmoid. https://en.wikipedia.org/wiki/Universal_approximation_theorem

Edytowano przez Harnas
  • Lubię! 1
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.