Машинне навчання

підрозділ штучного інтелекту, що вивчає методи побудови моделей, які здатні навчатися, та алгоритмів для їх побудови і навчання

Маши́нне навча́ння (МН, англ. machine learning, ML) — це галузь досліджень штучного інтелекту, зосереджена на розробці та вивченні статистичних алгоритмів[en], здатних навчатися з даних і узагальнюватися на небачені дані, й відтак виконувати завдання без явних інструкцій.[1] Породжувальні штучні нейронні мережі нещодавно змогли перевершити за продуктивністю багато попередніх підходів.[2][3]

Підходи машинного навчання застосовували до багатьох галузей, серед яких великі мовні моделі, комп'ютерне бачення, розпізнавання мовлення, фільтрування електронної пошти, сільське господарство та медицина, де розробка алгоритмів для виконання необхідних завдань була би занадто витратною.[4][5] МН відоме у своєму застосуванні в комерційних задачах під назвою «передбачувальна аналітика[en]». Хоч і не все машинне навчання ґрунтується на статистиці, обчислювальна статистика[en] є важливим джерелом методів цієї галузі.

Математичні основи МН забезпечують методи математичної оптимізації (математичного програмування). Добування даних (англ. data mining) — це пов'язане (паралельне) поле досліджень, зосереджене на розвідувальному аналізі даних через некероване навчання.[7][8] З точки зору теорії, систему для опису машинного навчання забезпечує імовірно приблизно коректне навчання.

Історія та зв'язки з іншими галузями

Термін «машинне навчання» (англ. machine learning) запровадив 1959 року Артур Семюель, працівник IBM та піонер у галузі комп'ютерних ігор та штучного інтелекту.[9][10] В цей період також використовували й синонім самонавчальні комп'ютери (англ. self-teaching computers).[11][12]

Хоч найранішу модель машинного навчання й представили в 1950-х роках, коли Артур Семюель винайшов програму, що обчислювала шанси на перемогу в шашках для кожної зі сторін, історія машинного навчання сягає десятиліть людського бажання й зусиль досліджувати людські когнітивні процеси.[13] 1949 року канадський психолог Дональд Гебб опублікував книгу «Організація поведінки[en]», в якій він запропонував теоретичну нейронну структуру, утворювану певними взаємодіями нейронів.[14] Геббова модель взаємодії нейронів між собою заклала основу того, як працюють алгоритми ШІ та машинного навчання на рівні вузлів, або штучних нейронів, які комп'ютери використовують для передавання даних.[13] Інші дослідники, які досліджували людські когнітивні системи, також зробили свій внесок до сучасних технологій машинного навчання, серед них логік Волтер Піттс[en] та Воррен Маккалох, які запропонували ранні математичні моделі нейронних мереж для розробки алгоритмів, що імітують процеси людського мислення.[13]

На початку 1960-х років компанія Raytheon розробила експериментальну «самонавчальну машину» (англ. "learning machine") з пам'яттю на перфострічці під назвою «Кібертрон» (англ. Cybertron) для аналізу гідроакустичних сигналів, електрокардіограм та зразків мовлення за допомогою зародкового навчання з підкріпленням. Людина-оператор/вчитель циклічно «тренувала» її розпізнавати закономірності за допомогою кнопки «ляп» (англ. "goof"), щоби змушувати переоцінювати неправильні рішення.[15] Репрезентативною книгою про дослідження машинного навчання в 1960-х роках була книга Нільссона про самонавчальні машини, присвячена переважно машинному навчанню для класифікування образів.[16] Зацікавлення, пов'язане з розпізнаванням образів, тривало і в 1970-х роках, як описано Дудою та Гартом 1973 року.[17] 1981 року було зроблено доповідь про використання стратегій навчання, щоби нейронна мережа навчилася розпізнавати 40 символів (26 літер, 10 цифр та 4 спеціальні символи) з комп'ютерного терміналу.[18]

Том Мітчелл надав широко цитоване, формальніше визначення алгоритмів, досліджуваних у галузі машинного навчання: «Кажуть, що комп'ютерна програма вчиться з досвіду E щодо деякого класу завдань T та міри продуктивності P, якщо її продуктивність у завданнях з T, вимірювана P, покращується з досвідом E.»[19] Це визначення завдань, що стосуються машинного навчання, пропонує принципово операційне визначення, замість визначання цієї галузі в когнітивних термінах. Це відповідає пропозиції Алана Тюрінга в його статті «Обчислювальні машини та розум[en]», в якій питання «Чи можуть машини мислити?» замінюється запитанням «Чи можуть машини робити те, що можемо робити ми (як мислячі істоти)?».[20]

Сучасне машинне навчання має дві мети: одна — класифікувати дані на основі розроблених моделей, інша — передбачувати майбутні результати на основі цих моделей. Гіпотетичний алгоритм для класифікування даних може використовувати бачення комп'ютером родимок у поєднанні з керованим навчанням, щоби навчити його класифікувати ракові родимки. Алгоритм машинного навчання для біржової торгівлі може інформувати трейдера про майбутні потенційні прогнози.[21]

Штучний інтелект

Машинне навчання як підгалузь ШІ[22]

Як науковий напрям, машинне навчання виросло з пошуків штучного інтелекту (ШІ, англ. artificial intelligence, AI). В часи юності ШІ як академічної дисципліни деякі дослідники були зацікавлені в тому, щоби машини навчалися з даних. Вони намагалися підійти до цієї задачі різними символьними методами, а також тим, що згодом назвали «нейронними мережами», — це були здебільшого перцептрони та інші моделі, які пізніше виявилися перевинаходами узагальнених лінійних моделей[en] статистики.[23] Застосовували також і ймовірнісне міркування, особливо в автоматизованому медичному діагностуванні[en].[24]:488

Проте посилення акценту на логічному підході, що ґрунтується на знаннях[en], спричинило розрив між ШІ та машинним навчанням. Імовірнісні системи страждали на теоретичні та практичні проблеми збирання та подання даних.[24]:488 Близько 1980 року прийшли експертні системи, щоби домінувати над ШІ, а статистика була в немилості.[25] Робота над навчанням на основі символів/знань таки продовжувалася в межах ШІ, ведучи до індуктивного логічного програмування[en], але статистичніший напрямок досліджень був тепер за межами області власне ШІ, у розпізнаванні образів та інформаційному пошуку.[24]:708–710; 755 Приблизно в цей же час ШІ та інформатикою було облишено дослідження нейронних мереж. Цей напрямок також було продовжено за межами області ШІ/інформатики, як «конекціонізм», дослідниками з інших дисциплін, включно з Гопфілдом, Румельхартом[en] та Гінтоном. Їхній головний успіх прийшов у середині 1980-х років із повторним винайденням зворотного поширення.[24]:25

Машинне навчання (МН), реорганізоване та визнане як окрема галузь, почало процвітати в 1990-х роках. Ця галузь змінила свою мету з досягнення штучного інтелекту на розв'язання розв'язних задач практичного характеру. Вона змістила фокус із символьних підходів[en], успадкованих нею від ШІ, в бік методів та моделей, запозичених зі статистики, нечіткої логіки та теорії ймовірностей.[25]

Добування даних

