Зависимость свойств многослойной нейронной сети — перцептрона от топологии на задачах классификации.

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

1 Слой по 2 нейрона

Результаты классификации по примерам обучающей выборки

Ока	:	Легковая(35.77%)	Пассажирская(22.02%)	Грузовая(0.02%)	
Газель пас:	Легковая(34.72%)	Пассажирская(72.17%)	Грузовая(0%)	
Калина	:	Легковая(37.08%)	Пассажирская(64.8%)	Грузовая(0%)	
Камаз	:	Легковая(14.15%)	Пассажирская(0%)	Грузовая(94.84%)	
Газель груз:	Легковая(16.49%)	Пассажирская(0%)	Грузовая(92.7%)	
ПАЗ4234:	Легковая(33.57%)	Пассажирская(74.46%)	Грузовая(0%)	
ЗИЛ-5301:	Легковая(14.09%)	Пассажирская(0%)	Грузовая(81.8%)	
Патриот:	Легковая(43.97%)	Пассажирская(24.74%)	Грузовая(6.42%)	
ЛиАЗ-6213:	Легковая(33.61%)	Пассажирская(74.03%)	Грузовая(0%)

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

Белаз:	        Легковая(14.28%)	Пассажирская(0%)	Грузовая(96.21%)	
БТР80:	        Легковая(34.97%)	Пассажирская(53.95%)	Грузовая(0%)	
Урал мото:	Легковая(14.29%)	Пассажирская(0%)	Грузовая(96.27%)	
Повозка:	Легковая(33.77%)	Пассажирская(67.45%)	Грузовая(0%)	
Велосипед:	Легковая(22.5%)	        Пассажирская(0%)	Грузовая(0.44%)	
Трамвай:	Легковая(33.62%)	Пассажирская(74.03%)	Грузовая(0%)

Имеем очень неуверенные, и не всегда верные ответы по контрольной обучающей выборке. И неуверенные, но адекватные в 5 из 6 случаев ответы на не входящие в обучающую выборку примеры. Мотоцикл «Урал» был почему-то записан в грузовики. Наращиваем количество нейронов в слое.

1 слой по 4 нейрона

Результаты классификации по примерам обучающей выборки

Ока:            Легковая(92.99%)	Пассажирская(5.35%)	Грузовая(1.81%)	
Газель пас:	Легковая(6.4%)	        Пассажирская(94.66%)	Грузовая(0.89%)	
Калина	:	Легковая(97.09%)	Пассажирская(3.47%)	Грузовая(1.52%)	
Камаз	:	Легковая(2.77%)	        Пассажирская(0%)	Грузовая(98.05%)	
Газель груз:	Легковая(3.84%)	        Пассажирская(0%)	Грузовая(97.59%)	
ПАЗ4234:	Легковая(2.17%)	        Пассажирская(98.24%)	Грузовая(0.81%)	
ЗИЛ-5301:	Легковая(3.07%)	        Пассажирская(0%)	Грузовая(97.84%)	
Патриот:	Легковая(99.97%)	Пассажирская(0.02%)	Грузовая(2.84%)	
ЛиАЗ-6213:	Легковая(2.17%)	        Пассажирская(98.24%)	Грузовая(0.81%)

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

Белаз:	        Легковая(2.77%)	        Пассажирская(0%)	Грузовая(98.06%)	
БТР80:	        Легковая(84.72%)	Пассажирская(0.96%)	Грузовая(1.49%)	
Урал мото:	Легковая(99.97%)	Пассажирская(0.02%)	Грузовая(2.96%)	
Повозка:	Легковая(2.16%)	        Пассажирская(98.22%)	Грузовая(0.81%)	
Велосипед:	Легковая(2.45%)	        Пассажирская(2.27%)	Грузовая(39.06%)	
Трамвай:	Легковая(2.17%)	        Пассажирская(98.24%)	Грузовая(0.81%)

Ответы по контрольной обучающей выборке стали не только правильными, но и достаточно уверенными. А вот адекватность ответов на примеры, не входящие в обучающую выборку немного поплыла. Так БТР-80 оказался в классе легковушек, а велосипед стал походить на грузовик. Ещё наращиваем нейроны в слое.

1 слой по 6 нейронов

Результаты классификации по примерам обучающей выборки

Ока:	        Легковая(93.63%)	Пассажирская(3.8%)	Грузовая(1.66%)	
Газель пас:	Легковая(6.09%)	        Пассажирская(95.12%)	Грузовая(0.75%)	
Калина	:	Легковая(97.08%)	Пассажирская(4.07%)	Грузовая(1.17%)	
Камаз	:	Легковая(1.96%)	        Пассажирская(0%)	Грузовая(98.46%)	
Газель груз:	Легковая(4.04%)	        Пассажирская(0%)	Грузовая(97.99%)	
ПАЗ4234:	Легковая(1.6%)	        Пассажирская(98.73%)	Грузовая(0.69%)	
ЗИЛ-5301:	Легковая(0.84%)	        Пассажирская(0%)	Грузовая(97.9%)	
Патриот:	Легковая(99.99%)	Пассажирская(0%)	Грузовая(2.69%)	
ЛиАЗ-6213:	Легковая(1.6%)	        Пассажирская(98.73%)	Грузовая(0.69%)

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

