Всем привет! В прошлый раз мы познакомились с самыми основами нейросетевых технологий и выяснили, что работа сети это всего лишь вычисление суммы всех произведений.
Воздействие раздражителя x умножается на проводимость нейрона w, после этого произведения от каждого нейрона суммируются и на основе этой суммы принимается решение.
Также чуть ранее мы рассмотрели конструкцию простейшего зрительного сенсора технологии LiDAR, получающей в последнее время все большую популярность. Для определенности и большей наглядности принимаем количество сенсоров 32*8 = 256. Много ли вычислений при 256 умножений и сложений? Да не очень, поэтому нейросети вполне могут быть реализованы программно и это относительно не загружает микропроцессоры.
Сформулируем задачу нейросети как обнаружение автомобилей (класс 0), велосипедистов (класс 1) и пешеходов (класс 2). Все эти классы имеют различные свойства и ожидать от них стоит своего индивидуального поведения.
Описание нейросети окончено, пора переходить к обучению.
Обучающая выборка
Нейросеть обучается при помощи множества образов предметов. Эти предметы предъявляются ей с целью вычисления реакции и исходя из нее подстраиваются весовые коэффициенты. Для начала определимся как подбирать эти образы.
Автомобиль может попасть под обзор сенсоров в самых разнообразных проекциях и тем не менее он остается автомобилем.
Разумеется, поскольку анализируемое изображение приходит к нейросети после LiDAR с уменьшенным количеством элементов, то обучающая выборка должна содержать такие же изображения основных проекций автомобиля. Те же самые рассуждения верны для велосипедистов и пешеходов.
Обучение при помощи Дельта-правила
В самом простом алгоритме обучения, называемом Дельта-правило совсем немного шагов и вариантов действий, поэтому понимается и запоминается он довольно легко.
- Сначала весам присваиваются случайные значения.
- После предъявления обучающего изображения вычисляется сумма произведений. В формуле ниже i - номер сенсора, w ij - вес, ведущий к решению класса j.
- Если выходной сигнал приводит к правильному решению, то ничего не делаем и предъявляем следующее изображение.
- Если выходной сигнал неправильный и решение равно нулю, то необходимо добавить каждому весу величину входного сигнала.
А вот тут немного внимания. Величина t называется эпохой, синоним времени, только оно идет шагами и имеет порядковые номера. Номера эпох. С каждой новой эпохой величины весовых коэффициентов могут изменяться.
Если воздействие было нулевым, то и вес связи не изменится, но если воздействие на сенсор не нулевое, то вырастет вес связи.
- Если выходной сигнал сети неправильный и равен единице, то нужно наоборот уменьшить веса связей на величину воздействия.
- После этого необходимо перейти к вычислению реакции сети уже с новыми коэффициентами, затем перейти к следующим шагам и алгоритм зацикливается до тех пор, пока в результате подстройки весов вероятность правильного распознавания образа не достигнет нужных значений.
Главный вывод этого параграфа -
в процессе работы нейросеть не требовательна к вычислительным мощностям, однако процесс обучения требует большого количества вычислений и бывает, что растягивается на неопределенный срок.
Способность обобщать
Самое интересное начинается при тестировании сети на ранее неизвестных образах. Образы могут очень сильно отличаться от предлагавшихся сети образов при обучении, но при этом сеть проявляет свое самое главное полезное свойство. Как мозг живого существа она способна к обобщению. Изображения похожих автомобилей с высокой степенью достоверности будут опознаны как класс автомобиль. Остальные изображения, не похожие на него, приведут к правильным решениям сети об отсутствии образа автомобиля. Решения будут в пользу велосипедиста или пешехода.
Это самое важное и удивительное свойство нейронной сети.
- Во-первых, если существует такой набор весов, при котором обеспечивается требуемое распознавание образов, то в результате обучения такие веса будут найдены. Впрочем, могут быть найдены и совсем другие веса, обеспечивающие распознавание. Из этого следует, что решения может не быть совсем или их может быть несколько.
- Во-вторых, свойство обобщения позволяет сети принимать правильные решения даже если образы отдаленно напоминают тестовые. Это очень полезно в таких областях, как распознавание изображений в компьютерном зрении или при обработке рукописного текста.
- В-третьих, нейросеть продолжает работать даже при частичной потере своих нейронов и это свойство называется робастностью. Это свойство полезно скорее всего для живых организмов.
Недостатки алгоритма
Конструкция сети с одним слоем носит название однослойный персептрон. Для своего класса задач вполне годный инструмент. Алгоритм Дельта-правило является довольно простым и топорным. Как в случае с адаптивными фильтрами, адаптация весовых коэффициентов нейросети может проходить не совсем гладко, если шаги изменения весов довольно большие.
В этом алгоритме длину шага никак нельзя регулировать, поэтому вероятно, что сеть никогда не придет в свое самое эффективное состояние. Другими словами, большими шагами идеальной оптимизации сети можно не добиться.
В следующий раз рассмотрим конструкции сетей посложнее, а также процесс их обучения. А на этом все. До следующего выпуска.
Поддержите статью лайком если понравилось и подпишитесь чтобы ничего не пропускать.
Также не обойдите вниманием канал на YouTube. Подписки и лайки будут приятным ответом от аудитории.