Как всъщност учи изкуственият интелект (без излишни глупости)
Рецептникът на майка ти
Нека ти разкажа за майка ми. Тя прави най-вкусния ябълков пай, който съм опитвал. Абсолютно съвършен. Всеки път.
И ето какво: тя никога не е ползвала рецепта. Нито веднъж. Прави този пай от 40 години. Просто знае какво работи.
Как се е научила?
Започнала е с рецептата на майка си. Първият пай? Приличен. Вторият пай? Добавила е малко повече канела, защото първият бил блудкав. Третият пай? По-малко захар, защото вторият бил твърде сладък. Четвъртият пай? Повече масло в тестото, защото било твърде сухо.
Година след година, пай след пай, тя коригираше. Забелязваше закономерности. „Когато ябълките са твърде кисели, добавяй повече захар. Когато са сладки, добавяй по-малко. Ако е влажно, ползвай по-малко вода в тестото. Ако е сухо, ползвай повече.“
Тя се учеше от опита. От обратната връзка. От това, че е направила стотици пайове и е забелязвала какво работи и какво не.
Точно така работи машинното обучение. Само че вместо да правят пайове, компютрите правят прогнози. И вместо 40 години, те го правят за няколко часа.
Нека ти покажа как.
Какво всъщност означава „учене“ (за машините)
Когато хората кажат, че компютър „се е научил“ на нещо, те нямат предвид, че го е разбрал. Имат предвид, че е станал по-добър в дадена задача чрез практика.
Майка ми не разбираше химията на това как маслото прави тестото люспесто. Тя просто знаеше, че го прави. Открила беше закономерност: повече масло означава по-люспесто тесто. Това е учене.
Компютрите правят същото, но с данни вместо с пайове.
Нека ти дам един реален пример, с който се сблъскваш всеки ден: спам филтърът на имейла ти.
Старият начин (преди ученето)
Ръчни правила, които постоянно се чупеха
Някой трябваше да напише правила: „Ако имейлът казва „нигерийски принц“, това е спам. Ако казва „спечелихте от лотарията“, това е спам. Ако има повече от 10 удивителни, това е спам.“
Проблемът? Спамърите се адаптираха. Започнаха да пишат „N1gerian pr1nce“ или „L0ttery“. Правилата се счупиха. Някой трябваше ръчно да пише нови правила. Отново и отново. Завинаги.
Новият начин (с учене)
Компютърът сам открива моделите
Показваш на компютъра 10 000 имейла. „Тези 5 000 са спам. Тези 5 000 са истински.“ Компютърът ги разглежда и открива модели, които никога не си му казал да търси:
- → Спам имейлите обикновено съдържат определени думи заедно
- → Идват от конкретни типове имейл адреси
- → Имат необичайни модели на пунктуация
- → Връзките в тях изглеждат подозрителни по конкретни начини
Сега, когато спамърите сменят тактиката си, просто показваш на компютъра нови примери за спам. Той открива нови модели. Няма нужда да пишеш нови правила ръчно.
Това е машинно обучение: компютрите стават по-добри в задачите, като откриват модели в примери, а не като следват правила, написани от някого.
Трите начина, по които машините се упражняват
Точно както хората учат по различни начини, машините имат различни методи на обучение за различни ситуации. Нека ти разкажа за трите основни, като използвам примери, с които наистина ще се свържеш.
Учене с учител (обучение с учител)
Помниш ли как учеше таблицата за умножение в училище? Учителят ти даваше задачи И отговорите. „Колко е 7 по 8?“ „56.“ Упражняваше се, докато не можеше да отговаряш, без да гледаш.
Това е обучение с учител. Компютърът получава въпроси и отговори заедно.
Пример: Как да научим компютъра да разпознава снимки
Показвате му 1000 снимки. За всяка от тях му казвате какво има на нея:
- 📷 Тази снимка: котка
- 📷 Тази снимка: куче
- 📷 Тази снимка: кола
Компютърът започва да познава на случаен принцип. Отначало познаванията са ужасни. После забелязва закономерности: „Снимките с остри уши и мустаци обикновено са на котки. Снимките с увиснали уши и мокри носове обикновено са на кучета. Снимките с колела и прозорци обикновено са на коли.“
Така се упражнява върху тези 1000 снимки, докато не стане наистина добър. След това го тествате с нови снимки, които никога не е виждал. Ако е научил закономерностите добре, ги разпознава правилно.
Ето как телефонът ви разпознава лицата, как лекарите използват изкуствен интелект, за да откриват болести на рентгенови снимки, и как гласовите асистенти разбират какво казвате.
Учене без учител (неконтролирано обучение)
Представете си, че подреждате колекцията от копчета на покойната си леля. Тя е имала стотици копчета, всички смесени заедно. Нямате указания. Просто започвате да ги подреждате на купчинки, които ви се струват логични.
Сами откривате закономерностите
- → Големите копчета тук. Малките там.
- → Металните на тази купчинка. Пластмасовите на онази.
Откривате закономерности, без никой да ви казва какво да търсите.
Това е неконтролираното обучение. Компютърът търси закономерности, без да му е казано какъв трябва да бъде отговорът.
Пример: Откриване на групи клиенти
Един магазин разполага с данни за 10 000 клиенти: какво купуват, кога пазаруват, колко харчат. Никой не казва на компютъра какви групи съществуват. Той просто гледа и открива модели:
Група 1: Млади хора, които пазаруват късно вечер, купуват малки количества и идват често
Група 2: Семейства, които пазаруват през уикенда, купуват на едро и идват всяка седмица
Група 3: Пенсионери, които пазаруват по обяд през делничните дни, купуват конкретни продукти и са много редовни
Никой не му е казал, че тези групи съществуват. Той ги откри, като забеляза кои клиенти се държат по сходен начин.
Точно така Netflix групира предавания, които може да ви харесат, така откриването на измами засича необичайни транзакции и така учените откриват модели в ДНК.
Учене чрез опит (обучение с подсилване)
Помните ли как учите куче да сяда? Не му обяснявате какво означава „седни“. Просто казвате „седни“ и когато кучето седне, му давате лакомство. Когато не седне, няма лакомство. Кучето се досеща: седенето означава лакомства. Несенето не означава лакомства.
Това е обучението с подсилване. Опитваш неща. Виждаш кое работи. Правиш повече от това, което работи.
Пример: Да научим компютър да играе шах
Компютърът отначало не знае правилата. Просто опитва ходове. На случаен принцип. Повечето са ужасни.
Но ето какво става: когато спечели партия, му казвате „браво“. Когато загуби, му казвате „това не проработи“. То започва да забелязва:
- ✓ Преместването на дамата тук често води до победа
- ✗ Оставянето на царя незащитен обикновено води до загуба
- ✓ Контролът върху центъра на дъската е полезен
След милиони партии със себе си става наистина, наистина добър. Не защото някой го е учил на стратегия. А защото е опитал всичко и е научил кое работи.
Ето как изкуственият интелект се научи да побеждава световните шампиони по шах и Го, как роботите се учат да ходят и как самоуправляващите се коли се учат да шофират.
Трите стила на обучение
Как всъщност се случва упражняването (тайният процес)
Добре, значи компютърът се упражнява, като гледа примери. Но какво всъщност се случва отвътре? Нека те преведа през това, сякаш надничаш през рамото на компютъра.
Стъпка 1: Започни с напълно случайни предположения
Като да познаеш теглото на тиква
Представи си, че се опитваш да познаеш теглото на тиква само като я гледаш. Никога не си правил това, затова просто изстрелваш случайно число. „Ъъъ... 15 паунда?“
Точно това прави компютърът. Започва със случайни предположения. Напълно случайни. Все едно да помолиш новородено бебе да разпознава цветове. Предположенията са ужасни. Това е нормално. Това е отправната точка.
Стъпка 2: Провери колко грешиш
Измерване на грешката
Сега слагаш тиквата на кантар. Всъщност е 23 паунда. Сбъркал си с 8 паунда. Това е твоята грешка.
Компютърът прави същото. Прави предположение, проверява верния отговор, изчислява колко е сгрешил. „Казах, че тази снимка е на куче. Всъщност е на котка. Сгреших много.“
Стъпка 3: Промени следващото си предположение
Учене от грешките
Следващата тиква прилича на първата. Не познаваш пак 15 паунда. Научил си, че такива тикви са по-тежки, отколкото си мислеше. Затова познаваш 22 паунда. По-близо!
Компютърът прави точно това. Променя метода си на познаване въз основа на грешките си. „Продължавах да казвам „куче“, когато виждах увиснали уши, но грешах. Нека обърна повече внимание и на други характеристики.“
Стъпка 4: Повтори хиляди пъти
Практиката прави майстора
Ако познаеш теглото на 1000 тикви и всеки път провериш на кантара, ще станеш доста добър в това. Ще забележиш закономерности: „Големите, закръглени тикви с дебели дръжки обикновено са тежки. Високите и тънките обикновено са по-леки.“
Компютърът прави това хиляди или милиони пъти. Всеки път става съвсем малко по-добър. В крайна сметка става наистина добър в каквото и да е, което практикува.
Това е целият процес. Направи предположение. Провери колко грешиш. Коригирай. Повтаряй, докато не станеш достатъчно добър. Проста идея. Но я повтори милиони пъти наистина бързо и ще получиш впечатляващи резултати.
Защо това работи толкова добре (и защо не е магия)
Ето какво е удивителното: този изключително прост процес работи за невероятно разнообразие от задачи.
Същата основна идея (практика с обратна връзка) може да:
- ✓ Научи се да разпознава лицето ти, за да отключва телефона ти
- ✓ Научи се да превежда между езици
- ✓ Научи се да открива тумори в медицински сканирания
- ✓ Научи се да прогнозира дали утре ще вали
- ✓ Научи се да препоръчва филми, които вероятно ще ти харесат
Защо работи за всички тези различни неща?
Защото в основата си всички те са проблеми с разпознаване на закономерности. Лицето ти има закономерности. Езиците имат закономерности. Туморите имат закономерности. Времето има закономерности. Филмовите ти предпочитания имат закономерности.
Компютърът открива тези закономерности, като практикува с примери. Той не „разбира“ лица, езици или медицина. Просто открива: когато видя тази закономерност, отговорът обикновено е онзи.
Това е впечатляващо. Но не е магия. Това е разпознаване на закономерности, практикувано в мащаб, който хората не могат да достигнат.
Какво всъщност научава компютърът (истината може да ви изненада)
Ето какво повечето хора разбират погрешно: компютърът не научава разбиране. Той научава преки пътища.
Нека ви покажа какво имам предвид с една истинска история.
ИИ за рак на кожата, който измами
Учени обучиха ИИ да разпознава рак на кожата от снимки. Той стана наистина добър. По-добър от някои лекари. Удивително, нали?
После забелязаха нещо странно. ИИ гледаше линийки. Много от снимките с рак имаха линийки (за мащаб). Много от снимките без рак нямаха.
ИИ научи: „Ако видя линийка, вероятно е рак.“ Технически това е модел, който работеше в обучителните данни. Но това не е разбиране на рака. Това е преки път.
Това се случва през цялото време:
Примери за пристрастия и преки пътища в обучението на ИИ
- ⚠️ ИИ за наемане на работа научи, че автобиографии с името „Jared“ по-често водят до назначаване (защото обучителните данни съдържаха пристрастни човешки решения)
- ⚠️ Система за разпознаване на лица работеше по-добре с бели мъже (защото те бяха свръхпредставени в обучителните снимки)
- ⚠️ Система за одобряване на заеми дискриминираше определени квартали (защото се учеше от исторически пристрастни данни за кредитиране)
Компютърът открива модели в данните, които му даваш. Ако данните съдържат пристрастия, той научава пристрастията. Ако данните съдържат преки пътища, той научава преките пътища. Той не знае по-добре. Просто намира това, което работи в примерите, които е видял. Ето защо машинното обучение изисква внимателно отношение. То е мощно, но не е мъдро.
Двата начина за практикуване (традиционен срещу различен)
Помниш ли как казах, че компютрите се учат, като коригират предположенията си въз основа на грешките? Има два основни начина да се прави тази корекция.
Традиционният начин: Малки промени в числата
Как работи повечето изкуствен интелект днес
Компютърът има милиони малки копчета (наречени тегла). Всяко копче е настроено на конкретно число.
Когато компютърът направи грешка, той определя кои копчета да завърти и в каква посока. Завърта ги съвсем малко. След това прави ново предположение, допуска нова грешка и отново завърта копчетата. Отново и отново. След като направи това милиони пъти, всички тези копчета са настроени на числа, които дават добри предположения.
Доброто
Работи наистина добре. Може да открива изключително сложни модели. Доказано е и е надеждно.
Лошото
Използва огромно количество изчислителна мощ. Обучението на тези системи струва милиони долари за електричество. И когато приключи, имаш милиони настройки на копчетата, но не можеш наистина да обясниш защо са настроени точно на тези числа. Това е черна кутия.
Различен начин: Намиране на правила вместо числа
Как работят някои по-нови системи
Някои системи (като тези, които компании като Dweve изграждат) работят по различен начин. Вместо да настройват милиони числови параметри, те търсят логически правила.
Вместо да учат „тегло 47 трябва да е 0,8234“, те учат „ако имейлът съдържа спешни думи И е от неизвестен подател И има странни връзки, тогава вероятно е спам“.
По-скоро е като как се учат хората
Нямаш числа в главата си. Имаш практически правила: „Ако хлябът мирише на кисело, вероятно е развален. Ако небето е тъмно и тежко, може да завали.“
Доброто
Всъщност можеш да обясниш решенията. „Имейлът е маркиран като спам, защото отговаря на тези три модела.“ Освен това е много по-ефективно. Използва много по-малко енергия.
Лошото
Не всеки проблем се решава добре с правила. Някои неща наистина се нуждаят от онези милиони малки числови настройки.
Нито един от двата подхода не е винаги по-добър. Те са инструменти. Използваш правилния за задачата.
Как всъщност изглежда процесът на обучение
Къде всъщност работи това в живота ви
Нека ви покажа къде вече използвате машинно обучение всеки ден, вероятно без да го осъзнавате.
⏰ Вашата сутрешна аларма
Алармата на телефона ви вероятно има функция, която постепенно увеличава силата на звука. Това е просто. Но някои телефони също се учат кога обикновено се събуждате естествено и предлагат по-подходящо време за алармата. Машинното обучение е забелязало: „Винаги отлагате алармата за 6:00, но се събуждате естествено в 6:30. Нека предложа 6:30 вместо това.“
🚗 Вашето пътуване до работа
Приложенията за карти предвиждат трафика. Как? Те са се научили от милиони пътувания: „Във вторник сутрин тази магистрала се задръства около 7:45. Когато вали, по този маршрут се пътува с 15 минути повече.“ Модели, открити от данни.
📧 Вашата електронна поща
Всеки спам имейл, който не достига до входящата ви кутия? Машинно обучение. Всеки имейл, автоматично сортиран в папки? Машинно обучение. Приложението ви за поща се е научило от милиони примери как изглежда спамът и кое е важно конкретно за вас.
🎬 Вашето забавление
Netflix предлага предавания. Spotify създава плейлисти за вас. YouTube препоръчва видеоклипове. Всичко това е машинно обучение. Те са се научили: „Хората, които са гледали тези три предавания, обикновено харесват и това четвърто. Хората, които слушат този изпълнител, обикновено харесват и тези други изпълнители.“
🛒 Вашето пазаруване
„Клиентите, които купиха това, купиха също и...“ Машинно обучение. „Може да харесате още...“ Машинно обучение. Дори цените, които виждате, може да са коригирани от машинно обучение въз основа на моделите на търсенето.
🔒 Вашата сигурност
Компанията за кредитни карти блокира подозрителна транзакция? Машинното обучение е забелязало модел: „Това плащане не съответства на нормалното поведение на този човек при харчене. Може да е измама.“
Всички тези системи са се учили от примери. Откривали са модели. Ставали са по-добри с практиката. Това е машинно обучение, което докосва живота ви десетки пъти на ден.
Честните граници (Какво не може да прави)
Машинното обучение е мощно, но не е магия. Нека бъда напълно честен за това какво не може да прави.
Не може да се учи без примери
Трябват ви данни. Много данни. Искате да научите компютър да разпознава рядко заболяване? Трябват ви хиляди примери за това заболяване. Нямате ги? Не можете да обучите системата. Толкова е просто.
Не разбира контекста като хората
Човек вижда знак "STOP", покрит със сняг, и знае, че това все още е знак за стоп. Компютърът може да не го разпознае, защото всички примери, с които е обучен, са показвали чисти, видими знаци за стоп. Той е научил модела за перфектни знаци за стоп, а не концепцията за "стоп".
Не може да обясни разсъжденията си (обикновено)
Попитайте лекар защо смята, че имате грип: "Имате температура, болки в тялото и е грипен сезон." Ясни разсъждения.
Попитайте повечето AI системи защо са взели дадено решение: "Защото тези 47 милиона числа са зададени на тези конкретни стойности." Не е от полза.
Ще научи вашите пристрастия
Ако го обучите с пристрастни данни, то научава пристрастието. Ако историческите данни за наемане на работа показват пристрастие срещу определени групи, AI също се научава да бъде пристрастен. То не знае по-добре. Просто научава това, което е в данните.
Не може да се адаптира към напълно нови ситуации
Хората са страхотни в това. Никога не сте виждали лилав жираф, но ако го видите, ще го разпознаете като жираф, който просто е лилав.
Компютър, обучен с обикновени жирафи, може да бъде напълно объркан от лилав такъв. Той не е бил в данните за обучение. Системата не знае как да обобщава по този начин.
Това не са дребни проблеми. Те са от основно значение за това как работи машинното обучение. Разбирането на тези ограничения е също толкова важно, колкото и разбирането на възможностите.
Какво трябва да запомните
Ако ви се струва много, ето какво е наистина важно:
- 1 Машинното обучение е практика с обратна връзка. Компютърът прави предположения, проверява дали са верни, коригира се и повтаря. Точно както бихте научили нещо чрез практика.
- 2 Съществуват три основни типа. С учител (с отговори), без учител (откриване на закономерности самостоятелно) и с подкрепление (учене чрез опит). Всеки от тях е подходящ за различни проблеми.
- 3 То открива закономерности, не разбиране. Компютърът не „разбира“. Той просто забелязва: когато видя този модел, отговорът обикновено е този. Мощно, но не е същото като човешкото разбиране.
- 4 Използвате го постоянно. Имейлът ви, картите ви, развлеченията ви, пазаруването ви. Машинното обучение докосва живота ви десетки пъти дневно.
- 5 То има реални ограничения. Изисква много данни. Усвоява пристрастия. Не може лесно да се обясни. Не обобщава като хората. Разбирането на ограниченията е също толкова важно, колкото и разбирането на възможностите.
- 6 Съществуват различни подходи. Повечето ИИ настройва милиони числови параметри. Някои системи вместо това учат логически правила. Различни инструменти за различни задачи.
Изводът
Машинното обучение не е мистерия. То е просто компютър, който става по-добър в нещо чрез практика.
Покажете му примери. Оставете го да прави предположения. Кажете му кога греши. Гледайте как се коригира и подобрява. Повторете хиляди пъти. В крайна сметка то става наистина добро в задачата.
То не се учи така, както вие се научихте да карате колело, да четете или да създавате приятелства. То не развива разбиране, мъдрост или здрав разум.
То открива статистически модели в данните чрез многократна практика и коригиране. Това е всичко. Но направено в мащаб, който хората не могат да достигнат, с милиони примери, то дава наистина полезни резултати.
Вашият филтър за спам работи. Вашият гласов асистент ви разбира. Вашите карти ви насочват в трафика. Всичко това, защото компютрите са практикували върху милиони примери, докато не са открили модели, които работят.
Думата „обучение“ го кара да звучи магически. Реалността е математическа. Но тази математика, практикувана в мащаб, променя начина, по който живеете живота си всеки ден.
Сега знаете как работи. Мистерията изчезна. Машинното обучение е откриване на модели чрез практика. Проста концепция. Мощно изпълнение. И го използвате точно сега, четейки тези думи на устройство, изпълнено със системи, които са се научили да улесняват живота ви.
Някои компании, като Dweve, проучват различни начини за „практикуване“ отвъд простото настройване на цифровите показатели. Усвояване на логически правила вместо числови тегла. Откриване на ограничения вместо параметри за обучение. Различни подходи за различни проблеми. Защото машинното обучение не е задължително да е универсално решение.