Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Недавно пуштен чланак, што показује добар тренд у машинском учењу последњих година. Укратко: број стартапова за машинско учење је нагло опао у последње две године.

Да ли је балон за машинско учење пукао или је то почетак нове зоре?
Добро. Хајде да погледамо „да ли је балон пукао“, „како наставити да живимо“ и разговарајмо о томе одакле уопште долази ова шкрипац.

Прво, хајде да причамо о томе шта је био појачивач ове криве. Одакле је дошла? Вероватно ће се сетити свега Вицтори машинско учење 2012. на такмичењу ИмагеНет. На крају крајева, ово је први глобални догађај! Али у стварности то није случај. А раст кривине почиње мало раније. Ја бих то поделио на неколико тачака.

  1. 2008. године се појавио термин „велики подаци“. Почели су прави производи појављују се од 2010. године. Велики подаци су директно повезани са машинским учењем. Без великих података немогућ је стабилан рад алгоритама који су постојали у то време. И то нису неуронске мреже. До 2012. године, неуронске мреже су биле резерват маргиналне мањине. Али онда су почели да раде потпуно другачији алгоритми, који су постојали годинама, па чак и деценијама: СВМ(1963,1993), Случајна шума (КСНУМКС), АдаБоост (2003),... Стартапи тих година првенствено се везују за аутоматску обраду структурираних података: касе, корисници, оглашавање, много више.

    Дериват овог првог таласа је скуп оквира као што су КСГБоост, ЦатБоост, ЛигхтГБМ, итд.

  2. У 2011-2012 конволуционе неуронске мреже победио на бројним такмичењима за препознавање слика. Њихова стварна употреба је донекле одложена. Рекао бих да су масовно значајни стартапови и решења почели да се појављују 2014. године. Било је потребно две године да се свари да неурони још увек функционишу, да се створе погодни оквири који се могу инсталирати и покренути у разумном року, да се развију методе које би стабилизовале и убрзале време конвергенције.

    Конволуционе мреже су омогућиле решавање проблема компјутерског вида: класификација слика и објеката на слици, детекција објеката, препознавање објеката и људи, побољшање слике итд. итд.

  3. 2015-2017. Бум алгоритама и пројеката заснованих на рекурентним мрежама или њиховим аналогама (ЛСТМ, ГРУ, ТрансформерНет, итд.). Појавили су се добро функционишући алгоритми говора у текст и системи машинског превођења. Оне су делимично засноване на конволуционим мрежама за издвајање основних карактеристика. Делимично због чињенице да смо научили да прикупљамо заиста велике и добре скупове података.

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

„Да ли је мехур пукао? Да ли је хипе прегрејан? Да ли су умрли као блокчејн?"
Иначе! Сутра ће Сири престати да ради на вашем телефону, а прекосутра Тесла неће знати разлику између скретања и кенгура.

Неуронске мреже већ раде. Има их у десетинама уређаја. Они вам заиста омогућавају да зарадите новац, промените тржиште и свет око себе. Хипе изгледа мало другачије:

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Само неуронске мреже више нису нешто ново. Да, многи људи имају велика очекивања. Али велики број компанија је научио да користи неуроне и прави производе на основу њих. Неурони пружају нову функционалност, омогућавају вам да смањите послове и смањите цену услуга:

  • Производне компаније интегришу алгоритме за анализу недостатака на производној линији.
  • Сточне фарме купују системе за контролу крава.
  • Аутоматски комбајни.
  • Аутоматизовани позивни центри.
  • Филтери у СнапЦхат-у. (па, бар нешто корисно!)

Али главна ствар, а не најочигледнија: „Нема више нових идеја, или оне неће донети тренутни капитал. Неуронске мреже су решиле десетине проблема. А они ће одлучити још више. Све очигледне идеје које су постојале довеле су до многих стартапова. Али све што је било на површини већ је било сакупљено. У протекле две године нисам наишао ни на једну нову идеју за коришћење неуронских мрежа. Ниједан нови приступ (па, ок, има неколико проблема са ГАН-овима).

И сваки наредни стартуп је све сложенији. Више не захтева два типа који тренирају неурон користећи отворене податке. За то су потребни програмери, сервер, тим маркера, комплексна подршка итд.

Као резултат тога, има мање стартапа. Али има више производње. Треба да додате препознавање регистарских таблица? На тржишту постоје стотине стручњака са релевантним искуством. Можете запослити некога и за пар месеци ваш запослени ће направити систем. Или купите готове. Али радити нови стартуп?.. Лудо!

