Изберете страница

Архитектурите на изкуствения интелект

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

Някои модели с ИИ са тесни, известни като тесен изкуствен интелект (Artificial Narrow Intelligence – ANI) и са оптимизирани за една много специфична цел, като например шахматните ИИ, докато други се наричат общ изкуствен интелект (Artificial General Intelligence – AGI) и се опитват да имитират човешкото разбиране във всички области. AGI все още не е постигнат и има много дебати относно дефинициите и съзнанието.

Моделите с големи езици (LLM) като ChatGPT са опит за създаване на AGI и са значително по-напреднали, отколкото технологията беше преди няколко години. Въпреки това, и за двете категории има много различни архитектури, всяка със своите суперсили, ограничения и специфични случаи на употреба, за които тези компромиси имат смисъл. За да дадем основно разбиране за това какво е възможно, ще обсъдим само 2 от тях – генетични алгоритми и невронни мрежи.

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

Обикновено ГА се използват в оптимизационни задачи, където има повече променливи, отколкото може да се използва чрез груба принуда. Това е елегантно и леко решение за тестване на възможните решения на строго дефинирани проблеми. Всичко това може да звучи малко абстрактно, затова нека разгледаме най-популярния пример – задачата на пътуващия търговец.

Диаграма на потенциалния сценарий
На чертежа по-горе можете да видите 7 възела. Задачата за търговския пътник очаква решение, при което всеки възел или град се посещава точно веднъж, а целта е да се намери най-краткият път. За простота в този пример няма разстояния между възлите. Едно потенциално решение е АБВГДЕЖ. Друго решение е АБВГДЖЕ. Въпреки че има и други начини за решаване на това, генетичните алгоритми (GA) се представят много добре в такива задачи.

И как работят те? В този пример всяко решение е дълго 7 букви и включва всяка буква точно веднъж. Мислете за това като за ДНК, на която се основава генетиката, местоположението на всяка буква е атрибут на решението. Всяко решение е член на популацията.

Първоначално се генерира случайна популация с всички видове решения, някои от които са неефективни, а други са по-бързи. Функцията за пригодност е система за класиране, използвана за сравняване на качеството на решенията. В този пример функцията за пригодност е просто разстоянието на пътя, като по-малкото разстояние е по-добро. Това означава, че решенията с по-малко общо разстояние ще бъдат класирани по-добре и ще бъдат използвани за създаване на следващото поколение. С 3 възела, ако решението е АБВ, разстоянието е АБ + АВ, където АБ е разстоянието от А до Б.

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

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

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

Съществува огромен брой различни структури за невронни мрежи, включително трансформаторната архитектура – на това се основават повечето LLM, като ChatGPT. В тази глава ще обсъдим общата идея за невронна мрежа, а не детайлите, които изграждат по-напредналите архитектури.

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

Потенциално представяне на невронна мрежа https://www.sciencelearn.org.nz/images/5156-neural-network-diagram
В този пример възлите са кръговете, а стрелките са връзките. Тежестите както на връзките, така и на възлите влияят върху резултатите. Ще разберем откъде идват тези стойности в глава 4 – обучение на ИИ.
Сега си представете мрежа като тази върху изображение. Вместо тези квадрати обаче, всеки пиксел е син входен кръг в невронната мрежа. Тези входни данни след това се обработват от мрежата, като всяка връзка анализира моделите между съседните пиксели. Когато входните данни преминат през достатъчно скрити слоеве, мрежата е способна да идентифицира структури въз основа на входните пиксели. След това тя би могла да опише какви са тези структури.

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

С разбирането от тази глава би трябвало да е ясно, че архитектурата на един ИИ модел ще окаже пряко влияние върху неговите възможности. Невронните мрежи са по-гъвкави, тъй като входните данни могат да бъдат гъвкави, ако размерът на мозъка (броят на параметрите) е достатъчен. Генетичните алгоритми са специфични за конкретния случай на употреба поради наложения вход и изход, но със сигурност имат своите силни страни, когато се използват в правилния контекст. Има много повече архитектури, които да бъдат проучени, някои много напреднали, а други по-базови. Като цяло базовите модели са по-бързи за изпълнение и са предпочитани за добре дефинирани очаквания. Разширените модели са скъпи за обучение и изискват най-съвременен хардуер, за да работят, но дават изумителни резултати, ако са проектирани ефективно. Винаги се уверявайте, че сте анализирали коя архитектура е подходяща, тъй като тя ще определи резултатите. Stockfish е добър шахматен ИИ, по-добър от всеки човек в историята, докато ChatGPT все още прави незаконни ходове в своите игри. И двата са ИИ, но са обучени с различни намерения.