Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Жақында шығарылды мақала, бұл соңғы жылдары машиналық оқытудың жақсы үрдісін көрсетеді. Қысқасы: соңғы екі жылда машиналық оқыту стартаптарының саны күрт азайды.

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?
Енді не. «Көпіршік жарылып кетті ме», «қалай өмір сүруді жалғастыру керек» деген сұрақтарды қарастырайық және ең алдымен бұл шиыршық қайдан шыққаны туралы сөйлесейік.

Алдымен, осы қисық сызықтың күшейткіші не болғаны туралы сөйлесейік. Ол қайдан келді? Олар бәлкім, бәрін есте сақтайды жеңіс 2012 жылы ImageNet байқауында машиналық оқыту. Өйткені, бұл бірінші жаһандық оқиға! Бірақ іс жүзінде олай емес. Ал қисықтың өсуі сәл ертерек басталады. Мен оны бірнеше тармаққа бөлер едім.

  1. 2008 жылы «үлкен деректер» термині пайда болды. Нағыз өнімдер басталды пайда болады 2010 жылдан бастап. Үлкен деректер машиналық оқытумен тікелей байланысты. Үлкен деректерсіз сол кездегі алгоритмдердің тұрақты жұмыс істеуі мүмкін емес. Және бұл нейрондық желілер емес. 2012 жылға дейін нейрондық желілер маргиналды азшылықты сақтап қалды. Бірақ содан кейін жылдар бойы, тіпті ондаған жылдар бойы болған мүлдем басқа алгоритмдер жұмыс істей бастады: SVM(1963,1993), Кездейсоқ орман (1995) AdaBoost (2003),... Сол жылдардағы стартаптар ең алдымен құрылымдық деректерді автоматты өңдеумен байланысты: кассалық аппараттар, пайдаланушылар, жарнама және т.б.

    Бұл бірінші толқынның туындысы XGBoost, CatBoost, LightGBM және т.б. сияқты фреймворктер жиынтығы болып табылады.

  2. 2011-2012 жж конвульсиялық нейрондық желілер суретті тану бойынша бірқатар байқауларда жеңіске жетті. Олардың нақты қолданылуы біршама кешіктірілді. Жаппай мағыналы стартаптар мен шешімдер 2014 жылы пайда бола бастады деп айтар едім. Нейрондардың әлі де жұмыс істейтінін қорыту, ақылға қонымды уақытта орнатылып, іске қосылуы мүмкін ыңғайлы құрылымдарды жасау, конвергенция уақытын тұрақтандыру және жылдамдату әдістерін әзірлеу үшін екі жыл қажет болды.

    Конволюционды желілер компьютерлік көру мәселелерін шешуге мүмкіндік берді: кескіндегі кескіндер мен объектілерді жіктеу, объектіні анықтау, объектілер мен адамдарды тану, кескінді жақсарту және т.б.

  3. 2015-2017 жж. Қайталанатын желілер немесе олардың аналогтары (LSTM, GRU, TransformerNet және т.б.) негізіндегі алгоритмдер мен жобалардың бумы. Жақсы жұмыс істейтін сөйлеуден мәтінге алгоритмдер және машиналық аударма жүйелері пайда болды. Олар негізгі мүмкіндіктерді шығару үшін ішінара конволюционды желілерге негізделген. Ішінара біз шынымен үлкен және жақсы деректер жинақтарын жинауды үйренгенімізге байланысты.

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

«Көпіршік жарылып кетті ме? Хайп қызып кетті ме? Олар блокчейн ретінде өлді ме?»
Әйтпесе! Ертең Siri телефоныңызда жұмысын тоқтатады, ал келесі күні Тесла бұрылыс пен кенгурудың айырмашылығын білмейді.

