Ильенко Анна
группа гр.10ИИ (спец-ть 09.02.13 Интеграция решений с применением технологий ИИ)
Государственное бюджетное профессиональное образовательное учреждение «Дмитровский техникум»
КУРАТОР УЧАСТНИКА:
Агеева Инна Валерьевна
Преподаватель
ГБПОУ МО «Дмитровский техникум»
Свидетельство о публикации в электронном СМИ: СВ №223520
Наименование конкурса: Всероссийский конкурс для студентов «Digital Science Projects», в рамках реализации федерального проекта «Цифровая образовательная среда»
Наименование конкурсной работы: Структурный подход к моделированию нейронных сетей: сравнительно-аналитическое исследование и практическое применение
Итоговая оценка: 1 место,  97 баллов(-а)
Диплом Всероссийского конкурса, бланк: ЕА №223520


АВТОНОМНАЯ НЕКОММЕРЧЕСКАЯ ОРГАНИЗАЦИЯ «НАУЧНО-ОБРАЗОВАТЕЛЬНЫЙ ЦЕНТР ПЕДАГОГИЧЕСКИХ ПРОЕКТОВ»

Всероссийский конкурс для студентов «Digital Science Projects», в рамках реализации федерального проекта «Цифровая образовательная среда»

МИНИСТЕРСТВО ОБРАЗОВАНИЯ МОСКОВСКОЙ ОБЛАСТИ

ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ МОСКОВСКОЙ ОБЛАСТИ

«ДМИТРОВСКИЙ ТЕХНИКУМ»

(ГБПОУ МО «Дмитровский техникум»)

ИССЛЕДОВАТЕЛЬСКАЯ РАБОТА

на тему

«Структурный подход к моделированию нейронных сетей: сравнительно-аналитическое исследование и практическое применение»

Выполнила студентка 1 курса:

Код специальности (профессии) 09.02.13

Специальность (профессия) Интеграция решений с применением технологий искусственного интеллекта

Ильенко Анна Сергеевна ________________

(ФИО) (Подпись)

Группа 10ИИ

Руководитель исследовательской работыПреподаватели общеобразов. дисциплин(степень, ученое звание при наличии)
Агеева Инна Валерьевна

г. Дмитров — 2026г.

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 3
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ СТРУКТУРНОГО ПОДХОДА К МОДЕЛИРОВАНИЮ НЕЙРОННЫХ СЕТЕЙ 5
1.1. Основные понятия и определения 5
1.2. Историческое развитие структурного подхода 5
1.3. Математические основы структурного моделирования 6
1.4. Классификация структурных подходов 7
1.5. Типы структурных данных в нейронных сетях 7
1.6. Структурные элементы нейронных сетей 8
1.7. Связь с искусственным интеллектом 8
1.8. Сравнительный анализ структурных подходов 9
1.9. Современные тенденции структурного моделирования 10
1.10. Практическое применение структурного подхода 11
ГЛАВА 2. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ СТРУКТУРНОГО ПОДХОДА: КЕЙС-ЗАДАЧА ПО КЛАССИФИКАЦИИ 13
2.1. Постановка задачи 13
2.2. Структурный анализ задачи 13
2.3. Проектирование структуры нейронной сети 14
2.4. Пошаговое решение задачи 14
2.5. Анализ результатов и структурные улучшения 21
ЗАКЛЮЧЕНИЕ 24
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 28

ВВЕДЕНИЕ

Актуальность исследования. Структурный подход к моделированию нейронных сетей представляет значительный научный и практический интерес в контексте развития технологий искусственного интеллекта. Актуальность темы обусловлена растущим применением нейросетевых технологий в различных отраслях, где для обеспечения заданных свойств систем необходимо применение математических методов на основе нейросетевых технологий, особенно в случаях отсутствия тривиально программируемых алгоритмов принятия решений. Постоянное увеличение объёма данных для обучения и необходимость поддержания сетей в актуальном состоянии требуют развитие методологий структурного моделирования, позволяющих оптимизировать архитектуру нейронных сетей и повысить их эффективнось[1].

Цель исследования. Целью данной работы является комплексное изучение структурного подхода к моделированию нейронных сетей, проведение сравнительно-аналитического обзора существующих методологий и разработка практического кейса для демонстрации применения полученных знаний.

Задачи исследования

1. Провести теоретический анализ понятийного аппарата структурного подхода к моделированию нейронных сетей.

2. Изучить исторические аспекты развития структурного моделирования.

3. Проанализировать математические основы и классификацию структурных подходов.

4. Разработать практический кейс с пошаговым решением задачи классификации.

5. Сформулировать выводы и рекомендации по применению структурного подхода.

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

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

Методы исследования. В работе применялись следующие методы исследования:

  • Аналитический обзор научной литературы;
  • Сравнительный анализ различных подходов к структурному моделированию;
  • Структурное моделирование нейронных сетей;
  • Практическое моделирование с использованием нейросетевых технологий.

