Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Equipment >> Промышленный робот

Оптимизация размера скрытого слоя для повышения точности нейронной сети

В этой статье мы проведём классификационные эксперименты и проанализируем, как размерность скрытого слоя влияет на производительность нейронной сети.

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

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

  1. Как выполнять классификацию с нейронной сетью: что такое перцептрон?
  2. Как использовать простой пример перцептрона для классификации данных
  3. Как обучать базовый перцептрон
  4. Понимание простого обучения нейронных сетей
  5. Введение в теорию обучения для нейронных сетей
  6. Понимание скорости обучения в нейронных сетях
  7. Продвинутое машинное обучение с многослойным перцептроном
  8. Сигмоидная функция активации: активация в многослойных перцептронах
  9. Как обучать многослойный перцептрон
  10. Понимание формул обучения и обратного распространения для многослойных перцептронов
  11. Архитектура нейронной сети для Python-реализации
  12. Как создать многослойный перцептрон на Python
  13. Обработка сигналов с нейронными сетями: валидация в дизайне нейронных сетей
  14. Обучающие наборы данных для нейронных сетей: как обучать и валидировать Python нейронную сеть
  15. Сколько скрытых слоёв и узлов нужно нейронной сети?
  16. Как повысить точность нейронной сети со скрытым слоем

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

Бенчмаркинг в Python

Мы дополним существующий Python-код из части 12 для записи длительностей обучения и валидации с использованием time.perf_counter(). Ниже инструментирование тайминга:

Оптимизация размера скрытого слоя для повышения точности нейронной сети

Оптимизация размера скрытого слоя для повышения точности нейронной сети

Тайминг валидации следует тому же паттерну:

Оптимизация размера скрытого слоя для повышения точности нейронной сети

Оптимизация размера скрытого слоя для повышения точности нейронной сети

Результаты отчитываются как:

Оптимизация размера скрытого слоя для повышения точности нейронной сети

Обучающие данные и процедура измерения

Мы тестируем задачу бинарной классификации с четырьмя числовыми входами в диапазоне –20 … +20. Архитектура сети: 4 входных узла, один скрытый слой, один выходной узел. Входные значения генерируются Excel-формулой, показанной ниже:

Оптимизация размера скрытого слоя для повышения точности нейронной сети

Размеры датасетов: 40 000 обучающих и 5 000 валидационных сэмплов. Используем скорость обучения 0,1 и одну полную эпоху на запуск. Каждая размерность скрытого слоя тестируется пять раз; отчитываемые точность и тайминг — арифметические средние.

Эксперимент 1: Низкосложная задача

Цель истинна только когда первые три входа превышают ноль; четвёртый вход неважен:

Оптимизация размера скрытого слоя для повышения точности нейронной сети

Следуя эвристике двух третей от размера входа, начинаем с H_dim = 2. Результаты суммированы ниже:

Оптимизация размера скрытого слоя для повышения точности нейронной сети

Точность улучшается до пяти скрытых узлов, но предельный выигрыш от четырёх до пяти узлов незначителен, потому что один запуск с четырьмя узлами был выбросом (88,6%). Удаление выброса показывает, что четыре узла слегка превосходят пять. Время обучения растёт в 1,9 раза от двух до четырёх узлов, в то время как время валидации увеличивается лишь в 1,3 раза, подчёркивая, что обучение — более вычислительно интенсивная фаза.

Эксперимент 2: Средне-сложная задача

Все четыре входа влияют на выход с более нюансированными сравнениями:

Оптимизация размера скрытого слоя для повышения точности нейронной сети

Начиная с трёх скрытых узлов, результаты:

Оптимизация размера скрытого слоя для повышения точности нейронной сети

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

Эксперимент 3: Высоко-сложная задача

Этот сценарий вводит нелинейность: один вход возводится в квадрат, другой — извлекается квадратный корень:

Оптимизация размера скрытого слоя для повышения точности нейронной сети

Результаты:

Оптимизация размера скрытого слоя для повышения точности нейронной сети

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

Заключение

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


Промышленный робот

  1. Выбор правильного числа скрытых слоёв и узлов в нейронной сети
  2. Обучение нейронных сетей с Excel: построение и валидация Python многослойного перцептрона
  3. Построение многослойного перцептрона на Python: практическое руководство
  4. Проектирование гибкого перцептрона на Python: архитектура, смещение и активация
  5. Обучение многослойного перцептрона: проверенные стратегии для оптимальной производительности
  6. Как подключённые сети революционизируют современное земледелие
  7. Безопасность IoT от железа до приложения: пошаговый план по слоям
  8. Thomas WebTrax vs Google Analytics и Thomas Network: какой инструмент движет ваши промышленные лиды?
  9. Как датчики сети 0G защищают холодильные цепи вакцин
  10. Выбор идеальной лазерной резальной системы: продуктивность и точность