- •Реферат
- •Содержание
- •1.Основная часть
- •1.1.Введение
- •1.2. Теоретическая часть: искусственные нейронные сети История возникновения
- •Общие принципы
- •Обучение нейронных сетей
- •Подходы к обучению
- •Обучение с учителем
- •Обучение без учителя
- •Методы обучения нейронных сетей с учителем Обучение однослойного персептрона
- •Метод обратного распространения ошибки
- •Градиентные методы
- •Эвристические методы
- •Методы обучения без учителя Обучение на основе корреляции
- •Сети pca
- •Сети ica
- •Сети с самоорганизацией на основе конкуренции
- •Алгоритм wta и сети Кохонена
- •Сети, решающие задачу распознавания образов
- •Когнитрон Архитектура
- •Обучение
- •Использование латерального торможения в обучении
- •Неокогнитрон
- •Архитектура
- •Структура слоев неокогнитрона Входной слой u0
- •Слой извлечения контраста ug
- •Обучение неокогнитрона
- •Обучение с учителем
- •Обучение без учителя промежуточных слоев
- •Обучение последнего слоя
- •Задача поиска образца на изображении
- •Структура Synapse (синаптическая связь)
- •Класс Neurolayer
- •Его наследники – классы cLayer и Slayer
- •Класс нейросети (Neuronet)
- •Преимущества и недостатки ооп-подхода
- •Производительность системы
- •Модификация системы
- •Производительность модифицированной системы
- •Алгоритм Создание сети
- •Расчет значений нейронов
- •Обработка данных
- •Обучение слоя s1 сети с учителем
- •Обучение слоя Sl без учителя
- •Обучение слоя sn
- •Поиск образцов на изображении
- •Анализ результатов Параметры реализованной системы
- •Быстродействие системы
- •Результат поиска на изображении
- •Применимость метода
- •Преимущества и недостатки системы
- •Дальнейшие возможности
- •2.ЭкономИческая часть
- •2.1. Введение
- •2.2. Сетевой график работ
- •Pert-анализ работ проекта
- •Дисперсия оценки сроков проекта
- •2.3. Затраты на создание проекта
- •Материальные затраты Расходные материалы
- •Затраты на электроэнергию
- •Заработная плата участников проекта
- •Социальные отчисления
- •Амортизационные отчисления
- •Прочие расходы
- •2.4. Выводы
- •3.Охрана труда и окружающей среды
- •3.1. Введение
- •Характеристики помещения
- •Оборудование
- •3.2. Анализ условий труда Санитарно-гигиенические факторы
- •Микроклимат
- •Освещение
- •Характеристики рабочего места
- •Электроопасность
- •Вибрация
- •Электромагнитные излучения
- •Эргономика рабочего места
- •Психофизиологические факторы
- •3.2. Расчет
- •Расчет эквивалентного шума и дозы для непостоянного шума
- •Вывод об уровне шума в помещении
- •3.3. Выводы
- •Заключение
- •Список использованных источников
- •Приложение Исходные коды основных классов
Обучение последнего слоя
Для обучения последнего слоя также используется вариация обучения без учителя на основе конкуренции. Однако у этого подхода есть отличия от обучения промежуточных слоев.
Конкурентной областью для выбора обучаемой клетки становится весь слой целиком. Если была выбрана клетка, имеющая максимальное значение на всем слое, она (а с ней и ее плоскость) обучаются распознавать поступивший для обучения образец. Если не было выбрано ни одной клетки (либо есть несколько равновозбужденных клеток, либо, чаще, все клетки не реагируют), генерируется дополнительная плоскость, и ее центральная клетка становится зерном. Таким образом, если образец вызвал неопределенную реакцию слоя, на слое добавляется плоскость, которая обучается распознавать этот образец. При этом один образец (возможно с небольшими изменениями) может вызывать реакцию разных плоскостей.
У каждой плоскости S-слоя есть соответствующая ей метка класса. При подаче обучающего образца на входной слой нейронная сеть знает, к какому классу относится образец. При этом разные трансформации одного и того же изображения являются обучающими образцами одного класса. Когда плоскость последнего S-слоя реагирует на образец, ее метка сравнивается с известной меткой класса образца. Если они совпадают, эта плоскость обучается. Если нет – считается, что победителя нет и создается новая плоскость, причем ей после обучения присваивается необходимая метка класса.
Последний C-слой, следующий за последним S-слоем занимается классификацией образцов. Он содержит N плоскостей, по числу классов образцов, причем каждая состоит из 1 нейрона. На последнем S-слое для каждого класса существует несколько распознающих его плоскостей, и все они привязаны к одной плоскости последнего С-слоя: той, которая соответствует этой метке класса. Веса и пороговое значение для последнего слоя подбираются таким образом, чтобы при возникновении возбуждения в любой из плоскостей, отвечающих за этот класс, нейрон этого класса отрегировал и выдал максимальный выходной сигнал.
Задача поиска образца на изображении
Задача поиска образца рассматривается как модификация задачи распознавания образца. В качестве обучающей выборки используется искомый образец и его трансформации. Все они считаются изображениями одного класса. В процессе обучения от сети требуется узнавание образца. После обучения пороги распознавания увеличиваются чтобы уменьшить число ложных срабатываний. Оптимальной является конфигурация сети с узкими областями узнавания каждой модификации образца и большим количеством модификаций, подаваемых в качестве обучающих примеров (повороты, масштабирование). Таким образом будет минимизировано число ложных срабатываний в областях, где образец на изображении отсутствует. Также задача легко расширяется до поиска нескольких типов образцов на изображении – это требует только увеличения размера сети, но не изменения принципов ее функционирования.
Когда сеть обучена, входное изображение, на котором производится поиск, разбивается на пересекающиеся фрагменты с размером, соответствующим размеру входного слоя. Для обучения сети оптимальными являются входные образцы, где большая часть пикселей содержит информацию об образце (а не изображения с большой долей фоновых пикселей). При этом входное изображение будет разбиваться на большое количество небольших фрагментов.
Ответ сети представляется в дискретном виде, сеть указывает на наличие образца во фрагменте или его отсутствие. Таким образом один и тот же образец находится сетью многократно, в нескольких пересекающихся фрагментах изображения. Конечным ответом можно считать некоторое среднее положение образца среди найденных пересекающихся фрагментов.
1.3. Практическая часть: программная реализация неокогнитрона
Объектно-ориентированный подход к проектированию сети
Структура программы
В неокогнитронной сети можно выделить следующие объекты: нейрон, синаптическая связь, слой нейронов (включает в себя нейроны и связи), нейронная сеть (включает в себя нейронные слои).
Рис. 1 .10 изображает диаграмму классов сети, включающая в себя классы и их основные методы. Ниже классы приведено подробное описание классов.
Рис. 1.10. Диаграмма классов сети (версия 1)
Класс Neuron (нейрон)
Нейрон – это вычислительный узел нейронной сети. Его основным предназначением является получение входных сигналов, их суммирование и выработка выходного сигнала для последующей передачи.
Ключевые параметры и методы класса указаны на диаграмме классов (рис. 10)
Значение выходного сигнала нейрона – параметр нейрона value. Нейрону также известна собственная абсолютная позиция на слое и радиус окружения.
Связь нейронов и синапсов в теории равноценная: как нейрон может считаться центральным объектом, через который происходит обращение к синапсам, так и синапс может обращаться к двум нейронам, с которыми он связан. Таким образом, ссылки на входной и выходной нейрон должны присутствовать у синапсов, а ссылки на входные и выходные связи – у нейронов. Поскольку в сети отсутствует обратная связь, исключим выходные связи из рассмотрения.
Одной из особенностей неокогнитрона являются общие веса для соседних групп нейронов. Вес – это параметр синаптической связи. Тогда нейрон должен хранить только ссылку на синаптические связи, а сами связи хранятся на более высоких уровнях сети. Ссылки хранятся в виде вектора позиций в массиве связей. Ссылка на массив связей передается в качестве параметра функции вычисления сигнала.
Функция вычисления сигнала зависит от слоя, к которому принадлежит нейрон, и определяется классом слоя.
Из-за особенностей синаптических связей (описанных ниже), нейрон не имеет абсолютной ссылки на своих соседей, а получает только их координаты. Для этого в функции активации передается ссылка на массив нейронов предыдущего слоя, а также размеры этого массива.
