Невронни мрежи и машинно обучение – обяснени

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

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

За първи път концепцията за невронните мрежи е представена през 1944 г., от Уорън Маккулох и Уолтър Питс, изследователи от Чикагския университет, които се местят в MIT (Масачузетски технологичен институт) през 1952 г., за да създадат първото отделение по когнитивни науки. До 1969 невронните мрежи са основна тема на изучаване в MIT, както в невробиологията, така и в компютърните технологии. Следващата година, през 1970, директор на звеното по изкуствен интелект става математикът Марвин Мински, а с неговите възгледи невронните мрежи потъват в забвение, за да се възродят отново след 80-те, благодарение на нарастващата мощност на графичните чипове.

Преломна стойност

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

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

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

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

Разум и машина

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

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

Първата невронна мрежа способна да се учи е перцептронът, и е демонстрирана през 1957 г. от психолога Франк Розенблат в университета Корнел. Дизайнът на перцептрона много наподобява модерните невронни мрежи, с изключение на това, че има само един слой възли с регулируеми тегла и прагове. По онова време перцептроните били активна област на изследване както в психологията така и в компютърните технологии – само си представете, в самата зора на компютърните науки. Докато през 1959 г. Мински и Пепърт не публикуват книга озаглавена „Перцептрони“, в която обясняват, че изпълнението на обикновени задачи от перцептрони биха отнели непрактично дълго време, което ги прави неефективни.

Цикличност

Разбира се, ако използваме малко по-сложна машина всички ограничения отпадат, например ако добавим още един слой. Но по онова време, книгата има доста негативен ефект върху изследванията на невронните мрежи. Може би ако поставим нещата в исторически контекст, разбираме защо невронните мрежи изчезват за десетилетие от научните среди. Тогава споровете се водят за програмиране на език като Lisp, все още е имало аналогови компютри и не е било ясно дали програмирането е правилния подход. За добър или лош късмет се насочват към възможно най-правилния избор за времето – чисто цифровите изчисления.

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

На чисто интелектуално ниво съществува нещо незадоволително в невронните мрежи, което и до днес притеснява учени и ИТ специалисти. Обучението на една мрежа може да я модифицира до такава степен, че тя успешно да разпознава разни изображения, това работи. Но на база какво точно успява да прави това? Кои са характеристиките на изображението които разпознава мрежата? Как прави разлика между къщи, коли, кафе и думите асоциирани с изображенията? Анализирането на праговете на различните възли не дава отговор на тези въпроси, генерираните масиви от данни са неразбираеми за хората, и въпреки това работят.

Под капака

През последните години компютърните специалисти започват да измислят гениални методи за извличане на аналитичните стратегии на невронните мрежи. Но през 80-те години стратегиите на невронните мрежи са неразбираеми. Така че около края на века невронните мрежи биват заменени от поддържащи векторни машини – алтернативен подход към машинното обучение, основаващ се на чиста и елегантна математика. Едва в последните години, благодарение на бързоразвиващата се гейминг индустрия, учените започват да осъзнават потенциала на дълбокото обучение. Сложните изображения и бързите движения на днешните видеоигри изискват изключителен хардуер – графичните ускорители (GPU), които в един чип съчетават хиляди относително прости ядра за обработка информация. Не е нужно дълго време на изследователите да осъзнаят, че архитектурата на графичните карти има потенциала да захрани многослойните невронни мрежи.

Именно технологиите използвани за графичните процесори позволяват на еднослойните невронни мрежи от 60-те и двуслойните от 80-те, да се превърнат в днешните 10-, 15- и дори 50-слойни невронни мрежи. От тук идва „дълбокото“ значение на дълбокото обучение, като в момента благодарение на такъв тип невронни мрежи са възможни всички постижения в изкуствения интелект.

Яснотата около невронните мрежи все още е проблем за теоретиците, но има напредък и в тази посока. Ръководствата на различни институции, като CBMM, включват в програмата си теоретично изучаване на невронни мрежи. Миналият месец беше публикуван и първият доклад в три части, който подробно разглежда съвременните невронни мрежи. Все още има много теоретични въпроси, които чакат своите отговори, но да се надяваме, че история на невронните мрежи ще завърши 70 годишната цикличност с прогрес.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *