Машинное обучение и биоинформатика, часть 2. Нейронные сети и с чем их едят.

Машинное обучение и биоинформатика, часть 2. Нейронные сети и с чем их едят.

 

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

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

  • Функция активации (функция возбуждения, активационная функция) - функция, которая вычисляет значение выходного сигнал искусственного нейрона.

  • Метод обратного распространения ошибки -  на каждом шаге обучения нейронная сеть дает ответ и сравнивает его с правильными, после этого нейронная сеть изменяет веса  у нейронов на всех скрытых слоях таких образом, чтобы значение ошибки было минимальным. Этот подход называется методом обратного распространения ошибки, потому что алгоритм корректирует веса нейронов начиная с последнего слоя и заканчивая первым внутренним слоем. Но как именно нейронная сеть понимает насколько именно нужно изменить веса? За это отвечает метод градиентного спуска.

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

  • Глубинное обучение - это использование нейронных сетей с большим количеством внутренних слоев. Данный подход особенно эффективен, когда стоит задача поиска сложных закономерностей в данных.

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

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

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

Основываясь на расположении внутренних узлов на сетевом уровне, архитектура нейронной сети может быть классифицирована на различные типы, а именно перцептрон, нейронные сети прямого распространения(feedforward neural networks, FF или FFNN) и нейронные сети обратного распространения (feedbackneural networks, FB или FBNN).

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

Пример перцептрона из первой части обзора

 

Если проблема классификации не является линейно разделяемой, например, мы не можем ответить на поставленный вопрос “Да” или “Нет”, то перцептрон не может классифицировать правильно. Поэтому перцептроны подходят только для простых задач классификации образцов. Результатом математического анализа ограничения перцептрона стал многослойный перцептрон.

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

FFNN- сеть нейронов, у которых сигналы,идут только от входного слоя к выходному уровню. Напротив, FBNN позволяют передавать сигналы в обоих направлениях (от входного слоя до выходного и наоборот). Примером такой сети - рекуррентная нейроннаясеть, RNN.

Принципиальнаясхема RNN.

 

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

Рекуррентная нейронная сеть, это вариация многослойного персептрона, которая способна эмулировать ассоциативные характеристики. Это модификация многослойных нейронных сетей, прошедших обучение по алгоритму обратного распространения ошибки; То есть возвратная нейронная сеть имеет петли обратной связи от своих выходов к своим входам. Как и в обучении с помощью алгоритма обратного распространения ошибки, обратные связи используются для корректировки веса входных сигналов. Затем результат вычисляется снова. Алгоритм повторяется несколько раз, пока результат работы сети не становится приемлемым.

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

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

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

Нейронная сеть является лишь одним из нескольких подходов машинного обучения, которые успешно применяются для решения широкого круга проблем биоинформатики. ANN применяются при анализе последовательностей или интегрируются с другими методами или системами. Например, искусственную нейронную сеть обучили прогнозированию последовательности гена-супрессора опухолей TP53 человека на основе p53 GeneChip (Spicker et al., 2002). Многослойные ANN прямого распространения были разработаны как инструмент для прогнозирования последовательности промотора микобактерий в нуклеотидной последовательности (Kalate et al. Al., 2003).

 

Список источников:

 

 

 

 

 

 

 

все для dle
+3
Добавить комментарий

Оставить комментарий