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

Уже

Короче говоря, до сих пор мы следовали рецепту, предоставленному Google, чтобы построить нейронную сеть, обучить ее на наборе изображений и протестировать на другом наборе изображений. Попутно мы слышали названия инструментов / библиотек, таких как Python, Tensorflow, Numpy, Matplotlib и т. Д., А также терминологию, такую ​​как нейронная сеть обратного распространения, слои (или единицы), функция потерь (или метрики), оптимизатор и т. Д. имен / терминологии, мы заметили, что нейронная сеть способна классифицировать изображения в тестовом наборе с точностью ~ 88%.

Пусть эксперименты начнутся

  • В Части 2 мы используем 128 единиц на втором уровне (layer1), что приводит к нейронной сети с (28 * 28) * 128 * 10 единицами и 101632 весовыми параметрами. На практике необходимо обучить, сохранить и получить доступ к 101632 гирям. Что, если я смогу уменьшить количество весов и по-прежнему поддерживать точность классификации в окрестности 88%? Приведенный ниже график является результатом такого исследования, в котором я поместил разное количество единиц во второй слой; в этом примере я установил количество единиц на 2, 4, 8, 16, 32, 64 и 128 (см. ось x). Ось Y - точность классификации сети. Как видите, точность классификации существенно не улучшается, если во втором слое больше 32 единиц. Обратите внимание, как использование 2 единиц во втором слое дает точность классификации только 70%.

  • В Части 2 мы построили сеть с (28 * 28) единицами на первом уровне, 128 единицами на втором уровне и 10 единицами на третьем уровне. Здесь мы наносим на график веса и смещения нейронной сети; эти веса и смещения оцениваются как часть тренировочного процесса. Посмотрите на графики в нижнем ряду, есть весы 128 * 10 между layer1 и layer2 и есть 10 значений смещения .; используйте layer2.get_weights()[0] и layer2.get_weights()[1] для доступа к значениям весов и смещения.

Ну наконец то

В следующем посте мы подробнее рассмотрим различные компоненты нейронной сети обратного распространения.