Как научить машину

В машинном обучении традиционные негибкие компьютерные модели заменяются алгоритмами, способными эволюционировать на основе переработанной информации. Поэтому большие данные так важны для машинного обучения: тем четче компьютер «понимает» правила, чем больше информации он переработает. Фото: Pixel.com (CC0).
В машинном обучении традиционные негибкие компьютерные модели заменяются алгоритмами, способными эволюционировать на основе переработанной информации. Поэтому большие данные так важны для машинного обучения: тем четче компьютер «понимает» правила, чем больше информации он переработает. Фото: Pixel.com (CC0).

Машин­ное обу­че­ние – это спо­соб про­грам­ми­ро­ва­ния, цель кото­ро­го – на при­ме­рах научить ком­пью­тер отыс­ки­вать свя­зи и зако­но­мер­но­сти в оке­ане инфор­ма­ции, что­бы впо­след­ствии он мог делать это само­сто­я­тель­но. Этот тех­но­тренд и под­раз­дел нау­ки о созда­нии искус­ствен­но­го интел­лек­та – три­ум­фа­тор послед­них несколь­ких лет и при­чи­на боль­шо­го шума в мире тех­но­ло­гий.

Мы зна­ем лич­но голо­со­вых асси­стен­тов Siri и Кор­та­ну. Недав­но на рынок зашли «умные колон­ки» Amazon Echo и Google Home, кон­тро­ли­ру­е­мые голо­сом. Появи­лись пер­вые про­то­ти­пы авто­мо­би­лей с бес­пи­лот­ным управ­ле­ни­ем – свое­об­раз­ные флаг­ма­ны машин­но­го обу­че­ния. В про­шлом году AlphaGo ком­па­нии Deep Mind, спе­ци­а­ли­зи­ру­ю­щей­ся на иссле­до­ва­ни­ях в обла­сти искус­ствен­но­го интел­лек­та и при­над­ле­жа­щей Google, одер­жал побе­ду над чем­пи­о­ном мира по стра­те­ги­че­ской настоль­ной игре го, счи­та­ю­щей­ся одной из слож­ней­ших. Дру­гой «умный ком­пью­тер» DeepStack все уве­рен­нее обыг­ры­ва­ет про­фес­си­о­на­лов в покер.

Послед­ствия машин­но­го обу­че­ния – это и менее «гром­кие» транс­фор­ма­ции в ноосфе­ре: поум­нев­шие элек­трон­ные пере­вод­чи­ки, эффек­тив­ная филь­тра­ция спа­ма в почте, более надеж­ные анти­ви­рус­ные про­грам­мы, авто­ма­ти­че­ски под­пи­сы­ва­е­мые фото­гра­фии и видео, спо­соб­ность онлайн-сер­ви­сов пер­со­ни­фи­ци­ро­вать реко­мен­ду­е­мые услу­ги и това­ры, транс­фор­ма­ция ска­ни­ро­ван­ных доку­мен­тов в элек­трон­ные, пере­вод тек­стов на фото­гра­фи­ях, улуч­шен­ная кор­рек­ция оши­бок при печа­ти, рас­по­зна­ва­ние ком­пью­те­ром лиц и филь­тра­ция мошен­ни­че­ских тран­зак­ций.

Еще мень­ше в поле зре­ния обы­ва­те­ля попа­да­ют узко­спе­ци­а­ли­зи­ро­ван­ные про­ек­ты: в обла­сти ген­ной инже­не­рии, в обо­рон­ной отрас­ли, тор­гов­ле, финан­со­вом про­гно­зи­ро­ва­нии. Zebra Medical Vision исполь­зу­ет машин­ное обу­че­ние для повы­ше­ния эффек­тив­но­сти ран­ней диа­гно­сти­ки в радио­ло­гии. Descartes Labs доволь­но успеш­но пред­ска­зы­ва­ет уро­жай­ность, ана­ли­зи­руя спут­ни­ко­вые сним­ки полей. Стар­тап Connecterra собрал 1,8 мил­ли­о­на дол­ла­ров для даль­ней­ше­го раз­ви­тия про­ек­та по наблю­де­нию за здо­ро­вьем коров в режи­ме реаль­но­го вре­ме­ни. Он соче­та­ет тех­но­ло­гию под­кож­ных сен­со­ров и машин­ное обу­че­ние.