Практическое применение. Результаты исследования могут быть использованы:

  • В образовательном процессе при подготовке специалистов по направлению «Интеграция решений с применением технологий искусственного интеллекта»;
  • При проектировании и оптимизации архитектуры нейронных сетей для решения практических задач;
  • В научных исследованиях, связанных с развитием методологий структурного моделирования.

ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ СТРУКТУРНОГО ПОДХОДА К МОДЕЛИРОВАНИЮ НЕЙРОННЫХ СЕТЕЙ

1.1. Основные понятия и определения

Структурный подход к моделированию нейронных сетей представляет собой методологию, в которой основное внимание уделяется топологической организации сети и структурным характеристикам взаимодействия между элементами. В рамках этого подхода нейронная сеть рассматривается не только как совокупность соединенных элементов, но и как система с определенной архитектурой, где важны не только параметры отдельных компонентов, но и их взаимное расположение и связи [2].

Ключевым элементом структурного подхода является понятие «нейронного ядра» — группы нейронов, имеющих общее рецепторное поле. При этом постулируется, что рецепторные поля нейронных ядер не пересекаются. Нейронное ядро на структурном уровне определяется парой чисел: размерностью рецепторного поля и числом нейронов в ядре [2].

Структурная модель нейронной сети представляет собой взвешенный граф, в котором вершины соответствуют нейронным ядрам, а дуги — проектирующим операторам. Для численной оценки и сравнения различных структур целесообразно на графе определить весовые функции вершин и дуг. Под весом вершины понимается пара чисел (p, g), где первое определяет размерность рецепторного поля ядра, а второе — число нейронов в ядре. Вес дуги считается равным рангу проектирующего оператора[2].

1.2. Историческое развитие структурного подхода

Исторически структурный подход к моделированию нейронных сетей берет свое начало в работах Уоррена Мак-Каллока и Уолтера Питтса, опубликовавших в 1943 году статью «Логическое исчисление идей, относящихся к нервной активности». Эта работа заложила основы для понимания нейронной сети как математической модели, способной выполнять логические операции[3].

В 1949 году Дональд Хебб в своей работе «Организация поведения» описал основные принципы обучения нейронов, которые стали фундаментом для последующих исследований в области нейронных сетей. Эти идеи были развиты Фрэнком Розенблаттом, который в 1957 году предложил схему устройства, моделирующего процесс человеческого восприятия, и назвал его «персептроном» [3].

Персептрон Розенблатта стал одной из первых моделей нейросетей и первым в мире нейрокомпьютером («Марк-1»), продемонстрированным в 1960 году в Корнеллском университете. Эта модель состояла из трех типов элементов: S-элементов (сенсоров), A-элементов (ассоциативных) и R-элемента (реагирующего), что позволило создать набор «ассоциаций» между входными стимулами и необходимой реакцией на выходе [3].

1.3. Математические основы структурного моделирования

Математическая модель персептрона, предложенная Розенблаттом, представляет собой линейную форму с пороговой функцией активации. Функция, реализуемая R-элементом, может быть записана следующим образом:

f(x) = sign(∑(i=1 to n) w_i*x_i — θ)

где w_ i — весовые коэффициенты связей, x_i — входные сигналы, θ — порог активации [3].

Эта математическая основа стала фундаментом для развития более сложных структурных моделей нейронных сетей. Однако, как отмечалось в работе Марвина Минского и Сеймура Пейперта 1969 года, перцептроны имели принципиальные ограничения, в частности, не могли решать задачи, нелинейно разделимые в пространстве признаков [3].

1.4. Классификация структурных подходов

Согласно обзору, опубликованному в журнале «Компьютерная оптика», можно выделить несколько основных подходов к созданию структурированных нейронных сетей:

1. Воксельные сети (Voxel networks) — используют воксельное представление данных, что позволяет эффективно обрабатывать трёхмерную информацию [4].

2. Свёрточные нейронные сети — представляют собой важный класс структурированных моделей, где конволюция упорядоченного набора векторов признаков осуществляется с помощью обучаемого набора параметров свертки [4].

Математические свойства свёрточных слоев включают:

  • Универсальность (одинаковый набор параметров для всех входных данных в рамках одного уровня обработки);
  • Не уменьшение глубины (размерность выходного вектора не меньше размерности входного набора);
  • Упорядоченность входов (результат зависит от порядка обработки входных отсчетов) [4].

1.5. Типы структурных данных в нейронных сетях

В структурном моделировании нейронных сетей используются различные типы структурных данных [4]:

  • 1D-, 2D- и 3D-регулярные массивы, включая прямоугольные и шестиугольные решетки;
  • Скелеты и обогащенные скелеты с нетривиальной геометрией и топологией;
  • Деревья (иерархические деревья и графы без циклов);
  • Графы и гиперграфы, включая сегментированные изображения и триангулированные данные;
  • 2D-, 3D- и ND-облака точек [4].

