форкнуто от main/is_dnn
				
			
							Родитель
							
								
									61e1534751
								
							
						
					
					
						Сommit
						4d44be17dc
					
				@ -0,0 +1,53 @@
 | 
				
			|||||||
 | 
					# Лабораторная работа №1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# «Архитектура и обучение глубоких нейронных сетей»
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Цель работы:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Получить практические навыки создания, обучения и применения искусственных нейронных сетей на примере решения задачи распознавания рукописных цифр. Научиться загружать данные и проводить их предварительную обработку. Научиться оценивать качество работы обученной нейронной сети. Исследовать влияние архитектуры нейронной сети на качество решения задачи.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Подготовка к работе:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Подготовить программную среду для выполнения лабораторной работы. Обеспечить возможность работы в среде Google Colaboratory. Ознакомиться с функционалом данной среды.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Задание: 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1.	В среде Google Colab создать новый блокнот (notebook). Импортировать необходимые для работы библиотеки и модули.
 | 
				
			||||||
 | 
					2.	Загрузить набор данных MNIST, содержащий размеченные изображения рукописных цифр.
 | 
				
			||||||
 | 
					3.	Разбить набор данных на обучающие (train) и тестовые (test) данные в соотношении 60000:10000 элементов. При разбиении параметр random_state выбрать равным (4k – 1), где k – порядковый номер студента по журналу. Вывести размерности полученных обучающих и тестовых массивов данных.
 | 
				
			||||||
 | 
					4.	Вывести первые 4 элемента обучающих данных (изображения и метки цифр).
 | 
				
			||||||
 | 
					5.	Провести предобработку данных: привести обучающие и тестовые данные к формату, пригодному для обучения нейронной сети. Входные данные должны принимать значения от 0 до 1, метки цифр должны быть закодированы по принципу «one-hot encoding». Вывести размерности предобработанных обучающих и тестовых массивов данных.
 | 
				
			||||||
 | 
					6.	Реализовать модель однослойной нейронной сети и обучить ее на обучающих данных с выделением части обучающих данных в качестве валидационных. Вывести информацию об архитектуре нейронной сети. Вывести график функции ошибки на обучающих и валидационных данных по эпохам. При реализации модели нейронной сети задать следующую архитектуру и параметры обучения:
 | 
				
			||||||
 | 
					    + количество скрытых слоев: 0
 | 
				
			||||||
 | 
					    + функция активации выходного слоя: softmax
 | 
				
			||||||
 | 
					    + функция ошибки: categorical_crossentropy
 | 
				
			||||||
 | 
					    + алгоритм обучения: sgd
 | 
				
			||||||
 | 
					    + метрика качества: accuracy
 | 
				
			||||||
 | 
					    + количество эпох: 100
 | 
				
			||||||
 | 
					    + доля валидационных данных от обучающих: 0.1
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					7.	Применить обученную модель к тестовым данным. Вывести значение функции ошибки и значение метрики качества классификации на тестовых данных.
 | 
				
			||||||
 | 
					8.	Добавить в модель один скрытый и провести обучение и тестирование (повторить п. 6-7) при 100, 300, 500, 1000 нейронах в скрытом слое. По метрике качества классификации на тестовых данных выбрать наилучшее количество нейронов в скрытом слое. В качестве функции активации нейронов в скрытом слое использовать функцию sigmoid.
 | 
				
			||||||
 | 
					9.	Добавить в наилучшую архитектуру, определенную в п. 8, второй скрытый слой и провести обучение и тестирование (повторить п. 6-7) при 50, 100, 300 нейронах во втором скрытом слое. В качестве функции активации нейронов в скрытом слое использовать функцию sigmoid.
 | 
				
			||||||
 | 
					10.	Результаты исследования архитектуры нейронной сети занести в таблицу:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					+--------------------------+-----------------------+------------------------+------------------------+
 | 
				
			||||||
 | 
					| Количество скрытых слоев |  Количество нейронов  |  Количество нейронов   |    Значение метрики    |
 | 
				
			||||||
 | 
					|                          | в первом скрытом слое | во втором скрытом слое | качества классификации |
 | 
				
			||||||
 | 
					+==========================+=======================+========================+========================+
 | 
				
			||||||
 | 
					|             0            |           -           |            -           |                        |
 | 
				
			||||||
 | 
					+--------------------------+-----------------------+------------------------+------------------------+
 | 
				
			||||||
 | 
					|                          |          100          |                        |                        |
 | 
				
			||||||
 | 
					|                          +-----------------------+------------------------+------------------------+
 | 
				
			||||||
 | 
					|                          |          300          |                        |                        |
 | 
				
			||||||
 | 
					|             1            +-----------------------+------------------------+------------------------+
 | 
				
			||||||
 | 
					|                          |          500          |                        |                        |
 | 
				
			||||||
 | 
					|                          +-----------------------+------------------------+------------------------+
 | 
				
			||||||
 | 
					|                          |          1000         |                        |                        |
 | 
				
			||||||
 | 
					+--------------------------+-----------------------+------------------------+------------------------+
 | 
				
			||||||
 | 
					|                          |                       |           50           |                        |
 | 
				
			||||||
 | 
					|                          |                       +------------------------+------------------------+
 | 
				
			||||||
 | 
					|             2            |  (наилучшее из п. 8)  |           100          |                        |
 | 
				
			||||||
 | 
					|                          |                       +------------------------+------------------------+
 | 
				
			||||||
 | 
					|                          |                       |           300          |                        |
 | 
				
			||||||
 | 
					+--------------------------+-----------------------+------------------------+------------------------+
 | 
				
			||||||
					Загрузка…
					
					
				
		Ссылка в новой задаче