Нейрондық желілер қазірдің өзінде жұмыс істейді. Олар ондаған құрылғыларда бар. Олар шынымен ақша табуға, нарықты және айналаңыздағы әлемді өзгертуге мүмкіндік береді. Hype сәл басқаша көрінеді:

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Нейрондық желілер енді жаңа нәрсе емес. Иә, көп адамдар үлкен үміт күтеді. Бірақ көптеген компаниялар нейрондарды пайдалануды және олардың негізінде өнімдер жасауды үйренді. Нейрондар жаңа функционалдылықты қамтамасыз етеді, жұмыс орындарын қысқартуға және қызметтердің бағасын төмендетуге мүмкіндік береді:

  • Өндіруші компаниялар өндірістік желідегі ақауларды талдау үшін алгоритмдерді біріктіреді.
  • Мал фермалары сиырларды бақылау жүйесін сатып алады.
  • Автоматты комбайндар.
  • Автоматтандырылған байланыс орталықтары.
  • SnapChat сүзгілері. (кем дегенде пайдалы нәрсе!)

Ең бастысы, ең айқын емес: «Енді жаңа идеялар жоқ немесе олар жедел капитал әкелмейді». Нейрондық желілер ондаған мәселелерді шешті. Және олар одан да көп шешім қабылдайды. Бар болған барлық айқын идеялар көптеген стартаптардың пайда болуына себеп болды. Бірақ бетінде болғанның бәрі жиналып қойған. Соңғы екі жылда мен нейрондық желілерді пайдаланудың бірде-бір жаңа идеясын кездестірген жоқпын. Бірде-бір жаңа тәсіл емес (жақсы, GAN-мен бірнеше проблемалар бар).

Және әрбір келесі іске қосу барған сайын күрделірек. Ол енді ашық деректерді пайдаланып нейронды жаттықтыратын екі жігітті қажет етпейді. Ол үшін бағдарламашылар, сервер, маркерлер тобы, кешенді қолдау және т.б.

Нәтижесінде стартаптар азаяды. Бірақ одан да көп өндіріс бар. Нөмірді тануды қосу керек пе? Нарықта тиісті тәжірибесі бар жүздеген мамандар бар. Сіз біреуді жалдай аласыз және бір-екі айдан кейін сіздің қызметкеріңіз жүйені жасайды. Немесе дайын сатып алыңыз. Бірақ жаңа стартап жасап жатырсыз ба?.. Ақылсыз!

Сізге келушілерді бақылау жүйесін жасау керек - 3-4 айдың ішінде өзіңіз жасай алатын болсаңыз, неліктен көптеген лицензиялар үшін төлейсіз, оны бизнесіңіз үшін қайрайсыз.

Қазір нейрондық желілер ондаған басқа технологиялар өткен жолмен жүріп жатыр.

1995 жылдан бері «веб-сайт әзірлеушісі» түсінігі қалай өзгергені есіңізде ме? Нарық әлі мамандармен толыққан жоқ. Кәсіби мамандар өте аз. Бірақ 5-10 жылдан кейін Java бағдарламашысы мен нейрондық желіні жасаушы арасында үлкен айырмашылық болмайтынына сенімдімін. Нарықта екі маман да жеткілікті болады.

Нейрондар шешуге болатын мәселелердің жай ғана класы болады. Тапсырма туындады - маманды жалдаңыз.

«Келесі не? Уәде етілген жасанды интеллект қайда?»

Бірақ мұнда кішкентай, бірақ қызықты түсінбеушілік бар :)

Бүгінгі таңда бар технологиялық стек, шамасы, бізді жасанды интеллектке апармайды. Идеялар мен олардың жаңашылдығы негізінен таусылды. Қазіргі даму деңгейін не ұстап тұрғаны туралы сөйлесейік.

Шектеулер

Өздігінен жүретін көліктерден бастайық. Қазіргі технологиямен толық автономды көліктер жасауға болатыны анық сияқты. Бірақ бұл қанша жылдан кейін болатыны белгісіз. Тесла бұл бірнеше жылдан кейін болады деп сенеді -


Басқалар да көп мамандар, кім оны 5-10 жыл деп есептейді.

