Раньше это можно было зделать просто нажав на тест и посмотреть результаты а сейчас никак |
Основы "живого" моделирования
Для начального этапа разработки — эксперимента и демонстрации — достаточно выбрать однослойную логическую нейронную сеть. Рецепторный слой соответствует клеткам экрана образа. Величина их засветки (полная, частичная, нулевая) определяет величину возбуждения соответствующего рецептора.
Запоминание образа-эталона, т.е. обучение, производится непосредственным установлением связей между клетками области экрана, включающей эталон (с учетом допусков, позволяющих неточное воспроизведение эталона в рабочем режиме, а лишь приблизительное — нетвердой рукой, с зашумлением и т.д.), и нейроном выходного слоя, "отвечающим" за этот эталон. Веса связей — единичные. Данный принцип изложен в "Основы нейросетевых технологий" .
На рис. 15.12 показаны связи, отображающие запоминание эталона "яблоко". Для упрощения выбран экран в 6x4 клеток. Покрываемые эталоном клетки закрашены.
После обучения яблоку, т.е. после фиксации введенных связей, введем эталон "морковка". Отдельно его расположение на экране может быть проиллюстрировано на рис. 15.13.
Закрепим за морковкой нейрон выходного слоя и свяжем его со всеми закрашенными клетками экрана.
Совместное запоминание двух эталонов показано на рис. 15.14.
Нейросеть представлена матрицей следования на рис. 15.15. Здесь рецепторы — клетки экрана наделены сквозной нумерацией вдоль строк и по строкам.
Однако очевидно, что при сквозной нумерации рецепторов однослойной нейросети достаточно хранить и анализировать лишь строки, соответствующие нейронам выходного слоя, т.к. остальные строки — нулевые. В данном случае это две последние строки.
Выберем передаточную функцию. А именно, величину Vi возбуждения нейронов выходного слоя считаем

где — не раз используемая
функция отклонения отрицательных значений.
Здесь j принимает значение номеров рецепторов, участвующих с единичными весами (поэтому веса не указаны в передаточной функции) в запоминании эталона, Gj — число таких рецепторов. Делением на Gj производится приведение всех величин возбуждения по эталонам в один диапазон изменения. Это необходимо для того, чтобы "большие" образы, частично засвеченные вследствие возмущения "маленьких" образов, не подавляли эти последние. Так, в данном примере "морковка" засвечивает 16 клеток, а "яблоко" — только 13.
Порог h определяет предел допустимости вывода.
Конечно, в примере экран содержит всего 24 клетки, поэтому его разрешающая способность, а следовательно, вероятность распознавания очень низки. Тем не менее с достаточной уверенностью можно считать, что если на экране произвольно нарисовать яблоко, то, скорее всего, рисунок более засветит те рецепторы, которые связаны с нейроном "яблоко", и в меньшей степени — рецепторы "морковки". Тогда при расчете возбуждения нейронов выходного слоя следует ожидать, что нейрон "яблоко" будет обладать большей величиной возбуждения.
Однако в любом случае величина возбуждения должна преодолеть порог на тот случай, если это и не морковка, и не яблоко, а также при большом "зашумлении".
Алгоритм обработки выделенных строк матрицы следования однослойной сети примитивен.
Последовательно просматриваются строки, соответствующие нейронам выходного слоя, и для каждой строки рассчитывается значение передаточной функции. Для этого используются значения возбуждения тех рецепторов, в столбцах которых находятся единицы. Затем выделяется максимально возбужденный нейрон.
Работа модели, как системы реального времени, тактируется в соответствии с темпом выдачи кадров, т.е. с частотой, обеспечивающей комфортное восприятие.
Проблема анимации заключается в выдаче промежуточных кадров по ключевым кадрам с частотой восприятия. На каждом шаге анимации анализируются два кадра: только что показанный и ключевой, к изображению которого аниматор последовательно стремится.
С целью демонстрации потенциальных возможностей воспользуемся упрощенным алгоритмом плоской анимации по контрольным точкам и разрезам.
А именно, при формировании промежуточных кадров будем руководствоваться смещением контрольных точек и разрезов в системе координат, связанной с объектом. Список координат контрольных точек, а также координат точек начала и конца каждого разреза, сопровождает каждый ключевой кадр. Между кадрами сохраняется соответствие их контрольных точек и разрезов.
На рис. 15.16 показаны два смежных ключевых кадра : кадр K и кадр L. Однако кадр К в общем случае — некоторый начальный ( ключевой или промежуточный) кадр i (значению i = 0 соответствует кадр К ), от показа которого необходимо плавно, через показ ряда промежуточных кадров, перейти к показу кадра L. Тогда следующий, i+1 -й кадр, выдаваемый в следующем такте работы модели, должен быть получен на основе одного шага изменения кадра i.
Пусть на рисунке К1-К5 — исходные контрольные точки (конечно, невидимые), заданные своими координатами (xKj, yKj) ; L1-L5 - соответствующие им контрольные точки (xLj, yLj) в результирующем кадре L, j = 1, ..., 5.
Контрольные точки Kj
через N тактов должны перейти в контрольные точки Lj
, увлекая за собой некоторую окрестность . Причем моделируется свойство "вязкости",
при котором более удаленные от центра (Kj)
точки смещаются меньше.
Более того, если область
пересекается разрезом, то перенос
точек по другую сторону разреза не производится (см. открытие рта). В примере задан такой отрезок [A1, A2]
, который должен перейти в отрезок [B1,
B2]
.