Как стать автором
Обновить

Нейронки «с нуля», или Как мы делали помощника для наших диспетчеров техподдержки

Время на прочтение 8 мин
Количество просмотров 9.6K
Всего голосов 15: ↑15 и ↓0 +15
Комментарии 5

Комментарии 5

Интересная статья. Из каких слоев состоит ваша нейросеть? Пробовали ли вы функцию активации relu? использовали ли вы слои с dropout (или conv слой со stride=2). Использовали ли вы нормализацию градиента gradient normalization (на питон делается в 2 строки, но ускоряет обучение и улучшает точность). Какая точность нейросети при validation (70% ?) ?

Про количество слоёв написал в статье. Оптимально получилось 2 скрытых слоя.

ReLU, как и dropout слой не пробовал. Делал Encog версии 3.3, а ReLU и dropout появилась в 3.4.
Если под «нормальзацией градиента» Вы имеете ввиду «Stochastic Gradient Descent (SGD)», то не использовал. По той же причине.
Задумался, может обновиться и погонять тесты…

Да, точность около 80% получается

Не удержался, обновил Encog до 3.4

Прогнал ReLU на тестовом наборе — не попала совсем.

dropout c ActivationSigmoid тоже не дал выигрыша. Сходится стало медленней и точность немного упала.

Централизация градиента, я ошибся: "Gradient-Centralization". Слои с batch normalization тоже ускоряют тренировку. Ну и входные данные проверьте — количество данных для каждой категории должно быть одинаковым, отсортируйте и откиньте лишнее, затем все данные перемешайте и разделите полученное на train, valid, test данные. Поэкспериментируйте, может и улучшите немного показатели.

Спасибо за идеи
Зарегистрируйтесь на Хабре , чтобы оставить комментарий