Какие модели есть в ml

от admin

Зоопарк ML-моделей или лучший справочник на Хабре

Меня зовут Ирина, я работаю ML инженером в Brand Analytics. Моя работа тесно связана с NLP, ведь мы ежедневно получаем огромное количество текстовых данных со всего интернета. Сегодня я хочу поговорить о теме, которая беспокоила меня еще с тех времен, когда я только начала изучать SOTA-решения в задачах обработки естественного языка.

Transformer, BERT, GPT, Т5… Наверное, уже нет ML разработчика, который хоть отдаленно не был бы знаком с этими моделями. В сети о них написано множество статей: архитектуры подробно разобраны, рассмотрены принципы обучения, приведены способы применения к разным типам задач. Бери и используй, что еще нужно. Только вот, когда начинаешь выбирать модель, которая бы идеально подошла для решения твоей задачи, глаза разбегаются от всего этого многообразия. А ведь сфера ML не стоит на месте, и каждый год появляется что-то новое.

Так как же не потеряться во всем этом? Правильно. Зоопарк моделей 2022. Когда-то статья 2016 года помогла мне разобраться в основных типах нейронных сетей, поэтому сейчас я предлагаю вместе собрать удобный справочник, где будут кратко описаны современные модели. Как для начинающих ребят, так и для опытных специалистов.

Здесь не будет большого количества текста, долгих объяснений и сложной математики (если очень хочется, оставлю ссылочки:)). Этот справочник будет собираться постепенно, и начать я хочу с моделей на основе архитектуры Transformer.

Сегодня поговорим о тех самых SOTA-решениях. Transformer – настоящая революция, которая позволила вывести обработку естественного языка на новый уровень. А формула довольно проста: хорошо масштабируемая модель + очень много данных = потрясающий результат. Трансформер был представлен в 2017 году в статье Attention is all you need. Здесь название говорит само за себя, основа архитектуры – механизм внимания. Говоря кратко, трансформер состоит из стека энкодеров, в каждом из которых есть слой Self-Attention, а за ним просто сеть прямого распространения, и стека декодеров, в которых дополнительно добавлен блок Encoder-Decoder Attention, который смотрит на результаты кодировщика.

