Intelligent-Systems-Phystech / 2018-Project-11

Автоматическое построение нейросети оптимальной сложности
0 stars 2 forks source link

Запустить эксперимент на MNIST #6

Open bahleg opened 6 years ago

bahleg commented 6 years ago

В клетке должны быть несколько матриц параметров разного размера. Допустим, у вас есть выборка MNIST. Признаковое пространство MNIST имеет размерность 784.

Построим несколько матриц вида: 784x700, 784x500, 784x100.

Если мы домножим объект выборки на одну из этих матриц (и подействуем какой-нибудь нелнинейной операцией), то получим вектор размерности 700, 500 или 100 соотвественно. Дополним каждый из этих векторов нулями до максимальной размерности (в нашем случае, 700). Так мы получим представление выборки под действием сетей с разными размерами скрытого слоя в одном пространстве. Собственно, в клетке это и должно быть запрогано.

  1. Запустить MLP-DARTS на MNIST с одним скрытым слоем и с размерностями 100, 400, 800, 12, количество эпох = 10. Повторить запуск минимум 5 раз (для усреднения результатов).

  2. Запустить MLP-DARTS на MNIST с сильной регуляризацией структуры (значение температуры подорбать таким образом, чтобы после пары-тройки итераций веса были почти дискретными). Каждую эпоху сохранять модель (не смотрел, как часто сохраняет модель DARTS в оригинале). Повторить запуск минимум 5 раз (для усреднения результатов).

  3. Запустить MLP-DARTS на MNIST. Регуляризацию структуру калибровать на КАЖДОЙ эпохе таким образом, чтобы в начале эпохи температура была большая, в конце - низкая. Повторить запуск минимум 5 раз (для усреднения результатов).

  4. Запустить случайный поиск на тех же клетках, обучить 25 моделей.

  5. Построить график: наилучшее значение Accuracy на тестовой выборке от количества моделей.

  6. Построить scatter-график: по оси X: количество параметров, по оси Y: Accuracy.