Я новичок в этом поле DNN, и мне надоели настраиваемые гиперпараметры и другие параметры в DNN, потому что есть много параметров для настройки, и это похоже на многопараметрический анализ без помощи компьютера. Как человек может двигаться к наивысшей точности, которая может быть достигнута для задачи, использующей DNN, из-за огромного количества переменных внутри DNN. И как мы узнаем, какую точность можно получить, используя DNN, или я должен отказаться от DNN? Я потерян. Помощь приветствуется.
Основные проблемы, которые у меня есть:
1. What are the limits of DNN / when we have to give up on DNN
2. What is the proper way of tunning without missing good parameter values
Вот краткое изложение, которое я получил, изучая теорию в этой области. Исправления очень ценятся, если я ошибаюсь или неправильно понят. Вы можете добавить все, что я пропустил. Отсортировано по степени важности, насколько мне известно.
для переоснащения -
1. reduce the number of layers
2. reduce the number of nodes of layers
3. add regularizers (l1/ l2/ l1-l2) - have to decide the factors
4. add dropout layers and -have to decide the dropout factor
5. reduce batch size
6. stop earlier
для переоснащения
1. increase the number of layers
2. increase number of nodes of layers
3. Add different types of layers (Conv, LSTM, ...)
4. add learning rate decay (decide the type and parameters for the type)
5. reduce the learning rate
кроме того, что обычно мы можем сделать,
1. number of epochs (by seeing what is happening while model training)
2. Adjust Learning Rate
3. batch normalization -for fast learning
4. initializing techniques (zero/ random/ Xavier / he)
5. different optimization algorithms
методы автоматической настройки
- Gridsearchcv - but for this, we have to choose what we want to change and it takes a lot of time.