Машинне навчання та добування (розро́блення) даних часто використовують одні й ті ж методи, і значно перекриваються, але в той час як машинне навчання зосереджується на передбачуванні на основі відомих властивостей, вивчених із тренувальних даних, добування (розро́блення) даних зосереджується на відкриванні невідомих (раніше) властивостей в даних (це крок аналізу відкривання знань у базах даних). Добування даних використовує багато методів машинного навчання, але з іншими цілями; з іншого боку, машинне навчання також використовує методи добування даних як «некероване навчання» або як крок попередньої обробки для покращення точності механізму навчання. Велика частина плутанини між цими двома дослідницькими спільнотами (які часто мають окремі конференції та окремі журнали, з ECML PKDD[en] як основним винятком) виходить з основних припущень, з якими вони працюють: у машинному навчанні продуктивність зазвичай оцінюють з огляду на здатність відтворювати відомі знання, тоді як у відкриванні знань та добуванні даних (англ. knowledge discovery and data mining, KDD) ключовим завданням є відкриття раніше невідомих знань. При оцінюванні відносно відомих знань неінформований (некерований) метод легко програватиме іншим керованим методам, тоді як у типовому завданні KDD використовувати керовані методи неможливо через відсутність тренувальних даних.

Машинне навчання також має тісні зв'язки з оптимізацією: багато задач навчання формулюють як мінімізацію деякої функції втрат на тренувальному наборі прикладів. Функції втрат виражають розбіжність між передбаченнями тренованої моделі та дійсними примірниками задачі (наприклад, у класифікуванні потрібно призначувати мітки зразкам, і моделі тренуються правильно передбачувати попередньо призначені мітки набору прикладів).[26]

Узагальнювання

Відмінність між оптимізацією та машинним навчанням постає через мету узагальнювання[en]: в той час як алгоритми оптимізації можуть мінімізувати втрати на тренувальному наборі, машинне навчання займається мінімізуванням втрат на небачених зразках. Характеризування узагальнювання різних алгоритмів навчання це активна тема поточних досліджень, особливо для алгоритмів глибокого навчання.

Статистика

Машинне навчання та статистика — це тісно пов'язані галузі з погляду методів, але відмінні у своїй головній меті: статистика робить висновки про загальну сукупність із вибірки, тоді як машинне навчання знаходить узагальнювальні передбачувальні схеми.[27] За словами Майкла І. Джордана[en], ідеї машинного навчання, від методологічних принципів до теоретичних інструментів, мали довгу передісторію в статистиці.[28] Він також запропонував для позначення всеосяжної галузі термін «наука про дані» (англ. data science).[28]

Традиційний статистичний аналіз вимагає апріорного вибору моделі, яка найбільше підходить для набору даних дослідження. Крім того, до аналізу залучають лише суттєві та теоретично доречні змінні на основі попереднього досвіду. Машинне навчання, навпаки, не будується на попередньо структурованій моделі; скоріше, це дані формують модель, виявляючи закономірності, що лежать у їхній основі. Що більше змінних (входів) використовують для тренування моделі, то точнішою буде остаточна модель.[29]

Лео Брейман[en] виділив дві парадигми статистичного моделювання: модель даних, та алгоритмічну модель,[30] де «алгоритмічна модель» (англ. "algorithmic model") означає більш-менш алгоритми машинного навчання, такі як випадковий ліс.

Деякі фахівці зі статистики перейняли методи з машинного навчання, що призвело до об'єднаної області, яку вони називають статистичним навчанням (англ. statistical learning).[31]

Статистична фізика

Аналітичні та обчислювальні методики, що походять з глибоко вкоріненої фізики невпорядкованих систем, можливо поширювати на великомасштабні задачі, включно з машинним навчанням, наприклад, для аналізу простору ваг глибоких нейронних мереж.[32] Статистична фізика відтак знаходить застосування в галузі медичної діагностики.[33]

Теорія

Докладніше: Теорія обчислювального навчання[en] та Теорія статистичного навчання

Центральна мета системи, яка навчається, — це робити узагальнення зі свого досвіду.[6][34] Узагальнення в цьому контексті — це здатність машини, що вчиться, працювати точно на нових, небачених прикладах/завданнях після отримання досвіду навчального набору даних. Тренувальні приклади походять з якогось загалом невідомого розподілу ймовірності (який вважають представницьким для простору випадків), і система, що вчиться, має побудувати загальну модель цього простору, яка дозволяє їй виробляти достатньо точні передбачення в нових випадках.

Обчислювальний аналіз алгоритмів машинного навчання та їхньої продуктивності — це розділ теоретичної інформатики, знаний як теорія обчислювального навчання[en] через модель імовірно приблизно коректного навчання (англ. Probably Approximately Correct Learning, PAC). Оскільки тренувальні набори скінченні, а майбутнє непевне, теорія навчання зазвичай не дає гарантій продуктивності алгоритмів. Натомість доволі поширені ймовірнісні рамки продуктивності. Одним зі способів кількісного оцінювання похибки узагальнювання є розклад на зміщення та дисперсію (англ. bias–variance decomposition).

Для найкращої продуктивності в контексті узагальнювання складність гіпотези повинна відповідати складності функції, що лежить в основі даних. Якщо гіпотеза менш складна, ніж ця функція, то модель недостатньо допасувалася до даних. Якщо у відповідь складність моделі підвищувати, то похибка тренування знижуватиметься. Але якщо гіпотеза занадто складна, то модель піддається перенавчанню, й узагальнення буде гіршим.[35]

На додачу до рамок продуктивності, теоретики навчання досліджують часову складність та здійсненність навчання. В теорії обчислювального навчання обчислення вважають здійсненним, якщо його можливо виконати за поліноміальний час. Існує два види результатів часової складності: Позитивні результати показують, що певного класу функцій може бути навчено за поліноміальний час. Негативні результати показують, що певних класів за поліноміальний час навчено бути не може.

Підходи

Підходи машинного навчання традиційно поділяють на три великі категорії, які відповідають парадигмам навчання, залежно від природи «сигналу» або «зворотного зв'язку», доступного системі навчання:

  • Кероване навчання[36][37][38] (англ. supervised learning): комп'ютер знайомлять зі зразками входів та їхніх бажаних виходів, наданих «вчителем», а метою є навчитися загального правила, яке відображує[en] входи на виходи.
  • Некероване навчання[36][37][39][38] (англ. unsupervised learning): алгоритмові навчання не надають міток, залишаючи йому самостійно знаходити структуру у вході. Некероване навчання може бути метою саме по собі (виявляння прихованих закономірностей у даних), або засобом досягнення мети (навчання ознак).
  • Навчання з підкріпленням[40] (англ. reinforcement learning): комп'ютерна програма взаємодіє з динамічним середовищем, у якому вона мусить виконувати певну мету (наприклад, керувати транспортним засобом або грати у гру проти суперника). З переміщенням у просторі задачі, програмі надають зворотний зв'язок, аналогічний винагородам, які вона намагається максимізувати.[6]

Хоча переваги й обмеження має кожен з алгоритмів, жоден алгоритм не працює для всіх задач.[41][42][43]

Кероване навчання

Докладніше: Кероване навчання
Опорновекторна машина — це модель керованого навчання, яка поділяє дані на області, розділені лінійною межею. Тут лінійна межа відділяє чорні кола від білих.

Алгоритми керованого навчання[36][37][38] (англ. supervised learning) будують математичну модель набору даних, який містить як входи, так і бажані виходи.[44] Такі дані знані як тренувальні дані, й складаються з набору тренувальних прикладів. Кожен тренувальний приклад має один або кілька входів та бажаний вихід, відомий також як керівний сигнал (англ. supervisory signal). У математичній моделі кожен тренувальний приклад подано масивом, або вектором, який іноді називають вектором ознак, а тренувальні дані подано матрицею. Завдяки ітераційній оптимізації цільової функції алгоритми керованого навчання навчаються функції, яку можливо використовувати для передбачування виходу, пов'язаного з новими входами.[45] Оптимальна функція дозволяє алгоритмові правильно визначати вихід для входів, які не були частиною тренувальних даних. Кажуть, що алгоритм, який з часом удосконалює точність своїх виходів або передбачень, навчився виконувати це завдання.[19]