Менің ойымша, 15 жылдан кейін қалалардың инфрақұрылымының өзі автономды көліктердің пайда болуы сөзсіз және оның жалғасы болатындай өзгереді. Бірақ мұны интеллект деп санауға болмайды. Қазіргі заманғы Tesla - бұл деректерді сүзуге, іздеуге және қайта даярлауға арналған өте күрделі құбыр. Бұл ережелер-ережелер-ережелер, деректерді жинау және олардың үстінен сүзгілер (мұнда осында Мен бұл туралы көбірек жаздым немесе мына жерден қараңыз бұл белгілер).

Бірінші мәселе

Және бұл жерде біз көреміз бірінші іргелі мәселе. Үлкен деректер. Бұл нейрондық желілер мен машиналық оқытудың қазіргі толқынын тудырған нәрсе. Қазіргі уақытта күрделі және автоматты нәрсе жасау үшін сізге көптеген деректер қажет. Тек көп емес, өте, өте көп. Бізге оларды жинау, белгілеу және пайдалану үшін автоматтандырылған алгоритмдер қажет. Біз көлікке жүк көліктерін күнге қарайтын етіп көрсеткіміз келеді - алдымен олардың жеткілікті санын жинау керек. Біз автомобильдің жүксалғышқа бекітілген велосипедпен есінен танып қалмауын қалаймыз - көбірек үлгілер.

Оның үстіне бір ғана мысал жеткіліксіз. Жүздеген? Мыңдаған?

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Екінші мәселе

Екінші мәселе — біздің нейрондық желінің түсінгенін визуализациялау. Бұл өте тривиальды емес тапсырма. Осы уақытқа дейін аз адамдар мұны қалай елестету керектігін түсінеді. Бұл мақалалар өте жаңа, бұл алыс болса да бірнеше мысалдар:
Көрнекілік текстураларға әуестену. Ол нейронның нені бекітетінін + бастапқы ақпарат ретінде қабылдайтынын жақсы көрсетеді.

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?
Көрнекілік Назар аударыңыз аудармалар. Шын мәнінде, мұндай желілік реакцияға не себеп болғанын көрсету үшін тартымдылықты жиі қолдануға болады. Мен мұндай нәрселерді отладтау және өнім шешімдері үшін көрдім. Бұл тақырып бойынша көптеген мақалалар бар. Бірақ деректер неғұрлым күрделі болса, сенімді визуализацияға қалай қол жеткізу керектігін түсіну соғұрлым қиын болады.

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Иә, «тордың ішінде не бар екенін қараңыз сүзгілер" Бұл суреттер 3-4 жыл бұрын танымал болды, бірақ бәрі суреттердің әдемі екенін тез түсінді, бірақ олардың мағынасы жоқ.

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Мен ондаған басқа гаджеттерді, әдістерді, бұзуларды, желінің ішкі бөліктерін көрсету туралы зерттеулерді айтқан жоқпын. Бұл құралдар жұмыс істей ме? Олар сізге мәселенің не екенін тез түсінуге және желіні жөндеуге көмектесе ме?.. Соңғы пайызды алыңыз? Бұл шамамен бірдей:

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Сіз Kaggle сайтында кез келген жарысты көре аласыз. Және адамдардың соңғы шешімдерді қалай қабылдайтынының сипаттамасы. Біз 100-500-800 үлгілерді жинадық және ол жұмыс істеді!

Мен, әрине, асыра айтып отырмын. Бірақ бұл тәсілдер жылдам және тікелей жауап бермейді.

Жеткілікті тәжірибеге ие бола отырып, әртүрлі нұсқаларды зерттей отырып, сіз жүйеңіздің неге мұндай шешім қабылдағаны туралы қорытынды бере аласыз. Бірақ жүйенің мінез-құлқын түзету қиын болады. Таяқшаны орнатыңыз, шекті жылжытыңыз, деректер жинағын қосыңыз, басқа серверлік желіні алыңыз.

Үшінші мәселе

