Connect with us

Лучшее

10 Лучших Алгоритмов Машинного Обучения

mm

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

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

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

1: Трансформеры

В 2017 году исследователи Google возглавили исследовательское сотрудничество, которое завершилось публикацией статьи Attention Is All You Need. Работа описала новую архитектуру, которая продвигала механизмы внимания из ‘трубопроводов’ в модели encoder/decoder и рекуррентных сетей к центральной трансформационной технологии в своем праве.

Подход был назван Трансформер, и с тех пор стал революционной методологией в области обработки естественного языка (NLP), обеспечивая, среди многих других примеров, автoregressивную языковую модель и постер-child ИИ GPT-3.

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

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

Популярное Использование

Трансформеры захватили общественное воображение в 2020 году с выпуском GPT-3 от OpenAI, который хвастался тогда рекордными 175 миллиардами параметров. Это, казалось бы, ошеломляющее достижение было в конечном итоге затенено последующими проектами, такими как выпуск в 2021 году Megatron-Turing NLG 530B от Microsoft, который (как следует из названия) имеет более 530 миллиардов параметров.

Хронология гипермасштабных проектов NLP на основе Трансформера. Источник: Microsoft

Хронология гипермасштабных проектов NLP на основе Трансформера. Источник: Microsoft

Архитектура Трансформера также перешла из NLP в компьютерное зрение, обеспечивая новое поколение фреймворков синтеза изображений, таких как CLIP и DALL-E от OpenAI, которые используют текст-изображение для сопоставления доменов для завершения неполных изображений и синтеза новых изображений из обученных доменов, среди растущего числа связанных приложений.

DALL-E пытается завершить частичное изображение бюста Платона. Источник: https://openai.com/blog/dall-e/

DALL-E пытается завершить частичное изображение бюста Платона. Источник: https://openai.com/blog/dall-e/

2: Генеративные Соперничающие Сети (GAN)

Хотя трансформеры получили необычайное освещение в СМИ благодаря выпуску и принятию GPT-3, Генеративная Соперничающая Сеть (GAN) стала узнаваемым брендом в своем праве и может в конечном итоге присоединиться к deepfake как глагол.

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

Источник: https://developers.google.com/machine-learning/gan/gan_structure

Источник: https://developers.google.com/machine-learning/gan/gan_structure