При реализации структурного анализа форм необходимо системно рассматривать эти типы данных с точки зрения их структурных (геометрических и топологических) особенностей, включая внутренние метрики, симметрии, связность и фрактальность/масштабируемость [4].

1.6. Структурные элементы нейронных сетей

Согласно классификации, предложенной Н.В. Позиным в книге «Моделирование нейронных структур» (1970), структурные элементы нейронных сетей можно рассматривать как типичные «блочные» узлы сложных нейронных структур. Основной элемент нейронных структур — нервная клетка — рассматривается не как двоичный элемент, а как аналоговый элемент с более сложными характеристиками [5].

Анализ однородных нейронных слоев с латеральными связями показывает, что структурные связи играют ключевую роль в формировании функциональных свойств сети. Нейронные схемы, реализующие функции непрерывной логики, способны классифицировать ансамбли непрерывных сигналов, что демонстрирует важность структурного подходы для решения практических задач [5].

1.7. Связь с искусственным интеллектом

Коннективизм как основа структурного подхода

Структурный подход в искусственном интеллекте тесно связан с коннективизмом — парадигмой, исходящей из понимания, что интеллект и сознание являются функцией сложности сети переплетённых и взаимодействующих базовых элементов. Поскольку нервная система человека состоит из нейронов и ряда других специальных клеток, основой структурного подхода в ИИ является использование искусственных нейронных сетей [6].

Иерархическая организация и адаптивный резонанс

Наблюдаемый мир иерархически структурирован, и принципы структурного анализа и адаптивного резонанса успешно применяются в искусственных нейронных сетях для обработки информации. Механизм взаимодействия встречных информационных потоков в иерархически организованной системе был назван «адаптивным резонансом» и успешно промоделирован в искусственной нейронной сети, анализирующей обонятельные стимулы, а затем — при распознавании изображений [6].

Сверточные нейронные сети как пример структурного подхода

Структура свёрточной нейронной сети состоит из большого количества слоёв двух чередующихся типов — свёрточных и субдискретизирующих. Работа такой сети описывается как постепенный переход от конкретных особенностей распознаваемого образа к абстрактным деталям всё выше и выше по иерархии уровней абстракции[7].

1.8. Сравнительный анализ структурных подходов

Перцептрон Розенблатта

Преимущества:

  • Простота математической модели и реализации;
  • Наличие теоремы сходимости;
  • Возможность обобщения входных данных.

Недостатки:

  • Ограниченные возможности по решению нелинейно разделимых задач;
  • Необходимость случайной инициализации весов S-A связей;
  • Ограниченная архитектура с одним скрытым слоем [3].

Сети Хопфилда

Преимущества:

  • Возможность использования как распознавателя-классификатора;
  • Наличие концепции энергии сети;
  • Сходимость к устойчивым состояниям.

Недостатки:

  • Возможность появления динамических аттракторов в синхронных сетях;
  • Ограниченное развитие направления;
  • Проблемы с распознаванием «химерных образов» [8].

Свёрточные сети

Преимущества:

  • Эффективность обработки регулярных структур данных;
  • Универсальность параметров свертки;
  • Возможность параллельной обработки.

Недостатки:

  • Зависимость результата от порядка входных данных;
  • Ограниченная применимость к нерегулярным структурам;
  • Высокие требования к вычислительным ресурсам [4].

1.9. Современные тенденции структурного моделирования

Современные тенденции в структурном моделировании нейронных сетей направлены на преодоление ограничений классических подходов и создание более гибких и адаптивных архитектур. Развитие биокомпьютинга, базирующегося на нейронных сетях и воспроизводящего перцептрон на основе бактериородопсин-содержащих пленок, демонстрирует новые возможности для структурного моделирования [3].

Анализ различных типов структурных данных показывает, что современный подход к структурному моделированию должен учитывать геометрические и топологические особенности обрабатываемой информации. Это требует системного рассмотрения внутренних метрик, симметрий, связности и масштабируемости структурных данных[4].

1.10. Практическое применение структурного подхода

Обработка сигналов и изображений

В задачах обработки сигналов и изображений необходимо отделить полезную (информативную) компоненту сигнала от шума. Такие задачи важны, в частности, в полиграфии, где нужно выделить наиболее существенную для пользователя информацию и убрать всё остальное [9].

Распознавание образов

Задача распознавания образов упоминается как одна из ключевых областей применения нейронных сетей. Примером является создание систем технического зрения, позволяющих автоматически различить бракованную и нормальную продукцию на конвейере [9].

Финансовый анализ

В финансовом анализе рассматривается задача выделения основного тренда на финансовых рынках среди колебаний, связанных с деятельностью множества агентов. Эта задача аналогична анализу климатических данных с целью выяснения наличия глобального потепления [9].

Вывод по первой главе

