В связи с увеличением мощностей компьютеров и совершенствованием теоретических подходов машинное обучение становится всё более популярным и практически применимым направлением. В частности, были созданы алгоритмы, побеждающие мировых чемпионов в таких играх, как шахматы или го (AlphaGo, 2015) , или успешно играющие в компьютерные аркады. На данный момент AlphaGo - state-of-the-art решение, ставшее настоящим прорывом в области машинного обучения и искусственного интеллекта, поэтому ввиду похожести игр го и рендзю представляет интерес реализация аналогичных методов в игре рендзю и попытка повторить успех команды Deepmind.
Изучение подходов, использующихся в AlphaGo, и их реализация при создании собственного алгоритма для игры в рендзю
- Изучить принципы и основные архитектуры нейронных сетей
- Изучить архитектуру AlphaGo
- С использованием полученных знаний реализовать программу, способную на конкурентную борьбу как с живым игроком, так и прочими алгоритмами
- Язык: Python 3. Использован по причине своего удобства и наличия большой экосистемы, в том числе большого количество библиотек для машинного обучения.
- Основные библиотеки: NumPy, SciPy, Pandas
- Нейронные сети: бэкенд - Tensorflow, фронтенд - Keras.
- Jupyter Notebook для написания лабораторных работ
- CUDA для вычислений с использованием видеокарты
- Изучение следующих тем и написание лабораторных работ:
- Линейные классификаторы
- Регуляризация
- Полносвязные нейронные сети
- Свёрточные нейронные сети
- Построение базовой архитектуры нейронной сети, изучение следующих тем:
- Обучение без учителя
- Деревья Монте-Карло
- Архитектура AlphaGo
- Разбор научной статьи
Сроки - конец января - начало февраля
-
Реализация работающей программы, обучение на собранных данных - до 20-25 марта
-
Её доработка, дообучение, оптимизация параметров - до 30 мая - 3 июня
- 3 балла - посещаемость занятий, наличие реализации идей, рассказанных на семинарах
- 1 балл - качество кода
- 1 балл - разбор статьи
- 2 балла - конкурентоспособность в играх с людьми
- 3 балла - конкурентоспособность в играх с другими программами