Если вы изучаете искусственный интеллект, добавьте их к своим навыкам.

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

Разреженность

Для начала я хочу познакомить вас с Разреженностью. Это революционная идея, когда речь идет об обучении нейронных сетей. Традиционный метод обучения нейронных сетей до сих пор работал очень хорошо, но у него есть огромный недостаток: добавление дополнительных параметров увеличивает затраты на обучение в геометрической прогрессии. Жаль, потому что добавление большего количества параметров также действительно улучшает возможности вашей модели (взгляните на большие модели, выходящие в эти дни). Итак, что мы можем сделать по этому поводу? Использование таких методов, как разбиение на фрагменты/различные размеры пакетов (это может быть очень эффективным)/распараллеливание могут ускорить процесс, но вы не покроете основные затраты.

В этом вам очень помогает Sparsity. Разреженность предполагает использование только определенных частей нейронной сети для определенных входных данных. Мы можем обучить огромную нейронную сеть для выполнения нескольких типов задач, но во время вывода будет использоваться только небольшая часть нейронной сети. Это делает ваши эксплуатационные расходы намного ниже, чем в противном случае. Google довольно активно реализовал Sparsity в своей новаторской архитектуре Pathways, которую они используют для создания всех своих LLM (и достижения AGI).

Например, GShard и Switch Transformer — две из самых больших моделей машинного обучения, которые мы когда-либо создавали, но, поскольку обе используют разреженную активацию, они потребляют менее 1/10 от общего объема ресурсов. энергии, чего можно было бы ожидать от плотных моделей аналогичного размера, и при этом столь же точных, как и плотные модели.

Подробнее здесь

Разреженность может быть реализована различными способами. Ниже представлено видео, которое я сделал на тему SWAT-тренировка активации с разреженным весом. Это был мой любимый способ. Алгоритм смог сократить затраты на обучение в 8 раз, сохранив при этом производительность практически неизменной. Чтобы узнать больше, посмотрите видео ниже.

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

Активное изучение

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

В двух словах, активное обучение включает в себя обучение вашей модели только с полезными примерами. Любой, кто знаком с Deep Learning, сразу поймет, почему это огромное преимущество. При обучении с использованием большинства больших наборов данных возникает много избыточных выборок. Эти избыточные образцы увеличивают затраты на обучение, но никак не влияют на производительность модели. Meta AI недавно выпустила фантастическую статью, в которой подробно описывается возможный подход к активному обучению, в котором реализован надежный протокол самоконтроля для разумного выбора образцов. Их подход разумен, интуитивно понятен и экономичен (я знаю, это шокирует). Чтобы узнать больше, прочитайте статью ниже.



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

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

Ансамбли

Обучение ансамблю является основным из основных. Одна из первых вещей, которым люди учатся. К сожалению, люди забывают об ансамблях по мере продвижения вперед. Я работал со многими командами машинного обучения над улучшением производительности. Шокирующее количество из них никогда не использовали ансамбли. В поисках «лучшей модели» они избегают использования многих хороших моделей. И когда они это делали, они почти всегда получали выгоду.

Чем же так прекрасны ансамбли? Проще говоря, они могут исследовать более «разнообразные точки зрения» (большее пространство поиска). Разные модели имеют разные предубеждения и разные сильные стороны. Их сочетание позволяет скрыть их недостатки. Это было показано эмпирически в следующей статье.



А теперь помните систему активного обучения, которую я вам обещал? Вот. Для нашей сети мы используем разнообразный ансамбль учащихся. Если прогнозы, сделанные всеми учащимися, сильно различаются, то вы знаете, что ваша общая модель не уверена в модели, и вам следует взглянуть на этот конкретный образец. Этот образец будет «информативным». Если ваша сеть не отклоняется в своих прогнозах, то вы знаете, что этот образец не будет очень полезным для добавления в ваш корпус. Вероятностные модели также работают для этого подхода.

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

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

Я так горжусь тобой за то, что ты так думаешь. Вы на правильном пути, mon ami. Хотя добавление большего количества моделей делает вещи более дорогими, добавление еще одной модели увеличивает время выполнения только линейно. Однако добавление большего количества параметров в вашу модель увеличивает время выполнения в геометрической прогрессии (вашим алгоритмам приходится отступать от других комбинаций). Разнообразный ансамбль небольших учащихся может быть дешевле, чем большая сеть, но при этом быть более надежным, иметь лучшую производительность и лучше обобщать.

Если вы хотите заняться машинным обучением, в этой статье вы найдете пошаговый план развития навыков машинного обучения. Он использует БЕСПЛАТНЫЕ ресурсы. Для достижения наилучших результатов объедините это с моим информационным бюллетенем Tech Made Simple. Дополнительная информация ниже.

Для машинного обучения крайне важна база в области разработки программного обеспечения, математики и компьютерных наук. Это поможет вам концептуализировать, построить и оптимизировать машинное обучение. Мой ежедневный информационный бюллетень Простые технологии охватывает темы проектирования алгоритмов, математики, последних событий в области технологий, разработки программного обеспечения и многого другого, чтобы помочь вам стать лучшим разработчиком. Сейчас действует скидка 20 % на ЦЕЛЫЙ ГОД, так что не забудьте проверить ее.

Я создал Упрощенную технологию, используя новые методы, полученные в результате обучения нескольких людей в ведущих технологических компаниях. Информационный бюллетень предназначен для того, чтобы помочь вам добиться успеха, избавив вас от часов, потраченных впустую на работу с Leetcode. У меня есть политика 100% удовлетворения, поэтому вы можете попробовать ее без риска для себя. Вы можете прочитать FAQ и узнать больше здесь

Не стесняйтесь обращаться, если у вас есть какие-либо интересные работы/проекты/идеи для меня. Всегда рад вас выслушать.

Свяжитесь со мной

Воспользуйтесь ссылками ниже, чтобы ознакомиться с другим моим контентом, узнать больше о репетиторстве или просто поздороваться. Кроме того, ознакомьтесь с бесплатной реферальной ссылкой Robinhood. Мы оба получаем свободный сток (денег вкладывать не надо), и никакого риска для вас нет. Таким образом, если вы не используете его, вы просто потеряете бесплатные деньги.

Чтобы помочь мне понять вас, заполните этот опрос (анонимно)

Ознакомьтесь с другими моими статьями на Medium. : https://rb.gy/zn1aiu

Мой Ютуб: https://rb.gy/88iwdd

Свяжитесь со мной в LinkedIn. Подключаемся: https://rb.gy/m5ok2y

Мой Инстаграм: https://rb.gy/gmvuy9

Мой Твиттер: https://twitter.com/Machine01776819

Если вы хотите построить карьеру в сфере технологий: https://codinginterviewsmadesimple.substack.com/

Получите бесплатный сток на Robinhood: https://join.robinhood.com/fnud75