Метанавчання (інформатика)

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Метанавча́ння[1][2] (англ. meta learning) — це підгалузь машинного навчання, в якій застосовують алгоритми автоматичного навчання до метаданих про експерименти з машинного навчання. Станом на 2017 рік цей термін не знайшов стандартного тлумачення, проте головна мета полягає у використанні таких метаданих для розуміння того, як автоматичне навчання може стати гнучким у розв'язуванні проблем навчання, й відтак покращити продуктивність наявних алгоритмів навчання, або навчити (індукувати) сам алгоритм навчання, звідси альтернативний термін навча́ння навча́тися (англ. learning to learn).[1]

Гнучкість важлива, оскільки кожен алгоритм навчання ґрунтується на наборі припущень щодо даних, його індуктивному упередженні[en].[3] Це означає, що він навчатиметься добре, лише якщо ці упередження відповідають задачі навчання. Алгоритм навчання може працювати дуже добре в одній області, але не в наступній. Це накладає серйозні обмеження на використання методів машинного навчання та добування даних, оскільки зв'язок між задачею навчання (часто якась база даних) та ефективністю різних алгоритмів навчання досі не зрозумілий.

Використовуючи різні види метаданих, як-от властивості задачі навчання, властивості алгоритму (як-от показники продуктивності), або образи, попередньо отримані з даних, можливо вивчати, обирати, змінювати та комбінувати різні алгоритми навчання, щоби ефективно розв'язати задану задачу навчання. Критика підходів метанавчання дуже схожа на критику метаевристики, можливо пов'язаної задачі. Добра аналогія з метанавчанням і джерело натхнення ранніх праць Юргена Шмідхубера (1987)[1] та праці Йошуа Бенжіо[en] зі співавт. (1991)[4] виходить з того, що генетична еволюція навчається процедури навчання, закодованої в генах, і виконується в мозку кожної людини. У відкритій ієрархічній системі метанавчання[1] з використанням генетичного програмування можливо навчатися кращих еволюційних методів за допомогою метаеволюції, яку саму по собі можливо вдосконалювати за допомогою метаметаеволюції тощо.[1]

Визначення[ред. | ред. код]

Пропоноване визначення[5] системи метанавчання поєднує три вимоги:

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

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

  • Декларативне упередження (англ. declarative bias) визначає подання простору гіпотез і впливає на розмір простору пошуку (наприклад, подавати гіпотези лише за допомогою лінійних функцій).
  • Процедурне упередження (англ. procedural bias) накладає обмеження на впорядкування індуктивних гіпотез (наприклад, надавання переваги меншим гіпотезам).[7]

Поширені підходи[ред. | ред. код]

Існує три поширені підходи:[8]

  • 1) використання (циклічних) мереж із зовнішньою або внутрішньою пам'яттю (на основі моделей, англ. model-based)
  • 2) навчання ефективних мір відстані (на основі мір, англ. metrics-based)
  • 3) явна оптимізація параметрів моделі для швидкого навчання (на основі оптимізації, англ. optimization-based).

На основі моделей[ред. | ред. код]

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

Нейронні мережі з доповненою пам'яттю[ред. | ред. код]

Стверджують, що нейронна мережа з доповненою пам'яттю (англ. Memory-Augmented Neural Network), або скорочено НМДП (англ. MANN), здатна швидко кодувати нову інформацію, й відтак адаптуватися до нових завдань, лише за кількома прикладами.[9]

Метамережі[ред. | ред. код]

Метамережі (англ. Meta Networks, MetaNet) навчаються знання метарівня між завданнями та зміщують свої індуктивні упередження за допомогою швидкого параметрування для швидкого узагальнення.[10]

На основі мір[ред. | ред. код]

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

Згорткова сіамська нейронна мережа[ред. | ред. код]

Сіамська нейронна мережа[en] складається з двох мереж-близнюків, вихід яких тренується спільно. Існує функція поверх для навчання зв'язку між парами зразків даних входу. Ці дві мережі однакові, мають однакові ваги й параметри мережі.[11]

Узгоджувальні мережі[ред. | ред. код]

Узгоджувальні мережі (англ. Matching Networks) навчаються мережі́, яка відображує невеличкий мічений опорний набір даних та немічений приклад до його мітки, уникаючи необхідності тонкого настроювання для пристосовування до нових типів класів.[12]