Морате да направите систем за праћење посетилаца – зашто плаћати гомилу лиценци када можете да направите сопствену за 3-4 месеца, изоштрите га за своје пословање.

Сада неуронске мреже пролазе кроз исти пут кроз који су прошле десетине других технологија.

Да ли се сећате како се концепт „програмера веб локација“ променио од 1995. године? Тржиште још није засићено специјалистима. Професионалаца је врло мало. Али могу се кладити да за 5-10 година неће бити велике разлике између Јава програмера и програмера неуронских мрежа. На тржишту ће бити довољно и једног и другог специјалиста.

Једноставно ће постојати класа проблема које могу да реше неурони. Појавио се задатак - унајмите специјалисте.

"Шта је следеће? Где је обећана вештачка интелигенција?"

Али овде постоји мали али занимљив неспоразум :)

Технолошки низ који данас постоји, очигледно нас неће довести до вештачке интелигенције. Идеје и њихова новост у великој мери су се исцрпиле. Хајде да разговарамо о томе шта држи тренутни ниво развоја.

Ограничења

Почнимо са самовозећим аутомобилима. Чини се јасним да је могуће направити потпуно аутономне аутомобиле са данашњом технологијом. Али за колико година ће се то догодити није јасно. Тесла верује да ће се то догодити за неколико година -


Има много других специјалисти, који процењују да је 5-10 година.

Највероватније ће се, по мом мишљењу, за 15 година сама инфраструктура градова променити на начин да ће појава аутономних аутомобила постати неизбежна и постати њен наставак. Али ово се не може сматрати интелигенцијом. Модерна Тесла је веома сложен цевовод за филтрирање података, претраживање и преобуку. То су правила-правила-правила, прикупљање података и филтери над њима (овде овде Написао сам мало више о овоме, или гледајте са ово оцене).

Први проблем

И ево где видимо први фундаментални проблем. Велики података. То је управо оно што је родило тренутни талас неуронских мрежа и машинског учења. У данашње време, да бисте урадили нешто сложено и аутоматско, потребно вам је много података. Не само много, већ веома, веома много. Потребни су нам аутоматизовани алгоритми за њихово прикупљање, обележавање и коришћење. Желимо да аутомобил види камионе окренуте сунцу - прво морамо да их прикупимо довољан број. Желимо да аутомобил не полуди са бициклом причвршћеним за пртљажник - више узорака.

Штавише, један пример није довољан. Стотине? Хиљаде?

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Други проблем

Други проблем — визуализација онога што је наша неуронска мрежа разумела. Ово је врло нетривијалан задатак. До сада, мало људи разуме како то да визуализује. Ови чланци су врло нови, ово је само неколико примера, чак и ако су удаљени:
Визуализација опсесија текстурама. Добро показује на шта неурон има тенденцију да се фиксира + шта доживљава као почетну информацију.

Да ли је балон за машинско учење пукао или је то почетак нове зоре?
Визуализација Аттентион ат преводи. У ствари, привлачност се често може искористити управо да покаже шта је изазвало такву реакцију мреже. Видео сам такве ствари и за отклањање грешака и за решења производа. Постоји много чланака на ову тему. Али што су подаци сложенији, теже је разумети како постићи робусну визуелизацију.

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Па, да, стари добри сет „погледај шта је унутар мреже filteri" Ове слике су биле популарне пре 3-4 године, али су сви брзо схватили да су слике лепе, али немају много значења.

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Нисам споменуо десетине других справица, метода, хакова, истраживања о томе како приказати унутрашњост мреже. Да ли ови алати раде? Да ли вам помажу да брзо схватите у чему је проблем и отклоните грешке на мрежи?.. Добити последњи проценат? Па, отприлике је исто:

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Можете гледати било које такмичење на Каггле-у. И опис како људи доносе коначне одлуке. Сложили смо 100-500-800 јединица модела и успело је!

Претерујем, наравно. Али ови приступи не дају брзе и директне одговоре.

Имајући довољно искуства, након што сте претражили различите опције, можете дати пресуду о томе зашто је ваш систем донео такву одлуку. Али биће тешко исправити понашање система. Инсталирајте штаку, померите праг, додајте скуп података, узмите другу позадинску мрежу.