Үшінші негізгі мәселе — торлар логиканы емес, статистиканы үйретеді. Статистикалық бұл лицо:

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Логикалық тұрғыдан, бұл өте ұқсас емес. Нейрондық желілер, егер олар мәжбүр болмаса, күрделі ештеңені үйренбейді. Олар әрқашан мүмкін болатын қарапайым белгілерді үйретеді. Сенің көзің, мұрның, басың бар ма? Демек, бұл бет! Немесе көздер бетті білдірмейтін мысал келтіріңіз. Және тағы да - миллиондаған мысалдар.

Төменгі жағында көп орын бар

Қазіргі уақытта нейрондық желілер мен машиналық оқытудың дамуын шектейтін осы үш жаһандық проблема дер едім. Бұл проблемалар оны шектемеген жерде ол қазірдің өзінде белсенді түрде қолданылады.

Бұл соңы? Нейрондық желілер жұмыс істеп жатыр ма?

Белгісіз. Бірақ, әрине, бәрі жоқ деп үміттенеді.

Мен жоғарыда атап өткен іргелі мәселелерді шешудің көптеген тәсілдері мен бағыттары бар. Бірақ әзірге бұл тәсілдердің ешқайсысы түбегейлі жаңа нәрсе жасауға, әлі шешілмеген нәрсені шешуге мүмкіндік бермеді. Әзірге барлық іргелі жобалар тұрақты тәсілдер негізінде жүзеге асырылуда (Tesla) немесе институттардың немесе корпорациялардың (Google Brain, OpenAI) сынақ жобалары болып қалады.

Дөрекі түрде айтқанда, негізгі бағыт - кіріс деректерінің жоғары деңгейлі көрінісін жасау. Бір мағынада «есте сақтау». Жадтың қарапайым мысалы - әртүрлі «Ендіру» - кескінді ұсыну. Мысалы, барлық бет тану жүйелері. Желі бетті айналдыруға, жарықтандыруға немесе ажыратымдылыққа байланысты емес тұрақты бейнені алуды үйренеді. Негізінде, желі «әртүрлі беттер алыс» және «бірдей беттер жақын» метрикасын азайтады.

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Мұндай оқыту үшін ондаған және жүздеген мың мысалдар қажет. Бірақ нәтиже «Бір рет оқудың» кейбір негіздерін береді. Енді адамды еске түсіру үшін бізге жүздеген беттер қажет емес. Тек бір бет және біз осы ғана анықтап көрейік!
Бір ғана мәселе бар... Тор өте қарапайым нысандарды ғана біле алады. Беттерді емес, мысалы, «адамдарды киімімен» ажыратуға тырысқанда (тапсырма Қайта сәйкестендіру) - сапа шамасының көптеген реттері бойынша төмендейді. Ал желі бұдан былай бұрыштардағы айқын өзгерістерді біле алмайды.

Миллиондаған мысалдардан үйрену де қызық.

Сайлауды айтарлықтай қысқарту бойынша жұмыс жүргізілуде. Мысалы, алғашқы жұмыстардың бірін бірден еске түсіруге болады OneShot Learning Google-дан:

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Мысалы, мұндай шығармалар өте көп 1 немесе 2 немесе 3.

Бір ғана минус бар - әдетте жаттығулар кейбір қарапайым, «MNIST» мысалдарында жақсы жұмыс істейді. Ал күрделі тапсырмаларға көшкен кезде сізге үлкен дерекқор, нысандардың үлгісі немесе қандай да бір сиқыр қажет.
Жалпы, «Бір ату» тренингі бойынша жұмыс өте қызықты тақырып. Сіз көптеген идеяларды табасыз. Бірақ көп жағдайда мен санаған екі мәселе (үлкен деректер жиынында алдын ала дайындық/күрделі деректердегі тұрақсыздық) оқуға үлкен кедергі келтіреді.