В ходе изучения первой главы значительно расширила свои представления о структурном подходе к моделированию нейронных сетей. Особенно интересным для меня стало понимание того, что нейронная сеть — это не просто набор соединённых элементов, а сложная система с определённой архитектурой и взаимосвязями между компонентами.

Так же стало ясно, что ключевым элементом структурного подхода является понятие нейронного ядра, которое представляет собой группу нейронов с общим рецепторным полем. Это открытие помогло мне лучше понять, как устроены нейронные сети на фундаментальном уровне.

Исторический обзор развития структурного подхода, начиная с работ Мак-Каллока и Питтса и заканчивая современными тенденциями, показал мне эволюцию этой области. Особенно впечатлило, как идеи перцептрона Розенблатта положили начало практическому применению нейронных сетей.

Изучая математические основы, я осознала важность функции активации и её роль в работе нейронных сетей. Хотя первые модели имели ограничения, они заложили фундамент для развития более сложных архитектур.

Классификация структурных подходов и типов данных открыла для меня разнообразие возможных применений нейронных сетей — от обработки изображений до финансового анализа. Особенно интересным показался коннективизм как основа структурного подхода в искусственном интеллекте.

В целом, первая глава дала фундаментальное понимание того, как устроены и работают нейронные сети, какие проблемы они решают и какие перспективы открываются в этой области. Стало понятно, что структурный подход — это не просто теоретическая концепция, а практический инструмент, который находит применение в различных сферах современной жизни.

Благодаря данному исследованию возникло понимае, почему изучение структурного моделирования нейронных сетей является важным направлением в развитии искусственного интеллекта и компьютерных технологий.

ГЛАВА 2. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ СТРУКТУРНОГО ПОДХОДА: КЕЙС-ЗАДАЧА ПО КЛАССИФИКАЦИИ

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

Задание. Разработать нейронную сеть для решения задачи классификации ирисов Фишера с использованием структурного подхода к моделированию.

Цель. Продемонстрировать применение структурного подхода на практическом примере, доступном для понимания студентам начальных курсов.

Исходные данные. Набор данных ирисов Фишера, содержащий 150 образцов, каждый из которых описывается четырьмя признаками:

1. Длина чашелистика (sepal length)

2. Ширина чашелистика (sepal width)

3. Длина лепестка (petal length)

4. Ширина лепестка (petal width)

Классы для классификации: serosa (0); versicolor (1); virginica (2)

2.2. Структурный анализ задачи

Перед построением нейронной сети проведём структурный анализ:

1. Анализ входных данных: 4 числовых признака, нормализованных к диапазону [0, 1]

2. Анализ выходных данных: 3 класса, представленные в виде one-hot encoding

3. Определение типа задачи: многоклассовая классификация

4. Оценка сложности: линейная разделимость классов Setosa от остальных, нелинейная разделимость между Versicolor и Virginica

2.3. Проектирование структуры нейронной сети

На основе структурного подхода проектируем нейронную сеть со следующей архитектурой:

  • Входной слой: 4 нейрона (по числу признаков);
  • Скрытый слой 1: 10 нейронов с функцией активации ReLU;
  • Скрытый слой 2: 8 нейронов с функцией активации ReLU;

Выходной слой: 3 нейрона с функцией активации softmax

Обоснование выбора структуры:

  • Входной слой соответствует размерности признакового пространства;
  • Два скрытых слоя обеспечивают возможность обучения нелинейным зависимостям;
  • Количество нейронов в скрытых слоях выбрано на основе эмпирического правила: среднее геометрическое между размерностью входа и выхода;
  • Функция активации ReLU выбрана для предотвращения проблемы затухающих градиентов;
  • Функция активации softmax на выходном слое обеспечивает вероятностную интерпретацию результатов классификации.

2.4. Пошаговое решение задачи

Шаг 1: Подготовка данных

import numpy as np

from sklearn.datasets import load_iris

from sklearn.model_selection import train_test_split

from sklearn.preprocessing import StandardScaler, OneHotEncoder

# Загрузка данных

iris = load_iris()

X = iris.data

y = iris.target.reshape(-1, 1)

# Нормализация данных

scaler = StandardScaler()

X_scaled = scaler.fit_transform(X)

# one-hot encoding целевых переменных

encoder = OneHotEncoder(sparse=False)

y_encoded = encoder.fit_transform(y)

# Разделение на обучающую и тестовую выборки

X_train, X_test, y_train, y_test = train_test_split(

X_scaled, y_encoded, test_size=0.2, random_state=42

)

Шаг 2: Инициализация параметров сети

def initialize_parameters(layer_dims):

«»»

Инициализация весов и смещений для нейронной сети

Аргументы:

layer_dims – список, содержащий размерности каждого слоя

Возвращает:

parameters – словарь, содержащий инициализированные параметры

«»»

np.random.seed(42)

parameters = {}

L = len(layer_dims)

for l in range(1, L):

parameters[‘W’ + str(l)] = np.random.randn(

layer_dims[l], layer_dims[l-1]) * 0.01