До типів алгоритмів керованого навчання належать активне навчання[en], класифікування та регресія.[46] Алгоритми класифікування використовують, коли виходи обмежено вузьким набором значень, а алгоритми регресії використовують, коли виходи можуть мати будь-яке числове значення в межах якогось діапазону. Як приклад, для алгоритму класифікування, який фільтрує електронні листи, входом буде вхідний електронний лист, а виходом — назва теки, до якої потрібно цей електронний лист зберегти.

Навчання подібностей[en] (англ. similarity learning) — це галузь керованого машинного навчання, тісно пов'язана з регресією та класифікуванням, але яка має на меті вчитися з прикладів, використовуючи функцію подібності, що вимірює, наскільки схожі або пов'язані два об'єкти. Воно має застосування в ранжуванні, рекомендаційних системах, візуальному відстежуванні ідентичності, перевірці облич та перевірці мовця.

Некероване навчання

Алгоритми некерованого навчання[36][37][39][38] (англ. unsupervised learning) знаходять структури в даних, які не було мічено, класифіковано чи категоризовано. Замість реагувати на зворотний зв'язок, алгоритми некерованого навчання встановлюють спільні риси в даних і реагують на наявність або відсутність таких спільних рис у кожній новій одиниці даних. До основних застосувань некерованого машинного навчання належать кластерування, знижування розмірності[8] та оцінювання густини.[47] Алгоритми некерованого навчання також оптимізували процес встановлювання великих гаплотипів[en] потрібного гена з пангенома[en] на основі інделів[en].[48]

Кластерування великими індельними переставними схилами (англ. Clustering via Large Indel Permuted Slopes, CLIPS) перетворює зображення шикування на задачу навчання регресії. Різні оцінки нахилу (b) між кожною парою сегментів ДНК дозволяють встановлювати сегменти, що мають однаковий набір інделів.

Кластерний аналіз (англ. cluster analysis) — це розподіл набору спостережень на підмножини (звані кластерами), щоби спостереження в одному кластері були подібними відповідно до одного або кількох заздалегідь встановлених критеріїв, тоді як спостереження, взяті з різних кластерів, були несхожими. Різні методики кластерування роблять різні припущення щодо структури даних, які часто визначають деякою мірою подібності (англ. similarity metric) та оцінюють, наприклад, за внутрішньою компактністю (англ. internal compactness), або подібністю членів одного кластера, та відокремленістю (англ. separation), різницею між кластерами. Інші методи ґрунтуються на оцінюваній густині (англ. estimated density) та графовій зв'язності (англ. graph connectivity).

Напівкероване навчання

Напівкероване навчання[36][38] (англ. semi-supervised learning) перебуває між некерованим навчанням (без будь-яких мічених тренувальних даних) та керованим навчанням (з повністю міченими тренувальними даними). Деякі тренувальні приклади позбавлені тренувальних міток, але багато дослідників машинного навчання виявили, що немічені дані, якщо їх використовувати разом із невеликою кількістю мічених даних, можуть значно підвищувати точність навчання.

У слабокерованім навчанні[49] тренувальні мітки зашумлені, обмежені або неточні; проте ці мітки часто дешевше отримувати, що дає більші ефективні тренувальні набори.[50]

Навчання з підкріпленням

Навчання з підкріпленням[40] (англ. reinforcement learning) — це галузь машинного навчання, пов'язана з тим, як програмні агенти повинні виконувати дії в середовищі, щоби максимізувати певне уявлення про сукупну винагороду. Завдяки її загальності цю галузь вивчають у багатьох інших дисциплінах, таких як теорія ігор, теорія керування, дослідження операцій, теорія інформації, оптимізація на основі моделювання, багатоагентні системи, ройовий інтелект, статистика та генетичні алгоритми. У навчанні з підкріпленням середовище зазвичай подають як марковський процес вирішування (МПВ, англ. markov decision process, MDP). Багато алгоритмів навчання з підкріпленням використовують методики динамічного програмування.[51] Алгоритми навчання з підкріпленням не виходять зі знання точної математичної моделі МПВ, і їх використовують, коли точні моделі недосяжні. Алгоритми навчання з підкріпленням використовують в автономних транспортних засобах та в навчанні гри проти людини-супротивника.

Знижування розмірності

Знижування розмірності (англ. dimensionality reduction) — це процес зниження кількості випадкових змінних, які розглядають, шляхом отримання набору провідних змінних (англ. principal variables).[52] Іншими словами, це процес зниження розмірності набору ознак, яку також називають «кількістю ознак» (англ. "number of features"). Більшість методик знижування розмірності можливо розглядати як усунення або виділяння ознак. Одним із популярних методів знижування розмірності є метод головних компонент (МГК, англ. principal component analysis, PCA). МГК включає перенесення даних більшої розмірності (наприклад, тривимірних) до меншого простору (наприклад, двовимірного). Це дає меншу розмірність даних (двовимірні замість тривимірних), зберігаючи всі первинні змінні в моделі без зміни даних.[53] Гіпотеза многовидів[en] пропонує ідею розташування багатовимірних наборів даних уздовж низьковимірних многовидів, і багато методик знижування розмірності виходять із цього припущення, що веде до області навчання многовидів[en] та многовидної регуляризації[en].

Інші види

Було розроблено й інші підходи, які не вписуються в ці три категорії, й іноді одна система машинного навчання використовує декілька з них. Наприклад, тематичне моделювання, метанавчання.[54]

Самонавчання

Самонавчання (англ. self-learning), як парадигму машинного навчання, було запропоновано 1982 року разом із нейронною мережею, здатною до самонавчання, яка отримала назву поперечинного адаптивного масиву (ПАМ, англ. crossbar adaptive array, CAA).[55] Це навчання без зовнішніх винагород і без зовнішніх порад вчителя. Алгоритм самонавчання ПАМ обчислює, поперечинним чином, як рішення щодо дій, так і емоції (почуття) щодо наслідкових ситуацій. Ця система керується взаємодією між пізнанням та емоціями.[56]