Что такое машинное обучение

Sideways Dictionary тех-инку­ба­то­ра Jigsaw, при­над­ле­жа­ще­го Google, назы­ва­ет машин­ное обу­че­ние гада­ни­ем на кофей­ной гуще, кото­рое рабо­та­ет. Это полу­шут­ли­вое опре­де­ле­ние доволь­но точ­но пере­да­ет суть. Алго­рит­мы машин­но­го обу­че­ния поз­во­ля­ют ком­пью­те­рам обна­ру­жи­вать неоче­вид­ные для чело­ве­ка тен­ден­ции и свя­зи в гуще раз­роз­нен­ных дан­ных, созда­вать из них пра­ви­ла и на их осно­ве делать про­гно­зы и трак­то­вать новую инфор­ма­цию.

Машин­ное обу­че­ние пола­га­ет­ся на доста­точ­но стан­дарт­ные ста­ти­сти­че­ские и мате­ма­ти­че­ские мето­ды, кото­рые в сво­ей тео­ре­ти­че­ской фор­ме суще­ству­ют не один деся­ток лет. Его пере­рож­де­нию как прак­ти­че­ско­му инстру­мен­ту спо­соб­ство­ва­ли несколь­ко важ­ных усло­вий: уде­шев­ле­ние сто­и­мо­сти хра­не­ния инфор­ма­ции и ком­пью­тер­ных рас­че­тов, повы­ше­ние ско­ро­сти вычис­ле­ний и появ­ле­ние боль­ших дан­ных – огром­ных пулов инфор­ма­ции.

С «пере­ез­дом» чело­ве­че­ства в Сеть кон­гло­ме­ра­ция дан­ных ста­ла регу­ляр­ной: сот­ни мил­ли­о­нов людей еже­се­кунд­но гене­ри­ру­ют мил­ли­ар­ды тран­зак­ций, фото­гра­фий, тек­стов, видео, кото­рые фор­ми­ру­ют бес­пре­рыв­но рас­ши­ря­ю­щи­е­ся гро­мад­ные реест­ры. С появ­ле­ни­ем боль­ших дан­ных ста­ло воз­мож­ным отка­зать­ся от поша­го­во­го инструк­та­жа машин в про­грам­ми­ро­ва­нии, кото­рый рань­ше был необ­хо­дим для выпол­не­ния самых про­стых задач.

Еще по теме: Андрей Себрант: Не нуж­но боять­ся, что маши­ны умнее нас, нуж­но научить­ся рабо­тать с ними

В машин­ном обу­че­нии тра­ди­ци­он­ные негиб­кие ком­пью­тер­ные моде­ли заме­ня­ют­ся алго­рит­ма­ми, спо­соб­ны­ми эво­лю­ци­о­ни­ро­вать на осно­ве пере­ра­бо­тан­ной инфор­ма­ции. Поэто­му боль­шие дан­ные так важ­ны для машин­но­го обу­че­ния: тем чет­че ком­пью­тер «пони­ма­ет» пра­ви­ла, чем боль­ше инфор­ма­ции он пере­ра­бо­та­ет. Соот­вет­ствен­но низ­кое каче­ство и огра­ни­чен­ность дан­ных дела­ют их бес­по­лез­ны­ми и ведут к слиш­ком высо­кой погреш­но­сти при ана­ли­зе.