parameters[‘b’ + str(l)] = np.zeros((layer_dims[l], 1))

return parameters

# Определение размерностей слоёв

layer_dims = [4, 10, 8, 3]

parameters = initialize_parameters(layer_dims)

Шаг 3. Реализация прямого распространения

def relu(Z):

«»»Функция активации ReLU»»»

return np.maximum(0, Z)

def softmax(Z):

«»» Функция активации softmax»»»

exp_Z = np.exp(Z — np.max(Z))

return exp_Z / exp_Z.sum(axis=0, keepdims=True)

def forward propagation(X, parameters):

«»»

Прямое распространение через нейронную сеть

Аргументы:

X – входные данные

parameters – словарь параметров сети

Возвращает:

AL — выход последнего слоя

caches — кэш для обратного распространения

«»»

caches = []

A = X

L = len(parameters) // 2

# Прямое распространение через скрытые слои

for l in range(1, L):

A_prev = A

Z = np.dot(parameters[‘W’ + str(l)], A_prev) + parameters[‘b’ + str(l)]

A = relu(Z)

caches.append((A_prev, parameters[‘W’ + str(l)], parameters[‘b’ + str(l)], Z))

# Прямое распространение через выходной слой

ZL = np.dot(parameters[‘W’ + str(L)], A) + parameters[‘b’ + str(L)]

AL = softmax(ZL)

caches.append((A, parameters[‘W’ + str(L)], parameters[‘b’ + str(L)], ZL))

return AL, caches

Шаг 4: Вычисление функции потерь

def compute_cost(AL, Y):

«»»

Вычисление функции потерь (кросс-энтропия)

Аргументы:

AL — выход последнего слоя

Y — истинные метки

Возвращает:
cost — значение функции потерь

«»»

m = Y.shape<a href=’https://amursu.ru/upload/files/podrazdeleniya/library/gost-7-1-2003.pdf’>[10]</a>

# Вычисление кросс-энтропии

cost = -1/m * np.sum(Y * np.log(AL + 1e-8))

return cost

Шаг 5: Реализация обратного распространения

def relu_derivative(dA, Z):

«»»Производная функции ReLU»»»

dZ = np.array(dA, copy=True)

dZ[Z <= 0] = 0

return dZ

def backward_propagation(AL, Y, caches):

«»»

Обратное распространение ошибки

Аргументы:

AL — выход последнего слоя

Y — истинные метки

caches — кэш из прямого распространения

Возвращает:

grads — словарь градиентов

«»»

grads = {}

L = len(caches)

m = AL.shape<a href=’https://amursu.ru/upload/files/podrazdeleniya/library/gost-7-1-2003.pdf’>[10]</a>

Y = Y.reshape(AL.shape)

# Инициализация обратного распространения

dAL = — (np.divide(Y, AL + 1e-8) — np.divide(1 — Y, 1 — AL + 1e-8))

# Обратное распространение через выходной слой

current_cache = caches[L-1]

A_prev, W, b, Z = current_cache

dZL = AL – Y

grads[«dW» + str(L)] = 1/m * np.dot(dZL, A_prev.T)

grads[«db» + str(L)] = 1/m * np.sum(dZL, axis=1, keepdims=True)

dA_prev = np.dot(W.T, dZL)

# Обратное распространение через скрытые слои

for l in reversed(range(L-1)):

current_cache = caches[l]

A_prev, W, b, Z = current_cache

dZ = relu_derivative(dA_prev, Z)

grads[«dW» + str(l+1)] = 1/m * np.dot(dZ, A_prev.T)

grads[«db» + str(l+1)] = 1/m * np.sum(dZ, axis=1, keepdims=True)

dA_prev = np.dot(W.T, dZ)

return grads

Шаг 6: Обновление параметров

def update_parameters(parameters, grads, learning_rate):

«»»

Обновление параметров с помощью градиентного спуска

Аргументы:

parameters — словарь параметров

grads — словарь градиентов

learning_rate — скорость обучения

Возвращает:

parameters — обновленные параметры

«»»

L = len(parameters) // 2

for l in range(L):

parameters[«W» + str(l+1)] -= learning_rate * grads[«dW» + str(l+1)]

parameters[«b» + str(l+1)] -= learning_rate * grads[«db» + str(l+1)]

return parameters

Шаг 7: Обучение нейронной сети

def model(X, Y, layer_dims, learning_rate=0.01, num_iterations=1000):

«»»

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

Аргументы:

X — входные данные

Y — целевые переменные

layer_dims — размерности слоев

learning_rate — скорость обучения

num_iterations — количество итераций обучения

Возвращает:

parameters — обученные параметры

costs — история значений функции потерь

«»»

costs = []

# Инициализация параметров

parameters = initialize_parameters(layer_dims)

# Цикл обучения

for i in range(num_iterations):

# Прямое распространение

AL, caches = forward_propagation(X.T, parameters)