Трећи проблем

Трећи фундаментални проблем — мреже уче статистику, а не логику. Статистички ово лице:

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Логично, није баш слично. Неуронске мреже не уче ништа сложено осим ако нису присиљене. Увек уче најједноставнијим могућим знаковима. Имате ли очи, нос, главу? Дакле, ово је лице! Или наведите пример где очи не значе лице. И опет – милиони примера.

Има доста простора на дну

Рекао бих да су ова три глобална проблема која тренутно ограничавају развој неуронских мрежа и машинског учења. А тамо где га ови проблеми нису ограничили, већ се активно користи.

Ово је крај? Да ли су неуронске мреже подигнуте?

Непознат. Али, наравно, сви се надају да неће.

Постоји много приступа и праваца за решавање фундаменталних проблема које сам истакао изнад. Али до сада ниједан од ових приступа није омогућио да се уради нешто суштински ново, да се реши нешто што још није решено. До сада се сви фундаментални пројекти раде на бази стабилних приступа (Тесла), или остају тестни пројекти института или корпорација (Гоогле Браин, ОпенАИ).

Грубо говорећи, главни правац је да се створи некаква репрезентација улазних података на високом нивоу. У извесном смислу, „сећање“. Најједноставнији пример меморије су различити „Ембеддинг“ – прикази слика. Па, на пример, сви системи за препознавање лица. Мрежа учи да добије од лица неку стабилну репрезентацију која не зависи од ротације, осветљења или резолуције. У суштини, мрежа минимизира метрику „различита лица су далеко“ и „идентична лица су близу“.

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

За такву обуку потребне су десетине и стотине хиљада примера. Али резултат носи неке од рудимената „учења у једном тренутку“. Сада нам не требају стотине лица да се сетимо човека. Само једно лице и то је све што смо Хајде да сазнамо!
Постоји само један проблем... Мрежа може научити само прилично једноставне објекте. Када покушавате да разликујете не лица, већ, на пример, „људе по одећи“ (задатак Поновна идентификација) - квалитет опада за много редова величине. И мрежа више не може научити прилично очигледне промене углова.

А учење на милионима примера је такође забавно.

Има посла да се избори знатно смање. На пример, одмах се може присетити једног од првих радова на ОнеСхот Леарнинг из гоогле:

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Много је таквих дела нпр 1 или 2 или 3.

Постоји само један минус - обично обука добро функционише на неким једноставним, „МНИСТ“ примерима. А када прелазите на сложене задатке, потребна вам је велика база података, модел објеката или нека врста магије.
Генерално, рад на тренингу Оне-Схот је веома интересантна тема. Нађете много идеја. Али углавном, два проблема која сам навео (претренирање на великом скупу података / нестабилност на сложеним подацима) у великој мери ометају учење.

С друге стране, ГАН-ови — генеративне супарничке мреже — приступају теми уградње. Вероватно сте прочитали гомилу чланака на Хабреу на ову тему. (1, 2,3)
Карактеристика ГАН-а је формирање неког унутрашњег простора стања (у суштини истог Ембеддинга), који вам омогућава да нацртате слику. То може бити лица, може бити активност.

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Проблем са ГАН-ом је у томе што што је сложенији генерисани објекат, то га је теже описати у логици „генератор-дискриминатор“. Као резултат, једине праве примене ГАН-а за које се чује су ДеепФаке, који, опет, манипулише представама лица (за шта постоји огромна база).

Видео сам врло мало других корисних употреба. Обично нека врста трикова која укључује дораду цртежа слика.

И опет. Нико нема појма како ће нам ово омогућити да кренемо у светлију будућност. Представљање логике/простора у неуронској мрежи је добро. Али треба нам огроман број примера, не разумемо како неурон то представља сам по себи, не разумемо како да неурон запамти неку заиста сложену идеју.

Ојачавање учења - ово је приступ из сасвим другог правца. Сигурно се сећате како је Гоогле победио све у Го. Недавне победе у Старцрафт-у и Доти. Али овде све није тако ружичасто и обећавајуће. Он најбоље говори о РЛ и његовим сложеностима Овај чланак.

