Невронни мрежи: какво представляват, как работят и защо името е подвеждащо

Невронните мрежи всъщност не приличат на мозъци. Ето какво представляват наистина, как всъщност работят и защо разбирането на разликата има значение.

Невронни мрежи: какво представляват, как работят и защо името е подвеждащо

Телбодът на дядо ви

Представете си: 1950 година, а дядо ви работи в телефонната компания. Неговата работа? Да обслужва огромен комутатор. Стотици кабели, хиляди малки гнезда, а ръцете му се движат със светкавична скорост, за да свържат едно повикване с друго.

Как работеше комутаторът

Някой се обажда от пекарната до цветарския магазин. Дядо ви включва кабел от гнездо A47 в гнездо B23. Повикването е свързано. Някой друг се обажда от библиотеката до пощата. Друг кабел, друга връзка. По цял ден той прави връзки, насочва сигнали, помага информацията да тече от едно място до друго.

Сега си представете, че този комутатор може да се учи. Представете си, че след хиляди повиквания започне да забелязва модели. Повечето обаждания от пекарната сутрин отиват до ресторанти. Повечето обаждания от училищата следобед отиват до родители. Повечето обаждания от болницата са спешни и трябва да преминат веднага.

Ако този комутатор можеше да се настройва според тези модели, насочвайки повикванията по-ефективно, без дядо ви да мисли за всяко едно, щяхте да имате нещо много близко до невронна мрежа.

Това всъщност е невронната мрежа. Не мозък. Не интелигентност. Просто много сложен комутатор, който се учи кои връзки работят най-добре чрез практика.

Името „невронна мрежа" кара да звучи, сякаш изграждаме електронни мозъци. Не сме. Изграждаме умни комутатори, които стават по-добри в насочването на информация чрез опит. Нека ви покажа точно как работи това, с примери, които всеки може да разбере.

