Шрифт:
Интервал:
Закладка:
Что бы понять, как работает нейросеть, давайте рассмотрим подробнее её составляющие и их параметры.
Что такое искусственный нейрон?
Современная ИНС любой сложности состоит из элементов – нейронов. Нейрон – это элементарная вычислительная единица, способная получать информацию, производить над ней простые вычисления и передавать её дальше. Нейроны бывают трёх типов:
S-нейроны – это слой сенсоров или рецепторов. В физическом воплощении они соответствуют, например, светочувствительным клеткам сетчатки глаза или фоторезисторам матрицы фотоаппарата. Каждый нейрон-рецептор может находиться либо в состоянии покоя, либо в возбуждённом состоянии, в последнем случае он передаёт единичный сигнал в следующий слой, ассоциативным нейронам.
Рисунок 45 Логическая схема элементарной однослойной НИС. Веса S – A связей могут иметь значения —1, +1 или 0 (то есть отсутствие связи). Веса A – R связей W могут быть любыми.
Ассоциативные нейроны (A-нейроны), названы так потому что каждому такому элементу, соответствует некоторый набор (ассоциация) S-нейронов. A-нейрон активизируется, как только количество сигналов от S-нейронов на его входе превысит некоторый порог θ.
Сигналы от возбудившихся A-нейронов, в свою очередь, передаются в сумматор R, причём сигнал от i-го ассоциативного нейрона передаётся с коэффициентом (Wi). Этот коэффициент называется весом A—R связи.
Так же, как и A-нейрон, R-нейрон подсчитывает сумму значений входных сигналов, помноженных на веса (линейную форму).
На выходе R-нейрона генерируется «1», если сумма входящих сигналов превысит заданный порог θ, иначе на выходе будет «—1» или «0». Математически, функцию, реализуемую R-элементом, можно записать так:
У каждого из рассмотренных нейронов есть два обязательных параметра: входные данные «вход» и выходные «выход». В случае сенсо́рного S-нейрона: «вход» равен «выходу». В остальных, на «входы» передаётся суммарная информация «выходов» нейронов из предыдущего слоя которая после нормализации попадает на «выход».
В каждой искусственной сети обязательно присутствуют входной слой – S, выходной слой, который выводит результат, и в зависимости от сложности есть некоторое количество слоёв (A).
Что такое искусственный синапс?
Синапс – это связь между двумя нейронами. У синапсов есть всего один параметр – вес (Wi). Благодаря ему информация между нейронами передаётся с определённым коэффициентом. Допустим, есть три нейрона, которые передают информацию следующему. Тогда мы имеем три веса, соответствующие каждому из их синапсов. Информация, переданная через синапс бо́льшим весовым коэффициентом, окажется доминирующей в следующем нейроне (пример – смешение цветов). На самом деле, совокупность весов нейронной сети или матрица весов – это и есть своеобразный мозг всей системы.
Рисунок46. Логика искусственного синапса
Нейрон имеет один выход, называемый аксоном по аналогии с биологическим прототипом. Но с единственного выхода нейрона сигнал может поступать на произвольное число входов других нейронов через синапсы с разными весами.
При этом, по аналогии со связями между биологическими нейронами, связи с положительным весом называются возбуждающими, а с отрицательным – тормозящими.
Как работает искусственная нейронная сеть?
Теперь, когда у нас есть входные данные и веса́, мы можем получить выходные данные. Получив выходные данные, мы передаём их дальше. И так повторяем для всех слоёв, пока не дойдём до выходного нейрона. Включив такую сеть в первый раз, мы, вероятно, получим результат весьма далёкий от правильного. Это потому что сеть «не натренирована». Чтобы улучшить результаты мы будем её тренировать. Но прежде давайте введём несколько терминов и свойств нейронной сети.
Тренировочный сет – это последовательность данных, которыми оперирует нейронная сеть.
Эпоха. Перед запуском нейронной сети эта величина устанавливается в 0 и имеет предел, заданный вручную. Эпоха увеличивается каждый раз, по завершении всего набора тренировочных сетов.
Ошибка. Этот термин применяется к процентной величине, показывающей расхождение между правильным и полученным ответами. Ошибка формируется каждую эпоху и по мере обучения сети должна снижаться. Для вычисления ошибки разработаны различные алгоритмы (мы их рассматривать не будем).
Важным свойством любой нейронной сети является способность к обучению. Процесс обучения сводится к процедуре настройки весов и порогов, приводящих к уменьшению показателя ошибок.
После обучения сеть может работать в режиме распознавания и обобщения. При этом ей предъявляются ранее неизвестные объекты, а она должна установить, к какому классу они принадлежат.
Обученная нейронная сеть приобретает способность выявлять сложные и даже неочевидные взаимосвязи между входными данными и выходными. Такая сеть сможет выдать верный результат на основании данных, которых не было в обучающей выборке, а также неполных и частично искажённых данных.
Кто будет обучать ИНС? Ответ – компьютер. Откуда компьютер знает? Человек вложил в него информацию. Искусственный интеллект – это по-прежнему абстракция.
Практическое применение
Стоит признать, некоторым вещам научить искусственную нейронную сеть невозможно, например, таким как предсказывать выигрышные номера в лотереях.
Но вот для любителей поиграть на бирже есть примеры решений. Входные данные – курс акций за год. Задача – определить завтрашний курс. Проводится следующее преобразование – выстраивается в ряд курс за сегодня, вчера и позавчера. Каждый следующий набор смещается по дате на один день назад. На полученных наборах обучается сеть с тремя входами (курсы за предыдущие три дня) и одним выходом – курс на следующую дату.
Обученной таким образом сети подаём на вход курсы за сегодня, вчера, позавчера, а сеть выдаёт нам прогноз на завтра. Стоит заметить, что в этом случае сеть просто выведет зависимость одного параметра от трёх предыдущих. Если возникнет необходимость учитывать ещё какой-то параметр, например, разные биржевые индексы, то его надо добавить как «вход», включить в примеры, переобучить сеть и получить новые результаты. И всё бы было здорово если бы удалось учесть все возможные параметры.
Применение этих технологий на бытовом уровне на сегодня пока экзотика, но они вполне доступны любому айтишнику, владеющему современными языками программирования. А в Интернете можно найти и готовые скрипты, и онлайн-сервисы.
Для чего нужны нейронные сети?
Благодаря ИНС, машина обретает способность анализировать и даже запоминать различную информацию. И самое главное, на основе своего опыта система может предполагать результат.
Самыми распространёнными применениями нейронных сетей является:
– Классификация – распределение данных по параметрам. Например, на вход даётся набор людей и нужно решить, кому из них давать кредит, а кому нет. Эту работу может сделать нейронная сеть, анализируя такую информацию как: возраст, платёжеспособность, кредитная история и т. д.
– Предсказание – возможность предсказывать следующий шаг. Например, рост или падение акций, основываясь на ситуации на фондовом рынке.
– Распознавание – в настоящее время, самое широкое применение нейронных сетей. Используется в Google, когда вы ищете фото или в камерах телефонов, когда оно определяет положение вашего лица и выделяет его и многое другое.
Постепенно складывается рынок нейрокомпьютеров. В настоящее время широко распространены различные высокопараллельные нейро-ускорители (сопроцессоры) для различных задач. Моделей универсальных нейрокомпьютеров на рынке мало, отчасти потому, что большинство из них реализованы для спецприменений. Примерами нейрокомпьютеров являются нейрокомпьютер Synapse (Siemens, Германия), процессор NeuroMatrix. С технической точки зрения, сегодняшние нейрокомпьютеры – это вычислительные системы с параллельными потоками одинаковых команд и множественным потоком данных (MSIMD-архитектура). Это одно из основных направлений развития вычислительных систем с массовым параллелизмом.
Искусственная нейронная сеть может передаваться от нейрокомпьютера к нейрокомпьютеру, так же, как и компьютерная программа. Выделяются несколько уровней отчуждения нейронной сети от универсального нейрокомпьютера: от сети, обучающейся на универсальном устройстве, до полного отчуждения без возможностей обучения и модификации, только функционирование обученной сети.
Чем сложнее обученная сеть, тем труднее извлечь из неё явный и понятный пользователю алгоритм решения задачи, поскольку собственно нейронная сеть и является
- Границы поведения животных и психологическая деятельность человека - Александр Лурия - Биология
- Мозг, разум и поведение - Флойд Блум - Биология
- Двойной мир. Орбитальная сага - Оксана Тарасовна Малинская - Космическая фантастика / Научная Фантастика / Периодические издания
- Истоки мышления и сознания - З. Зорина - Биология
- Американские трагедии. Хроники подлинных уголовных расследований XIX–XX столетий. Книга I - Алексей Ракитин - Публицистика / Периодические издания / Юриспруденция
- Динозавры России. Прошлое, настоящее, будущее - Антон Евгеньевич Нелихов - Биология / История / Прочая научная литература
- Антропологический детектив. Боги, люди, обезьяны... - Александр Белов - Биология
- Мастер веры в себя 2 - Артур Спароу - LitRPG / Периодические издания / Фэнтези
- Серебряный Разум - Алексей Николаевич Сысоев - Попаданцы / Периодические издания / Фэнтези / Юмористическая фантастика
- Мифозои. История и биология мифических животных - Олег Ивик - Биология / Мифы. Легенды. Эпос