Часть 17 Сериала, где я беру интервью у своих героев.

Указатель и о сериале Интервью с ML Heroes »

Сегодня я очень рад возможности поговорить с кем-то из команды kaggle: я разговариваю с доктором Рэйчел Татман, специалистом по анализу данных в kaggle.

Рэйчел имеет докторскую степень. Имеет степень магистра лингвистики Вашингтонского университета, а также степень магистра лингвистики Вашингтонского университета.

В настоящее время она работает специалистом по данным в Kaggle, а также ведет еженедельные прямые трансляции кодирования на Kaggle-Live (YouTube, я должен сказать, что это потрясающе!).

Она также является мастером по ядрам Kaggle и экспертом по обсуждениям.

О серии:

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

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

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

Саньям Бутани: Здравствуйте, Рэйчел! Спасибо, что нашли время сделать это.

Доктор Рэйчел Татман: Конечно! Спасибо тебе за приглашение.

Саньям Бутани: в настоящее время вы работаете специалистом по анализу данных в Kaggle, у вас есть опыт работы в лингвистике. Не могли бы вы рассказать, как вы заинтересовались НЛП и Data Science?

Доктор Рэйчел Татман: Я определенно занялась этим со стороны «науки». Когда я поступил в аспирантуру, у меня было очень мало опыта программирования, всего пара вводных курсов CS в бакалавриате. Моими основными исследовательскими интересами в то время было влияние различных задач выявления при сборе голосовых данных (например, чтение текста или ведение разговора) на воспроизводимую речь. Поскольку эти эффекты было довольно сложно выявить, я прошел несколько курсов по статистике для выпускников, чтобы узнать больше о том, как их моделировать. Здесь я познакомился с R. Я продолжал использовать R для различных исследовательских проектов, немного изучил MatLab для обработки сигналов и немного поигрался с Python, потому что я использовал программное обеспечение Python для проведения своих экспериментов и имел некоторые довольно специфические потребности. По мере практики я становился более уверенным в своей способности писать код для решения проблем. Поскольку мои проблемы в основном были связаны со сбором, преобразованием и анализом данных, вероятно, именно в этот момент вы могли бы начать называть меня «специалистом по данным».

Что касается НЛП, то по мере того как мои исследования постепенно менялись, я начал работать над проблемами, которые были все более и более актуальными для НЛП. Например, в одном из моих проектов было рассмотрено, как люди в Интернете используют разные варианты написания для обозначения разных диалектов. Однако в конце концов я понял, что исследователи НЛП на самом деле не читают статей по лингвистике; Чтобы присоединиться к продолжающимся разговорам, я стал ходить на конференции по НЛП. Между результатами машинного обучения, которые представлялись на конференциях, и курсами по статистике, которые я все еще посещал, я дошел до того момента, когда смог начать читать и понимать статьи по машинному обучению в течение года или двух. К тому времени, когда я закончил учебу, я чувствовал себя довольно комфортно, называя себя исследователем НЛП.

В общем, это был не очень эффективный способ сделать это. Многое из того, что я делал, получая степень, совершенно не имело отношения к тому, чем я занимаюсь сейчас. (Я, например, несколько лет изучал американский язык жестов и написал несколько исследовательских работ по фонологии языка жестов.) Честно говоря, я понятия не имел, что собираюсь стать специалистом по данным, когда поступил в аспирантуру. Фактически, карьеры даже не существовало, когда я начинал учиться в докторантуре!

Саньям Бутани: Kaggle, несомненно, является центром науки о данных.

Не могли бы вы рассказать нам больше о вашей работе в Kaggle в качестве специалиста по данным? Как выглядит твой день в Kaggle?

Доктор Рэйчел Татман: Это действительно зависит от дня! Я мог бы создавать полезный контент для других специалистов по данным, работая с различными командами инженеров над новыми функциями или исправлениями ошибок или анализируя наши собственные данные. Практически единственное, что я делаю каждый день одинаково, - это внимательно прислушиваюсь к нашему сообществу - читаю форумы, смотрю, что люди говорят в Твиттере, слежу за разными каналами Slack, хожу на встречи и конференции, Что-то в этом роде. Большая часть моей работы - отслеживать то, что важно для Kagglers, и следить за тем, чтобы остальная часть команды Kaggle знала об этом.

Саньям Бутани: Я понимаю, что вы, как часть команды, не имеете права участвовать в соревнованиях.

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

Доктор Рэйчел Татман: Я могу соревноваться, я просто ничего не могу выиграть. ;) Это, а также то, что я был занят другой работой, означало, что я не особо много занимался соревнованиями. Но ведь сейчас новый год, так кто знает?

Некоторые из соревнований, которые меня больше всего интересовали, - это соревнования по классификации токсичных комментариев Jigsaw и классификация неискренних вопросов Quora (которая продолжается). Выявление оскорблений / злоумышленников - такая сложная проблема даже для людей, работающих на своем родном языке, что было увлекательно наблюдать за тем, что люди пытаются сделать. (Хотя я признаю, что лично я считаю аннотационную часть задания наиболее интересной, и для соревнований Kaggle это явно сделано за вас.)

