Без математика не можете да направите нищо. Всичко около вас е математика. Всичко около теб е числа.” Казан от Шакунтала Деви, този цитат уместно улавя какъв е светът (поне физически) зад всички тези слоеве на сложна динамика, всичко (или почти всичко) се свежда до числа. Имам собствено мнение за това, че математиката също е литература - описваща нашия свят, а числата са думи (и обратното :P), но ще се опитам да не се отклонявам много и да се върна към темата на заглавието на този блог - Какво могат да направят невронните мрежи? Преди това обаче трябва да получим основна представа какво имам предвид под правя и всичко - по-важното е какво е невронна мрежа??

Нашите мозъци са сложни, мистериозни и невероятни (също очевидно 75% вода??). Нашият мозък е това, което ни накара да бъдем най-доминиращият вид на планетата, да изграждаме светове, да пишем стихове, да създаваме музика и изкуство и всичко останало, а напоследък възходът на AI е масов, услуги като ChatGPT, Stable Diffusion и други са смели се опитва да имитира работата на нашия мозък и ставаме добри в това - бързо.

Всички тези модели използват нещо, наречено невронна мрежа (и много, МНОГО повече), което е начин компютърът да се опита да имитира как може да работи мозъкът. Невронната мрежа е поредица от неврони (невронът е основен, основен градивен елемент на невронна мрежа, използван за предаване и обработка на информация), невронът в този контекст е вдъхновен от действителния неврон, открит в мозъка, но това е абстрахирано математическа идея.

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

Изображението по-горе е добро визуално представяне на всичко, което написах по-горе - обяснява какво е невронна мрежа, но какво е тя НАИСТИНА? С прости думи, невронната мрежа е апроксиматор на функция и е доста добра в това, всъщност е толкова добра, че може да научи всяка функция. Съгласно Универсалната апроксимационна теорема, една невронна мрежа може приблизително да имитира всяка функция, без значение какво е нашето f(x). Това прави невронната мрежа невероятно мощна, както сега, ако имате достатъчно големи данни за X и y, ако съществува y=f(X), невронна мрежа с подадена информация ще може да го имитира при правилната функция за активиране. Актив - какво? Да кажем, че има функция y=sin(x), която искаме нашата мрежа да имитира (предполагаме, че все още не знаем какво е f(x), само за да обясним концепцията), сега - без значение какво ако го направите, не можете да представите синусоида като линейна сума и това е мястото, където идват функциите за активиране, те въвеждат нелинейност в нашата система.

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

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

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

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

Бих искал да обърна специално внимание на видеото на Emergent Garden в YouTube, което ме вдъхнови да напиша тази статия с надеждата да помогна на хората да разберат и оценят концепциите, които оформят нашия свят днес.