Как освоить Computer Vision
Усі статті, обговорення, новини про AI — в одному місці. Підписуйтеся на DOU | AI!
Сфера Computer Vision бурно развивается. В Украине открываются новые офисы компаний, разрабатывающих продукты с Computer Vision, существующие компании расширяют штат и активно конкурируют за специалистов.
AI Booster сделал обзор общих требований и рекомендаций для старта в Computer Vision перед стартом первой в Киеве профильной конференции по Computer Vision.
Шаг 1. Исходные данные
Для того, чтобы начать изучать Computer Vision, желательно знать английский, поскольку русскоязычных материалов практически нет — статьи, ресурсы, курсы — все на английском.
Для старта важно понимание математики. Глубинных знаний для начала не надо, но уметь читать и понимать научные статьи обязательно. Желательно повторить или выучить высшую математику, математический анализ и иметь понимание математической статистики.
Также необходимо освоить базовые навыки программирования — чаще всего в мире Data Science используют Python, но самое главное — знания основ программирования. Для написания нейронных сетей могут использоваться и C, C#, Matlab и тд
Андрей Никишаев советует новичкам сразу использовать полученные знания на практике:
Во время обучения учишь теорию и параллельно делаешь проект. Потом когда имеешь уже нормальную базу идешь на Kaggle и находишь интересную задачу для себя и делаешь. А потом идешь куда уже хочешь. Однако, потом наступает очень большое количество рандома в работе, и это психологически выматывает + логика и нейронные сети зачастую плохо совместимы (то что кажется человеку ок для НН может быть не очень и наоборот).
CV — это область где нужно жестко учиться/делать ресерчи. Потому как большинство типа state-of-the-art алгоритмов не очень эффективны на практике, и если говорить о продакшен сетках то нужно зачастую выдумывать что то свое, а это требует огромного потока информации для того чтобы иметь хороший скоуп.
Но скажем так — самое главное для хорошего МЛ инженера — это образное мышление и воображение. Потому как почти все крутые решение это не решение математических задач в лоб, а хитрый подход сбоку. И потому специалист с воображением почти всегда сделает проект лучше умного математика. А математик с воображением сделает вообще кого хочешь)
Как попасть в классную компанию на работу
Нужно иметь хорошее портфолио и понимание проблем бизнеса которые решаешь.
Что самое сложное в изучении CV?
Сложнее всего — это неточности в научных статьях, их фильтровать крайне тяжело.
На вопрос о сложностях также ответил Гонта Владимир:
Самое сложное в работе с CV — данные! Работа с данными занимает больше 70% времени. С на втором месте — глубокое понимание Нейронных Сетей.
С чего ты порекомендуешь начать обучение?
Все проходят этапы изучения: статистические алгоритмы и плавно переходят к нейронным сетям. Я рекомендую сразу начать изучение data science и neuron networks — как базовые знания.
Шаг 2. Самостоятельное изучение
В интернете есть множество бесплатных курсов, книг, форумов и чатов, которые помогут в изучении.
Приводим обзор самых популярных ресурсов:
Книги:
Sebastian Raschka’s book, Python Machine Learning — github.com/...hon-machine-learning-book
Ян Гудфеллоу «Deep Learning»
Сергей Николенко и др ГЛУБОКОЕ ОБУЧЕНИЕ. ПОГРУЖЕНИЕ В МИР НЕЙРОННЫХ СЕТЕЙ
Бесплатные ресурсы для самостоятельного изучения Data Science и Neural Networks:
mlcourse.ai
ru.coursera.org/...ne-learning-data-analysis
www.fast.ai
www.deeplearning.ai
opencv.org
www.dataquest.io
Введение в компьютерное зрение — МГУ Факультет вычислительной математики и кибернетики — www.lektorium.tv/course/22847
CS231n: Convolutional Neural Networks for Visual Recognition — cs231n.stanford.edu
Обучение на размеченных данных — www.coursera.org/...learn/supervised-learning
Программирование на Python — stepik.org/course/67
Туториалы по Python — www.scipy-lectures.org
ML тренировки от ods.ai — www.youtube.com/...vC9SVsfhfKnSvM9w/featured
Опыт коллег:
Рекомендуем изучить опыт коллег, например, в статьях есть много полезного:
dev.by/news/angarsk-minsk
medium.com/...ing-engineer-a7d5dc9de4a4
www.youtube.com/watch?v=C95FgeekrSw
www.youtube.com/watch?v=fXnzjJMbujc
Шаг 3. Образование и возможности в Украине
Высшее образование и ВУЗы:
УКУ — магистерская программа по Data Science — практически единственный ВУЗ в Украине, который готовит специалистов по DS.
В КПИ и КНУ им. Шевченко есть специальности, которые могут стать основой для старта.
Мероприятия:
Computer VISIONers Conference — это конференция где можно узнать, как стать крутым CV инженером и куда развиваться. Пройдет 6 октября в Киеве.
В программе выступления международных спикеров, практические воркшопы, чтобы сразу использовать полученные знания на практике и выйти с готовым кодом и отработанными навыками, нетворк со специалистами, посоветуют направления для дальнейшего развития, помогут разобраться с тяжелыми задачами. Знакомство с компаниями, работающими в области компьютерного зрения.
Eastern European Computer Vision Conference в Одессе — закрытая конференция для разработчиков с опытом в сфере компьютерного зрения. Мероприятие бесплатное, но проводится отбор участников, проходит летом на берегу Черного моря. Собирает международных докладчиков и специалистов с опытом, которые делятся знаниями, могут обсудить свою работу, найти единомышленников и просто хорошо и полезно провести время в Одессе.
AISaturdays — формат бесплатных занятий по субботам, где все желающие могут узнать об искусственном интеллекте, изучить техническую сторону, отработать на практике или устроить дискуссию с коллегами за чашкой кофе. Первая встреча 22 сентября в DATA ROOT!
Возможности для трудоустройства:
Компании, которые работают в сфере Computer Vision и активно ищут новых сотрудников, предлагают стажировки и трудоустройство:
Infopulse Ukraine
ЛУН
Videogorillas
Ring Ukraine
Lalafo
Let’s Enhance
Snap Inc
3DLOOK
Augmented Pixels
Ciklum
И многие другие.
Не всегда у компаний есть открытые вакансии, но разослать резюме в холодную или спросить про стажировку — всегда отличный вариант с высокой вероятностью успеха.
И напоследок, секрет успеха от Alexander Onbysh, который ещё будучи на втором курсе КПИ попал на работу в Ring Ukraine.
Нужно получать больше практического опыта. Хакатоны, наверное, помогают в этом больше всего. Моим преимуществом было то, что я не разбирался в какой-то очень узкой области, а мог и данные собрать, и алгоритм для них написать, и хорошо это визуализировать, показать. На работе это очень важно.
Также, мероприятия — это возможность показать себя и обзавестись нужными контактами. Собственно, после призового места на AI Spring Hackathon, Ring сами пригласили меня на собеседование.
И как бонус для тех, кто освоил базу, предлагаем подборку полезных статей и ссылок от Владимира Гонта и Егора Шкепу из компании Aisberg.
Image Captioning:
Image-to-Markup Generation with Coarse-to-Fine Attention
lstm.seas.harvard.edu/latex
Neural Markup Generation with Visual Attention
untrix.github.io/i2l
Neural Image Caption Generation with Visual Attention
kelvinxu.github.io/projects/capgen.html
Multi-Modal Methods: Image Captioning (From Translation to Attention)
medium.com/...to-attention-895b6444256e
Visual Attention Model in Deep Learning
towardsdatascience.com/...eep-learning-708813c2912c
Image Segmentation
Convolutional Neural Networks
www.youtube.com/watch?v=bNb2fEVKeEo
Image Classification
www.youtube.com/watch?v=OoUX-nOEjG0
Upsampling and Image Segmentation with Tensorflow and TF-Slim
warmspringwinds.github.io/...h-tensorflow-and-tf-slim
Image Segmentation using deconvolution layer in Tensorflow
cv-tricks.com/...onvolution-in-tensorflow
Up-sampling with Transposed Convolution
towardsdatascience.com/...-convolution-9ae4f2df52d0
U-Net: Convolutional Networks for Biomedical Image Segmentation
arxiv.org/pdf/1505.04597.pdf
Tensorflow implementation of Learning Deconvolution Network for Semantic Segmentation
github.com/...ow-DeconvNet-Segmentation
26 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів