LINUX.ORG.RU

deeplearning4j & word2vec = нестабильность

 


0

1

сабж, да там есть параметр seed но задаешь его или нет - один фиг тренировка с теме же параметрами дат разный результат, в итоге определить параметры становится адово

ps. https://github.com/deeplearning4j/deeplearning4j/issues/699

Deleted

deeplearning4j

Не знаю что за заверь конечно но.

ренировка с теме же параметрами дат разный результат

Ну так он всегда будет разный. (Или я ничего не понимаю)

Dron ★★★★★
()
Ответ на: комментарий от Dron

Ну так он всегда будет разный. (Или я ничего не понимаю)

там все обмазано псевдо-гсч, если ему скармливать одно и тоже зерно то он всегда выдает повторяющаюся последовательность:

% python3
Python 3.5.3+ (default, Jun  7 2017, 23:23:48) 
>>> import random
>>> random.random()
0.14634149275645814
>>> random.random()
0.09254727722423195

>>> random.seed(1)
>>> random.random()
0.13436424411240122
>>> random.random()
0.8474337369372327
>>> random.random()
0.763774618976614

>>> random.seed(1)
>>> random.random()
0.13436424411240122
>>> random.random()
0.8474337369372327
>>> random.random()
0.763774618976614

в большинстве ЯП (и java) также

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Там помимо seed есть свои приколы. Тренировка в несколько потоков сама по себе будет давать разные результаты, там же сэмплинг.

Solace ★★
()
Ответ на: комментарий от Solace

но семплинг то тоже опирается на ГСЧ, т.е. все можно сделать воспроизводимым

и авторы пытались:

double ran = (Math.sqrt(element.getElementFrequency() / (sampling * numWords)) + 1)
                                * (sampling * numWords) / element.getElementFrequency();

                nextRandom.set(Math.abs(nextRandom.get() * 25214903917L + 11));

                if (ran < (nextRandom.get() & 0xFFFF) / (double) 65536) {
                    continue;
                }
                result.addElement(element);

nextRandom - уникален для потока

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

аа, кажется нашел, оно возможно выгребает предложения в произвольном порядке, тогда каждый запуск определенному предложению соответствует разные поток

Deleted
()
Ответ на: комментарий от Deleted

Статью я мальца подзабыл. Порядок там тоже вроде играет роль.

P.S. Да, то ты и нашел. А результаты сильно раскидывает? По идее, чем больше выборка, тем меньше должно быть различие даже при такой засаде.

Solace ★★
()
Последнее исправление: Solace (всего исправлений: 1)
Ответ на: комментарий от Solace

разброс не большой но иногда «съедает» разницу от изменения параметров - из-за этого не получаются нормально настраивать

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.