Как обучить нейронную сеть

Что такое нейронная сеть

Ежедневно мы общаемся с нейронными сетями и даже не задумываемся, что они собой представляют и как работают. Программы, реализующие технологию нейронных сетей, отвечают на наши вопросы, составляют экономические прогнозы, помогают в диагностике заболеваний. В 2016 году программа AlphaGo выиграла турнир по игре в го у знаменитого игрока Ли Седоля. При всей простоте правил, победу в го нельзя одержать перебором всех возможных комбинаций, на это просто не хватит вычислительного ресурса. Нейронная сеть обучилась игре, анализируя уже сыгранные партии, выигрышные комбинации, а также играя сама с собой. Идею искусственной нейронной сети впервые описали математик Уолтер Питтс и нейропсихолог Уоррен Маккалок в 1943 году. ИНС - это вычислительная модель с огромным числом, параллельно действующих процессов, объединённых множеством связей. Ее узлы - нейроны распределяются в сети по уровням – слоям. Сначала информация поступает на нейроны входного слоя. Нейроны входного слоя принимают этот сигнал и передают его дальше нейронам скрытого или внутреннего слоя. В скрытом слое происходит основная обработка данных. После чего информация отправляется в последний слой – выходной. Число скрытых слоев и количество нейронов выбирается в зависимости от задачи, которую решает сеть объема данных и доступных вычислительных ресурсов.

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

У нейронных сетей много важных свойств, но ключевое из них - это способность к обучению. Обучение нейронных сетей похоже на процесс обучения человека. Ребёнок получает зрительный сигнал и объяснение учителя: «Смотри, это мячик, это яблоко, а это клубок ниток». Раз за разом, видя разные предметы с разных сторон, ребенок учится узнавать их и отличать друг от друга. Так обучается и нейронная сеть. Она постоянно анализирует свою работу для того, чтобы распознать тот или иной образ. Например, мы говорим: «Это мячик». Если сеть начинает утверждать, что мячик - это яблоко, мы снова объясняем ей: «Нет, это не яблоко. Это мячик. А вот это клубок ниток!». Такая процедура правок называется обучение с учителем. В результате, бесчисленное множество яблок, мячиков и клубков будет классифицировано. Для обработки больших массивов данных и выявления общностей используются методы обучения без учителя. Они работают даже тогда, когда некому разметить данные и объяснить нейросети названия предметов. Например, проанализировав данные абонентов оператора связи, нейронная сеть выявит общности, которые могут соответствовать категориям возраста, профессиям и используемым услугам. Такое разбиение примеров на группы называется кластеризацией. Сегодня умные помощники упрощают жизнь и работу в сферах, где человек должен выполнять рутинные операции и принимать множество однотипных решений. Но сколько бы ни совершенствовались искусственные нейронные сети, задачу им всегда будет ставить человек.

md-eksperiment.org

Читати також


Вибір читачів
up