Pull to refresh
92
0
Лаида Кушнарева @tech_priestess

Machine Learning Researcher

Send message

Дополню, что головы внимания, которые додумывают окончания слов/словосочетаний, повторяя некоторые части уже показанного текста ("ley" после "Durs") часто встречаются в литературе по interpretability под названием Induction Heads. Лучше всего понять, как они функционируют, можно, поиграв с ними в этом колабе - https://colab.research.google.com/drive/1gZdHsBL8Ljq7nSWJtxxlsI4JWHmllxxP?usp=sharing (он же встречается в туторе, на который stalkermustang выложил ссылку в предыдущей ветке).
Ну и почитав в статье, если захочется углубиться поподробнее: https://arxiv.org/abs/2209.11895

Вот, а мне было бы интересно, где для решения прикладной задачи пригождается именно TwoNN.

А, так я одна из авторов этой статьи. Приятно слышать, что вам понравилось)
В самом деле, TwoNN не очень хорошо работал в контексте той статьи, поэтому мы в итоге от него отказались и в конце остановились на PH-dimension (альтернативно MLE тоже работал в том контексте, но несколько хуже).

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

Другое дело, что приведенный в колабе наивный алгоритм, конечно, очень вычислительно неэффективен для шаров большой размерности. Автор приведенной статьи критикует именно этот аспект и этим мотивирует необходимость вводить rejection-free способ.

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

Поправила значки логарифма и мат.ожидания

На самом деле, придумали очень много вариантов, а используют всего несколько. Я собираюсь написать про те, про которые мне известно, что их кто-то использует)

Действительно, по умолчанию в sklearn включается быстрая модификация t-SNE ("barnes_hut"), которая работает только для маленького количества измерений. Однако, можно заменить её на стандартную и получить сколько угодно измерений на выходе, если сменить параметр method на "exact", в духе

big_TSNE = TSNE(

        n_components=10,

        method="exact"

    )

Прикольно, не знала о таком способе

Спасибо за ответ и интерес! К сожалению, не встречала курса по ML в таком формате. Создание такого курса требовало бы много усилий и креативности от создателей.
Под "обучением с нуля" в статье действительно имеется в виду, что возможно обучение с нуля, но понятное дело, что при этом потребуется много усилий и времени.
Чтобы стало чуть более понятно, зачем нужны векторы или мат.анализ, можно забежать немного вперед и посмотреть, например, плейлист 3blue1brown с объяснениями того, что такое нейросети: https://www.youtube.com/watch?v=aircAruvnKk&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi&ab_channel=3Blue1Brown .
Также можно пробовать забежать еще вперед и попробовать посмотреть лекции и порешать задачи из DL School https://stepik.org/course/124070 - фокус этого курса идет именно на прикладные задачи в Deep Learning. Но без математики быстро станет слишком сложно, и придется опять вернуться к векторам.

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

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

- Deep Learning, DL - все, что связано с глубокими нейросетями;
- Machine Learning, ML - все, что связано в принципе с самообучающимися алгоритмами, включая нейросети, но не ограничиваясь ими;
- Для того, чтобы выделить в отдельный класс именно "неглубокие" самообучающиеся алгоритмы - т.е. чтобы назвать отдельным словом ML без DL, иногда используется отдельный термин вроде "Классический ML" (также "shallow ML", "shallow learning" и тому подобное).

Все вышесказанное также в общих чертах написано в статье, в начале раздела "2. Классическое машинное обучение".

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

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

За ссылку спасибо!

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

Первое ваше замечание верное. В конце статьи (то есть, в послесловии) я написала о том, что освоение материалов, рекомендованных в статье, займет в реальности довольно много времени и халявы тут лучше не ждать. По одной легенде, ещё Евклид говорил, что в геометрии нет царских путей, в данной ситуации это тоже применимо. :)

Про разные "нули" в конце статьи тоже упомянуто.

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

Насколько я смогла понять из предисловия, основной текст книги был написан даже не в 2006, а в 1998 году, а в 2006 она только докатилась до России. Соответственно, и по содержанию книга выглядит на данный момент серьезно устаревшей. Может быть, она может быть полезной в каком-то очень специфическом случае, но новичкам я бы посоветовала почитать что-то посовременнее.

Картинка взята из доклада, который можно посмотреть по ссылке в описании картинки. Автор доклада действительно имел в виду девопса как часть команд, которые работают с данными и алгоритмами машинного обучения. Я бы это назвала, скорее, MLOps, но не стала портить картинку своим исправлением. Ну, а Data scientist в его терминологии - это зонтичный термин, под который попадают все специализации на картинке. Доклад очень хороший, советую посмотреть (добавлю эти слова к описанию рис. 1)

Спасибо за рассказ! А обучение нейронным сетям вы забросили или нашли другой, хороший курс, лекции или книгу, по которым продолжили учиться?

1

Information

Rating
Does not participate
Registered
Activity

Specialization

Data Scientist, Machine Learning Engineer
Research work
Machine learning
Natural language processing
Python
C++