Немножко о нейронных сетях 3
Описание перцептрона
Напоминаю, что мы рассматриваем сеть для распознавания простых картинок:
Несмотря на то, что каждый нейрон выполняет элементарные арифметические функции, из-за их количества работать напрямую с уравнениями довольно-таки неудобно. Поэтому мы применим своего рода лайфак. Для начала запишем, как будет складываться значение на выходе первых нейронов второго слоя (без учета округления):
Где s_j - выходное значение j-го нейрона, w_ij - вес синапса, выходящего из нейрона i и заходящего в нейрон j, а x_i - входное значение на i-м нейроне.
Смотрится страшно?) Но, как можно заметить, уравнения прямо-таки одинаковые, меняются только индексы. Поэтому математики придумали, как бы записать это попроще, а именно:
где каждый элемент - это матрицы:
Процедура умножения матрицы на матрицу определена таким образом, что результат - тоже матрица, причем каждый элемент вычисляется как раз соответственно уравнениям выше.
Если задать в программе процедуры умножения, сложения матриц и умножения матрицы на число универсально для любого размера этих матриц, то непосредственно работа с ними сводится к анализу таких простых формул. Кстати, мы же рассмотрели только переход одного слоя нейронов ко второму, а у нас есть еще третий. Но как можно видеть, второй переход очень похож на первый: там те же 16 входов, 16х16 синапсов и 16 выходов. Поэтому переход от второго слоя к третьему (опять же, опустим операцию округления) будет выглядеть как:
Сама операция округления может быть произведена отдельно для S перед вычислением М, а затем для M перед выдачей результата.
Работа сети (распознавание картинки) происходит итеративно, т.е. после первой обработки искаженной картинки сетью, результат может не быть достигнут. В этом случае необходимо взять полученный результат и снова прогнать его через сеть, и так (возможно) несколько раз. Строго говоря, после выполнения ряда итераций результат может быть следующим:
На выходе сети получится один из исходных образов. На следующих итерациях он уже не будет меняться, т.к. сеть изначально обучена с тем критерием, что при обработке обучающего образа он не изменяется.
На выходе сети получится стабильный (не меняющийся при последующих итерациях) образ, не совпадающий, однако, ни с одним из эталонных. Такой образ называется химерой.
На выходе сети не получается стабильного результат, но происходит зацикливание: картинка 1 - картинка 2 -... - картинка 1 - ... . Честно говоря, не знаю, характерна ли такая проблема для перцептрона, но она характерна для другого типа сетей - сети Хопфилда. Сеть Хопфилда может попасть в состояние, называемое динамическим аттрактором, заключающееся в том, что она бесконечно переключается между двумя картинками, не совпадающими ни с одним из эталонных образов.
Поэтому сеть нужно остановить в некоторый момент. Причем, как видно, неправильно будет устанавливать критерием остановки работы сети совпадение результата с одним из эталонных образов. Как правило, имеет смысл установить критерием стабилизацию результата вместе с максимальным числом циклов. Например, критерий может звучать так: "Остановить работу сети в случае, если очередное полученное изображение не отличается от поданного на вход, либо после 100 итераций, если изображение не стабилизировалось".





Наука | Научпоп
9.7K постов83.2K подписчиков
Правила сообщества
Основные условия публикации
- Посты должны иметь отношение к науке, актуальным открытиям или жизни научного сообщества и содержать ссылки на авторитетный источник.
- Посты должны по возможности избегать кликбейта и броских фраз, вводящих в заблуждение.
- Научные статьи должны сопровождаться описанием исследования, доступным на популярном уровне. Слишком профессиональный материал может быть отклонён.
- Видеоматериалы должны иметь описание.
- Названия должны отражать суть исследования.
- Если пост содержит материал, оригинал которого написан или снят на иностранном языке, русская версия должна содержать все основные положения.
- Посты-ответы также должны самостоятельно (без привязки к оригинальному посту) удовлетворять всем вышеперечисленным условиям.
Не принимаются к публикации
- Точные или урезанные копии журнальных и газетных статей. Посты о последних достижениях науки должны содержать ваш разъясняющий комментарий или представлять обзоры нескольких статей.
- Юмористические посты, представляющие также точные и урезанные копии из популярных источников, цитаты сборников. Научный юмор приветствуется, но должен публиковаться большими порциями, а не набивать рейтинг единичными цитатами огромного сборника.
- Посты с вопросами околонаучного, но базового уровня, просьбы о помощи в решении задач и проведении исследований отправляются в общую ленту. По возможности модерация сообщества даст свой ответ.
Наказывается баном
- Оскорбления, выраженные лично пользователю или категории пользователей.
- Попытки использовать сообщество для рекламы.
- Фальсификация фактов.
- Многократные попытки публикации материалов, не удовлетворяющих правилам.
- Троллинг, флейм.
- Нарушение правил сайта в целом.
Окончательное решение по соответствию поста или комментария правилам принимается модерацией сообщества. Просьбы о разбане и жалобы на модерацию принимает администратор сообщества. Жалобы на администратора принимает и общество Пикабу.