Схема из оригинальной статьи (https://arxiv.org/abs/1706.03762)

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

Text-to-Text Transfer Transformer

Прежде всего мне хочется поговорить о T5. T5 (Text-to-Text Transfer Transformer) – модель, которая призвана объединить все задачи NLP в формат преобразования текста в текст, то есть модель должна распознавать задачу, а выходные данные представляют собой просто “текстовую” версию ожидаемого результата. Для этого к исходным входным данным, которые подаются в модель, добавляется текстовый префикс для конкретной задачи. Этот текстовый префикс также рассматривается как гиперпараметр.

Пример использования фреймворка (https://arxiv.org/abs/1910.10683v3)

Пример использования фреймворка (https://arxiv.org/abs/1910.10683v3)

Архитектура представляет собой Encoder-Decoder Transformer с некоторыми изменениями в слоях нормализации и позиционных эмбеддингах, подробно об этом лучше всего почитать в оригинальной работе или в следующей нашей статье. Тренировалась модель на датасете C4 (Colossal Clean Crawled Corpus), он представляет собой очищенную версию набора данных Common Crawl. Т5 учится предсказывать маскированные токены, как и BERT, только здесь на токен [MASK] заменяются несколько последовательных токенов.

(https://arxiv.org/abs/1910.10683v3)

(https://arxiv.org/abs/1910.10683v3)

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

BART – модель, которая стала одним из SOTA решений для задач суммаизации текстов. Архитектура представляет собой двунаправленный (BERT-подобный) кодировщик и авторегрессионный (GPT-подобный) декодер, которые объединены с помощью кросс-внимания, где каждый слой декодера смотрит на итоговое скрытое состояние из выхода энкодера.

Схема модели из оригинальной статьи (https://arxiv.org/abs/1910.13461)

Схема модели из оригинальной статьи (https://arxiv.org/abs/1910.13461)

На Hugging Face есть большое количество вариаций BART разных размеров, с настройками под конкретные задачи и разные языки.

PEGASUS

PEGASUS — современная модель для обобщения абстрактного текста. Основана на модели Transformer с энкодером и декодером. В модели объединены два подхода: Gap Sentence Generation (GSG) и Masked Language Model (MLM). Если говорить кратко: изначально есть три предложения. В GSG одно предложение замаскировано с помощью [MASK1] и используется в качестве целевого текста генерации (GSG). Два других предложения остаются во входных данных, но некоторое количество слов из последовательности случайным образом маскируются [MASK2], и модель обучается предсказывать эти замаскированные слова. Таким образом, модель выучивается одновременно предсказывать замаскированные случайные токены и предложение.

Схема модели из оригинальной статьи (https://arxiv.org/abs/1912.08777)

Схема модели из оригинальной статьи (https://arxiv.org/abs/1912.08777)

PEGASUS способен обходить ранние SOTA решения на задачах суммаризации даже при небольших наборах данных. Главная проблема в применении этой модели – она пока не адаптирована под разные языки. Если же вам нужно работать с английскими текстами – PEGASUS может очень выручить.

Вот и первые представители нашего Зоопарка ML-моделей. Конечно, это лишь капля в море современных моделей, поэтому давайте собирать и структурировать все вместе. Можно подумать, что это невозможно с такими темпами развития ML, но почему бы не попробовать?

Хабровцы, в комментариях предлагайте, какие модели разберем в следующих статьях. Ссылки и всевозможные пояснялки будут только плюсом – добавим в описание. Жду ваши идеи, обсудим?)

Модели машинного обучения: объясняем пятилетнему ребенку

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

Если вы новичок в data science, заголовок не был направлен на то, чтобы вас обидеть. Это мой второй пост на тему популярного вопроса на интервью, который звучит примерно так: «объясните мне [вставить техническую тему], как вы бы объяснили пятилетнему ребенку.»

Выходит, достичь уровня понимания пятилетнего ребенка довольно сложно. Так что, хоть эта статья может быть не совсем ясна детсадовцу, она будет понятна тому, кто практически не имеет опыта в data science (и если вы поймете, что это не так, пожалуйста, напишите об этом в комментариях).

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

Illustration of Machine Learning

Машинное обучение – это когда вы загружаете большое количество данных в компьютерную программу и выбираете модель, которая «подгонит» эти данные так, чтобы компьютер (без вашей помощи) мог придумывать прогнозы. Компьютер строит модели, используя алгоритмы, которые варьируются от простых уравнений (например, уравнение прямой) до очень сложных систем логики/математики, которые позволяют компьютеру сделать самые лучшие прогнозы.

Название – машинное обучение — очень удачное, потому что как только вы выбираете модель, которую будете использовать и настраивать (другими словами, улучшать с помощью корректировок), машина будет пользоваться моделью для изучения закономерностей в ваших данных. Затем вы можете добавить новые условия (наблюдения) и она предскажет результат!

Обучение с учителем — это тип машинного обучения, в котором данные, которые вы засовываете в модель «помечаются». Пометка просто означает, что результат наблюдения (то есть ряд данных) известен. Например, если ваша модель пытается предсказать пойдут ли ваши друзья играть в гольф или нет, у вас могут быть такие переменные, как погода, день недели и так далее. Если ваши данные помечены, то ваша переменная будет иметь значение 1, в том случае если ваши друзья пошли играть в гольф, и значение 0, если они не пошли.

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

[Требуется присутствие взрослых]

Логистическая регрессия используется для решения проблемы классификации. Это значит, что ваша целевая переменная (та которую вы хотите предсказать) состоит из категорий. Эти категории могут быть да/нет, или что-то вроде числа от 1 до 10, которое обозначает удовлетворенность клиента. Модель логистической регрессии использует уравнение, чтобы создать кривую с вашими данными, а затем использует эту кривую, чтобы спрогнозировать результаты нового наблюдения.

На графике выше, новое наблюдение получило бы в прогнозе 0, потому что оно попадает на левую часть кривой. Если посмотреть на данные, по которым построена кривая, это логично, потому что в области графика «прогнозируемое значение 0» большинство точек по оси y имеют значение 0.

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

Линейная Регрессия чем-то напоминает логистическую регрессию, но используется, когда целевая переменная – непрерывная, а это значит, что она может принимать практически любое числовое значение. На самом деле, любая модель с непрерывной целевой переменной может быть классифицирована как «регрессия». Примером непрерывной переменной может служить цена продажи дома.

Линейная регрессия хорошо интерпретируется. Уравнение модели содержит коэффициенты для каждой переменной, и эти коэффициенты показывают, насколько сильно меняется целевая переменная при малейшем изменении независимой переменной (х-переменной). Если показывать это на примере цен на продажу дома, это означает, что вы могли бы посмотреть на уравнение регрессии и сказать что-то типа «о, это говорит мне о том, что за каждый дополнительный 1м2 от размера дома (х-переменная), цена продажи (целевая переменная) увеличивается на $25.»

Эта модель может быть использована для классификации или для регрессии. Название — «К Ближайших Соседей» не должно сбить вас с толку. Для начала модель выводит все данные на график. Часть «К» в названии относится к числу ближайших соседних точек данных, на которые модель смотрит, чтобы определить каким должно быть прогнозное значение (см. иллюстрацию ниже). Вы, как будущий data science специалист, выбираете значение K и можете поиграть с ним, чтобы увидеть, какое из значений дает лучшие прогнозы.

Читать:
Что такое масса в автомобиле

Все точки данных, находящиеся в круге K=__, получают “голос » относительно того, каким должно быть значение целевой переменной для этой новой точки данных. Значение, которое получает большинство голосов – это значение, которое KNN прогнозирует для новой точки данных. В иллюстрации выше, 2 ближайших соседей – class 1, в то время как 1 соседей – class 2. Таким образом, модель бы спрогнозировала class 1 для этой точки данных. Если модель предсказывает числовое значение, а не категорию, то все «голоса» — числовые значения, которые усредняются, чтобы получить прогноз.

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

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

Я объясняю эту модель на примере классификации, но вы также можете ее использовать для регрессии!

Про это я уже рассказывала в предыдущей статья, вы можете найти ее здесь (Деревья Решений и Случайные Леса ближе к концу):

[Читайте с осторожностью]

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

Когда вы используете K кластеризацию, вы должны начать с предположения, что в вашем датасете присутствует K кластеров. Поскольку вы не знаете, сколько групп на самом деле в ваших данных, вы должны попробовать различные значения K и с помощью визуализации и метрик понять, какое значение K подходит. Метод K средних лучше всего работает с круговыми кластерами одинаковых размеров.

Этот алгоритм сначала выбирает лучшие точки данных K, чтобы сформировать центр каждого K кластера. Затем, он повторяет 2 следующих шага для каждой точки:

1. Присваивает точку данных ближайшему центру кластера

2. Создает новый центр, взяв среднее значение всех точек данных из этого кластера

Mercedes-Benz M-klasse

В начале 1990-х, когда руководство компании Mercedes-Benz разработало план по обновлению своего модельного ряда, и замене, в частности, модели G-Class, на более современный автомобиль. Одним из пунктов этого глобального плана, который касался непосредственно внедорожника, было возможное сотрудничество с компанией Mitsubishi. Японцы должны были предоставить платформу (предполагалось, что это будет платформа Montero/Pajero), а немцы обязались разработать дизайн и силовые агрегаты для новой модели, чтобы впоследствии продавать этот автомобиль на разных рынках под разными бейджами. Но сотрудничество между компаниями по ряду причин не заладилось, и немцы сосредоточились на собственных разработках облика новой модели.

Так как этот автомобиль предполагался, в основном для продажи на североамериканских рынках, руководство Mercedes-Benz решило инвестировать в строительство завода в США. Параллельно со строительством этого предприятия шло испытание прототипов нового внедорожника, дизайн для которого разрабатывали Майкл Мауэр и Бруно Сакко. В 1996 году завод в Алабаме был полностью готов к производству новых моделей, первой из которых стал M-Class. Произошло это событие в феврале 1997 года.

mercedes-benz m-klasse 1997

Новинка представляла собой среднеразмерный кроссовер с рамной конструкцией кузова и пассажировместимостью на пять и семь человек. M-Class (W163) стал первым автомобилем в своей нише, который имел устанавливаемую серийно прогрессивную систему динамической стабилизации.

mercedes-benz_ml230_1997.jpg

О популярности этой модели может говорить тот факт, что именно первое поколение M-Class было выбрано Ватиканом в качестве автомобиля для Папы Римского Бенедикта XVI.

Базово модель оснащалась 2.3 литровым бензиновым мотором, а остальные бензиновые двигатели предлагались объемом 3.2, 4.3 и 5.4 литра. Также модель комплектовалась дизельными агрегатами объемом 2.7 и 4.0 литра с турбонаддувом. Агрегатировались моторы с 5-ступенчатой механической или 5-ступенчатой автоматической КПП.

mercedes-benz m-klasse 1998

В 1999 году Mercedes-Benz начал производство M-Class для европейского рынка на заводе своего партнера – австрийской компании Magna Steyr. А спустя два года модель пережила рестайлинг.

mercedes-benz ml270 cdi 2001

Изменения коснулись как экстерьера и интерьера автомобиля, так и его технической «начинки». Так, вместо 4.3 литрового бензинового мотора на авто стали устанавливать совершенно новый двигатель объемом 5.0 литра. Также были модернизированы уже имевшиеся двигатели.

Второе поколение автомобиля (W164), разработка которого началась еще в 1999 году, было презентовано в 2005 году на Детройтском автосалоне. Помимо современного дизайна экстерьера и интерьера, над которым трудились кузовные кутюрье Стив Мэттин и Питер Пфайфер, автомобиль обрел совершенно иную конструкцию кузова – вместо рамной она стала несущей.

mercedes-benz ml500 2005

Модель солидно прибавила в габаритах, приобрела более обтекаемую форму кузова (коэффициент аэродинамического сопротивления был снижен до 0.34).

В 2006 году компания представила лимитированную AMG-версию M-Class — ML 63 AMG. Оснащался автомобиль широкой линейкой бензиновых двигателей объемом 3.5, 4.6, 5.0 и 5.5 литра, а также 6.2 литровым агрегатом, который устанавливался на ML 63 AMG. Также модель оборудовалась двумя дизельными моторами объемом 3.0 и 4.0 литра. Все моторы агрегатировались с 7-ступенчатой автоматической трансмиссией – от «механики» компания решила отказаться вовсе.

В 2008 году на автосалоне в Нью-Йорке компания представила фейслифтовую версию кроссовера. Кроме косметических изменений во внешнем облике и салоне автомобиль получил новые дизельные моторы с инновационной технологией Bluetec.

mercedes-benz ml 320 bluetec 2008

А годом позже была представлен гибридная версия кроссовера ML 450 Hybrid, которая оснащалась 3.5 литровым двигателем, который работал в паре с двумя компактными электромоторами. Совокупная мощность этой силовой установки составляет 340 лошадиных сил, а агрегатируется она с бесступенчатым вариатором.

Третье, и последнее на сегодня поколение этого среднеразмерного кроссовера в кузове W166 было презентовано летом 2011 года, а разработка новой генерации началась еще в 2006 году – через год после запуска в производство M-Class второго поколения.

mercedes-benz ml350 blueefficiency 2011

Компания прекратила выпуск модели в Граце (Австрия), полностью перенеся производство на американский континент. Сегодня M-Class W166 выпускают в Алабаме (США) и Толуке (Мексика).

Руководители и ведущие дизайнеры компании, которые немало потрудились над созданием нового облика M-Class, заявляют, что модель третьего поколения совершила прыжок из «эконом» в бизнес-класс, намекая, что некоторые элементы экстерьера были позаимствованы у E-Class. Автомобиль обрел новую, чуть более широкую решетку радиатора с тремя хромированными «лезвиями», на каждом из которых есть стилистические «зазубрины».

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

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

Колесная база третьей генерации M-Class выросла, по сравнению с таковой у предыдущего поколения, на 2 мм (до 2915 мм). При этом длина и ширина кузова увеличились на 16 мм (до 4804 и 1926 мм соответственно), а высота уменьшилась на 19 мм (до 1796 мм).

Если «внешность» модели, по заверениям дизайнеров Mercedes-Benz, перекликалась с таковой у E-Class, то салон кроссовера было решено сделать более люксовым, в стилистике S-Class. В первую очередь это сказалось в использовании материалов отделки интерьера и обивки кресел высочайшего качества, а также – в применении целого ряда вспомогательных систем (как в сфере безопасности, так и развлечений).

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

Преобразилось рулевое колесо, которое обзавелось новой шестиугольной ступицей. Иной стала компоновка центральной консоли, которая теперь имеет V-образную, а не прямоугольную как у предыдущего поколения, форму. Экран мультимедийной системы COMAND переместился в ее верхнюю часть, теперь его с обоих боков окружают центральные воздуховоды. Под ним в два яруса расположены блок кнопок мультимедийной системы, органы управления климат-контролем. На центральном туннеле появились новые джойстики управления мультимедийной системой и пневмоподвеской AirMatic. Из-за этого дизайнерам пришлось изменить форму центрального подлокотника, который теперь состоит из двух частей (водительская длиннее, чем пассажирская).

Установили в салон автомобиля новые передние кресла с широкими подушками и спинками, у которых появилась более выраженная боковая и поясничная поддержка.

Задний ряд сидений стилистически и функционально поделен на два полноценных посадочных места, между которыми находится узкое сидение с откидывающимся из «спинки» подлокотником. Для моделей с опциональным третьим рядом сидений, второй ряд оборудуется системой трансформации EasyEntry, благодаря которой значительно облегчается доступ к третьему ряду.

Технические характеристики

Автомобиль оснащается двумя бензиновыми и двумя дизельными моторами. В стандартной версии модель оборудуется двигателем ML350 (объем 3.5 литра, мощность 306 л.с.), более дорогие комплектации имеют мотор ML500 (объем 4.7 литра, мощность 408 л.с.). В версии AMG – два бензиновых мотора (ML 63 AMG и ML 63 AMG Performance Pack) объемом 5.5 литра, которые выдают мощность в 525 и 557 «лошадок» соответственно. Также можедль оснащается двумя дизельными агрегатами ML250 BlueTec (объем 2.2 литра, мощность 204 л.с.) и ML350 BlueTec (объем 3.0 литра, мощность 258 л.с.). Все моторы работают в паре с 7-ступенчатой автоматической КПП (версии ML 63 AMG и ML 63 AMG Performance Pack — AMG SPEEDSHIFT PLUS 7G-TRONIC). Привод автомобиля – полный.

mercedes-benz ml 350 2012

I (W163) 1997 – 2001

Внедорожник 5 дв.

Доступ к сервису временно запрещён

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

Что мне делать?

Напишите в службу поддержки через форму обратной связи.
Подробно опишите ситуацию — поможем разобраться, что случилось, и подскажем, как действовать дальше.

Похожие публикации