Это заставляет Генератор исследовать множество путей, вместо того, чтобы следовать потенциальным тупикам, которые бы возникли, если бы Дискриминатор сказал ему, где он ошибся (см. #8 ниже). К моменту окончания обучения Генератор имеет подробную и всестороннюю карту отношений между точками в наборе данных.

Отрывок из видео исследователей (см. встроенный в конце статьи). Обратите внимание, что пользователь манипулирует преобразованиями с помощью 'grab' курсора (вверху слева). Источник: https://www.youtube.com/watch?v=k7sG4XY5rIc

Из статьи Улучшение равновесия GAN путем повышения пространственной осведомленности: новая структура проходит через иногда загадочное латентное пространство GAN, обеспечивая отзывчивую инструментальность для архитектуры синтеза изображений. Источник: https://genforce.github.io/eqgan/

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

Результатом является высокоуровневый набор функций в латентном пространстве обученной модели. Семантический индикатор для высокой функции может быть ‘человек’, в то время как спуск по специфике, связанной с функцией, может обнаружить другие изученные характеристики, такие как ‘мужчина’ и ‘женщина’. На более низких уровнях подфункции могут разбиться на ‘блондинка’, ‘каucasian’, и т. д.

Переплетение является заметной проблемой в латентном пространстве GAN и фреймворков encoder/decoder: является ли улыбка на GAN-генерируемом женском лице переплетенной функцией ее ‘идентичности’ в латентном пространстве или это параллельная ветвь?

GAN-генерируемые лица из thispersondoesnotexist. Источник: https://this-person-does-not-exist.com/en

GAN-генерируемые лица из thispersondoesnotexist. Источник: https://this-person-does-not-exist.com/en

За последние пару лет появилось растущее число новых исследовательских инициатив в этом отношении, возможно, открывая путь к редактированию на уровне функций, подобному Photoshop, для латентного пространства GAN, но на данный момент многие преобразования эффективно ‘все или ничего’ пакеты. Заметно, что выпуск EditGAN от NVIDIA в конце 2021 года достигает высокого уровня интерпретируемости в латентном пространстве, используя семантические сегментационные маски.

Популярное Использование

Помимо их (на самом деле довольно ограниченного) участия в популярных видео deepfake, изображение/видео-ориентированные GAN распространились за последние четыре года, завораживая исследователей и общественность. Следить за ошеломляющей скоростью и частотой новых выпусков – это вызов, хотя репозиторий GitHub Awesome GAN Applications стремится предоставить всесторонний список.

Генеративные Соперничающие Сети могут теоретически выводить функции из любого хорошо сформированного домена, включая текст.

3: SVM

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

Опорные векторы определяют границы между группами. Источник: https://www.kdnuggets.com/2016/07/support-vector-machines-simple-explanation.html

Опорные векторы определяют границы между группами. Источник: https://www.kdnuggets.com/2016/07/support-vector-machines-simple-explanation.html

Выведенная граница называется гиперплоскостью.

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

Более глубокий массив точек и групп требует трехмерного SVM. Источник: https://cml.rhul.ac.uk/svm.html

Более глубокий массив точек и групп требует трехмерного SVM. Источник: https://cml.rhul.ac.uk/svm.html

Популярное Использование

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

4: K-Меans Кластеризация

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

K-Меans кластеризация определяет сегменты, группы и сообщества в данных. Источник: https://aws.amazon.com/blogs/machine-learning/k-means-clustering-with-amazon-sagemaker/

K-Меans кластеризация определяет сегменты, группы и сообщества в данных. Источник: https://aws.amazon.com/blogs/machine-learning/k-means-clustering-with-amazon-sagemaker/

K-Меans Кластеризация стала наиболее популярной реализацией этого подхода, направляя точки данных в характерные ‘K Группы’, которые могут указывать на демографические сектора, онлайн-сообщества или любую другую возможную скрытую агрегацию, ожидающую открытия в сырых статистических данных.

Кластеры формируются в анализе K-Меans. Источник: https://www.geeksforgeeks.org/ml-determine-the-optimal-value-of-k-in-k-means-clustering/

Кластеры формируются в анализе K-Меans. Источник: https://www.geeksforgeeks.org/ml-determine-the-optimal-value-of-k-in-k-means-clustering/

Значение K само по себе является определяющим фактором в полезности процесса и в установлении оптимального значения для кластера. Первоначально значение K присваивается случайным образом, и его функции и векторные характеристики сравниваются с его соседями. Те соседи, которые наиболее близко напоминают точку данных с присвоенным значением, присваиваются его кластеру итеративно, пока данные не дадут все группировки, которые процесс позволяет.

График для квадратной ошибки или ‘стоимости’ различных значений среди кластеров откроет точку локтя для данных:

Точка локтя в графике кластера. Источник: https://www.scikit-yb.org/en/latest/api/cluster/elbow.html

Точка локтя в графике кластера. Источник: https://www.scikit-yb.org/en/latest/api/cluster/elbow.html

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

Популярное Использование

K-Меans Кластеризация, по очевидным причинам, является основной технологией в анализе клиентов, поскольку она предлагает четкий и объяснимый метод перевода больших объемов коммерческих записей в демографические идеи и ‘лиды’.

За пределами этого применения K-Меans Кластеризация также используется для предсказания оползней, сегментации медицинских изображений, синтеза изображений с GAN, классификации документов и городского планирования, среди многих других потенциальных и фактических применений.

5: Случайный Лес

Случайный Лес – это ансамблевый метод обучения, который усредняет результат из массива деревьев решений, чтобы установить общий прогноз для результата.

Источник: https://www.tutorialandexample.com/wp-content/uploads/2019/10/Decision-Trees-Root-Node.png

Источник: https://www.tutorialandexample.com/wp-content/uploads/2019/10/Decision-Trees-Root-Node.png

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

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

Таким образом, алгоритм Случайного Леса по сути является спред-беттингом для решений. Алгоритм называется ‘случайным’, потому что он делает ад hoc выборы и наблюдения, чтобы понять медиану суммы результатов из массива деревьев решений.

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

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

Регрессия дерева решений. Источник: https://scikit-learn.org/stable/auto_examples/tree/plot_tree_regression.html

Регрессия дерева решений. Источник: https://scikit-learn.org/stable/auto_examples/tree/plot_tree_regression.html

Популярное Использование

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

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

6: Наивный Байес

Сопряженный с оценкой плотности (см. 4 выше), классификатор наивный Байес – это мощный, но относительно легкий алгоритм, способный оценивать вероятности на основе рассчитанных функций данных.

Отношения функций в классификаторе наивного Байеса. Источник: https://www.sciencedirect.com/topics/computer-science/naive-bayes-model

Отношения функций в классификаторе наивного Байеса. Источник: https://www.sciencedirect.com/topics/computer-science/naive-bayes-model

Термин ‘наивный’ относится к предположению в теореме Байеса, что функции не связаны, известное как условная независимость. Если вы принимаете эту точку зрения, ходьба и разговор как утка не достаточно, чтобы установить, что мы имеем дело с уткой, и никакие ‘очевидные’ предположения не принимаются преждевременно.

Этот уровень академической и исследовательской строгости будет чрезмерным, где ‘здравый смысл’ доступен, но является ценным стандартом, когда вы проходите через многие неоднозначности и потенциально не связанные корреляции, которые могут существовать в наборе данных машинного обучения.

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

Классификатор наивного Байеса, с другой стороны, работает, предполагая, что функции данного объекта независимы, затем используя теорему Байеса для расчета вероятности данного объекта на основе его функций.

Популярное Использование

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

7: Ближайшие Соседи (KNN)

Сначала предложенный Школой авиационной медицины ВВС США в 1951 году и имеющий возможность приспособиться к состоянию искусства вычислительного оборудования середины 20-го века, Ближайшие Соседи (KNN) – это стройный алгоритм, который все еще фигурирует в академических статьях и частных исследовательских инициативах машинного обучения.

KNN был назван ‘ленивым учеником’, поскольку он тщательно сканирует набор данных, чтобы оценить отношения между точками данных, вместо того, чтобы требовать обучения полноценной модели машинного обучения.

Группировка KNN. Источник: https://scikit-learn.org/stable/modules/neighbors.html

Группировка KNN. Источник: https://scikit-learn.org/stable/modules/neighbors.html

Хотя KNN архитектурно стройный, его систематический подход ставит заметный спрос на операции чтения/записи, и его использование в очень больших наборах данных может быть проблематичным без дополнительных технологий, таких как Принципиальный Компонентный Анализ (PCA), который может преобразовать сложные и высокообъемные наборы данных в представительные группировки, которые KNN может пройти с меньшими усилиями.

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

Популярное Использование

Для всех своих популярных простых концепций и выполнения KNN не застрял в 1950-х годах – он был адаптирован в более ориентированный на DNN подход в предложении 2018 года Университета штата Пенсильвания, и остается центральным ранним процессом (или пост-обработочным аналитическим инструментом) во многих более сложных фреймворках машинного обучения.

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

Система распознавания лиц на основе KNN в обучении. Источник: https://pdfs.semanticscholar.org/6f3d/d4c5ffeb3ce74bf57342861686944490f513.pdf

Система распознавания лиц на основе KNN в обучении. Источник: https://pdfs.semanticscholar.org/6f3d/d4c5ffeb3ce74bf57342861686944490f513.pdf

8: Марковский Процесс Приятия Решений (MDP)

Математический фреймворк, введенный американским математиком Ричардом Беллманом в 1957 году, Марковский Процесс Приятия Решений (MDP) – это один из наиболее основных блоков обучения с подкреплением архитектур. Концептуальный алгоритм в своем праве, он был адаптирован в большое количество других алгоритмов и часто встречается в текущем наборе исследований ИИ/МЛ.

MDP исследует среду данных, используя свою оценку текущего состояния (т. е. ‘где’ он находится в данных), чтобы решить, какой узел данных исследовать дальше.

Источник: https://www.sciencedirect.com/science/article/abs/pii/S0888613X18304420

Источник: https://www.sciencedirect.com/science/article/abs/pii/S0888613X18304420

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

Популярное Использование

Низкоуровневая концепция MDP широко распространена в исследованиях и активных развертываниях машинного обучения. Он был предложен для систем обороны IoT, рыболовства и предсказания рынка.

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

 

9: Терм Частота-Инвертированная Частота Документа

Терм Частота (TF) делит количество раз, когда слово появляется в документе, на общее количество слов в этом документе. Таким образом, слово тюлень, появляющееся один раз в статье из 1000 слов, имеет терм частоту 0,001. Сам по себе TF в основном бесполезен как индикатор важности терма, из-за того, что бессмысленные статьи (такие как а, и, те и оно) преобладают.

Чтобы получить осмысленное значение для терма, Инвертированная Частота Документа (IDF) рассчитывает TF слова во множестве документов в наборе данных, присваивая низкую оценку очень частым стоп-словам, таким как статьи. Результатные векторы функций нормализуются до целых значений, с каждым словом, назначенным соответствующим весом.

TF-IDF взвешивает актуальность термов на основе частоты в наборе документов, с более редким появлением, указывающим на актуальность. Источник: https://moz.com/blog/inverse-document-frequency-and-the-importance-of-uniqueness

TF-IDF взвешивает актуальность термов на основе частоты в наборе документов, с более редким появлением, указывающим на актуальность. Источник: https://moz.com/blog/inverse-document-frequency-and-the-importance-of-uniqueness

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

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

Популярное Использование

Поскольку TF-IDF сыграл какую-то роль в разработке алгоритма PageRank Google за последние двадцать лет, он стал очень широко принят как манипулятивная тактика SEO, несмотря на отказ Джона Мюллера в 2019 году от его важности для результатов поиска.

Из-за секретности вокруг PageRank нет четкого доказательства того, что TF-IDF не является в настоящее время эффективной тактикой для улучшения позиций в результатах поиска Google. Пламенный обсуждение среди ИТ-специалистов в последнее время указывает на популярное понимание, правильное или нет, что злоупотребление термами может все еще привести к улучшению позиций в результатах поиска (хотя дополнительные обвинения в злоупотреблении монополией и чрезмерной рекламы размывают границы этой теории).

10: Стохастический Спуск Градиента

Стохастический Спуск Градиента (SGD) – это все более популярный метод для оптимизации обучения моделей машинного обучения.

Спуск Градиента сам по себе является методом оптимизации и последующего количественного улучшения модели во время обучения.

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

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

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

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

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

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

Инновация Стохастического Спуска Градиента заключается в том, что он обновляет параметры модели на каждом примере обучения за итерацию, что обычно ускоряет путь к сходимости. Из-за появления гипермасштабных наборов данных в последние годы SGD приобрел популярность в последнее время как один из возможных методов решения возникающих логистических проблем.

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

Популярное Использование

Из-за своей конфигурируемости и несмотря на свои недостатки, SGD стал наиболее популярным алгоритмом оптимизации для подгонки нейронных сетей. Одна конфигурация SGD, которая становится доминирующей в новых исследовательских статьях, – это выбор оптимизатора Адаптивного Оценки Момента (ADAM), введенного в 2015 году.

ADAM адаптирует скорость обучения для каждого параметра динамически (‘адаптивная скорость обучения’), а также включает результаты из предыдущих обновлений в последующую конфигурацию (‘импульс’). Кроме того, он может быть настроен на использование более поздних инноваций, таких как Нестеровский Импульс. Однако некоторые утверждают, что использование импульса также может ускорить ADAM (и подобные алгоритмы) до субоптимального вывода. Как и в случае с большинством передовых исследований в секторе машинного обучения, SGD – это работа в процессе.

 

Писатель о машинном обучении, специалист в области синтеза человеческих изображений. Бывший руководитель исследовательского контента в Metaphysic.ai.