- •Реферат
- •Содержание
- •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. Выводы
- •Заключение
- •Список использованных источников
- •Приложение Исходные коды основных классов
Преимущества и недостатки ооп-подхода
Очевидным преимуществом ООП-подхода является ясная иерархия объектов. Стандартным подходом к реализации нейронных сетей является создание полностью открытой системы, где данные хранятся в массивах, а доступ к ним осуществляется внешней функцией. ООП-подход дает инкапсуляцию данных, что позволяет лучше понимать взаимодействией частей программы. Также при таком подходе многие функции более естественно разделяются на подфункции: например активация сети как последовательный вызов функции активации слоев, которые, в свою очередь, вызывают функции активации своих нейронов. Также это касается взаимодействия элементов: синаптические связи генерируются на уровне слоя и присваиваются нейронам однократно, а последующая активация одного нейрона является обращением к его собственным связям. Такая структура позволяет поэтапно отлаживать программу: на уровне сети и ее обращения к слоям, на уровне взаимодействия слоев с нейронами и на уровне внутренних функций нейронов.
Также разделение сети на самодостаточные объекты позволяет легче перейти к использованию параллельных вычислений. Чтобы применить распараллеливание на цельной системе, необходимо искусственно разделить ее данные на независимые фрагменты; при объектно-ориентированном подходе каждый нейрон имеет все необходимые ему данные и может обсчитываться независимо. Поскольку нейронные сети являются системой с большими требованиями к ресурсам и при этом обладает параллельностью на уровне данных. Таким образом задача может быть распараллелена не только методом использования нескольких CPU, но и на графическом процессоре. И имеющаяся структура подходит для этого наилучшим образом.
Недостатком ООП-парадигмы вообще и ее применения к данной сети в частности является увеличение временных и пространственных затрат при одинаковом размере системы. Временные затраты связаны с необходимостью взаимодействия объектов через интерфейсы, а не напрямую и увеличением числа переходов в памяти, а пространственная – с возникающим дублированием данных ради поддержания инкапсуляции.
Производительность системы
Для проверки пригодности системы рассмотрим максимально допустимую по количеству занимаемой памяти конфигурацию сети.
Таблица 1.1. Объем памяти, требуемой первой версии системы
Входной образ |
64х64 px |
||||||||||
Структура сети |
5 S-слоев, 6 C-слоев |
||||||||||
|
UG(UC0) |
US1 |
UC1 |
US2 |
UC2 |
US3 |
UC3 |
US4 |
UC4 |
US5 |
UC5 |
Количество плоскостей (K) |
2 |
12 |
12 |
6 |
6 |
6 |
6 |
6 |
6 |
4 |
4 |
Размер окрестности |
4 |
7 |
4 |
4 |
4 |
3 |
3 |
3 |
3 |
3 |
15 |
Фактические размеры плоскости слоя (px) |
73 х 73 |
87 х 87 |
52 х 52 |
60 х 60 |
38 х 38 |
44 х 44 |
28 х 28 |
34 х 34 |
23х 23 |
29х 29 |
1 х 1 |
Объем памяти, сети и слоев |
M ~ 50 MB |
||||||||||
Объем памяти нейронов |
M ~ 1500 MB |
||||||||||
Данные размеры не позволяют сконструировать сеть согласно описанию Фукусимы в работе [1], предназначенную для распознавания цифр на образцах 64х64 пикселя. Поскольку программа создана для работы с произвольными образцами, которые могут быть большего размера, а также иметь более сложную структуру (и для этого требовать большего числа нейронных плоскостей), эти затраты по памяти неприемлемы. Также можно заметить, что данная сеть не сможет полноценно обучаться, поскольку процесс обучения последних слоев включает в себя генерацию дополнительных нейронных плоскостей.