Алгоритм самонавчання уточнює матрицю пам'яті W =||w(a, s)||, виконуючи в кожній ітерації наступну процедуру машинного навчання:

  1. у ситуації s виконати дію a
  2. отримати наслідкову ситуацію s'
  3. обчислити емоції перебування в наслідковій ситуації v(s')
  4. уточнити поперечинну пам'ять w'(a, s) = w(a, s) + v(s')

Це система лише з одним входом, ситуацією, та лише одним виходом, дією (або поведінкою) a. Немає ані окремого введення підкріплення, ані введення поради від середовища. Поширюване зворотно значення (вторинне підкріплення, англ. secondary reinforcement) — це емоція щодо наслідкової ситуації. ПАМ існує у двох середовищах: одне — це поведінкове середовище, в якому вона поводиться, а інше — це генетичне середовище, звідки вона спочатку й лише один раз отримує початкові емоції щодо ситуацій, з якими можливо зіткнутися в поведінковому середовищі. Після отримання геномного (видового) вектора з генетичного середовища ПАМ навчається цілеспрямованої поведінки в середовищі, що містить як бажані, так і небажані ситуації.[57]

Навчання ознак

Докладніше: Навчання ознак

Кілька алгоритмів навчання спрямовано на виявляння кращих подань даних входу, які надходять під час тренування.[58] До класичних прикладів належать метод головних компонент і кластерний аналіз. Алгоритми навчання ознак (англ. feature learning), також звані алгоритмами навчання подань (англ. representation learning), часто намагаються зберігати інформацію своїх вхідних даних, але також перетворювати її таким чином, щоби робити її корисною, часто як етап попередньої обробки перед виконанням класифікування або передбачень. Ця методика уможливлює відбудовування даних входу, що надходять із невідомого розподілу, який породжує ці дані, не обов'язково дотримуючись конфігурацій, неправдоподібних для цього розподілу. Це замінює конструювання ознак вручну та дозволяє машині як навчатися ознак, так і використовувати їх для виконання конкретного завдання.

Навчання ознак може бути керованим або некерованим. У керованім навчанні ознак їх навчають з використанням мічених даних входу. До прикладів належать штучні нейронні мережі, багатошарові перцептрони та кероване навчання словників[en]. При некерованім навчанні ознак їх навчають неміченими даними входу. До прикладів належать навчання словників, метод незалежних компонент[en], автокодувальники, розкладання матриць[59] та різні види кластерування.[60][61][62]

Алгоритми навчання многовидів[en] намагаються робити це за обмеження, щоби навчене подання мало низьку розмірність. Алгоритми розрідженого кодування намагаються робити це за обмеження, щоби навчене подання було розрідженим, тобто щоби математична модель містила багато нулів. Алгоритми навчання полілінійних підпросторів[en] спрямовано на навчання подань низької розмірності безпосередньо з тензорних подань для багатовимірних даних без переформовування їх у вектори вищої розмірності.[63] Алгоритми глибокого навчання виявляють декілька рівнів подання, або ієрархію ознак із абстрактнішими ознаками вищого рівня, визначеними в термінах ознак нижчого рівня (або породжуваними ними). Стверджували, що розумна машина — це така, що навчається подання, яке розплутує чинники мінливості (англ. factors of variation), що лежить в основі даних, які пояснюють спостережувані дані.[64]

Навчання ознак спонукається фактом, що завдання машинного навчання, такі як класифікування, часто вимагають даних входу, математично та обчислювально зручних для обробки. Проте дані реального світу, такі як зображення, відео та давачеві дані, не піддалися спробам визначити конкретні ознаки алгоритмічно. Альтернативою є виявляти такі ознаки або подання шляхом дослідження, не покладаючись на явні алгоритми.

Навчання розріджених словників

Докладніше: Навчання розріджених словників[en]

Навчання розріджених словників (англ. sparse dictionary learning) — це метод навчання ознак, у якому тренувальний приклад подають лінійною комбінацією базисних функцій і вважають розрідженою матрицею. Цей метод строго NP-повний[en] і його важко розв'язувати наближено.[65] Популярний евристичний метод навчання розріджених словників — алгоритм K-СРМ[en] (англ. K-SVD). Навчання розріджених словників застосовували в кількох контекстах. У класифікуванні задача полягає у визначенні класу, до якого належить раніше небачений тренувальний приклад. Для словника, де кожен клас уже побудовано, новий тренувальний приклад пов'язується з класом, у словнику якого його розріджено подано найкраще. Навчання розріджених словників також застосовували для знешумлювання зображень. Ключова ідея полягає в тому, що чистий клаптик зображення може бути розріджено подано словником зображень, а шум — ні.[66]

Виявляння аномалій

У добуванні даних виявляння аномалій (англ. anomaly detection), відоме також як виявляння викидів (англ. outlier detection), — це встановлювання рідкісних елементів, подій або спостережень, що викликають підозри, значно відрізняючись від більшості даних.[67] Зазвичай аномальні елементи подають такі проблеми як банківське шахрайство[en], структурний дефект, медичні проблеми або помилки в тексті. Аномалії називають викидами (англ. outliers), новизною (англ. novelties), шумом, відхиленнями або винятками.[68]

Зокрема, в контексті виявляння зловживань і мережних вторгнень цікаві об'єкти це часто не рідкісні об'єкти, а несподівані сплески бездіяльності. Ця особливість поведінки не відповідає загальноприйнятому статистичному визначенню викиду як рідкісного об'єкта. Багато методів виявляння викидів (зокрема, некеровані алгоритми) дадуть збій на таких даних, якщо їх не агрегувати належним чином. Натомість алгоритм кластерного аналізу може виявити мікрокластери, утворені цими особливостями поведінки.[69]

Існує три великі категорії методик виявляння аномалій.[70] Методики некерованого виявляння аномалій виявляють аномалії в неміченому наборі випробувальних даних за припущення, що більшість примірників у наборі даних нормальні, шляхом пошуку примірників, які видаються найменш допасованими до решти набору даних. Методики керованого виявляння аномалій вимагають набору даних, мічених як «нормально» й «ненормально», і залучають навчання класифікатора (ключова відмінність від багатьох інших задач статистичного класифікування полягає в незбалансованій природі виявляння викидів). Методики напівкерованого виявляння аномалій створюють модель, що подає нормальну поведінку, на основі заданого нормального набору тренувальних даних, а потім перевіряють правдоподібність створення моделлю випробувального примірника.

Навчання роботів

Навчання роботів натхнено безліччю методів машинного навчання, починаючи від керованого навчання, навчання з підкріпленням,[71][72] і закінчуючи метанавчанням (наприклад, моделеагностичним метанавчанням, МАМН, англ. MAML).

Асоціативні правила

Див. також: Індуктивне логічне програмування[en]

Навчання асоціативних правил (англ. association rule learning) — це метод машинного навчання на основі правил для виявляння взаємозв'язків між змінними у великих базах даних. Його призначено для визначання сильних правил, виявлених у базах даних, з використанням певної міри «цікавості» (англ. "interestingness").[73]

Машинне навчання на основі правил (англ. rule-based machine learning) — це загальний термін для будь-якого методу машинного навчання, який встановлює, вивчає або виводить «правила» для зберігання, маніпулювання або застосування знань. Визначальною характеристикою алгоритму машинного навчання на основі правил є встановлювання та використання набору реляційних правил, які сукупно подають вловлені системою знання. Це відмінність від інших алгоритмів машинного навчання, які зазвичай визначають одиничну модель, яку можливо універсально застосовувати до будь-якого примірника, щоби зробити передбачення.[74] До підходів машинного навчання на основі правил належать системи навчання класифікаторів[en], навчання асоціативних правил та штучні імунні системи.

Ґрунтуючись на понятті сильних правил, Ракеш Агравал[en], Томаш Імелінський[en] та Арун Свамі запровадили асоціативні правила для виявляння закономірностей між продуктами у великомасштабних даних транзакцій, записаних системами точок продажу[en] у супермаркетах.[75] Наприклад, правило , знайдене в даних про продажі супермаркету, вказуватиме на те, що якщо клієнт купує разом цибулю та картоплю, він, імовірно, купить також і м'ясо для гамбургерів. Таку інформацію можливо використовувати як основу для ухвалення рішень щодо маркетингових заходів, таких як рекламні ціни чи розміщення продукції. На додачу до аналізу ринкового кошика[en], асоціативні правила сьогодні застосовують у таких сферах застосування як розроблення веб-користування (англ. web usage mining), виявляння вторгнень, безперервне виробництво та біоінформатика. На відміну від розроблення послідовностей[en] (англ. sequence mining), навчання асоціативних правил зазвичай не враховує порядок елементів у транзакції чи між транзакціями.

Системи навчання класифікаторів (англ. learning classifier systems, LCS) — це сімейство алгоритмів машинного навчання на основі правил, які поєднують відкривальну складову, зазвичай генетичний алгоритм, з навчальною складовою, що виконує кероване навчання, навчання з підкріпленням або некероване навчання. Вони прагнуть встановити набір контекстнозалежних правил, які сукупно зберігають та застосовують знання кусковим чином, щоб робити передбачення.[76]

Індуктивне логічне програмування[en] (ІЛП, англ. Inductive logic programming, ILP) — це підхід до навчання правил із застосуванням логічного програмування як універсального подання вхідних прикладів, базових знань та гіпотез. Маючи кодування відомих базових знань та набору прикладів, поданих як логічна база даних фактів, система ІЛП виводитиме гіпотетичну логічну програму, яка має наслідками всі позитивні приклади й жодного з негативних. Індуктивне програмування[en] (англ. inductive programming) — це споріднена галузь, у якій для подання гіпотез розглядають будь-які мови програмування (а не лише логічне програмування), наприклад, функційні програми.

Індуктивне логічне програмування особливо корисне в біоінформатиці та обробці природної мови. Ґордон Плоткін[en] та Ехуд Шапіро[en] заклали початкову теоретичну основу для індуктивного машинного навчання в логічній постановці.[77][78][79] 1981 року Шапіро створив своє перше втілення (систему висновування моделей, англ. Model Inference System): програму мовою Пролог, яка індуктивно висновувала логічні програми з позитивних та негативних прикладів.[80] Термін індуктивний тут стосується філософської індукції, що пропонує теорію для пояснення спостережуваних фактів, а не математичної індукції, що доводить якусь властивість для всіх членів добре впорядкованої множини.

Моделі

Виконання машинного навчання може передбачувати створення моделі, яка тренується на деяких тренувальних даних, а потім може обробляти додаткові дані для передбачування. Для систем машинного навчання використовували та досліджували різні типи моделей.

Штучні нейронні мережі

Штучна нейронна мережа — це взаємоз'єднана група вузлів, подібна до величезної мережі нейронів у мозку. Тут кожен круглий вузол позначує штучний нейрон, а стрілка позначує з'єднання від виходу одного штучного нейрона до входу іншого.

Штучні нейронні мережі (ШНМ, англ. artificial neural networks, ANN), або конекціоністські системи, це обчислювальні системи, дещо натхненні біологічними нейронними мережами, які складають мозок тварин. Такі системи «вчаться» виконувати завдання, розглядаючи приклади, як правило, без програмування будь-якими специфічними для завдань правилами.

ШНМ — це модель, що ґрунтується на сукупності з'єднаних вузлів, званих «штучними нейронами» (англ. "artificial neurons"), які в загальних рисах моделюють нейрони біологічного мозку. Кожне з'єднання, як синапси в біологічному мозку, може передавати інформацію, «сигнал», від одного штучного нейрона до іншого. Штучний нейрон, який отримує сигнал, може обробити його, а потім сигналізувати додатковим штучним нейронам, з якими його з'єднано. У звичайних втіленнях ШНМ сигнал на з'єднанні між штучними нейронами це дійсне число, а вихід кожного штучного нейрона обчислюється деякою нелінійною функцією суми його входів. З'єднання між штучними нейронами називають «ребрами» (англ. "edges"). Штучні нейрони та ребра зазвичай мають вагу[en] (англ. weight), яка підлаштовується в перебігу навчання. Вага підвищує або знижує силу сигналу на з'єднанні. Штучні нейрони можуть мати поріг, такий, що сигнал надсилається лише тоді, коли сукупний сигнал долає цей поріг. Як правило, штучні нейрони впорядковують у шари (англ. layers). Різні шари можуть виконувати різні види перетворень своїх входів. Сигнали проходять від першого шару (рівень входу) до останнього (рівень виходу), можливо, після кількаразового проходження шарів.

Первинна мета підходу ШНМ полягала в розв'язуванні задач так само, як це робив би людський мозок. Проте з часом увага перемістилася на виконання конкретних завдань, що призвело до відхилень від біології. Штучні нейронні мережі використовували для багатьох завдань, включно з комп'ютерним баченням, розпізнаванням мовлення, машинним перекладом, фільтруванням соціальних мереж, настільними та відеоіграми[en], та медичним діагностуванням.

Глибоке навчання (англ. deep learning) складається з численних прихованих шарів у штучній нейронній мережі. Цей підхід намагається змоделювати те, як людський мозок перетворює світло та звук у бачення та слух. Серед успішних застосувань глибокого навчання — комп'ютерне бачення та розпізнавання мовлення.[81]

Дерева рішень

Дерево рішень, яке показує ймовірність виживання пасажирів на Титаніку

Навчання дерев рішень (англ. decision tree learning) використовує дерево рішень як передбачувальну модель для переходу від спостережень про об'єкт (поданих у гілках) до висновків щодо цільового значення для об'єкта (поданих у листках). Це один із підходів до передбаувального моделювання, який використовують у статистиці, добуванні даних та машинному навчанні. Деревні моделі, де цільова змінна може набувати дискретного набору значень, називають класифікаційними деревами (англ. classification trees); у цих деревних структурах листки подають мітки класів, а гілки подають кон'юнкції ознак, які ведуть до цих міток класів. Дерева рішень, де цільова змінна може набувати неперервних значень (зазвичай дійсних чисел), називають регресійними деревами (англ. regression trees). В аналізі рішень дерево рішень можливо використовувати для візуального та явного подання рішень та ухвалення рішень. В добуванні даних дерево рішень описує дані, але отримане класифікаційне дерево може бути входом для ухвалювання рішень.

Опорновекторні машини

Опорновекторні машини (ОВМ, англ. support-vector machines, SVM), також знані як опорновекторні мережі (англ. support-vector networks) та метод опорних векторів, — це набір пов'язаних методів керованого навчання, які використовують для класифікування та регресії. Маючи набір тренувальних прикладів, кожен з яких позначено як належний до однієї з двох категорій, алгоритм тренування ОВМ будує модель, яка передбачує, чи належить новий приклад до однієї категорії.[82] Алгоритм тренування ОВМ — неймовірнісний бінарний лінійний класифікатор, хоча існують такі методи, як масштабування Платта[en], для використання ОВМ у постановці ймовірнісного класифікування. На додачу до виконання лінійного класифікування, ОВМ можуть ефективно виконувати нелінійне класифікування з використанням так званого ядрового трюку, що неявно відображує їхні входи до просторів ознак високої розмірності.

Регресійний аналіз

Ілюстрація лінійної регресії на наборі даних

Регресійний аналіз (англ. regression analysis) охоплює великий спектр статистичних методів для оцінювання зв'язку між вхідними змінними та пов'язаними з ними ознаками. Його найпоширенішим видом є лінійна регресія, де малюється одна лінія, яка найкраще допасовується до заданих даних відповідно до математичного критерію, такого як звичайні найменші квадрати[en]. Останній часто розширюють за допомогою методів регуляризації, щоби пом'якшувати надмірне допасовування та зміщення, як у гребеневій регресії. Коли йдеться про нелінійні задачі, до основних моделей належать поліноміальна регресія (наприклад, вживана для допасовування лінії тренду в Microsoft Excel[83]), логістична регресія (часто вживана у статистичному класифікуванні), або навіть ядрова регресія[en], яка запроваджує нелінійність, користуючись ядровим трюком для неявного відображення вхідних змінних до простору вищої розмірності.

Баєсові мережі

Докладніше: Баєсова мережа
Проста баєсова мережа. Дощ впливає на вмикання обприскувача, і як дощ, так і обприскувач впливають на те, чи мокра трава.

Баєсова мережа (англ. Bayesian network), мережа переконань (англ. belief network) або орієнтована ациклічна графова модель (англ. directed acyclic graphical model) — це ймовірнісна графова модель, яка подає набір випадкових величин та їхніх умовних незалежностей[en] за допомогою орієнтованого ациклічного графа (ОАГ, англ. directed acyclic graph, DAG). Наприклад, баєсова мережа може подавати ймовірнісні зв'язки між захворюваннями та симптомами. За наявних симптомів цю мережу можливо використовувати для обчислення ймовірності наявності різних захворювань. Існують ефективні алгоритми, які виконують висновування й навчання. Баєсові мережі, що моделюють послідовності змінних, наприклад, сигнали мовлення або білкові послідовності, називають динамічними баєсовими мережами. Узагальнення баєсових мереж, які можуть подавати й розв'язувати задачі ухвалювання рішень в умовах невизначеності, називають діаграмами впливу[en].

Гауссові процеси

Докладніше: Гауссів процес
Приклад регресії гауссового процесу (передбачення) у порівнянні з іншими регресійними моделями[84]

Гауссів процес (англ. Gaussian process) — це стохастичний процес, у якому кожна скінченна сукупність випадкових змінних у процесі має багатовимірний нормальний розподіл, і він ґрунтується на попередньо визначеній коваріаційній функції[en], або ядрі (англ. kernel), яке моделює, як пари точок співвідносяться одна з одною залежно від їхнього місцезнаходження.

За заданого набору спостережених точок, або прикладів входів—виходів, розподіл (неспостережуваного) виходу нової точки як функцію її вхідних даних можливо безпосередньо обчислити, дивлячись на спостережені точки та коваріації між цими точками та новою, небаченою точкою.

Гауссові процеси це популярні сурогатні моделі в баєсовій оптимізації, які використовують, щоби оптимізувати гіперпараметри.

Генетичні алгоритми

Генетичний алгоритм (ГА, англ. genetic algorithm, GA) — це алгоритм пошуку та евристична методика, яка імітує процес природного добору, використовуючи такі методи як мутація[en] та схрещування, щоби створювати нові генотипи у надії знайти добрі розв'язки певної задачі. У машинному навчанні генетичні алгоритми використовували в 1980—1990-х роках.[85][86] І навпаки, методики машинного навчання використовували, щоби покращувати продуктивність генетичних та еволюційних алгоритмів.[87]

Функції переконань

Докладніше: Теорія Демпстера — Шафера[en]

Теорія функцій переконань (англ. theory of belief functions), звана також теорією свідчень (англ. evidence theory) та теорією Демпстера — Шафера, — це загальна система для міркувань із невизначеністю, зі зрозумілими зв'язками з іншими системами, такими як імовірність, можливість та теорії неточної ймовірності[en]. Ці теоретичні системи можливо розглядати як свого роду навчальний механізм, вони можуть мати деякі подібні властивості щодо того, як поєднуються свідчення (наприклад, правило поєднування Демпстера), точно як поєднував би ймовірності баєсів підхід на основі функцій маси ймовірності.[прояснити] Проте існує багато застережень до цих функцій переконань при порівнянні з баєсовими підходами з метою включення необізнаності та кількісного вираження невизначеності[en]. Ці підходи функцій переконань, які втілюють у галузі машинного навчання, зазвичай використовують підхід злиття різних ансамблевих методів, щоби краще впоруватися з межею рішення[en], недостатніми вибірками та проблемами нечіткості класів, з якими стандартний підхід машинного навчання, як правило, має складнощі.[3][5][10] Проте обчислювальна складність цих алгоритмів залежить від кількості суджень (класів), і може призводити до значно більшого обчислювального часу порівняно з іншими підходами машинного навчання.

Тренування моделей

Як правило, щоби могти здійснювати точні прогнози, моделі машинного навчання вимагають великої кількості надійних даних. При тренуванні моделі машинного навчання інженерам машинного навчання потрібно намітити та зібрати велику та репрезентативну вибірку даних. Дані тренувального набору можуть мати різний характер, такий як корпус текстів, набір зображень, даних давачів чи даних, зібраних з окремих користувачів служби. При тренуванні моделі машинного навчання слід пильнувати перенавчання. Натреновані моделі, отримані з упереджених або неоцінених даних, можуть призводити до викривлених або небажаних передбачень. Упереджені моделі можуть призводити до шкідливих результатів, відтак посилюючи негативний вплив на суспільство та цілі. Потенційним результатом того, що дані не було повністю підготовлено для навчання, може ставати алгоритмічне упередження[en]. Етика машинного навчання стає галуззю дослідження, помітно інтегрованою в командах інженерів машинного навчання.

Федеративне навчання

Докладніше: Федеративне навчання[en]

Федеративне навчання (англ. federated learning) — це пристосована форма розподіленого штучного інтелекту[en] для тренування моделей машинного навчання, яка децентралізує процес тренування, дозволяючи підтримувати конфіденційність користувачів, не надсилаючи їхні дані до централізованого сервера. Це також підвищує ефективність завдяки децентралізації процесу тренування на багатьох пристроях. Наприклад, Gboard використовує федеративне машинне навчання для тренування моделей передбачування пошукових запитів на мобільних телефонах користувачів без необхідності надсилати окремі пошукові запити назад до Google.[88]

Застосування

Існує багато застосувань машинного навчання, зокрема:

2006 року провайдер медіапослуг Netflix провів перше змагання «Netflix Prize[en]», щоби знайти програму, яка би краще передбачувала вподобання користувачів та підвищила точність наявного алгоритму порад фільмів Cinematch щонайменше на 10 %. Спільна команда, що складалася з дослідників з AT&T Labs-Research у співпраці з командами Big Chaos та Pragmatic Theory, створила ансамблеву модель[en], отримавши 2009 року головний приз сумою 1 мільйон доларів.[91] Невдовзі після вручення нагороди Netflix зрозуміли, що оцінки глядачів — не найкращий показник їхніх моделей перегляду («усе є порадою»), й вони змінили свій механізм порад відповідним чином.[92] 2010 року The Wall Street Journal писала про фірму Rebellion Research та її використання машинного навчання для прогнозування фінансової кризи.[93] 2012 року співзасновник Sun Microsystems Вінод Хосла[en] зробив прогноз, що в найближчі два десятиліття 80 % робочих місць лікарів буде втрачено на користь автоматизованого медичного діагностичного програмного забезпечення з машинним навчанням.[94] 2014 року було повідомлено, що алгоритм машинного навчання було застосовано в галузі історії мистецтва для вивчення образотворчого живопису і що він, можливо, виявив раніше невизнані впливи серед художників.[95] 2019 року Springer Nature опублікував першу дослідницьку книгу, створену за допомогою машинного навчання.[96] 2020 року технологію машинного навчання використовували, щоби допомогти дослідникам ставити діагнози й розробляти ліки від COVID-19.[97] Нещодавно машинне навчання було застосовано для прогнозування проекологічної поведінки мандрівників.[98] Нещодавно технологію машинного навчання було також застосовано для оптимізації продуктивності та теплової поведінки смартфонів на основі взаємодії користувача з телефоном.[99][100][101] За правильного застосування алгоритми машинного навчання (АМН) можуть використовувати широкий спектр характеристик компаній для прогнозування доходів від акцій без перенавчання. Використовуючи ефективне конструювання ознак та поєднуючи прогнози, АМН можуть породжувати результати, що значно перевершують отримувані за допомогою базових лінійних методик, як-от ЗНК[en].[102]

Обмеження

Попри те, що машинне навчання змінило деякі сфери, програми машинного навчання часто не дають очікуваних результатів.[103][104][105] Причин для цього багато: брак (придатних) даних, брак доступу до даних, упередженість даних, проблеми конфіденційності, неправильно обрані завдання й алгоритми, неправильні інструменти та люди, брак ресурсів і проблеми з оцінюванням.[106]

Ще один значний виклик становить «теорія чорної скриньки». Чорна скринька стосується ситуації, коли алгоритм або процес створення результату повністю непрозорий, що означає, що навіть розробники алгоритму не можуть перевірити закономірність, виділену машиною з даних.[107] Спеціальний комітет Палати лордів, який стверджував, що така «система інтелекту», яка може мати «суттєвий вплив на життя людини», не вважатиметься прийнятною, якщо вона не надаватиме «повного та задовільного пояснення рішень, які вона ухвалює».[107]

2018 року безпілотний автомобіль від Uber не зміг виявити пішохода, який загинув після зіткнення.[108] Спроби використати машинне навчання в охороні здоров'я за допомогою системи IBM Watson не увінчалися успіхом навіть після багатьох років і мільярдів доларів інвестицій.[109][110] Чатбот Microsoft звинувачували у створенні ворожих та образливих відповідей на звернення його користувачів.[111]

Машинне навчання використовували як стратегію для уточнення свідчень, пов'язаних із систематичним рецензуванням і збільшенням навантаження на рецензентів у зв'язку зі збільшенням біомедичної літератури. Хоча воно покращилося за допомогою тренувальних наборів, воно ще не розвинувся достатньо, щоби зменшити робоче навантаження без обмеження необхідної чутливості для самих досліджень результатів.[112]

Упередження

Докладніше: Алгоритмічне упередження[en]

Підходи машинного навчання, зокрема, можуть страждати від різних упереджень даних (англ. data biases). Система машинного навчання, натренована конкретно на поточних клієнтах, може виявитися нездатною передбачити потреби нових груп клієнтів, не поданих у тренувальних даних. При навчанні на створених людьми даних машинне навчання цілком може підхопити конституційні та несвідомі упередження, які вже присутні в суспільстві.[113]

Було показано, що мовні моделі, навчені з даних, містять людські упередження.[114][115] В експерименті, який провела ProPublica, журналістська розслідувальська організація, розуміння алгоритму машинного навчання щодо рівнів рецидивізму ув'язнених неправильно мітило «чорношкірих обвинувачених як високоризикових удвічі частіше, ніж білошкірих».[116] 2015 року Google на фотографіях часто позначувала темношкірих людей як горил,[116] і 2018 року це все ще не було розв'язано як слід, а, як було повідомлено, Google натомість використовувала обхідний шлях, усуваючи всіх горил із тренувальних даних, і тому була взагалі нездатна розпізнати справжніх горил.[117] Подібні проблеми з розпізнаванням небілих людей було виявлено в багатьох інших системах.[118] 2016 року Microsoft протестувала чат-бота, який навчався з Twitter, і він швидко підхопив расистську та сексистську мову.[119]

Через такі виклики ефективне використання машинного навчання в деяких областях може вимагати тривалішого пристосовування.[120] Занепокоєння щодо справедливості[en] у машинному навчанні, тобто зменшення упередженості в машинному навчанні та сприяння його використанню для блага людини, все частіше висловлюють науковці зі штучного інтелекту, зокрема Фей-Фей Лі, яка нагадує інженерам, що «У ШІ немає нічого штучного… Він натхненний людьми, він створений людьми, і, що найважливіше, він впливає на людей. Це потужний інструмент, який ми лише починаємо розуміти, і це велика відповідальність.»[121]

Поясненність

Поясне́нний ШІ (англ. Explainable AI, XAI), або інтерпретовний ШІ (англ. Interpretable AI), або поясненне машинне навчання (англ. Explainable Machine Learning, XML), — це штучний інтелект (ШІ), в якому люди можуть розуміти рішення або передбачення, зроблені цим ШІ.[122] Це контрастує з концепцією «чорної скриньки» в машинному навчанні, де навіть її розробники не можуть пояснити, чому ШІ прийшов до певного рішення.[123] Удосконалюючи ментальні моделі користувачів систем на основі ШІ та руйнуючи їхні хибні уявлення, поясненний ШІ обіцяє допомогти користувачам діяти ефективніше. Поясненний ШІ може бути втіленням соціального права на пояснення.

Перенавчання

Докладніше: Перенавчання
Синя лінія може бути прикладом перенавчання лінійної функції через випадковий шум.

Схиляння до поганої, переускладненої теорії, схибленої таким чином, щоби відповідати всім минулим тренувальним даним, називають перенавчанням. Багато систем намагаються знижувати перенавчання, винагороджуючи теорію відповідно до того, наскільки добре вона допасовується до даних, але штрафуючи теорію відповідно до того, наскільки вона складна.[124]

Інші обмеження та вразливості

Учні також можуть розчаровувати, «вивчивши не той урок». Іграшковий приклад: класифікатор зображень, навчений лише на зображеннях коричневих коней і чорних котів, може зробити висновок, що всі коричневі плями, ймовірно, є кіньми.[125] Приклад із реального світу полягає в тому, що, на відміну від людей, сучасні класифікатори зображень часто роблять висновки не на основі просторових відносин між складовими зображення, а навчаються зв'язків між пікселями, яких люди не помічають, але які все одно корелюють із зображеннями окремих видів реальних об'єктів. Зміна цих візерунків на законному зображенні може призвести до «змагальних» (англ. "adversarial") зображень, які система класифікує неправильно.[126][127]

Змагальні вразливості також можуть виникати в нелінійних системах або випливати з нешаблонних збурень. Для деяких систем можливо змінити вихід, змінивши лише один змагально обраний піксель.[128] Моделі машинного навчання часто вразливі до маніпуляцій та/або ухилення через змагальне машинне навчання[en].[129]

Дослідники продемонстрували, як можливо непомітно розміщувати чорні ходи в класифікувальних (наприклад, дописів як «спам» та добре видимих «не спам») моделей машинного навчання, які часто розробляють та/або тренують треті сторони. Сторони можуть змінити класифікацію будь-якого входу, зокрема у випадках, для яких забезпечується певний тип прозорості даних/програмного забезпечення[en], можливо, включно з доступом до білої скриньки.[130][131][132]

Оцінювання моделей

Класифікацію моделей машинного навчання можливо затверджувати за допомогою методик оцінювання точності, таких як метод притримування (англ. holdout), який розбиває дані на тренувальний та випробувальний набори (зазвичай 2/3 тренувального набору та 1/3 випробувального) й оцінює продуктивність тренованої моделі на випробувальному наборі. Для порівняння, метод K-кратного перехресного затверджування (англ. K-fold-cross-validation) випадковим чином розбиває дані на K підмножин, а потім виконує K експериментів, кожен відповідно з 1 підмножиною для оцінювання та рештою K-1 підмножин для тренування моделі. На додачу до методів притримування та перехресного затверджування, для оцінювання точності моделі можливо використовувати натяжку (англ. bootstrap), яка вибирає з набору даних n примірників із заміною.[133]

На додачу до загальної точності (англ. accuracy), дослідники часто повідомляють чутливість та специфічність (англ. sensitivity and specificity), що означають істиннопозитивний рівень (ІПР, англ. True Positive Rate, TPR) та істиннонегативний рівень (ІНР, англ. True Negative Rate, TNR) відповідно. Аналогічно, дослідники іноді повідомляють хибнопозитивний рівень (ХПР, англ. false positive rate, FPR), а також хибнонегативний рівень (ХНР, англ. false negative rate, FNR). Проте ці рівні це відношення, які не розкривають своїх чисельників та знаменників. Одним з ефективних методів вираження діагностичної спроможності моделі є загальна робоча характеристика[en] (ЗРХ, англ. total operating characteristic, TOC). ЗРХ показує чисельники та знаменники зазначених вище рівнів, таким чином, ЗРХ надає більше інформації, ніж загальновживана робоча характеристика приймача (РХП, англ. receiver operating characteristic, ROC) та пов'язана з РХП площа під цією кривою (ППК, англ. area under the curve, AUC).[134]

Етика

Див. також: Проблема контролю над ШІ[en], [[Торонтська декларація[en]]] та Етика штучного інтелекту

Машинне навчання ставить безліч етичних питань. Системи, треновані на наборах даних, зібраних з упередженнями, можуть проявляти ці упередження при використанні (алгоритмічне упередження[en]), оцифровуючи таким чином культурні забобони.[135] Наприклад, 1988 року британська комісія з питань расової рівності виявила, що медична школа св. Георгія використовувала комп'ютерну програму, натреновану на основі даних попереднього персоналу приймальної комісії, й ця програма відмовила майже 60 кандидатам, які були або жінками, або мали неєвропейські імена.[113] Використання даних про наймання на роботу від фірми з расистською політикою найму може призвести до того, що система машинного навчання дублюватиме цю упередженість, оцінюючи претендентів на посаду за схожістю з попередніми успішними кандидатами.[136][137] Ще один приклад містить передбачувальний алгоритм передбачувального поліцейського патрулювання компанії Geolitica[en], який призвів до «непропорційно високого рівня надмірного поліцейського контролю у бідних спільнотах та спільнотах меншин» після тренування на історичних даних про злочинність.[116]

В той час як відповідальне збирання даних та документування алгоритмічних правил, які використовує система, вважають критично важливою частиною машинного навчання, деякі дослідники звинувачують у вразливості машинного навчання до упереджень брак участі та представництва меншин у галузі ШІ.[138] Справді, за дослідженням, проведеним Асоціацією досліджень у галузі обчислень (англ. Computing Research Association, CRA) 2021 року, «жіночий факультет складає лише 16,1 %» усіх членів факультету, які зосереджуються на ШІ у декількох університетах світу.[139] Крім того, серед групи «нових резидентів США, випускників докторантур ШІ» 45 % ідентифікували себе як білі, 22,4 % як азіати, 3,2 % як іспанці, і 2,4 % як афроамериканці, що додатково демонструє відсутність різноманітності у галузі ШІ.[139]

ШІ може бути добре оснащеним для ухвалювання рішень у технічних сферах, які значною мірою покладаються на дані та історичну інформацію. Ці рішення спираються на об'єктивність і логічну аргументацію.[140] Оскільки людські мови містять упередження, машини, навчені на мовних корпусах текстів, обов'язково також навчаться цих упереджень.[141][142]

Інші види етичних викликів, не пов'язаних з особистими упередженнями, спостерігаються в охороні здоров'я. Серед медичних працівників є занепокоєння, що ці системи може бути розроблено не в інтересах суспільства, а як машини для отримування доходу.[143] Особливо це стосується Сполучених Штатів, де існує давня етична дилема щодо покращення охорони здоров'я, але також і збільшення прибутків. Наприклад, алгоритми може бути розроблено для виписування пацієнтам непотрібних тестів або ліків, у яких власники алгоритму мають частку. В машинного навчання в охороні здоров'я існує потенціал надати фахівцям додатковий інструмент для діагностування, лікування та планування шляхів одужання пацієнтів, але для цього потрібно пом'якшувати ці упередження.[144]

Апаратне забезпечення

Починаючи з 2010-х років прогрес як в алгоритмах машинного навчання, так і в комп'ютерному обладнанні призвів до появи ефективніших методів тренування глибоких нейронних мереж (особливої вузької підобласті машинного навчання), які містять багато шарів нелінійних прихованих вузлів.[145] До 2019 року графічні процесори (ГП), часто зі спеціальними вдосконаленнями для ШІ, витіснили ЦП як панівний метод тренування великомасштабного комерційного хмарного ШІ.[146] OpenAI оцінила апаратні обчислення, які використовували в найбільших проєктах глибокого навчання, від AlexNet (2012), і до AlphaZero (2017), і виявила 300 000-кратне збільшення необхідного обсягу обчислень із тенденцією подвоєння часу кожні 3,4 місяці.[147][148]

Нейроморфні/фізичні нейронні мережі

Фізична нейронна мережа[en] (англ. physical neural network) або нейроморфний комп'ютер (англ. Neuromorphic computer) — це один із видів штучних нейронних мереж, у якому використовують електрично підлаштовуваний матеріал для імітування функціювання нейронного синапса. Термін «фізична» нейронна мережа використовують, щоби підкреслити залежність від фізичного апаратного забезпечення, яке використовують для імітування нейронів, на противагу до програмних підходів. Загальніше цей термін застосовний і до інших штучних нейронних мереж, у яких використовують мемристор або інший електрично підлаштовуваний опірний матеріал, щоб імітувати нейронний синапс.[149][150]

Вбудовуване машинне навчання

Вбудоване машинне навчання (англ. Embedded Machine Learning) — це підгалузь машинного навчання, де модель машинного навчання працює на вбудованих системах з обмеженими обчислювальними ресурсами, як-от носимих комп'ютерах, крайових пристроях[en] та мікроконтролерах.[151][152][153] Експлуатація моделі машинного навчання у вбудованих пристроях усуває необхідність передавання й зберігання даних на хмарних серверах для подальшої обробки, відтак зменшуючи виривання даних та протікання конфіденційності, що відбуваються через передавання даних, а також зводить до мінімуму крадіжку інтелектуальної власності, особистих даних та комерційних таємниць. Вбудовуване машинне навчання можливо застосовувати за допомогою кількох методик, включно з апаратним прискоренням,[154][155] використанням наближених обчислень[en],[156] оптимізуванням моделей машинного навчання та багатьма іншими.[157][158]

Програмне забезпечення

До програмних пакетів, що містять різноманітні алгоритми машинного навчання, належать наступні:

Вільне та відкрите програмне забезпечення

Власницьке програмне забезпечення з вільними або відкритими редакціями

Власницьке програмне забезпечення

Журнали

Конференції

  • Конференція АРШІ зі штучного інтелекту[en]
  • Асоціація з обчислювальної лінгвістики[en] (англ. ACL)
  • Європейська конференція з машинного навчання та принципів і практики виявляння знань у базах даних[en] (англ. ECML PKDD)
  • Міжнародна конференція з методів обчислювального інтелекту для біоінформатики та біостатистики[en] (англ. CIBB)
  • Міжнародна конференція з машинного навчання[en] (англ. ICML)
  • Міжнародна конференція з навчання подань (англ. ICLR)
  • Міжнародна конференція з інтелектуальних роботів та систем[en] (англ. IROS)
  • Конференція з виявляння знань та добування даних[en] (англ. KDD)
  • Конференція з нейронних систем обробки інформації[en] (англ. NeurIPS)

Див. також

Примітки

Джерела

Література

Посилання