Екінші жағынан, GAN – генеративті қарсылас желілер – ендіру тақырыбына жақындайды. Сіз Хабре туралы осы тақырып бойынша көптеген мақалаларды оқыған шығарсыз. (1, 2,3)
GAN ерекшелігі - кескінді салуға мүмкіндік беретін кейбір ішкі күй кеңістігін қалыптастыру (негізінен бірдей Енгізу). Болуы мүмкін тұлғалар, бола алады әрекет.

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

GAN проблемасы генерацияланған объект неғұрлым күрделі болса, оны «генератор-дискриминатор» логикасында сипаттау қиынырақ болады. Нәтижесінде GAN-ның жалғыз нақты қолданбалары - DeepFake, ол қайтадан бет әлпетін басқарады (ол үшін үлкен база бар).

Мен басқа пайдалы пайдалануды өте аз көрдім. Әдетте суреттердің сызбаларын аяқтауға қатысты қандай да бір қулық.

Және тағы да. Бұл бізге жарқын болашаққа қалай қадам басуға мүмкіндік беретінін ешкім білмейді. Нейрондық желіде логиканы/кеңістікті көрсету жақсы. Бірақ бізге көптеген мысалдар қажет, біз нейронның мұны қалай көрсететінін түсінбейміз, нейронды қандай да бір күрделі идеяны есте қалдыруды түсінбейміз.

Арматуралық оқыту - бұл мүлдем басқа бағыттағы көзқарас. Google Go-да барлығын қалай жеңгені есіңізде. Starcraft және Dota ойындарындағы соңғы жеңістер. Бірақ мұнда бәрі соншалықты қызғылт және перспективалы емес. Ол RL және оның күрделілігі туралы жақсы айтады Бұл мақала.

Автордың жазғанын қысқаша түйіндесек:

  • Қораптан шыққан модельдер көп жағдайда сәйкес келмейді / нашар жұмыс істейді
  • Практикалық есептерді басқа тәсілдермен шешу оңайырақ. Boston Dynamics күрделілігіне/болжауға болмайтындығына/есептеу күрделілігіне байланысты RL қолданбайды.
  • RL жұмыс істеуі үшін сізге күрделі функция қажет. Оны жасау/жазу жиі қиын
  • Модельдерді үйрету қиын. Сіз жергілікті оптимумнан шығу және сорғыту үшін көп уақыт жұмсауыңыз керек
  • Нәтижесінде модельді қайталау қиын, модель ең аз өзгерістермен тұрақсыз
  • Көбінесе кейбір кездейсоқ үлгілерге, тіпті кездейсоқ сандар генераторына да сәйкес келеді

Ең бастысы, RL әлі өндірісте жұмыс істемейді. Google кейбір тәжірибелері бар ( 1, 2 ). Бірақ мен бірде-бір өнім жүйесін көрмедім.

жад. Жоғарыда сипатталған барлық нәрсенің кемшілігі - құрылымның болмауы. Осының барлығын ретке келтіруге тырысатын тәсілдердің бірі нейрондық желіні бөлек жадыға қолжетімділікпен қамтамасыз ету болып табылады. Ол сол жердегі қадамдарының нәтижелерін жазып, қайта жазуы үшін. Содан кейін нейрондық желіні ағымдағы жады күйімен анықтауға болады. Бұл классикалық процессорлар мен компьютерлерге өте ұқсас.

Ең танымал және танымал мақала — DeepMind сайтынан:

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Бұл интеллектті түсінудің кілті сияқты? Бірақ, мүмкін емес. Жүйе әлі де оқыту үшін үлкен көлемдегі деректерді қажет етеді. Және ол негізінен құрылымдық кестелік деректермен жұмыс істейді. Оның үстіне Facebook қашан шешті ұқсас мәселе, содан кейін олар «жады бұрап, нейронды күрделендіріңіз және көбірек мысалдар алыңыз - және ол өздігінен үйренеді» жолын ұстанды.

