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

Хотя мы живем в время необычайной инновации в области ускорения машинного обучения с помощью GPU, последние исследовательские статьи часто (и заметно) содержат алгоритмы, которые имеют десятилетия, в некоторых случаях 70 лет.
Некоторые могут утверждать, что многие из этих старых методов относятся к категории ‘статистического анализа’, а не машинного обучения, и предпочитают датировать возникновение этой области только 1957 годом, когда была изобретена Перцептрон.
Учитывая, насколько эти старые алгоритмы поддерживают и переплетены с последними тенденциями и сенсационными разработками в машинном обучении, это оспариваемая позиция. Итак, давайте посмотрим на некоторые из ‘классических’ строительных блоков, лежащих в основе последних инноваций, а также на некоторые новые разработки, которые делают раннюю заявку на место в зале славы ИИ.
1: Трансформеры
В 2017 году исследователи из Google возглавили исследовательское сотрудничество, которое завершилось статьей Attention Is All You Need. В работе была представлена новая архитектура, которая продвигала механизмы внимания от ‘пайпинга’ в кодировщик/декодировщик и рекуррентные сетевые модели до центральной трансформационной технологии в своем праве.
Подход был назван Трансформер, и с тех пор стал революционной методологией в области обработки естественного языка (NLP), обеспечивая, среди прочего, автoregressive языковую модель и ИИ-постер-child GPT-3.

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

