1. Learning rate это скорость движения вашей точки на градиенте. Чем больше скорость тем быстрее падает ошибка, но вырастает вероятность переобучения + не получится попасть в глобальный минимум функции. Я конечно с этой сетью не работал, но то что я вижу, здесь используется несколько сетей: одна из них учится преобразовывать текст в токены, другая юнэт (не юнит!) видимо учится по этим энкодерам выдавать какой-то результат. Так что ты в целом на интуиции правильно сказал что это стоит покрутить прежде всего)
UPD: ну да, Stable Diffuison использует U-net как backbone.
2. seed обычно используется для фиксирования результатов прогона. Опасно тем, что если его выставить и забыть про него, оптимизатор может свалиться в локальный минимум и не достигнуть нужных значений по ошибке. То есть грубо говоря если тебе мягко говоря не повезёт и оптимизатор пойдет куда-то не туда это будет всегда так на это seed. 3. Learning rate scheduler это не то что бы кривая обучения, это скорее параметр который в какой-то момент заставляет твою learning rate замедляться по какой-то из траекторий. Это необходимо если ты хочешь выжать максимум из своей сети. 4. Stop text encoding training это скорее всего early stop, он обычно применяется если твоя сеть начинает в какой-то момент переобучаться и ты мог остановить её в своем пике 5. Clip skip это скорее всего заморозка слоев. Это нужно если ты хочешь уже готовую сеть натренировать на новой задаче (Transfer learning), либо заморозить пару слоёв и обучить сеть для улучшения результатов (fine-tuning). 6. Оптимизатор это то как будет считаться ваша ошибка. Зачастую если ваши данные говно то эта шутка не спасёт) На моем опыте опять же нужна чтобы вытянуть лучше результаты.
Надеюсь не сильно задушнил но надеюсь будет интересно почитать людям и тебе, спасибо за пост!
Спасибо за комментарий, полезные пояснения, на 90% подтверждают то что я читал. А вот 4 все равно не понял. По какому критерию он тормозит? Когда произошло что?
Как человек который пишет нейронки:
1. Learning rate это скорость движения вашей точки на градиенте. Чем больше скорость тем быстрее падает ошибка, но вырастает вероятность переобучения + не получится попасть в глобальный минимум функции. Я конечно с этой сетью не работал, но то что я вижу, здесь используется несколько сетей: одна из них учится преобразовывать текст в токены, другая юнэт (не юнит!) видимо учится по этим энкодерам выдавать какой-то результат. Так что ты в целом на интуиции правильно сказал что это стоит покрутить прежде всего)
UPD: ну да, Stable Diffuison использует U-net как backbone.
2. seed обычно используется для фиксирования результатов прогона. Опасно тем, что если его выставить и забыть про него, оптимизатор может свалиться в локальный минимум и не достигнуть нужных значений по ошибке. То есть грубо говоря если тебе мягко говоря не повезёт и оптимизатор пойдет куда-то не туда это будет всегда так на это seed.
3. Learning rate scheduler это не то что бы кривая обучения, это скорее параметр который в какой-то момент заставляет твою learning rate замедляться по какой-то из траекторий. Это необходимо если ты хочешь выжать максимум из своей сети.
4. Stop text encoding training это скорее всего early stop, он обычно применяется если твоя сеть начинает в какой-то момент переобучаться и ты мог остановить её в своем пике
5. Clip skip это скорее всего заморозка слоев. Это нужно если ты хочешь уже готовую сеть натренировать на новой задаче (Transfer learning), либо заморозить пару слоёв и обучить сеть для улучшения результатов (fine-tuning).
6. Оптимизатор это то как будет считаться ваша ошибка. Зачастую если ваши данные говно то эта шутка не спасёт) На моем опыте опять же нужна чтобы вытянуть лучше результаты.
Надеюсь не сильно задушнил но надеюсь будет интересно почитать людям и тебе, спасибо за пост!
Спасибо за комментарий, полезные пояснения, на 90% подтверждают то что я читал. А вот 4 все равно не понял. По какому критерию он тормозит? Когда произошло что?