Белаз:	        Легковая(2.46%)	        Пассажирская(0%)	Грузовая(98.51%)	
БТР80:	        Легковая(95.32%)        Пассажирская(0.18%)	Грузовая(0.84%)	
Урал мото:	Легковая(99.99%)	Пассажирская(0.01%)	Грузовая(2.79%)	
Повозка:	Легковая(1.72%)	        Пассажирская(98.65%)	Грузовая(0.71%)	
Велосипед:	Легковая(1.99%)	        Пассажирская(0.31%)	Грузовая(40.34%)	
Трамвай:	Легковая(1.6%)	        Пассажирская(98.73%)	Грузовая(0.69%)

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

2 слоя по 6 нейронов

Результаты классификации по примерам обучающей выборки

Ока:	        Легковая(94.94%)	Пассажирская(3.23%)	Грузовая(1.27%)	
Газель пас:	Легковая(5.15%)	        Пассажирская(95.94%)	Грузовая(0.47%)	
Калина	:	Легковая(96.43%)	Пассажирская(2.22%)	Грузовая(1.3%)	
Камаз	:	Легковая(3.02%)	        Пассажирская(0.16%)	Грузовая(96.73%)	
Газель груз:	Легковая(3.81%)	        Пассажирская(0.15%)	Грузовая(96.26%)	
ПАЗ4234:	Легковая(2.44%)	        Пассажирская(98.33%)	Грузовая(0.41%)	
ЗИЛ-5301:	Легковая(3.39%)	        Пассажирская(0.16%)	Грузовая(96.5%)	
Патриот:	Легковая(99.2%)	        Пассажирская(0.07%)	Грузовая(4.3%)	
ЛиАЗ-6213:	Легковая(2.45%)	        Пассажирская(98.32%)	Грузовая(0.41%)

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

Белаз:	        Легковая(3.02%)	        Пассажирская(0.16%)	Грузовая(96.73%)	
БТР80:	        Легковая(99.23%)	Пассажирская(0.07%)	Грузовая(3.92%)	
Урал мото:	Легковая(99.21%)	Пассажирская(0.08%)	Грузовая(3.96%)	
Повозка:	Легковая(2.43%)	        Пассажирская(98.34%)	Грузовая(0.41%)	
Велосипед:	Легковая(8.83%)	        Пассажирская(86.18%)	Грузовая(1.09%)	
Трамвай:	Легковая(2.45%)	        Пассажирская(98.32%)	Грузовая(0.41%)

После добавления второго слоя, мы почти ничего не потеряли в уверенности и правильности ответов на контрольную выборку, зато в не входящих в неё примерах велосипед покиинул класс грузовиков, прописавшись в пассажирском транспорте. БТР80 по-прежнему косит под легковушку. Добавим 3-й слой.

3 слоя по 6 нейронов

Результаты классификации по примерам обучающей выборки

Ока	:	Легковая(48.1%)	Пассажирская(54.44%)	Грузовая(5.86%)	
Газель пас:	Легковая(49.3%)	Пассажирская(57.02%)	Грузовая(5.13%)	
Калина	:	Легковая(49.07%)	Пассажирская(56.54%)	Грузовая(5.26%)	
Камаз	:	Легковая(14.99%)	Пассажирская(3.16%)	Грузовая(88.03%)	
Газель груз:	Легковая(15.63%)	Пассажирская(3.5%)	Грузовая(86.48%)	
ПАЗ4234:	Легковая(49.4%)	Пассажирская(57.23%)	Грузовая(5.08%)	
ЗИЛ-5301:	Легковая(15.49%)	Пассажирская(3.42%)	Грузовая(86.83%)	
Патриот:	Легковая(40.15%)	Пассажирская(37.18%)	Грузовая(13.7%)	
ЛиАЗ-6213:	Легковая(49.36%)	Пассажирская(57.14%)	Грузовая(5.1%)

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

Белаз:	        Легковая(14.97%)	Пассажирская(3.14%)	Грузовая(88.09%)	
БТР80:	        Легковая(46.02%)	Пассажирская(49.91%)	Грузовая(7.35%)	
Урал мото:	Легковая(47.08%)	Пассажирская(52.24%)	Грузовая(6.54%)	
Повозка:	Легковая(49.34%)	Пассажирская(57.11%)	Грузовая(5.11%)	
Велосипед:	Легковая(43.66%)	Пассажирская(44.76%)	Грузовая(9.47%)	
Трамвай:	Легковая(49.36%)	Пассажирская(57.14%)	Грузовая(5.1%)

Ответы на контрольную обучающую выборку стали очень неуверенными, а местами даже и неправильными (возникла путаница между пассажирским транспортом и легковыми автомобилям). Примеры, не входящие в обучающую выборку, тоже имеют неуверенные ответы, но их классификация можно считать более менее адекватной. Особенно если эти примеры действительно можно классифицировать в рамках типов «легковой автомобиль», «пассажирский транспорт», «грузовой транспорт». Куда, отнести БТР80 я и сам точно не знаю.

Пара советов по выбору топологии

1. С ростом числа нейронов в каждом слое растёт запоминающая способность нейросети, но падает аналитическая. Таким же образом с ростом количества слоёв увеличивается аналитическая способность нейросети, но падает запоминающая. Можно сказать, что

"аналитическая способность" + "запоминающая способность" = 1

Вопрос в подборе баланса, что требуется от нейросети: прогнозирование или распознавание.

2. Необязательно большая по числу нейронов нейросеть будет лучше справляться с возложенными на неё задачами. В наших примерах нейросети 1 по 2 и 3 по 6 показали примерно одинаковые результаты, хотя сложность их обучения различается существенно.


Добавить комментарий