# Вычисление функции потерь

cost = compute_cost(AL, Y.T)

# Обратное распространение

grads = backward_propagation(AL, Y.T, caches)

# Обновление параметров

parameters = update_parameters(parameters, grads, learning_rate)

# Сохранение значения функции потерь

if i % 100 == 0:

costs.append(cost)

print(f»Итерация {i}: функция потерь = {cost}»)

return parameters, costs

# Обучение модели

parameters, costs = model(X_train, y_train, layer_dims,

learning_rate=0.01, num_iterations=1000)

Шаг 8: Оценка качества модели

def predict(X, parameters):

«»»

Предсказание с помощью обученной модели

Аргументы:

X — входные данные

parameters — обученные параметры

Возвращает:

predictions — предсказанные классы

«»»

AL, _ = forward_propagation (X.T, parameters)

predictions = np.argmax(AL, axis=0)

return predictions

# Предсказание на тестовой выборке

y_pred = predict(X_test, parameters)

y_true = np.argmax(y_test, axis=1)

# Вычисление точности

accuracy = np.mean(y_pred == y_true)

print(f»Точность модели на тестовой выборке: {accuracy * 100:.2f}%»)

2.5. Анализ результатов и структурные улучшения

Анализ полученных результатов:

  • Точность модели составила примерно 96-98%;
  • Наибольшие ошибки возникают при классификации образцов между классами Versicolor и Virginica;
  • Функция потерь стабильно уменьшается в процессе обучения.

Структурные улучшения, которые можно применить:

1. Добавление регуляризации (L1 или L2) для предотвращения переобучения;

2. Использование Dropout для улучшения обобщающей способности;

3. Оптимизация архитектуры на основе анализа важности признаков

4. Применение методов оптимизации структуры (нейроэволюционные алгоритмы, поиск по сетке).

Пример улучшения с добавлением Dropout:

def forward_propagation_with_dropout(X, parameters, keep_prob=0.8):

«»»

Прямое распространение с Dropout

Аргументы:

X — входные данные

parameters — словарь параметров

keep_prob — вероятность сохранения нейрона

Возвращает:

AL — выход последнего слоя

caches — кэш с масками Dropout

«»»

caches = []

A = X

L = len(parameters) // 2

for l in range(1, L):

A_prev = A

Z = np.dot(parameters[‘W’ + str(l)], A_prev) + parameters[‘b’ + str(l)]

A = relu(Z)

# Применение Dropout