Меня также просто порадовали результаты конкурса Санты в этом году. Ребята проделали довольно хорошую работу… а затем пришел доктор Билл Кук, очень известный исследователь оптимизации, и полностью изменил правила игры. Я всегда рад видеть людей с глубокими познаниями в предметной области, которые преуспевают на соревнованиях.

Саньям Бутани: Обработка естественного языка, возможно, отстает от компьютерного зрения. Что вы думаете о текущем сценарии? Пришло ли время начать заниматься НЛП?

Доктор Рэйчел Татман: Сейчас хорошее время, чтобы начать заниматься НЛП! Я не думаю, что люди должны удивляться тому, что НЛП немного «отстает» от компьютерного зрения: человеческий язык чрезвычайно сложен. Если мы подумаем об этом с точки зрения сложности биологических систем, выполняющих ту же работу, то даже что-то вроде плодовой мушки, у которой всего около четверти миллиона нейронов во всей нервной системе, может выполнять довольно сложную визуальную обработку. Напротив, единственный вид, способный использовать местоимения, - это мы, и только в коре головного мозга у нас шестнадцать миллиардов нейронов.

Я потратил чуть меньше десяти лет на изучение исключительно языка, так что здесь я могу быть немного предвзятым. Но НЛП - это такая захватывающая область отчасти потому, что лингвистика увлекательна: мы еще очень многого не знаем о том, как работает язык.

Саньям Бутани: что бы вы посоветовали читателям и новичкам, которые заинтересованы в работе над обработкой естественного языка?

Доктор Рэйчел Татман: Одна из самых больших проблем, с которыми сейчас сталкиваются новички в НЛП, заключается в том, что на самом деле существует слишком много информации. Легко потеряться, особенно если вы начнете с чтения научных статей. Я бы порекомендовал начать с чтения учебника («Обработка речи и языка» - это классика, а последнее издание доступно бесплатно в Интернете) или найти курс, который вам нравится. Это даст вам хорошее представление о том, где сейчас находится сфера деятельности, и, что еще более важно, о том, что вам не нужно создавать с нуля, когда вы начинаете работать над своими собственными проектами. В этой области уже проделана большая работа, и я призываю новичков начинать с построения существующего проекта, а не пытаться начинать с нуля.

Как только вы получите общее представление о том, что мы можем делать в НЛП, я бы попробовал придумать проект, который вам действительно нравится начинать. Соревнования Kaggle - это, конечно, один из вариантов, но поскольку мы используем язык каждый день, вероятно, есть много вещей, которые вы могли бы создать, чтобы улучшить свою повседневную жизнь. Проверка орфографии для одного из ваших языков, на котором его нет, система, которая выполняет семантическую кластеризацию и предлагает электронные письма, которые вы могли бы объединить, чат-бот, чтобы помочь вашему пожилому родственнику узнать, какие уроки проходят в местном общественном центре ... Если вы работаете над созданием того, что действительно хотите, чтобы существовать, тогда у вас появится мотивация помочь вам справиться, когда вы столкнетесь с ошибками или другими проблемами. И вы столкнетесь с ошибками - это нормальная часть процесса. :)

Саньям Бутани: Многие доски объявлений (для DL / ML) требуют, чтобы соискатели были аспирантами или имели опыт исследований.

Для читателей, которые хотят выбрать машинное обучение как карьерный путь, получив степень доктора философии. Считаете ли вы, что в вашей сфере исследовательский опыт необходим?
Что вы думаете о kaggle как о факторе опыта?

Доктор Рэйчел Татман: Мой универсальный совет - не получать докторскую степень. Я даже недавно написал об этом в блоге. Блог посвящен конкретно лингвистике, но большая часть его относится и к машинному обучению. Я думаю, что имея докторскую степень может быть преимуществом, когда вы ищете работу в области науки о данных, но если вы действительно не хотите 1) заниматься исследованиями или 2) быть профессором, нет никакой пользы в получении докторской степени. что вы не можете быстрее заняться чем-то другим.

Я думаю, что Kaggle или другой практический опыт приведет вас к тому моменту, когда вы сможете гораздо быстрее подать заявку на работу. Однако я бы, вероятно, не рекомендовал только участвовать в соревнованиях Kaggle. Так вы многое узнаете об алгоритмах, но не получите столько практики в таких вещах, как очистка данных или разработка показателей. Это одна из причин, по которой я предлагаю людям работать и над своими собственными проектами. Это демонстрирует вашу способность придумывать интересные вопросы, создавать источники и аннотировать данные, очищать данные и думать о том, чего хотят пользователи.

Саньям Бутани: Я также большой поклонник ваших прямых трансляций и ядер.
Не могли бы вы поделиться несколькими советами по написанию хороших ядер и стать лучшим техническим спикером?

Доктор Рэйчел Татман: Хм, то, что делает ядро ​​хорошим, субъективно, но мне больше всего выделяются те, которые заставляют меня подумать: О, черт возьми, я бы хотел подумать об этом! . Мне очень нравится видеть, как люди придумывают новые подходы к решению интересных задач, например, это ядро, которое использует тематическое моделирование, технику НЛП, для кластеризации наборов LEGO на основе их цвета.

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

