Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Berufseinsteiger - Maschinelles Lernen/KI

478  1 2 все
germanyaccount посетитель14.01.18 06:06
germanyaccount
14.01.18 06:06 

Приветствую. В Германии я восемь лет, последние пять учился в 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 тут на столько не много (тем более, что я ограничен поиском только в Штутгарте и окрестности), что стоит согласиться на предложенную позицию и надеяться, что будут проекты к которым у меня наибольший интерес?

#1 
  moose старожил14.01.18 13:41
NEW 14.01.18 13:41 
в ответ germanyaccount 14.01.18 06:06, Последний раз изменено 14.01.18 14:11 (moose)

практического опыта в "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"!). будете получать регулярно имэйлы, на вас как на успешного выпускника накинутся многие. и не дать себя втянуть в какое-нибудь неинтересное занятие, это - всегда успеете в случае нужды.


и еще. я бы подумал о сделать мастера. а за это время и отрасль подтянется : )


#2 
  ilghiz постоялец14.01.18 18:49
NEW 14.01.18 18:49 
в ответ germanyaccount 14.01.18 06:06

Боюсь, что это - игры для избранных, Вы, возможно, не в их числе.


ИМХО, имея достаточно большой опыт именно по AI (были статьи в свое время на одного автора по тензорным аппроксимациям) и постоянный эрфарунг по GPU и суперкмпьютингу тщетно год назад пытался найти работу/подработку в этой области - тут действительно нужны только тестировщики. Пытайтесь, как все, двигаться по служебной лестнице начав с тестировщика в большой немецкой индустрии. Реально можно преуспеть и чувствовать себя комфортно, ну а будете в итоге заниматься AI или нет, это - как повезет, всяко через 10-20 лет он все равно всем приснится.


А можно полюбопытствовать какой конкретно математический метод использовали для решения задачи, что у вас в тезисах? ИМХО, на вскидку, я бы вычислял несколько статистических параметров с данных акселометра и по ним бы строил корреляции, но надеюсь, тут не все так просто.

#3 
germanyaccount посетитель14.01.18 20:19
germanyaccount
NEW 14.01.18 20:19 
в ответ moose 14.01.18 13:41
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 это моё второе образование.
В любом случае спасибо за информацию.

#4 
AlexOtt местный житель14.01.18 20:58
AlexOtt
NEW 14.01.18 20:58 
в ответ germanyaccount 14.01.18 06:06

в области machine learning - пробуйте что-то видимое, как поучаствовать в kaggle, и т.п. Плюс, практический ML это в первую очередь обработка данных - SQL, питон и тд. (мой пост на эту тему http://alexott.blogspot.de/2016/06/notes-on-practical-mach...

#5 
germanyaccount посетитель14.01.18 21:08
germanyaccount
NEW 14.01.18 21:08 
в ответ ilghiz 14.01.18 18:49
Боюсь, что это - игры для избранных


Я тоже так думаю, но не смотря на то, что тезис, это мой единственный опыт, я чувствую свой потенциал в этой области. Мне кажется, что здесь я смогу привнести что-то интересное, создать своё know-how. Поэтому есть стремление к KI. Иначе, на рынке гораздо больше предложений по яве под андроид, где я чувствую себя гораздо увереннее. Но делать то, что уже можешь, а не то, что хочешь, мне кажется, будет рутиной, и тут не будет никакого стремления к своему know-how.



ну а будете в итоге заниматься AI или нет, это - как повезет


Не хочу я оставлять всё на волю случая. Я дал себе 15 лет на все мои идеи.


надеюсь, тут не все так просто.


Думаю, что тут, почти, всё так просто. Одной из задач было разработать максимально простой алгоритм, чтобы его можно было использовать на смартфоне с типичными вычислительными возможностями. Я тянул фитчи из данных акселерометра (всего 20 фитч), предварительно преобразовав ускорение в jerk. Главная идея заключалась в том, из каких именно областей/сегментов временного ряда их тянуть. Наборы фитч (gate templates) классифицировал с помощью kNN, SVM и CART. Лучшие результаты показал SVM. Одна из основных статей, которую я использовал в работе. https://www.researchgate.net/publication/269311829_Biometr...

#6 
germanyaccount посетитель14.01.18 21:10
germanyaccount
NEW 14.01.18 21:10 
в ответ AlexOtt 14.01.18 20:58
это в первую очередь обработка данных

Это я успел ощутить в полной мере, пока работал над тезисом.
Спасибо за ссылку, отпишусь, как прочту.

#7 
  ilghiz постоялец14.01.18 22:56
NEW 14.01.18 22:56 
в ответ germanyaccount 14.01.18 21:08

> Думаю, что тут, почти, всё так просто ... Лучшие результаты показал SVM

спасибо, классно! ИМХО, если данные не предкласиффицированы или просто какие-то общие, то обычно SVM как раз и показывает самые хорошие результаты, но его часто сторонятся из-за большой алгоритмической сложности. При маленьких данных или хорошей оптимицазии/распараллеливании это не заметно. Удачи Вам, может с интересной группой-работой Вам все-таки повезет!


Кстати, один мой знакомый ищет человека с эрфпрунгом как раз по AI, но вроде по фонетическому разсознаванию в свой стартап. В позиции упор на математические методы. Где он таки этот стартап запустил - не знаю, могу поинтересоваться, если очень сильно мотивированы хорошо работать (и надеюсь, хорошо зарабатывать, но это не ко мне), могу Вас сконтактировать.

#8 
  moose старожил14.01.18 22:59
NEW 14.01.18 22:59 
в ответ ilghiz 14.01.18 18:49

типичная речь неудачника, пытающегося заразить своим вирусом других : )

