?

Log in

No account? Create an account

Компьютерная лингвистика

Новостная лента www.solarix.ru

Previous Entry Share Next Entry
Кривые обучения для модели wordchar2vector
kelijah
Модель для чатбота была описана в этом посте. С того времени в код были добавлены новые архитектуры нейросети, доработан механизм задания параметров при запуске из командной строки и расширена документация - теперь все детально расписано тут https://github.com/Koziev/chatbot/blob/master/PyModels/trainers/README.wordchar2vector.md.

Далее - сравнение разных архитектур нейросети в ходе обучения.

Можно видеть, что конкретно на данной задаче более простой рекуррентный автоэнкодер на LSTM дает лучшее качество в сравнении с более сложными моделями. Причер вариант bidirectional LSTM в сравнении с обычным слоем LSTM практически не добавляет финальной точности - красная и желтая кривые:

А вот сравнение двух моделей с одинаковой архитектурой (простой рекуррентный автоэнкодер с bidirectional LSTM), которые отличаются только параметром trainable у объекта класса keras.layers.Embedding. Другими словами, одна модель на всем протяжении обучения использует постоянные векторы для символов (начальная инициализация как 1-hot), вторая подстраивает эти векторы по ходу обучения. Подстройка векторов (розовая линия) позволяет сетке поначалу обучаться быстрее, но затем результат становится неотличим от варианта с фиксированными векторами;

  • 1
В таком эксперименте лучше было бы k-fold, у которого k > 1 :)

Появился бы доверительный интервал у кривых обучения.

>В таком эксперименте лучше было бы k-fold, у которого k > 1 :)
>Появился бы доверительный интервал у кривых обучения.

Мысль хорошая, согласен.
Но для самых жирных архитектур время обучения приблизилось к 5 часам. Эдак на неделю все растянется :(, а по плану надо ГАНы погонять для генерации ответов


Edited at 2018-02-02 09:42 am (UTC)

  • 1