Что означает «drop» и «sgd» при обучении пользовательской модели с использованием spacy? - PullRequest
0 голосов
/ 29 апреля 2020

Я обучаю пользовательской модели идентификации имени организации в адресах. Моя тренировка l oop выглядит следующим образом: -

    for itn in range(100):
        random.shuffle(TRAIN_DATA)
        losses = {}
        batches = minibatch(TRAIN_DATA, size=compounding(15., 32., 1.001))
        for batch in batches
            texts, annotations = zip(*batch)
            nlp.update(texts, annotations, sgd=optimizer,
                       drop=0.25, losses=losses)

        print('Losses', losses)

Может кто-нибудь объяснить параметры "drop", "sgd", "size" и дать некоторые идеи о том, как мне изменить эти значения, чтобы моя модель работает лучше.

Ответы [ 2 ]

0 голосов
/ 10 мая 2020

drop, sgd и size - это некоторые параметры, которые можно настроить для оптимизации обучения.

drop используется для изменения значения исключения.

size используется для изменения размер пакета

sgd используется для изменения различных гиперпараметров, таких как скорость обучения, параметры Adam beta1 и beta2, отсечение градиента и регуляризация L2.

Я считаю sgd очень важным аргументом экспериментировать с. Чтобы помочь вам, я написал небольшое сообщение в блоге, показывающее, как настроить любые параметры spaCy из вашего python интерпретатора (например, блокнота jupyter). Интерфейс командной строки не требуется.

Сообщение в блоге: специализированное обучение spaCy .

0 голосов
/ 30 апреля 2020

Подробности и советы вы можете найти в документации spaCy:

https://spacy.io/usage/training#tips - размер партии :

Хитрость увеличения размера партии начинает становиться довольно популярным ... При обучении различным моделям spaCy мы не нашли большого преимущества в снижении скорости обучения, но если начать с небольшого размера партии, это определенно помогло

batch_size = compounding(1, max_batch_size, 1.001)

При этом размер партии будет начинаться с 1, а каждая партия будет увеличиваться до достижения максимального размера.

https://spacy.io/usage/training#tips -dropout :

Для небольших наборов данных сначала полезно установить высокий коэффициент отсева и уменьшить его в сторону уменьшения более разумное значение. Это помогает избежать немедленной перегрузки сети, в то же время побуждая ее изучать некоторые более интересные вещи в ваших данных. spaCy поставляется с распадающейся функцией полезности, чтобы облегчить это. Вы можете попробовать установить:

dropout = decaying(0.6, 0.2, 1e-4)

https://spacy.io/usage/training#annotations:

sgd: оптимизатор, т.е. вызываемый для обновления весов модели. Если не установлено, spaCy создаст новый и сохранит его для дальнейшего использования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...