Реляційна мережа[ред. | ред. код]

Реляційна мережа (РМ, англ. Relation Network, RN) навчається наскрізно з нуля. Під час метанавчання вона навчається навчатися глибокої міри відстані, щоби порівнювати невелику кількість зображень у межах епізодів, кожен з яких розроблено для імітування постановки навчання з кількох поглядів (англ. few-shot setting).[13]

Прототипові мережі[ред. | ред. код]

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

На основі оптимізації[ред. | ред. код]

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

Метанавчання ДКЧП[ред. | ред. код]

Система метанавчання на основі ДКЧП (англ. LSTM-based meta-learner) призначена навчатися точного алгоритму оптимізації, який використовують для тренування іншої системи навчання нейромережного класифікатора[en] в режимі кількох поглядів. Ця параметризація дозволяє навчатися відповідних уточнень параметрів спеціально для сценарію, коли буде зроблено встановлену кількість уточнень, у той же час навчаючись загальних початкових значень навчаної мережі (класифікатора), які забезпечують швидку збіжність тренування.[15]

Часова дискретність[ред. | ред. код]

МАМН (англ. MAML), скорочення від моделеагностичного метанавчання (англ. Model-Agnostic Meta-Learning), це доволі загальний алгоритмом оптимізації, сумісний із будь-якою моделлю, яка навчається за допомогою градієнтного спуску.[16]

Рептилія[ред. | ред. код]

Рептилія (англ. Reptile) — це надзвичайно простий алгоритм оптимізації метанавчання, враховуючи, що обидві його складові покладаються на метаоптимізацію через градієнтний спуск, й обидві не залежать від моделі.[17]

Приклади[ред. | ред. код]

