Berufseinsteiger - Maschinelles Lernen/KI
Приветствую. В Германии я восемь лет, последние пять учился в Fachhochschule. В октябре прошлого года закончил Software Engineering (Bachelor). Тезис написал в области maschinelles Lernen. Цель тезиса – разработка техники идентификации хозяина смартфона по походке. Оценка за тезис – 1.0 До написания тезиса имел поверхностное представление о data mining и maschinelles Lernen. Все алгоритмы разработал в Матлабе. В течение работы над тезисом понял, что дальше хочу развиваться как Softwareingenieur именно в области maschinelles Lernen und KI. Потому теперь бевербуюсь на соответствующие позиции для Berufseinsteiger. Но мой тезис это мой единственный опыт в этой области. Пока написал в четыре фирмы. В последнюю, Bosch, написал в пятницу. Пока жду ответа. Из остальных трёх, одна сразу отказала, на двух других был Vorstellungsgespräch. На
собеседовании у первой выяснилось, что им в первую очередь нужен тестировщик. И вот когда наберётся достаточно опыта в предметной области, то тогда и можно будет приступать к автоматизации этих тестов с помощью алгоритмов машинного обучения. Хотя в анцайге ничего об этом написано не было. Было всё красиво оформлено под заголовком „Экспертные системы и машинное обучение“. В итоге, на собеседовании мы друг друга поняли и мирно разошлись. На собеседовании во второй фирме (itk engineering) выяснилось, что у них в данный момент нет проектов в этой области, а так как они Dienstleister, то не могут однозначно мне сказать, когда такие проекты снова появятся. Но зато, мол, есть проекты, в которых я уже что-то делал. Это ROS и передача данных по блутусу
между микроконтроллером и смартфоном (делал практику в Kärcher). Они мне уже даже Anstellungsvertrag прислали, дали неделю на раздумье.
В общем, опыт этих двух собеседований навёл меня на мысль, что такая тенденция будет прослеживаться и с другими фирмами. Поэтому вопрос к тем, кто работает или работал в Германии в области maschinelles Lernen. Имеет смысл искать дальше фирму, где занятость будет именно в этой области и составлять хотя бы 80% деятельности, или предложений для Berufseinsteiger тут на столько не много (тем более, что я ограничен поиском только в Штутгарте и окрестности), что стоит согласиться на предложенную позицию и надеяться, что будут проекты к которым у меня наибольший интерес?
практического опыта в "maschinelles lernen" не имею, зато имею богатый опыт поиска работы, успешного в том числе.
задаем в гугл maschinelles lernen stuttgart job
, а в соседнем табе - maschinelles lernen stuttgart freeelance
и сразу получаем массу информации. которую, естественно, нужно просеять (может, стоит личный проект "машинный поиск работы по походке работодателя" выполнить? : ).
я, как лицо незаинтересованное, выдернул просто глазами несколько сайтов, показавшихся интересными:
https://de.indeed.com/Jobs?q=Machine+Learning&l=Stuttgart&...
https://www.meetup.com/de-DE/topics/machine-learning/de/st... (я бы попробовал посетить и потусоваться во ВСЕХ этих "клубах", попытался бы завести полезные контакты. контакты и опыт их приобретения - бесценная вещь! пытайтесь контактировать со всеми, избегая только откровенно неприятных типов. даже если человек кажется "не из нашего района", т.к. через него вы можете поиметь другой контакт, который - именно то, что вам нужно. о пользе опыта общения, особенно в среде своего интереса, я думаю, говорить излишне. собственно, в этом должна состоять ваша главная задача на сегодня. не "хорошее жалование", а именно правильный опыт и правильные контакты.
далее, зарегистрироваться на gulp.de & xing.de (keint "premium mitgliedschaft"!). будете получать регулярно имэйлы, на вас как на успешного выпускника накинутся многие. и не дать себя втянуть в какое-нибудь неинтересное занятие, это - всегда успеете в случае нужды.
и еще. я бы подумал о сделать мастера. а за это время и отрасль подтянется : )
Боюсь, что это - игры для избранных, Вы, возможно, не в их числе.
ИМХО, имея достаточно большой опыт именно по AI (были статьи в свое время на одного автора по тензорным аппроксимациям) и постоянный эрфарунг по GPU и суперкмпьютингу тщетно год назад пытался найти работу/подработку в этой области - тут действительно нужны только тестировщики. Пытайтесь, как все, двигаться по служебной лестнице начав с тестировщика в большой немецкой индустрии. Реально можно преуспеть и чувствовать себя комфортно, ну а будете в итоге заниматься AI или нет, это - как повезет, всяко через 10-20 лет он все равно всем приснится.
А можно полюбопытствовать какой конкретно математический метод использовали для решения задачи, что у вас в тезисах? ИМХО, на вскидку, я бы вычислял несколько
статистических параметров с данных акселометра и по ним бы строил корреляции, но надеюсь, тут не все так просто.
https://www.meetup.com/de-DE/topics/machine-learning/de/st... (я бы попробовал
Это было первое, что я сделал, как сдал тезис. Цель - всё то, что вы описали в соответствующем абзаце.
задаем в гугл maschinelles lernen stuttgart job
А
так я нашёл те предложения, на которые бевербовался.
Фриланс не искал.
Но так как заметил, что в ML сейчас нейронные сети очень востребованы,
то думал сделать практику вот тут https://recruiting.fraunhofer.de/Vacancies/34883/Descripti... если совсем ничего не найду. Фриланс поищу, посмотрим, что получится.
На
галпе и ксинге меня тоже нет. Честно говоря не обращал внимание на эти
ресурсы, т.к. считаю это пассивным методом поиска работы, и не думал,
что я, как вы пишете, буду регулярно получать имейлы. На счёт успешного
выпускника - за тезис 1.0, остальные оценки среднестатистические. Общую
оценку в цойгнисе в районе 2.3 ожидаю.
Мастера не планирую делать, я уже и так вечный студент. Software Engineering это моё второе образование.
В любом случае спасибо за информацию.
в области machine learning - пробуйте что-то видимое, как поучаствовать в kaggle, и т.п. Плюс, практический ML это в первую очередь обработка данных - SQL, питон и тд. (мой пост на эту тему http://alexott.blogspot.de/2016/06/notes-on-practical-mach...
Боюсь, что это - игры для избранных
Я тоже так думаю, но не смотря на то, что тезис, это мой единственный опыт, я чувствую свой потенциал в этой области. Мне кажется, что здесь я смогу привнести что-то интересное, создать своё know-how. Поэтому есть стремление к KI. Иначе, на рынке гораздо больше предложений по яве под андроид, где я чувствую себя гораздо увереннее. Но делать то, что уже можешь, а не то, что хочешь, мне кажется, будет рутиной, и тут не будет никакого стремления к своему know-how.
ну а будете в итоге заниматься AI или нет, это - как повезет
Не хочу я оставлять всё на волю случая. Я дал себе 15 лет на все
мои идеи.
надеюсь, тут не все так просто.
Думаю, что тут, почти, всё так просто. Одной из задач было разработать максимально простой алгоритм, чтобы его можно было использовать на смартфоне с типичными вычислительными возможностями. Я тянул фитчи из данных акселерометра (всего 20 фитч), предварительно преобразовав ускорение в jerk. Главная идея заключалась в том, из каких именно областей/сегментов временного ряда их тянуть. Наборы фитч (gate templates) классифицировал с помощью kNN, SVM и CART. Лучшие результаты показал SVM. Одна из основных статей, которую я использовал в работе. https://www.researchgate.net/publication/269311829_Biometr...
> Думаю, что тут, почти, всё так просто ... Лучшие результаты показал SVM
спасибо, классно! ИМХО, если данные не предкласиффицированы или просто какие-то общие, то обычно SVM как раз и показывает самые хорошие результаты, но его часто сторонятся из-за большой алгоритмической сложности. При маленьких данных или хорошей оптимицазии/распараллеливании это не заметно. Удачи Вам, может с интересной группой-работой Вам все-таки повезет!
Кстати, один мой знакомый ищет человека с эрфпрунгом как раз по AI, но вроде по фонетическому разсознаванию в свой стартап. В позиции упор на математические методы. Где он таки этот стартап запустил - не знаю, могу поинтересоваться, если очень сильно мотивированы хорошо работать (и надеюсь, хорошо зарабатывать, но это не ко мне), могу Вас сконтактировать.
> типичная речь неудачника, пытающегося заразить своим вирусом других : )советую тс не обращать внимания на такоие речи: выигрывают ТОЛЬКО те, кто никогда не сдается.
с выделенным Вашим утверждением полностью согласен
> почему вы сами не подошли вашему знакомому
так как получаю в месяц 13к, и мне хватает их, чтобы дофинансировать свой проект. Про мой проект тут было много баталий, не буду повторяться.
знаю, топик не о вашем тезисе, но мне интересно отклониться. можно, конечно, отдельный топик где-нибудь завести, но где и будет ли интерес еще у кого-то кроме меня?
я пробежал статью по приведенной вами ссылке. там обсуждается (насколько я сумел уловить) лишь то, как "насобирать" данные для создания gait pattern, но о полезности этого упомянуто вскользь. будто бы эта полезность очевидна. а так ли это? понимаю, в вашем тезисе не это было темой, но вы наверняка проигрывали в голове сценарии использования?
я не думаю, что будет удобно, если для разблокирования мобильника следует пройтись своей походкой несколько метров, причем с телефоном в определенном кармане, при этом в той же обуви, находясь в той же кондиции и пр. не вижу преимуществ по сравнению с пинами/паролями и пр. может в определенных сценариях оказать медвежью услугу. хотя в какой-то другой облавти этот опыт может оказаться очень полезным.
> SVM хорош, да, но зараза не параллелится на несколько машин, так что когда данных много, то его особо не применишь :-(
не знание законов (параллелизма) не освобождает от ответственности (по качественному распараллеливанию) (С)
SVM пишется через матричные операции, а именно BLAS2, при аккуратных формулировках все становится блочным и требует BLAS3. Теперь вспомним, что линпаковский солвер для измерения пиковой производительности суперкомпьютеров (top500.org) основан как раз на BLAS3, то замечаем, что раз линпак на миллионах ядрах очень хорошо параллелится, то и SVM должен тоже хорошо параллелится. Сам больше 4 ГПУшных ядер для SVM каюсь, еще ни разу не задействовал (что составляет около 12000 параллельных тредов), но производительность была просто абалденная, в отличие от АНН и других хНН, которые страдают load-balansingом
и даже на 1К+ ядрах показывают в десятки раз меньшую от пиковой производительность.
теоретически он должен параллелиться, но почему-то ни одной distributed реализации не видно... В этом то и основное отличие между теоретиками и практиками... У меня на работе была ML PhD, которая всем рассказывала про SVM, какой он крутой и тд, а потом втихую сменила реализацию на LR, почти без потери качества..
> теоретически он должен параллелиться, но почему-то ни одной distributed реализации не видно...
мне сие не понятно, когда в 2012 у нас один заказчик ГПУшную версию SVM заказал, мы это за месяц на двоих распараллелили. Правда GPU - это все-таки не совсем дестриьбютед, но и на дестрибьютед, как я писал выше, этот алгоритм должен ложиться с той же ассимтотикой, что и lapackовский dgesv, правда с немного худшими константами в этих ассимптотиках, то есть для больших моделей приближзаться к пиковой производительности.
Так как основное направление моей деятельности - вычислительная математика, не всегда держу руку на пульсе у AI, а больше любопытствую конкретными алгоритмами и их характеристиками.
сценарии использования?
Online banking – пользователь лазает в сети, захотел что-то купить, нажал на кнопку купить, и купил. Плюс – не требуется вводить пин, т.к. смартфон уже знает, что им сейчас пользуется хозяин. Минус – если смартфон распознал истинного владельца, как постороннего пользователя, то хозяину будет просто предложено подтвердить свою личность пином. Хуже, если наоборот, смартфон распознал в пользователе владельца, хотя им пользуется посторонний. Те самые „false positives and true negatives“, о которых пишет AlexOtt в приведённой им ссылке.
Diebstahlschutz – этот сценарий мне кажется более рабочим в реальных условиях, и это один из сценариев, которые я описывал в работе. Суть сценария – насколько я знаю, в айфонах есть функция блокировки смартфона, если он был, например, украден. Но тут нужно активировать эту блокировку, послав соответствующую смс на телефон. Если же использовать идентификацию по походке, то: Плюс – такая блокировка активируется автоматически уже после ~25 секунд, после того, как смартфон был украден. Минус – смартфон будет заблокирован, если истинный владелец был ошибочно идентифицирован, как посторонний.
Прочитал ваш пост. Красиво описано. Когда я закончил свою работу, то оглядываясь назад, составил для себя очень похожий список.
Вы в конце поста говорили, что собираетесь подробнее описать некоторые аспекты. Я плохо искал или вы пока не писали?
для меня звучит неубедительно. например, мой смартфон запрется, если я на нем ничего не буду клацать три минуты (раньше была одна, но неудобно: иногда запирается, пока выясняешь какие-нибудь данные, которые нужно ввести, уточняешь телефонный номер и тд.). я считаю это вполне разумным. ваш смартфон должен запираться, если вы не ходите образцовой походкой в течение какого-то времени? человек может просто сидеть за столом, в машине, человек может идти не той походкой, которую вы "записали", из-за того, что что-то несет (рюкзак, еще что-то), ногу натер (подвернул), обулся во что-то неудобное, устал или наоборот торопится, несет телефон в руке (в сумке, в другом кармане, ...), едет в автобусе/поезде, который шатает,... список можно продолжить до бесконечности. если вы дали на время ваш телефон кому-то
из близких родственников, должы или обучить его вашей походке, или мобильник - его.
понимаю, что работать над этой задачей было интересно, но вы себе установили (бы) вашу фичу? мне пока не хочется : )
зато список возможных приложений для вашего тезиса может оказаться такого же порядка длины, что и "contra" для запирания. например, человек хочет отучиться ходить, шаркая ногами/сутулясь и т.д. мобильник мог бы это распознавать (что человек в данный момент идет, а не бросает его на байфахрэрзитц) и следить, чтобы нужная походка соблюдалась, иначе сигналит.
для спорта (чтобы правильная была трусца, или чтобы уокинг был достаточно нордик). все что для спорта/здоровья/хобби стоит в разы дороже, народ здесь на этом помешан.