Мой второй совет - быть как можно более конкретным. Одна из моих любимых головокружений - разговоры о том, что «наука о данных что-то революционизирует», но они очень расплывчаты. Мне нужна информация, которую я действительно могу подать! Если вы построили модель, которая выполняет X, поговорите о том, почему X важен, как вы построили модель, что отличает вашу модель от других моделей и как она работает в различных ситуациях. Расскажите мне, что конкретно вы сделали, что не сработало, чтобы я знал, что не стоит пробовать. Подумайте, что вы хотели узнать о том, о чем вы говорили год назад, а затем расскажите мне об этом.

Саньям Бутани: Как последователь ваших ядер, я знаю, что вы являетесь экспертом как в R, так и в Python, вы также были инструктором R во время своих Мастеров.
Что касается бесконечного вопроса, который задают новички, не могли бы вы высказать свое мнение по вопросу - «Должен ли я начать с практики R или Python? Почему?"

Доктор Рэйчел Татман: Это зависит от обстоятельств. Я бы сказал R, если вы хотите анализировать данные, как будто вы ищете что-то для использования вместо Excel. R создан для этого, и он очень высокого уровня, поэтому начать работу можно очень быстро; для построения фрейма данных в R все, что вам нужно сделать, это вызвать «plot (datafame)», и он автоматически сгенерирует разумный график на основе данных. Вам даже не нужно читать в библиотеке! Чтобы достичь этого в Python, вам нужно проделать намного больше работы.

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

Саньям Бутани: Учитывая стремительный рост машинного обучения, как вы остаетесь в курсе последних событий?

Доктор Рэйчел Татман: Твиттер! Мне особенно полезно следить за хэштегами конференций и живыми сообщениями в Твиттере, поскольку конференции являются наиболее престижным местом для публикации исследований в области машинного обучения. Я также стараюсь следить за людьми из самых разных сфер и профессий, поэтому я получаю довольно разнообразную выборку того, что людям интересно.

Я перестал пытаться следовать arXiv некоторое время назад после того, как вышла эта ужасная статья о предсказании того, насколько «преступными» люди были по их лицам. Поскольку нет рецензирования, вы действительно не можете доверять качеству статей, даже если иногда есть интересные работы. Думаю, если будет опубликовано что-то действительно удивительное, я обязательно узнаю об этом в Твиттере.

Саньям Бутани: Какие разработки в этой области вы считаете наиболее захватывающими?

Доктор Рэйчел Татман: Ооо, хороший вопрос. Я думаю, что статьи, которые меня больше всего волнуют, - это те, которые предлагают теоретические объяснения того, почему определенные архитектуры моделей лучше работают для определенных проблем. Эмпирические результаты, такие как «мы попробовали x, и он работал лучше, чем y», великолепны, но я хочу узнать больше о почему x и y работают по-разному.

Саньям Бутани: Что вы думаете о машинном обучении как области, считаете ли вы его чрезмерно раздутым?

Доктор Рэйчел Татман: Ага. Больше всего меня беспокоит эта шумиха, это то, что я думаю, что она приводит к тому, что люди не имеют реалистичного понимания того, как и когда системы машинного обучения дают сбой и каковы их ограничения. Например, кто-то, кто только изучает ИИ, может прочитать о системе, которая может идентифицировать автомобили, и предположить, основываясь на собственном опыте обучения распознаванию автомобилей, что система обладает пониманием качеств, которые делают что-то автомобилем, например, наличие четырех колес. , двигатель и рулевое колесо. Это может привести их к предположению, что система может распознать машину, даже если она, скажем, перевернута или сделана до 1930 года. Но, если подобные изображения не были включены в ее обучающие данные, вероятно, этого не произойдет. Меня беспокоит, что это непонимание приведет к тому, что люди будут чрезмерно полагаться на системы машинного обучения с системными недостатками, потому что они слышали, что это очень точно. (Я считаю, что Линда Скитка называет это «предвзятостью к автоматизации». Она провела ряд исследований, показывающих, что, когда доступна автоматическая система, люди склонны полагаться на нее даже в тех ситуациях, когда им не следует этого делать.)

Саньям Бутани: Прежде чем мы закончим, какие-нибудь советы для новичков, которые стремятся стать специалистами по данным и Kagglers, но чувствуют себя совершенно подавленными, чтобы даже начать соревноваться?

Доктор Рэйчел Татман: Празднуйте неудачу! Если у вас что-то не получается, это потому, что вы заставляете себя расти, и это замечательно. Если вы попробуете что-то, но это не сработает, вы просто приблизитесь к выяснению того, что будет работать, будь то выбор лучшей архитектуры модели или просто выяснение того, как передать это сообщение об ошибке перестань появляться.

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

Саньям Бутани: Большое спасибо за интервью.

Если вам это показалось интересным и вы хотели бы стать частью Моего пути обучения, вы можете найти меня в Twitter здесь.

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