Деякі підходи, які розглядали як приклади метанавчання:

  • Рекурентні нейронні мережі (РНМ) це універсальні обчислювачі. 1993 року Юрген Шмідхубер показав, як «самореферентні» (англ. "self-referential") РНМ можуть у принципі навчатися зворотним поширенням запускати алгоритм зміни власних ваг, що може доволі сильно відрізнятися від зворотного поширення.[18] 2001 року Зепп Хохрайтер[en], А. С. Янгер та П. Р. Конвелл створили успішну систему керованого метанавчання на основі РНМ з довгою короткочасною пам'яттю. За допомогою зворотного поширення вона навчалася алгоритму навчання квадратичних функцій, набагато швидшого за зворотне поширення.[19][2] 2017 року дослідники з Deepmind (Марцін Андрихович зі співавт.) розширили цей підхід до оптимізації.[20]
  • У 1990-х роках дослідницька група Шмідхубера досягла метанавчання з підкріпленням (англ. Meta Reinforcement Learning), або Мета НП (англ. Meta RL), за допомогою самозмінних стратегій, написаних універсальною мовою програмування, яка містить спеціальні інструкції для зміни самої стратегії. Є єдине ціложиттєве випробування. Мета агента НП полягає в максимізації винагороди. Він навчається прискорювати отримування винагороди, постійно вдосконалюючи власний алгоритм навчання, який є частиною «самореферентної» стратегії.[21][22]
  • Екстремальний тип метанавчання з підкріпленням втілено машиною Геделя[en], теоретичною побудовою, яка може перевіряти та змінювати будь-яку частину власного програмного забезпечення, яке також містить загальну систему доведення теорем. Вона може досягати рекурсивного самовдосконалення довідно оптимальним чином.[23][2]
  • Моделеагностичне метанавчання (МАМН, англ. Model-Agnostic Meta-Learning, MAML) представили 2017 року Челсі Фінн[en] зі співавт.[16] Для заданої послідовності завдань параметри заданої моделі тренуються таким чином, що декілька ітерацій градієнтного спуску з невеликою кількістю тренувальних даних з нового завдання вестимуть до доброї продуктивності узагальнення на цьому завданні. МАМН «тренує модель бути легкою для тонкого настроювання».[16] МАМН успішно застосовували для еталонного класифікування зображень із кількох поглядів та для навчання з підкріпленням на основі градієнта стратегії.[16]
  • Виявляння метазнань (англ. discovering meta-knowledge) працює шляхом індукування знань (наприклад, правил), які виражають, як кожен метод навчання працюватиме на різних задачах навчання. Метадані утворюються характеристиками даних (загальними, статистичними, інформаційно-теоретичними, …) у задачі навчання та характеристиками алгоритму навчання (тип, налаштування параметрів, міри продуктивності, …). Потім інший алгоритм навчання навчається того, як характеристики даних співвідносяться з характеристиками алгоритмів. Для нової задачі навчання вимірюють характеристики даних і передбачують продуктивність різних алгоритмів навчання. Відтак, можливо передбачувати, які алгоритми найкраще підходять для нової задачі.
  • Складене узагальнювання (англ. stacked generalisation) працює шляхом поєднання кількох (різних) алгоритмів навчання. Метадані утворюються передбаченнями цих різних алгоритмів. Інший алгоритм навчання вчиться з цих метаданих передбачувати, які поєднання алгоритмів дають загалом добрі результати. Для заданої нової задачі навчання поєднують передбачення обраного набору алгоритмів (наприклад, шляхом (зваженого) голосування), щоби забезпечити остаточне передбачення. Оскільки вважають, що кожен з алгоритмів працює над підмножиною задач, сподіваються, що поєднання буде гнучкішим та здатним робити добрі передбачення.
  • Підсилювання (англ. boosting) пов'язане зі складеним узагальнюванням, але використовує той самий алгоритм декілька разів, де приклади в тренувальних даних під час кожного виконання отримують різні ваги. Це дає різні передбачення, кожне з яких зосереджено на правильному передбаченні підмножини даних, а поєднання цих передбачень призводить до кращих (але витратніших) результатів.
  • Динамічне обирання упередження (англ. dynamic bias selection) працює шляхом зміни індуктивного упередження алгоритму навчання відповідно до заданої задачі. Це робиться шляхом зміни ключових аспектів алгоритму навчання, таких як подання гіпотез, евристичні формули та параметри. Існує багато різних підходів.
  • Індуктивне передавання (англ. inductive transfer) вивчає, як покращувати процес навчання з плином часу. Метадані містять знання про попередні епізоди навчання та використовуються для ефективної розробки ефективної гіпотези для нового завдання. Пов'язаний підхід називають «навчанням навчатися[en]», його мета полягає у використанні набутих знань з однієї області щоби допомагати навчатися в інших областях.
  • Інші підходи з використанням метаданих для покращування автоматичного навчання — це системи навчання класифікаторів[en], міркування на основі прецедентів[en] і виконання обмежень[en].
  • Було розпочато певну початкову теоретичну роботу щодо використання прикладного поведінкового аналізу[en] як основи для опосередкованого агентами метанавчання щодо продуктивності учнів-людей і підлаштовування курсу навчання штучного агента.[24]
  • АвтоМН (англ. AutoML), як-от проєкт Google Brain «ШІ будує ШІ» (англ. "AI building AI"), який, за твердженням Google, 2017 року ненадовго перевершив наявні еталони ImageNet[en].[25][26]

