Сообщение Re[4]: дообучить сеть от 12.11.2020 11:41
Изменено 12.11.2020 12:00 Vzhyk2
Re[4]: дообучить сеть
Здравствуйте, Sharov, Вы писали:
S>Все никак руки не дойдут спросить на одс, спрошу тут: что значит "дообучить" сеть?
Всё тупо и просто. Берешь обученную сетку на некоем датасете. И тупо вызываешь train на своем датасете. Она стартует не со случайных весов, а уже с некоторой точки в их пространстве. все верят, что если сначала обучили на некоем большом, а потом дообучили на своем, то она распознавать в твоих условиях будет лучше. Верят, потому что доказательтсва не существует.
В общем аналогично тому, как GMM построения стартуют с результатов векторного квантования.
Ну и проблема в том, что обучить большую и рабочую сетку с нуля на игровой карточке можно, но за очень очень долго, поэтому берут предобученные гуглами и мордокнигами на своих мощных серверах на imаgenet.
S>Т.е. есть уже готовая сетка ( с соотв. весами), я добавляю какие-то свои скрытые слои
S>и обучаю уже только свои слои, так?
Нет, обучаешь все, но свои стартуешь с чего хочешь, а остальные с предобученных. Но можешь и только свои, остальные заморозить (запретить модификации их параметров и весов).
S>Пример, мне надо распознавать кота в сапогах -- я беру
S>готовую сеть, уже обученную на котах, добавляю туда слой для распознавания шляп и готово.
S>Это так работает или нет? Т.е. как кусочки Лего, достраиваю\уточняю слой за слоем.
S>Максимально общий слой -- коты, далее какой-то специфичный слой для распознавания сапог и т.д.
Не нужно никаких слоев. Или добавляешь класс сапоги, чуть модифицируешь для этого сетку (для некоторых слоев количество классов важно) или тупо дообучаешь на свой датасет котов с сапогами.
S>Все никак руки не дойдут спросить на одс, спрошу тут: что значит "дообучить" сеть?
Всё тупо и просто. Берешь обученную сетку на некоем датасете. И тупо вызываешь train на своем датасете. Она стартует не со случайных весов, а уже с некоторой точки в их пространстве. все верят, что если сначала обучили на некоем большом, а потом дообучили на своем, то она распознавать в твоих условиях будет лучше. Верят, потому что доказательтсва не существует.
В общем аналогично тому, как GMM построения стартуют с результатов векторного квантования.
Ну и проблема в том, что обучить большую и рабочую сетку с нуля на игровой карточке можно, но за очень очень долго, поэтому берут предобученные гуглами и мордокнигами на своих мощных серверах на imаgenet.
S>Т.е. есть уже готовая сетка ( с соотв. весами), я добавляю какие-то свои скрытые слои
S>и обучаю уже только свои слои, так?
Нет, обучаешь все, но свои стартуешь с чего хочешь, а остальные с предобученных. Но можешь и только свои, остальные заморозить (запретить модификации их параметров и весов).
S>Пример, мне надо распознавать кота в сапогах -- я беру
S>готовую сеть, уже обученную на котах, добавляю туда слой для распознавания шляп и готово.
S>Это так работает или нет? Т.е. как кусочки Лего, достраиваю\уточняю слой за слоем.
S>Максимально общий слой -- коты, далее какой-то специфичный слой для распознавания сапог и т.д.
Не нужно никаких слоев. Или добавляешь класс сапоги, чуть модифицируешь для этого сетку (для некоторых слоев количество классов важно) или тупо дообучаешь на свой датасет котов с сапогами.
Re[4]: дообучить сеть
Здравствуйте, Sharov, Вы писали:
S>Все никак руки не дойдут спросить на одс, спрошу тут: что значит "дообучить" сеть?
Всё тупо и просто. Берешь обученную сетку на некоем датасете. И тупо вызываешь train на своем датасете. Она стартует не со случайных весов, а уже с некоторой точки в их пространстве. все верят, что если сначала обучили на некоем большом, а потом дообучили на своем, то она распознавать в твоих условиях будет лучше. Верят, потому что доказательтсва не существует.
В общем аналогично тому, как GMM построения стартуют с результатов векторного квантования.
Ну и проблема в том, что обучить большую и рабочую сетку с нуля на игровой карточке можно, но за очень очень долго, поэтому берут предобученные гуглами и мордокнигами на своих мощных серверах на imаgenet.
S>Т.е. есть уже готовая сетка ( с соотв. весами), я добавляю какие-то свои скрытые слои
S>и обучаю уже только свои слои, так?
Нет, обучаешь все, но свои стартуешь с чего хочешь, а остальные с предобученных. Но можешь и только свои, остальные заморозить (запретить модификации их параметров и весов).
S>Пример, мне надо распознавать кота в сапогах -- я беру
S>готовую сеть, уже обученную на котах, добавляю туда слой для распознавания шляп и готово.
S>Это так работает или нет? Т.е. как кусочки Лего, достраиваю\уточняю слой за слоем.
S>Максимально общий слой -- коты, далее какой-то специфичный слой для распознавания сапог и т.д.
Не нужно никаких слоев. Или добавляешь класс сапоги, чуть модифицируешь для этого сетку (для некоторых слоев количество классов важно) или тупо дообучаешь на свой датасет котов с сапогами.
З.Ы. И да для всего, что я напсиал лтебе по-русски придумано новая терминология, которая дублируют ту, что юзали ранее в задачах оптимизации. По сути, если решал ранее задачи оптимизации, обработки сигналов и видео, то всё твое обучение — это изучение этой новоявленой терминологии и сопоставление ее с классической.
S>Все никак руки не дойдут спросить на одс, спрошу тут: что значит "дообучить" сеть?
Всё тупо и просто. Берешь обученную сетку на некоем датасете. И тупо вызываешь train на своем датасете. Она стартует не со случайных весов, а уже с некоторой точки в их пространстве. все верят, что если сначала обучили на некоем большом, а потом дообучили на своем, то она распознавать в твоих условиях будет лучше. Верят, потому что доказательтсва не существует.
В общем аналогично тому, как GMM построения стартуют с результатов векторного квантования.
Ну и проблема в том, что обучить большую и рабочую сетку с нуля на игровой карточке можно, но за очень очень долго, поэтому берут предобученные гуглами и мордокнигами на своих мощных серверах на imаgenet.
S>Т.е. есть уже готовая сетка ( с соотв. весами), я добавляю какие-то свои скрытые слои
S>и обучаю уже только свои слои, так?
Нет, обучаешь все, но свои стартуешь с чего хочешь, а остальные с предобученных. Но можешь и только свои, остальные заморозить (запретить модификации их параметров и весов).
S>Пример, мне надо распознавать кота в сапогах -- я беру
S>готовую сеть, уже обученную на котах, добавляю туда слой для распознавания шляп и готово.
S>Это так работает или нет? Т.е. как кусочки Лего, достраиваю\уточняю слой за слоем.
S>Максимально общий слой -- коты, далее какой-то специфичный слой для распознавания сапог и т.д.
Не нужно никаких слоев. Или добавляешь класс сапоги, чуть модифицируешь для этого сетку (для некоторых слоев количество классов важно) или тупо дообучаешь на свой датасет котов с сапогами.
З.Ы. И да для всего, что я напсиал лтебе по-русски придумано новая терминология, которая дублируют ту, что юзали ранее в задачах оптимизации. По сути, если решал ранее задачи оптимизации, обработки сигналов и видео, то всё твое обучение — это изучение этой новоявленой терминологии и сопоставление ее с классической.