Искусственные нейронные сети

Нейросети


Важной группой алгоритмов для контролируемого и неконтролируемого машинного обучения являются нейронные сети. Они лежат в основе большей части машинного обучения, и если простые модели, такие как линейная регрессия, могут использоваться для прогнозирования на основе небольшого количества характеристик данных, как в примере Google с пивом и вином, то нейронные сети полезны при работе с большими наборами данных с большим количеством характеристик.
Нейронные сети, структура которых в общих чертах напоминает структуру мозга, представляют собой взаимосвязанные слои алгоритмов, называемых нейронами, которые передают данные друг другу, причем выход предыдущего слоя является входом для последующего слоя.
Каждый слой можно представить как распознающий различные особенности общих данных. Например, рассмотрим пример использования машинного обучения для распознавания рукописных цифр от 0 до 9. Первый слой нейронной сети может измерять интенсивность отдельных пикселей изображения, второй слой может распознавать формы, такие как линии и кривые, а последний слой может классифицировать написанную от руки цифру как число от 0 до 9.
В процессе обучения сеть учится распознавать пиксели, образующие форму чисел, постепенно изменяя значимость данных по мере их прохождения между слоями сети. Это возможно благодаря тому, что каждая связь между слоями имеет свой вес, значение которого может быть увеличено или уменьшено для изменения значимости этой связи. В конце каждого цикла обучения система проверяет, приближается или удаляется конечный результат работы нейронной сети от желаемого - например, лучше или хуже сеть определяет написанную от руки цифру 6. Чтобы сократить разрыв между фактическим и желаемым результатом, система будет работать в обратном направлении, изменяя веса, прикрепленные ко всем этим связям между слоями, а также соответствующее значение, называемое смещением. Этот процесс называется обратным распространением.
В конечном итоге этот процесс приведет к таким значениям весов и смещения, которые позволят сети надежно выполнять поставленную задачу, например, распознавать рукописные цифры, и можно сказать, что сеть "научилась" выполнять конкретную задачу.

Глубокое обучение

Подразделом машинного обучения является глубокое обучение, когда нейронные сети расширяются до разветвленных сетей с большим количеством слоев, содержащих множество блоков, которые обучаются на огромном количестве данных. Именно эти глубокие нейронные сети способствовали нынешнему скачку в способности компьютеров выполнять такие задачи, как распознавание речи и компьютерное зрение.
Существуют различные типы нейронных сетей, с разными сильными и слабыми сторонами. Рекуррентные нейронные сети - это тип нейронных сетей, особенно хорошо подходящий для обработки языка и распознавания речи, в то время как сверточные нейронные сети чаще всего используются для распознавания изображений. Дизайн нейронных сетей также развивается: недавно исследователи разработали более эффективный дизайн для эффективного типа глубокой нейронной сети, называемой долговременной кратковременной памятью или LSTM, что позволяет ей работать достаточно быстро, чтобы использоваться в системах по требованию, таких как Google Translate.
Техника эволюционных алгоритмов ИИ даже используется для оптимизации нейронных сетей, благодаря процессу, называемому нейроэволюцией. Этот подход был продемонстрирован Uber AI Labs, которая опубликовала документы об использовании генетических алгоритмов для обучения глубоких нейронных сетей для решения задач обучения с подкреплением.

Осуществляется машинное обучение только нейросетями?

Вовсе нет. Существует целый ряд математических моделей, которые можно использовать для обучения системы прогнозированию.
Простой моделью является логистическая регрессия, которая, несмотря на название, обычно используется для классификации данных, например, спам против не спама. Логистическая регрессия проста в реализации и обучении при проведении простой бинарной классификации, и может быть расширена для маркировки более двух классов.
Другим распространенным типом модели являются машины опорных векторов (Support Vector Machines, SVM), которые широко используются для классификации данных и составления прогнозов с помощью регрессии. SVM могут разделять данные на классы, даже если данные на графике перемешаны таким образом, что их трудно разделить на отдельные классы. Для достижения этой цели SVM выполняют математическую операцию, называемую трюком ядра, который сопоставляет точки данных с новыми значениями так, чтобы их можно было четко разделить на классы.
Выбор модели машинного обучения обычно зависит от многих факторов, таких как размер и количество признаков в наборе данных, при этом каждая модель имеет свои плюсы и минусы.

 

 

Последние материалы

18 февраля 2024 107
18 февраля 2024 108
Все материалы