Примітки[ред. | ред. код]

  1. а б в г д Schmidhuber, Jürgen (1987). Evolutionary principles in self-referential learning, or on learning how to learn: the meta-meta-... hook (PDF). Diploma Thesis, Tech. Univ. Munich (англ.).
  2. а б в Schaul, Tom; Schmidhuber, Jürgen (2010). Metalearning. Scholarpedia (англ.). 5 (6): 4650. Bibcode:2010SchpJ...5.4650S. doi:10.4249/scholarpedia.4650.
  3. P. E. Utgoff (1986). Shift of bias for inductive concept learning. У R. Michalski, J. Carbonell, & T. Mitchell (ред.). Machine Learning: An Artificial Intelligence Approach (англ.). с. 163—190.
  4. Bengio, Yoshua; Bengio, Samy; Cloutier, Jocelyn (1991). Learning to learn a synaptic rule (PDF). IJCNN'91 (англ.).
  5. Lemke, Christiane; Budka, Marcin; Gabrys, Bogdan (20 липня 2013). Metalearning: a survey of trends and technologies. Artificial Intelligence Review (англ.). 44 (1): 117—130. doi:10.1007/s10462-013-9406-y. ISSN 0269-2821. PMC 4459543. PMID 26069389.
  6. Brazdil, Pavel; Carrier, Christophe Giraud; Soares, Carlos; Vilalta, Ricardo (2009). Metalearning - Springer. Cognitive Technologies (англ.). doi:10.1007/978-3-540-73263-1. ISBN 978-3-540-73262-4.
  7. Gordon, Diana; Desjardins, Marie (1995). Evaluation and Selection of Biases in Machine Learning (PDF). Machine Learning (англ.). 20: 5—22. doi:10.1023/A:1022630017346. Процитовано 27 березня 2020.
  8. а б в г Weng, Lilian (30 листопада 2018). Meta-Learning: Learning to Learn Fast. OpenAI Blog (англ.). Процитовано 27 жовтня 2019.
  9. Santoro, Adam; Bartunov, Sergey; Wierstra, Daan; Lillicrap, Timothy. Meta-Learning with Memory-Augmented Neural Networks (PDF) (англ.). Google DeepMind. Процитовано 29 жовтня 2019.
  10. Munkhdalai, Tsendsuren; Yu, Hong (2017). «Meta Networks» (en). arXiv:1703.00837 [cs.LG]. 
  11. Koch, Gregory; Zemel, Richard; Salakhutdinov, Ruslan (2015). Siamese Neural Networks for One-shot Image Recognition (PDF) (англ.). Toronto, Ontario, Canada: Department of Computer Science, University of Toronto.
  12. Vinyals, O.; Blundell, C.; Lillicrap, T.; Kavukcuoglu, K.; Wierstra, D. (2016). Matching networks for one shot learning (PDF) (англ.). Google DeepMind. Процитовано 3 листопада 2019.
  13. Sung, F.; Yang, Y.; Zhang, L.; Xiang, T.; Torr, P. H. S.; Hospedales, T. M. (2018). Learning to compare: relation network for few-shot learning (PDF) (англ.).
  14. Snell, J.; Swersky, K.; Zemel, R. S. (2017). Prototypical networks for few-shot learning (PDF) (англ.).
  15. Ravi, Sachin; Larochelle, Hugo (2017). Optimization as a model for few-shot learning. ICLR 2017 (англ.). Процитовано 3 листопада 2019.
  16. а б в г Finn, Chelsea; Abbeel, Pieter; Levine, Sergey (2017). «Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks» (en). arXiv:1703.03400 [cs.LG]. 
  17. Nichol, Alex; Achiam, Joshua; Schulman, John (2018). «On First-Order Meta-Learning Algorithms» (en). arXiv:1803.02999 [cs.LG]. 
  18. Schmidhuber, Jürgen (1993). A self-referential weight matrix. Proceedings of ICANN'93, Amsterdam (англ.): 446—451.
  19. Hochreiter, Sepp; Younger, A. S.; Conwell, P. R. (2001). Learning to Learn Using Gradient Descent. Proceedings of ICANN'01 (англ.): 87—94.
  20. Andrychowicz, Marcin; Denil, Misha; Gomez, Sergio; Hoffmann, Matthew; Pfau, David; Schaul, Tom; Shillingford, Brendan; de Freitas, Nando (2017). Learning to learn by gradient descent by gradient descent. Proceedings of ICML'17, Sydney, Australia (англ.).
  21. Schmidhuber, Jürgen (1994). On learning how to learn learning strategies (PDF). Technical Report FKI-198-94, Tech. Univ. Munich (англ.).
  22. Schmidhuber, Jürgen; Zhao, J.; Wiering, M. (1997). Shifting inductive bias with success-story algorithm, adaptive Levin search, and incremental self-improvement. Machine Learning (англ.). 28: 105—130. doi:10.1023/a:1007383707642.
  23. Schmidhuber, Jürgen (2006). Gödel machines: Fully Self-Referential Optimal Universal Self-Improvers. In B. Goertzel & C. Pennachin, Eds.: Artificial General Intelligence (англ.): 199—226.
  24. Begoli, Edmon (May 2014). Procedural-Reasoning Architecture for Applied Behavior Analysis-based Instructions. Doctoral Dissertations (англ.). Knoxville, Tennessee, USA: University of Tennessee, Knoxville: 44—79. Процитовано 14 жовтня 2017.
  25. Robots Are Now 'Creating New Robots,' Tech Reporter Says. NPR.org (англ.). 2018. Процитовано 29 березня 2018.
  26. AutoML for large scale image classification and object detection. Google Research Blog (англ.). November 2017. Процитовано 29 березня 2018.

Посилання[ред. | ред. код]