Как использовать машинное обучение в производстве, или Для чего аутсорс-компании R&D-отдел
23.04.2018 13:28
—
Разное
|
Как использовать машинное обучение в производстве и для чего аутсорсинговой компании R&D отдел, dev.by спросил у Кирилла Саколина, инженера компании ISsoft. Как давно ты работаешь в ИT, какой опыт у тебя за плечами? Я закончил БГУ, факультет прикладной математики и информатики. Впервые устроился программистом еще на 3-м курсе универа, в 2005 году. Поработал в аутсорсинге в разных компаниях Минска, попробовал себя в нескольких стартапах, потом какое-то время жил и работал за границей, где попробовал на вкус работу на стороне заказчика, поучаствовал в продуктовых проектах. После, взвесив все «за» и «против», снова вернулся в Минск. Последние годы активно занимался изучением новых технологий. Мой основной язык программирования — Java, однако я не ограничиваю себя экосистемой этого языка и всё больше смотрю по сторонам. Знаем, что ты работаешь в R&D отделе компании ISsoft. Чем ты там занимаешься? По возвращении в Минск я снова устроился в компанию ISsoft, где когда-то работал сразу после университета. В R&D отделе мы изучаем самые новейшие технологии, пробуем их, строим концепты, демо решения. Самые удачные из них внедряем в реальные проекты. Наше внимание притягивают наиболее перспективные технологии. Одним словом, стараемся идти в ногу со временем и предлагать клиентам всё самое передовое.
Расскажи, пожалуйста, почему ты занялся темой машинного обучения? Мы в отделе занимаемся изучением новых, перспективных технологий. А машинное обучение — это не просто перспективная, это революционная технология. Искусственный интеллект уже полным ходом внедряется во все сферы нашей жизни: автопилоты, чат-боты, новостные ленты, всевозможные фильтры, классификаторы, банковские транзакции, игры... У вас дома скорее всего ездит пылесос, который также пользуется методами машинного обучения. ИИ уже в состоянии заменить человека на многих постах. Да что там, он уже способен мечтать. Лично мне эта тема очень интересна. Я любознательный по натуре человек и всегда стараюсь разобраться, как что устроено. И раз уже не за горами времена, когда автомобиль будет возить меня сам, то мне просто жизненно необходимо понимать, как он устроен и как принимает решения, ведь я собираюсь доверить ему свою жизнь. Мне уже довелось опробовать автопилот Tesla в реальном автомобиле на хайвэе. Это очень необычное ощущение. Страшно, когда машина сама набирает скорость, входит в повороты, тормозит. Едешь, нога на тормозе, руль готов схватить в любой момент. Головой понимаешь, что технология работает, но многолетний опыт разработчика не дает расслабиться, ведь где-то может скрываться баг, или датчик может «заглючить» — и всё. Технология обучения широко используется в игровой индустрии. Так, в своём докладе я продемонстрирую на примерах простых игр, как работает машинное обучение. Специально для этого доклада я написал небольшую реалтайм-игру «Танки», чтобы наглядно показать, на что способна довольно примитивная модель после обучения. А почему именно метод Q-learning, в машинном обучении много других методов? Откровенно говоря, я не могу назвать себя опытным специалистом в машинном обучении. Из всего, что мне довелось попробовать, этот метод самый простой для понимания. Q-learning — это один из методов так называемого обучения с подкреплением, наградой. Его можно использовать везде, где можно получить обратную связь от окружения. Те же автопилоты, пылесосы, игры. А обратной связью в них могут быть сигналы датчиков, в игре — события, счёт. Суть метода состоит в том, чтобы, получая обратную связь от окружения, построить такую функцию, которая знает полезность каждого действия в каждом возможном состоянии. Говоря простым языком, если датчик показывает впереди препятствие, а обучаемый в него упирается, то мы его «штрафуем». Если объезжает препятствие, то награждаем. Таким образом, в следующий раз, когда датчик снова покажет препятствие, то обучаемый уже будет знать, что выгоднее его объехать. Тот же принцип, что и с собакой Павлова. Кому это может быть интересно, как ты считаешь? Есть ли какие-то ограничения по базовым знаниям, например, языков программирования? В моём докладе мало воды и много демок. Поэтому надеюсь, что интересно будет всем: и тем, кто вообще не знаком с темой, и тем, кто «в теме», и даже тем, кого это раньше не интересовало. Даже если человек уже знаком с этим методом, мой подход к реализации может существенно отличаться. Я бы не сказал, что есть много желающих поделиться своими наработками в этом направлении. К такому выводу я пришёл, покопавшись в сети. И это понятно, технология очень востребована, и никто не хочет наживать себе конкурентов. Теоретических выкладок полно. По всем направлениям можно найти тонны книг высшей математики. А практических руководств очень мало. Есть небольшие статьи на популярных ресурсах типа Хабра — и на том спасибо. Есть много библиотек с тощей документацией. Есть и примеры на этих библиотеках, но опять-таки без особых объяснений. И чтобы в них разобраться, надо или читать матчасть, или брать платный курс в онлайн университетах. Что касается ограничений… Без высшей математики будет совсем тоскливо. Вот где действительно я был рад, что закончил ФПМ. Что касается языков программирования: исторически сложилось, что большинство библиотек по машинному обучению написаны на Python. Однако и Java, и Scala в обиде не остались. Так что языки проблемой быть не должны. Когда и где можно послушать твой доклад?
Эта публикация подготовлена в партнёрстве с ISsoft
Что такое
Иностранное производственное унитарное предприятие «ИССОФТ СОЛЮШЕНЗ» Чтобы разместить новость на сайте или в блоге скопируйте код:
На вашем ресурсе это будет выглядеть так
Как использовать машинное обучение в производстве и для чего аутсорсинговой компании R&D отдел, dev.by спросил у Кирилла Саколина, инженера компании ISsoft. Читать...
|
|