советую тс не обращать внимания на такоие речи: выигрывают ТОЛЬКО те, кто никогда не сдается.

#9 
  moose старожил14.01.18 23:04
NEW 14.01.18 23:04 
в ответ ilghiz 14.01.18 22:56

почему вы сами не подошли вашему знакомому? ведь год назад искали, а тут - такая удача подвалила (вроде бы), а вы - без интереса? не могу связать...

#10 
  ilghiz постоялец14.01.18 23:27
NEW 14.01.18 23:27 
в ответ moose 14.01.18 23:04, Последний раз изменено 15.01.18 01:58 (ilghiz)

> типичная речь неудачника, пытающегося заразить своим вирусом других : )советую тс не обращать внимания на такоие речи: выигрывают ТОЛЬКО те, кто никогда не сдается.

с выделенным Вашим утверждением полностью согласен


> почему вы сами не подошли вашему знакомому

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

#11 
  moose старожил15.01.18 12:51
NEW 15.01.18 12:51 
в ответ ilghiz 14.01.18 23:27
Про мой проект тут было много баталий, не буду повторяться.

прошло мимо меня, к сожалению, можете дать ссылку?


#12 
  moose старожил15.01.18 13:03
NEW 15.01.18 13:03 
в ответ germanyaccount 14.01.18 21:08

знаю, топик не о вашем тезисе, но мне интересно отклониться. можно, конечно, отдельный топик где-нибудь завести, но где и будет ли интерес еще у кого-то кроме меня?

я пробежал статью по приведенной вами ссылке. там обсуждается (насколько я сумел уловить) лишь то, как "насобирать" данные для создания gait pattern, но о полезности этого упомянуто вскользь. будто бы эта полезность очевидна. а так ли это? понимаю, в вашем тезисе не это было темой, но вы наверняка проигрывали в голове сценарии использования?

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

#13 
AlexOtt местный житель15.01.18 16:31
AlexOtt
NEW 15.01.18 16:31 
в ответ ilghiz 14.01.18 22:56

