„Как учи изкуственият интелект?“ , това ръководство разкрива основните идеи на разбираем език – с примери, малки отклонения и няколко несъвършени метафори, които все пак донякъде помагат. Нека да се задълбочим. 🙂
Статии, които може да ви харесат да прочетете след това:
🔗 Какво е предсказуем изкуствен интелект
Как прогнозните модели прогнозират резултатите, използвайки исторически данни и данни в реално време.
🔗 Кои индустрии ще промени ИИ
Секторите най-вероятно ще бъдат трансформирани от автоматизация, анализи и агенти.
🔗 Какво означава GPT
Ясно обяснение на акронима GPT и произхода му.
🔗 Какво представляват уменията за изкуствен интелект
Основни компетенции за изграждане, внедряване и управление на системи с изкуствен интелект.
И така, как се случва? ✅
Когато хората питат „Как учи изкуственият интелект?“ , те обикновено имат предвид: как моделите стават полезни, вместо просто фантастични математически играчки. Отговорът е рецепта:
-
Ясна цел - функция на загубата, която определя какво означава „добро“. [1]
-
Качествени данни - разнообразни, ясни и релевантни. Количеството помага; разнообразието помага още повече. [1]
-
Стабилна оптимизация - градиентно спускане с трикове за избягване на падане от скала. [1], [2]
-
Генерализация - успех с нови данни, не само с обучителния набор. [1]
-
Обратна връзка - оценка, анализ на грешки и итерация. [2], [3]
-
Безопасност и надеждност - предпазни мерки, тестване и документация, за да не се стигне до хаос. [4]
За достъпни основи, класическият текст за дълбоко обучение, визуално ориентираните бележки от курса и практическият ускорен курс обхващат основните неща, без да ви затрупват със символи. [1]–[3]
Как се учи изкуственият интелект? Краткият отговор на разбираем английски ✍️
Един ИИ модел започва със случайни стойности на параметрите. Той прави прогноза. Вие оценявате тази прогноза със загуба . След това променяте тези параметри, за да намалите загубата, използвайки градиенти . Повтаряйте този цикъл в много примери, докато моделът спре да се подобрява (или ви свършат закуските). Това е цикълът на обучение на един дъх. [1], [2]
Ако искате малко по-голяма прецизност, вижте разделите за градиентно спускане и обратно разпространение по-долу. За бърза и лесно смилаема информация, кратки лекции и лабораторни упражнения са широко достъпни. [2], [3]
Основи: данни, цели, оптимизация 🧩
-
Данни : Входни данни (x) и цели (y). Колкото по-обширни и по-чисти са данните, толкова по-голям е шансът ви за обобщение. Курирането на данни не е бляскаво, но е невъзпят герой. [1]
-
Модел : Функция (f_\theta(x)) с параметри (\theta). Невронните мрежи са подредби от прости единици, които се комбинират по сложни начини - тухлички от Лего, но по-меки. [1]
-
Цел : Загуба (L(f_\theta(x), y)), която измерва грешката. Примери: средноквадратична грешка (регресия) и кръстосана ентропия (класификация). [1]
-
Оптимизация : Използвайте (стохастичен) градиентен спуск за актуализиране на параметрите: (\theta \leftarrow \theta - \eta \nabla_\theta L). Скоростта на обучение (\eta): твърде голяма и подскачате; твърде малка и дремвате завинаги. [2]
За ясно въведение във функциите на загуба и оптимизацията, класическите бележки за трикове и капани за обучение са чудесен начин за преглед. [2]
Контролирано обучение: учете се от обозначени примери 🎯
Идея : Покажете на модела двойките вход и верен отговор. Моделът научава съпоставяне (x \rightarrow y).
-
Често срещани задачи : класификация на изображения, анализ на настроенията, таблично прогнозиране, разпознаване на реч.
-
Типични загуби : кръстосана ентропия за класификация, средноквадратична грешка за регресия. [1]
-
Капани : шум от етикети, дисбаланс на класове, изтичане на данни.
-
Корекции : стратифицирано вземане на проби, стабилни загуби, регуларизация и по-разнообразно събиране на данни. [1], [2]
Въз основа на десетилетия на бенчмаркове и производствена практика, контролираното обучение остава най-подходящият инструмент, защото резултатите са предвидими, а показателите са ясни. [1], [3]
Самостоятелно и самостоятелно обучение: научете структурата на данните 🔍
Без надзор се учи на модели без етикети.
-
Клъстериране : групирането на подобни точки — k-средни стойности е просто и изненадващо полезно.
-
Намаляване на размерността : компресиране на данните до основни посоки – PCA е инструментът за вход.
-
Моделиране на плътност/генеративно моделиране : изучаване на самото разпределение на данните. [1]
Самостоятелното наблюдение е съвременният двигател: моделите създават собствено наблюдение (маскирано предсказване, контрастно обучение), което ви позволява да тренирате предварително върху океани от немаркирани данни и да ги настройвате по-късно. [1]
Обучение с подсилване: учете се чрез правене и получаване на обратна връзка 🕹️
Агентът взаимодейства със среда , получава награди и научава политика , която максимизира дългосрочната награда.
-
Основни елементи : състояние, действие, награда, политика, ценностна функция.
-
Алгоритми : Q-обучение, градиенти на политики, актьор-критик.
-
Проучване срещу експлоатация : опитвайте нови неща или използвайте повторно това, което работи.
-
Присвояване на кредит : кое действие е довело до какъв резултат?
Човешката обратна връзка може да насочва обучението, когато наградите са хаотични – класирането или предпочитанията помагат за оформянето на поведението, без да се кодира ръчно перфектната награда. [5]
Дълбоко обучение, обратно пропиране и градиентен спускане - биещото сърце 🫀
Невронните мрежи са композиции от прости функции. За да се учат, те разчитат на обратно разпространение :
-
Напредно преминаване : изчисляване на прогнози от входните данни.
-
Загуба : измерване на грешката между прогнозите и целите.
-
Обратно преминаване : прилага се верижното правило, за да се изчислят градиентите на загубата спрямо всеки параметър.
-
Актуализация : настройте параметрите спрямо градиента, използвайки оптимизатор.
Варианти като momentum, RMSProp и Adam правят обучението по-малко темпераментно. Методите за регуларизация, като dropout , weight decay и ранно спиране, помагат на моделите да обобщават, вместо да ги запомнят. [1], [2]
Трансформърс и внимание: защо съвременните модели се чувстват умни 🧠✨
Трансформаторите замениха много повтарящи се настройки в езика и визията. Ключовият трик е самовниманието , което позволява на модела да претегля различни части от входните си данни в зависимост от контекста. Позиционните кодирания управляват реда, а многоглавото внимание позволява на модела да се фокусира върху различни взаимоотношения едновременно. Мащабирането - по-разнообразни данни, повече параметри, по-дълго обучение - често помага, с намаляваща възвръщаемост и нарастващи разходи. [1], [2]
Генерализация, свръхнапасване и танцът на отклонението и дисперсията 🩰
Един модел може да се справи отлично с обучителния набор и въпреки това да се провали в реалния свят.
-
Преобучение : запаметява шума. Грешката при обучение е намаляла, грешката при тестване е нагоре.
-
Недостатъчно напасване : твърде просто; пропуска сигнала.
-
Компромис между отклонение и дисперсия : сложността намалява отклонението, но може да увеличи дисперсията.
Как да обобщаваме по-добре:
-
По-разнообразни данни - различни източници, области и гранични случаи.
-
Регуларизация - отпадане, намаляване на теглото, увеличаване на данните.
-
Правилна валидация - чисти тестови набори, кръстосана валидация за малки данни.
-
Мониторинг на дрейфа - разпределението на данните ви ще се променя с течение на времето.
Практиката, осъзнаваща риска, ги определя като дейности по целия жизнен цикъл – управление, картографиране, измерване и управление, а не като еднократни контролни списъци. [4]
Показатели, които имат значение: как знаем, че обучението се е случило 📈
-
Класификация : точност, прецизност, пълнота на отчитане, F1, ROC AUC. Небалансираните данни изискват криви на прецизност-пълнота на отчитане. [3]
-
Регресия : MSE, MAE, (R^2). [1]
-
Класиране/извличане : MAP, NDCG, recall@K. [1]
-
Генеративни модели : объркване (език), BLEU/ROUGE/CIDEr (текст), CLIP-базирани оценки (мултимодални) и - от решаващо значение - човешки оценки. [1], [3]
Изберете показатели, които съответстват на въздействието върху потребителите. Дори и малко подобрение в точността може да е без значение, ако истинската цена са фалшивите положителни резултати. [3]
Работен процес на обучение в реалния свят: прост план 🛠️
-
Формулирайте проблема - дефинирайте входни данни, изходни данни, ограничения и критерии за успех.
-
Канва на данни - събиране, етикетиране, почистване, разделяне, допълване.
-
Базова линия - започнете просто; линейните или дървовидните базови линии са шокиращо конкурентни.
-
Моделиране - опитайте няколко семейства: градиентно-усилени дървета (таблични), CNN (изображения), трансформатори (текст).
-
Обучение - график, стратегии за скорост на обучение, контролни точки, смесена прецизност, ако е необходимо.
-
Оценка - аблации и анализ на грешките. Разгледайте грешките, не само средната стойност.
-
Разгръщане - конвейер за извод, наблюдение, регистриране, план за връщане към предишни промени.
-
Итерация - по-добри данни, фина настройка или промени в архитектурата.
Мини случай : проект за класификатор на имейли започна с проста линейна базова линия, след което предварително обучен трансформатор беше прецизиран. Най-голямата победа не беше моделът, а затягането на рубриките за етикетиране и добавянето на недостатъчно представени „гранични“ категории. След като те бяха обхванати, валидирането F1 най-накрая проследи реалната производителност. (Вашето бъдещо аз: много съм благодарен.)
Качество на данните, етикетиране и финото изкуство да не лъжеш себе си 🧼
Боклукът е вътре, съжалението е навън. Указанията за етикетиране трябва да бъдат последователни, измерими и преразглеждани. Съгласието между анотаторите е важно.
-
Напишете рубрики с примери, категорични случаи и решения за решаване на тайбрека.
-
Одитирайте наборите от данни за дубликати и почти дубликати.
-
Проследете произхода - откъде е всеки пример и защо е включен.
-
Измерете покритието на данните спрямо реални потребителски сценарии, а не само спрямо чист бенчмарк.
Те се вписват идеално в по-широки рамки за осигуряване и управление, които можете реално да приложите на практика. [4]
Трансфер на обучение, фина настройка и адаптери - използвайте повторно тежката работа ♻️
Предварително обучените модели изучават общи представяния; фината настройка ги адаптира към вашата задача с по-малко данни.
-
Извличане на характеристики : замразяване на гръбначния стълб, трениране на малка глава.
-
Пълна фина настройка : актуализирайте всички параметри за максимален капацитет.
-
Параметрично ефективни методи : адаптери, нискорангови актуализации в стил LoRA - подходящи, когато изчислителните мощности са ограничени.
-
Адаптация на домейн : подравняване на вгражданията в различните домейни; малки промени, големи ползи. [1], [2]
Този модел на повторно използване е причината съвременните проекти да могат да се развиват бързо без героични бюджети.
Безопасност, надеждност и подравняване - задължителните елементи 🧯
Ученето не е само въпрос на точност. Искате също така модели, които са надеждни, справедливи и съобразени с предназначението.
-
Устойчивост на враждебност : малки смущения могат да заблудят моделите.
-
Пристрастие и справедливост : измервайте представянето на подгрупите, а не само общите средни стойности.
-
Интерпретируемост : приписването на характеристиките и сондирането ви помагат да разберете защо .
-
Човекът в цикъла : пътища за ескалация за двусмислени или силно въздействащи решения. [4], [5]
Обучението, основано на предпочитания, е един прагматичен начин за включване на човешка преценка, когато целите са неясни. [5]
Често задавани въпроси за една минута - бърз огън ⚡
-
И така, как всъщност се учи изкуственият интелект? Чрез итеративна оптимизация срещу загуба, с градиенти, насочващи параметрите към по-добри прогнози. [1], [2]
-
Винаги ли помагат повече данни? Обикновено, докато възвръщаемостта намалява. Разнообразието често е по-добро от суровия обем. [1]
-
Ами ако етикетите са объркани? Използвайте методи, устойчиви на шум, по-добри рубрики и помислете за самостоятелно предварително обучение. [1]
-
Защо трансформаторите доминират? Вниманието се мащабира добре и обхваща дългосрочни зависимости; инструментариумът е зрял. [1], [2]
-
Как да разбера, че съм приключил с обучението? Загубата на валидация се стабилизира, показателите се стабилизират и новите данни се държат според очакванията - след това следете за отклонения. [3], [4]
Сравнителна таблица - инструменти, които всъщност можете да използвате днес 🧰
Леко странно нарочно. Цените са за основни библиотеки - обучението в голям мащаб очевидно има разходи за инфраструктура.
| Инструмент | Най-добро за | Цена | Защо работи добре |
|---|---|---|---|
| PyTorch | Изследователи, строители | Безплатно - отворен src | Динамични графики, силна екосистема, страхотни уроци. |
| TensorFlow | Производствени екипи | Безплатно - отворен src | Зряло обслужване, TF Lite за мобилни устройства; голяма общност. |
| scikit-learn | Таблични данни, базови стойности | Безплатно | Чист API, бърз за итерация, страхотна документация. |
| Керас | Бързи прототипи | Безплатно | API на високо ниво върху TF, четими слоеве. |
| JAX | Потребители с опит, изследвания | Безплатно | Автоматична векторизация, XLA скорост, елегантни математически вибрации. |
| Трансформърс за прегръщащи лица | НЛП, зрение, аудио | Безплатно | Предварително обучени модели, лесна фина настройка, страхотни хъбове. |
| Светкавица | Работни процеси за обучение | Свободно ядро | Структура, регистриране, включени батерии за множество графични процесори. |
| XGBoost | Табличен състезателен | Безплатно | Силни базови линии, често печелят при структурирани данни. |
| Тежести и отклонения | Проследяване на експерименти | Безплатно ниво | Възпроизводимост, сравняване на изпълнения, по-бързи цикли на обучение. |
Авторитетни документи, с които да започнете: PyTorch, TensorFlow и ръководството за потребителя на scikit-learn. (Изберете едно, създайте нещо малко, итерирайте.)
Дълбоко гмуркане: практични съвети, които ви спестяват реално време 🧭
-
Графики за скорост на обучение : косинусовото затихване или едноцикловото разпределение могат да стабилизират обучението.
-
Размер на партидата : по-голямото не винаги е по-добро - следете показателите за валидиране, не само пропускателната способност.
-
Тегло при инициализация : съвременните настройки по подразбиране са приемливи; ако обучението се забави, преразгледайте инициализацията или нормализирайте ранните слоеве.
-
Нормализация : партидната норма или слоевата норма може драстично да изглади оптимизацията.
-
Увеличаване на данните : обръщане/изрязване/трептене на цветовете за изображения; маскиране/разместване на маркери за текст.
-
Анализ на грешките : групирането на грешки по срез - един ръб може да повлече всичко надолу.
-
Възпроизвеждане : задаване на начални параметри, регистриране на хиперпараметри, запазване на контролни точки. В бъдеще ще бъдете благодарни, обещавам. [2], [3]
Когато се съмнявате, обърнете внимание на основите. Основите остават компасът. [1], [2]
Малка метафора, която почти работи 🪴
Обучението на модел е като поливане на растение със странна дюза. Твърде много вода - прекалено много локва. Твърде малко - недостатъчно суша. Правилната честота, със слънчева светлина от добри данни и хранителни вещества от чисти обективи, и получавате растеж. Да, леко банално, но се получава.
Как се учи изкуственият интелект? Обединявайки всичко 🧾
Моделът започва произволно. Чрез актуализации, базирани на градиенти, водени от загуба, той подравнява параметрите си с моделите в данните. Появяват се представяния, които улесняват прогнозирането. Оценката ви казва дали обучението е реално, а не случайно. А итерацията - с предпазни мерки за безопасност - превръща демо версията в надеждна система. Това е цялата история, с по-малко мистериозни вибрации, отколкото изглеждаше първоначално. [1]–[4]
Заключителни бележки - Твърде дълго, не прочетох 🎁
-
Как се учи изкуственият интелект? Чрез минимизиране на загубите с градиенти в множество примери. [1], [2]
-
Добрите данни, ясните цели и стабилната оптимизация правят наученото по-запомнящо се. [1]–[3]
-
Обобщението винаги е по-добро от запаметяването. [1]
-
Безопасността, оценката и итерацията превръщат умните идеи в надеждни продукти. [3], [4]
-
Започнете просто, измерете добре и подобрете чрез коригиране на данните, преди да се насочите към екзотични архитектури. [2], [3]
Референции
-
Гудфелоу, Бенхио, Курвил - Дълбоко обучение (безплатен онлайн текст). Връзка
-
Станфорд CS231n - Конволюционни невронни мрежи за визуално разпознаване (бележки от курса и задания). Връзка
-
Google - Ускорен курс по машинно обучение: Метрики за класификация (точност, прецизност, извикване, ROC/AUC) . Връзка
-
NIST - Рамка за управление на риска, свързан с изкуствения интелект (AI RMF 1.0) . Връзка
-
OpenAI - Учене от човешки предпочитания (общ преглед на обучението, базирано на предпочитания). Връзка