Главная страница
Навигация по странице:

  • Б1.О.08 Проектирование интеллектуальных систем

  • Объект исследования

  • Задачи

  • Этапы жизненного цикла разрабатываемой программы

  • Математический аппарат для нейросети

  • Постановка задачи

  • Диаграмма вариантов использования структура приложения mnist_loader.py network.py архив БД

  • ) training_data

  • 28 × 28 px Количество слоёв нейронной сети: 3 Среда программирования: Python 3.7.4 Используемая библиотека: NumPy Обучение нейронной сети

  • Стратегии коррекции параметров

  • Созданная НС Запуск пРОЕКТА

  • Разработка простейшей нейронной сети. Тема курсовой работы Разработка простейшей нейронной сети, распознающей элементарные монохромные изображения на основе модели из n нейронов


    Скачать 0.63 Mb.
    НазваниеТема курсовой работы Разработка простейшей нейронной сети, распознающей элементарные монохромные изображения на основе модели из n нейронов
    АнкорРазработка простейшей нейронной сети
    Дата07.06.2022
    Размер0.63 Mb.
    Формат файлаpptx
    Имя файлаРазработка простейшей нейронной сети.pptx
    ТипДокументы
    #575629

    Тема курсовой работы Разработка простейшей нейронной сети, распознающей элементарные монохромные изображения на основе модели из n нейронов


    Б1.О.08 Проектирование интеллектуальных систем

    2020

    Актуальность

    Применение методов искусственного интеллекта при решении задач распознавания образов позволит понять, что конкретно происходит внутри нейронной сети (НС), как реализуется ее обучение, − создаст базу по овладению долгосрочными идеями, которые закладываются в готовые библиотеки для ИНС в разных языках программирования при проектировании интеллектуальных систем

    Объект исследования: нейросетевые и нейрокомпьютерные технологии

    Предмет: программная реализация нейронной сети

    Цели и задачи проекта

    Цель : разработка программы для распознавания монохромных изображений рукописных цифр на основе программно созданной и обученной нейронной сети

    Задачи:


      Проанализировать предметную область − изучить математический аппарат нейросетей
      Изучить алгоритм коррекции весовых коэффициентов однослойного персептрона с J входами и I выходами (обобщенное дельта-правило, метод градиентного спуска).
      Освоить алгоритм обратного распространения ошибки многослойного персептрона.
      Проанализировать возможности инструментальных средств разработки нейросети для распознавания образов (изображений цифр) на примере IDLE Python 3.7.4.
      Разработать программу создания НС для распознавания изображений цифр
      Протестировать и отладить программу

    Этапы жизненного цикла разрабатываемой программы


    Анализ предметной области ;
    Проектирование структуры программы (1-определение архитектуры ИНС, 2-обучение ИНС);
    Составление программы на языке Python;
    Тестирование и отладка.

    Математический аппарат для нейросети


    Рисунок 1 − Нелинейная модель нейрона

    Рисунок 1 − Нелинейная модель нейрона

    Рис.1 − Нелинейная модель нейрона

    Рис. 2 − Активационные функции НС

    Однослойный персептрон

    Постановка задачи

    Отыскание такого сочетания весовых коэффициентов wi,j, которому соответствует минимум функции


    Методы решения:

    Метод градиентного спуска



    (1)

    (2)

    алгоритм обратного распространения ошибки для обучения многослойных персептронов

    (3)


    прямой проход: вычислить состояния нейронов S всех слоёв и выход сети y
    вычисляем значения для выходного слоя
    обратный проход: последовательно от конца к началу для всех скрытых слоёв вычисляем δ по формуле (3)
    для каждого слоя вычисляем значение градиента,

    где y − вектор-вход. слоя, δ − вектор ошибки на выходе слоя.


    Разработка программы, создающей Нейросеть для распознавания рукописных цифр


    Диаграмма вариантов использования

    структура приложения


    mnist_loader.py
    network.py

    архив БД

    БД содержит 70 000 изображений рукописных цифр, разделенных на три набора:

    1) training_data – набор из 50 000 изображений предназначен для обучения нейронных сетей;

    2) validation_data – набор из 10 000 изображений предназначен для текущей оценки работы алгоритма обучения и подбора параметров обучения;

    3) test_data – набор из 10 000 изображений предназначен для проверки работы нейронной сети.

    Модуль mnist_loader.py

    Функция load_data_wrapper корректировка форматов наборов training_data, validation_data ,test_data


    Список, содержащий

    50 000 пар (x, y), где

    x (784 x 1) y(10 x 1)

    def vectorized_result(j):

    e = np.zeros((10, 1))

    e[j] = 1.0

    return e

    # формируем набор обучающих данных из пар (x, y)

    training_data = zip(training_inputs, training_results)

    Исходные данные для программы


    Входные данные для нейронной сети: изображения размером 28 × 28 px
    Количество слоёв нейронной сети: 3
    Среда программирования: Python 3.7.4
    Используемая библиотека: NumPy

    Обучение нейронной сети

    Схема настройки весов - «обучение с учителем»:


    обрабатываем учебный набор определяем ошибки если результат удовлетворительный, то конец работы корректируем параметры переход на п.1

    Стратегии коррекции параметров: полная, частичная или стохастическая


    модуль network.py Создание нейронной сети

    Вывод РезультатА работы МОДУЛЯ network.py


    Созданная НС

    Запуск пРОЕКТА


    Слайд 11

    Результат работы приложения Network1

    Итоги


    Приобретены полезные навыки по проектированию и созданию ИНС
    Изучен математический аппарат, как основа машинного обучения
    Построена диаграмма вариантов использования (рис. 7) как концептуальная модель проектируемого приложения
    Программная реализация проекта выполнялась на языке Python средствами IDLE Python 3.7.4. Заключительным звеном процесса проектирования стало тестирование и отладка.
    Результат работы программы: обученная сеть даёт максимально верное распознавание рукописных изображений и составляет около 95 %.



    написать администратору сайта