воскресенье, 31 января 2016 г.

Google DeepMind, AlphaGo and questions


    Способствуют ли победы программ в играх созданию AGI или просто вводят в заблуждение обывателей? Кто знает, ведь такие задачи тоже требуют нетривиального решения с одной стороны, и очень узкоспециализированны с другой. На мой взгляд это тот класс задач, который требует производительности, вычислительной мощности, больше чем всего остального. Да, программа вроде как обучается, но на огромных выборках, больше похоже перебор методом грубой силы с сохранением лучших методов, позволивших достигнуть результата.
    На мой взгляд, ребята которые занимаются natural language processing(NLP), созданием сематнических связей между лингвистическими элементами и графикой, делают значительно больший вклад в развитие AGI. И не стоит очень оптимистично оценивать прогресс в этой области, сейчас многие занимаются частями, которые возможно потом будут полезны, но не слышно тех, кто сможет связать все элементы в единую систему. У Илона Маска больше шансов построить колонию на марсе к концу столетия, чем у Google DeepMind и других достичь своей цели  - "Solve intelligence".

суббота, 2 января 2016 г.

Dynamic movement

    Разработка идет очень динамично. Сейчас идет больше исследовательская работа, чем инженерная. Пока что нужно изучить различные методы и инструменты и создать прототип, а потом уже заняться конструированием и разработкой приложений.
    Ну что ж, как оказалось, сделать скриншот на linux настоящая проблема если раньше этого не делал, активное использование гугла все время отправляло меня использовать готовые или скачать новые приложения для создания снимка экрана. Но мне нужны были лишь функции, API, я не верил что в linux нет функции для моей задачи. Даже в англоязычном сегменте сети было немного наводок, и на stackoverflow было пустовато.
    Но примерно, я знал куда копать. Я искал данные по оконной системе   X Window System, так как именно она и используется в дистрибутиве Linux Mint 17.2. И был прав! Но перед тем как рассказать что и как у меня получилось, пару скриншотов:



    На первом изображении видны некоторые параметры функции XGetImage(), с помощью которого и была выполнена задача. На втором изображении созданное отдельно окно(пока только для отладки), на которое был выведен скрин с помощью функции XPutImage().

   Для тех кто никогда раньше не писал приложения используя функции библиотеки Xlib, будет полезно знать что установить ее можно следующим образом:
sudo apt-get install libx11-dev 
     Библиотека Xlib предоставляет функции для взаимодействия с X server, то есть мы с ним можем работать без всяких посредников вроде GTK, Qt и так далее. 
    На этом работа с изображениями еще не завершена, нужны доработки, о которых я расскажу позже.

Basic architecture

    Во-первых архитектура системы разрабатывается распределенной, для последующего лёгкого маштабирования при вычислении более ресурсозатратных алгоритмов.
    Рассмотрим вкратце как будет работать система. На клиентской машине будет запущен эмулятор Stella, так же будет запущено клиентское приложение. На серверных машинах будет работать только серверная часть. 
    Клиентское приложение делает снимки экрана эмулятора с определенной частотой(оптимальное значение которой будет подобрано в тестовом порядке), затем делит изображение на количество частей, равное количеству серверных машин, и отправляет по сети каждому компьютеру часть данных для обработки. Серверное приложение будет производить обработку изображения и обучение агента, по возможности распараллеливая вычисления на несколько потоков. После обработки, клиенту будут высылаться только указания по тому как реагировать на текущую ситуацию.

First step

    Установлен и сконфигурирован свежий Git 2.6.4. Заодно, читаю новое издание Git Pro, посмотреть какие есть изменения.


пятница, 1 января 2016 г.

Hardware and software in this project

    Я буду использовать 1 пк и 2 ноутбука объединенных 50мгб-й сетью. Операционная система - Linux Mint 17.2 x64 на всех машинах, а также С++11, gcc.5.3.0, vim, boost. Эмулятор для запуска Atari games - Stella. Первая игра на которой будут проводиться тесты - Space invaders.



p.s. Отличный инструмент для создания скриншотов Shutter

Artificial general intelligence - it`s a code.


    1 января 2016 года. Я начинаю работу над распределённой системой обработки искусственного интеллекта. Первоначальная цель - создать ии вроде Google DeepMind AI, для игры в Atari games, не используя нейронные сети.