Някои модели с ИИ са тесни, известни като тесен изкуствен интелект (Artificial Narrow Intelligence – ANI) и са оптимизирани за една много специфична цел, като например шахматните ИИ, докато други се наричат общ изкуствен интелект (Artificial General Intelligence – AGI) и се опитват да имитират човешкото разбиране във всички области. AGI все още не е постигнат и има много дебати относно дефинициите и съзнанието.
Моделите с големи езици (LLM) като ChatGPT са опит за създаване на AGI и са значително по-напреднали, отколкото технологията беше преди няколко години. Въпреки това, и за двете категории има много различни архитектури, всяка със своите суперсили, ограничения и специфични случаи на употреба, за които тези компромиси имат смисъл. За да дадем основно разбиране за това какво е възможно, ще обсъдим само 2 от тях – генетични алгоритми и невронни мрежи.
Обикновено ГА се използват в оптимизационни задачи, където има повече променливи, отколкото може да се използва чрез груба принуда. Това е елегантно и леко решение за тестване на възможните решения на строго дефинирани проблеми. Всичко това може да звучи малко абстрактно, затова нека разгледаме най-популярния пример – задачата на пътуващия търговец.
И как работят те? В този пример всяко решение е дълго 7 букви и включва всяка буква точно веднъж. Мислете за това като за ДНК, на която се основава генетиката, местоположението на всяка буква е атрибут на решението. Всяко решение е член на популацията.
Първоначално се генерира случайна популация с всички видове решения, някои от които са неефективни, а други са по-бързи. Функцията за пригодност е система за класиране, използвана за сравняване на качеството на решенията. В този пример функцията за пригодност е просто разстоянието на пътя, като по-малкото разстояние е по-добро. Това означава, че решенията с по-малко общо разстояние ще бъдат класирани по-добре и ще бъдат използвани за създаване на следващото поколение. С 3 възела, ако решението е АБВ, разстоянието е АБ + АВ, където АБ е разстоянието от А до Б.
След като популацията бъде генерирана, тя трябва да бъде сортирана по функция за годност. След това следващото поколение може да бъде създадено от родителите на текущото поколение. Въпреки че решенията с по-висок ранг е по-вероятно да се възпроизведат, има известна случайност, за да се избегне преждевременна конвергенция и локални максимуми. Тази тема е твърде нюансирана за задълбочено разглеждане в рамките на този курс, но за любознателните обучаеми могат да бъдат намерени допълнителни ресурси.
Размножаването се извършва чрез комбиниране на двамата родители, за да се разнообрази потомството. Въпреки че има много различни начини за комбиниране на генетиката, общата идея е, че новата популация е средно по-добра, тъй като най-малко ефективните решения от всяко поколение се премахват. Чрез изпълнение на алгоритъма в продължение на няколко поколения можете да следите най-добрите решения, докато едно от тях не стане достатъчно добро за целта, тъй като никога няма гаранция, че то е най-доброто възможно решение.
Съществува огромен брой различни структури за невронни мрежи, включително трансформаторната архитектура – на това се основават повечето LLM, като ChatGPT. В тази глава ще обсъдим общата идея за невронна мрежа, а не детайлите, които изграждат по-напредналите архитектури.
За да развием интуиция за това как работят невронните мрежи, ще използваме визуален пример на изкуствен интелект за разпознаване на изображения.
Възможностите зависят от размера на невронната мрежа, тъй като тя може да приема само толкова входни данни, колкото възли има. Мислете за това като за пъзел: ако всеки възел можеше да ви каже къде отива дадено парче, ще ви трябват толкова възли, колкото парчета имате. Това обаче е опростено и в действителност е полезно да имате повече възли за точност и нюанси. Макар че в предишната глава научихме, че данните за обучение са важни, размерът на невронната мрежа също е пречка за производителността. Ако имате един възел, без значение колко данни му предоставяте и колко добри са данните ви, всичко, което бихте направили, е да актуализирате една стойност и в крайна сметка вашият изкуствен интелект няма да е полезен.
С разбирането от тази глава би трябвало да е ясно, че архитектурата на един ИИ модел ще окаже пряко влияние върху неговите възможности. Невронните мрежи са по-гъвкави, тъй като входните данни могат да бъдат гъвкави, ако размерът на мозъка (броят на параметрите) е достатъчен. Генетичните алгоритми са специфични за конкретния случай на употреба поради наложения вход и изход, но със сигурност имат своите силни страни, когато се използват в правилния контекст. Има много повече архитектури, които да бъдат проучени, някои много напреднали, а други по-базови. Като цяло базовите модели са по-бързи за изпълнение и са предпочитани за добре дефинирани очаквания. Разширените модели са скъпи за обучение и изискват най-съвременен хардуер, за да работят, но дават изумителни резултати, ако са проектирани ефективно. Винаги се уверявайте, че сте анализирали коя архитектура е подходяща, тъй като тя ще определи резултатите. Stockfish е добър шахматен ИИ, по-добър от всеки човек в историята, докато ChatGPT все още прави незаконни ходове в своите игри. И двата са ИИ, но са обучени с различни намерения.