Голямото объркване с името (защо „невронна" е подвеждащо)

Когато учените за първи път изграждат тези системи през 50-те години на XX век, те гледат как работи човешкият мозък и си казват: „Хей, можем да изградим нещо, вдъхновено от това." Заимстват някои идеи и едно модерно име.

Лош ход.

Защо името е подвеждащо

Да наречем тези системи „невронни мрежи" е като да наречем самолета „механична птица". Да, и двете летят. Да, и двете са вдъхновени от наблюдение на природата. Но самолетът не маха с криле, няма пера, не трябва да яде червеи и не мигрира на юг за зимата.

Истинският ви мозък

  • Около 86 милиарда неврона
  • Всеки от тях е изключително сложна биологична клетка
  • Хиляди връзки на неврон
  • Работи с помощта на химия и невротрансмитери
  • Способен да расте и да се променя през целия ви живот

Изкуствен „неврон“

Това е просто математическа операция. Умножение и събиране. Толкова. Прилича на мозъчна клетка колкото крушката на слънцето. И двете произвеждат светлина, но едното е огромна топка от ядрен синтез, а другото работи с електричество от контакта ви.

Затова, когато чуете „невронна мрежа“, просто си представете „табло за превключване, което учи модели“. Не звучи толкова привлекателно, но е далеч по-точно. А разбирането какво всъщност представляват тези системи ви помага да разберете какво могат и какво не могат да правят.

Таблото за превключване, което учи

Таблото учи моделите на обажданията във вашия град. След като наблюдава хиляди обаждания, то забелязва, че пекарната се обажда на ресторантите всяка сутрин около 6 часа. Утре, когато дойде това обаждане в 6 часа, таблото е готово. То вече е подготвило най-добрата връзка, научило се е от опита и се е адаптирало към модела. Точно това правят тези системи. Откриват модели в примерите и ги използват, за да осъществяват бъдещите връзки по-бързо и по-добре.

Рисковете в „The Great Name Confusion (Why "Neural" is Misleading)“ стават управляеми, щом получат имена и собственици.

Строителният блок: една проста точка на свързване

Нека започнем с най-малката част от нашето комутационно табло: една единствена точка на свързване. В изисканата терминология тя се нарича „изкуствен неврон“. Но всъщност това е просто място, където се събират няколко проводника и един излиза навън.

Представете си, че решавате дали да вземете чадър, когато излизате от къщи. Гледате няколко сигнала:

Сигналите, които обмисляте

  • Небето тъмно и облачно ли е? (Сигнал 1)
  • Прогнозата за времето предвижда ли дъжд? (Сигнал 2)
  • Дъждовният сезон ли е? (Сигнал 3)
  • Носите ли други неща? (Сигнал 4)

Но не всички тези сигнали са еднакво важни. Прогнозата за времето вероятно е по-надеждна от просто гледане на небето. Дъждовният сезон има значение повече в някои места, отколкото в други. Може да им дадете тежест наум:

Претегляне на важността

  • Тъмни облаци: средна важност
  • Прогноза за времето: много важно
  • Дъждовен сезон: донякъде важно
  • Носене на неща: по-малко важно

Мозъкът ви прави това изчисление за част от секундата. Той претегля всички сигнали според важността им, събира ги и решава: чадър или без чадър.

Какво прави изкуственият неврон

Изкуственият неврон прави точно същото, но с числа. Всеки входящ сигнал се умножава по важността си (теглото си). Всички тези претеглени сигнали се събират. Ако сумата е достатъчно висока, изходът е „да, активирай“. Ако е твърде ниска, изходът е „не, остани тих“.

Това е един неврон. Умножете няколко числа. Съберете ги. Проверете дали сумата преминава прага. Изходът е да или не. Без мистерия. Без интелигентност. Просто аритметика.

Представете си го като охранител пред клуб, който проверява възрастта ви, дрескода ви и дали сте в списъка с гости. Всеки фактор има различно тегло. В списъка с гости ли сте? Вероятно ще влезете. Подходящи обувки? Важно, но не е решаващо. Охранителят събира всички фактори и взема едно решение: вътре или вън. Това е изкуствен неврон. Много проста точка за вземане на решения, която отчита множество входни данни с различни нива на важност.

Свързване на точките: Изграждане на таблото

Една точка на свързване не е много полезна. Таблото на дядо ви е имало хиляди. Точно там идва силата.

Представете си, че се опитвате да разпознаете приятелката си Мария в претъпкана жп гара. Мозъкът ви не взема това решение с един неврон. Той използва хиляди точки за вземане на решения, всяка от които разглежда различни детайли:

  • Решения от първо ниво: Това човек ли е? Жена ли е? Приблизително правилният ръст?
  • Решения от второ ниво: Тъмна коса ли има? С очила ли е? Обичайното ѝ палто ли е това?
  • Решения от трето ниво: Лицето ѝ отговаря ли на чертите на Мария? Тази походка изглежда позната. Това определено е нейната чанта.
  • Крайно решение: Всички части си пасват. Това е Мария. Помахай и я повикай по име.

Изкуствената невронна мрежа работи по същия начин. Тя е организирана на слоеве, като етажите в сграда. Информацията тече от партера (входен слой) през няколко средни етажа (скрити слоеве) до горния етаж (изходен слой).

Да речем, че се опитваш да научиш компютър да разпознава снимки на котки. Ето какво се случва:

  1. 1 Входен слой (партер):

    Приема суровата картина. Всяка малка точица (пиксел) от изображението влиза в един неврон. Малка снимка може да има 10 000 пиксела, така че са нужни 10 000 неврона само за да я приемат. Всеки неврон съдържа едно малко късче информация: „Моят пиксел е тъмен“ или „Моят пиксел е светъл“.

  2. 2 Първи скрит слой (втори етаж):

    Търси прости закономерности. Някои неврони се възбуждат, когато видят хоризонтални линии. Други забелязват вертикални линии. Някои разпознават извивки или ъгли. Тези неврони още не знаят, че гледат котки. Те просто знаят: „Тук открих извита линия“ или „Там забелязах ръб“.

  3. 3 Втори скрит слой (трети етаж):

    Комбинира тези прости закономерности в по-сложни форми. „Хей, тези извивки и ръбове заедно приличат на заострено ухо.“ „Тези закономерности, подредени по този начин, приличат на мустаци.“ „Това определено е форма на око.“ Все още не разпознава котки, а само идентифицира части от котка.

  4. 4 Трети скрит слой (четвърти етаж):

    Сглобява частите в цели характеристики. „Тези мустаци, тази форма на нос, тези заострени уши… Виждал съм тази комбинация и преди. Това започва да прилича на котешко лице.“ Сега вече сме на прав път.

  5. 5 Изходен слой (последен етаж):

    Взема окончателното решение. „Въз основа на всичко, което другите етажи откриха, съм 95% сигурен, че това е котка. Може да е куче (3% вероятност). Определено не е кола (0,001% вероятност).“ Невронът с най-висока увереност печели и мрежата обявява: „Котка!“

Всеки слой надгражда предишния. Простите модели се превръщат в сложни форми. Сложните форми стават разпознаваеми черти. Чертите се превръщат в цели обекти. Това е номерът. Не истинска интелигентност, а просто много умно наслагване на прости решения.

„Connecting the Dots: Building the Switchboard“ е цикъл: наблюдавай, избери, действай и тествай отново.

Частта с ученето (как ключовият ключ става по-умен)

Ето къде става интересно. Как мрежата научава кои връзки са важни?

Учене като сортиране на пране

Представи си, че учиш племенника си да сортира прането. Първият път няма представа. Може да сложи червен чорап при белите ризи. Катастрофа. Розови ризи навсякъде. Казваш му: „Не, не, това беше грешно. Червеното върви с тъмните, не с белите.“ Той коригира мисловните си правила. Следващият път се справя малко по-добре. Все още греши, но по-малко. Продължаваш да го поправяш. „Точно така!“ „Не, опитай пак.“ „Перфектно!“ „Опа, не съвсем.“ След сто зареждания на пералня племенникът ти е научил моделите. Белите заедно. Тъмните заедно. Червените с тъмните. Деликатните отделно. Вече не се нуждае от теб. Научи се чрез практика и корекция.

Невронните мрежи учат по абсолютно същия начин. Ето процесът:

  1. 1 Започнете със случайни предположения

    Мрежата започва с напълно случайна сила на връзките (теглата). Все едно племенникът ви в първия му ден. Покажете му снимка на котка, а той може да каже: „Кола!“ Пълна безсмислица. Но това е нормално. Всеки започва отнякъде.

  2. 2 Покажете ѝ пример

    Подайте на мрежата снимка на котка. Изображението преминава през всички слоеве. Всеки неврон прави своето изчисление (умножава входовете по теглата, събира ги, активира се или не). Накрая изходният слой прави предположение. С произволни тегла предположението е ужасно. „Куче! Не, кола! Може би… чадър?“

  3. 3 Кажете ѝ верния отговор

    Вие знаете верния отговор (защото сами сте обозначили обучителните снимки). „Не, това беше котка, не кола.“ Мрежата измерва колко грешно е била. Познала е кола с 80% увереност, а е трябвало да каже котка? Това е много грешно. Пресметнете точно колко далеч от верния отговор е бил всеки неврон.

  4. 4 Настройте връзките (обратно разпространение)

    Тук е уловката. Мрежата работи назад от изхода към входа, питайки: „Кои връзки допринесоха за тази грешка? Кои тегла трябва да се променят?“ Все едно проследявате мисловния процес на племенника си. „Сложи червения чорап при белите, защото си помисли, че цветът няма значение. Нека увеличим значението на цвета в решението ти.“ Настройте всяко тегло леко в посоката, която би намалила грешката.

  5. 5 Повторете хиляди пъти

    Покажете на мрежата друга снимка. Тя прави ново предположение (вече малко по-добро). Измерете грешката. Настройте теглата отново. Повторете с хиляди или милиони снимки. Бавно, постепенно, теглата преминават от случайни глупости към полезни модели. След достатъчно упражнения мрежата започва да познава. Покажете ѝ котка, казва котка. Покажете ѝ куче, казва куче. Научила се е.

Какво всъщност означава „учене“

Този процес се нарича „обучение“ или „учене“, но всъщност е просто математическа оптимизация. Настройват се милиони малки числа (тегла) въз основа на примери, докато прогнозите на мрежата съвпаднат с реалността. Без разбиране. Без съзнание. Просто разпознаване на модели чрез проба и грешка.

Колкото повече примери ѝ покажеш, толкова по-добра става. Колкото по-разнообразни са примерите, толкова по-добре се справя с нови ситуации. Покажи ѝ само голдън ретривъри и ще ѝ е трудно с пудели. Покажи ѝ котки във всякакъв цвят, размер и позиция и ще разпознава котки навсякъде.

Представи си го като настройване на опъна на струните на китара. Твърде хлабаво, грешен звук. Твърде стегнато, също грешно. Дръпваш струната, слушаш нотата и леко настройваш опъна. Дръпваш отново. Пак не е съвсем точно. Настройваш отново. След много малки настройки всяка струна издава перфектната нота. Обучението на невронна мрежа е просто настройване на милиони „копчета за опън“ (тегла), докато резултатът не зазвучи правилно. Само че вместо музика произвеждаш прогнози.

Пространството около „The Learning Part (How the Switchboard Gets Smarter)“ се свива, когато правилата, търсенето и доказателството се срещнат.

Дълбоко обучение (защо повече слоеве помагат)

Може да чуеш термина „дълбоко обучение“ да се хвърля наляво и надясно. Хората се държат така, сякаш е нещо магическо. Не е.

„Дълбоко“ просто означава „много слоеве“. Вместо три или четири скрити слоя може да имаш двадесет, петдесет или дори сто слоя, подредени един върху друг. Това е всичко. Това е голямата тайна.

Защо толкова много слоеве? Защото сложните модели изискват сложна обработка.

Представете си, че учите някого да разпознава дървета. Само с два слоя (един скрит слой) можете да научите прости правила:

Прости модели с малко слоеве

  • Зелено нещо отгоре? Вероятно е дърво.
  • Кафяво вертикално нещо отдолу? Определено е дърво.

Но какво да кажем за палмите? Боровете? Цъфналите вишни? Дърветата през зимата без листа? Дърветата, покрити със сняг? Бонсай дърветата? Пъновете? Само с прости модели ще пропуснете много разновидности.

Добавете повече слоеве и всеки слой може да научава все по-сложни характеристики:

Сложни модели с много слоеве

  • Слой 1: Ръбове и текстури
  • Слой 2: Модели на кората и форми на листата
  • Слой 3: Структури на клоните
  • Слой 4: Характеристики на различните видове дървета
  • Слой 5: Дървета в различни сезони и условия

Всеки слой надгражда разбирането върху откритията на предишния слой. Докато стигнете до изхода, мрежата може да разпознава дъбове през есента, палми на плажа, борове в снега и цъфнали вишни през пролетта. Всичко това благодарение на тези слоести модели.

Компромисът

Повече слоеве означават повече изчисления, повече време за обучение и повече примери. Една плитка мрежа може да се учи от 10 000 снимки. Една дълбока мрежа може да се нуждае от милион. Но за сложни задачи като разбирането на езика, разпознаването на хиляди обекти или играта на шах на майсторско ниво, дълбоките мрежи си заслужават усилията.

Ето защо ChatGPT и съвременните AI системи са „дълбоки“. Те имат десетки или стотици слоеве, които учат изключително сложни модели от огромни количества текст, изображения или други данни. Не защото са интелигентни, а защото задачите, които изпълняват, изискват разпознаването на много фини и сложни модели.

Двата подхода: точност срещу ефективност

Повечето невронни мрежи днес използват много точни числа за своите изчисления. Когато умножават и събират тегла, те използват числа като 0.7234891 или 1.3982736. Много десетични знаци. Много точно.

Традиционният подход: прекомерна точност

Това е като да мерите съставките за торта с лабораторна везна с точност до 0.001 грама. Брашно: 247.384 грама. Захар: 118.592 грама. Много точно, много прецизно и, честно казано, напълно излишно за печенето на торта.

Тези точни числа (наречени числа с плаваща запетая) изискват много изчислителна мощ. Всяко умножение с тези числа отнема хиляди транзисторни операции. Когато правите милиарди умножения, за да обучите мрежа, това се натрупва до огромни количества електричество и изчислително време.

Двоичният подход

Двоични невронни мрежи: само две стойности

Има и друг подход: двоичните невронни мрежи. Вместо точни десетични числа, използвайте само две стойности. Плюс едно или минус едно. Това е.

Звучи налудничаво, нали? Как можете да научите сложни модели само с две числа?

Подходът на бабина рецепта

Помислете за това по този начин. Когато баба ви печеше ябълковия пай, тя не използваше лабораторна везна. Тя разчиташе на очите и опита си. „Горе-долу толкова брашно. Една добра шепа захар. Масло колкото едно яйце.“ Въобще не е точно, но паят пак ставаше вкусен.

Двоичните мрежи работят по подобен начин. Всяка връзка е или „да, това има значение“ (+1), или „не, това няма значение“ (-1). Без десетична точност. Просто прости гласове „да“ или „не“.

Магията е в комбинацията. Хиляди прости решения „да“ или „не“ се комбинират, за да дадат изненадващо точни прогнози. Точно както неточните измервания на баба ви, съчетани с опита ѝ, водеха до перфектен пай.

Предимството

Двоичните мрежи работят много по-бързо и използват значително по-малко енергия. Помниш ли от по-раншния ни разговор за двоичните изчисления? Простите операции „да/не“ са стотици пъти по-бързи от прецизните десетични изчисления. Една двоична невронна мрежа може да работи на телефона ти, на обикновен компютърен чип, дори на малки устройства с ограничена мощност. Същата мрежа с точни числа би изисквала огромен компютър и тонове електричество.

В Dweve се фокусираме върху двоичните невронни мрежи за реална ефективност. Нашата система Core използва прости тегла „да/не“ и работи 40 пъти по-бързо от традиционните мрежи, като същевременно използва 96% по-малко енергия. Не защото пестим от нещо, а защото за повечето реални задачи не ти трябва лабораторна точност. Подходът с рецептата на баба работи чудесно.

За Какво Всъщност Са Добри Невронните Мрежи

Сега, когато разбираш как работят невронните мрежи, нека поговорим за това за какво всъщност са полезни. Защото въпреки целия шум около тях, те не са добри във всичко.

Невронните мрежи блестят в разпознаването на модели. Ако им покажеш хиляди примери с последователни модели, те ще се научат да разпознават тези модели в нови примери. Това ги прави идеални за:

📷 Разпознаване на изображения

Покажи на мрежата милион обозначени снимки и тя се научава да разпознава котки, кучета, коли, лица, тумори на рентгенови снимки, пукнатини по пътищата, каквото и да я обучиш. Камерата на телефона ти използва това, за да фокусира върху лица. Болниците го използват, за да откриват заболявания в медицинските сканирания.

🎤 Разбиране на речта

Когато говориш със Siri или Alexa, невронна мрежа преобразува моделите на гласа ти в текст. Тя се е научила от хиляди часове записана реч какво означава всеки звуков модел. Различни акценти, фонов шум, мърморене… тя се справя с всичко това чрез разпознаване на модели.

💬 Обработка на езика

Превод, отговаряне на въпроси, писане на текст. Мрежите, обучени върху милиарди думи, научават моделите на това как работи езикът. Не защото „разбират“ езика, а защото разпознават модели като „тази дума обикновено следва онази дума“ и „тази структура на изречението означава въпрос“.

🎬 Правене на препоръки

Netflix предлага филми, Spotify открива музика, която ще ви хареса, Amazon препоръчва продукти. Тези мрежи научават модели от милиони потребители. „Хората, на които са харесали A и B, са харесали и C. Този човек харесва A и B, значи вероятно ще хареса и C.“

🎮 Играене на игри

Шахматни програми, играчи на Go, изкуствен интелект във видеоигри. Мрежата играе милиони игри със себе си, като се учи кои ходове водят до победи и кои до загуби. Чисто разпознаване на модели чрез проба и грешка.

Забелязвате ли модела? Всичко това са задачи, при които съществуват последователни модели в големи количества данни. Покажете на мрежата достатъчно примери и тя ще открие моделите.

С какво невронните мрежи се справят зле

А сега и реалността. Невронните мрежи имат сериозни ограничения:

⚠️ Имат нужда от огромни количества данни

Едно дете вижда три кучета и разбира какво е „куче“. На невронна мрежа са ѝ нужни хиляди или милиони снимки на кучета. Няма данни? Няма учене. Малък набор от данни? Слаба производителност. Тези системи са ненаситни чудовища за данни.

⚠️ Те са черни кутии

Мрежата не може да обясни решенията си. Тя знае отговора (или смята, че го знае), но не може да ви каже защо. Милиони тегла си взаимодействат по сложни начини. Никой човек не може да проследи разсъжденията. Това е голям проблем в медицината, правото и навсякъде, където трябва да оправдавате решенията си.

⚠️ Учат пристрастия от данните

Ако данните ви за обучение съдържат пристрастия (а повечето данни от реалния свят ги съдържат), мрежата ще научи тези пристрастия. Историческа дискриминация? Мрежата ще дискриминира. Небалансирани примери? Мрежата се представя по-зле при недостатъчно представени групи. Каквото вложите, такова ще получите.

⚠️ Те не се справят добре с обобщаване

Обучи мрежа върху котки и кучета, после ѝ покажи кон. Тя се затруднява. Хората обобщават лесно („О, това е друго четирикрако животно“). Невронните мрежи не го правят. Те познават само конкретните модели, които са видели по време на обучението. Новите ситуации ги объркват.

⚠️ Лесно се заблуждават

Малки промени, невидими за хората, могат напълно да заблудят мрежа. Промени няколко пиксела в снимка на котка (промени, които дори няма да забележиш) и мрежата изведнъж може да каже „Самолет!“ с 99% увереност. Това се нарича adversarial attack и е реален проблем за сигурността.

Това не са дребни проблеми. Те са фундаментални за начина, по който работят невронните мрежи. Една мрежа е толкова добра, колкото и данните, с които е обучена, и може да разпознава само модели, които е виждала преди.

Истинският извод

Какво всъщност представляват невронните мрежи?

Те са сложни машини за разпознаване на модели. Многослойни комутатори, които се учат от примери. Системи за математическа оптимизация, които настройват милиони малки тежести, докато прогнозите съвпаднат с реалността.

Те не са мозъци. Не са интелигентни. Не са съзнателни. Те не „разбират“ нищо. Те разпознават модели чрез повторение и корекция.

Но в тези граници те са изключително мощни. Те промениха технологиите. Разпознаването на лица в телефона ти, гласовите асистенти, спам филтрите, организирането на снимки, навигационните приложения, препоръките за стрийминг, автоматичните преводи… всичко това се захранва от невронни мрежи.

Ключът е да ги използваш за правилните задачи

Разпознаване на модели? Отлично. Задачи с ясни примери и последователни модели? Перфектно. Творческо решаване на проблеми, което изисква разбиране на контекст и значение? Не толкова.

Когато някой се опита да ти продаде „AI“ или „невронни мрежи“, запитай се: Това наистина ли е проблем за разпознаване на модели? Има ли достатъчно добри данни за обучение? Ще работи ли в ситуации, които не е виждала? Може ли да обясни решенията си, когато е необходимо?

Ако отговорите са да, да, вероятно и не (съответно), тогава невронните мрежи може да са правилният инструмент. Ако не, може да ти трябва нещо друго.

Метафората за мозъка направи невронните мрежи да звучат вълнуващо и загадъчно. Разбирането какво всъщност представляват те, сложни комутатори, които се учат от примери, ги прави по-малко магически, но значително по-полезни. Защото когато разбираш инструмента, знаеш кога да го използваш и кога да посегнеш към нещо друго. И това разбиране струва повече от каквото и да е количество маркетингов шум.

В Dweve изграждаме невронни мрежи, които зачитат реалността. Двоични операции. Ефикасни изчисления. Ясни ограничения. Без магия, без шум, само честно инженерство. Защото най-добрият изкуствен интелект е този, който работи в реалния свят, а не само в научните статии.

Пътят зад "The Real Bottom Line" остава използваем, когато всяка стъпка носи доказателства.