SVM хорош, да, но зараза не параллелится на несколько машин, так что когда данных много, то его особо не применишь :-(

#14 
Bigfoot коренной житель15.01.18 19:23
Bigfoot
NEW 15.01.18 19:23 
в ответ AlexOtt 15.01.18 16:31

Если я не ошибаюсь, то в R SVM-имплементация в виде пакета "e1071" вполне себе "парралелится" через doSnow/doParallel. Сам лично не пользовался.

Oh gravity, thou art a heartless bitch! (c) Dr.Cooper
#15 
  ilghiz постоялец15.01.18 20:28
NEW 15.01.18 20:28 
в ответ AlexOtt 15.01.18 16:31

> SVM хорош, да, но зараза не параллелится на несколько машин, так что когда данных много, то его особо не применишь :-(

не знание законов (параллелизма) не освобождает от ответственности (по качественному распараллеливанию) (С)


SVM пишется через матричные операции, а именно BLAS2, при аккуратных формулировках все становится блочным и требует BLAS3. Теперь вспомним, что линпаковский солвер для измерения пиковой производительности суперкомпьютеров (top500.org) основан как раз на BLAS3, то замечаем, что раз линпак на миллионах ядрах очень хорошо параллелится, то и SVM должен тоже хорошо параллелится. Сам больше 4 ГПУшных ядер для SVM каюсь, еще ни разу не задействовал (что составляет около 12000 параллельных тредов), но производительность была просто абалденная, в отличие от АНН и других хНН, которые страдают load-balansingом и даже на 1К+ ядрах показывают в десятки раз меньшую от пиковой производительность.

#16 
AlexOtt местный житель15.01.18 21:33
AlexOtt
NEW 15.01.18 21:33 
в ответ ilghiz 15.01.18 20:28

теоретически он должен параллелиться, но почему-то ни одной distributed реализации не видно... В этом то и основное отличие между теоретиками и практиками... У меня на работе была ML PhD, которая всем рассказывала про SVM, какой он крутой и тд, а потом втихую сменила реализацию на LR, почти без потери качества..

#17 
  ilghiz постоялец16.01.18 00:19
NEW 16.01.18 00:19 
в ответ AlexOtt 15.01.18 21:33

> теоретически он должен параллелиться, но почему-то ни одной distributed реализации не видно...

мне сие не понятно, когда в 2012 у нас один заказчик ГПУшную версию SVM заказал, мы это за месяц на двоих распараллелили. Правда GPU - это все-таки не совсем дестриьбютед, но и на дестрибьютед, как я писал выше, этот алгоритм должен ложиться с той же ассимтотикой, что и lapackовский dgesv, правда с немного худшими константами в этих ассимптотиках, то есть для больших моделей приближзаться к пиковой производительности.


Так как основное направление моей деятельности - вычислительная математика, не всегда держу руку на пульсе у AI, а больше любопытствую конкретными алгоритмами и их характеристиками.

#18 
germanyaccount посетитель16.01.18 01:42
germanyaccount
NEW 16.01.18 01:42 
в ответ moose 15.01.18 13:03
сценарии использования?


Есть множество сценариев, и да, есть случаи, в которых такая биометрическая идентификация пользователя/хозяина смартфона может оказать медвежью услугу.
Online banking – пользователь лазает в сети, захотел что-то купить, нажал на кнопку купить, и купил. Плюс – не требуется вводить пин, т.к. смартфон уже знает, что им сейчас пользуется хозяин. Минус – если смартфон распознал истинного владельца, как постороннего пользователя, то хозяину будет просто предложено подтвердить свою личность пином. Хуже, если наоборот, смартфон распознал в пользователе владельца, хотя им пользуется посторонний. Те самые „false positives and true negatives“, о которых пишет AlexOtt в приведённой им ссылке.
Diebstahlschutz – этот сценарий мне кажется более рабочим в реальных условиях, и это один из сценариев, которые я описывал в работе. Суть сценария – насколько я знаю, в айфонах есть функция блокировки смартфона, если он был, например, украден. Но тут нужно активировать эту блокировку, послав соответствующую смс на телефон. Если же использовать идентификацию по походке, то: Плюс – такая блокировка активируется автоматически уже после ~25 секунд, после того, как смартфон был украден. Минус – смартфон будет заблокирован, если истинный владелец был ошибочно идентифицирован, как посторонний.
#19 
germanyaccount посетитель16.01.18 01:47
germanyaccount
NEW 16.01.18 01:47 
в ответ AlexOtt 14.01.18 20:58, Последний раз изменено 16.01.18 01:48 (germanyaccount)

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

#20 
1 2 все