@DamskiyUgodnik

Как правильно приготовить данные для обучения сети?

Всем привет!
В процессе изучения нейронных сетей накопилась масса вопросов, ответы на которые наверное требуют больше практических знаний чем теоретических.

В большинстве статей описывается стандартные примеры (например классификация котика или собачки) либо матчасть по работе нейронов, но при этом практически нет реальных примеров прикладных задач используемых на пользовательских данных а не готовых датасетах.

Отсюда возникает проблема, что прочитав статью появляется больше вопросов чем ответов, поэтому, если у кого-то есть практический опыт которым он готов поделиться, буду очень рад информации по следующим вопросам.

  1. Какой объём данных для обучения считается нормальным или как понять что проблема в нехватке данных а не в ошибочном построении сети?
  2. По какой логике принято определять что именно должно быть на изображениях, к примеру если мы хотим определить есть ли очки у человека на картинке. Это должен быть набор фото с людьми в очках (портретное фото), лица в очках или же просто область изображения на которой есть очки?
  3. Из предыдущего пункта вытекает вопрос, как правильно анализировать к какому признаку из датасета привязывается сеть, ведь возможен вариант например что там окажется много людей со схожей формой носа и сеть будет выявлять "правильные носы" а не очки?
  4. На сколько сильно влияет различие количества данных в разных классах при классификации? если мы например "скормим" сети 5000 изображений котиков и 3000 изображений собачек и хотим определить кто на изображении кот или собака?


Понятно что всё это можно протестировать самому, но подозреваю что можно не изобретать велосипед :)
  • Вопрос задан
  • 664 просмотра
Пригласить эксперта
Ответы на вопрос 3
Therapyx
@Therapyx
Data Science
1) От ситуации к ситуации. Нельзя конкретно сказать, что 10000 миллионов данных будет лучше одного. Для этого обычно делают статистику изменения алгоритма и правильных решений. И на графиках можно будет уже определить поведение линии. Если подумать и конкретно ответить на твой вопрос, то представь график, который улучшается с кол-вом данных и в конце графика следовала точно такая же последовательность улучшений. Из этого можно сделать вывод, что стиот добавить еще больше данных до лучшего результата.
Больше данных = не всегда лучше. опять же по графикам можно заметить и ухудшения.
2) достаточно и очокв, но лучше с людьми, т.к. в учет будут браться и другие елементы ( к примеру нос, глаза, рот)
3) Во многих аспектал МЛ есть уйма проблем и это одно из них)) Но я вроде слышал, что уже существуют
хорошо натренированные модели (правда не думаю, что они бесплатные),
4) Не важно, тут идет речь конкретно о: Собака ли это? Да или нет. Если нет. Кот ли это? да или нет. И чем лучше модель для кота и собаки, тем точнее будут результаты, но на 1.00 не надейся никогда))
Ответ написан
Комментировать
@ivodopyanov
NLP, python, numpy, tensorflow
1. Дело ведь еще не только в объеме датасета, но и в его полноте. При ошибочном построении сети обычно вообще ничего не обучается. Недостаточный размер слоев легко заметить просто увеличив его и прогнав обучение еще раз. По объемам - про классификацию текста где-то видел, что SVM дает лучший результат при объеме выборки где-то от 2000 до 50000, нейронные сети - от 50000.
3. Это назвается интерпретируемостью нейронной сети \ алгоритма. В этом направлении есть какие-то исследования (как добиться того, чтобы глядя на активацию нейронов понимать, что и почему делает НС), но серьезных решений вроде нету. Лучший способ - это хороший тестовый набор, на котором будет видны кластеры ошибок.
4. Всё сильно зависит от сложности каждой конкретной задачи. Готовой формулы нет.
Ответ написан
Комментировать
artymail
@artymail
В большинстве статей описывается стандартные примеры (например классификация котика или собачки) либо матчасть по работе нейронов, но при этом практически нет реальных примеров прикладных задач используемых на пользовательских данных а не готовых датасетах.


А вы книги для начала начните читать, а не перекопипастчиненные статьи. Начните хотя бы с этого "Создаем нейронную сеть" Тарика Рашида. На часть ваших вопросов получите ответы.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы