Този сайт използва бисквитки (cookies). Ако желаете можете да научите повече тук. Разбрах
Регистрация

Професия: Специалист по машинно обучение (Machine Learning Specialist)

За професията разказва Павел Цанков, специалист машинно обучение в софтуерната компания "Фадата"
Share Tweet Share
Снимка

Всичко, свързано с новите приложения на статистиката, анализа на данни и машинното обучение, все още е относително слабо познато и тепърва предстои да навлезе дълбоко в бизнеса, коментира Павел Цанков.

 Фотограф: Надежда Чипева

Изкуственият интелект, алгоритмите и машинното обучение (machine learning, ML) безспорно са сред най-обсъжданите любопитни теми в тех пространството. Всички знаем как Facebook използва данни, за да ни залива със специфични реклами. Технологията, която стои зад това, всъщност е само капка в океана на машинното обучение.

Преди обаче да се хвърлите с главата напред към модерната тема ML, трябва да имате предвид, че софтуерното инженерство и програмирането играят минимална роля тук. За сметка на математиката и статистиката. Машинното обучение е няколко стъпки преди да се стигне до писането на код - трябва да се съберат данните, на базата на които обучаваме компютъра, след това данните се изчистват, прави се т.нар. опознаване на данните (datamining). След това се построяват математически модел и алгоритъм, прави се прототип, но на програмни езици, познати по-скоро в академичните среди и сред статистиците. Чак след това се прави решението и идва софтуерното инженерство - програмирането на познатите езици C++, Java и т.н.

С развитието на софтуера и хардуера и като цяло достъпността на технологиите в световен мащаб все повече бизнеси прибягват към автоматизация, за да улеснят процесите си. И ако в момента ML има много приложения във финансовия сектор и маркетинга, скоро технологията ще навлиза все повече и в застраховането и медицината, интелигентния транспорт. С други думи, специалисти в областта ще се търсят все повече, а към момента такива в България не се намират твърде много. Освен това за един ML специалист има възможности за работа в много различни формати - в големи компании, в развойните звена на софтуерни разработчици като изследователи и, не на последно място, в стартиращи компании.

Повече за професията разказва
Павел Цанков, специалист машинно обучение в софтуерната компания "Фадата"
Павел Цанков е специалист по машинно обучение и приложна математика в развойното звено на софтуерната компания "Фадата". Има бакалавърска степен по приложна математика и социални науки и магистърска по математически методи и модели в икономиката и финансите в Университет Париж 1 - "Пантеон-Сорбон".

Моята професия
Статистическото машинно обучение, математическото моделиране, науката за данните и отчасти софтуерното инженерство са тясно свързани. Машинното обучение се състои от две неща - регресия и класификация. Регресията е даване на оценка или предвиждане, когато изходните данни са някакво число със запетайка. Класификация е, когато изходният резултат е някаква категория - т.нар. подредено множество, например червен, син, ябълка, дърво и т.н. Грубо казано, машинното обучение служи за това да направим оценка и предвиждане на базата на всичките налични данни. Да речем, имаме картинка и алгоритъмът разпознава, че на нея има човек или зеленчук - това би било класификация. Може и да бъде предвиждане каква е вероятността някакъв нов клиент да купи конкретен продукт на компанията - това е регресия. Разбира се, това са много базови примери, в реалността може да бъде и много по-абстрактно и комбинация от всички тези неща. Можем да използваме машинното обучение за финансови предвиждания, за сегментации. Приложения могат да се намерят в почти всяка индустрия: интелигентни машини, оптимизация на транспорта, финанси и застраховане, медицина, маркетинг и търговия, компютърни игри, дори и в сферата на изкуствата. Както теоретическото познание в тези области, така и приложността им се разширяват и развиват постоянно и все по-бързо.

Целият този бум се корени в математиката и компютърните науки. Математическите модели и методи дават базата, на която стъпват алгоритмите и техниките за анализ на данни, отправните хипотези, също както и границите им на приложимост. Комбинацията от компютър, данни, добри модели и опитен специалист може да направи чудеса.

Всъщност няколко близки една до друга професионални роли покриват различни аспекти на машинното обучение. Условно казано, един Data scientist преди всичко се занимава с изследвания и експериментален анализ, за да опише проблема, да избере подходящи модели и алгоритми и да програмира прототипни решения на езици като R или Python. Machine Learning инженерът от своя страна е ангажиран с имплементирането на наличните модели, ползвайки езици като C++, Java или C#, понякога с помощта на паралелни изчисления. В зависимост от естеството на проектите специалистите могат се развиват допълнително в роли, фокусирани върху архитектурата на данните, визуализация, Business Intelligence (BI), математическо моделиране, програмиране и оптимизиране на създадените модели. Общите елементи са повече от разликите - специалист в някоя от тези роли лесно може да достигне добра експертиза и в останалите.

Моето образование
Завърших бакалавър по приложна математика и социални науки и магистър по математически методи и модели в икономиката и финансите в Университет Париж 1 - "Пантеон-Сорбон". Посещавал съм също летни училища и семинари, насочени към теми като финансовите регулации и криптофинансите.

Моят път дотук
В началото започнах с прости програми и уеб сайтове. Първите си проекти във "Фадата" започнах преди години като стажант в компанията. Извън страната също съм имал стажове и проекти, свързани с ML методи и инвестиционно банкиране. В един момент си дадох сметка, че светът вече е толкова глобализиран, че, връщайки се в България, бих могъл да се занимавам с това, което ми е интересно, и да бъда продуктивен, като в същото време по-голямата част от света остава на едва 1-2 полета разстояние от мен. Върнах се във "Фадата" и се насочих към приложните изследвания с цел създаване на нови функционалности и продукти, в крак с новите технологии.

В България обаче почти няма възможности за специализация, много и специалисти, и студенти ползват онлайн курсове Coursera. Тази подготовка е адекватна от гледна точка на ученето да се програмира. Софтуерното инженерство е нещо, което при добра мотивация може да се учи и самостоятелно. Това обаче не важи за другата част от машинното обучение - математиката, там трябва преподавател. С други думи, курсовете на Coursera, MIT, Stanford са полезни за софтуерния аспект и въведение. Полезен ресурс в България са регулярните събития Machine Learning Meetup, там се обсъждат актуални въпроси в областта. Все пак вярвам, че в днешно време всеки с интерес към новите технологии, силна мотивация и желание за знание може да намери своя път да се превърне в добър професионалист.

Снимка

Едно от големите предизвикателства на професията е да се ориентираш в морето от информация и да се фокусираш върху важното, обяснява Цанков.

 Фотограф: Надежда Чипева



Моите задачи и отговорности
Всичко, свързано с новите приложения на статистиката, анализа на данни и ML, все още е относително слабо познато и тепърва предстои да навлезе дълбоко в бизнеса. Така фокусът ми не е съсредоточен върху един-единствен тясно специализиран проект, но ми се налага да ползвам неща от повечето области, които съм изброил по-горе. Важен елемент от работата ми е чрез изследвания и анализи да търся отговор на въпроса какво нововъведение, по какъв начин и къде приложено би могло да служи за създаването на полезна функционалност, най-често под формата на съвкупност от програмен код.

Изготвям концепции, предложения, прототипи, тестове и имплементации на различни модели. Прилагам ги върху симулирани данни, данни от социални мрежи, текстове на специализирани документи и т.н. Търся баланс между новите обещаващи методи и добре познатите модели, като нерядко последните вършат много добра работа. Основната ми работа е научно-приложно насочена, но често се налага да бъда информиран как еволюират пазарните тенденции.

Наскоро например се занимавах с автоматизирано извличане на данни от социалните мрежи и текстова обработка с цел идентифициране на рискови събития, случили се в кратък времеви хоризонт на определено място. Доста приложния има и във финансовия сектор - например работил съм по проект за автоматично разпознаване на измамни застраховки.

Умения и опит
Аналитичният подход за разбиране на даден проблем в дълбочина е особено полезен, тъй като решенията рядко са очевидни, суровите данни рядко са чисти и не винаги методът, който в началото изглежда добър, е оптималният метод.

За практическата работа е нужно добро ниво по софтуерно инженерство. Опит с обектноориентиран език, структури данни и алгоритми е едно добро начало. Функционалното програмиране и езици като R, Python или Matlab са силно препоръчителни, ако не и задължителни за добрия специалист. Математиката е масово отбягвана поради сложността й, но именно там се корени дълбочината на разбирането какво и защо правят алгоритмите и природата на наличните данни. Линейната алгебра и интегралното смятане са част от фундамента, на който стъпват вероятностите и статистиката, те от своя страна предоставят множество полезни методи, застъпени в машинното обучение. Преимущество е също и поне базово познаване на конкретния бизнес, където решението следва да бъде приложено.

Моите предизвикателства
Едно от големите предизвикателства е да се ориентираш в морето от информация и да се фокусираш върху важното, но също и да усвоиш изкуството на баланса: баланс между качество на алгоритъма и бързина, между простите и сложните методи, новостите и добре познатото старо.

Моите удовлетворения
Постигането на успех носи удовлетворение, независимо дали той се състои в проектирането на някой прост и елегантен алгоритъм, решаващ практически проблем, или създаването на нов продукт. Самата ежедневна работа в област, която става все по-интересна и предизвикателна и променя света пред очите ни, също носи удовлетворение.

Заплатата
Може да достигне 150% от заплащането на софтуерен инженер.

Моите планове за развитие
От една страна, непрекъснато ще повишавам познанията си по избрани от мен конкретни теми, от друга, ще целя да разбера в по-голяма дълбочина как технологичните новости навлизат в обществото и бизнеса и как формират мнението си тези, които не са специалисти.

Моите източници на информация
Черпя информация от специализирана научна литература, технологични новини, финансова преса, консултантски анализи. Разговорите с опитни специалисти и колеги също са полезни. Участието в конференции и комуникацията с хора от академичния свят и бизнеса са добър начин човек да бъде в крак с нововъведенията, които предстои да се случват.
Търсения умения
- аналитично мислене
- опит с различни регресионни и класификационни алгоритми
- добро ниво по програмиране (вкл. езици като R, Python, SAS или SPSS)
- добри познания по приложна математика, особено вероятности и статистика
- умения за работа с данни (статистическо характеризиране, клъстеринг, предвиждане)
- познания в областта на невронните мрежи и deep learning
- опит в подготвянето на спецификации и на документи с научен характер.

*Статията е част от специалното издание на "Кариери" - "Моята кариера (септември 2017): Непознатите перспективни професии".


Share Tweet Share
още от тази рубрика:

Реклама

Реклама

© 2003-2017 Икономедиа АД съгласно Общи условия за ползване ново. Политика за бисквитките ново . Поставянето на връзки към материали в сайтовете на Икономедиа е свободно. Уеб разработка и дизайн на Икономедиа. Сайтът използва графични елементи от famfamfam + DryIcons. Някои снимки © 2017 Associated Press и Reuters. Всички права запазени.
Действителни собственици на настоящото издание са Иво Георгиев Прокопиев и Теодор Иванов Захов.
mobile Към мобилната версия на сайта

Бизнес: КапиталКариериБизнесРегалГрадът.bgОдитFoton.bg

Новини: ДневникЕвропа

IT: IDG.BGComputerworldPC WorldCIONetworkworld

Развлечение: БакхусLIGHT

На английски: KQuarterly