Одно­вре­мен­но выяс­ни­лось, что если пору­чить ана­лиз боль­ших объ­е­мов дан­ных машине, она может уви­деть в них то, что не по силам моз­гу: скры­тые пат­тер­ны, для вычле­не­ния кото­рых нуж­ны вычис­ли­тель­ная мощь, ско­рость и память, во мно­гом пре­вы­ша­ю­щие чело­ве­че­ские воз­мож­но­сти. Натре­ни­ро­ван­ный ком­пью­тер уже демон­стри­ру­ет мно­го­обе­ща­ю­щие резуль­та­ты в обла­сти пре­вен­тив­ной меди­ци­ны, обна­ру­жи­вая при­зна­ки серьез­ных забо­ле­ва­ний на ран­них ста­ди­ях. Ведет­ся рабо­та и в обла­сти вра­чеб­но­го про­гно­зи­ро­ва­ния с целью научить ком­пью­тер пред­ска­зы­вать рис­ки для здо­ро­вья, напри­мер, склон­ность к суи­ци­ду, с уче­том меди­цин­ской исто­рии паци­ен­та и дру­гих фак­то­ров.

Методы машинного обучения

Когда речь захо­дит о машин­ном обу­че­нии, часто упо­ми­на­ют­ся эти общие мето­ды: обу­че­ние с учи­те­лем, обу­че­ние без учи­те­ля и обу­че­ние с под­креп­ле­нием. Пер­вый из них – на сего­дня один из самых рас­про­стра­нен­ных при­е­мов и самый рабо­чий.

Систе­ме скарм­ли­ва­ет­ся тре­ни­ро­воч­ный набор дан­ных – «обу­ча­ю­щая выбор­ка», в кото­рой инфор­ма­ция раз­би­та на пары: дан­ные вво­да и дан­ные выво­да. Зада­ча ком­пью­те­ра – понять логи­ку, свя­зы­ва­ю­щую пары, создать алго­ритм и с его помо­щью объ­еди­нять в пары новые дан­ные. Систе­ма посто­ян­но совер­шен­ству­ет­ся, про­ана­ли­зи­ро­ван­ные дан­ные ста­но­вят­ся ее «опы­том», она учи­ты­ва­ет ошиб­ки и стре­мит­ся мини­ми­зи­ро­вать их допу­ще­ние в буду­щем. Так про­ис­хо­дит обу­че­ние.

Обу­че­ние без учи­те­ля – тре­ни­ров­ка без под­ска­зок. Обу­ча­ю­щая выбор­ка состо­ит толь­ко из дан­ных вво­да. Зада­ча систе­мы – выявить воз­мож­ные зави­си­мо­сти и свя­зи меж­ду задан­ны­ми сти­му­ла­ми. Посколь­ку дан­ные не пар­ны, у систе­мы нет «шпар­гал­ки» с пра­виль­ны­ми отве­та­ми. Выво­ды о нали­чии свя­зей она долж­на делать само­сто­я­тель­но. Сре­ди ожи­да­е­мых резуль­та­тов – раз­де­ле­ние инфор­ма­ции на кла­сте­ры или обна­ру­же­ние ано­ма­лий. С каж­дым новым про­цес­сом систе­ма будет учить­ся все точ­нее груп­пи­ро­вать дан­ные.

Еще один метод – обу­че­ние с под­креп­ле­ни­ем. Оно под­ра­зу­ме­ва­ет вза­и­мо­дей­ствие систе­мы со сре­дой, кото­рая выда­ет отклик, поло­жи­тель­ный или отри­ца­тель­ный. Это поз­во­ля­ет ком­пью­те­ру посте­пен­но обна­ру­жить опти­маль­ные пути для ста­би­ли­за­ции откли­ка.

