25 марта 2013 в 19:23

DARPA намерено совершить революцию в машинном обучении

Практически каждая новость от DARPA, связанная с роботами и искусственным интеллектом, неизбежно сопровождается набившими оскомину комментариями про Скайнет. Но на этот раз они будут на удивление уместны. Новая исследовательская программа Агентства посвящена вероятностному программированию для решения продвинутых задач машинного обучения (Probabilistic Programming for Advanced Machine Learning или PPAML). По словам руководителя программы Кэтлин Фишер, DARPA намерено ни много ни мало «Сделать для машинного обучения то, что появление языков высокого уровня 50 лет назад сделало для программирования в целом».

Алгоритмы машинного обучения уже широко используются в потребительских технологиях — борьбе со спамом, распознавании речи, автомобилях-роботах и для анализа гигантских объёмов данных в медицине или финансах. Естественно, перспективы машинного обучения интересны и военным. При этом пока не существует общепринятых универсальных инструментов для создания интеллектуальных систем. Из-за этого приходится постоянно изобретать велосипеды, раз за разом реализовывать похожие как две капли воды алгоритмы, строить с нуля архитектуру.

Совокупность подходов и парадигм, используемых в машинном обучении, получила название "вероятностное программирование". Инструменты, библиотеки и языки программирования для него пока не покидают стен университетов, и список их достаточно короток. DARPA намерено изменить эту ситуацию.

Среди целей программы — радикальное уменьшение трудоёмкости создания систем машинного обучения, снижение порога вхождения в программирование интеллектуальных приложений, усовершенствование базовых алгоритмов машинного обучения, максимальное использование современных аппаратных технологий — многоядерных процессоров и GPU, облачных вычислений, создание и стандартизация API для связи элементов инфраструктуры машинного обучения в единую систему.

Программа PPAML рассчитана на 46 месяцев. Подробные условия и требования будут оглашены 10 апреля на презентации в Арлингтоне, штат Вирджиния. Пока что можно скачать PDF с кратким описанием программы.

Илья Сименко @ilya42
карма
528,7
рейтинг 0,0
full stack javascript developer
Самое читаемое Разработка

Комментарии (39)

  • +7
    снижение порога вхождения в программирование интеллектуальных приложений

    Я так понял подразумевается создания спецификаций для SDK и фреймворков для разработки интеллектуальных приложений?
    Довольно таки логичный шаг для любой развивающейся отрасли/технологии.
  • +44
    image
  • –18
    >> «Сделать для машинного обучения то, что появление языков высокого уровня 50 лет назад сделало для программирования в целом»
    А что высокий уровень сделал такого ценного и незабываемого для программирования?
    • +13
      То что порог вхождения в языки высокого уровня намного ниже чем в тот же ассемблер за счет унификации и уровня абстракции.
      • 0
        Ещё стоит упомянуть сокращение трудоемкости написания программ. Все же кодить один и тот же более-менее обширный функционал на асме и на C++ немного разные по объему работ задачи.
      • +3
        Nemo: Java — уг, ассемблер рулед
        Nemo: гы гы гы
        Stranger: Ага, посмотрю я как ты на ассемблере живую трансляцию будешь делать
        Stranger: Внуки бегали и смеялись, а старый кряхтящий немов все писал и писал, даже не понимая, откуда внуки...


        Не удержался и вспомнил про эту цитату.
      • 0
        Даже ассемблер значительно расширил круг программистов )
      • 0
        Главное не порог вхождения, а стоимость поддержки софта.
        • 0
          Абыр еонвалг.
    • –1
      высокий уровень — это начиная с C, не забывайте про это :)
      • –1
        Вообще-то Fortran
  • –9
    Я думал, что порог вхождения в средний уровень достаточно низкий по сравнению с те же ассемблером. Нет, я не говорю, что высокий уровень — это плохо и все такое. Я всего лишь спросил, что такого феерического произошло с их появлением?
    • +7
      А не подскажете что это за такие языки среднего уровня? Я слышал только про низкоуровневые и высокоуровневые. Вики со мной солидарна.
      • +3
        Как вариант, был Pascal языком высокого уровня, но сегодня, глядя на C#5, например, можно отнести Pascal или Fortran к языкам среднего уровня.
        • +3
          Ну, теперь вам надо защитить диссертацию по новой классификации языков и добиться общего признания, ибо, я лично, особой разницы не вижу, особенно относительно самих по себе терминов высокоуровневых и низкоуровневых языков.
      • 0
    • +5
      1) снизился порог вхождения (=> снизилась стоимость разработки)
      2) увеличилась скорость разработки ПО
      3) снизилась сложность сопровождения
  • +6
    Вопросы на StackOverflow через 50 лет: «Я зделал робота на XYZ, но он сожрал моего кота. Как мне его пересобрать?»
    • +59
      Лет через 50 у автора вопроса первым делом уточнят, кого он хочет пересобрать, робота или кота.
      • 0
        Учитывая скорость развития 3D принтеров вполне.
        Хороший вариант кстати робота-кота.
        • +2
          Который сьел сам-себя?:)
          • 0
            Робот-кот Шредингера ))
            • +8
              Скорее робот-кот уроборос
              • 0
                уроботорос
          • 0
            Или уже создателя — горе программиста.
          • +1
            Робот кот со встроенным 3D принтером, печатающим себя в процессе поедания.
          • +2
            Кот, который сам себя фотографирует в мимимишных позах и постит потом фотографии на ФБ своего хозяина.
      • 0
        Через 50 лет, роботы будут спрашивать на ManOverflow: «Я проводил эксперимент над человеком и у него отросла 3 рука. Как правильно её удалить? Подскажите модуль.»
        • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            ManTools
      • –1
        Кота легче нового купить)
  • +3
    Для пользователей и так порог вхождения достаточно низкий: достаточно знать только формат данных для готовы реализаций алгоритмов обучения, чтобы методом тыка подобрать алгоритм удовлетворительно решающий задачу. Чтобы самостоятельно разрабатывать алгоритмы на основе машинного обучения, необходимо понимать математические принципы в нем заложенные, а для этого нужно повышать уровень математической грамотности среди программистов, а не разрабатывать SDK с удобным интерфейсом.
  • +1
    Это новый протокол аквинас? // вспоминая Deus ex
  • 0
    Почему никто не шутит про Скайнет?
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Тулкиты есть. Их множество, а при наличии стандартной спецификации нужно будет знать только стандартный интерфейс.
      • НЛО прилетело и опубликовало эту надпись здесь
  • +1
    Напомнило:

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.