Хронология проектов NLP Трансформера в гипермасштабе. Источник: Microsoft
Архитектура Трансформера также перешла из NLP в компьютерное зрение, обеспечивая новое поколение фреймворков синтеза изображений, таких как OpenAI’s CLIP и 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
Это заставляет Генератор исследовать множество путей, вместо того, чтобы следовать потенциальным тупикам, которые бы возникли, если бы Дискриминатор сказал ему, где он ошибался (см. #8 ниже). К моменту окончания обучения Генератор имеет подробную и всестороннюю карту отношений между точками в наборе данных.

Из статьи Улучшение равновесия GAN путем повышения пространственной осведомленности: новая структура проходит через иногда загадочное латентное пространство GAN, обеспечивая отзывчивую инструментальность для архитектуры синтеза изображений. Источник: https://genforce.github.io/eqgan/
По аналогии, это разница между изучением одного скучного маршрута в центральный Лондон или тщательным приобретением Знания.
Результатом является высокоуровневый набор функций в латентном пространстве обученной модели. Семантический индикатор для высокоуровневой функции мог бы быть ‘человек’, в то время как спуск по специфике, связанной с функцией, может выявить другие изученные характеристики, такие как ‘мужчина’ и ‘женщина’. На более низких уровнях подфункции могут разбиться на ‘блондинку’, ‘каucasoid’ и т. д.
Переплетение является заметной проблемой в латентном пространстве GAN и фреймворков кодировщик/декодировщик: улыбка на GAN-генерируемом женском лице является переплетенной функцией ее ‘идентичности’ в латентном пространстве или параллельной ветвью?

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
Произведенная граница называется гиперплоскостью.
На низких уровнях функций SVM является двумерным (изображение выше), но когда есть более высокое количество групп или типов, оно становится трехмерным.

Более глубокий массив точек и групп требует трехмерной 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 стала наиболее популярной реализацией этого подхода, направляя точки данных в характерные ‘K Группы’, которые могут указывать на демографические сектора, онлайн-сообщества или любую другую возможную секретную агрегацию, ожидающую открытия в сырых статистических данных.

Кластеры формируются в анализе 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
Точка локтя аналогична тому, как потеря плоской области выравнивается к минимуму в конце сессии обучения для набора данных. Она представляет точку, в которой дальнейшие различия между группами не будут очевидны, указывая на момент перехода к последующим фазам в конвейере данных или отчету о результатах.
Популярное Использование
Кластеризация K-Меans, по очевидным причинам, является основной технологией в анализе клиентов, поскольку она предлагает четкий и объяснимый метод перевода больших количеств коммерческих записей в демографические идеи и ‘лиды’.
Помимо этого применения, Кластеризация K-Меans также используется для предсказания оползней, сегментации медицинских изображений, синтеза изображений с помощью GAN, классификации документов и планирования городов, среди многих других потенциальных и фактических применений.
5: Случайный Лес
Случайный Лес – это метод ансамблевого обучения, который усредняет результат из массива деревьев решений, чтобы установить общий прогноз для результата.

Источник: https://www.tutorialandexample.com/wp-content/uploads/2019/10/Decision-Trees-Root-Node.png
Если вы исследовали это даже насколько-нибудь, смотря трилогию Назад в Будущее, дерево решений само по себе довольно легко понять: перед вами лежит ряд путей, и каждый путь ветвится к новому результату, который в свою очередь содержит дальнейшие возможные пути.
В обучении с подкреплением вы можете отступить от пути и начать заново с более раннего положения, в то время как деревья решений обязуются своим путям.
Таким образом, алгоритм Случайного Леса по сути является спред-беттингом для решений. Алгоритм называется ‘случайным’, потому что он делает ад хок выбор и наблюдения, чтобы понять медиану сумму результатов из массива деревьев решений.
Поскольку он учитывает множество факторов, подход Случайного Леса может быть более трудным для перевода в осмысленные графики, чем дерево решений, но, вероятно, будет намного более продуктивным.
Деревья решений подвержены переобучению, когда результаты, полученные, являются специфичными для данных и не могут обобщаться. Случайный выбор данных в Случайном Лесе борется с этой тенденцией, просверливаясь до осмысленных и полезных представительных тенденций в данных.

Регрессия дерева решений. Источник: https://scikit-learn.org/stable/auto_examples/tree/plot_tree_regression.html
Популярное Использование
Как и многие алгоритмы в этом списке, Случайный Лес обычно работает как ‘ранний’ сортировщик и фильтр данных и, как таковой, постоянно встречается в новых исследовательских статьях. Некоторые примеры использования Случайного Леса включают синтез магнитно-резонансных изображений, предсказание цен на биткоин, сегментацию переписи, классификацию текста и обнаружение мошенничества с кредитными картами.
Поскольку Случайный Лес является низкоуровневым алгоритмом в архитектурах машинного обучения, он также может способствовать производительности других низкоуровневых методов, а также алгоритмов визуализации, включая индуктивную кластеризацию, преобразования функций, классификацию текстовых документов с использованием разреженных функций и отображение конвейеров.
6: Наивный Байес
В сочетании с оценкой плотности (см. 4 выше), классификатор наивного Байеса – это мощный, но относительно легкий алгоритм, способный оценивать вероятности на основе рассчитанных функций данных.

Отношения функций в классификаторе наивного Байеса. Источник: 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 архитектурно стройный, его систематический подход все же накладывает заметный спрос на операции чтения/записи, и его использование в очень больших наборах данных может быть проблематичным без дополнительных технологий, таких как анализ главных компонентов (PCA), который может преобразовать сложные и высокообъемные наборы данных в представительные группировки, которые KNN может проходить с меньшими усилиями.
Недавнее исследование оценило эффективность и экономию нескольких алгоритмов, задачей которых было предсказать, покинет ли сотрудник компанию, и обнаружило, что семидесятилетний KNN оставался лучшим, чем более современные конкуренты, в плане точности и прогностической эффективности.
Популярное Использование
Несмотря на свою популярную простоту концепции и выполнения, KNN не застрял в 1950-х годах – он был адаптирован в более ориентированный на DNN подход в предложении 2018 года Университета штата Пенсильвания, и остается центральным ранним этапом процесса (или пост-обработочным аналитическим инструментом) во многих более сложных фреймворках машинного обучения.
В различных конфигурациях KNN был использован или для онлайн-верификации подписи, классификации изображений, мининга текста, предсказания урожайности и распознавания лиц, среди других применений и включений.

Система распознавания лиц на основе KNN в обучении. Источник: https://pdfs.semanticscholar.org/6f3d/d4c5ffeb3ce74bf57342861686944490f513.pdf
8: Марковское Принятие Решений (MDP)
Математический фреймворк, введенный американским математиком Ричардом Беллманом в 1957 году, Марковское Принятие Решений (MDP) – это один из самых базовых блоков архитектур обучения с подкреплением. Концептуальный алгоритм в своем праве, он был адаптирован в большое число других алгоритмов и часто встречается в текущей партии исследований ИИ/МО.
MDP исследует среду данных, используя свою оценку текущего состояния (т. е. ‘где’ оно находится в данных), чтобы решить, какой узел данных исследовать дальше.

Источник: 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 является мощным и популярным методом для первоначальных проходов фильтрации в фреймворках обработки естественного языка.
Популярное Использование
Поскольку TF-IDF сыграл хотя бы некоторую роль в развитии алгоритма PageRank Google за последние двадцать лет, он стал очень широко принят как манипулятивная тактика SEO, несмотря на отказ Джона Мюллера в 2019 году от его важности для результатов поиска.
Из-за секретности вокруг PageRank нет четких доказательств того, что TF-IDF не является в настоящее время эффективной тактикой для повышения в рейтингах Google. Пламенная обсуждение среди профессионалов ИТ в последнее время указывает на популярное понимание, правильное или нет, что злоупотребление терминами может все еще привести к улучшению позиционирования в SEO (хотя дополнительные обвинения в монополистическом злоупотреблении и чрезмерной рекламы размывают границы этой теории).
10: Стохастический Спуск Градиента
Стохастический Спуск Градиента (SGD) – это все более популярный метод для оптимизации обучения моделей машинного обучения.
Спуск Градиента сам по себе является методом оптимизации и последующей количественной оценки улучшения, которое модель делает во время обучения.
В этом смысле ‘градиент’ указывает на склон вниз (а не цветовую градацию, см. изображение ниже), где самая высокая точка ‘холма’, слева, представляет начало процесса обучения. На этом этапе модель еще не видела всего набора данных даже один раз и не научилась достаточно о отношениях между данными, чтобы произвести эффективные преобразования.

Спуск градиента на сессии обучения FaceSwap. Мы можем видеть, что обучение плато на некоторое время во второй половине, но в конечном итоге восстанавливает свой путь вниз по градиенту к приемлемому сходимости.
Самая низкая точка, справа, представляет сходимость (точку, в которой модель так эффективна, как только может быть под заданными ограничениями и настройками).
Градиент действует как запись и предсказатель прогресса, который может информировать график скорости обучения, автоматический процесс, который говорит архитектуре стать более детальной и точной, когда ранние расплывчатые детали превращаются в четкие отношения и сопоставления. По сути, градиентная потеря обеспечивает карту того, куда обучение должно пойти дальше и как оно должно продолжаться.
Новаторство Стохастического Спуска Градиента заключается в том, что он обновляет параметры модели на каждом примере обучения за итерацию, что обычно ускоряет путь к сходимости. Из-за возникновения гипермасштабных наборов данных в последние годы SGD приобрел популярность в последнее время как один из возможных методов решения возникающих логистических проблем.
С другой стороны, SGD имеет отрицательные последствия для масштабирования функций и может потребовать больше итераций, чтобы достичь того же результата, требуя дополнительного планирования и дополнительных параметров по сравнению с регулярным Спуском Градиента.
Популярное Использование
Из-за своей конфигурируемости и несмотря на свои недостатки, SGD стал наиболее популярным алгоритмом оптимизации для подгонки нейронных сетей. Одна конфигурация SGD, которая становится доминирующей в новых исследовательских статьях ИИ/МО, – это выбор опtimизатора Адаптивного Оценки Момента (ADAM), введенного в 2015 году.
ADAM адаптирует скорость обучения динамически (‘адаптивная скорость обучения’), а также включает результаты из предыдущих обновлений в последующую конфигурацию (‘импульс’). Кроме того, он может быть настроен на использование более поздних инноваций, таких как Нестеровский Импульс.
Однако некоторые утверждают, что использование импульса может также ускорить ADAM (и подобные алгоритмы) к субоптимальному выводу. Как и большинство передового края сектора исследований машинного обучения, SGD – это работа в процессе.
Опубликовано 10 февраля 2022 года. Изменено 10 февраля 20:05 EET – форматирование.