Да укратко резимирамо шта је аутор написао:

  • Модели из кутије се у већини случајева не уклапају / лоше раде
  • Практични проблеми се лакше решавају на друге начине. Бостон Динамицс не користи РЛ због његове сложености/непредвидљивости/компјутерске сложености
  • Да би РЛ радио, потребна вам је сложена функција. Често је тешко стварати/писати
  • Тешко је обучити моделе. Морате потрошити доста времена да се напумпате и изађете из локалне оптиме
  • Као резултат тога, тешко је поновити модел, модел је нестабилан са најмањим променама
  • Често се уклапа у неке насумичне обрасце, чак и генератор случајних бројева

Кључна ствар је да РЛ још увек не ради у производњи. Гоогле има неке експерименте ( 1, 2 ). Али нисам видео ни један систем производа.

Меморија. Лоша страна свега горе описаног је недостатак структуре. Један од приступа да се све ово среди јесте да се неуронској мрежи обезбеди приступ одвојеној меморији. Тако да може да сними и препише резултате својих корака тамо. Тада се неуронска мрежа може одредити тренутним стањем меморије. Ово је веома слично класичним процесорима и рачунарима.

Најпознатији и најпопуларнији чланак — од ДеепМинд:

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Чини се да је то кључ за разумевање интелигенције? Али вероватно не. Систем и даље захтева огромну количину података за обуку. И ради углавном са структурираним табеларним подацима. Штавише, када Фејсбук одлучио сличан проблем, онда су кренули путем „зашрафите меморију, само учините неурон компликованијим и имајте више примера – и он ће научити сам од себе“.

Расплетање. Други начин да се створи смислена меморија је да узмете исте уградње, али током обуке уведете додатне критеријуме који би вам омогућили да истакнете „значења“ у њима. На пример, желимо да обучимо неуронску мрежу да разликује људско понашање у продавници. Ако бисмо ишли стандардним путем, морали бисмо да направимо десетак мрежа. Једно тражи особу, друго утврђује шта ради, треће године, четврто пол. Одвојена логика гледа на део продавнице где се то ради/је обучено да то ради. Трећи одређује његову путању итд.

Или, да постоји бесконачна количина података, онда би било могуће обучити једну мрежу за све могуће исходе (очигледно, такав низ података се не може прикупити).

Приступ раздвајања нам говори – хајде да обучимо мрежу тако да она сама може да разликује концепте. Тако да би на основу снимка формирао ембеддинг, где би једна област одређивала радњу, једна би одредила положај на поду на време, једна би одредила висину особе, а једна би одредила пол особе. У исто време, када се обучавам, волео бих да скоро не подстичем мрежу са таквим кључним концептима, већ да истакне и групише области. Постоји доста таквих чланака (неки од њих 1, 2, 3) и генерално су прилично теоретски.

Али овај правац, барем теоретски, треба да покрије проблеме наведене на почетку.

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Декомпозиција слике према параметрима „боја зида/боја пода/облик објекта/боја објекта/итд.”

Да ли је балон за машинско учење пукао или је то почетак нове зоре?

Декомпозиција лица према параметрима „величина, обрве, оријентација, боја коже итд.

Други

Постоје многе друге, не тако глобалне, области које вам омогућавају да некако смањите базу података, радите са хетерогенијим подацима итд.

Пажња. Вероватно нема смисла издвајати ово као посебан метод. Само приступ који побољшава друге. Њему су посвећени многи чланци (1,2,3). Поента пажње је да се побољша одговор мреже посебно на значајне објекте током тренинга. Често неком врстом спољне циљне ознаке, или малом спољном мрежом.

3Д симулација. Ако направите добар 3Д мотор, често можете њиме да покријете 90% података о обуци (чак сам видео пример где је скоро 99% података покривено добрим мотором). Постоји много идеја и хакова како да учините да мрежа обучена на 3Д машини ради користећи стварне податке (фино подешавање, пренос стила, итд.). Али често је прављење доброг мотора неколико редова величине теже од прикупљања података. Примери када су направљени мотори:
Обука робота (google, браингарден)
тренинг препознавање роба у продавници (али у два пројекта која смо радили лако бисмо могли без ње).
Обука у Тесли (опет видео изнад).

Налази

Цео чланак су, у извесном смислу, закључци. Вероватно је главна порука коју сам желео да упутим била „бесплате су готове, неурони више не пружају једноставна решења. Сада морамо напорно да радимо на доношењу сложених одлука. Или напорно радите на сложеним научним истраживањима.

Генерално, тема је дискутабилна. Можда читаоци имају занимљивије примере?

Извор: ввв.хабр.цом

Додај коментар