Общее описание программы
На главной форме программы можно выделить следующие разделы:
1.
Панель «Данные»
Панель содержит две функции: генерации сигналов и
формирования обучающих наборов.
Для обучения можно использовать как записи реальных
физических сигналов, так и сгенерированных программой.
Если у вас уже есть запись физического сигнала, ее
достаточно просто положить в папку "signals". Файл с такой записью
должен иметь формат последовательности значений, выгруженных как double, то
есть одно значение занимает 8 байт. Никакой шапки в таком файле быть не должно.
Частоту дискретизации сигнала нужно знать, мы укажем ее в разделе Подготовка.
Эту запись мы будем видеть под именем, равным имени файла.
Если реальных записей нет или их мало, да и просто для
тренировки можно сгенерировать запись в разделе под кнопкой «Генерация
сигналов».
Под кнопкой «Наборы для обучения» из имеющихся записей
сигналов формируются наборы, позволяющие обучить нейросеть.
2.
Панель «Распознавание».
Если у нас уже есть обученная нейросеть, мы можем выбирать
сигнал, подавать ее на вход сети и наблюдать результат. И нейросеть скажет нам,
к какому типу она относит данный сигнал.
3.
Список «Настройки сети».
Здесь мы видим обученные нейросети или заготовки для
обучения. В списке мы можем выбрать базовую настройку для ее обучения
(дообучения) или для распознавания сигнала с ее помощью.
В наших терминах «настройка» – это то же самое, что
«нейросеть».
4.
График.
Нажмите кнопку Старт и вы увидите отображение фрагментов
сигналов из обучающего набора или распознаваемого сигнала. Фрагменты
выхватываются таймером раз в секунду.
Нажмите кнопку Сброс.
5.
Окно под графиком.
Нажмите кнопку Старт и поставьте галку Нейросеть.
В данном окне (тоже по таймеру) показываются значения,
показывающие опытному пользователю, насколько успешно идет обучение сети.
Первое значение – функционал ошибки; если это значение
постепенно уменьшается, это говорит о том, что, вероятно, сеть сможет
обучиться.
Следующие значения – веса связей между 1-м нейроном входного
слоя и нейронами следующего слоя. В начале обучения стартовые значения имеют
последовательные значения с небольшим шагом. Если обучение прогрессирует,
«рисунок» значений весов перестраивается.
Нажмите кнопку Сброс.
6.
Галки внизу экрана, в разделе «Включить».
При запуске обучения («Старт») или распознавания
(«Распознать») программа начинает читать записи из файлов. Если снять галки
«Уравнение» и «Нейросеть», чтение будет проходить впустую.
Включение режима «Уравнение» означает, что будет происходить
подгонка коэффициентов уравнения.
Включение режима «Нейросеть» означает, что будет происходить
обучение нейросети или распознавание обученной сетью образа сигнала.
7. Панель
«Обучение».
В этом разделе задаются настройки алгоритма обработки
сигнала.
Эти настройки сохраняются под именем, выбранном в поле
«Базовая настройка» из списка «Настройки сети».
Если нужно создать новую настройку, выбираем в списке одну
из настроек, в поле «Настройка-результат» вводим имя новой настройки и нажимаем
кнопку «Создать копию». Затем выбираем курсором в списке появившуюся там новую
настройку и приступаем к изменению ее параметров и обучению сети.
Кнопка «Подготовка». Здесь мы указываем частоту
дискретизации выбранных сигналов и параметры предварительной обработки сигнала
перед подачей его на вход алгоритмов.
Кнопка «Уравнение». Под этой кнопкой задается вид уравнения,
параметры алгоритма подгонки коэффициентов и другие параметры.
Кнопка «Нейросеть». Здесь мы определяем архитектуру
нейросети, ее базовые параметры, критерий завершения обучения, выбираем набор
векторов для ее обучения.
После того, как мы настроили параметры алгоритма обучения,
можно запускать обучение кнопкой Старт. Но сначала желательно определиться еще
с двумя вещами.
а) Так как мы взяли за основу какую-то настройку алгоритма,
в ней уже содержатся какие-то ранее подогнанные коэффициенты уравнения. Если мы
хотим отталкиваться от них, ставим галку «Сохраненное уравнение».
б) Если мы намерены сохранить результаты обучения, пишем в
поле «Настройка-результат» имя новой настройки и ставим галку «Сохранить
результат». Важно понимать, что помимо параметров, которые заддаются вручную
под кнопками «Подготовка», «Уравнение» и «Нейросеть», в настройке-результате
будут сохранены еще и те параметры, которые мы подгоняем. А именно – значения
весов и порогов нейросети, а также – коэффициенты уравнения для каждого сигнала
из обучающего набора.
Подробный разбор функционала сделаем на
практике.