Машыннае навучанне (англ.: Machine learning, ML) — галіна штучнага інтэлекту, якая займаецца стварэннем і вывучэннем статыстычных алгарытмаў, здольных да абагульнення і выканання задач без яўнага праграмавання[1]. Апошнім часам генератыўныя штучныя нейронныя сеткі змаглі перасягнуць многія папярэднія падыходы ў эфектыўнасці[2][3]. Падыходы машыннага навучання прымяняюцца для стварэння вялікіх моўных мадэляў, мадэляў камп’ютэрнага зроку, распазнавання маўлення, фільтравання электроннай пошты, а таксама ў сферах сельскай гаспадаркі і медыцыны тады, калі цяжка ці немагчыма распрацаваць звычайныя алгарытмы для выканання неабходных задач[4][5].
Праграма для выканання пэўных задач, заснаваная на алгарытмах машыннага навучання, завецца мадэллю, а працэс прымянення такіх алгарытмаў да навучальнага набору даных — навучаннем мадэлі[6][7].
Машыннае навучанне грунтуецца на метадах матэматычнай аптымізацыі (матэматычнага праграмавання). Роднасная вобласць даследавання, здабыванне даных, канцэнтруецца на выведным аналізе даных праз некіраванае навучанне[8].
Прымяненне машыннага навучання ў бізнес-задачах называюць яшчэ прагнастычнай аналітыкай. Хаця не ўсё машыннае навучанне грунтуецца на статыстыцы, вылічальная статыстыка ёсць важнай крыніцай метадаў у гэтай галіне.
Агульныя звесткі
Алгарытмы навучання грунтуюцца на дапушчэнні, што стратэгіі, алгарытмы і высновы, якія добра працавалі ў мінулым, верагодна, будуць добра працаваць і ў будучыні. Гэтыя высновы могуць быць трывіяльнымі, напрыклад, «сонца ўзыходзіла штораніцы цягам апошніх 10 000 дзён, таму яно, верагодна, узыдзе і заўтра зранку». Яны могуць быць і больш складанымі, напрыклад «X% біялагічных сямействаў маюць геаграфічна адасобленыя віды з рознымі варыянтамі афарбоўкі, таму не знойдзеныя дагэтуль чорныя лебедзі існуюць з імавернасцю Y%»[9].
Праграмы машыннага навучання могуць выконваць задачы без яўнага іх на гэта праграмавання. Камп’ютары навучаюцца рабіць гэта з дапамогай пэўнага набору даных. Для простых задач можна яўна запраграмаваць алгарытмы, што паведамляюць машыне, якія крокі неабходна выканаць для развязання пастаўленай задачы; з боку камп’ютара навучанне не патрабуецца. Для больш складаных задач чалавеку можа быць цяжка самастойна сфармуляваць неабходны набор інструкцый. На практыцы для праграміста можа быць больш эфектыўным дапамагчы машыне распрацаваць уласны алгарытм, чым уручную пазначаць кожны неабходны крок[10].
Галіна машыннага навучання выкарыстоўвае розныя падыходы, каб навучыць камп’ютары выконваць задачы ў выпадках, калі яўная распрацоўка алгарытму немагчымая або немэтазгодная. У такіх выпадках адным з падыходаў можа быць збор прыкладаў правільнага развязання задачы. Пасля гэтыя прыклады могуць быць выкарыстаныя камп’ютарам як даныя для навучання, каб палепшыць алгарытм. Напрыклад, каб навучыць сістэму распазнавання лічбаў, часта выкарыстоўваецца набор даных рукапісных лічбаў MNIST[10].
Падыходы
Падыходы да машыннага навучання традыцыйна падзяляюцца на тры шырокія катэгорыі, якія адпавядаюць парадыгмам навучання паводле характару «сігналу» або «зваротнай сувязі», даступнай сістэме навучання:
- Кіраванае навучанне: камп’ютар мае прыклады запытаў і пажаданых адказаў на іх, і на прыкладах навучаецца правілу, паводле якога запыт можа быць пераўтвораны ў правільны адказ.
- Некіраванае навучанне: камп’ютар атрымлівае даныя без разметкі, каб вызначыць іх структуру і заканамернасці. Некіраванае навучанне можа быць самамэтай (выяўленне невядомай структуры ў даных) або інструментам для іншых падыходаў (навучанне прыкметам).
- Навучанне з падмацаваннем: камп’ютар узаемадзейнічае з дынамічным асяроддзем, у якім павінна быць выкананая пэўная задача (напрыклад, кіраванне аўтамабілем або гульня з апанентам). У працэсе даследавання асяроддзя камп’ютар атрымлівае зваротную сувязь у выглядзе ўзнагарод за правільныя дзеянні і навучаецца іх максімізаваць[11].
Кіраванае навучанне
Алгарытмы кіраванага навучання ствараюць матэматычную мадэль з набору даных, які змяшчае як запыты, так і пажаданыя адказы (разметку). Такія даныя называюцца трэніровачнымі і складаюцца з набору трэніровачных прыкладаў[12]. Кожны трэніровачны прыклад змяшчае адзін ці больш запытаў і пажаданых адказаў, таксама вядомы як кіроўны сігнал. У матэматычнай мадэлі кожны трэніровачны прыклад прадстаўлены масівам або вектарам, які часам называюць вектарам прыкмет, а трэніровачныя даныя прадстаўленыя ў выглядзе матрыцы. Праз ітэратыўную аптымізацыю алгарытмы кіраванага навучання вывучаюць функцыю, якая можа быць выкарыстана для атрымання адказаў на новыя запыты, якія не ўваходзілі ў трэніровачны набор[13]. Пра алгарытм, які пакрысе паляпшае правільнасць сваіх адказаў, кажуць, што ён навучаецца выконваць пэўную задачу[14].
Тыпамі алгарытмаў кіраванага навучання ёсць класіфікацыя і рэгрэсія[15]. Класіфікацыя выкарыстоўваецца тады, калі адказы абмежаваныя канечным наборам значэнняў, а рэгрэсія тады, калі адказы прымаюць якія заўгодна лікавыя значэнні ў пэўным дыяпазоне. Напрыклад для алгарытму класіфікацыі электронных лістоў запытам будзе сам уваходны ліст, а адказам — імя папкі, у якую гэты ліст мусіць быць пакладзены.
Навучанне падабенству — галіна кіраванага навучання, цесна звязаная з класіфікацыяй і рэгрэсіяй, але яе мэтай ёсць навучанне на прыкладах функцыі падабенства паміж аб’ектамі. Навучанне падабенству мае прымяненні ў рангаванні, рэкамендацыйных сістэмах, адсочванні візуальнай ідэнтычнасці, верыфікацыі твараў і прамоўцаў.
Некіраванае навучанне
Алгарытмы некіраванага навучання працуюць з данымі без разметкі і знаходзяць у іх структуру, напрыклад, групы ці кластары аб’ектаў. Замест таго, каб рэагаваць на зваротную сувязь, алгарытмы некіраванага навучання вызначаюць агульныя рысы ў даных і рэагуюць на наяўнасць або адсутнасць такіх агульных рыс у кожнай новай порцыі даных. Некіраванае навучанне знаходзіць сваё асноўнае прымяненне ў задачы ацэнкі шчыльнасці размеркавання ў статыстыцы[16]. Пры гэтым некіраванае навучанне ахоплівае і іншыя прадметныя вобласці, звязаныя з абагульненнем і тлумачэннем прыкмет даных.
Кластарны аналіз — гэта разбіццё назіранняў на падмноствы (якія завуцца кластарамі) такім чынам, што назіранні ўнутры аднаго кластара падобныя паводле аднаго ці больш абраных крытэраў, у той час як назіранні з розных кластараў непадобныя. Розныя тэхнікі кластарызацыі грунтуюцца на розных дапушчэннях пра структуру даных, часта вызначаную пэўнай метрыкай падабенства, і ацэньваюцца, напрыклад, унутранай кампактнасцю, ці падабенствам паміж аб’ектамі ўнутры кластара, і сепарацыяй, розніцай паміж кластарамі. Іншыя метады грунтуюцца на ацэнках шчыльнасці і звязнасці графаў.
Паўкіраванае навучанне
Паўкіраванае навучанне ляжыць паміж некіраваным навучаннем (без аніякай разметкі) і кіраваным навучаннем (з поўнасцю размечанымі трэніровачнымі данымі). У паўкіраваным навучанні некаторыя з трэніровачных прыкладаў не маюць разметкі, пры гэтым многія даследчыкі машыннага навучання прыйшлі да высновы, што неразмечаныя даныя ў спалучэнні з невялікай колькасцю размечаных могуць значна палепшыць якасць мадэлі.
У слаба кіраваным навучанні трэніровачная разметка шумная, абмежаваная або недакладная. Часта такую разметку прасцей і танней здабыць, і гэта дае магчымасць павялічыць колькасць трэніровачных даных[17].
Навучанне з падмацаваннем
Навучанне з падмацаваннем даследуе тое, як павінны паводзіць сябе праграмныя агенты ў пэўным асяроддзі, каб максімізаваць сукупную ўзнагароду. Праз універсальнасць гэтага падыходу яго вывучаюць у мностве іншых дысцыплін, такіх як тэорыя гульняў, тэорыя кіравання, даследаванне аперацый, тэорыя інфармацыі, аптымізацыя праз сімуляцыю, шматагентныя сістэмы, роевы інтэлект, статыстыка і генетычныя алгарытмы. У машынным навучанні асяроддзе звычайна прадстаўлена як маркаўскі працэс прыняцця рашэнняў. Многія алгарытмы навучання з падмацаваннем выкарыстоўваюць тэхнікі дынамічнага праграмавання[18]. Алгарытмы навучання з падмацаваннем не патрабуюць ведання дакладнай матэматычнай мадэлі асяроддзя і выкарыстоўваюцца, калі стварыць дакладную мадэль немагчыма. Прыклад такога алгарытму — праграма для гульні ў го, шахматы і сёгі AlphaZero.
Уплыў на экалогію
Выкарыстанне сучасных сістэм машыннага навучання, асабліва нейронных сетак, патрабуе вялікай колькасці рэсурсаў. Так, праз распрацоўкі ў галіне генератыўнага штучнага інтэлекту, у 2022 годзе ў Microsoft спажыванне вады вырасла на 34 %, а ў Google — на 20 %. Вада выкарыстоўваецца для ахаладжэння дата-цэнтраў, дзе адбываецца навучанне нейронных сетак. Вялікі цэнтр апрацоўкі даных можа штодзень спажываць да 19 мільёнаў літраў вады, што параўнальна з горадам насельніцтвам у 10-50 тысяч чалавек[19].
Гл. таксама
Зноскі
- ↑ Азначэнне «без яўнага праграмавання» часта прыпісваюць Артуру Самуэлю, які стварыў тэрмін «машыннае навучанне» ў 1959, але даслоўная цытата не знойдзена ў гэтай публікацыі і можа быць пазнейшай парафразай. Гл. «Paraphrasing Arthur Samuel (1959), the question is: How can computers learn to solve problems without being explicitly programmed?» у Koza, John R.; Bennett, Forrest H.; Andre, David; Keane, Martin A. (1996). "Automated Design of Both the Topology and Sizing of Analog Electrical Circuits Using Genetic Programming". Artificial Intelligence in Design '96. Artificial Intelligence in Design '96 [англійская]. Springer, Dordrecht. pp. 151–170. doi:10.1007/978-94-009-0279-4_9. ISBN 978-94-010-6610-5.
- ↑ What is Machine Learning?(нявызн.). IBM. Праверана 27 чэрвеня 2023.
- ↑ Zhou, Victor. Machine Learning for Beginners: An Introduction to Neural Networks (англ.). Medium (20 снежня 2019). Архівавана з першакрыніцы 9 сакавіка 2022. Праверана 15 жніўня 2021.
- ↑ Hu, Junyan; Niu, Hanlin; Carrasco, Joaquin; Lennox, Barry; Arvin, Farshad (2020). "Voronoi-Based Multi-Robot Autonomous Exploration in Unknown Environments via Deep Reinforcement Learning". IEEE Transactions on Vehicular Technology. 69 (12): 14413–14423. doi:10.1109/tvt.2020.3034800. ISSN 0018-9545. S2CID 228989788.
- ↑ Yoosefzadeh-Najafabadi, Mohsen; Hugh, Earl; Tulpan, Dan; Sulik, John; Eskandari, Milad (2021). "Application of Machine Learning Algorithms in Plant Breeding: Predicting Yield From Hyperspectral Reflectance in Soybean?". Front. Plant Sci. 11: 624273. doi:10.3389/fpls.2020.624273. PMC 7835636. PMID 33510761.
- ↑ What are Machine Learning Models? (англ.). Databricks. Праверана 15 снежня 2023.
- ↑ Three Levels of ML Software (англ.). ML Ops: Machine Learning Operations. Праверана 13 снежня 2023.
- ↑ Friedman, Jerome H. (1998). "Data Mining and Statistics: What's the connection?". Computing Science and Statistics. 29 (1): 3–9.
- ↑ Domingos 2015, Chapter 6, Chapter 7.
- 1 2 Ethem Alpaydin (2020). Introduction to Machine Learning (Fourth ed.). MIT. pp. xix, 1–3, 13–18. ISBN 978-0262043793.
- ↑ Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer. ISBN 978-0-387-31073-2.
- ↑ Russell, Stuart J.; Norvig, Peter (2010). Artificial Intelligence: A Modern Approach (Third ed.). Prentice Hall. ISBN 9780136042594.
- ↑ Mohri, Mehryar; Rostamizadeh, Afshin; Talwalkar, Ameet (2012). Foundations of Machine Learning. The MIT Press. ISBN 9780262018258.
- ↑ Mitchell, T. (1997). Machine Learning. McGraw Hill. pp. 2. ISBN 978-0-07-042807-2.
- ↑ Alpaydin, Ethem (2010). Introduction to Machine Learning. MIT Press. p. 9. ISBN 978-0-262-01243-0.
- ↑ Jordan, Michael I.; Bishop, Christopher M. (2004). "Neural Networks". In Allen B. Tucker (рэд.). Computer Science Handbook, Second Edition (Section VII: Intelligent Systems). Boca Raton, Florida: Chapman & Hall/CRC Press LLC. ISBN 978-1-58488-360-9.
- ↑ Weak Supervision: A New Programming Paradigm for Machine Learning . The Stanford AI Lab Blog. Праверана 7 студзеня 2023.
- ↑ van Otterlo, M.; Wiering, M. (2012). Reinforcement learning and Markov decision processes. Reinforcement Learning. Adaptation, Learning, and Optimization. Vol. 12. pp. 3–42. doi:10.1007/978-3-642-27645-3_1. ISBN 978-3-642-27644-6.
- ↑ "Лічбавая засуха: распрацоўка АІ патрабуе ўсё больш вады, якой становіцца ўсё менш". dev.by. 2013-09-23. Праверана 2023-10-02.