Пока есть много интересных приложений для глубокого изучения в области компьютерного зрения или обработки естественного языка.
Как это в других более традиционных областях? Например, у меня есть традиционные социально-демографические переменные плюс, возможно, много лабораторных измерений и я хочу предсказать определенную болезнь. Будет ли это приложение для глубокого изучения, если у меня будет много наблюдений? Как бы мне построить здесь сеть, я думаю, что все причудливые слои (сверточные и т. Д.) На самом деле не нужны ?! Просто сделать это глубоко?
На моем конкретном наборе данных я попробовал некоторые распространенные алгоритмы машинного обучения, такие как случайные леса, gbm и т. Д. Со смешанными результатами в отношении точности. У меня ограниченный опыт глубокого обучения распознаванию изображений.
источник
Ответы:
Да, вы можете использовать методы глубокого обучения для обработки данных без изображения. Тем не менее, другие классы моделей все еще очень конкурентоспособны с нейронными сетями за пределами обработки сигналов и связанных задач.
Чтобы использовать подходы глубокого обучения для несигнальных / непоследовательных данных, обычно вы используете простую многоуровневую сеть с прямой связью. Нет необходимости в сверточных слоях или пулах. Лучшую архитектуру, кроме этой, необходимо исследовать с помощью перекрестной проверки, и ее обнаружение может занять много времени, поскольку глубокие NN требуют много вычислений для обучения.
По моему опыту, пытаясь использовать глубокие (-и обычно, ~ 5 слоев) нейронные сети в соревнованиях Kaggle:
Dropout по-прежнему очень эффективен для регуляризации и повышения точности
Нормализация ввода - обычно означает 0, стандартное отклонение 1, важно
Функции активации скрытого слоя могут иметь значение. Хотя ReLU уменьшает некоторые проблемы с исчезающими градиентами, по моему опыту, он менее устойчив с несигнальными данными, и вам понадобится другая форма. Если у вас есть только несколько слоев, тогда сигмоид или танх по-прежнему работают нормально. В противном случае обратите внимание на протекающие ReLU, PReLU, ELU и другие варианты ReLU, которые пытаются исправить проблемы с «мертвыми» нейронами.
Используйте оптимизаторы, разработанные для глубокого обучения, такие как Adam, Adagrad или RMSProp.
Используйте подход инициализации веса, который работает с глубоким обучением, такой как Glorot.
Рассмотрите возможность использования слоев нормализации партии. Не то, что у меня есть большой опыт, но я видел, как другие люди преуспевают с таким подходом.
Несмотря на все это, XGBoost может легко и просто превзойти глубокие NN с минимальными затратами на настройку и обучение (в зависимости, конечно, от проблемы и имеющихся у вас данных). Если точность - это все для вас, возможно, хотя и не гарантировано, что ансамбль глубоких NN и других моделей, таких как XGBoost, будет работать лучше, чем один из них.
источник
Сеть может быть подходящей для целей классификации. Для этого вам нужно иметь возможность определить обучающий набор и тестовый набор ваших данных, которые представляют данные, которые сеть попросит классифицировать в производстве. Это определяет, можете ли вы получить плохую, разумную или хорошо работающую сеть.
Я считаю термины «глубокое обучение» вводящими в заблуждение: сеть не учится, вы можете только обучать ее.
Предполагая, что вы можете создать обучающий и тестовый набор, на высоком уровне вы можете использовать
Многослойность: если ваши данные не имеют порядка и структуры имеют фиксированную позицию.
Рекурсивные сети: если порядок данных важен для классификации
Свертка: если ваши данные имеют структуры, подобные изображениям, но не имеют фиксированной позиции.
Хорошая настройка, как и количество слоев, требует проб и ошибок; это разновидность черной магии.
источник