AlexanderK » 28 янв 2016, 11:35
Я, в силу профессиональной деятельности, довольно хорошо знаю ситуацию "с той стороны".
В 2012 году в области машинного обучения в целом произошел качественный скачек. Количество данных для обучения, уровень алгоритмов и мощности для обучения вышли на такой уровень, что искусственные нейронные сети (разработанные как принцип довольно давно) стали давать фантастические результаты.
Принципиальное отличие обучения на нейронных сетях заключается в том, что им не надо давать на вход факторы (в случае го, объяснять, например, какие формы являются хорошими). Им в пределе даже правила можно не объяснять. :)
Главное дать большое количество положительных (ходы выигрышной стороны) и отрицательных (ходы проигравшей стороны) примеров. И сеть научиться сама.
Как только алгоритм выходит на высокий уровень игры, программа может играть сама с собой огромное количество партий. Обучаясь на результате. Причем не обязательно партии доигрывать.
Можно делать так: берется любая позиция, сеть предсказывает несколько хороших ходов, ходы просчитываются (используя традиционные алгоритмы перебора по дереву решений) на сколько возможно, результат добавляется в обучающую выборку.
Тимур, я не рекомендовал тебе ставить на Седоля, ориентируясь на игру программы с Фаном. ;)
Мы, грубо говоря, наблюдая за игрой программы, наблюдаем за игрой талантливого 4-летнего ребенка. К моменту игры с Седолем в марте он может сильно прибавить.
Нейросетевые модели сейчас очень быстро обучаются при достаточном количестве данных. А в случае с го данных очень много. Плюс, как я сказал раньше их можно генерировать.
Кстати. Обучение глубокой нейронной сети (Deep Learning) процесс ресурсоемкий. Нужен большой кластер компьютеров (желательно с GPU) и много времени. Но работает обученная программа очень быстро. Т.е. играть против Седоля будет обычный компьютер. Для самой игры, в отличии от обучения, супермощности вообще не нужны.