Наи­бо­лее ком­плекс­ным и про­дви­ну­тым на сего­дня мето­дом машин­но­го обу­че­ния счи­та­ют­ся ней­рон­ные сети. Как кон­цеп­ция они были опи­са­ны еще в 1930-х годах, но лишь недав­но ком­пью­те­ры обре­ли необ­хо­ди­мую мощ­ность, что­бы про­дук­тив­но рабо­тать с подоб­ны­ми слож­ны­ми мате­ма­ти­че­ски­ми струк­ту­ра­ми. Они осно­ва­ны на прин­ци­пе мно­го­слой­ной обра­бот­ки инфор­ма­ции в узлах-ней­ро­нах и эму­ли­ру­ют рабо­ту голов­но­го моз­га.

После тысяч часов вычис­ле­ний и опе­ра­ций, повто­рен­ных мил­ли­о­ны раз, обу­ча­е­мая любым из мето­дов систе­ма гото­ва к неиз­вест­но­сти. Ее натре­ни­ро­ван­ные алго­рит­мы спо­соб­ны на про­гно­зи­ро­ва­ние, клас­си­фи­ка­цию, кла­сте­ри­за­цию прин­ци­пи­аль­но новых дан­ных. В про­цес­се обра­бот­ки модель про­дол­жит учить­ся и совер­шен­ство­вать­ся. Про­цесс обу­че­ния идет до тех пор, пока попол­ня­ет­ся база.

Кому это надо?

Машин­ное обу­че­ние стре­ми­тель­но выхо­дит за пре­де­лы глу­бо­ко науч­ных кру­гов. Ажи­о­таж вокруг него при­вел к ком­мер­ци­а­ли­за­ции как про­грамм­но­го обес­пе­че­ния, так и обо­ру­до­ва­ния, а так­же досту­па к боль­шим дан­ным. Потен­ци­аль­ны­ми выго­да­ми заин­те­ре­со­ва­лись мно­гие струк­ту­ры, рабо­та­ю­щие в сфе­рах, в кото­рых воз­мож­ность про­гно­зи­ро­ва­ния и глу­би­на ана­ли­за озна­ча­ют уве­ли­че­ние при­бы­лей: бан­ки, инве­сти­ци­он­ные фон­ды, аген­ты тор­гов­ли.

Мето­ды машин­но­го обу­че­ния поз­во­ля­ют луч­ше понять кли­ен­та, облег­чить поиск това­ров, повы­сить кон­вер­сию, оце­нить рис­ки, свя­зан­ные с теми или ины­ми инве­сти­ци­я­ми. Соглас­но опро­су, про­ве­ден­но­му MIT Review Custom и Google Cloud, 60 про­цен­тов респон­ден­тов, пред­став­ля­ю­щих самые раз­но­об­раз­ные ком­па­нии, инду­стрии и стра­ны, заяви­ли, что уже внед­ри­ли эле­мен­ты машин­но­го обу­че­ния. Сре­ди основ­ных моти­вов участ­ни­ки опро­са назы­ва­ли стрем­ле­ние извлечь новые зна­ния из сво­их дан­ных, при­об­ре­сти кон­ку­рент­ное пре­иму­ще­ство, уско­рить ана­лиз инфор­ма­ции и выпуск про­дук­ции ново­го поко­ле­ния.

Еще по теме: Как НКО спро­гно­зи­ро­вать объ­ем пожерт­во­ва­ний и успеш­ность кам­па­ний с помо­щью машин­но­го обу­че­ния

Пока, прав­да, эти тех­но­ло­гии, изна­чаль­но ори­ен­ти­ро­ван­ные на док­то­ров наук, нель­зя назвать обще­до­ступ­ны­ми и дру­же­люб­ны­ми. Для под­бо­ра под­хо­дя­щих алго­рит­мов, обу­че­ния машин, наблю­де­ния за ними и трак­тов­ки их рабо­ты все еще необ­хо­ди­мы серьез­ные экс­пер­ты – ана­ли­ти­ки баз дан­ных и спе­ци­а­ли­сты по машин­но­му обу­че­нию. Они, в свою оче­редь, долж­ны быть на «ты» с мате­ма­ти­че­ски­ми моде­ля­ми и язы­ка­ми про­грам­ми­ро­ва­ния. Но машин­ное обу­че­ние посте­пен­но выплес­ки­ва­ет­ся в мас­сы, во мно­гом бла­го­да­ря «доб­рой воле» тех­но-мон­стров.

