intelligent-systems-phystech / 2018-project-11 Goto Github PK
View Code? Open in Web Editor NEWАвтоматическое построение нейросети оптимальной сложности
Автоматическое построение нейросети оптимальной сложности
Запустить DARTS с количеством слоев = 3, количеством эпох = 10, init_channels и - на ваше усмотрение, но оно должно быть фиксировано во всех запусках. Каждую эпоху сохранять модель (не смотрел, как часто сохраняет модель DARTS в оригинале). Повторить запуск минимум 5 раз (для усреднения результатов).
Запустить DARTS с сильной регуляризацией структуры (значение температуры подорбать таким образом, чтобы после пары-тройки итераций веса были почти дискретными). Каждую эпоху сохранять модель (не смотрел, как часто сохраняет модель DARTS в оригинале). Повторить запуск минимум 5 раз (для усреднения результатов).
Запустить DARTS. Регуляризацию структуру калибровать на КАЖДОЙ эпохе таким образом, чтобы в начале эпохи температура была большая, в конце - низкая. Повторить запуск минимум 5 раз (для усреднения результатов).
По каждой из итоговых моделей построить график зависимости accuracy на тестовой выборке от шума, добавленного в выборку (шум - гауссовый, калибруется дисперсия).
По каждой из итоговых моделей построить график зависимости accuracy на тестовой выборке от шума, добавленного в параметры (шум - гауссовый, калибруется дисперсия).
Изучить выборки MNIST и n-MNIST.
Построить однослойную и двуслойную нейросеть по примеру из tutorial'ов, сравнить качество с качеством из литературы.
Запустить случайный поиск на обеих выборках.
В результате должен быть код, сохраненные наилучшие модели, и графики:
зависимости качества от количества запусков
зависимости количества параметров от количества запусков.
Задача рассчитана на 2 человек.
В клетке должны быть несколько матриц параметров разного размера.
Допустим, у вас есть выборка MNIST. Признаковое пространство MNIST имеет размерность 784.
Построим несколько матриц вида:
784x700, 784x500, 784x100.
Если мы домножим объект выборки на одну из этих матриц (и подействуем какой-нибудь нелнинейной операцией), то получим вектор размерности
700, 500 или 100 соотвественно.
Дополним каждый из этих векторов нулями до максимальной размерности (в нашем случае, 700).
Так мы получим представление выборки под действием сетей с разными размерами скрытого слоя в одном пространстве.
Собственно, в клетке это и должно быть запрогано.
Запустить MLP-DARTS на MNIST с одним скрытым слоем и с размерностями 100, 400, 800, 12, количество эпох = 10. Повторить запуск минимум 5 раз (для усреднения результатов).
Запустить MLP-DARTS на MNIST с сильной регуляризацией структуры (значение температуры подорбать таким образом, чтобы после пары-тройки итераций веса были почти дискретными). Каждую эпоху сохранять модель (не смотрел, как часто сохраняет модель DARTS в оригинале). Повторить запуск минимум 5 раз (для усреднения результатов).
Запустить MLP-DARTS на MNIST. Регуляризацию структуру калибровать на КАЖДОЙ эпохе таким образом, чтобы в начале эпохи температура была большая, в конце - низкая. Повторить запуск минимум 5 раз (для усреднения результатов).
Запустить случайный поиск на тех же клетках, обучить 25 моделей.
Построить график: наилучшее значение Accuracy на тестовой выборке от количества моделей.
Построить scatter-график: по оси X: количество параметров,
по оси Y: Accuracy.
Изучить код DARTS досконально. Нужно получить полное представление о том, как там параметризуется сеть, что нужно сделать чтобы ввести регуляризацию структуры и прочее.
На выходе: в репозиторий залит код DARTS с доп. комментариями и документацией (README.md), отвечаюищми на вопросы:
Задача рассчитана на трех человек.
Построить синтетическую выборку, на которой потенциально плохо должен сработать DARTS.
Варианты:
Модель является линейной комбинацией нескольких моделей, одна из которых --- искомая, остальные --- шумовые. При использовании DARTS веса распределяются слишком равномерно, поэтому при выборе итоговой модели качество существенно снижается.
Модель имеет два явных экстремума, при неправильном начальном приближении модель "выбирает" менее хороший экстремум. Калибровка температуры позволяет перейти от одного экстремума к другому.
В результате:
должна быть построена выборка и описано ожидаемое поведение DARTS и нашего метода.
Изучить выборку CIFAR-10.
Построить свертку по примеру из tutorial'ов.
Запустить случайный поиск на CIFAR.
В результате должен быть код, сохраненные модели, и графики:
Задача рассчитана на 2 человек.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.