{"id":9131,"date":"2025-03-31T10:00:00","date_gmt":"2025-03-31T08:00:00","guid":{"rendered":"https:\/\/haimagazine.com\/?p=9131"},"modified":"2025-06-18T10:11:53","modified_gmt":"2025-06-18T08:11:53","slug":"sieci-neuronowe-od-podstaw","status":"publish","type":"post","link":"https:\/\/haimagazine.com\/pl\/hai-magazine\/numer-4\/sieci-neuronowe-od-podstaw\/","title":{"rendered":"\ud83d\udd12 Sieci neuronowe od podstaw"},"content":{"rendered":"<p>Wiod\u0105ce wsp\u00f3\u0142czesne algorytmy sztucznej inteligencji polegaj\u0105 na obliczeniach opartych na pewnych wzorach matematycznych. Najprostsze modele mog\u0105 bazowa\u0107 na dok\u0142adnie jednym r\u00f3wnaniu, a najbardziej z\u0142o\u017cone \u2013 na zestawie tysi\u0119cy zale\u017cnych od siebie r\u00f3wna\u0144. Poziom skomplikowania oblicze\u0144 mocno zwi\u0105zany jest z potencja\u0142em algorytmu. Wynika to z faktu, \u017ce dany schemat oblicze\u0144 definiuje ramy, w obr\u0119bie kt\u00f3rych funkcjonuje algorytm. Jest on w stanie opisywa\u0107 zale\u017cno\u015bci, kt\u00f3re wyst\u0119puj\u0105 w realnym \u015bwiecie tylko i wy\u0142\u0105cznie przy u\u017cyciu konkretnych wzor\u00f3w. M\u00f3wi\u0105c najpro\u015bciej: bardziej z\u0142o\u017cone obliczenia daj\u0105 szans\u0119 na rozwi\u0105zywanie bardziej skomplikowanych problem\u00f3w.<\/p><p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"357\" class=\"wp-image-9819\" style=\"width: 600px;\" src=\"https:\/\/haimagazine.com\/wp-content\/uploads\/2025\/03\/152_1.png\" alt=\"\" srcset=\"https:\/\/haimagazine.com\/wp-content\/uploads\/2025\/03\/152_1.png 483w, https:\/\/haimagazine.com\/wp-content\/uploads\/2025\/03\/152_1-300x178.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><br>Rysunek 1. Zbi\u00f3r pomiar\u00f3w efektywno\u015bci turbiny wiatrowej. Jeden punkt to jeden pomiar.<\/p><p>Zacznijmy od rozwa\u017cenia przyk\u0142adowej sytuacji przedstawionej na Rysunku 1. Wyobra\u017amy sobie, \u017ce na wykresie ukazany jest zbi\u00f3r pomiar\u00f3w efektywno\u015bci turbiny wiatrowej: jeden punkt to jeden pomiar. Na osi <em>x<\/em> widnieje pr\u0119dko\u015b\u0107 wiatru, a na osi <em>y<\/em> prezentowana jest ilo\u015b\u0107 energii wytworzonej przez turbin\u0119 w ci\u0105gu minuty przy okre\u015blonej pr\u0119dko\u015bci wiatru. Gdyby\u015bmy chcieli przewidzie\u0107, ile energii otrzymamy z turbiny w konkretnym horyzoncie czasowym, potrzebowaliby\u015bmy wzoru, kt\u00f3ry opisywa\u0142by zale\u017cno\u015b\u0107 mi\u0119dzy tymi wielko\u015bciami. Mogliby\u015bmy oprze\u0107 si\u0119 na uk\u0142adzie punkt\u00f3w na rysunku i zgadywa\u0107, \u017ce dobrze by\u0142oby opisa\u0107 t\u0119 zale\u017cno\u015b\u0107 w nast\u0119puj\u0105cy spos\u00f3b:<\/p><p><strong>y = w<sub>1<\/sub> + w<sub>2<\/sub> * log(w<sub>3 <\/sub>*x + w<sub>4<\/sub>)<\/strong><\/p><p>gdzie <em>w<sub>i<\/sub><\/em> to parametry. Tak m\u00f3g\u0142by wygl\u0105da\u0107 zdefiniowany przez cz\u0142owieka model. Konkretne warto\u015bci parametr\u00f3w mog\u0105 zosta\u0107 wyliczone w procesie \u201euczenia si\u0119\u201d na podstawie warto\u015bci w danych (s\u0105 to gotowe sposoby wyliczania ich warto\u015bci). Ten opis b\u0119dziemy mogli wykorzysta\u0107 do szacowania <em>y<\/em> na podstawie <em>x<\/em>. Innymi s\u0142owy: stworzymy procedur\u0119, kt\u00f3ra dla pewnej warto\u015bci wej\u015bciowej obliczy interesuj\u0105c\u0105 nas wielko\u015b\u0107 wyj\u015bciow\u0105. A w\u0142a\u015bnie na takim podej\u015bciu opieraj\u0105\u00a0si\u0119 g\u0142\u00f3wne\u00a0algorytmy sztucznej inteligencji, w szczeg\u00f3lno\u015bci upowszechnione obecnie algorytmy do prowadzenia konwersacji z cz\u0142owiekiem. <\/p><p>One te\u017c tak naprawd\u0119 zamieniaj\u0105 tekst na liczby (my jako u\u017cytkownicy tego nie widzimy), a ich odpowiedzi s\u0105 wynikiem ekstremalnie skomplikowanych oblicze\u0144 matematycznych. I \u2013 z punktu widzenia tw\u00f3rc\u00f3w takich narz\u0119dzi \u2013 tutaj pojawiaj\u0105 si\u0119 fundamentalne pytania: sk\u0105d wzi\u0105\u0107 te formu\u0142y? Czy w powy\u017cszym przyk\u0142adzie nale\u017cy u\u017cy\u0107 logarytmu, czy mo\u017ce lepiej by\u0142oby si\u0119gn\u0105\u0107 po pierwiastek? Albo jakich wzor\u00f3w nale\u017cy u\u017cy\u0107, je\u015bli chcemy, aby algorytm na nich oparty potrafi\u0142 rozmawia\u0107?<\/p><p>Zgadywanie i r\u0119czny dob\u00f3r transformacji (np. pojawiaj\u0105cych si\u0119 wy\u017cej logarytm\u00f3w) mo\u017cna wykorzystywa\u0107 w obliczeniach r\u00f3\u017cnych zagadnie\u0144 i ma to nawet swoje zalety. Jednak w praktyce\u2026 cz\u0119sto to po prostu nie dzia\u0142a (np. z tego powodu, \u017ce trzeba wykona\u0107 przeogromn\u0105 liczb\u0119 eksperyment\u00f3w, aby wariant uzyska\u0142 dobr\u0105 jako\u015b\u0107). Czasem te\u017c to podej\u015bcie po prostu uniemo\u017cliwia uzyskanie rozwi\u0105zania dobrej jako\u015bci. Jednak\u017ce sztuczna inteligencja nie osi\u0105gn\u0119\u0142aby dzisiejszego poziomu, gdyby ju\u017c dawno temu nie wymy\u015blono, \u017ce do modelowania mo\u017cna podej\u015b\u0107 inaczej.&nbsp;<\/p><p>Z pomoc\u0105 przychodz\u0105 sztuczne sieci neuronowe, kt\u00f3re stoj\u0105 za wszystkimi najwi\u0119kszymi wsp\u00f3\u0142cze\u015bnie osi\u0105gni\u0119ciami w obszarze sztucznej inteligencji. To wielki temat, kt\u00f3remu po\u015bwi\u0119cono ca\u0142e ksi\u0105\u017cki. My skupimy si\u0119 jednak w tym miejscu na zupe\u0142nych podstawach, tj. przedstawieniu fundamentalnego schematu dzia\u0142ania, kt\u00f3ry zobrazuje istot\u0119 tych algorytm\u00f3w. Wspomnijmy, \u017ce przedstawiony tu rodzaj sieci nazywa si\u0119 perceptronem wielowarstwowym (ang. <em>multilayer perceptron<\/em>). Jest to po prostu pewien zestaw wzor\u00f3w, kt\u00f3ry przyst\u0119pnie mo\u017cna przedstawi\u0107 r\u00f3wnie\u017c graficznie (rysunek 2).<\/p><p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"297\" class=\"wp-image-9821\" style=\"width: 600px;\" src=\"https:\/\/haimagazine.com\/wp-content\/uploads\/2025\/03\/154_1.png\" alt=\"\" srcset=\"https:\/\/haimagazine.com\/wp-content\/uploads\/2025\/03\/154_1.png 454w, https:\/\/haimagazine.com\/wp-content\/uploads\/2025\/03\/154_1-300x149.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/> <br>Rysunek 2. Perceptron wielowarstwowy<\/p><p>Kwadrat z lewej strony reprezentuje warto\u015b\u0107 wej\u015bciow\u0105 \u2013 liczb\u0119 oznaczon\u0105 jako <em>x<\/em>, dla kt\u00f3rej chcemy pozna\u0107 odpowied\u017a sieci. Ka\u017cde k\u00f3\u0142ko reprezentuje neuron, czyli miejsce, w kt\u00f3rym jest obliczana jaka\u015b warto\u015b\u0107. Po\u0142\u0105czenia mi\u0119dzy elementami pokazuj\u0105 natomiast, kt\u00f3re warto\u015bci przekazywane s\u0105 do kt\u00f3rego miejsca, czyli \u2013 m\u00f3wi\u0105c najpro\u015bciej \u2013 gdzie dalej s\u0105 wykorzystywane w obliczeniach. Ka\u017cde po\u0142\u0105czenie b\u0119dzie mia\u0142o przypisan\u0105 pewn\u0105 wag\u0119, czyli liczb\u0119, kt\u00f3ra b\u0119dzie uwzgl\u0119dniana w obliczeniach. Warto\u015b\u0107 zwracana przez sie\u0107 to warto\u015b\u0107 <em>y<\/em> wyliczona w ostatnim neuronie. W\u0142a\u015bciwie mo\u017cemy tu m\u00f3wi\u0107 o uk\u0142adzie warstwowym \u2013 pierwsza warstwa to pierwszy pionowy rz\u0105d trzech neuron\u00f3w, a druga to rz\u0105d drugi z dwoma neuronami. Dlatego tak\u0105 sie\u0107 mo\u017cemy nazwa\u0107 dwuwarstwow\u0105.<\/p><p>W opisie u\u017cyjemy nast\u0119puj\u0105cych oznacze\u0144: x \u2013 warto\u015b\u0107 wej\u015bciowa, y \u2013 warto\u015b\u0107 zwracana przez sie\u0107, n<sub>i<\/sub> \u2013 warto\u015bci wyliczane w neuronach, w<sub>i <\/sub>\u2013 wagi przypisane do po\u0142\u0105cze\u0144, f \u2013 tzw. funkcja aktywacji, kt\u00f3ra mo\u017ce przyjmowa\u0107 r\u00f3\u017cne formy, ale na potrzeby tego przyk\u0142adu ustalmy, \u017ce b\u0119dzie to cz\u0119sto stosowana funkcja sigmoidalna: f(z) = 1 \/ (1 + e<sub><sup>-2<\/sup><\/sub>), e to sta\u0142a Eulera. W\u00f3wczas sie\u0107 przedstawion\u0105 na rysunku 2 mo\u017cemy opisa\u0107 nast\u0119puj\u0105cym schematem oblicze\u0144:<\/p><p>n<sub>1 <\/sub>= f(w<sub>1<\/sub> * x)<\/p><p>n<sub>2<\/sub> = f(w<sub>2<\/sub> * x)<\/p><p>n<sub>3<\/sub> = f(w<sub>3<\/sub> * x)<\/p><p>n<sub>4<\/sub> = f(w<sub>4<\/sub> * n<sub>1 <\/sub>+ w<sub>5<\/sub> * n<sub>2<\/sub> + w<sub>6<\/sub> * n<sub>3<\/sub>)<\/p><p>n<sub>5<\/sub> = f(w<sub>7<\/sub> * n<sub>1 <\/sub>+ w<sub>8<\/sub> * n<sub>2<\/sub> + w<sub>9<\/sub> * n<sub>3<\/sub>)<\/p><p>  y = w<sub>10<\/sub> *n<sub>4<\/sub> + w<sub>11<\/sub> * n<sub>5<\/sub><\/p><p>To zestaw wzor\u00f3w, kt\u00f3ry jest bezpo\u015bredni\u0105 definicj\u0105 naszego algorytmu, czyli opisem zale\u017cno\u015bci mi\u0119dzy interesuj\u0105cymi nas wielko\u015bciami <em>x<\/em> i <em>y<\/em>. Zaznaczmy, \u017ce konkretne warto\u015bci dla wag <em>w<sub>i<\/sub><\/em> nie s\u0105 okre\u015blane przez cz\u0142owieka, lecz dobierane w procesie \u201euczenia si\u0119\u201d sieci. Czyli na bazie przyk\u0142ad\u00f3w prawdziwych par (<em>x<\/em>, <em>y<\/em>) sie\u0107 sama wylicza wagi, dla kt\u00f3rych najtrafniej b\u0119dzie odgadywa\u0107 <em>y<\/em> na podstawie <em>x<\/em>. Warto zauwa\u017cy\u0107, \u017ce omawiana tu struktura jest zupe\u0142nie przyk\u0142adowa, a w praktyce korzysta si\u0119 z ogromnej liczby r\u00f3\u017cnych innych wariant\u00f3w, przy czym liczby neuron\u00f3w i warstw mog\u0105 by\u0107 bardzo r\u00f3\u017cne. Ponadto sieci neuronowe mog\u0105 przyjmowa\u0107 na wej\u015bciu wiele warto\u015bci (czyli szacowa\u0107 interesuj\u0105c\u0105 nas wielko\u015b\u0107 na podstawie wi\u0119cej ni\u017c jednej liczby wej\u015bciowej). I jest to typowa w praktyce sytuacja (przyk\u0142adow\u0105 struktur\u0119 przedstawia rysunek 3).\u00a0<\/p><p class=\"has-text-align-center\"> <img loading=\"lazy\" decoding=\"async\" width=\"600\" height=\"408\" class=\"wp-image-9823\" style=\"width: 600px;\" src=\"https:\/\/haimagazine.com\/wp-content\/uploads\/2025\/03\/154_2.png\" alt=\"\" srcset=\"https:\/\/haimagazine.com\/wp-content\/uploads\/2025\/03\/154_2.png 462w, https:\/\/haimagazine.com\/wp-content\/uploads\/2025\/03\/154_2-300x204.png 300w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><br>Rysunek 3. Sie\u0107 neuronowa o czterech warto\u015bciach wej\u015bciowych<\/p><p>Tak zdefiniowany algorytm jest w stanie opisywa\u0107 naprawd\u0119 bardzo z\u0142o\u017cone zale\u017cno\u015bci i poradzi sobie z rozwi\u0105zaniem wielu problem\u00f3w. W szczeg\u00f3lno\u015bci takich, kt\u00f3rych nie da si\u0119 rozwi\u0105za\u0107 poprzez r\u0119czne szukanie odpowiednich formu\u0142. W praktyce jako\u015b\u0107 dzia\u0142ania sieci b\u0119dzie zale\u017ca\u0142a jeszcze od wyboru konkretnej struktury, ale tutaj wystarczy stosunkowo niewielka liczba eksperyment\u00f3w. Co wa\u017cne, w zale\u017cno\u015bci od konkretnych warto\u015bci wag, sie\u0107 o tej samej strukturze mo\u017ce odzwierciedla\u0107 relacje mi\u0119dzy <em>x<\/em> a <em>y<\/em> o bardzo r\u00f3\u017cnych kszta\u0142tach. Dzi\u0119ki temu ten sam model mo\u017ce by\u0107 wykorzystany do bardzo r\u00f3\u017cnych problem\u00f3w, co znacznie u\u0142atwi prac\u0119 osobom tworz\u0105cym rozwi\u0105zania oparte na uczeniu maszynowym.<\/p><p>Na zako\u0144czenie dodajmy, \u017ce wszystkie g\u0142\u00f3wne algorytmy sztucznej inteligencji opieraj\u0105 si\u0119 na tym w\u0142a\u015bnie podej\u015bciu: niezale\u017cnie od tego, czy chcemy stworzy\u0107 algorytm, kt\u00f3ry wykrywa obiekty na obrazach, czy taki, z kt\u00f3rym mo\u017cna porozmawia\u0107, zawsze \u201epod mask\u0105\u201d znajduj\u0105 si\u0119 zestawy wzor\u00f3w zaprojektowanych przez cz\u0142owieka. To cz\u0142owiek definiuje ich struktur\u0119, ale dok\u0142adne warto\u015bci w r\u00f3wnaniach (wspomnianych parametr\u00f3w) s\u0105 wyliczane podczas tzw. \u201euczenia si\u0119\u201d algorytm\u00f3w. W praktyce w wielu zagadnieniach stosuje si\u0119 du\u017co bardziej z\u0142o\u017cone struktury sieci neuronowych, a wymy\u015blaniem tych struktur zajmuj\u0105 si\u0119 naukowcy. Ostatecznie to my \u2013 ludzie \u2013 stoimy za powszechnie stosowanymi dzi\u015b narz\u0119dziami AI.<mark style=\"background-color:#82D65E\" class=\"has-inline-color has-dark-gray-color\"><br><\/mark><\/p>","protected":false},"excerpt":{"rendered":"<p>Sztuczna inteligencja jaka jest, ka\u017cdy widzi. Rzadko kiedy zastanawiamy si\u0119 jednak, jak naprawd\u0119 dzia\u0142a.<\/p>\n","protected":false},"author":30,"featured_media":9816,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_lock_modified_date":false,"footnotes":""},"categories":[612,763,402,754],"tags":[],"popular":[],"difficulty-level":[36],"ppma_author":[374],"class_list":["post-9131","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-numer-4","category-ai_praktyka","category-hai-magazine","category-hai_premium","difficulty-level-easy"],"acf":[],"authors":[{"term_id":374,"user_id":30,"is_guest":0,"slug":"norbert-ryciak","display_name":"Norbert Ryciak","avatar_url":{"url":"https:\/\/haimagazine.com\/wp-content\/uploads\/2024\/08\/Norbert-Ryciak.jpeg","url2x":"https:\/\/haimagazine.com\/wp-content\/uploads\/2024\/08\/Norbert-Ryciak.jpeg"},"first_name":"Norbert","last_name":"Ryciak","user_url":"","job_title":"","description":"Data scientist z zawodu, pasji i wykszta\u0142cenia. Lubi dzieli\u0107 si\u0119 wiedz\u0105 i anga\u017cuje si\u0119 w r\u00f3\u017cnorodne formy nauczania"}],"_links":{"self":[{"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/posts\/9131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/comments?post=9131"}],"version-history":[{"count":3,"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/posts\/9131\/revisions"}],"predecessor-version":[{"id":9825,"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/posts\/9131\/revisions\/9825"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/media\/9816"}],"wp:attachment":[{"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/media?parent=9131"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/categories?post=9131"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/tags?post=9131"},{"taxonomy":"popular","embeddable":true,"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/popular?post=9131"},{"taxonomy":"difficulty-level","embeddable":true,"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/difficulty-level?post=9131"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/haimagazine.com\/pl\/wp-json\/wp\/v2\/ppma_author?post=9131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}