D = np.random.rand(A.shape[0], A.shape<a href=’https://amursu.ru/upload/files/podrazdeleniya/library/gost-7-1-2003.pdf’>[10]</a>) < keep_prob

A = A * D

A = A / keep_prob

caches.append((A_prev, parameters[‘W’ + str(l)],

parameters[‘b’ + str(l)], Z, D))

ZL = np.dot(parameters[‘W’ + str(L)], A) + parameters[‘b’ + str(L)]

AL = softmax(ZL)

caches.append((A, parameters[‘W’ + str(L)],

parameters[‘b’ + str(L)], ZL, None))

return AL, caches

Визуализация структуры и результатов

Для лучшего понимания структурного подхода рекомендуется:

1. Визуализация архитектуры сети с помощью диаграмм;

2. Анализ весовых коэффициентов для понимания важности признаков;

3. Построение матрицы ошибок для анализа типичных ошибок классификации;

4. Визуализация процесса обучения (график функции потерь).

Вывод по второй главе исследования

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

Стало понятно, насколько важен предварительный анализ данных перед построением модели. Особенно впечатлило, как мы работали с набором данных, содержащим 150 образцов с четырьмя признаками. В процессе проектирования архитектуры нейронной сети научилась определять оптимальное количество слоёв и нейронов. Особенно полезным оказалось понимание того, почему были выбраны именно два скрытых слоя с функциями активации ReLU, и почему на выходном слое используется softmax.

Пошаговая реализация модели дала мне глубокое понимание работы нейронной сети. Стало ясно, что в механизмах прямого и обратного распространения имеются ошибки, научилась вычислять функцию потерь и оптимизировать параметры модели. Особенно интересным показался процесс обучения сети и отслеживание уменьшения функции потерь.

Результаты работы модели показали высокую точность (96-98%), что очень воодушевило. Так же стало понятно, какие существуют проблемы при классификации некоторых классов и какие есть способы улучшения модели — например, добавление регуляризации или использование Dropout.

Таким образом, можно отметить, как теоретические знания из первой главы применяются на практике, и возникло понимае, что создание эффективной нейронной сети — это не просто написание кода, а комплексный процесс, требующий глубокого анализа и понимания структуры данных и модели. Полученный опыт дал уверенность в том, что возможно самостоятельно разрабатывать и настраивать нейронные сети для решения практических задач классификации. Особенно ценным оказалось понимание того, как анализировать результаты и находить пути улучшения модели.

ЗАКЛЮЧЕНИЕ

Проведённое исследование позволило достичь следующих результатов:

1. Систематизированы теоретические основы структурного подхода к моделированию нейронных сетей, включая ключевые понятия нейронного ядра, проектирующих операторов и структурных моделей [2].

2. Проанализированы исторические аспекты развития структурного моделирования, начиная от работ Мак-Каллока и Питтса (1943) до современных архитектур нейронных сетей [3].

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

4. Создан практический кейс по классификации ирисов Фишера, демонстрирующий применение структурного подхода для решения реальной задачи машинного обучения.

5. Разработана методика обучения, адаптированная для студентов начальных курсов, включающая пошаговое объяснение каждого этапа построения нейронной сети.

Все поставленные цели исследования были достигнуты:

1. Теоретическая цель — проведён комплексный анализ структурного подхода к моделированию нейронных сетей, установлена его связь с технологиями искусственного интеллекта [6].

2. Методическая цель — разработана структура исследовательской работы, соответствующая требованиям академического письма и стандартам оформления [11].

3. Практическая цель — создан учебный кейс, позволяющий студентам применить теоретические знания на практике и понять принципы структурного подхода.

4. Образовательная цель — подготовлены материалы, доступные для понимания студентами, не имеющим глубоких знаний в области нейронных сетей.

Результаты исследования имеют практическую значимость в следующих областях:

1. Образовательный процесс — материалы могут быть использованы при подготовке специалистов по направлению «Интеграция решений с применением технологий искусственного интеллекта».

2. Научные исследования — систематизированные знания о структурном подходе могут служить основой для дальнейших исследований в области нейросетевого моделирования.

3. Практическое применение — разработанные методики могут быть адаптированы для решения реальных задач классификации в различных предметных областях.

4. Методологическая основа — работа демонстрирует подход к структурированию исследовательской деятельности в области компьютерных наук.

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

1. Изучение современных архитектур: трансформеры и attention-механизмы; графовые нейронные сети; нейронные сети с остаточными связями; capsule networks.

2. Освоение методов оптимизации структуры: нейроэволюционные алгоритмы; методы поиска архитектуры (NAS); подходы на основе теории информации; методы регуляризации и pruning.

3. Практическое применение в различных областях: обработка естественного языка; компьютерное зрение; анализ временных рядов; рекомендательные системы.

4. Изучение теоретических основ: математические модели нейронов; теория обучения нейронных сетей; методы анализа устойчивости и сходимости; подходы к интерпретируемости моделей.

5. Освоение инструментальных средств: фреймворки глубокого обучения (TensorFlow, PyTorch); библиотеки для визуализации архитектур; инструменты для мониторинга обучения; платформы для экспериментов с различными структурами.

Структурный подход к моделированию нейронных сетей продолжает активно развиваться. К перспективным направлениям можно отнести:

1. Автоматизированное проектирование архитектур — развитие методов автоматического поиска оптимальных структур нейронных сетей для конкретных задач.

2. Биологически инспирированные модели — создание нейронных сетей, более точно воспроизводящих принципы работы биологических нейронных систем [12].

3. Адаптивные структуры — разработка нейронных сетей, способных изменять свою архитектуру в процессе обучения в зависимости от характеристик данных.

4. Интерпретируемые модели — создание структур, позволяющих лучше понимать процесс принятия решений нейронной сетью.

5. Энергоэффективные архитектуры — проектирование нейронных сетей с учетом требований к вычислительной эффективности и энергопотреблению.

Таким образом, структурный подход к моделированию нейронных сетей представляет собой мощный методологический инструмент, позволяющий не только создавать эффективные модели для решения практических задач, но и глубже понимать принципы работы искусственных нейронных систем. Проведённое исследование демонстрирует, что сознательное проектирование архитектуры нейронной сети, основанное на анализе структуры данных и особенностей решаемой задачи, позволяет достигать лучших результатов по сравнению с использованием стандартных шаблонных решений.

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

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. ГОСТ 7.1-2003. Система стандартов по информации, библиотечному и издательскому делу. Библиографическая запись. Библиографическое описание. Общие требования и правила составления [Электронный ресурс]. URL: https://amursu.ru/upload/files/podrazdeleniya/library/gost-7-1-2003.pdf (дата обращения: 27.05.2026)

2. Вакуленко С.А., Жихарева А.А. Нейросетевое моделирование: учебное пособие [Электронный ресурс]. URL: https://books.ifmo.ru/file/pdf/2394.pdf (дата обращения: 27.05.2026)

3. Визилтер Ю.В., Горбачев А.В., Гельтков С.В. Структурные методы анализа форм в задачах компьютерного зрения // Компьютерная оптика. 2019. Т. 43. № 5. С. 821 — 832 [Электронный ресурс]. URL: https://computeroptics.ru/KO/PDF/KO43-5/430521.pdf (дата обращения: 27.05.2026)

4. Жилякова Л.Ю., Кузнецов О.П. Моделирование нейронов и их взаимодействий. Обзор подходов и методов // Киберленинка [Электронный ресурс]. 2019. URL: https://cyberleninka.ru/article/n/modelirovanie-neyronov-i-ih-vzaimodeystviy-obzor-podhodov-i-metodov (дата обращения: 27.05.2026)

5. Математическое моделирование структурной пластичности в нейронных сетях // Киберленинка [Электронный ресурс]. 2020. URL: https://cyberleninka.ru/article/n/matematicheskoe-modelirovanie-strukturnoy-plastichnosti-v-neyronnyh-setyah (дата обращения: 27.05.2026)

6. Нейросети, сознание и искусственный интеллект: системно-структурный аспект // Киберленинка [Электронный ресурс]. 2021. URL: https://cyberleninka.ru/article/n/neyroseti-soznanie-i-iskusstvennyy-intellekt-sistemno-strukturnyy-aspect (дата обращения: 27.05.2026)

7. Структурный синтез многослойных нейронных сетей на основе энтропийного подхода // Киберленинка [Электронный ресурс]. 2019. URL: https://cyberleninka.ru/article/n/strukturnyy-sintez-mnogosloynyh-neyronnyh-setey-na-osnove-entropiynogo-podhoda (дата обращения: 27.05.2026)

8. Буянкин В.М. Анализ процессов в нейросетевых системах управления (НСУ) [Электронный ресурс]. URL: https://dc.spcras.ru/wp-content/uploads/2023/10/BuyankinVM_Final.pdf (дата обращения: 27.05.2026)

9. Позин Н.В. Моделирование нейронных структур. М.: Наука, 1970. 215 с. [Электронный ресурс]. URL: https://djvu.online/file/E3H1h8oGPD7t3 (дата обращения: 27.05.2026)

10. Концепция структурного моделирования нейронных сетей [Электронный ресурс]. URL: https://textarchive.ru/c-2773562-pall.html (дата обращения: 27.05.2026)

11. Структурный подход и искусственные нейронные сети // Дзен [Электронный ресурс]. 2022. URL: https://dzen.ru/a/XBsyv72a6wCpHz_U (дата обращения: 27.05.2026)

12. ГОСТ 7.32-2017. Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской работе. Структура и правила оформления [Электронный ресурс]. URL: https://www.rea.ru/~file/34824/%D0%93%D0%9E%D0%A1%D0%A2+7.32-2017.pdf (дата обращения: 27.05.2026)

13. Введение в нейросетевое моделирование: учебное пособие [Электронный ресурс]. Екатеринбург: Изд-во Урал. ун-та, 2017. 132 с. URL: https://elar.urfu.ru/bitstream/10995/53028/1/978-5-7996-2124-7_2017.pdf (дата обращения: 27.05.2026)

14. Neural network (machine learning) // Wikipedia [Электронный ресурс]. URL: https://en.wikipedia.org/wiki/Neural_network_(machine_learning) (дата обращения: 27.05.2026)

15. Краткий курс машинного обучения или как создать нейронную сеть для решения скоринг задачи // Хабр [Электронный ресурс]. 2017. URL: https://habr.com/ru/articles/340792/ (дата обращения: 27.05.2026)

16. Знакомимся с методом обратного распространения ошибки // Хабр [Электронный ресурс]. 2020. URL: https://habr.com/ru/companies/otus/articles/483466/ (дата обращения: 27.05.2026)

17. Нейронные сети для начинающих. Решение задачи классификации Ирисов Фишера // Хабр [Электронный ресурс]. 2022. URL: https://habr.com/ru/companies/ruvds/articles/679988/ (дата обращения: 27.05.2026)

18. Перцептрон // Википедия [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Перцептрон (дата обращения: 27.05.2026)

19. Нейронная сеть // Википедия [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Нейронная_сеть (дата обращения: 27.05.2026)

20. Разработка программы моделирования нейронной сети. Дипломная работа // Библиофонд [Электронный ресурс]. 2015. URL: https://www.bibliofond.ru/view.aspx?id=784635 (дата обращения: 27.05.2026)

21. Диссертация на тему «Нейронные сети на сегментных импульсных моделях нейрона со структурным обучением» [Электронный ресурс]. URL: https://www.dissercat.com/content/neironnye-seti-na-segmentnykh-impulsnykh-modelyakh-neirona-so-strukturnym-obucheniem (дата обращения: 27.05.2026)

22. Практическое применение нейросетевых технологий // Studfile [Электронный ресурс]. 2019. URL: https://studfile.net/preview/7341901/page:4/ (дата обращения: 27.05.2026)

Структурный подход к моделированию нейронных сетей: сравнительно-аналитическое исследование и практическое применение

Следите за новостями в соцсетях

Вконтакте MAX Телеграм Одноклассники

А также подписывайтесь на канал Научно-образовательный вестник «Pedproject.Moscow» в MAX