Два года назад Facebook, алго­рит­мы кото­ро­го широ­ко пола­га­ют­ся на машин­ное обу­че­ние, открыл код исполь­зу­е­мо­го им про­грамм­но­го обес­пе­че­ния. В про­шлом году откры­той ста­ла биб­лио­те­ка про­грамм­но­го обес­пе­че­ния для машин­но­го обу­че­ния Google’а TensorFlow, кото­рая поз­во­ля­ет раз­ра­бот­чи­кам глуб­же понять, как рабо­та­ют моде­ли машин­но­го обу­че­ния, и встра­и­вать их в свои про­дук­ты. За год к ее под­держ­ке под­клю­чи­лись почти 500 чело­век.

В спис­ке поль­зо­ва­те­лей пло­да­ми TensorFlow – мно­же­ство зна­ко­мых сер­ви­сов: Dropbox, Ebay, Airbnb, Twitter, Uber. Сре­ди наи­бо­лее захва­ты­ва­ю­щих про­ек­тов упо­мя­ну­ты про­ект по уси­ли­ям по сохра­не­нию мор­ских коров с исполь­зо­ва­ни­ем фото­гра­фий вод­ной поверх­но­сти и диа­гно­сти­ро­ва­ние болез­ни Пар­кин­со­на по рент­ге­нов­ским сним­кам.

В апре­ле 2016 года OpenAI, под­дер­жи­ва­е­мая Эло­ном Мас­ком, сде­ла­ла обще­до­ступ­ной плат­фор­му машин­но­го обу­че­ния Universe, в декаб­ре это­го же года Google посту­пил так же с плат­фор­мой DeepMind Lab.

Amazon Web

Эти плат­фор­мы зна­чи­тель­но сни­зи­ли важ­ность пони­ма­ния алго­рит­мов, на кото­рых «сто­ит» машин­ное обу­че­ние, для их успеш­но­го при­ме­не­ния к сво­им базам дан­ных. Бла­го­да­ря откры­тым инстру­мен­там и ком­мер­че­ским облач­ным реше­ни­ям исполь­зо­ва­ние машин­но­го обу­че­ния ста­ло более доступ­но. Напри­мер, раз­ра­бот­чи­кам, полу­чив­шим воз­мож­ность встра­и­вать в свои про­ек­ты инте­рес­ные функ­ции: тех­но­ло­гию рас­по­зна­ва­ния голо­са, опти­ми­за­цию загруз­ки кон­тен­та и мно­же­ство дру­гих, не вни­кая в тон­ко­сти мате­ма­ти­че­ских струк­тур, пита­ю­щих спо­соб­ность систем к обу­че­нию.

Экс­пер­ты про­гно­зи­ру­ют, что очень ско­ро любой поль­зо­ва­тель в обход нагро­мож­де­ний кода и алгеб­ра­и­че­ских выкла­док смо­жет при­ме­нять меха­низ­мы машин­но­го обу­че­ния, и реко­мен­ду­ют про­сто набрать­ся тер­пе­ния. Пока этот момент не настал, обы­ва­тель может наблю­дать за оче­ред­ны­ми дости­же­ни­я­ми через лави­ну раз­вле­ка­тель­ных при­ло­же­ний и сер­ви­сов или созда­вать про­из­ве­де­ния искус­ства в сти­ле инцеп­ци­о­низ­ма. Так назы­ва­ет­ся новое направ­ле­ние в искус­стве, нача­ло кото­ро­му поло­жил Deep Dream, оче­ред­ное дети­ще DeepMind, ими­ти­ру­ю­щее полот­на извест­ных худож­ни­ков с помо­щью ней­рон­ных сетей.