В этой статье мы рассмотрим одно из наиболее популярных сегодня понятий – нейронные сети, которые, фактически, стали «лицом» современного искусственного интеллекта. Как работает этот метод машинного обучения (Machine Learning), почему он стал таким востребованным в 21 веке, что такое глубокие нейросети и чего ждать от них в будущем – читайте в этом материале.
Прежде всего, отметим, что нейронные сети – это не единственные методы машинного обучения и искусственного интеллекта. Помимо нейросетей в классе обучения с учителем выделяют методы коррекции и обратного распространения ошибки (backpropagation), а также машину опорных векторов (SVM, Support Vector Machine), применение которой в задаче одноклассовой классификации я описывал в здесь. Еще среди ML-методов различают обучение без учителя (альфа- и гамма-системы подкрепления, метод ближайших соседей), обучение с подкреплением (генетические алгоритмы), частичное, активное, трансиндуктивное, многозадачное и многовариантное обучение, а также бустинг и байесовские алгоритмы [1].
Тем не менее, сегодня именно нейросети считаются наиболее распространенными ML-инструментами. В частности, они широко используются в задачах распознавания образов, классификации, кластеризации, прогнозирования, оптимизации, принятии управленческих решений, анализе и сжатии данных в различных прикладных областях: от медицины до экономики.
История нейросетей в ИТ начинается с 40-х годов прошлого века, когда американские ученые Маккалок, Питтс и Винер описали это понятие в своих трудах о логическом исчислении идей, нервной активности и кибернетике с целью представления сложных биологических процессов в виде математических моделей.
Здесь стоит упомянуть теоретическую базу нейросетей в виде теоремы Колмогорова-Арнольда о представимости непрерывных функций нескольких переменных суперпозицией непрерывных функций одной переменной. Эта теорема была доказана советскими учеными А.Н. Колмогоровым и В.В. Арнольдом в 1957 году, а в 1987 году переложена американским исследователем Хехт–Нильсеном для нейронных сетей. Она показывает, что любая функция многих переменных достаточно общего вида может быть представлена с помощью двухслойной нейронной сети с прямыми полными связями нейронов входного слоя с нейронами скрытого слоя с заранее известными ограниченными функциями активации (например, сигмоидальными) и нейронами выходного слоя с неизвестными функциями активации.
Из этой теоремы следует, что для любой функции многих переменных существует отображающая ее нейросеть фиксированной размерности, при обучении которой могут использоваться три параметра [2]:
Еще одной ключевой вехой в истории нейросетей стало изобретение перцентрона Фрэнком Розенблаттом в 60-хх гг. XX века. Благодаря успешным результатам использования перцептронов в ограниченном круге задач (прогнозирование погоды, классификация, распознавание рукописного текста), нейросети стали весьма популярны среди ученых по всему миру. Например, в СССР нейросетями занимались в Институте проблем передачи информации ученые научной школы М. М. Бонгарда и А.П. Петрова (1963-1965 гг.). Однако, поскольку существовавшие на то время вычислительные мощности не могли эффективно реализовать теоретические алгоритмы на практике, исследовательский энтузиазм к этим ML-методам временно упал.
Следующая волна интереса к нейросетям началась спустя 20 лет, в 80-х годах прошлого века и, по сути, продолжается до сих пор. Здесь стоит отметить различные вариации сетей Кохонена и Хопфилда, развившиеся в модели глубокого обучения – тенденции, подробнее о которых мы поговорим далее [3].
Начнем с классического определения: искусственная нейронная сеть (нейросеть) – это математическая модель с программной или аппаратной реализацией, построенная по принципу организации и функционирования биологических нейронных сетей – нервных клеток живого организма. Нейросеть представляет собой систему соединённых и взаимодействующих между собой простых процессоров (искусственных нейронов), где каждый из них работает только с сигналами, которые он периодически получает и посылает сам другим нейронам [3].
Характерным отличием нейросетей от других вычислительных моделей является их ориентация на биологические принципы, благодаря чему они обладают следующими качествами:
Вышеперечисленные свойства позволяют использовать нейросети для решения сложных задач с неполными входными данными или отсутствием четко выраженных алгоритмических правил, например, для прогнозирования (погоды, валютного курса, чрезвычайных ситуаций и пр.), распознавания образов (изображений, видео- и аудио-потоков), классификации, принятия управленческих решений, оптимизации, анализа данных и т.д. Примечательно, что нейросети могут применяться практически в любой области промышленности и искусства, от нефтегазового сектора до музыки.
Как мы уже отметили выше, правила работы нейросетей не программируются, а вырабатываются в процессе обучения, что обеспечивает адаптивность этой ML-модели к изменениям входных сигналов и шуму. Технически обучение нейросети состоит в нахождении коэффициентов связей между нейронами, при этом сеть способна выявлять сложные зависимости между входными данными и выходными, а также выполнять обобщение [3].
Типовая нейросеть состоит из трех компонентов (рис. 1):
Каждый нейрон предыдущего слоя передает сигналы нейронам последующего методом прямого или обратного распространения ошибки по синаптическим связям с весовыми коэффициентами (рис. 2). На рисунке 2 показана схема искусственного нейрона, где
Математически нейрон – то сумматор, результат которого y=f(u) определяется через его входы и весовые коэффициенты [4]:
, где
Таким образом, выход каждого нейрона является результатом его нелинейной непрерывной и монотонной функции активации: сигмоиды, синусоиды, Гауссовой, ступенчатой и подобных им (рис. 3). Функция активации определяет зависимость сигнала на выходе нейрона от взвешенной суммы сигналов на его входах. Благодаря ее нелинейности нейросети с достаточно небольшим числом узлов и слоев могут решать довольно сложные задачи прогнозирования, распознавания и классификации. Различные функции активации отличаются друг от друга следующими характеристиками [5]:
Как правило, для каждого типа решаемой задачи и топологии сети, характерна своя функция активации. Например, в многослойных перцептронах используется сигмоида в форме гиперболического тангенса, которая хорошо нормализуется, усиливая слабые сигналы и не уходя в бесконечное возрастание от сильных. В радиально-базисных сетях чаще всего используются Гауссова, мультиквадратичная или обратно мультиквадратичная функции активации, параметры которых позволяют настраивать расходимость радиуса, регулируя область действия каждого нейрона [5].
Искусственные нейроны объединяются в сети с различной топологией, в зависимости от решаемой задачи (рис. 4). Например, для распознавания образов часто используются перцептроны и сверточные нейросети (обучение с учителем), сети адаптивного резонанса (без учителя) и радиально-базисных функций (смешанное обучение). Для анализа данных применяются сети Кохонена (самоорганизующаяся карта и сети векторного квантования сигналов). Также на выбор типа сети влияет характер обучающего датасета. В частности, при прогнозировании временных рядов экспертная оценка уже содержится в исходных данных и может быть выделена при их обработке, поэтому в этих случаях можно использовать многослойный перцептрон или сеть Ворда [3].
Итак, особенно активно текущие нейросетевые технологии развиваются с 2000-х годов, когда мощность графических процессоров стала достаточной для быстрого и недорогого обучения нейросетей, а также в мире накопилось большое количество датасетов для тренировки. К примеру, до 2010 года не существовало базы данных, чтобы качественно обучить нейросети решать задачи по распознаванию и классификации изображений. Поэтому нейросети часто ошибались, путая кошку с собакой, или снимок здорового органа с больным. Однако, с появлением базы ImageNet в 2010 году, которая содержала 15 миллионов изображений в 22 тысячах категорий и была доступна для любого исследователя, качество результатов существенно улучшилось. Кроме того, к этому времени появились новые достижения ученых в области искусственного интеллекта: Джеффри Хинтон реализовал предобучение сети при помощи машины Больцмана, обучая каждый слой отдельно. Ян ЛеКан предложил использовать сверточные нейросети для распознавания изображений, а Иошуа Бенджио разработал каскадный автокодировщик, позволивший задействовать все слои в глубокой нейронной сети [6]. Именно эти исследования легли в основу современных тенденций развития нейросетевых технологий, наиболее значимыми среди которых можно назвать следующие:
Далее мы рассмотрим более подробно методы глубокого и автоматического ML.
К глубокому обучению относят класс ML-моделей, основанных на обучении представлениями (feature/representation learning), а не на специализированных алгоритмах под конкретные задачи. В DL многослойные нейронные сети играют роль многоуровневой системы нелинейных фильтров для извлечения признаков. Для DL-моделей характерно иерархическое сочетание нескольких алгоритмов обучения: с учителем, без учителя, с подкреплением. Архитектура нейросети и состав ее нелинейных слоёв зависит от решаемой задачи. При этом используются скрытые переменные, организованные послойно, например, узлы в глубокой сети доверия и глубокой ограниченной машине Больцмана. При этом, независимо от архитектурных особенностей и прикладного назначения, для всей DL-сетей характерно предварительное обучение на большом объеме общих данных с последующей подстройкой на датасетах, специфичных для конкретного применения [11].
Например, одна из наиболее известных реализаций DL-моделей, нейронная сеть BERT, о которой я рассказывал здесь, предварительно обучена на статьях из Википедии, чтобы затем использоваться в распознавании текстов. По аналогичному принципу работает нейросеть XLNet, также применяемая в задачах обработки естественного языка для анализа и генерации текстов, извлечения данных, информационного поиска, синтеза речи, машинного перевода, автоматического реферирования, аннотирования, упрощения текстовой информации и прочих NLP-проблем [12]. Другая глубокая нейросеть, CQM (Calibrated Quantum Mesh), также показывает отличные результаты (более 95%) в понимании естественного языка, извлекающая смысл слова на основе вероятностного анализа его окружения (контекста) без использования заранее заданных ключевых слов [13]. На рисунке 5 показано использование предварительно подготовленной модели в качестве объектов в отдельной нисходящей DL-сети при трансферном обучении в NLP-задачах [14].
Среди других DL-моделей стоит упомянуть капсульные сети, которые, в отличие от сверточных сетей, обрабатывают визуальные образы с учетом пространственной иерархии между простыми и сложными объектами, что повышает точность классификации и снижает объем данных для обучения [15]. Также отметим глубокое обучение с подкреплением (DRL, Deep Reinforcement Learning), работающее по принципу взаимодействия нейросети с окружающей средой посредством наблюдений, действий, штрафов и вознаграждений [16]. DRL считается наиболее универсальным из всех ML-методов, поэтому его можно использовать в большинстве бизнес-приложений. В частности, именно к DRL-моделям относится нейросеть AlphaGo, которая в 2015 году впервые победила человека в соревнованиях по древней китайской игре го, а в 2017 – обыграла сильнейшего профессионального игрока в мире [6].
А для распознавания образов, получения фотореалистичных изображений, улучшения качества визуальной информации и обеспечения кибербезопасности активно используются GAN-подобные сети. GAN-сеть представляет собой комбинацию двух конкурирующих нейросетей, одна из которых (G, генератор) генерирует образцы,а другая (D, Дискриминатор) старается отличить правильные («подлинные») образцы от неправильных, обрабатывая все данные. Со временем каждая сеть улучшается, благодаря чему качество обработки данных существенно возрастает, т.к. в процесс обучения уже заложена функция обработки помех. Эту систему DL-обучения без учителя впервые описал Ян Гудфеллоу из компании Google в 2014 году, а сама идея состязательного обучения была выдвинута в 2013 году учеными Li, Gauci и Gross. Сегодня GAN-сети активно используются в видеоиндустрии и дизайне (для подготовки кадров фильмов или мультипликации, сцен компьютерных игр, создания фотореалистичных изображений), а также в космической промышленности и астрономии (для улучшения снимков, полученных из астрономических наблюдений) [17]. Таким образом, GAN-сети отлично подходят для широкого спектра задач обучения без учителя, где помеченные данные не существуют или процесс их подготовки слишком дорог, например, создание 3D-образа удаленного объекта на основе его фрагментарных изображений. Благодаря состязательному подходу, этот ML-метод оказывается быстрее аналогичных DL-моделей, т.к. используются сразу две сети с противоположными локальными целями, направленными на общий глобальный результат [10].
Ценность AutoML состоит в «демократизации» машинного обучения: эта технология позволяет бизнес-пользователям, а не только опытным Data Scientist’ам работать с мощными средствами аналитики и прогнозирования. Средства AutoML нацелены на максимальное упрощение процессов создания и применения сложных алгоритмов: благодаря упрощенным пользовательским интерфейсам они позволяют быстро создавать необходимые модели, снижая вероятность ошибочных вычислений. AutoML-системы рассчитан на обработку большого объема данных, включая предварительную подготовку датасетов: пользователи могут самостоятельно идентифицировать метки, выбирать нужные участки информационного набора в режиме UI. Такой подход значительно отличается от традиционной работы Data Scientist’а, позволяя сосредоточиться на бизнес-задаче, а не на проблемах обработки данных. Многие платформы ML совместимы с Android и iOS, поэтому модели могут быть плавно и быстро интегрированы с мобильными приложениями [18]. Среди наиболее известных AutoML-решений стоит отметить следующие:
Подведем краткое резюме о положении нейросетей в современной Data Science:
Итак, наиболее явными из современных ML-трендов являются нейросети глубокого обучения и средства AutoML, которые обеспечивают рост популярности DS, в т.ч. среди обывателей, что, в свою очередь, влечет к расширению прикладного использования и дальнейшему развитию всех методов AI.
Источники