Ажырату. Мағыналы жадты құрудың тағы бір жолы - бірдей ендірулерді алу, бірақ жаттығу кезінде олардағы «мағыналарды» бөлектеуге мүмкіндік беретін қосымша критерийлерді енгізіңіз. Мысалы, біз нейрондық желіні дүкендегі адамның мінез-құлқын ажыратуға үйреткіміз келеді. Егер біз стандартты жолмен жүрсек, ондаған желі жасауымыз керек еді. Біреуі адамды іздейді, екіншісі не істеп жатқанын анықтайды, үшіншісі жасы, төртіншісі жынысы. Бөлек логика дүкеннің мұны жасайтын/үйретілген бөлігін қарастырады. Үшіншісі оның траекториясын анықтайды және т.б.

Немесе, егер деректердің шексіз саны болса, онда бір желіні барлық ықтимал нәтижелерге үйретуге болады (әлбетте, деректердің мұндай массивін жинау мүмкін емес).

Бөлшектеу тәсілі бізге айтады – желіні өзі ұғымдарды ажырата алатындай етіп жаттықтырайық. Бейнеге негізделген кірістіру қалыптасады, онда бір аймақ әрекетті анықтайды, уақытында едендегі позицияны анықтайды, адамның бойын анықтайды және адамның жынысын анықтайды. Сонымен қатар, жаттығу кезінде мен желіні мұндай негізгі ұғымдармен емес, оның аймақтарды бөліп көрсету және топтастыру үшін дерлік ұсынғым келеді. Мұндай мақалалар өте аз (олардың кейбірі 1, 2, 3) және жалпы алғанда олар айтарлықтай теориялық.

Бірақ бұл бағыт, кем дегенде, теориялық тұрғыдан, басында келтірілген мәселелерді қамтуы керек.

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

«Қабырға түсі/еден түсі/нысан пішіні/нысан түсі/т.б.» параметрлері бойынша кескіннің декомпозициясы.

Машина үйрену көпіршігі жарылды ма, әлде бұл жаңа таңның басы ма?

Беттің «өлшемі, қасы, бағыты, тері түсі және т.б.» параметрлері бойынша ыдырауы.

Прочее

Дерекқорды қандай да бір түрде азайтуға, гетерогенді деректермен жұмыс істеуге және т.

назар. Мұны бөлек әдіс ретінде бөлудің мағынасы жоқ шығар. Тек басқаларды жақсартатын тәсіл. Көптеген мақалалар оған арналған (1,2,3). Назар аударатын мәселе - оқыту кезінде желінің маңызды объектілерге реакциясын күшейту. Көбінесе сыртқы мақсатты белгілеу немесе шағын сыртқы желі арқылы.

3D симуляциясы. Егер сіз жақсы 3D қозғалтқышын жасасаңыз, онымен жаттығу деректерінің 90% жабуға болады (тіпті деректердің 99% дерлік жақсы қозғалтқышпен қамтылған мысалды көрдім). 3D қозғалтқышында оқытылған желіні нақты деректерді (дәл баптау, мәнерді тасымалдау және т. Бірақ көбінесе жақсы қозғалтқышты жасау деректерді жинаудан бірнеше рет қиынырақ. Қозғалтқыштар жасалған кездегі мысалдар:
Роботты оқыту (Google, ми бақшасы)
Тренингтер тану дүкендегі тауарлар (бірақ біз жасаған екі жобада біз онсыз оңай жасай аламыз).
Tesla-да жаттығу (қайтадан жоғарыдағы бейне).

қорытындылар

Бүкіл мақала белгілі бір мағынада қорытынды. Мүмкін, мен айтқым келген негізгі хабарлама: «Тегіндер аяқталды, нейрондар енді қарапайым шешімдерді бермейді». Енді күрделі шешімдер қабылдау үшін көп жұмыс істеу керек. Немесе күрделі ғылыми ізденіспен айналысыңыз.

Жалпы, тақырып пікірталас. Мүмкін оқырмандарға қызықты мысалдар бар шығар?

Ақпарат көзі: www.habr.com

пікір қалдыру